revox 0.0.2 → 0.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.md +63 -22
- data/lib/revox/client.rb +4 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/internal/util.rb +31 -0
- data/lib/revox/models/assistant_create_params.rb +2 -2
- data/lib/revox/models/assistant_delete_params.rb +7 -1
- data/lib/revox/models/assistant_retrieve_params.rb +7 -1
- data/lib/revox/models/assistant_update_params.rb +10 -3
- data/lib/revox/models/call_create_params.rb +2 -2
- data/lib/revox/models/call_create_response.rb +720 -12
- data/lib/revox/models/call_list_params.rb +30 -7
- data/lib/revox/models/call_list_response.rb +63 -1
- data/lib/revox/models/call_retrieve_params.rb +7 -1
- data/lib/revox/models/call_retrieve_response.rb +723 -12
- data/lib/revox/models/campaign_cancel_params.rb +20 -0
- data/lib/revox/models/campaign_cancel_response.rb +16 -0
- data/lib/revox/models/campaign_create_params.rb +174 -0
- data/lib/revox/models/campaign_create_response.rb +775 -0
- data/lib/revox/models/campaign_delete_params.rb +20 -0
- data/lib/revox/models/campaign_delete_response.rb +16 -0
- data/lib/revox/models/campaign_export_rows_params.rb +20 -0
- data/lib/revox/models/campaign_export_rows_response.rb +22 -0
- data/lib/revox/models/campaign_get_rows_params.rb +65 -0
- data/lib/revox/models/campaign_get_rows_response.rb +1468 -0
- data/lib/revox/models/campaign_list_params.rb +14 -0
- data/lib/revox/models/campaign_list_response.rb +771 -0
- data/lib/revox/models/campaign_retrieve_params.rb +20 -0
- data/lib/revox/models/campaign_retrieve_response.rb +776 -0
- data/lib/revox/models/voice_preview_params.rb +1 -9
- data/lib/revox/models/voice_retrieve_params.rb +7 -1
- data/lib/revox/models.rb +14 -0
- data/lib/revox/resources/assistants.rb +26 -2
- data/lib/revox/resources/call.rb +20 -8
- data/lib/revox/resources/campaigns.rb +181 -0
- data/lib/revox/resources/voices.rb +12 -8
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +15 -0
- data/rbi/revox/client.rbi +3 -0
- data/rbi/revox/internal/util.rbi +20 -0
- data/rbi/revox/models/assistant_create_params.rbi +3 -5
- data/rbi/revox/models/assistant_delete_params.rbi +11 -5
- data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
- data/rbi/revox/models/assistant_update_params.rbi +9 -5
- data/rbi/revox/models/call_create_params.rbi +3 -5
- data/rbi/revox/models/call_create_response.rbi +1537 -11
- data/rbi/revox/models/call_list_params.rbi +53 -6
- data/rbi/revox/models/call_list_response.rbi +162 -0
- data/rbi/revox/models/call_retrieve_params.rbi +11 -5
- data/rbi/revox/models/call_retrieve_response.rbi +1543 -11
- data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
- data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
- data/rbi/revox/models/campaign_create_params.rbi +297 -0
- data/rbi/revox/models/campaign_create_response.rbi +1490 -0
- data/rbi/revox/models/campaign_delete_params.rbi +33 -0
- data/rbi/revox/models/campaign_delete_response.rbi +23 -0
- data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
- data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
- data/rbi/revox/models/campaign_get_rows_params.rbi +113 -0
- data/rbi/revox/models/campaign_get_rows_response.rbi +2981 -0
- data/rbi/revox/models/campaign_list_params.rbi +27 -0
- data/rbi/revox/models/campaign_list_response.rbi +1482 -0
- data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
- data/rbi/revox/models/campaign_retrieve_response.rbi +1495 -0
- data/rbi/revox/models/voice_preview_params.rbi +0 -11
- data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
- data/rbi/revox/models.rbi +14 -0
- data/rbi/revox/resources/assistants.rbi +21 -2
- data/rbi/revox/resources/call.rbi +18 -6
- data/rbi/revox/resources/campaigns.rbi +128 -0
- data/rbi/revox/resources/voices.rbi +9 -7
- data/sig/revox/client.rbs +2 -0
- data/sig/revox/internal/util.rbs +10 -0
- data/sig/revox/models/assistant_create_params.rbs +8 -4
- data/sig/revox/models/assistant_delete_params.rbs +8 -3
- data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
- data/sig/revox/models/assistant_update_params.rbs +13 -4
- data/sig/revox/models/call_create_params.rbs +8 -4
- data/sig/revox/models/call_create_response.rbs +615 -8
- data/sig/revox/models/call_list_params.rbs +42 -7
- data/sig/revox/models/call_list_response.rbs +57 -2
- data/sig/revox/models/call_retrieve_params.rbs +9 -3
- data/sig/revox/models/call_retrieve_response.rbs +615 -8
- data/sig/revox/models/campaign_cancel_params.rbs +20 -0
- data/sig/revox/models/campaign_cancel_response.rbs +13 -0
- data/sig/revox/models/campaign_create_params.rbs +149 -0
- data/sig/revox/models/campaign_create_response.rbs +666 -0
- data/sig/revox/models/campaign_delete_params.rbs +20 -0
- data/sig/revox/models/campaign_delete_response.rbs +13 -0
- data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
- data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
- data/sig/revox/models/campaign_get_rows_params.rbs +82 -0
- data/sig/revox/models/campaign_get_rows_response.rbs +1220 -0
- data/sig/revox/models/campaign_list_params.rbs +14 -0
- data/sig/revox/models/campaign_list_response.rbs +666 -0
- data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
- data/sig/revox/models/campaign_retrieve_response.rbs +666 -0
- data/sig/revox/models/voice_preview_params.rbs +1 -8
- data/sig/revox/models/voice_retrieve_params.rbs +5 -1
- data/sig/revox/models.rbs +14 -0
- data/sig/revox/resources/assistants.rbs +2 -2
- data/sig/revox/resources/call.rbs +3 -2
- data/sig/revox/resources/campaigns.rbs +52 -0
- data/sig/revox/resources/voices.rbs +0 -1
- metadata +47 -2
|
@@ -49,6 +49,23 @@ module Revox
|
|
|
49
49
|
sig { returns(String) }
|
|
50
50
|
attr_accessor :id
|
|
51
51
|
|
|
52
|
+
sig do
|
|
53
|
+
returns(
|
|
54
|
+
T.nilable(Revox::Models::CallRetrieveResponse::Call::Assistant)
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
attr_reader :assistant
|
|
58
|
+
|
|
59
|
+
sig do
|
|
60
|
+
params(
|
|
61
|
+
assistant:
|
|
62
|
+
T.nilable(
|
|
63
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::OrHash
|
|
64
|
+
)
|
|
65
|
+
).void
|
|
66
|
+
end
|
|
67
|
+
attr_writer :assistant
|
|
68
|
+
|
|
52
69
|
# All call attempts for this call order, ordered by most recent first.
|
|
53
70
|
sig do
|
|
54
71
|
returns(
|
|
@@ -82,6 +99,23 @@ module Revox
|
|
|
82
99
|
sig { returns(Float) }
|
|
83
100
|
attr_accessor :calls_count
|
|
84
101
|
|
|
102
|
+
sig do
|
|
103
|
+
returns(
|
|
104
|
+
T.nilable(Revox::Models::CallRetrieveResponse::Call::Campaign)
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
attr_reader :campaign
|
|
108
|
+
|
|
109
|
+
sig do
|
|
110
|
+
params(
|
|
111
|
+
campaign:
|
|
112
|
+
T.nilable(
|
|
113
|
+
Revox::Models::CallRetrieveResponse::Call::Campaign::OrHash
|
|
114
|
+
)
|
|
115
|
+
).void
|
|
116
|
+
end
|
|
117
|
+
attr_writer :campaign
|
|
118
|
+
|
|
85
119
|
# The time the call order was created.
|
|
86
120
|
sig { returns(T.anything) }
|
|
87
121
|
attr_accessor :created_at
|
|
@@ -103,11 +137,13 @@ module Revox
|
|
|
103
137
|
sig { returns(String) }
|
|
104
138
|
attr_accessor :from_phone_number
|
|
105
139
|
|
|
106
|
-
# Whether the call
|
|
140
|
+
# DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
|
|
141
|
+
# Use `status` instead.
|
|
107
142
|
sig { returns(T::Boolean) }
|
|
108
143
|
attr_accessor :is_cancelled
|
|
109
144
|
|
|
110
|
-
# Whether the call
|
|
145
|
+
# DEPRECATED: Whether the call has completed. This is derived from `status`. Use
|
|
146
|
+
# `status` instead.
|
|
111
147
|
sig { returns(T::Boolean) }
|
|
112
148
|
attr_accessor :is_completed
|
|
113
149
|
|
|
@@ -141,14 +177,22 @@ module Revox
|
|
|
141
177
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
142
178
|
attr_accessor :metadata
|
|
143
179
|
|
|
144
|
-
# The
|
|
145
|
-
sig { returns(
|
|
146
|
-
attr_accessor :
|
|
180
|
+
# The ID of the organization that owns the call.
|
|
181
|
+
sig { returns(String) }
|
|
182
|
+
attr_accessor :organization_id
|
|
147
183
|
|
|
148
184
|
# The time the call order is scheduled to start.
|
|
149
185
|
sig { returns(T.anything) }
|
|
150
186
|
attr_accessor :scheduled_at
|
|
151
187
|
|
|
188
|
+
# The status of the call.
|
|
189
|
+
sig do
|
|
190
|
+
returns(
|
|
191
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
192
|
+
)
|
|
193
|
+
end
|
|
194
|
+
attr_accessor :status
|
|
195
|
+
|
|
152
196
|
# The phone number that received the call. Formatted in E.164 format. Example:
|
|
153
197
|
# +1234567890
|
|
154
198
|
sig { returns(String) }
|
|
@@ -159,6 +203,10 @@ module Revox
|
|
|
159
203
|
sig do
|
|
160
204
|
params(
|
|
161
205
|
id: String,
|
|
206
|
+
assistant:
|
|
207
|
+
T.nilable(
|
|
208
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::OrHash
|
|
209
|
+
),
|
|
162
210
|
call_attempts:
|
|
163
211
|
T::Array[
|
|
164
212
|
Revox::Models::CallRetrieveResponse::Call::CallAttempt::OrHash
|
|
@@ -168,6 +216,10 @@ module Revox
|
|
|
168
216
|
Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::OrHash
|
|
169
217
|
),
|
|
170
218
|
calls_count: Float,
|
|
219
|
+
campaign:
|
|
220
|
+
T.nilable(
|
|
221
|
+
Revox::Models::CallRetrieveResponse::Call::Campaign::OrHash
|
|
222
|
+
),
|
|
171
223
|
created_at: T.anything,
|
|
172
224
|
direction:
|
|
173
225
|
Revox::Models::CallRetrieveResponse::Call::Direction::OrSymbol,
|
|
@@ -185,14 +237,16 @@ module Revox
|
|
|
185
237
|
Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember1::OrHash
|
|
186
238
|
),
|
|
187
239
|
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
188
|
-
|
|
240
|
+
organization_id: String,
|
|
189
241
|
scheduled_at: T.anything,
|
|
242
|
+
status: Revox::Models::CallRetrieveResponse::Call::Status::OrSymbol,
|
|
190
243
|
to_phone_number: String
|
|
191
244
|
).returns(T.attached_class)
|
|
192
245
|
end
|
|
193
246
|
def self.new(
|
|
194
247
|
# The ID of the call.
|
|
195
248
|
id:,
|
|
249
|
+
assistant:,
|
|
196
250
|
# All call attempts for this call order, ordered by most recent first.
|
|
197
251
|
call_attempts:,
|
|
198
252
|
# Configuration for call retry behavior including time windows, delays, and max
|
|
@@ -200,6 +254,7 @@ module Revox
|
|
|
200
254
|
call_retry_config:,
|
|
201
255
|
# The number of call attempts made.
|
|
202
256
|
calls_count:,
|
|
257
|
+
campaign:,
|
|
203
258
|
# The time the call order was created.
|
|
204
259
|
created_at:,
|
|
205
260
|
# Whether the call is inbound or outbound.
|
|
@@ -209,9 +264,11 @@ module Revox
|
|
|
209
264
|
# The phone number that made the call. Formatted in E.164 format. Example:
|
|
210
265
|
# +1234567890
|
|
211
266
|
from_phone_number:,
|
|
212
|
-
# Whether the call
|
|
267
|
+
# DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
|
|
268
|
+
# Use `status` instead.
|
|
213
269
|
is_cancelled:,
|
|
214
|
-
# Whether the call
|
|
270
|
+
# DEPRECATED: Whether the call has completed. This is derived from `status`. Use
|
|
271
|
+
# `status` instead.
|
|
215
272
|
is_completed:,
|
|
216
273
|
# This represent a single call attempt. A call attempt is a single call made to
|
|
217
274
|
# the phone number.
|
|
@@ -219,10 +276,12 @@ module Revox
|
|
|
219
276
|
llm_model:,
|
|
220
277
|
# Metadata stored with the call.
|
|
221
278
|
metadata:,
|
|
222
|
-
# The
|
|
223
|
-
|
|
279
|
+
# The ID of the organization that owns the call.
|
|
280
|
+
organization_id:,
|
|
224
281
|
# The time the call order is scheduled to start.
|
|
225
282
|
scheduled_at:,
|
|
283
|
+
# The status of the call.
|
|
284
|
+
status:,
|
|
226
285
|
# The phone number that received the call. Formatted in E.164 format. Example:
|
|
227
286
|
# +1234567890
|
|
228
287
|
to_phone_number:
|
|
@@ -233,6 +292,8 @@ module Revox
|
|
|
233
292
|
override.returns(
|
|
234
293
|
{
|
|
235
294
|
id: String,
|
|
295
|
+
assistant:
|
|
296
|
+
T.nilable(Revox::Models::CallRetrieveResponse::Call::Assistant),
|
|
236
297
|
call_attempts:
|
|
237
298
|
T::Array[
|
|
238
299
|
Revox::Models::CallRetrieveResponse::Call::CallAttempt
|
|
@@ -242,6 +303,8 @@ module Revox
|
|
|
242
303
|
Revox::Models::CallRetrieveResponse::Call::CallRetryConfig
|
|
243
304
|
),
|
|
244
305
|
calls_count: Float,
|
|
306
|
+
campaign:
|
|
307
|
+
T.nilable(Revox::Models::CallRetrieveResponse::Call::Campaign),
|
|
245
308
|
created_at: T.anything,
|
|
246
309
|
direction:
|
|
247
310
|
Revox::Models::CallRetrieveResponse::Call::Direction::TaggedSymbol,
|
|
@@ -256,8 +319,10 @@ module Revox
|
|
|
256
319
|
llm_model:
|
|
257
320
|
Revox::Models::CallRetrieveResponse::Call::LlmModel::Variants,
|
|
258
321
|
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
259
|
-
|
|
322
|
+
organization_id: String,
|
|
260
323
|
scheduled_at: T.anything,
|
|
324
|
+
status:
|
|
325
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol,
|
|
261
326
|
to_phone_number: String
|
|
262
327
|
}
|
|
263
328
|
)
|
|
@@ -265,6 +330,1056 @@ module Revox
|
|
|
265
330
|
def to_hash
|
|
266
331
|
end
|
|
267
332
|
|
|
333
|
+
class Assistant < Revox::Internal::Type::BaseModel
|
|
334
|
+
OrHash =
|
|
335
|
+
T.type_alias do
|
|
336
|
+
T.any(
|
|
337
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant,
|
|
338
|
+
Revox::Internal::AnyHash
|
|
339
|
+
)
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
sig { returns(String) }
|
|
343
|
+
attr_accessor :id
|
|
344
|
+
|
|
345
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
346
|
+
# your AI agent is in an office.
|
|
347
|
+
sig do
|
|
348
|
+
returns(
|
|
349
|
+
T.nilable(
|
|
350
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound::TaggedSymbol
|
|
351
|
+
)
|
|
352
|
+
)
|
|
353
|
+
end
|
|
354
|
+
attr_accessor :background_sound
|
|
355
|
+
|
|
356
|
+
sig do
|
|
357
|
+
returns(
|
|
358
|
+
T.nilable(
|
|
359
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly
|
|
360
|
+
)
|
|
361
|
+
)
|
|
362
|
+
end
|
|
363
|
+
attr_reader :calendly
|
|
364
|
+
|
|
365
|
+
sig do
|
|
366
|
+
params(
|
|
367
|
+
calendly:
|
|
368
|
+
T.nilable(
|
|
369
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly::OrHash
|
|
370
|
+
)
|
|
371
|
+
).void
|
|
372
|
+
end
|
|
373
|
+
attr_writer :calendly
|
|
374
|
+
|
|
375
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
376
|
+
# iterations. If not provided, defaults will be used.
|
|
377
|
+
sig do
|
|
378
|
+
returns(
|
|
379
|
+
T.nilable(
|
|
380
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig
|
|
381
|
+
)
|
|
382
|
+
)
|
|
383
|
+
end
|
|
384
|
+
attr_reader :call_retry_config
|
|
385
|
+
|
|
386
|
+
sig do
|
|
387
|
+
params(
|
|
388
|
+
call_retry_config:
|
|
389
|
+
T.nilable(
|
|
390
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::OrHash
|
|
391
|
+
)
|
|
392
|
+
).void
|
|
393
|
+
end
|
|
394
|
+
attr_writer :call_retry_config
|
|
395
|
+
|
|
396
|
+
sig { returns(T.anything) }
|
|
397
|
+
attr_accessor :created_at
|
|
398
|
+
|
|
399
|
+
sig { returns(T.nilable(String)) }
|
|
400
|
+
attr_accessor :end_of_call_sentence
|
|
401
|
+
|
|
402
|
+
sig { returns(T.nilable(String)) }
|
|
403
|
+
attr_accessor :first_sentence
|
|
404
|
+
|
|
405
|
+
# Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
406
|
+
sig { returns(Integer) }
|
|
407
|
+
attr_accessor :first_sentence_delay_ms
|
|
408
|
+
|
|
409
|
+
sig do
|
|
410
|
+
returns(
|
|
411
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::TaggedSymbol
|
|
412
|
+
)
|
|
413
|
+
end
|
|
414
|
+
attr_accessor :first_sentence_mode
|
|
415
|
+
|
|
416
|
+
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
417
|
+
# skip turns to navigate phone menus.
|
|
418
|
+
sig { returns(T::Boolean) }
|
|
419
|
+
attr_accessor :ivr_navigation_enabled
|
|
420
|
+
|
|
421
|
+
sig do
|
|
422
|
+
returns(
|
|
423
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::Variants
|
|
424
|
+
)
|
|
425
|
+
end
|
|
426
|
+
attr_accessor :llm_model
|
|
427
|
+
|
|
428
|
+
# The maximum duration of the call in seconds. This is the maximum time the call
|
|
429
|
+
# will be allowed to run.
|
|
430
|
+
sig { returns(Float) }
|
|
431
|
+
attr_accessor :max_call_duration_secs
|
|
432
|
+
|
|
433
|
+
sig { returns(String) }
|
|
434
|
+
attr_accessor :name
|
|
435
|
+
|
|
436
|
+
sig { returns(String) }
|
|
437
|
+
attr_accessor :organization_id
|
|
438
|
+
|
|
439
|
+
sig { returns(String) }
|
|
440
|
+
attr_accessor :prompt
|
|
441
|
+
|
|
442
|
+
# The structured output config to use for the call. This is used to extract the
|
|
443
|
+
# data from the call (like email, name, company name, etc.).
|
|
444
|
+
sig do
|
|
445
|
+
returns(
|
|
446
|
+
T.nilable(
|
|
447
|
+
T::Array[
|
|
448
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig
|
|
449
|
+
]
|
|
450
|
+
)
|
|
451
|
+
)
|
|
452
|
+
end
|
|
453
|
+
attr_accessor :structured_output_config
|
|
454
|
+
|
|
455
|
+
# Phone number to transfer calls to when users request to speak to a human agent.
|
|
456
|
+
sig { returns(T.nilable(String)) }
|
|
457
|
+
attr_accessor :transfer_phone_number
|
|
458
|
+
|
|
459
|
+
sig { returns(T.anything) }
|
|
460
|
+
attr_accessor :updated_at
|
|
461
|
+
|
|
462
|
+
sig do
|
|
463
|
+
returns(
|
|
464
|
+
T.nilable(
|
|
465
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice
|
|
466
|
+
)
|
|
467
|
+
)
|
|
468
|
+
end
|
|
469
|
+
attr_reader :voice
|
|
470
|
+
|
|
471
|
+
sig do
|
|
472
|
+
params(
|
|
473
|
+
voice:
|
|
474
|
+
T.nilable(
|
|
475
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::OrHash
|
|
476
|
+
)
|
|
477
|
+
).void
|
|
478
|
+
end
|
|
479
|
+
attr_writer :voice
|
|
480
|
+
|
|
481
|
+
# If set, when voicemail is detected the agent will speak this message then hang
|
|
482
|
+
# up; if null, hang up immediately.
|
|
483
|
+
sig { returns(T.nilable(String)) }
|
|
484
|
+
attr_accessor :voicemail_message
|
|
485
|
+
|
|
486
|
+
# The webhook URL to call when the call is completed.
|
|
487
|
+
sig { returns(T.nilable(String)) }
|
|
488
|
+
attr_accessor :webhook_url
|
|
489
|
+
|
|
490
|
+
sig do
|
|
491
|
+
returns(
|
|
492
|
+
T.nilable(
|
|
493
|
+
T::Array[
|
|
494
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem
|
|
495
|
+
]
|
|
496
|
+
)
|
|
497
|
+
)
|
|
498
|
+
end
|
|
499
|
+
attr_reader :faq_items
|
|
500
|
+
|
|
501
|
+
sig do
|
|
502
|
+
params(
|
|
503
|
+
faq_items:
|
|
504
|
+
T::Array[
|
|
505
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::OrHash
|
|
506
|
+
]
|
|
507
|
+
).void
|
|
508
|
+
end
|
|
509
|
+
attr_writer :faq_items
|
|
510
|
+
|
|
511
|
+
sig { returns(T.nilable(Float)) }
|
|
512
|
+
attr_reader :pending_faq_count
|
|
513
|
+
|
|
514
|
+
sig { params(pending_faq_count: Float).void }
|
|
515
|
+
attr_writer :pending_faq_count
|
|
516
|
+
|
|
517
|
+
sig do
|
|
518
|
+
params(
|
|
519
|
+
id: String,
|
|
520
|
+
background_sound:
|
|
521
|
+
T.nilable(
|
|
522
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound::OrSymbol
|
|
523
|
+
),
|
|
524
|
+
calendly:
|
|
525
|
+
T.nilable(
|
|
526
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly::OrHash
|
|
527
|
+
),
|
|
528
|
+
call_retry_config:
|
|
529
|
+
T.nilable(
|
|
530
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::OrHash
|
|
531
|
+
),
|
|
532
|
+
created_at: T.anything,
|
|
533
|
+
end_of_call_sentence: T.nilable(String),
|
|
534
|
+
first_sentence: T.nilable(String),
|
|
535
|
+
first_sentence_delay_ms: Integer,
|
|
536
|
+
first_sentence_mode:
|
|
537
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::OrSymbol,
|
|
538
|
+
ivr_navigation_enabled: T::Boolean,
|
|
539
|
+
llm_model:
|
|
540
|
+
T.any(
|
|
541
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::OrHash,
|
|
542
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1::OrHash
|
|
543
|
+
),
|
|
544
|
+
max_call_duration_secs: Float,
|
|
545
|
+
name: String,
|
|
546
|
+
organization_id: String,
|
|
547
|
+
prompt: String,
|
|
548
|
+
structured_output_config:
|
|
549
|
+
T.nilable(
|
|
550
|
+
T::Array[
|
|
551
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::OrHash
|
|
552
|
+
]
|
|
553
|
+
),
|
|
554
|
+
transfer_phone_number: T.nilable(String),
|
|
555
|
+
updated_at: T.anything,
|
|
556
|
+
voice:
|
|
557
|
+
T.nilable(
|
|
558
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::OrHash
|
|
559
|
+
),
|
|
560
|
+
voicemail_message: T.nilable(String),
|
|
561
|
+
webhook_url: T.nilable(String),
|
|
562
|
+
faq_items:
|
|
563
|
+
T::Array[
|
|
564
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::OrHash
|
|
565
|
+
],
|
|
566
|
+
pending_faq_count: Float
|
|
567
|
+
).returns(T.attached_class)
|
|
568
|
+
end
|
|
569
|
+
def self.new(
|
|
570
|
+
id:,
|
|
571
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
572
|
+
# your AI agent is in an office.
|
|
573
|
+
background_sound:,
|
|
574
|
+
calendly:,
|
|
575
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
576
|
+
# iterations. If not provided, defaults will be used.
|
|
577
|
+
call_retry_config:,
|
|
578
|
+
created_at:,
|
|
579
|
+
end_of_call_sentence:,
|
|
580
|
+
first_sentence:,
|
|
581
|
+
# Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
582
|
+
first_sentence_delay_ms:,
|
|
583
|
+
first_sentence_mode:,
|
|
584
|
+
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
585
|
+
# skip turns to navigate phone menus.
|
|
586
|
+
ivr_navigation_enabled:,
|
|
587
|
+
llm_model:,
|
|
588
|
+
# The maximum duration of the call in seconds. This is the maximum time the call
|
|
589
|
+
# will be allowed to run.
|
|
590
|
+
max_call_duration_secs:,
|
|
591
|
+
name:,
|
|
592
|
+
organization_id:,
|
|
593
|
+
prompt:,
|
|
594
|
+
# The structured output config to use for the call. This is used to extract the
|
|
595
|
+
# data from the call (like email, name, company name, etc.).
|
|
596
|
+
structured_output_config:,
|
|
597
|
+
# Phone number to transfer calls to when users request to speak to a human agent.
|
|
598
|
+
transfer_phone_number:,
|
|
599
|
+
updated_at:,
|
|
600
|
+
voice:,
|
|
601
|
+
# If set, when voicemail is detected the agent will speak this message then hang
|
|
602
|
+
# up; if null, hang up immediately.
|
|
603
|
+
voicemail_message:,
|
|
604
|
+
# The webhook URL to call when the call is completed.
|
|
605
|
+
webhook_url:,
|
|
606
|
+
faq_items: nil,
|
|
607
|
+
pending_faq_count: nil
|
|
608
|
+
)
|
|
609
|
+
end
|
|
610
|
+
|
|
611
|
+
sig do
|
|
612
|
+
override.returns(
|
|
613
|
+
{
|
|
614
|
+
id: String,
|
|
615
|
+
background_sound:
|
|
616
|
+
T.nilable(
|
|
617
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound::TaggedSymbol
|
|
618
|
+
),
|
|
619
|
+
calendly:
|
|
620
|
+
T.nilable(
|
|
621
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly
|
|
622
|
+
),
|
|
623
|
+
call_retry_config:
|
|
624
|
+
T.nilable(
|
|
625
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig
|
|
626
|
+
),
|
|
627
|
+
created_at: T.anything,
|
|
628
|
+
end_of_call_sentence: T.nilable(String),
|
|
629
|
+
first_sentence: T.nilable(String),
|
|
630
|
+
first_sentence_delay_ms: Integer,
|
|
631
|
+
first_sentence_mode:
|
|
632
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::TaggedSymbol,
|
|
633
|
+
ivr_navigation_enabled: T::Boolean,
|
|
634
|
+
llm_model:
|
|
635
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::Variants,
|
|
636
|
+
max_call_duration_secs: Float,
|
|
637
|
+
name: String,
|
|
638
|
+
organization_id: String,
|
|
639
|
+
prompt: String,
|
|
640
|
+
structured_output_config:
|
|
641
|
+
T.nilable(
|
|
642
|
+
T::Array[
|
|
643
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig
|
|
644
|
+
]
|
|
645
|
+
),
|
|
646
|
+
transfer_phone_number: T.nilable(String),
|
|
647
|
+
updated_at: T.anything,
|
|
648
|
+
voice:
|
|
649
|
+
T.nilable(
|
|
650
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice
|
|
651
|
+
),
|
|
652
|
+
voicemail_message: T.nilable(String),
|
|
653
|
+
webhook_url: T.nilable(String),
|
|
654
|
+
faq_items:
|
|
655
|
+
T::Array[
|
|
656
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem
|
|
657
|
+
],
|
|
658
|
+
pending_faq_count: Float
|
|
659
|
+
}
|
|
660
|
+
)
|
|
661
|
+
end
|
|
662
|
+
def to_hash
|
|
663
|
+
end
|
|
664
|
+
|
|
665
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
666
|
+
# your AI agent is in an office.
|
|
667
|
+
module BackgroundSound
|
|
668
|
+
extend Revox::Internal::Type::Enum
|
|
669
|
+
|
|
670
|
+
TaggedSymbol =
|
|
671
|
+
T.type_alias do
|
|
672
|
+
T.all(
|
|
673
|
+
Symbol,
|
|
674
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound
|
|
675
|
+
)
|
|
676
|
+
end
|
|
677
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
678
|
+
|
|
679
|
+
AUDIO_OFFICE_OGG =
|
|
680
|
+
T.let(
|
|
681
|
+
:"audio/office.ogg",
|
|
682
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound::TaggedSymbol
|
|
683
|
+
)
|
|
684
|
+
|
|
685
|
+
sig do
|
|
686
|
+
override.returns(
|
|
687
|
+
T::Array[
|
|
688
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound::TaggedSymbol
|
|
689
|
+
]
|
|
690
|
+
)
|
|
691
|
+
end
|
|
692
|
+
def self.values
|
|
693
|
+
end
|
|
694
|
+
end
|
|
695
|
+
|
|
696
|
+
class Calendly < Revox::Internal::Type::BaseModel
|
|
697
|
+
OrHash =
|
|
698
|
+
T.type_alias do
|
|
699
|
+
T.any(
|
|
700
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly,
|
|
701
|
+
Revox::Internal::AnyHash
|
|
702
|
+
)
|
|
703
|
+
end
|
|
704
|
+
|
|
705
|
+
# The connection ID representing the link between your Calendly account and Revox.
|
|
706
|
+
sig { returns(String) }
|
|
707
|
+
attr_accessor :connection_id
|
|
708
|
+
|
|
709
|
+
# The event type ID representing the event type to schedule. (eg:
|
|
710
|
+
# https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
|
|
711
|
+
sig { returns(String) }
|
|
712
|
+
attr_accessor :event_type_id
|
|
713
|
+
|
|
714
|
+
sig do
|
|
715
|
+
params(connection_id: String, event_type_id: String).returns(
|
|
716
|
+
T.attached_class
|
|
717
|
+
)
|
|
718
|
+
end
|
|
719
|
+
def self.new(
|
|
720
|
+
# The connection ID representing the link between your Calendly account and Revox.
|
|
721
|
+
connection_id:,
|
|
722
|
+
# The event type ID representing the event type to schedule. (eg:
|
|
723
|
+
# https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
|
|
724
|
+
event_type_id:
|
|
725
|
+
)
|
|
726
|
+
end
|
|
727
|
+
|
|
728
|
+
sig do
|
|
729
|
+
override.returns({ connection_id: String, event_type_id: String })
|
|
730
|
+
end
|
|
731
|
+
def to_hash
|
|
732
|
+
end
|
|
733
|
+
end
|
|
734
|
+
|
|
735
|
+
class CallRetryConfig < Revox::Internal::Type::BaseModel
|
|
736
|
+
OrHash =
|
|
737
|
+
T.type_alias do
|
|
738
|
+
T.any(
|
|
739
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig,
|
|
740
|
+
Revox::Internal::AnyHash
|
|
741
|
+
)
|
|
742
|
+
end
|
|
743
|
+
|
|
744
|
+
sig do
|
|
745
|
+
returns(
|
|
746
|
+
T::Array[
|
|
747
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow
|
|
748
|
+
]
|
|
749
|
+
)
|
|
750
|
+
end
|
|
751
|
+
attr_accessor :calling_windows
|
|
752
|
+
|
|
753
|
+
# Maximum number of call retry attempts. Default: 3.
|
|
754
|
+
sig { returns(Integer) }
|
|
755
|
+
attr_accessor :max_retry_attempts
|
|
756
|
+
|
|
757
|
+
# Optional IANA timezone identifier to override the automatic timezone detection
|
|
758
|
+
# from phone number. If not provided, timezone is determined from the recipient's
|
|
759
|
+
# phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
|
|
760
|
+
sig { returns(T.nilable(String)) }
|
|
761
|
+
attr_accessor :timezone
|
|
762
|
+
|
|
763
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
764
|
+
# iterations. If not provided, defaults will be used.
|
|
765
|
+
sig do
|
|
766
|
+
params(
|
|
767
|
+
calling_windows:
|
|
768
|
+
T::Array[
|
|
769
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow::OrHash
|
|
770
|
+
],
|
|
771
|
+
max_retry_attempts: Integer,
|
|
772
|
+
timezone: T.nilable(String)
|
|
773
|
+
).returns(T.attached_class)
|
|
774
|
+
end
|
|
775
|
+
def self.new(
|
|
776
|
+
calling_windows:,
|
|
777
|
+
# Maximum number of call retry attempts. Default: 3.
|
|
778
|
+
max_retry_attempts:,
|
|
779
|
+
# Optional IANA timezone identifier to override the automatic timezone detection
|
|
780
|
+
# from phone number. If not provided, timezone is determined from the recipient's
|
|
781
|
+
# phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
|
|
782
|
+
timezone: nil
|
|
783
|
+
)
|
|
784
|
+
end
|
|
785
|
+
|
|
786
|
+
sig do
|
|
787
|
+
override.returns(
|
|
788
|
+
{
|
|
789
|
+
calling_windows:
|
|
790
|
+
T::Array[
|
|
791
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow
|
|
792
|
+
],
|
|
793
|
+
max_retry_attempts: Integer,
|
|
794
|
+
timezone: T.nilable(String)
|
|
795
|
+
}
|
|
796
|
+
)
|
|
797
|
+
end
|
|
798
|
+
def to_hash
|
|
799
|
+
end
|
|
800
|
+
|
|
801
|
+
class CallingWindow < Revox::Internal::Type::BaseModel
|
|
802
|
+
OrHash =
|
|
803
|
+
T.type_alias do
|
|
804
|
+
T.any(
|
|
805
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow,
|
|
806
|
+
Revox::Internal::AnyHash
|
|
807
|
+
)
|
|
808
|
+
end
|
|
809
|
+
|
|
810
|
+
# End time for the calling window in the recipient's timezone (or
|
|
811
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
812
|
+
# Examples: '17:00', '6pm'. Default: '18:00'.
|
|
813
|
+
sig { returns(String) }
|
|
814
|
+
attr_accessor :calling_window_end_time
|
|
815
|
+
|
|
816
|
+
# Start time for the calling window in the recipient's timezone (or
|
|
817
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
818
|
+
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
819
|
+
sig { returns(String) }
|
|
820
|
+
attr_accessor :calling_window_start_time
|
|
821
|
+
|
|
822
|
+
# Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
823
|
+
sig { returns(Integer) }
|
|
824
|
+
attr_accessor :retry_delay_seconds
|
|
825
|
+
|
|
826
|
+
sig do
|
|
827
|
+
params(
|
|
828
|
+
calling_window_end_time: String,
|
|
829
|
+
calling_window_start_time: String,
|
|
830
|
+
retry_delay_seconds: Integer
|
|
831
|
+
).returns(T.attached_class)
|
|
832
|
+
end
|
|
833
|
+
def self.new(
|
|
834
|
+
# End time for the calling window in the recipient's timezone (or
|
|
835
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
836
|
+
# Examples: '17:00', '6pm'. Default: '18:00'.
|
|
837
|
+
calling_window_end_time:,
|
|
838
|
+
# Start time for the calling window in the recipient's timezone (or
|
|
839
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
840
|
+
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
841
|
+
calling_window_start_time:,
|
|
842
|
+
# Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
843
|
+
retry_delay_seconds:
|
|
844
|
+
)
|
|
845
|
+
end
|
|
846
|
+
|
|
847
|
+
sig do
|
|
848
|
+
override.returns(
|
|
849
|
+
{
|
|
850
|
+
calling_window_end_time: String,
|
|
851
|
+
calling_window_start_time: String,
|
|
852
|
+
retry_delay_seconds: Integer
|
|
853
|
+
}
|
|
854
|
+
)
|
|
855
|
+
end
|
|
856
|
+
def to_hash
|
|
857
|
+
end
|
|
858
|
+
end
|
|
859
|
+
end
|
|
860
|
+
|
|
861
|
+
module FirstSentenceMode
|
|
862
|
+
extend Revox::Internal::Type::Enum
|
|
863
|
+
|
|
864
|
+
TaggedSymbol =
|
|
865
|
+
T.type_alias do
|
|
866
|
+
T.all(
|
|
867
|
+
Symbol,
|
|
868
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode
|
|
869
|
+
)
|
|
870
|
+
end
|
|
871
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
872
|
+
|
|
873
|
+
GENERATED =
|
|
874
|
+
T.let(
|
|
875
|
+
:generated,
|
|
876
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::TaggedSymbol
|
|
877
|
+
)
|
|
878
|
+
STATIC =
|
|
879
|
+
T.let(
|
|
880
|
+
:static,
|
|
881
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::TaggedSymbol
|
|
882
|
+
)
|
|
883
|
+
NONE =
|
|
884
|
+
T.let(
|
|
885
|
+
:none,
|
|
886
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::TaggedSymbol
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
sig do
|
|
890
|
+
override.returns(
|
|
891
|
+
T::Array[
|
|
892
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode::TaggedSymbol
|
|
893
|
+
]
|
|
894
|
+
)
|
|
895
|
+
end
|
|
896
|
+
def self.values
|
|
897
|
+
end
|
|
898
|
+
end
|
|
899
|
+
|
|
900
|
+
module LlmModel
|
|
901
|
+
extend Revox::Internal::Type::Union
|
|
902
|
+
|
|
903
|
+
Variants =
|
|
904
|
+
T.type_alias do
|
|
905
|
+
T.any(
|
|
906
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0,
|
|
907
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1
|
|
908
|
+
)
|
|
909
|
+
end
|
|
910
|
+
|
|
911
|
+
class UnionMember0 < Revox::Internal::Type::BaseModel
|
|
912
|
+
OrHash =
|
|
913
|
+
T.type_alias do
|
|
914
|
+
T.any(
|
|
915
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0,
|
|
916
|
+
Revox::Internal::AnyHash
|
|
917
|
+
)
|
|
918
|
+
end
|
|
919
|
+
|
|
920
|
+
sig do
|
|
921
|
+
returns(
|
|
922
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name::TaggedSymbol
|
|
923
|
+
)
|
|
924
|
+
end
|
|
925
|
+
attr_accessor :name
|
|
926
|
+
|
|
927
|
+
sig { returns(Symbol) }
|
|
928
|
+
attr_accessor :type
|
|
929
|
+
|
|
930
|
+
sig do
|
|
931
|
+
params(
|
|
932
|
+
name:
|
|
933
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name::OrSymbol,
|
|
934
|
+
type: Symbol
|
|
935
|
+
).returns(T.attached_class)
|
|
936
|
+
end
|
|
937
|
+
def self.new(name:, type: :"dedicated-instance")
|
|
938
|
+
end
|
|
939
|
+
|
|
940
|
+
sig do
|
|
941
|
+
override.returns(
|
|
942
|
+
{
|
|
943
|
+
name:
|
|
944
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name::TaggedSymbol,
|
|
945
|
+
type: Symbol
|
|
946
|
+
}
|
|
947
|
+
)
|
|
948
|
+
end
|
|
949
|
+
def to_hash
|
|
950
|
+
end
|
|
951
|
+
|
|
952
|
+
module Name
|
|
953
|
+
extend Revox::Internal::Type::Enum
|
|
954
|
+
|
|
955
|
+
TaggedSymbol =
|
|
956
|
+
T.type_alias do
|
|
957
|
+
T.all(
|
|
958
|
+
Symbol,
|
|
959
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name
|
|
960
|
+
)
|
|
961
|
+
end
|
|
962
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
963
|
+
|
|
964
|
+
GPT_4_1 =
|
|
965
|
+
T.let(
|
|
966
|
+
:"gpt-4.1",
|
|
967
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name::TaggedSymbol
|
|
968
|
+
)
|
|
969
|
+
MINISTRAL_3_8B_INSTRUCT =
|
|
970
|
+
T.let(
|
|
971
|
+
:"ministral-3-8b-instruct",
|
|
972
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name::TaggedSymbol
|
|
973
|
+
)
|
|
974
|
+
|
|
975
|
+
sig do
|
|
976
|
+
override.returns(
|
|
977
|
+
T::Array[
|
|
978
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name::TaggedSymbol
|
|
979
|
+
]
|
|
980
|
+
)
|
|
981
|
+
end
|
|
982
|
+
def self.values
|
|
983
|
+
end
|
|
984
|
+
end
|
|
985
|
+
end
|
|
986
|
+
|
|
987
|
+
class UnionMember1 < Revox::Internal::Type::BaseModel
|
|
988
|
+
OrHash =
|
|
989
|
+
T.type_alias do
|
|
990
|
+
T.any(
|
|
991
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1,
|
|
992
|
+
Revox::Internal::AnyHash
|
|
993
|
+
)
|
|
994
|
+
end
|
|
995
|
+
|
|
996
|
+
# The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
997
|
+
sig { returns(String) }
|
|
998
|
+
attr_accessor :openrouter_model_id
|
|
999
|
+
|
|
1000
|
+
# The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
1001
|
+
sig { returns(String) }
|
|
1002
|
+
attr_accessor :openrouter_provider
|
|
1003
|
+
|
|
1004
|
+
# Use a model from OpenRouter.
|
|
1005
|
+
sig { returns(Symbol) }
|
|
1006
|
+
attr_accessor :type
|
|
1007
|
+
|
|
1008
|
+
sig do
|
|
1009
|
+
params(
|
|
1010
|
+
openrouter_model_id: String,
|
|
1011
|
+
openrouter_provider: String,
|
|
1012
|
+
type: Symbol
|
|
1013
|
+
).returns(T.attached_class)
|
|
1014
|
+
end
|
|
1015
|
+
def self.new(
|
|
1016
|
+
# The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
1017
|
+
openrouter_model_id:,
|
|
1018
|
+
# The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
1019
|
+
openrouter_provider:,
|
|
1020
|
+
# Use a model from OpenRouter.
|
|
1021
|
+
type: :openrouter
|
|
1022
|
+
)
|
|
1023
|
+
end
|
|
1024
|
+
|
|
1025
|
+
sig do
|
|
1026
|
+
override.returns(
|
|
1027
|
+
{
|
|
1028
|
+
openrouter_model_id: String,
|
|
1029
|
+
openrouter_provider: String,
|
|
1030
|
+
type: Symbol
|
|
1031
|
+
}
|
|
1032
|
+
)
|
|
1033
|
+
end
|
|
1034
|
+
def to_hash
|
|
1035
|
+
end
|
|
1036
|
+
end
|
|
1037
|
+
|
|
1038
|
+
sig do
|
|
1039
|
+
override.returns(
|
|
1040
|
+
T::Array[
|
|
1041
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::Variants
|
|
1042
|
+
]
|
|
1043
|
+
)
|
|
1044
|
+
end
|
|
1045
|
+
def self.variants
|
|
1046
|
+
end
|
|
1047
|
+
end
|
|
1048
|
+
|
|
1049
|
+
class StructuredOutputConfig < Revox::Internal::Type::BaseModel
|
|
1050
|
+
OrHash =
|
|
1051
|
+
T.type_alias do
|
|
1052
|
+
T.any(
|
|
1053
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig,
|
|
1054
|
+
Revox::Internal::AnyHash
|
|
1055
|
+
)
|
|
1056
|
+
end
|
|
1057
|
+
|
|
1058
|
+
sig { returns(String) }
|
|
1059
|
+
attr_accessor :name
|
|
1060
|
+
|
|
1061
|
+
sig { returns(T::Boolean) }
|
|
1062
|
+
attr_accessor :required
|
|
1063
|
+
|
|
1064
|
+
sig do
|
|
1065
|
+
returns(
|
|
1066
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1067
|
+
)
|
|
1068
|
+
end
|
|
1069
|
+
attr_accessor :type
|
|
1070
|
+
|
|
1071
|
+
sig { returns(T.nilable(String)) }
|
|
1072
|
+
attr_reader :description
|
|
1073
|
+
|
|
1074
|
+
sig { params(description: String).void }
|
|
1075
|
+
attr_writer :description
|
|
1076
|
+
|
|
1077
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
1078
|
+
attr_reader :enum_options
|
|
1079
|
+
|
|
1080
|
+
sig { params(enum_options: T::Array[String]).void }
|
|
1081
|
+
attr_writer :enum_options
|
|
1082
|
+
|
|
1083
|
+
sig do
|
|
1084
|
+
params(
|
|
1085
|
+
name: String,
|
|
1086
|
+
required: T::Boolean,
|
|
1087
|
+
type:
|
|
1088
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::OrSymbol,
|
|
1089
|
+
description: String,
|
|
1090
|
+
enum_options: T::Array[String]
|
|
1091
|
+
).returns(T.attached_class)
|
|
1092
|
+
end
|
|
1093
|
+
def self.new(
|
|
1094
|
+
name:,
|
|
1095
|
+
required:,
|
|
1096
|
+
type:,
|
|
1097
|
+
description: nil,
|
|
1098
|
+
enum_options: nil
|
|
1099
|
+
)
|
|
1100
|
+
end
|
|
1101
|
+
|
|
1102
|
+
sig do
|
|
1103
|
+
override.returns(
|
|
1104
|
+
{
|
|
1105
|
+
name: String,
|
|
1106
|
+
required: T::Boolean,
|
|
1107
|
+
type:
|
|
1108
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol,
|
|
1109
|
+
description: String,
|
|
1110
|
+
enum_options: T::Array[String]
|
|
1111
|
+
}
|
|
1112
|
+
)
|
|
1113
|
+
end
|
|
1114
|
+
def to_hash
|
|
1115
|
+
end
|
|
1116
|
+
|
|
1117
|
+
module Type
|
|
1118
|
+
extend Revox::Internal::Type::Enum
|
|
1119
|
+
|
|
1120
|
+
TaggedSymbol =
|
|
1121
|
+
T.type_alias do
|
|
1122
|
+
T.all(
|
|
1123
|
+
Symbol,
|
|
1124
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type
|
|
1125
|
+
)
|
|
1126
|
+
end
|
|
1127
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1128
|
+
|
|
1129
|
+
STRING =
|
|
1130
|
+
T.let(
|
|
1131
|
+
:string,
|
|
1132
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1133
|
+
)
|
|
1134
|
+
NUMBER =
|
|
1135
|
+
T.let(
|
|
1136
|
+
:number,
|
|
1137
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1138
|
+
)
|
|
1139
|
+
BOOLEAN =
|
|
1140
|
+
T.let(
|
|
1141
|
+
:boolean,
|
|
1142
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1143
|
+
)
|
|
1144
|
+
ENUM =
|
|
1145
|
+
T.let(
|
|
1146
|
+
:enum,
|
|
1147
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1148
|
+
)
|
|
1149
|
+
DATE =
|
|
1150
|
+
T.let(
|
|
1151
|
+
:date,
|
|
1152
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1153
|
+
)
|
|
1154
|
+
DATETIME =
|
|
1155
|
+
T.let(
|
|
1156
|
+
:datetime,
|
|
1157
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1158
|
+
)
|
|
1159
|
+
|
|
1160
|
+
sig do
|
|
1161
|
+
override.returns(
|
|
1162
|
+
T::Array[
|
|
1163
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type::TaggedSymbol
|
|
1164
|
+
]
|
|
1165
|
+
)
|
|
1166
|
+
end
|
|
1167
|
+
def self.values
|
|
1168
|
+
end
|
|
1169
|
+
end
|
|
1170
|
+
end
|
|
1171
|
+
|
|
1172
|
+
class Voice < Revox::Internal::Type::BaseModel
|
|
1173
|
+
OrHash =
|
|
1174
|
+
T.type_alias do
|
|
1175
|
+
T.any(
|
|
1176
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice,
|
|
1177
|
+
Revox::Internal::AnyHash
|
|
1178
|
+
)
|
|
1179
|
+
end
|
|
1180
|
+
|
|
1181
|
+
# The ID of the voice.
|
|
1182
|
+
sig { returns(String) }
|
|
1183
|
+
attr_accessor :id
|
|
1184
|
+
|
|
1185
|
+
# The provider of the voice.
|
|
1186
|
+
sig do
|
|
1187
|
+
returns(
|
|
1188
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider::TaggedSymbol
|
|
1189
|
+
)
|
|
1190
|
+
end
|
|
1191
|
+
attr_accessor :provider
|
|
1192
|
+
|
|
1193
|
+
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
1194
|
+
# 0.7–1.2. Default is 1.0.
|
|
1195
|
+
sig { returns(T.nilable(Float)) }
|
|
1196
|
+
attr_reader :speed
|
|
1197
|
+
|
|
1198
|
+
sig { params(speed: Float).void }
|
|
1199
|
+
attr_writer :speed
|
|
1200
|
+
|
|
1201
|
+
sig do
|
|
1202
|
+
params(
|
|
1203
|
+
id: String,
|
|
1204
|
+
provider:
|
|
1205
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider::OrSymbol,
|
|
1206
|
+
speed: Float
|
|
1207
|
+
).returns(T.attached_class)
|
|
1208
|
+
end
|
|
1209
|
+
def self.new(
|
|
1210
|
+
# The ID of the voice.
|
|
1211
|
+
id:,
|
|
1212
|
+
# The provider of the voice.
|
|
1213
|
+
provider:,
|
|
1214
|
+
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
1215
|
+
# 0.7–1.2. Default is 1.0.
|
|
1216
|
+
speed: nil
|
|
1217
|
+
)
|
|
1218
|
+
end
|
|
1219
|
+
|
|
1220
|
+
sig do
|
|
1221
|
+
override.returns(
|
|
1222
|
+
{
|
|
1223
|
+
id: String,
|
|
1224
|
+
provider:
|
|
1225
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider::TaggedSymbol,
|
|
1226
|
+
speed: Float
|
|
1227
|
+
}
|
|
1228
|
+
)
|
|
1229
|
+
end
|
|
1230
|
+
def to_hash
|
|
1231
|
+
end
|
|
1232
|
+
|
|
1233
|
+
# The provider of the voice.
|
|
1234
|
+
module Provider
|
|
1235
|
+
extend Revox::Internal::Type::Enum
|
|
1236
|
+
|
|
1237
|
+
TaggedSymbol =
|
|
1238
|
+
T.type_alias do
|
|
1239
|
+
T.all(
|
|
1240
|
+
Symbol,
|
|
1241
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider
|
|
1242
|
+
)
|
|
1243
|
+
end
|
|
1244
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1245
|
+
|
|
1246
|
+
CARTESIA =
|
|
1247
|
+
T.let(
|
|
1248
|
+
:cartesia,
|
|
1249
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider::TaggedSymbol
|
|
1250
|
+
)
|
|
1251
|
+
ELEVENLABS =
|
|
1252
|
+
T.let(
|
|
1253
|
+
:elevenlabs,
|
|
1254
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider::TaggedSymbol
|
|
1255
|
+
)
|
|
1256
|
+
|
|
1257
|
+
sig do
|
|
1258
|
+
override.returns(
|
|
1259
|
+
T::Array[
|
|
1260
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider::TaggedSymbol
|
|
1261
|
+
]
|
|
1262
|
+
)
|
|
1263
|
+
end
|
|
1264
|
+
def self.values
|
|
1265
|
+
end
|
|
1266
|
+
end
|
|
1267
|
+
end
|
|
1268
|
+
|
|
1269
|
+
class FaqItem < Revox::Internal::Type::BaseModel
|
|
1270
|
+
OrHash =
|
|
1271
|
+
T.type_alias do
|
|
1272
|
+
T.any(
|
|
1273
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem,
|
|
1274
|
+
Revox::Internal::AnyHash
|
|
1275
|
+
)
|
|
1276
|
+
end
|
|
1277
|
+
|
|
1278
|
+
sig { returns(String) }
|
|
1279
|
+
attr_accessor :answer
|
|
1280
|
+
|
|
1281
|
+
sig { returns(String) }
|
|
1282
|
+
attr_accessor :question
|
|
1283
|
+
|
|
1284
|
+
sig { returns(T.nilable(String)) }
|
|
1285
|
+
attr_reader :id
|
|
1286
|
+
|
|
1287
|
+
sig { params(id: String).void }
|
|
1288
|
+
attr_writer :id
|
|
1289
|
+
|
|
1290
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1291
|
+
attr_reader :needs_human_answer
|
|
1292
|
+
|
|
1293
|
+
sig { params(needs_human_answer: T::Boolean).void }
|
|
1294
|
+
attr_writer :needs_human_answer
|
|
1295
|
+
|
|
1296
|
+
sig do
|
|
1297
|
+
returns(
|
|
1298
|
+
T.nilable(
|
|
1299
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::TaggedSymbol
|
|
1300
|
+
)
|
|
1301
|
+
)
|
|
1302
|
+
end
|
|
1303
|
+
attr_reader :source
|
|
1304
|
+
|
|
1305
|
+
sig do
|
|
1306
|
+
params(
|
|
1307
|
+
source:
|
|
1308
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::OrSymbol
|
|
1309
|
+
).void
|
|
1310
|
+
end
|
|
1311
|
+
attr_writer :source
|
|
1312
|
+
|
|
1313
|
+
sig do
|
|
1314
|
+
params(
|
|
1315
|
+
answer: String,
|
|
1316
|
+
question: String,
|
|
1317
|
+
id: String,
|
|
1318
|
+
needs_human_answer: T::Boolean,
|
|
1319
|
+
source:
|
|
1320
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::OrSymbol
|
|
1321
|
+
).returns(T.attached_class)
|
|
1322
|
+
end
|
|
1323
|
+
def self.new(
|
|
1324
|
+
answer:,
|
|
1325
|
+
question:,
|
|
1326
|
+
id: nil,
|
|
1327
|
+
needs_human_answer: nil,
|
|
1328
|
+
source: nil
|
|
1329
|
+
)
|
|
1330
|
+
end
|
|
1331
|
+
|
|
1332
|
+
sig do
|
|
1333
|
+
override.returns(
|
|
1334
|
+
{
|
|
1335
|
+
answer: String,
|
|
1336
|
+
question: String,
|
|
1337
|
+
id: String,
|
|
1338
|
+
needs_human_answer: T::Boolean,
|
|
1339
|
+
source:
|
|
1340
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::TaggedSymbol
|
|
1341
|
+
}
|
|
1342
|
+
)
|
|
1343
|
+
end
|
|
1344
|
+
def to_hash
|
|
1345
|
+
end
|
|
1346
|
+
|
|
1347
|
+
module Source
|
|
1348
|
+
extend Revox::Internal::Type::Enum
|
|
1349
|
+
|
|
1350
|
+
TaggedSymbol =
|
|
1351
|
+
T.type_alias do
|
|
1352
|
+
T.all(
|
|
1353
|
+
Symbol,
|
|
1354
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source
|
|
1355
|
+
)
|
|
1356
|
+
end
|
|
1357
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1358
|
+
|
|
1359
|
+
HUMAN =
|
|
1360
|
+
T.let(
|
|
1361
|
+
:human,
|
|
1362
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::TaggedSymbol
|
|
1363
|
+
)
|
|
1364
|
+
AI =
|
|
1365
|
+
T.let(
|
|
1366
|
+
:ai,
|
|
1367
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::TaggedSymbol
|
|
1368
|
+
)
|
|
1369
|
+
|
|
1370
|
+
sig do
|
|
1371
|
+
override.returns(
|
|
1372
|
+
T::Array[
|
|
1373
|
+
Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source::TaggedSymbol
|
|
1374
|
+
]
|
|
1375
|
+
)
|
|
1376
|
+
end
|
|
1377
|
+
def self.values
|
|
1378
|
+
end
|
|
1379
|
+
end
|
|
1380
|
+
end
|
|
1381
|
+
end
|
|
1382
|
+
|
|
268
1383
|
class CallAttempt < Revox::Internal::Type::BaseModel
|
|
269
1384
|
OrHash =
|
|
270
1385
|
T.type_alias do
|
|
@@ -282,6 +1397,16 @@ module Revox
|
|
|
282
1397
|
sig { returns(T.anything) }
|
|
283
1398
|
attr_accessor :answered_at
|
|
284
1399
|
|
|
1400
|
+
# The SIP error that occurred.
|
|
1401
|
+
sig do
|
|
1402
|
+
returns(
|
|
1403
|
+
T.nilable(
|
|
1404
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1405
|
+
)
|
|
1406
|
+
)
|
|
1407
|
+
end
|
|
1408
|
+
attr_accessor :dial_error
|
|
1409
|
+
|
|
285
1410
|
# The time the call ended.
|
|
286
1411
|
sig { returns(T.anything) }
|
|
287
1412
|
attr_accessor :ended_at
|
|
@@ -316,6 +1441,22 @@ module Revox
|
|
|
316
1441
|
end
|
|
317
1442
|
attr_accessor :status
|
|
318
1443
|
|
|
1444
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
1445
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
1446
|
+
sig { returns(T.nilable(String)) }
|
|
1447
|
+
attr_accessor :end_reason
|
|
1448
|
+
|
|
1449
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1450
|
+
# 'system' (e.g. max duration limit).
|
|
1451
|
+
sig do
|
|
1452
|
+
returns(
|
|
1453
|
+
T.nilable(
|
|
1454
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::TaggedSymbol
|
|
1455
|
+
)
|
|
1456
|
+
)
|
|
1457
|
+
end
|
|
1458
|
+
attr_accessor :ended_by
|
|
1459
|
+
|
|
319
1460
|
# The data extracted from the call, using the structured output config from the
|
|
320
1461
|
# parent call object.
|
|
321
1462
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
@@ -339,6 +1480,10 @@ module Revox
|
|
|
339
1480
|
params(
|
|
340
1481
|
id: String,
|
|
341
1482
|
answered_at: T.anything,
|
|
1483
|
+
dial_error:
|
|
1484
|
+
T.nilable(
|
|
1485
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::OrSymbol
|
|
1486
|
+
),
|
|
342
1487
|
ended_at: T.anything,
|
|
343
1488
|
phone_number: String,
|
|
344
1489
|
recording_url: T.nilable(String),
|
|
@@ -349,6 +1494,11 @@ module Revox
|
|
|
349
1494
|
started_at: T.anything,
|
|
350
1495
|
status:
|
|
351
1496
|
Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status::OrSymbol,
|
|
1497
|
+
end_reason: T.nilable(String),
|
|
1498
|
+
ended_by:
|
|
1499
|
+
T.nilable(
|
|
1500
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::OrSymbol
|
|
1501
|
+
),
|
|
352
1502
|
structured_output: T.nilable(T::Hash[Symbol, T.anything]),
|
|
353
1503
|
transcript:
|
|
354
1504
|
T.nilable(
|
|
@@ -363,6 +1513,8 @@ module Revox
|
|
|
363
1513
|
id:,
|
|
364
1514
|
# The time the call was answered.
|
|
365
1515
|
answered_at:,
|
|
1516
|
+
# The SIP error that occurred.
|
|
1517
|
+
dial_error:,
|
|
366
1518
|
# The time the call ended.
|
|
367
1519
|
ended_at:,
|
|
368
1520
|
# The phone number that was called. Formatted in E.164 format. Example:
|
|
@@ -375,6 +1527,12 @@ module Revox
|
|
|
375
1527
|
started_at:,
|
|
376
1528
|
# The status of the call attempt.
|
|
377
1529
|
status:,
|
|
1530
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
1531
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
1532
|
+
end_reason: nil,
|
|
1533
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1534
|
+
# 'system' (e.g. max duration limit).
|
|
1535
|
+
ended_by: nil,
|
|
378
1536
|
# The data extracted from the call, using the structured output config from the
|
|
379
1537
|
# parent call object.
|
|
380
1538
|
structured_output: nil,
|
|
@@ -388,6 +1546,10 @@ module Revox
|
|
|
388
1546
|
{
|
|
389
1547
|
id: String,
|
|
390
1548
|
answered_at: T.anything,
|
|
1549
|
+
dial_error:
|
|
1550
|
+
T.nilable(
|
|
1551
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1552
|
+
),
|
|
391
1553
|
ended_at: T.anything,
|
|
392
1554
|
phone_number: String,
|
|
393
1555
|
recording_url: T.nilable(String),
|
|
@@ -398,6 +1560,11 @@ module Revox
|
|
|
398
1560
|
started_at: T.anything,
|
|
399
1561
|
status:
|
|
400
1562
|
Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status::TaggedSymbol,
|
|
1563
|
+
end_reason: T.nilable(String),
|
|
1564
|
+
ended_by:
|
|
1565
|
+
T.nilable(
|
|
1566
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::TaggedSymbol
|
|
1567
|
+
),
|
|
401
1568
|
structured_output: T.nilable(T::Hash[Symbol, T.anything]),
|
|
402
1569
|
transcript:
|
|
403
1570
|
T.nilable(
|
|
@@ -411,6 +1578,71 @@ module Revox
|
|
|
411
1578
|
def to_hash
|
|
412
1579
|
end
|
|
413
1580
|
|
|
1581
|
+
# The SIP error that occurred.
|
|
1582
|
+
module DialError
|
|
1583
|
+
extend Revox::Internal::Type::Enum
|
|
1584
|
+
|
|
1585
|
+
TaggedSymbol =
|
|
1586
|
+
T.type_alias do
|
|
1587
|
+
T.all(
|
|
1588
|
+
Symbol,
|
|
1589
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError
|
|
1590
|
+
)
|
|
1591
|
+
end
|
|
1592
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1593
|
+
|
|
1594
|
+
NUMBER_NON_ATTRIBUTED =
|
|
1595
|
+
T.let(
|
|
1596
|
+
:number_non_attributed,
|
|
1597
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1598
|
+
)
|
|
1599
|
+
TOO_MANY_CALLS =
|
|
1600
|
+
T.let(
|
|
1601
|
+
:too_many_calls,
|
|
1602
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1603
|
+
)
|
|
1604
|
+
BUSY =
|
|
1605
|
+
T.let(
|
|
1606
|
+
:busy,
|
|
1607
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1608
|
+
)
|
|
1609
|
+
TEMPORARILY_UNAVAILABLE =
|
|
1610
|
+
T.let(
|
|
1611
|
+
:temporarily_unavailable,
|
|
1612
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1613
|
+
)
|
|
1614
|
+
NO_ANSWER =
|
|
1615
|
+
T.let(
|
|
1616
|
+
:no_answer,
|
|
1617
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1618
|
+
)
|
|
1619
|
+
NO_INTERNATIONAL_PERMISSION =
|
|
1620
|
+
T.let(
|
|
1621
|
+
:no_international_permission,
|
|
1622
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1623
|
+
)
|
|
1624
|
+
PRECONDITION_FAILED =
|
|
1625
|
+
T.let(
|
|
1626
|
+
:precondition_failed,
|
|
1627
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1628
|
+
)
|
|
1629
|
+
NON_CLASSIFIED_ERROR =
|
|
1630
|
+
T.let(
|
|
1631
|
+
:non_classified_error,
|
|
1632
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1633
|
+
)
|
|
1634
|
+
|
|
1635
|
+
sig do
|
|
1636
|
+
override.returns(
|
|
1637
|
+
T::Array[
|
|
1638
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError::TaggedSymbol
|
|
1639
|
+
]
|
|
1640
|
+
)
|
|
1641
|
+
end
|
|
1642
|
+
def self.values
|
|
1643
|
+
end
|
|
1644
|
+
end
|
|
1645
|
+
|
|
414
1646
|
module Result
|
|
415
1647
|
extend Revox::Internal::Type::Enum
|
|
416
1648
|
|
|
@@ -443,6 +1675,11 @@ module Revox
|
|
|
443
1675
|
:unknown,
|
|
444
1676
|
Revox::Models::CallRetrieveResponse::Call::CallAttempt::Result::TaggedSymbol
|
|
445
1677
|
)
|
|
1678
|
+
IOS_SCREENING_FILTER =
|
|
1679
|
+
T.let(
|
|
1680
|
+
:"ios-screening-filter",
|
|
1681
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::Result::TaggedSymbol
|
|
1682
|
+
)
|
|
446
1683
|
|
|
447
1684
|
sig do
|
|
448
1685
|
override.returns(
|
|
@@ -488,6 +1725,11 @@ module Revox
|
|
|
488
1725
|
:completed,
|
|
489
1726
|
Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status::TaggedSymbol
|
|
490
1727
|
)
|
|
1728
|
+
ERROR =
|
|
1729
|
+
T.let(
|
|
1730
|
+
:error,
|
|
1731
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status::TaggedSymbol
|
|
1732
|
+
)
|
|
491
1733
|
|
|
492
1734
|
sig do
|
|
493
1735
|
override.returns(
|
|
@@ -500,6 +1742,47 @@ module Revox
|
|
|
500
1742
|
end
|
|
501
1743
|
end
|
|
502
1744
|
|
|
1745
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1746
|
+
# 'system' (e.g. max duration limit).
|
|
1747
|
+
module EndedBy
|
|
1748
|
+
extend Revox::Internal::Type::Enum
|
|
1749
|
+
|
|
1750
|
+
TaggedSymbol =
|
|
1751
|
+
T.type_alias do
|
|
1752
|
+
T.all(
|
|
1753
|
+
Symbol,
|
|
1754
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy
|
|
1755
|
+
)
|
|
1756
|
+
end
|
|
1757
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1758
|
+
|
|
1759
|
+
AGENT =
|
|
1760
|
+
T.let(
|
|
1761
|
+
:agent,
|
|
1762
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::TaggedSymbol
|
|
1763
|
+
)
|
|
1764
|
+
USER =
|
|
1765
|
+
T.let(
|
|
1766
|
+
:user,
|
|
1767
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::TaggedSymbol
|
|
1768
|
+
)
|
|
1769
|
+
SYSTEM =
|
|
1770
|
+
T.let(
|
|
1771
|
+
:system,
|
|
1772
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::TaggedSymbol
|
|
1773
|
+
)
|
|
1774
|
+
|
|
1775
|
+
sig do
|
|
1776
|
+
override.returns(
|
|
1777
|
+
T::Array[
|
|
1778
|
+
Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy::TaggedSymbol
|
|
1779
|
+
]
|
|
1780
|
+
)
|
|
1781
|
+
end
|
|
1782
|
+
def self.values
|
|
1783
|
+
end
|
|
1784
|
+
end
|
|
1785
|
+
|
|
503
1786
|
class Transcript < Revox::Internal::Type::BaseModel
|
|
504
1787
|
OrHash =
|
|
505
1788
|
T.type_alias do
|
|
@@ -774,6 +2057,30 @@ module Revox
|
|
|
774
2057
|
end
|
|
775
2058
|
end
|
|
776
2059
|
|
|
2060
|
+
class Campaign < Revox::Internal::Type::BaseModel
|
|
2061
|
+
OrHash =
|
|
2062
|
+
T.type_alias do
|
|
2063
|
+
T.any(
|
|
2064
|
+
Revox::Models::CallRetrieveResponse::Call::Campaign,
|
|
2065
|
+
Revox::Internal::AnyHash
|
|
2066
|
+
)
|
|
2067
|
+
end
|
|
2068
|
+
|
|
2069
|
+
sig { returns(String) }
|
|
2070
|
+
attr_accessor :id
|
|
2071
|
+
|
|
2072
|
+
sig { returns(String) }
|
|
2073
|
+
attr_accessor :name
|
|
2074
|
+
|
|
2075
|
+
sig { params(id: String, name: String).returns(T.attached_class) }
|
|
2076
|
+
def self.new(id:, name:)
|
|
2077
|
+
end
|
|
2078
|
+
|
|
2079
|
+
sig { override.returns({ id: String, name: String }) }
|
|
2080
|
+
def to_hash
|
|
2081
|
+
end
|
|
2082
|
+
end
|
|
2083
|
+
|
|
777
2084
|
# Whether the call is inbound or outbound.
|
|
778
2085
|
module Direction
|
|
779
2086
|
extend Revox::Internal::Type::Enum
|
|
@@ -826,6 +2133,16 @@ module Revox
|
|
|
826
2133
|
sig { returns(T.anything) }
|
|
827
2134
|
attr_accessor :answered_at
|
|
828
2135
|
|
|
2136
|
+
# The SIP error that occurred.
|
|
2137
|
+
sig do
|
|
2138
|
+
returns(
|
|
2139
|
+
T.nilable(
|
|
2140
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2141
|
+
)
|
|
2142
|
+
)
|
|
2143
|
+
end
|
|
2144
|
+
attr_accessor :dial_error
|
|
2145
|
+
|
|
829
2146
|
# The time the call ended.
|
|
830
2147
|
sig { returns(T.anything) }
|
|
831
2148
|
attr_accessor :ended_at
|
|
@@ -860,6 +2177,22 @@ module Revox
|
|
|
860
2177
|
end
|
|
861
2178
|
attr_accessor :status
|
|
862
2179
|
|
|
2180
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
2181
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
2182
|
+
sig { returns(T.nilable(String)) }
|
|
2183
|
+
attr_accessor :end_reason
|
|
2184
|
+
|
|
2185
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
2186
|
+
# 'system' (e.g. max duration limit).
|
|
2187
|
+
sig do
|
|
2188
|
+
returns(
|
|
2189
|
+
T.nilable(
|
|
2190
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::TaggedSymbol
|
|
2191
|
+
)
|
|
2192
|
+
)
|
|
2193
|
+
end
|
|
2194
|
+
attr_accessor :ended_by
|
|
2195
|
+
|
|
863
2196
|
# The data extracted from the call, using the structured output config from the
|
|
864
2197
|
# parent call object.
|
|
865
2198
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
@@ -883,6 +2216,10 @@ module Revox
|
|
|
883
2216
|
params(
|
|
884
2217
|
id: String,
|
|
885
2218
|
answered_at: T.anything,
|
|
2219
|
+
dial_error:
|
|
2220
|
+
T.nilable(
|
|
2221
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::OrSymbol
|
|
2222
|
+
),
|
|
886
2223
|
ended_at: T.anything,
|
|
887
2224
|
phone_number: String,
|
|
888
2225
|
recording_url: T.nilable(String),
|
|
@@ -893,6 +2230,11 @@ module Revox
|
|
|
893
2230
|
started_at: T.anything,
|
|
894
2231
|
status:
|
|
895
2232
|
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status::OrSymbol,
|
|
2233
|
+
end_reason: T.nilable(String),
|
|
2234
|
+
ended_by:
|
|
2235
|
+
T.nilable(
|
|
2236
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::OrSymbol
|
|
2237
|
+
),
|
|
896
2238
|
structured_output: T.nilable(T::Hash[Symbol, T.anything]),
|
|
897
2239
|
transcript:
|
|
898
2240
|
T.nilable(
|
|
@@ -907,6 +2249,8 @@ module Revox
|
|
|
907
2249
|
id:,
|
|
908
2250
|
# The time the call was answered.
|
|
909
2251
|
answered_at:,
|
|
2252
|
+
# The SIP error that occurred.
|
|
2253
|
+
dial_error:,
|
|
910
2254
|
# The time the call ended.
|
|
911
2255
|
ended_at:,
|
|
912
2256
|
# The phone number that was called. Formatted in E.164 format. Example:
|
|
@@ -919,6 +2263,12 @@ module Revox
|
|
|
919
2263
|
started_at:,
|
|
920
2264
|
# The status of the call attempt.
|
|
921
2265
|
status:,
|
|
2266
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
2267
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
2268
|
+
end_reason: nil,
|
|
2269
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
2270
|
+
# 'system' (e.g. max duration limit).
|
|
2271
|
+
ended_by: nil,
|
|
922
2272
|
# The data extracted from the call, using the structured output config from the
|
|
923
2273
|
# parent call object.
|
|
924
2274
|
structured_output: nil,
|
|
@@ -932,6 +2282,10 @@ module Revox
|
|
|
932
2282
|
{
|
|
933
2283
|
id: String,
|
|
934
2284
|
answered_at: T.anything,
|
|
2285
|
+
dial_error:
|
|
2286
|
+
T.nilable(
|
|
2287
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2288
|
+
),
|
|
935
2289
|
ended_at: T.anything,
|
|
936
2290
|
phone_number: String,
|
|
937
2291
|
recording_url: T.nilable(String),
|
|
@@ -942,6 +2296,11 @@ module Revox
|
|
|
942
2296
|
started_at: T.anything,
|
|
943
2297
|
status:
|
|
944
2298
|
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status::TaggedSymbol,
|
|
2299
|
+
end_reason: T.nilable(String),
|
|
2300
|
+
ended_by:
|
|
2301
|
+
T.nilable(
|
|
2302
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::TaggedSymbol
|
|
2303
|
+
),
|
|
945
2304
|
structured_output: T.nilable(T::Hash[Symbol, T.anything]),
|
|
946
2305
|
transcript:
|
|
947
2306
|
T.nilable(
|
|
@@ -955,6 +2314,71 @@ module Revox
|
|
|
955
2314
|
def to_hash
|
|
956
2315
|
end
|
|
957
2316
|
|
|
2317
|
+
# The SIP error that occurred.
|
|
2318
|
+
module DialError
|
|
2319
|
+
extend Revox::Internal::Type::Enum
|
|
2320
|
+
|
|
2321
|
+
TaggedSymbol =
|
|
2322
|
+
T.type_alias do
|
|
2323
|
+
T.all(
|
|
2324
|
+
Symbol,
|
|
2325
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError
|
|
2326
|
+
)
|
|
2327
|
+
end
|
|
2328
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2329
|
+
|
|
2330
|
+
NUMBER_NON_ATTRIBUTED =
|
|
2331
|
+
T.let(
|
|
2332
|
+
:number_non_attributed,
|
|
2333
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2334
|
+
)
|
|
2335
|
+
TOO_MANY_CALLS =
|
|
2336
|
+
T.let(
|
|
2337
|
+
:too_many_calls,
|
|
2338
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2339
|
+
)
|
|
2340
|
+
BUSY =
|
|
2341
|
+
T.let(
|
|
2342
|
+
:busy,
|
|
2343
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2344
|
+
)
|
|
2345
|
+
TEMPORARILY_UNAVAILABLE =
|
|
2346
|
+
T.let(
|
|
2347
|
+
:temporarily_unavailable,
|
|
2348
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2349
|
+
)
|
|
2350
|
+
NO_ANSWER =
|
|
2351
|
+
T.let(
|
|
2352
|
+
:no_answer,
|
|
2353
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2354
|
+
)
|
|
2355
|
+
NO_INTERNATIONAL_PERMISSION =
|
|
2356
|
+
T.let(
|
|
2357
|
+
:no_international_permission,
|
|
2358
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2359
|
+
)
|
|
2360
|
+
PRECONDITION_FAILED =
|
|
2361
|
+
T.let(
|
|
2362
|
+
:precondition_failed,
|
|
2363
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2364
|
+
)
|
|
2365
|
+
NON_CLASSIFIED_ERROR =
|
|
2366
|
+
T.let(
|
|
2367
|
+
:non_classified_error,
|
|
2368
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2369
|
+
)
|
|
2370
|
+
|
|
2371
|
+
sig do
|
|
2372
|
+
override.returns(
|
|
2373
|
+
T::Array[
|
|
2374
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError::TaggedSymbol
|
|
2375
|
+
]
|
|
2376
|
+
)
|
|
2377
|
+
end
|
|
2378
|
+
def self.values
|
|
2379
|
+
end
|
|
2380
|
+
end
|
|
2381
|
+
|
|
958
2382
|
module Result
|
|
959
2383
|
extend Revox::Internal::Type::Enum
|
|
960
2384
|
|
|
@@ -987,6 +2411,11 @@ module Revox
|
|
|
987
2411
|
:unknown,
|
|
988
2412
|
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Result::TaggedSymbol
|
|
989
2413
|
)
|
|
2414
|
+
IOS_SCREENING_FILTER =
|
|
2415
|
+
T.let(
|
|
2416
|
+
:"ios-screening-filter",
|
|
2417
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Result::TaggedSymbol
|
|
2418
|
+
)
|
|
990
2419
|
|
|
991
2420
|
sig do
|
|
992
2421
|
override.returns(
|
|
@@ -1032,6 +2461,11 @@ module Revox
|
|
|
1032
2461
|
:completed,
|
|
1033
2462
|
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status::TaggedSymbol
|
|
1034
2463
|
)
|
|
2464
|
+
ERROR =
|
|
2465
|
+
T.let(
|
|
2466
|
+
:error,
|
|
2467
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status::TaggedSymbol
|
|
2468
|
+
)
|
|
1035
2469
|
|
|
1036
2470
|
sig do
|
|
1037
2471
|
override.returns(
|
|
@@ -1044,6 +2478,47 @@ module Revox
|
|
|
1044
2478
|
end
|
|
1045
2479
|
end
|
|
1046
2480
|
|
|
2481
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
2482
|
+
# 'system' (e.g. max duration limit).
|
|
2483
|
+
module EndedBy
|
|
2484
|
+
extend Revox::Internal::Type::Enum
|
|
2485
|
+
|
|
2486
|
+
TaggedSymbol =
|
|
2487
|
+
T.type_alias do
|
|
2488
|
+
T.all(
|
|
2489
|
+
Symbol,
|
|
2490
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy
|
|
2491
|
+
)
|
|
2492
|
+
end
|
|
2493
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2494
|
+
|
|
2495
|
+
AGENT =
|
|
2496
|
+
T.let(
|
|
2497
|
+
:agent,
|
|
2498
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::TaggedSymbol
|
|
2499
|
+
)
|
|
2500
|
+
USER =
|
|
2501
|
+
T.let(
|
|
2502
|
+
:user,
|
|
2503
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::TaggedSymbol
|
|
2504
|
+
)
|
|
2505
|
+
SYSTEM =
|
|
2506
|
+
T.let(
|
|
2507
|
+
:system,
|
|
2508
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::TaggedSymbol
|
|
2509
|
+
)
|
|
2510
|
+
|
|
2511
|
+
sig do
|
|
2512
|
+
override.returns(
|
|
2513
|
+
T::Array[
|
|
2514
|
+
Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy::TaggedSymbol
|
|
2515
|
+
]
|
|
2516
|
+
)
|
|
2517
|
+
end
|
|
2518
|
+
def self.values
|
|
2519
|
+
end
|
|
2520
|
+
end
|
|
2521
|
+
|
|
1047
2522
|
class Transcript < Revox::Internal::Type::BaseModel
|
|
1048
2523
|
OrHash =
|
|
1049
2524
|
T.type_alias do
|
|
@@ -1340,6 +2815,63 @@ module Revox
|
|
|
1340
2815
|
def self.variants
|
|
1341
2816
|
end
|
|
1342
2817
|
end
|
|
2818
|
+
|
|
2819
|
+
# The status of the call.
|
|
2820
|
+
module Status
|
|
2821
|
+
extend Revox::Internal::Type::Enum
|
|
2822
|
+
|
|
2823
|
+
TaggedSymbol =
|
|
2824
|
+
T.type_alias do
|
|
2825
|
+
T.all(Symbol, Revox::Models::CallRetrieveResponse::Call::Status)
|
|
2826
|
+
end
|
|
2827
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2828
|
+
|
|
2829
|
+
INITIALIZING =
|
|
2830
|
+
T.let(
|
|
2831
|
+
:initializing,
|
|
2832
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2833
|
+
)
|
|
2834
|
+
QUEUED_FOR_CALLING =
|
|
2835
|
+
T.let(
|
|
2836
|
+
:queued_for_calling,
|
|
2837
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2838
|
+
)
|
|
2839
|
+
CALLING =
|
|
2840
|
+
T.let(
|
|
2841
|
+
:calling,
|
|
2842
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2843
|
+
)
|
|
2844
|
+
SCHEDULED =
|
|
2845
|
+
T.let(
|
|
2846
|
+
:scheduled,
|
|
2847
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2848
|
+
)
|
|
2849
|
+
COMPLETED =
|
|
2850
|
+
T.let(
|
|
2851
|
+
:completed,
|
|
2852
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2853
|
+
)
|
|
2854
|
+
CANCELLED =
|
|
2855
|
+
T.let(
|
|
2856
|
+
:cancelled,
|
|
2857
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2858
|
+
)
|
|
2859
|
+
ERRORED =
|
|
2860
|
+
T.let(
|
|
2861
|
+
:errored,
|
|
2862
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2863
|
+
)
|
|
2864
|
+
|
|
2865
|
+
sig do
|
|
2866
|
+
override.returns(
|
|
2867
|
+
T::Array[
|
|
2868
|
+
Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol
|
|
2869
|
+
]
|
|
2870
|
+
)
|
|
2871
|
+
end
|
|
2872
|
+
def self.values
|
|
2873
|
+
end
|
|
2874
|
+
end
|
|
1343
2875
|
end
|
|
1344
2876
|
end
|
|
1345
2877
|
end
|