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,551 @@
1
+ module Revox
2
+ module Models
3
+ type call_retrieve_response =
4
+ { call: Revox::Models::CallRetrieveResponse::Call }
5
+
6
+ class CallRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ attr_accessor call: Revox::Models::CallRetrieveResponse::Call
8
+
9
+ def initialize: (call: Revox::Models::CallRetrieveResponse::Call) -> void
10
+
11
+ def to_hash: -> { call: Revox::Models::CallRetrieveResponse::Call }
12
+
13
+ type call =
14
+ {
15
+ id: String,
16
+ call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
17
+ call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
18
+ calls_count: Float,
19
+ created_at: top,
20
+ direction: Revox::Models::CallRetrieveResponse::Call::direction,
21
+ first_sentence_delay_ms: Integer,
22
+ from_phone_number: String,
23
+ is_cancelled: bool,
24
+ is_completed: bool,
25
+ last_call_attempt: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt?,
26
+ llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
27
+ metadata: ::Hash[Symbol, String]?,
28
+ next_call_at: top,
29
+ scheduled_at: top,
30
+ to_phone_number: String
31
+ }
32
+
33
+ class Call < Revox::Internal::Type::BaseModel
34
+ attr_accessor id: String
35
+
36
+ attr_accessor call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt]
37
+
38
+ attr_accessor call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?
39
+
40
+ attr_accessor calls_count: Float
41
+
42
+ attr_accessor created_at: top
43
+
44
+ attr_accessor direction: Revox::Models::CallRetrieveResponse::Call::direction
45
+
46
+ attr_accessor first_sentence_delay_ms: Integer
47
+
48
+ attr_accessor from_phone_number: String
49
+
50
+ attr_accessor is_cancelled: bool
51
+
52
+ attr_accessor is_completed: bool
53
+
54
+ attr_accessor last_call_attempt: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt?
55
+
56
+ attr_accessor llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model
57
+
58
+ attr_accessor metadata: ::Hash[Symbol, String]?
59
+
60
+ attr_accessor next_call_at: top
61
+
62
+ attr_accessor scheduled_at: top
63
+
64
+ attr_accessor to_phone_number: String
65
+
66
+ def initialize: (
67
+ id: String,
68
+ call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
69
+ call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
70
+ calls_count: Float,
71
+ created_at: top,
72
+ direction: Revox::Models::CallRetrieveResponse::Call::direction,
73
+ first_sentence_delay_ms: Integer,
74
+ from_phone_number: String,
75
+ is_cancelled: bool,
76
+ is_completed: bool,
77
+ last_call_attempt: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt?,
78
+ llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
79
+ metadata: ::Hash[Symbol, String]?,
80
+ next_call_at: top,
81
+ scheduled_at: top,
82
+ to_phone_number: String
83
+ ) -> void
84
+
85
+ def to_hash: -> {
86
+ id: String,
87
+ call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
88
+ call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
89
+ calls_count: Float,
90
+ created_at: top,
91
+ direction: Revox::Models::CallRetrieveResponse::Call::direction,
92
+ first_sentence_delay_ms: Integer,
93
+ from_phone_number: String,
94
+ is_cancelled: bool,
95
+ is_completed: bool,
96
+ last_call_attempt: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt?,
97
+ llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
98
+ metadata: ::Hash[Symbol, String]?,
99
+ next_call_at: top,
100
+ scheduled_at: top,
101
+ to_phone_number: String
102
+ }
103
+
104
+ type call_attempt =
105
+ {
106
+ id: String,
107
+ answered_at: top,
108
+ ended_at: top,
109
+ phone_number: String,
110
+ recording_url: String?,
111
+ result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
112
+ started_at: top,
113
+ status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
114
+ structured_output: ::Hash[Symbol, top]?,
115
+ transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
116
+ }
117
+
118
+ class CallAttempt < Revox::Internal::Type::BaseModel
119
+ attr_accessor id: String
120
+
121
+ attr_accessor answered_at: top
122
+
123
+ attr_accessor ended_at: top
124
+
125
+ attr_accessor phone_number: String
126
+
127
+ attr_accessor recording_url: String?
128
+
129
+ attr_accessor result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?
130
+
131
+ attr_accessor started_at: top
132
+
133
+ attr_accessor status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status
134
+
135
+ attr_accessor structured_output: ::Hash[Symbol, top]?
136
+
137
+ attr_accessor transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
138
+
139
+ def initialize: (
140
+ id: String,
141
+ answered_at: top,
142
+ ended_at: top,
143
+ phone_number: String,
144
+ recording_url: String?,
145
+ result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
146
+ started_at: top,
147
+ status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
148
+ ?structured_output: ::Hash[Symbol, top]?,
149
+ ?transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
150
+ ) -> void
151
+
152
+ def to_hash: -> {
153
+ id: String,
154
+ answered_at: top,
155
+ ended_at: top,
156
+ phone_number: String,
157
+ recording_url: String?,
158
+ result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
159
+ started_at: top,
160
+ status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
161
+ structured_output: ::Hash[Symbol, top]?,
162
+ transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
163
+ }
164
+
165
+ type result = :IVR | :voicemail | :human | :unknown
166
+
167
+ module Result
168
+ extend Revox::Internal::Type::Enum
169
+
170
+ IVR: :IVR
171
+ VOICEMAIL: :voicemail
172
+ HUMAN: :human
173
+ UNKNOWN: :unknown
174
+
175
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::result]
176
+ end
177
+
178
+ type status = :queued | :ringing | :ongoing | :completed
179
+
180
+ module Status
181
+ extend Revox::Internal::Type::Enum
182
+
183
+ QUEUED: :queued
184
+ RINGING: :ringing
185
+ ONGOING: :ongoing
186
+ COMPLETED: :completed
187
+
188
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::status]
189
+ end
190
+
191
+ type transcript =
192
+ {
193
+ content: String,
194
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
195
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
196
+ tool_is_error: bool,
197
+ tool_name: String
198
+ }
199
+
200
+ class Transcript < Revox::Internal::Type::BaseModel
201
+ attr_accessor content: String
202
+
203
+ attr_accessor role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role
204
+
205
+ attr_reader tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments?
206
+
207
+ def tool_arguments=: (
208
+ Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments
209
+ ) -> Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments
210
+
211
+ attr_reader tool_is_error: bool?
212
+
213
+ def tool_is_error=: (bool) -> bool
214
+
215
+ attr_reader tool_name: String?
216
+
217
+ def tool_name=: (String) -> String
218
+
219
+ def initialize: (
220
+ content: String,
221
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
222
+ ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
223
+ ?tool_is_error: bool,
224
+ ?tool_name: String
225
+ ) -> void
226
+
227
+ def to_hash: -> {
228
+ content: String,
229
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
230
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
231
+ tool_is_error: bool,
232
+ tool_name: String
233
+ }
234
+
235
+ type role = :user | :assistant | :tool
236
+
237
+ module Role
238
+ extend Revox::Internal::Type::Enum
239
+
240
+ USER: :user
241
+ ASSISTANT: :assistant
242
+ TOOL: :tool
243
+
244
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role]
245
+ end
246
+
247
+ type tool_arguments = ::Hash[Symbol, top] | String
248
+
249
+ module ToolArguments
250
+ extend Revox::Internal::Type::Union
251
+
252
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments]
253
+
254
+ UnionMember0Map: Revox::Internal::Type::Converter
255
+ end
256
+ end
257
+ end
258
+
259
+ type call_retry_config =
260
+ {
261
+ calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
262
+ max_retry_attempts: Integer,
263
+ timezone: String?
264
+ }
265
+
266
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
267
+ attr_accessor calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow]
268
+
269
+ attr_accessor max_retry_attempts: Integer
270
+
271
+ attr_accessor timezone: String?
272
+
273
+ def initialize: (
274
+ calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
275
+ max_retry_attempts: Integer,
276
+ ?timezone: String?
277
+ ) -> void
278
+
279
+ def to_hash: -> {
280
+ calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
281
+ max_retry_attempts: Integer,
282
+ timezone: String?
283
+ }
284
+
285
+ type calling_window =
286
+ {
287
+ calling_window_end_time: String,
288
+ calling_window_start_time: String,
289
+ retry_delay_seconds: Integer
290
+ }
291
+
292
+ class CallingWindow < Revox::Internal::Type::BaseModel
293
+ attr_accessor calling_window_end_time: String
294
+
295
+ attr_accessor calling_window_start_time: String
296
+
297
+ attr_accessor retry_delay_seconds: Integer
298
+
299
+ def initialize: (
300
+ calling_window_end_time: String,
301
+ calling_window_start_time: String,
302
+ retry_delay_seconds: Integer
303
+ ) -> void
304
+
305
+ def to_hash: -> {
306
+ calling_window_end_time: String,
307
+ calling_window_start_time: String,
308
+ retry_delay_seconds: Integer
309
+ }
310
+ end
311
+ end
312
+
313
+ type direction = :inbound | :outbound
314
+
315
+ module Direction
316
+ extend Revox::Internal::Type::Enum
317
+
318
+ INBOUND: :inbound
319
+ OUTBOUND: :outbound
320
+
321
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::direction]
322
+ end
323
+
324
+ type last_call_attempt =
325
+ {
326
+ id: String,
327
+ answered_at: top,
328
+ ended_at: top,
329
+ phone_number: String,
330
+ recording_url: String?,
331
+ result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
332
+ started_at: top,
333
+ status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
334
+ structured_output: ::Hash[Symbol, top]?,
335
+ transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
336
+ }
337
+
338
+ class LastCallAttempt < Revox::Internal::Type::BaseModel
339
+ attr_accessor id: String
340
+
341
+ attr_accessor answered_at: top
342
+
343
+ attr_accessor ended_at: top
344
+
345
+ attr_accessor phone_number: String
346
+
347
+ attr_accessor recording_url: String?
348
+
349
+ attr_accessor result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?
350
+
351
+ attr_accessor started_at: top
352
+
353
+ attr_accessor status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status
354
+
355
+ attr_accessor structured_output: ::Hash[Symbol, top]?
356
+
357
+ attr_accessor transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
358
+
359
+ def initialize: (
360
+ id: String,
361
+ answered_at: top,
362
+ ended_at: top,
363
+ phone_number: String,
364
+ recording_url: String?,
365
+ result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
366
+ started_at: top,
367
+ status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
368
+ ?structured_output: ::Hash[Symbol, top]?,
369
+ ?transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
370
+ ) -> void
371
+
372
+ def to_hash: -> {
373
+ id: String,
374
+ answered_at: top,
375
+ ended_at: top,
376
+ phone_number: String,
377
+ recording_url: String?,
378
+ result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
379
+ started_at: top,
380
+ status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
381
+ structured_output: ::Hash[Symbol, top]?,
382
+ transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
383
+ }
384
+
385
+ type result = :IVR | :voicemail | :human | :unknown
386
+
387
+ module Result
388
+ extend Revox::Internal::Type::Enum
389
+
390
+ IVR: :IVR
391
+ VOICEMAIL: :voicemail
392
+ HUMAN: :human
393
+ UNKNOWN: :unknown
394
+
395
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result]
396
+ end
397
+
398
+ type status = :queued | :ringing | :ongoing | :completed
399
+
400
+ module Status
401
+ extend Revox::Internal::Type::Enum
402
+
403
+ QUEUED: :queued
404
+ RINGING: :ringing
405
+ ONGOING: :ongoing
406
+ COMPLETED: :completed
407
+
408
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status]
409
+ end
410
+
411
+ type transcript =
412
+ {
413
+ content: String,
414
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
415
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
416
+ tool_is_error: bool,
417
+ tool_name: String
418
+ }
419
+
420
+ class Transcript < Revox::Internal::Type::BaseModel
421
+ attr_accessor content: String
422
+
423
+ attr_accessor role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role
424
+
425
+ attr_reader tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments?
426
+
427
+ def tool_arguments=: (
428
+ Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments
429
+ ) -> Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments
430
+
431
+ attr_reader tool_is_error: bool?
432
+
433
+ def tool_is_error=: (bool) -> bool
434
+
435
+ attr_reader tool_name: String?
436
+
437
+ def tool_name=: (String) -> String
438
+
439
+ def initialize: (
440
+ content: String,
441
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
442
+ ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
443
+ ?tool_is_error: bool,
444
+ ?tool_name: String
445
+ ) -> void
446
+
447
+ def to_hash: -> {
448
+ content: String,
449
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
450
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
451
+ tool_is_error: bool,
452
+ tool_name: String
453
+ }
454
+
455
+ type role = :user | :assistant | :tool
456
+
457
+ module Role
458
+ extend Revox::Internal::Type::Enum
459
+
460
+ USER: :user
461
+ ASSISTANT: :assistant
462
+ TOOL: :tool
463
+
464
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role]
465
+ end
466
+
467
+ type tool_arguments = ::Hash[Symbol, top] | String
468
+
469
+ module ToolArguments
470
+ extend Revox::Internal::Type::Union
471
+
472
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments]
473
+
474
+ UnionMember0Map: Revox::Internal::Type::Converter
475
+ end
476
+ end
477
+ end
478
+
479
+ type llm_model =
480
+ Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0
481
+ | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember1
482
+
483
+ module LlmModel
484
+ extend Revox::Internal::Type::Union
485
+
486
+ type union_member0 =
487
+ {
488
+ name: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0::name_,
489
+ type: :"dedicated-instance"
490
+ }
491
+
492
+ class UnionMember0 < Revox::Internal::Type::BaseModel
493
+ attr_accessor name: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0::name_
494
+
495
+ attr_accessor type: :"dedicated-instance"
496
+
497
+ def initialize: (
498
+ name: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0::name_,
499
+ ?type: :"dedicated-instance"
500
+ ) -> void
501
+
502
+ def to_hash: -> {
503
+ name: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0::name_,
504
+ type: :"dedicated-instance"
505
+ }
506
+
507
+ type name_ = :"gpt-4.1" | :"ministral-3-8b-instruct"
508
+
509
+ module Name
510
+ extend Revox::Internal::Type::Enum
511
+
512
+ GPT_4_1: :"gpt-4.1"
513
+ MINISTRAL_3_8B_INSTRUCT: :"ministral-3-8b-instruct"
514
+
515
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0::name_]
516
+ end
517
+ end
518
+
519
+ type union_member1 =
520
+ {
521
+ openrouter_model_id: String,
522
+ openrouter_provider: String,
523
+ type: :openrouter
524
+ }
525
+
526
+ class UnionMember1 < Revox::Internal::Type::BaseModel
527
+ attr_accessor openrouter_model_id: String
528
+
529
+ attr_accessor openrouter_provider: String
530
+
531
+ attr_accessor type: :openrouter
532
+
533
+ def initialize: (
534
+ openrouter_model_id: String,
535
+ openrouter_provider: String,
536
+ ?type: :openrouter
537
+ ) -> void
538
+
539
+ def to_hash: -> {
540
+ openrouter_model_id: String,
541
+ openrouter_provider: String,
542
+ type: :openrouter
543
+ }
544
+ end
545
+
546
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::llm_model]
547
+ end
548
+ end
549
+ end
550
+ end
551
+ end
@@ -0,0 +1,16 @@
1
+ module Revox
2
+ module Models
3
+ module Users
4
+ type me_retrieve_params = { } & Revox::Internal::Type::request_parameters
5
+
6
+ class MeRetrieveParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: Revox::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: Revox::RequestOptions }
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,70 @@
1
+ module Revox
2
+ module Models
3
+ module Users
4
+ type me_retrieve_response =
5
+ { user: Revox::Models::Users::MeRetrieveResponse::User }
6
+
7
+ class MeRetrieveResponse < Revox::Internal::Type::BaseModel
8
+ attr_accessor user: Revox::Models::Users::MeRetrieveResponse::User
9
+
10
+ def initialize: (
11
+ user: Revox::Models::Users::MeRetrieveResponse::User
12
+ ) -> void
13
+
14
+ def to_hash: -> { user: Revox::Models::Users::MeRetrieveResponse::User }
15
+
16
+ type user =
17
+ {
18
+ id: String,
19
+ created_at: top,
20
+ email: String,
21
+ first_name: String?,
22
+ has_completed_onboarding: bool,
23
+ last_name: String?,
24
+ organization_id: String,
25
+ updated_at: top
26
+ }
27
+
28
+ class User < Revox::Internal::Type::BaseModel
29
+ attr_accessor id: String
30
+
31
+ attr_accessor created_at: top
32
+
33
+ attr_accessor email: String
34
+
35
+ attr_accessor first_name: String?
36
+
37
+ attr_accessor has_completed_onboarding: bool
38
+
39
+ attr_accessor last_name: String?
40
+
41
+ attr_accessor organization_id: String
42
+
43
+ attr_accessor updated_at: top
44
+
45
+ def initialize: (
46
+ id: String,
47
+ created_at: top,
48
+ email: String,
49
+ first_name: String?,
50
+ has_completed_onboarding: bool,
51
+ last_name: String?,
52
+ organization_id: String,
53
+ updated_at: top
54
+ ) -> void
55
+
56
+ def to_hash: -> {
57
+ id: String,
58
+ created_at: top,
59
+ email: String,
60
+ first_name: String?,
61
+ has_completed_onboarding: bool,
62
+ last_name: String?,
63
+ organization_id: String,
64
+ updated_at: top
65
+ }
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,28 @@
1
+ module Revox
2
+ module Models
3
+ module Users
4
+ type me_update_params =
5
+ { has_completed_onboarding: bool }
6
+ & Revox::Internal::Type::request_parameters
7
+
8
+ class MeUpdateParams < Revox::Internal::Type::BaseModel
9
+ extend Revox::Internal::Type::RequestParameters::Converter
10
+ include Revox::Internal::Type::RequestParameters
11
+
12
+ attr_reader has_completed_onboarding: bool?
13
+
14
+ def has_completed_onboarding=: (bool) -> bool
15
+
16
+ def initialize: (
17
+ ?has_completed_onboarding: bool,
18
+ ?request_options: Revox::request_opts
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ has_completed_onboarding: bool,
23
+ request_options: Revox::RequestOptions
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end