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.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +63 -22
  4. data/lib/revox/client.rb +4 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/internal/util.rb +31 -0
  7. data/lib/revox/models/assistant_create_params.rb +2 -2
  8. data/lib/revox/models/assistant_delete_params.rb +7 -1
  9. data/lib/revox/models/assistant_retrieve_params.rb +7 -1
  10. data/lib/revox/models/assistant_update_params.rb +10 -3
  11. data/lib/revox/models/call_create_params.rb +2 -2
  12. data/lib/revox/models/call_create_response.rb +720 -12
  13. data/lib/revox/models/call_list_params.rb +30 -7
  14. data/lib/revox/models/call_list_response.rb +63 -1
  15. data/lib/revox/models/call_retrieve_params.rb +7 -1
  16. data/lib/revox/models/call_retrieve_response.rb +723 -12
  17. data/lib/revox/models/campaign_cancel_params.rb +20 -0
  18. data/lib/revox/models/campaign_cancel_response.rb +16 -0
  19. data/lib/revox/models/campaign_create_params.rb +174 -0
  20. data/lib/revox/models/campaign_create_response.rb +775 -0
  21. data/lib/revox/models/campaign_delete_params.rb +20 -0
  22. data/lib/revox/models/campaign_delete_response.rb +16 -0
  23. data/lib/revox/models/campaign_export_rows_params.rb +20 -0
  24. data/lib/revox/models/campaign_export_rows_response.rb +22 -0
  25. data/lib/revox/models/campaign_get_rows_params.rb +65 -0
  26. data/lib/revox/models/campaign_get_rows_response.rb +1468 -0
  27. data/lib/revox/models/campaign_list_params.rb +14 -0
  28. data/lib/revox/models/campaign_list_response.rb +771 -0
  29. data/lib/revox/models/campaign_retrieve_params.rb +20 -0
  30. data/lib/revox/models/campaign_retrieve_response.rb +776 -0
  31. data/lib/revox/models/voice_preview_params.rb +1 -9
  32. data/lib/revox/models/voice_retrieve_params.rb +7 -1
  33. data/lib/revox/models.rb +14 -0
  34. data/lib/revox/resources/assistants.rb +26 -2
  35. data/lib/revox/resources/call.rb +20 -8
  36. data/lib/revox/resources/campaigns.rb +181 -0
  37. data/lib/revox/resources/voices.rb +12 -8
  38. data/lib/revox/version.rb +1 -1
  39. data/lib/revox.rb +15 -0
  40. data/rbi/revox/client.rbi +3 -0
  41. data/rbi/revox/internal/util.rbi +20 -0
  42. data/rbi/revox/models/assistant_create_params.rbi +3 -5
  43. data/rbi/revox/models/assistant_delete_params.rbi +11 -5
  44. data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
  45. data/rbi/revox/models/assistant_update_params.rbi +9 -5
  46. data/rbi/revox/models/call_create_params.rbi +3 -5
  47. data/rbi/revox/models/call_create_response.rbi +1537 -11
  48. data/rbi/revox/models/call_list_params.rbi +53 -6
  49. data/rbi/revox/models/call_list_response.rbi +162 -0
  50. data/rbi/revox/models/call_retrieve_params.rbi +11 -5
  51. data/rbi/revox/models/call_retrieve_response.rbi +1543 -11
  52. data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
  53. data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
  54. data/rbi/revox/models/campaign_create_params.rbi +297 -0
  55. data/rbi/revox/models/campaign_create_response.rbi +1490 -0
  56. data/rbi/revox/models/campaign_delete_params.rbi +33 -0
  57. data/rbi/revox/models/campaign_delete_response.rbi +23 -0
  58. data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
  59. data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
  60. data/rbi/revox/models/campaign_get_rows_params.rbi +113 -0
  61. data/rbi/revox/models/campaign_get_rows_response.rbi +2981 -0
  62. data/rbi/revox/models/campaign_list_params.rbi +27 -0
  63. data/rbi/revox/models/campaign_list_response.rbi +1482 -0
  64. data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
  65. data/rbi/revox/models/campaign_retrieve_response.rbi +1495 -0
  66. data/rbi/revox/models/voice_preview_params.rbi +0 -11
  67. data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
  68. data/rbi/revox/models.rbi +14 -0
  69. data/rbi/revox/resources/assistants.rbi +21 -2
  70. data/rbi/revox/resources/call.rbi +18 -6
  71. data/rbi/revox/resources/campaigns.rbi +128 -0
  72. data/rbi/revox/resources/voices.rbi +9 -7
  73. data/sig/revox/client.rbs +2 -0
  74. data/sig/revox/internal/util.rbs +10 -0
  75. data/sig/revox/models/assistant_create_params.rbs +8 -4
  76. data/sig/revox/models/assistant_delete_params.rbs +8 -3
  77. data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
  78. data/sig/revox/models/assistant_update_params.rbs +13 -4
  79. data/sig/revox/models/call_create_params.rbs +8 -4
  80. data/sig/revox/models/call_create_response.rbs +615 -8
  81. data/sig/revox/models/call_list_params.rbs +42 -7
  82. data/sig/revox/models/call_list_response.rbs +57 -2
  83. data/sig/revox/models/call_retrieve_params.rbs +9 -3
  84. data/sig/revox/models/call_retrieve_response.rbs +615 -8
  85. data/sig/revox/models/campaign_cancel_params.rbs +20 -0
  86. data/sig/revox/models/campaign_cancel_response.rbs +13 -0
  87. data/sig/revox/models/campaign_create_params.rbs +149 -0
  88. data/sig/revox/models/campaign_create_response.rbs +666 -0
  89. data/sig/revox/models/campaign_delete_params.rbs +20 -0
  90. data/sig/revox/models/campaign_delete_response.rbs +13 -0
  91. data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
  92. data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
  93. data/sig/revox/models/campaign_get_rows_params.rbs +82 -0
  94. data/sig/revox/models/campaign_get_rows_response.rbs +1220 -0
  95. data/sig/revox/models/campaign_list_params.rbs +14 -0
  96. data/sig/revox/models/campaign_list_response.rbs +666 -0
  97. data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
  98. data/sig/revox/models/campaign_retrieve_response.rbs +666 -0
  99. data/sig/revox/models/voice_preview_params.rbs +1 -8
  100. data/sig/revox/models/voice_retrieve_params.rbs +5 -1
  101. data/sig/revox/models.rbs +14 -0
  102. data/sig/revox/resources/assistants.rbs +2 -2
  103. data/sig/revox/resources/call.rbs +3 -2
  104. data/sig/revox/resources/campaigns.rbs +52 -0
  105. data/sig/revox/resources/voices.rbs +0 -1
  106. metadata +47 -2
@@ -0,0 +1,666 @@
1
+ module Revox
2
+ module Models
3
+ type campaign_retrieve_response =
4
+ { campaign: Revox::Models::CampaignRetrieveResponse::Campaign }
5
+
6
+ class CampaignRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ attr_accessor campaign: Revox::Models::CampaignRetrieveResponse::Campaign
8
+
9
+ def initialize: (
10
+ campaign: Revox::Models::CampaignRetrieveResponse::Campaign
11
+ ) -> void
12
+
13
+ def to_hash: -> {
14
+ campaign: Revox::Models::CampaignRetrieveResponse::Campaign
15
+ }
16
+
17
+ type campaign =
18
+ {
19
+ id: String,
20
+ assistant_id: String,
21
+ created_at: top,
22
+ is_cancelled: bool,
23
+ name: String,
24
+ organization_id: String,
25
+ status: Revox::Models::CampaignRetrieveResponse::Campaign::status,
26
+ updated_at: top,
27
+ assistant: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant,
28
+ call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig?,
29
+ from_phone_number: String?,
30
+ max_concurrent_calls: Float?,
31
+ row_stats: Revox::Models::CampaignRetrieveResponse::Campaign::RowStats,
32
+ scheduled_at: top
33
+ }
34
+
35
+ class Campaign < Revox::Internal::Type::BaseModel
36
+ attr_accessor id: String
37
+
38
+ attr_accessor assistant_id: String
39
+
40
+ attr_accessor created_at: top
41
+
42
+ attr_accessor is_cancelled: bool
43
+
44
+ attr_accessor name: String
45
+
46
+ attr_accessor organization_id: String
47
+
48
+ attr_accessor status: Revox::Models::CampaignRetrieveResponse::Campaign::status
49
+
50
+ attr_accessor updated_at: top
51
+
52
+ attr_reader assistant: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant?
53
+
54
+ def assistant=: (
55
+ Revox::Models::CampaignRetrieveResponse::Campaign::Assistant
56
+ ) -> Revox::Models::CampaignRetrieveResponse::Campaign::Assistant
57
+
58
+ attr_accessor call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig?
59
+
60
+ attr_accessor from_phone_number: String?
61
+
62
+ attr_accessor max_concurrent_calls: Float?
63
+
64
+ attr_reader row_stats: Revox::Models::CampaignRetrieveResponse::Campaign::RowStats?
65
+
66
+ def row_stats=: (
67
+ Revox::Models::CampaignRetrieveResponse::Campaign::RowStats
68
+ ) -> Revox::Models::CampaignRetrieveResponse::Campaign::RowStats
69
+
70
+ attr_reader scheduled_at: top?
71
+
72
+ def scheduled_at=: (top) -> top
73
+
74
+ def initialize: (
75
+ id: String,
76
+ assistant_id: String,
77
+ created_at: top,
78
+ is_cancelled: bool,
79
+ name: String,
80
+ organization_id: String,
81
+ status: Revox::Models::CampaignRetrieveResponse::Campaign::status,
82
+ updated_at: top,
83
+ ?assistant: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant,
84
+ ?call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig?,
85
+ ?from_phone_number: String?,
86
+ ?max_concurrent_calls: Float?,
87
+ ?row_stats: Revox::Models::CampaignRetrieveResponse::Campaign::RowStats,
88
+ ?scheduled_at: top
89
+ ) -> void
90
+
91
+ def to_hash: -> {
92
+ id: String,
93
+ assistant_id: String,
94
+ created_at: top,
95
+ is_cancelled: bool,
96
+ name: String,
97
+ organization_id: String,
98
+ status: Revox::Models::CampaignRetrieveResponse::Campaign::status,
99
+ updated_at: top,
100
+ assistant: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant,
101
+ call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig?,
102
+ from_phone_number: String?,
103
+ max_concurrent_calls: Float?,
104
+ row_stats: Revox::Models::CampaignRetrieveResponse::Campaign::RowStats,
105
+ scheduled_at: top
106
+ }
107
+
108
+ type status = :draft | :running | :paused | :completed
109
+
110
+ module Status
111
+ extend Revox::Internal::Type::Enum
112
+
113
+ DRAFT: :draft
114
+ RUNNING: :running
115
+ PAUSED: :paused
116
+ COMPLETED: :completed
117
+
118
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::status]
119
+ end
120
+
121
+ type assistant =
122
+ {
123
+ id: String,
124
+ background_sound: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::background_sound?,
125
+ calendly: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Calendly?,
126
+ call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig?,
127
+ created_at: top,
128
+ end_of_call_sentence: String?,
129
+ first_sentence: String?,
130
+ first_sentence_delay_ms: Integer,
131
+ first_sentence_mode: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::first_sentence_mode,
132
+ ivr_navigation_enabled: bool,
133
+ llm_model: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::llm_model,
134
+ max_call_duration_secs: Float,
135
+ name: String,
136
+ organization_id: String,
137
+ prompt: String,
138
+ structured_output_config: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig]?,
139
+ transfer_phone_number: String?,
140
+ updated_at: top,
141
+ voice: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice?,
142
+ voicemail_message: String?,
143
+ webhook_url: String?,
144
+ faq_items: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem],
145
+ pending_faq_count: Float
146
+ }
147
+
148
+ class Assistant < Revox::Internal::Type::BaseModel
149
+ attr_accessor id: String
150
+
151
+ attr_accessor background_sound: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::background_sound?
152
+
153
+ attr_accessor calendly: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Calendly?
154
+
155
+ attr_accessor call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig?
156
+
157
+ attr_accessor created_at: top
158
+
159
+ attr_accessor end_of_call_sentence: String?
160
+
161
+ attr_accessor first_sentence: String?
162
+
163
+ attr_accessor first_sentence_delay_ms: Integer
164
+
165
+ attr_accessor first_sentence_mode: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::first_sentence_mode
166
+
167
+ attr_accessor ivr_navigation_enabled: bool
168
+
169
+ attr_accessor llm_model: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::llm_model
170
+
171
+ attr_accessor max_call_duration_secs: Float
172
+
173
+ attr_accessor name: String
174
+
175
+ attr_accessor organization_id: String
176
+
177
+ attr_accessor prompt: String
178
+
179
+ attr_accessor structured_output_config: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig]?
180
+
181
+ attr_accessor transfer_phone_number: String?
182
+
183
+ attr_accessor updated_at: top
184
+
185
+ attr_accessor voice: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice?
186
+
187
+ attr_accessor voicemail_message: String?
188
+
189
+ attr_accessor webhook_url: String?
190
+
191
+ attr_reader faq_items: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem]?
192
+
193
+ def faq_items=: (
194
+ ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem]
195
+ ) -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem]
196
+
197
+ attr_reader pending_faq_count: Float?
198
+
199
+ def pending_faq_count=: (Float) -> Float
200
+
201
+ def initialize: (
202
+ id: String,
203
+ background_sound: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::background_sound?,
204
+ calendly: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Calendly?,
205
+ call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig?,
206
+ created_at: top,
207
+ end_of_call_sentence: String?,
208
+ first_sentence: String?,
209
+ first_sentence_delay_ms: Integer,
210
+ first_sentence_mode: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::first_sentence_mode,
211
+ ivr_navigation_enabled: bool,
212
+ llm_model: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::llm_model,
213
+ max_call_duration_secs: Float,
214
+ name: String,
215
+ organization_id: String,
216
+ prompt: String,
217
+ structured_output_config: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig]?,
218
+ transfer_phone_number: String?,
219
+ updated_at: top,
220
+ voice: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice?,
221
+ voicemail_message: String?,
222
+ webhook_url: String?,
223
+ ?faq_items: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem],
224
+ ?pending_faq_count: Float
225
+ ) -> void
226
+
227
+ def to_hash: -> {
228
+ id: String,
229
+ background_sound: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::background_sound?,
230
+ calendly: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Calendly?,
231
+ call_retry_config: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig?,
232
+ created_at: top,
233
+ end_of_call_sentence: String?,
234
+ first_sentence: String?,
235
+ first_sentence_delay_ms: Integer,
236
+ first_sentence_mode: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::first_sentence_mode,
237
+ ivr_navigation_enabled: bool,
238
+ llm_model: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::llm_model,
239
+ max_call_duration_secs: Float,
240
+ name: String,
241
+ organization_id: String,
242
+ prompt: String,
243
+ structured_output_config: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig]?,
244
+ transfer_phone_number: String?,
245
+ updated_at: top,
246
+ voice: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice?,
247
+ voicemail_message: String?,
248
+ webhook_url: String?,
249
+ faq_items: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem],
250
+ pending_faq_count: Float
251
+ }
252
+
253
+ type background_sound = :"audio/office.ogg"
254
+
255
+ module BackgroundSound
256
+ extend Revox::Internal::Type::Enum
257
+
258
+ AUDIO_OFFICE_OGG: :"audio/office.ogg"
259
+
260
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::background_sound]
261
+ end
262
+
263
+ type calendly = { connection_id: String, event_type_id: String }
264
+
265
+ class Calendly < Revox::Internal::Type::BaseModel
266
+ attr_accessor connection_id: String
267
+
268
+ attr_accessor event_type_id: String
269
+
270
+ def initialize: (
271
+ connection_id: String,
272
+ event_type_id: String
273
+ ) -> void
274
+
275
+ def to_hash: -> { connection_id: String, event_type_id: String }
276
+ end
277
+
278
+ type call_retry_config =
279
+ {
280
+ calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig::CallingWindow],
281
+ max_retry_attempts: Integer,
282
+ timezone: String?
283
+ }
284
+
285
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
286
+ attr_accessor calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig::CallingWindow]
287
+
288
+ attr_accessor max_retry_attempts: Integer
289
+
290
+ attr_accessor timezone: String?
291
+
292
+ def initialize: (
293
+ calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig::CallingWindow],
294
+ max_retry_attempts: Integer,
295
+ ?timezone: String?
296
+ ) -> void
297
+
298
+ def to_hash: -> {
299
+ calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::CallRetryConfig::CallingWindow],
300
+ max_retry_attempts: Integer,
301
+ timezone: String?
302
+ }
303
+
304
+ type calling_window =
305
+ {
306
+ calling_window_end_time: String,
307
+ calling_window_start_time: String,
308
+ retry_delay_seconds: Integer
309
+ }
310
+
311
+ class CallingWindow < Revox::Internal::Type::BaseModel
312
+ attr_accessor calling_window_end_time: String
313
+
314
+ attr_accessor calling_window_start_time: String
315
+
316
+ attr_accessor retry_delay_seconds: Integer
317
+
318
+ def initialize: (
319
+ calling_window_end_time: String,
320
+ calling_window_start_time: String,
321
+ retry_delay_seconds: Integer
322
+ ) -> void
323
+
324
+ def to_hash: -> {
325
+ calling_window_end_time: String,
326
+ calling_window_start_time: String,
327
+ retry_delay_seconds: Integer
328
+ }
329
+ end
330
+ end
331
+
332
+ type first_sentence_mode = :generated | :static | :none
333
+
334
+ module FirstSentenceMode
335
+ extend Revox::Internal::Type::Enum
336
+
337
+ GENERATED: :generated
338
+ STATIC: :static
339
+ NONE: :none
340
+
341
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::first_sentence_mode]
342
+ end
343
+
344
+ type llm_model =
345
+ Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember0
346
+ | Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember1
347
+
348
+ module LlmModel
349
+ extend Revox::Internal::Type::Union
350
+
351
+ type union_member0 =
352
+ {
353
+ name: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember0::name_,
354
+ type: :"dedicated-instance"
355
+ }
356
+
357
+ class UnionMember0 < Revox::Internal::Type::BaseModel
358
+ attr_accessor name: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember0::name_
359
+
360
+ attr_accessor type: :"dedicated-instance"
361
+
362
+ def initialize: (
363
+ name: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember0::name_,
364
+ ?type: :"dedicated-instance"
365
+ ) -> void
366
+
367
+ def to_hash: -> {
368
+ name: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember0::name_,
369
+ type: :"dedicated-instance"
370
+ }
371
+
372
+ type name_ = :"gpt-4.1" | :"ministral-3-8b-instruct"
373
+
374
+ module Name
375
+ extend Revox::Internal::Type::Enum
376
+
377
+ GPT_4_1: :"gpt-4.1"
378
+ MINISTRAL_3_8B_INSTRUCT: :"ministral-3-8b-instruct"
379
+
380
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::LlmModel::UnionMember0::name_]
381
+ end
382
+ end
383
+
384
+ type union_member1 =
385
+ {
386
+ openrouter_model_id: String,
387
+ openrouter_provider: String,
388
+ type: :openrouter
389
+ }
390
+
391
+ class UnionMember1 < Revox::Internal::Type::BaseModel
392
+ attr_accessor openrouter_model_id: String
393
+
394
+ attr_accessor openrouter_provider: String
395
+
396
+ attr_accessor type: :openrouter
397
+
398
+ def initialize: (
399
+ openrouter_model_id: String,
400
+ openrouter_provider: String,
401
+ ?type: :openrouter
402
+ ) -> void
403
+
404
+ def to_hash: -> {
405
+ openrouter_model_id: String,
406
+ openrouter_provider: String,
407
+ type: :openrouter
408
+ }
409
+ end
410
+
411
+ def self?.variants: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::llm_model]
412
+ end
413
+
414
+ type structured_output_config =
415
+ {
416
+ name: String,
417
+ required: bool,
418
+ type: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig::type_,
419
+ description: String,
420
+ enum_options: ::Array[String]
421
+ }
422
+
423
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
424
+ attr_accessor name: String
425
+
426
+ attr_accessor required: bool
427
+
428
+ attr_accessor type: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig::type_
429
+
430
+ attr_reader description: String?
431
+
432
+ def description=: (String) -> String
433
+
434
+ attr_reader enum_options: ::Array[String]?
435
+
436
+ def enum_options=: (::Array[String]) -> ::Array[String]
437
+
438
+ def initialize: (
439
+ name: String,
440
+ required: bool,
441
+ type: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig::type_,
442
+ ?description: String,
443
+ ?enum_options: ::Array[String]
444
+ ) -> void
445
+
446
+ def to_hash: -> {
447
+ name: String,
448
+ required: bool,
449
+ type: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig::type_,
450
+ description: String,
451
+ enum_options: ::Array[String]
452
+ }
453
+
454
+ type type_ =
455
+ :string | :number | :boolean | :enum | :date | :datetime
456
+
457
+ module Type
458
+ extend Revox::Internal::Type::Enum
459
+
460
+ STRING: :string
461
+ NUMBER: :number
462
+ BOOLEAN: :boolean
463
+ ENUM: :enum
464
+ DATE: :date
465
+ DATETIME: :datetime
466
+
467
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::StructuredOutputConfig::type_]
468
+ end
469
+ end
470
+
471
+ type voice =
472
+ {
473
+ id: String,
474
+ provider: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice::provider,
475
+ speed: Float
476
+ }
477
+
478
+ class Voice < Revox::Internal::Type::BaseModel
479
+ attr_accessor id: String
480
+
481
+ attr_accessor provider: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice::provider
482
+
483
+ attr_reader speed: Float?
484
+
485
+ def speed=: (Float) -> Float
486
+
487
+ def initialize: (
488
+ id: String,
489
+ provider: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice::provider,
490
+ ?speed: Float
491
+ ) -> void
492
+
493
+ def to_hash: -> {
494
+ id: String,
495
+ provider: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice::provider,
496
+ speed: Float
497
+ }
498
+
499
+ type provider = :cartesia | :elevenlabs
500
+
501
+ module Provider
502
+ extend Revox::Internal::Type::Enum
503
+
504
+ CARTESIA: :cartesia
505
+ ELEVENLABS: :elevenlabs
506
+
507
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::Voice::provider]
508
+ end
509
+ end
510
+
511
+ type faq_item =
512
+ {
513
+ answer: String,
514
+ question: String,
515
+ id: String,
516
+ needs_human_answer: bool,
517
+ source: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source
518
+ }
519
+
520
+ class FaqItem < Revox::Internal::Type::BaseModel
521
+ attr_accessor answer: String
522
+
523
+ attr_accessor question: String
524
+
525
+ attr_reader id: String?
526
+
527
+ def id=: (String) -> String
528
+
529
+ attr_reader needs_human_answer: bool?
530
+
531
+ def needs_human_answer=: (bool) -> bool
532
+
533
+ attr_reader source: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source?
534
+
535
+ def source=: (
536
+ Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source
537
+ ) -> Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source
538
+
539
+ def initialize: (
540
+ answer: String,
541
+ question: String,
542
+ ?id: String,
543
+ ?needs_human_answer: bool,
544
+ ?source: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source
545
+ ) -> void
546
+
547
+ def to_hash: -> {
548
+ answer: String,
549
+ question: String,
550
+ id: String,
551
+ needs_human_answer: bool,
552
+ source: Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source
553
+ }
554
+
555
+ type source = :human | :ai
556
+
557
+ module Source
558
+ extend Revox::Internal::Type::Enum
559
+
560
+ HUMAN: :human
561
+ AI: :ai
562
+
563
+ def self?.values: -> ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::Assistant::FaqItem::source]
564
+ end
565
+ end
566
+ end
567
+
568
+ type call_retry_config =
569
+ {
570
+ calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig::CallingWindow],
571
+ max_retry_attempts: Integer,
572
+ timezone: String?
573
+ }
574
+
575
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
576
+ attr_accessor calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig::CallingWindow]
577
+
578
+ attr_accessor max_retry_attempts: Integer
579
+
580
+ attr_accessor timezone: String?
581
+
582
+ def initialize: (
583
+ calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig::CallingWindow],
584
+ max_retry_attempts: Integer,
585
+ ?timezone: String?
586
+ ) -> void
587
+
588
+ def to_hash: -> {
589
+ calling_windows: ::Array[Revox::Models::CampaignRetrieveResponse::Campaign::CallRetryConfig::CallingWindow],
590
+ max_retry_attempts: Integer,
591
+ timezone: String?
592
+ }
593
+
594
+ type calling_window =
595
+ {
596
+ calling_window_end_time: String,
597
+ calling_window_start_time: String,
598
+ retry_delay_seconds: Integer
599
+ }
600
+
601
+ class CallingWindow < Revox::Internal::Type::BaseModel
602
+ attr_accessor calling_window_end_time: String
603
+
604
+ attr_accessor calling_window_start_time: String
605
+
606
+ attr_accessor retry_delay_seconds: Integer
607
+
608
+ def initialize: (
609
+ calling_window_end_time: String,
610
+ calling_window_start_time: String,
611
+ retry_delay_seconds: Integer
612
+ ) -> void
613
+
614
+ def to_hash: -> {
615
+ calling_window_end_time: String,
616
+ calling_window_start_time: String,
617
+ retry_delay_seconds: Integer
618
+ }
619
+ end
620
+ end
621
+
622
+ type row_stats =
623
+ {
624
+ calling: Float,
625
+ completed: Float,
626
+ failed: Float,
627
+ pending: Float,
628
+ retry_: Float,
629
+ total: Float
630
+ }
631
+
632
+ class RowStats < Revox::Internal::Type::BaseModel
633
+ attr_accessor calling: Float
634
+
635
+ attr_accessor completed: Float
636
+
637
+ attr_accessor failed: Float
638
+
639
+ attr_accessor pending: Float
640
+
641
+ attr_accessor retry_: Float
642
+
643
+ attr_accessor total: Float
644
+
645
+ def initialize: (
646
+ calling: Float,
647
+ completed: Float,
648
+ failed: Float,
649
+ pending: Float,
650
+ retry_: Float,
651
+ total: Float
652
+ ) -> void
653
+
654
+ def to_hash: -> {
655
+ calling: Float,
656
+ completed: Float,
657
+ failed: Float,
658
+ pending: Float,
659
+ retry_: Float,
660
+ total: Float
661
+ }
662
+ end
663
+ end
664
+ end
665
+ end
666
+ end
@@ -3,8 +3,7 @@ module Revox
3
3
  type voice_preview_params =
4
4
  {
5
5
  provider: Revox::Models::VoicePreviewParams::provider,
6
- voice_id: String,
7
- text: String
6
+ voice_id: String
8
7
  }
9
8
  & Revox::Internal::Type::request_parameters
10
9
 
@@ -16,21 +15,15 @@ module Revox
16
15
 
17
16
  attr_accessor voice_id: String
18
17
 
19
- attr_reader text: String?
20
-
21
- def text=: (String) -> String
22
-
23
18
  def initialize: (
24
19
  provider: Revox::Models::VoicePreviewParams::provider,
25
20
  voice_id: String,
26
- ?text: String,
27
21
  ?request_options: Revox::request_opts
28
22
  ) -> void
29
23
 
30
24
  def to_hash: -> {
31
25
  provider: Revox::Models::VoicePreviewParams::provider,
32
26
  voice_id: String,
33
- text: String,
34
27
  request_options: Revox::RequestOptions
35
28
  }
36
29