revox 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +40 -40
  4. data/lib/revox/models/assistant_clone_response.rb +87 -65
  5. data/lib/revox/models/assistant_create_params.rb +90 -66
  6. data/lib/revox/models/assistant_create_response.rb +87 -65
  7. data/lib/revox/models/assistant_list_response.rb +87 -65
  8. data/lib/revox/models/assistant_retrieve_response.rb +86 -65
  9. data/lib/revox/models/assistant_update_params.rb +90 -66
  10. data/lib/revox/models/assistant_update_response.rb +87 -65
  11. data/lib/revox/models/call_create_params.rb +117 -90
  12. data/lib/revox/models/call_create_response.rb +670 -90
  13. data/lib/revox/models/call_export_params.rb +1 -3
  14. data/lib/revox/models/call_phone_history_response.rb +0 -3
  15. data/lib/revox/models/call_retrieve_response.rb +671 -90
  16. data/lib/revox/models/call_search_params.rb +1 -3
  17. data/lib/revox/models/call_search_response.rb +670 -90
  18. data/lib/revox/models/campaign_create_params.rb +7 -57
  19. data/lib/revox/models/campaign_create_response.rb +108 -119
  20. data/lib/revox/models/campaign_get_rows_response.rb +672 -90
  21. data/lib/revox/models/campaign_launch_params.rb +182 -1
  22. data/lib/revox/models/campaign_launch_response.rb +3447 -1574
  23. data/lib/revox/models/campaign_list_response.rb +108 -119
  24. data/lib/revox/models/campaign_retrieve_response.rb +108 -119
  25. data/lib/revox/models/campaign_statistics_response.rb +51 -23
  26. data/lib/revox/models/campaign_update_params.rb +9 -78
  27. data/lib/revox/models/campaign_update_response.rb +108 -119
  28. data/lib/revox/models/phone_number_list_response.rb +87 -65
  29. data/lib/revox/models/phone_number_update_response.rb +87 -65
  30. data/lib/revox/models/voice_list_response.rb +1 -0
  31. data/lib/revox/models/voice_preview_params.rb +1 -0
  32. data/lib/revox/models/voice_retrieve_params.rb +1 -0
  33. data/lib/revox/resources/assistants.rb +10 -10
  34. data/lib/revox/resources/call.rb +4 -4
  35. data/lib/revox/resources/campaigns.rb +35 -31
  36. data/lib/revox/version.rb +1 -1
  37. data/rbi/revox/models/assistant_clone_response.rbi +157 -147
  38. data/rbi/revox/models/assistant_create_params.rbi +148 -162
  39. data/rbi/revox/models/assistant_create_response.rbi +157 -147
  40. data/rbi/revox/models/assistant_list_response.rbi +157 -147
  41. data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
  42. data/rbi/revox/models/assistant_update_params.rbi +148 -162
  43. data/rbi/revox/models/assistant_update_response.rbi +157 -147
  44. data/rbi/revox/models/call_create_params.rbi +190 -187
  45. data/rbi/revox/models/call_create_response.rbi +1138 -227
  46. data/rbi/revox/models/call_export_params.rbi +5 -15
  47. data/rbi/revox/models/call_phone_history_response.rbi +0 -15
  48. data/rbi/revox/models/call_retrieve_response.rbi +1138 -227
  49. data/rbi/revox/models/call_search_params.rbi +2 -9
  50. data/rbi/revox/models/call_search_response.rbi +1138 -227
  51. data/rbi/revox/models/campaign_create_params.rbi +9 -87
  52. data/rbi/revox/models/campaign_create_response.rbi +188 -266
  53. data/rbi/revox/models/campaign_get_rows_response.rbi +1138 -225
  54. data/rbi/revox/models/campaign_launch_params.rbi +511 -2
  55. data/rbi/revox/models/campaign_launch_response.rbi +6882 -3163
  56. data/rbi/revox/models/campaign_list_response.rbi +188 -262
  57. data/rbi/revox/models/campaign_retrieve_response.rbi +188 -266
  58. data/rbi/revox/models/campaign_statistics_response.rbi +94 -36
  59. data/rbi/revox/models/campaign_update_params.rbi +10 -128
  60. data/rbi/revox/models/campaign_update_response.rbi +188 -266
  61. data/rbi/revox/models/phone_number_list_response.rbi +157 -147
  62. data/rbi/revox/models/phone_number_update_response.rbi +157 -147
  63. data/rbi/revox/models/voice_list_response.rbi +5 -0
  64. data/rbi/revox/models/voice_preview_params.rbi +2 -0
  65. data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
  66. data/rbi/revox/resources/assistants.rbi +40 -22
  67. data/rbi/revox/resources/call.rbi +7 -4
  68. data/rbi/revox/resources/campaigns.rbi +30 -36
  69. data/sig/revox/models/assistant_clone_response.rbs +46 -54
  70. data/sig/revox/models/assistant_create_params.rbs +39 -58
  71. data/sig/revox/models/assistant_create_response.rbs +46 -54
  72. data/sig/revox/models/assistant_list_response.rbs +46 -54
  73. data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
  74. data/sig/revox/models/assistant_update_params.rbs +39 -58
  75. data/sig/revox/models/assistant_update_response.rbs +46 -54
  76. data/sig/revox/models/call_create_params.rbs +50 -71
  77. data/sig/revox/models/call_create_response.rbs +468 -77
  78. data/sig/revox/models/call_export_params.rbs +2 -6
  79. data/sig/revox/models/call_phone_history_response.rbs +1 -10
  80. data/sig/revox/models/call_retrieve_response.rbs +468 -77
  81. data/sig/revox/models/call_search_params.rbs +2 -6
  82. data/sig/revox/models/call_search_response.rbs +468 -77
  83. data/sig/revox/models/campaign_create_params.rbs +5 -50
  84. data/sig/revox/models/campaign_create_response.rbs +62 -98
  85. data/sig/revox/models/campaign_get_rows_response.rbs +467 -73
  86. data/sig/revox/models/campaign_launch_params.rbs +215 -2
  87. data/sig/revox/models/campaign_launch_response.rbs +2721 -1219
  88. data/sig/revox/models/campaign_list_response.rbs +62 -98
  89. data/sig/revox/models/campaign_retrieve_response.rbs +62 -98
  90. data/sig/revox/models/campaign_statistics_response.rbs +55 -24
  91. data/sig/revox/models/campaign_update_params.rbs +1 -69
  92. data/sig/revox/models/campaign_update_response.rbs +62 -98
  93. data/sig/revox/models/phone_number_list_response.rbs +46 -54
  94. data/sig/revox/models/phone_number_update_response.rbs +46 -54
  95. data/sig/revox/models/voice_list_response.rbs +2 -1
  96. data/sig/revox/models/voice_preview_params.rbs +2 -1
  97. data/sig/revox/models/voice_retrieve_params.rbs +2 -1
  98. data/sig/revox/resources/assistants.rbs +4 -4
  99. data/sig/revox/resources/call.rbs +1 -1
  100. data/sig/revox/resources/campaigns.rbs +3 -7
  101. metadata +2 -2
@@ -14,20 +14,529 @@ module Revox
14
14
  sig { returns(String) }
15
15
  attr_accessor :id
16
16
 
17
+ sig { returns(Revox::CampaignLaunchParams::Mode::OrSymbol) }
18
+ attr_accessor :mode
19
+
20
+ sig { returns(Revox::CampaignLaunchParams::Selection) }
21
+ attr_reader :selection
22
+
23
+ sig do
24
+ params(selection: Revox::CampaignLaunchParams::Selection::OrHash).void
25
+ end
26
+ attr_writer :selection
27
+
28
+ # When to place the calls (ISO 8601). Omit to launch now. ai_first only — a speed
29
+ # dial session cannot be scheduled.
30
+ sig { returns(T.nilable(Time)) }
31
+ attr_reader :scheduled_at
32
+
33
+ sig { params(scheduled_at: Time).void }
34
+ attr_writer :scheduled_at
35
+
17
36
  sig do
18
37
  params(
19
38
  id: String,
39
+ mode: Revox::CampaignLaunchParams::Mode::OrSymbol,
40
+ selection: Revox::CampaignLaunchParams::Selection::OrHash,
41
+ scheduled_at: Time,
20
42
  request_options: Revox::RequestOptions::OrHash
21
43
  ).returns(T.attached_class)
22
44
  end
23
- def self.new(id:, request_options: {})
45
+ def self.new(
46
+ id:,
47
+ mode:,
48
+ selection:,
49
+ # When to place the calls (ISO 8601). Omit to launch now. ai_first only — a speed
50
+ # dial session cannot be scheduled.
51
+ scheduled_at: nil,
52
+ request_options: {}
53
+ )
24
54
  end
25
55
 
26
56
  sig do
27
- override.returns({ id: String, request_options: Revox::RequestOptions })
57
+ override.returns(
58
+ {
59
+ id: String,
60
+ mode: Revox::CampaignLaunchParams::Mode::OrSymbol,
61
+ selection: Revox::CampaignLaunchParams::Selection,
62
+ scheduled_at: Time,
63
+ request_options: Revox::RequestOptions
64
+ }
65
+ )
28
66
  end
29
67
  def to_hash
30
68
  end
69
+
70
+ module Mode
71
+ extend Revox::Internal::Type::Enum
72
+
73
+ TaggedSymbol =
74
+ T.type_alias { T.all(Symbol, Revox::CampaignLaunchParams::Mode) }
75
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
76
+
77
+ AI_FIRST =
78
+ T.let(:ai_first, Revox::CampaignLaunchParams::Mode::TaggedSymbol)
79
+ SPEED_DIAL =
80
+ T.let(:speed_dial, Revox::CampaignLaunchParams::Mode::TaggedSymbol)
81
+
82
+ sig do
83
+ override.returns(
84
+ T::Array[Revox::CampaignLaunchParams::Mode::TaggedSymbol]
85
+ )
86
+ end
87
+ def self.values
88
+ end
89
+ end
90
+
91
+ class Selection < Revox::Internal::Type::BaseModel
92
+ OrHash =
93
+ T.type_alias do
94
+ T.any(
95
+ Revox::CampaignLaunchParams::Selection,
96
+ Revox::Internal::AnyHash
97
+ )
98
+ end
99
+
100
+ sig { returns(Revox::CampaignLaunchParams::Selection::Filters) }
101
+ attr_reader :filters
102
+
103
+ sig do
104
+ params(
105
+ filters: Revox::CampaignLaunchParams::Selection::Filters::OrHash
106
+ ).void
107
+ end
108
+ attr_writer :filters
109
+
110
+ sig { returns(Revox::CampaignLaunchParams::Selection::Rows) }
111
+ attr_reader :rows
112
+
113
+ sig do
114
+ params(
115
+ rows: Revox::CampaignLaunchParams::Selection::Rows::OrHash
116
+ ).void
117
+ end
118
+ attr_writer :rows
119
+
120
+ sig do
121
+ params(
122
+ filters: Revox::CampaignLaunchParams::Selection::Filters::OrHash,
123
+ rows: Revox::CampaignLaunchParams::Selection::Rows::OrHash
124
+ ).returns(T.attached_class)
125
+ end
126
+ def self.new(filters:, rows:)
127
+ end
128
+
129
+ sig do
130
+ override.returns(
131
+ {
132
+ filters: Revox::CampaignLaunchParams::Selection::Filters,
133
+ rows: Revox::CampaignLaunchParams::Selection::Rows
134
+ }
135
+ )
136
+ end
137
+ def to_hash
138
+ end
139
+
140
+ class Filters < Revox::Internal::Type::BaseModel
141
+ OrHash =
142
+ T.type_alias do
143
+ T.any(
144
+ Revox::CampaignLaunchParams::Selection::Filters,
145
+ Revox::Internal::AnyHash
146
+ )
147
+ end
148
+
149
+ sig { returns(T::Array[String]) }
150
+ attr_accessor :assignee_ids
151
+
152
+ sig do
153
+ returns(
154
+ T::Array[
155
+ Revox::CampaignLaunchParams::Selection::Filters::Direction::OrSymbol
156
+ ]
157
+ )
158
+ end
159
+ attr_accessor :directions
160
+
161
+ sig do
162
+ returns(
163
+ T::Array[
164
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::OrSymbol
165
+ ]
166
+ )
167
+ end
168
+ attr_accessor :outcomes
169
+
170
+ sig do
171
+ returns(
172
+ T::Array[
173
+ Revox::CampaignLaunchParams::Selection::Filters::Result::OrSymbol
174
+ ]
175
+ )
176
+ end
177
+ attr_accessor :results
178
+
179
+ sig do
180
+ returns(
181
+ T::Array[
182
+ Revox::CampaignLaunchParams::Selection::Filters::Status::OrSymbol
183
+ ]
184
+ )
185
+ end
186
+ attr_accessor :statuses
187
+
188
+ sig { returns(T.nilable(String)) }
189
+ attr_reader :query
190
+
191
+ sig { params(query: String).void }
192
+ attr_writer :query
193
+
194
+ sig do
195
+ params(
196
+ assignee_ids: T::Array[String],
197
+ directions:
198
+ T::Array[
199
+ Revox::CampaignLaunchParams::Selection::Filters::Direction::OrSymbol
200
+ ],
201
+ outcomes:
202
+ T::Array[
203
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::OrSymbol
204
+ ],
205
+ results:
206
+ T::Array[
207
+ Revox::CampaignLaunchParams::Selection::Filters::Result::OrSymbol
208
+ ],
209
+ statuses:
210
+ T::Array[
211
+ Revox::CampaignLaunchParams::Selection::Filters::Status::OrSymbol
212
+ ],
213
+ query: String
214
+ ).returns(T.attached_class)
215
+ end
216
+ def self.new(
217
+ assignee_ids:,
218
+ directions:,
219
+ outcomes:,
220
+ results:,
221
+ statuses:,
222
+ query: nil
223
+ )
224
+ end
225
+
226
+ sig do
227
+ override.returns(
228
+ {
229
+ assignee_ids: T::Array[String],
230
+ directions:
231
+ T::Array[
232
+ Revox::CampaignLaunchParams::Selection::Filters::Direction::OrSymbol
233
+ ],
234
+ outcomes:
235
+ T::Array[
236
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::OrSymbol
237
+ ],
238
+ results:
239
+ T::Array[
240
+ Revox::CampaignLaunchParams::Selection::Filters::Result::OrSymbol
241
+ ],
242
+ statuses:
243
+ T::Array[
244
+ Revox::CampaignLaunchParams::Selection::Filters::Status::OrSymbol
245
+ ],
246
+ query: String
247
+ }
248
+ )
249
+ end
250
+ def to_hash
251
+ end
252
+
253
+ module Direction
254
+ extend Revox::Internal::Type::Enum
255
+
256
+ TaggedSymbol =
257
+ T.type_alias do
258
+ T.all(
259
+ Symbol,
260
+ Revox::CampaignLaunchParams::Selection::Filters::Direction
261
+ )
262
+ end
263
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
264
+
265
+ INBOUND =
266
+ T.let(
267
+ :inbound,
268
+ Revox::CampaignLaunchParams::Selection::Filters::Direction::TaggedSymbol
269
+ )
270
+ OUTBOUND =
271
+ T.let(
272
+ :outbound,
273
+ Revox::CampaignLaunchParams::Selection::Filters::Direction::TaggedSymbol
274
+ )
275
+
276
+ sig do
277
+ override.returns(
278
+ T::Array[
279
+ Revox::CampaignLaunchParams::Selection::Filters::Direction::TaggedSymbol
280
+ ]
281
+ )
282
+ end
283
+ def self.values
284
+ end
285
+ end
286
+
287
+ module Outcome
288
+ extend Revox::Internal::Type::Enum
289
+
290
+ TaggedSymbol =
291
+ T.type_alias do
292
+ T.all(
293
+ Symbol,
294
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome
295
+ )
296
+ end
297
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
298
+
299
+ NOT_INTERESTED =
300
+ T.let(
301
+ :not_interested,
302
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::TaggedSymbol
303
+ )
304
+ INTERESTED =
305
+ T.let(
306
+ :interested,
307
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::TaggedSymbol
308
+ )
309
+ COMPLETED =
310
+ T.let(
311
+ :completed,
312
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::TaggedSymbol
313
+ )
314
+ REQUESTED_CALLBACK_LATER =
315
+ T.let(
316
+ :requested_callback_later,
317
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::TaggedSymbol
318
+ )
319
+ NONE =
320
+ T.let(
321
+ :none,
322
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::TaggedSymbol
323
+ )
324
+
325
+ sig do
326
+ override.returns(
327
+ T::Array[
328
+ Revox::CampaignLaunchParams::Selection::Filters::Outcome::TaggedSymbol
329
+ ]
330
+ )
331
+ end
332
+ def self.values
333
+ end
334
+ end
335
+
336
+ module Result
337
+ extend Revox::Internal::Type::Enum
338
+
339
+ TaggedSymbol =
340
+ T.type_alias do
341
+ T.all(
342
+ Symbol,
343
+ Revox::CampaignLaunchParams::Selection::Filters::Result
344
+ )
345
+ end
346
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
347
+
348
+ IVR =
349
+ T.let(
350
+ :IVR,
351
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
352
+ )
353
+ VOICEMAIL =
354
+ T.let(
355
+ :voicemail,
356
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
357
+ )
358
+ HUMAN =
359
+ T.let(
360
+ :human,
361
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
362
+ )
363
+ UNKNOWN =
364
+ T.let(
365
+ :unknown,
366
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
367
+ )
368
+ IOS_SCREENING_FILTER =
369
+ T.let(
370
+ :"ios-screening-filter",
371
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
372
+ )
373
+ NONE =
374
+ T.let(
375
+ :none,
376
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
377
+ )
378
+
379
+ sig do
380
+ override.returns(
381
+ T::Array[
382
+ Revox::CampaignLaunchParams::Selection::Filters::Result::TaggedSymbol
383
+ ]
384
+ )
385
+ end
386
+ def self.values
387
+ end
388
+ end
389
+
390
+ module Status
391
+ extend Revox::Internal::Type::Enum
392
+
393
+ TaggedSymbol =
394
+ T.type_alias do
395
+ T.all(
396
+ Symbol,
397
+ Revox::CampaignLaunchParams::Selection::Filters::Status
398
+ )
399
+ end
400
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
401
+
402
+ INITIALIZING =
403
+ T.let(
404
+ :initializing,
405
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
406
+ )
407
+ QUEUED_FOR_CALLING =
408
+ T.let(
409
+ :queued_for_calling,
410
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
411
+ )
412
+ CALLING =
413
+ T.let(
414
+ :calling,
415
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
416
+ )
417
+ POST_PROCESSING =
418
+ T.let(
419
+ :post_processing,
420
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
421
+ )
422
+ NOT_LAUNCHED =
423
+ T.let(
424
+ :not_launched,
425
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
426
+ )
427
+ SCHEDULED =
428
+ T.let(
429
+ :scheduled,
430
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
431
+ )
432
+ PAUSED =
433
+ T.let(
434
+ :paused,
435
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
436
+ )
437
+ COMPLETED =
438
+ T.let(
439
+ :completed,
440
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
441
+ )
442
+ CANCELLED =
443
+ T.let(
444
+ :cancelled,
445
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
446
+ )
447
+ ERRORED =
448
+ T.let(
449
+ :errored,
450
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
451
+ )
452
+
453
+ sig do
454
+ override.returns(
455
+ T::Array[
456
+ Revox::CampaignLaunchParams::Selection::Filters::Status::TaggedSymbol
457
+ ]
458
+ )
459
+ end
460
+ def self.values
461
+ end
462
+ end
463
+ end
464
+
465
+ class Rows < Revox::Internal::Type::BaseModel
466
+ OrHash =
467
+ T.type_alias do
468
+ T.any(
469
+ Revox::CampaignLaunchParams::Selection::Rows,
470
+ Revox::Internal::AnyHash
471
+ )
472
+ end
473
+
474
+ sig { returns(T::Array[String]) }
475
+ attr_accessor :call_ids
476
+
477
+ sig do
478
+ returns(
479
+ Revox::CampaignLaunchParams::Selection::Rows::Mode::OrSymbol
480
+ )
481
+ end
482
+ attr_accessor :mode
483
+
484
+ sig do
485
+ params(
486
+ call_ids: T::Array[String],
487
+ mode: Revox::CampaignLaunchParams::Selection::Rows::Mode::OrSymbol
488
+ ).returns(T.attached_class)
489
+ end
490
+ def self.new(call_ids:, mode:)
491
+ end
492
+
493
+ sig do
494
+ override.returns(
495
+ {
496
+ call_ids: T::Array[String],
497
+ mode:
498
+ Revox::CampaignLaunchParams::Selection::Rows::Mode::OrSymbol
499
+ }
500
+ )
501
+ end
502
+ def to_hash
503
+ end
504
+
505
+ module Mode
506
+ extend Revox::Internal::Type::Enum
507
+
508
+ TaggedSymbol =
509
+ T.type_alias do
510
+ T.all(
511
+ Symbol,
512
+ Revox::CampaignLaunchParams::Selection::Rows::Mode
513
+ )
514
+ end
515
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
516
+
517
+ ALL_EXCEPT =
518
+ T.let(
519
+ :all_except,
520
+ Revox::CampaignLaunchParams::Selection::Rows::Mode::TaggedSymbol
521
+ )
522
+ ONLY =
523
+ T.let(
524
+ :only,
525
+ Revox::CampaignLaunchParams::Selection::Rows::Mode::TaggedSymbol
526
+ )
527
+
528
+ sig do
529
+ override.returns(
530
+ T::Array[
531
+ Revox::CampaignLaunchParams::Selection::Rows::Mode::TaggedSymbol
532
+ ]
533
+ )
534
+ end
535
+ def self.values
536
+ end
537
+ end
538
+ end
539
+ end
31
540
  end
32
541
  end
33
542
  end