revox 0.1.0 → 0.2.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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +15 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/util.rb +22 -7
  7. data/lib/revox/models/assistant_create_params.rb +1038 -13
  8. data/lib/revox/models/assistant_create_response.rb +1071 -11
  9. data/lib/revox/models/assistant_list_response.rb +1070 -11
  10. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  11. data/lib/revox/models/assistant_update_params.rb +1038 -13
  12. data/lib/revox/models/assistant_update_response.rb +1097 -12
  13. data/lib/revox/models/call_create_params.rb +1065 -13
  14. data/lib/revox/models/call_create_response.rb +1813 -101
  15. data/lib/revox/models/call_retrieve_response.rb +1815 -101
  16. data/lib/revox/models/campaign_create_params.rb +67 -2
  17. data/lib/revox/models/campaign_create_response.rb +1314 -59
  18. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  19. data/lib/revox/models/campaign_get_rows_response.rb +1837 -129
  20. data/lib/revox/models/campaign_list_response.rb +1312 -59
  21. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  22. data/lib/revox/models/users/me_retrieve_response.rb +13 -1
  23. data/lib/revox/models/users/me_update_response.rb +13 -1
  24. data/lib/revox/models/voice_list_response.rb +55 -1
  25. data/lib/revox/models/voice_preview_params.rb +49 -1
  26. data/lib/revox/models.rb +0 -2
  27. data/lib/revox/resources/assistants.rb +116 -8
  28. data/lib/revox/resources/call.rb +0 -29
  29. data/lib/revox/resources/campaigns.rb +12 -17
  30. data/lib/revox/resources/voices.rb +16 -10
  31. data/lib/revox/version.rb +1 -1
  32. data/lib/revox.rb +0 -2
  33. data/rbi/revox/internal/util.rbi +8 -0
  34. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  35. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  36. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  37. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  38. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  39. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  40. data/rbi/revox/models/call_create_params.rbi +2382 -225
  41. data/rbi/revox/models/call_create_response.rbi +4104 -384
  42. data/rbi/revox/models/call_retrieve_response.rbi +4104 -382
  43. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  44. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  45. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  46. data/rbi/revox/models/campaign_get_rows_response.rbi +4135 -410
  47. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  48. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  49. data/rbi/revox/models/users/me_retrieve_response.rbi +13 -3
  50. data/rbi/revox/models/users/me_update_response.rbi +13 -3
  51. data/rbi/revox/models/voice_list_response.rbi +105 -3
  52. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  53. data/rbi/revox/models.rbi +0 -2
  54. data/rbi/revox/resources/assistants.rbi +284 -8
  55. data/rbi/revox/resources/call.rbi +0 -21
  56. data/rbi/revox/resources/campaigns.rbi +12 -19
  57. data/rbi/revox/resources/voices.rbi +17 -9
  58. data/sig/revox/internal/util.rbs +4 -0
  59. data/sig/revox/models/assistant_create_params.rbs +844 -11
  60. data/sig/revox/models/assistant_create_response.rbs +860 -3
  61. data/sig/revox/models/assistant_list_response.rbs +860 -3
  62. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  63. data/sig/revox/models/assistant_update_params.rbs +844 -11
  64. data/sig/revox/models/assistant_update_response.rbs +886 -6
  65. data/sig/revox/models/call_create_params.rbs +847 -13
  66. data/sig/revox/models/call_create_response.rbs +1514 -34
  67. data/sig/revox/models/call_retrieve_response.rbs +1514 -34
  68. data/sig/revox/models/campaign_create_params.rbs +54 -0
  69. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  70. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  71. data/sig/revox/models/campaign_get_rows_response.rbs +1522 -54
  72. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  73. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  74. data/sig/revox/models/users/me_retrieve_response.rbs +8 -3
  75. data/sig/revox/models/users/me_update_response.rbs +8 -3
  76. data/sig/revox/models/voice_list_response.rbs +45 -3
  77. data/sig/revox/models/voice_preview_params.rbs +42 -1
  78. data/sig/revox/models.rbs +0 -2
  79. data/sig/revox/resources/assistants.rbs +56 -2
  80. data/sig/revox/resources/call.rbs +0 -7
  81. data/sig/revox/resources/campaigns.rbs +2 -5
  82. data/sig/revox/resources/voices.rbs +4 -0
  83. metadata +2 -8
  84. data/lib/revox/models/call_list_params.rb +0 -52
  85. data/lib/revox/models/call_list_response.rb +0 -259
  86. data/rbi/revox/models/call_list_params.rbi +0 -94
  87. data/rbi/revox/models/call_list_response.rbi +0 -563
  88. data/sig/revox/models/call_list_params.rbs +0 -63
  89. data/sig/revox/models/call_list_response.rbs +0 -226
@@ -13,11 +13,13 @@ module Revox
13
13
  type call =
14
14
  {
15
15
  id: String,
16
+ assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?,
16
17
  assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?,
17
18
  call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
18
19
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
19
20
  calls_count: Float,
20
21
  campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?,
22
+ contact: Revox::Models::CallRetrieveResponse::Call::Contact,
21
23
  created_at: top,
22
24
  direction: Revox::Models::CallRetrieveResponse::Call::direction,
23
25
  first_sentence_delay_ms: Integer,
@@ -28,14 +30,20 @@ module Revox
28
30
  llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
29
31
  metadata: ::Hash[Symbol, String]?,
30
32
  organization_id: String,
33
+ prompt_variables: ::Hash[Symbol, String]?,
31
34
  scheduled_at: top,
32
35
  status: Revox::Models::CallRetrieveResponse::Call::status,
33
- to_phone_number: String
36
+ to_phone_number: String,
37
+ updated_at: top,
38
+ outcome: Revox::Models::CallRetrieveResponse::Call::outcome?,
39
+ outcome_summary: String?
34
40
  }
35
41
 
36
42
  class Call < Revox::Internal::Type::BaseModel
37
43
  attr_accessor id: String
38
44
 
45
+ attr_accessor assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?
46
+
39
47
  attr_accessor assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?
40
48
 
41
49
  attr_accessor call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt]
@@ -46,6 +54,8 @@ module Revox
46
54
 
47
55
  attr_accessor campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?
48
56
 
57
+ attr_accessor contact: Revox::Models::CallRetrieveResponse::Call::Contact
58
+
49
59
  attr_accessor created_at: top
50
60
 
51
61
  attr_accessor direction: Revox::Models::CallRetrieveResponse::Call::direction
@@ -66,19 +76,29 @@ module Revox
66
76
 
67
77
  attr_accessor organization_id: String
68
78
 
79
+ attr_accessor prompt_variables: ::Hash[Symbol, String]?
80
+
69
81
  attr_accessor scheduled_at: top
70
82
 
71
83
  attr_accessor status: Revox::Models::CallRetrieveResponse::Call::status
72
84
 
73
85
  attr_accessor to_phone_number: String
74
86
 
87
+ attr_accessor updated_at: top
88
+
89
+ attr_accessor outcome: Revox::Models::CallRetrieveResponse::Call::outcome?
90
+
91
+ attr_accessor outcome_summary: String?
92
+
75
93
  def initialize: (
76
94
  id: String,
95
+ assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?,
77
96
  assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?,
78
97
  call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
79
98
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
80
99
  calls_count: Float,
81
100
  campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?,
101
+ contact: Revox::Models::CallRetrieveResponse::Call::Contact,
82
102
  created_at: top,
83
103
  direction: Revox::Models::CallRetrieveResponse::Call::direction,
84
104
  first_sentence_delay_ms: Integer,
@@ -89,18 +109,24 @@ module Revox
89
109
  llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
90
110
  metadata: ::Hash[Symbol, String]?,
91
111
  organization_id: String,
112
+ prompt_variables: ::Hash[Symbol, String]?,
92
113
  scheduled_at: top,
93
114
  status: Revox::Models::CallRetrieveResponse::Call::status,
94
- to_phone_number: String
115
+ to_phone_number: String,
116
+ updated_at: top,
117
+ ?outcome: Revox::Models::CallRetrieveResponse::Call::outcome?,
118
+ ?outcome_summary: String?
95
119
  ) -> void
96
120
 
97
121
  def to_hash: -> {
98
122
  id: String,
123
+ assignee: Revox::Models::CallRetrieveResponse::Call::Assignee?,
99
124
  assistant: Revox::Models::CallRetrieveResponse::Call::Assistant?,
100
125
  call_attempts: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt],
101
126
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::CallRetryConfig?,
102
127
  calls_count: Float,
103
128
  campaign: Revox::Models::CallRetrieveResponse::Call::Campaign?,
129
+ contact: Revox::Models::CallRetrieveResponse::Call::Contact,
104
130
  created_at: top,
105
131
  direction: Revox::Models::CallRetrieveResponse::Call::direction,
106
132
  first_sentence_delay_ms: Integer,
@@ -111,49 +137,125 @@ module Revox
111
137
  llm_model: Revox::Models::CallRetrieveResponse::Call::llm_model,
112
138
  metadata: ::Hash[Symbol, String]?,
113
139
  organization_id: String,
140
+ prompt_variables: ::Hash[Symbol, String]?,
114
141
  scheduled_at: top,
115
142
  status: Revox::Models::CallRetrieveResponse::Call::status,
116
- to_phone_number: String
143
+ to_phone_number: String,
144
+ updated_at: top,
145
+ outcome: Revox::Models::CallRetrieveResponse::Call::outcome?,
146
+ outcome_summary: String?
117
147
  }
118
148
 
149
+ type assignee =
150
+ { id: String, email: String, first_name: String?, last_name: String? }
151
+
152
+ class Assignee < Revox::Internal::Type::BaseModel
153
+ attr_accessor id: String
154
+
155
+ attr_accessor email: String
156
+
157
+ attr_accessor first_name: String?
158
+
159
+ attr_accessor last_name: String?
160
+
161
+ def initialize: (
162
+ id: String,
163
+ email: String,
164
+ first_name: String?,
165
+ last_name: String?
166
+ ) -> void
167
+
168
+ def to_hash: -> {
169
+ id: String,
170
+ email: String,
171
+ first_name: String?,
172
+ last_name: String?
173
+ }
174
+ end
175
+
119
176
  type assistant =
120
177
  {
121
178
  id: String,
179
+ after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?,
180
+ after_call_sms_prompt: String?,
122
181
  background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?,
182
+ background_sound_volume: Float,
123
183
  calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?,
124
184
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?,
185
+ cartesia_dictionary_pronunciation_id: String?,
125
186
  created_at: top,
187
+ custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?,
188
+ email_notification_address: String?,
189
+ email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language,
190
+ email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?,
126
191
  end_of_call_sentence: String?,
127
192
  first_sentence: String?,
128
193
  first_sentence_delay_ms: Integer,
129
194
  first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode,
195
+ from_phone_number: String?,
196
+ human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?,
130
197
  ivr_navigation_enabled: bool,
131
198
  llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model,
199
+ logo_url: String?,
132
200
  max_call_duration_secs: Float,
201
+ max_duration_end_message: String?,
133
202
  name: String,
134
203
  organization_id: String,
204
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?,
135
205
  prompt: String,
206
+ prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?,
207
+ slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?,
208
+ sms_enabled: bool,
209
+ sms_template: String?,
136
210
  structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?,
211
+ structured_output_prompt: String?,
212
+ stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?,
213
+ stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model,
214
+ thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?,
215
+ thinking_sound_probability: Float,
216
+ thinking_sound_volume: Float,
137
217
  transfer_phone_number: String?,
218
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_,
138
219
  updated_at: top,
139
220
  voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?,
140
221
  voicemail_message: String?,
222
+ voicemail_sms_prompt: String?,
223
+ warm_transfer_summary_instructions: String?,
141
224
  webhook_url: String?,
225
+ zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?,
226
+ created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?,
142
227
  faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem],
228
+ is_realestate_assistant: bool,
143
229
  pending_faq_count: Float
144
230
  }
145
231
 
146
232
  class Assistant < Revox::Internal::Type::BaseModel
147
233
  attr_accessor id: String
148
234
 
235
+ attr_accessor after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?
236
+
237
+ attr_accessor after_call_sms_prompt: String?
238
+
149
239
  attr_accessor background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?
150
240
 
241
+ attr_accessor background_sound_volume: Float
242
+
151
243
  attr_accessor calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?
152
244
 
153
245
  attr_accessor call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?
154
246
 
247
+ attr_accessor cartesia_dictionary_pronunciation_id: String?
248
+
155
249
  attr_accessor created_at: top
156
250
 
251
+ attr_accessor custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?
252
+
253
+ attr_accessor email_notification_address: String?
254
+
255
+ attr_accessor email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language
256
+
257
+ attr_accessor email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?
258
+
157
259
  attr_accessor end_of_call_sentence: String?
158
260
 
159
261
  attr_accessor first_sentence: String?
@@ -162,92 +264,219 @@ module Revox
162
264
 
163
265
  attr_accessor first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode
164
266
 
267
+ attr_accessor from_phone_number: String?
268
+
269
+ attr_accessor human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?
270
+
165
271
  attr_accessor ivr_navigation_enabled: bool
166
272
 
167
273
  attr_accessor llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model
168
274
 
275
+ attr_accessor logo_url: String?
276
+
169
277
  attr_accessor max_call_duration_secs: Float
170
278
 
279
+ attr_accessor max_duration_end_message: String?
280
+
171
281
  attr_accessor name: String
172
282
 
173
283
  attr_accessor organization_id: String
174
284
 
285
+ attr_accessor position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?
286
+
175
287
  attr_accessor prompt: String
176
288
 
289
+ attr_accessor prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?
290
+
291
+ attr_accessor slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?
292
+
293
+ attr_accessor sms_enabled: bool
294
+
295
+ attr_accessor sms_template: String?
296
+
177
297
  attr_accessor structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?
178
298
 
299
+ attr_accessor structured_output_prompt: String?
300
+
301
+ attr_accessor stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?
302
+
303
+ attr_accessor stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model
304
+
305
+ attr_accessor thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?
306
+
307
+ attr_accessor thinking_sound_probability: Float
308
+
309
+ attr_accessor thinking_sound_volume: Float
310
+
179
311
  attr_accessor transfer_phone_number: String?
180
312
 
313
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_
314
+
181
315
  attr_accessor updated_at: top
182
316
 
183
317
  attr_accessor voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?
184
318
 
185
319
  attr_accessor voicemail_message: String?
186
320
 
321
+ attr_accessor voicemail_sms_prompt: String?
322
+
323
+ attr_accessor warm_transfer_summary_instructions: String?
324
+
187
325
  attr_accessor webhook_url: String?
188
326
 
327
+ attr_accessor zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?
328
+
329
+ attr_accessor created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?
330
+
189
331
  attr_reader faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem]?
190
332
 
191
333
  def faq_items=: (
192
334
  ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem]
193
335
  ) -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem]
194
336
 
337
+ attr_reader is_realestate_assistant: bool?
338
+
339
+ def is_realestate_assistant=: (bool) -> bool
340
+
195
341
  attr_reader pending_faq_count: Float?
196
342
 
197
343
  def pending_faq_count=: (Float) -> Float
198
344
 
199
345
  def initialize: (
200
346
  id: String,
347
+ after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?,
348
+ after_call_sms_prompt: String?,
201
349
  background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?,
350
+ background_sound_volume: Float,
202
351
  calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?,
203
352
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?,
353
+ cartesia_dictionary_pronunciation_id: String?,
204
354
  created_at: top,
355
+ custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?,
356
+ email_notification_address: String?,
357
+ email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language,
358
+ email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?,
205
359
  end_of_call_sentence: String?,
206
360
  first_sentence: String?,
207
361
  first_sentence_delay_ms: Integer,
208
362
  first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode,
363
+ from_phone_number: String?,
364
+ human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?,
209
365
  ivr_navigation_enabled: bool,
210
366
  llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model,
367
+ logo_url: String?,
211
368
  max_call_duration_secs: Float,
369
+ max_duration_end_message: String?,
212
370
  name: String,
213
371
  organization_id: String,
372
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?,
214
373
  prompt: String,
374
+ prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?,
375
+ slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?,
376
+ sms_enabled: bool,
377
+ sms_template: String?,
215
378
  structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?,
379
+ structured_output_prompt: String?,
380
+ stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?,
381
+ stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model,
382
+ thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?,
383
+ thinking_sound_probability: Float,
384
+ thinking_sound_volume: Float,
216
385
  transfer_phone_number: String?,
386
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_,
217
387
  updated_at: top,
218
388
  voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?,
219
389
  voicemail_message: String?,
390
+ voicemail_sms_prompt: String?,
391
+ warm_transfer_summary_instructions: String?,
220
392
  webhook_url: String?,
393
+ zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?,
394
+ ?created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?,
221
395
  ?faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem],
396
+ ?is_realestate_assistant: bool,
222
397
  ?pending_faq_count: Float
223
398
  ) -> void
224
399
 
225
400
  def to_hash: -> {
226
401
  id: String,
402
+ after_call_sms_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]?,
403
+ after_call_sms_prompt: String?,
227
404
  background_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::background_sound?,
405
+ background_sound_volume: Float,
228
406
  calendly: Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly?,
229
407
  call_retry_config: Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig?,
408
+ cartesia_dictionary_pronunciation_id: String?,
230
409
  created_at: top,
410
+ custom_tools: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool]?,
411
+ email_notification_address: String?,
412
+ email_notification_language: Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language,
413
+ email_notification_outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]?,
231
414
  end_of_call_sentence: String?,
232
415
  first_sentence: String?,
233
416
  first_sentence_delay_ms: Integer,
234
417
  first_sentence_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode,
418
+ from_phone_number: String?,
419
+ human_transfer_mode: Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode?,
235
420
  ivr_navigation_enabled: bool,
236
421
  llm_model: Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model,
422
+ logo_url: String?,
237
423
  max_call_duration_secs: Float,
424
+ max_duration_end_message: String?,
238
425
  name: String,
239
426
  organization_id: String,
427
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::Position?,
240
428
  prompt: String,
429
+ prompt_flow: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow?,
430
+ slack: Revox::Models::CallRetrieveResponse::Call::Assistant::Slack?,
431
+ sms_enabled: bool,
432
+ sms_template: String?,
241
433
  structured_output_config: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig]?,
434
+ structured_output_prompt: String?,
435
+ stt_context: Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext?,
436
+ stt_model: Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model,
437
+ thinking_sound: Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound?,
438
+ thinking_sound_probability: Float,
439
+ thinking_sound_volume: Float,
242
440
  transfer_phone_number: String?,
441
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::type_,
243
442
  updated_at: top,
244
443
  voice: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice?,
245
444
  voicemail_message: String?,
445
+ voicemail_sms_prompt: String?,
446
+ warm_transfer_summary_instructions: String?,
246
447
  webhook_url: String?,
448
+ zoho: Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho?,
449
+ created_by: Revox::Models::CallRetrieveResponse::Call::Assistant::CreatedBy?,
247
450
  faq_items: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem],
451
+ is_realestate_assistant: bool,
248
452
  pending_faq_count: Float
249
453
  }
250
454
 
455
+ type after_call_sms_outcome =
456
+ :not_interested
457
+ | :interested
458
+ | :completed
459
+ | :requested_callback_later
460
+ | :requested_callback_new_number
461
+ | :do_not_contact
462
+ | :ai_averse
463
+ | :none
464
+
465
+ module AfterCallSMSOutcome
466
+ extend Revox::Internal::Type::Enum
467
+
468
+ NOT_INTERESTED: :not_interested
469
+ INTERESTED: :interested
470
+ COMPLETED: :completed
471
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
472
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
473
+ DO_NOT_CONTACT: :do_not_contact
474
+ AI_AVERSE: :ai_averse
475
+ NONE: :none
476
+
477
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::after_call_sms_outcome]
478
+ end
479
+
251
480
  type background_sound = :"audio/office.ogg"
252
481
 
253
482
  module BackgroundSound
@@ -275,12 +504,18 @@ module Revox
275
504
 
276
505
  type call_retry_config =
277
506
  {
507
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day],
508
+ call_twice_in_a_row: bool,
278
509
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow],
279
510
  max_retry_attempts: Integer,
280
511
  timezone: String?
281
512
  }
282
513
 
283
514
  class CallRetryConfig < Revox::Internal::Type::BaseModel
515
+ attr_accessor allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day]
516
+
517
+ attr_accessor call_twice_in_a_row: bool
518
+
284
519
  attr_accessor calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow]
285
520
 
286
521
  attr_accessor max_retry_attempts: Integer
@@ -288,17 +523,44 @@ module Revox
288
523
  attr_accessor timezone: String?
289
524
 
290
525
  def initialize: (
526
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day],
527
+ call_twice_in_a_row: bool,
291
528
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow],
292
529
  max_retry_attempts: Integer,
293
530
  ?timezone: String?
294
531
  ) -> void
295
532
 
296
533
  def to_hash: -> {
534
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day],
535
+ call_twice_in_a_row: bool,
297
536
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow],
298
537
  max_retry_attempts: Integer,
299
538
  timezone: String?
300
539
  }
301
540
 
541
+ type allowed_day =
542
+ :monday
543
+ | :tuesday
544
+ | :wednesday
545
+ | :thursday
546
+ | :friday
547
+ | :saturday
548
+ | :sunday
549
+
550
+ module AllowedDay
551
+ extend Revox::Internal::Type::Enum
552
+
553
+ MONDAY: :monday
554
+ TUESDAY: :tuesday
555
+ WEDNESDAY: :wednesday
556
+ THURSDAY: :thursday
557
+ FRIDAY: :friday
558
+ SATURDAY: :saturday
559
+ SUNDAY: :sunday
560
+
561
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::allowed_day]
562
+ end
563
+
302
564
  type calling_window =
303
565
  {
304
566
  calling_window_end_time: String,
@@ -327,6 +589,189 @@ module Revox
327
589
  end
328
590
  end
329
591
 
592
+ type custom_tool =
593
+ {
594
+ body_template: String?,
595
+ description: String,
596
+ headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header],
597
+ input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema],
598
+ method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_,
599
+ name: String,
600
+ query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam],
601
+ url: String
602
+ }
603
+
604
+ class CustomTool < Revox::Internal::Type::BaseModel
605
+ attr_accessor body_template: String?
606
+
607
+ attr_accessor description: String
608
+
609
+ attr_accessor headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header]
610
+
611
+ attr_accessor input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema]
612
+
613
+ attr_accessor method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_
614
+
615
+ attr_accessor name: String
616
+
617
+ attr_accessor query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam]
618
+
619
+ attr_accessor url: String
620
+
621
+ def initialize: (
622
+ body_template: String?,
623
+ description: String,
624
+ headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header],
625
+ input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema],
626
+ method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_,
627
+ name: String,
628
+ query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam],
629
+ url: String
630
+ ) -> void
631
+
632
+ def to_hash: -> {
633
+ body_template: String?,
634
+ description: String,
635
+ headers: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::Header],
636
+ input_schema: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema],
637
+ method_: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_,
638
+ name: String,
639
+ query_params: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::QueryParam],
640
+ url: String
641
+ }
642
+
643
+ type header = { key: String, value: String }
644
+
645
+ class Header < Revox::Internal::Type::BaseModel
646
+ attr_accessor key: String
647
+
648
+ attr_accessor value: String
649
+
650
+ def initialize: (key: String, value: String) -> void
651
+
652
+ def to_hash: -> { key: String, value: String }
653
+ end
654
+
655
+ type input_schema =
656
+ {
657
+ name: String,
658
+ required: bool,
659
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_,
660
+ description: String,
661
+ enum_options: ::Array[String]
662
+ }
663
+
664
+ class InputSchema < Revox::Internal::Type::BaseModel
665
+ attr_accessor name: String
666
+
667
+ attr_accessor required: bool
668
+
669
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_
670
+
671
+ attr_reader description: String?
672
+
673
+ def description=: (String) -> String
674
+
675
+ attr_reader enum_options: ::Array[String]?
676
+
677
+ def enum_options=: (::Array[String]) -> ::Array[String]
678
+
679
+ def initialize: (
680
+ name: String,
681
+ required: bool,
682
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_,
683
+ ?description: String,
684
+ ?enum_options: ::Array[String]
685
+ ) -> void
686
+
687
+ def to_hash: -> {
688
+ name: String,
689
+ required: bool,
690
+ type: Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_,
691
+ description: String,
692
+ enum_options: ::Array[String]
693
+ }
694
+
695
+ type type_ =
696
+ :string | :number | :boolean | :enum | :date | :datetime
697
+
698
+ module Type
699
+ extend Revox::Internal::Type::Enum
700
+
701
+ STRING: :string
702
+ NUMBER: :number
703
+ BOOLEAN: :boolean
704
+ ENUM: :enum
705
+ DATE: :date
706
+ DATETIME: :datetime
707
+
708
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::InputSchema::type_]
709
+ end
710
+ end
711
+
712
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
713
+
714
+ module Method
715
+ extend Revox::Internal::Type::Enum
716
+
717
+ GET: :GET
718
+ POST: :POST
719
+ PUT: :PUT
720
+ PATCH: :PATCH
721
+ DELETE: :DELETE
722
+
723
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::CustomTool::method_]
724
+ end
725
+
726
+ type query_param = { key: String, value: String }
727
+
728
+ class QueryParam < Revox::Internal::Type::BaseModel
729
+ attr_accessor key: String
730
+
731
+ attr_accessor value: String
732
+
733
+ def initialize: (key: String, value: String) -> void
734
+
735
+ def to_hash: -> { key: String, value: String }
736
+ end
737
+ end
738
+
739
+ type email_notification_language = :en | :fr
740
+
741
+ module EmailNotificationLanguage
742
+ extend Revox::Internal::Type::Enum
743
+
744
+ EN: :en
745
+ FR: :fr
746
+
747
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_language]
748
+ end
749
+
750
+ type email_notification_outcome =
751
+ :not_interested
752
+ | :interested
753
+ | :completed
754
+ | :requested_callback_later
755
+ | :requested_callback_new_number
756
+ | :do_not_contact
757
+ | :ai_averse
758
+ | :none
759
+
760
+ module EmailNotificationOutcome
761
+ extend Revox::Internal::Type::Enum
762
+
763
+ NOT_INTERESTED: :not_interested
764
+ INTERESTED: :interested
765
+ COMPLETED: :completed
766
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
767
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
768
+ DO_NOT_CONTACT: :do_not_contact
769
+ AI_AVERSE: :ai_averse
770
+ NONE: :none
771
+
772
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::email_notification_outcome]
773
+ end
774
+
330
775
  type first_sentence_mode = :generated | :static | :none
331
776
 
332
777
  module FirstSentenceMode
@@ -339,9 +784,22 @@ module Revox
339
784
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::first_sentence_mode]
340
785
  end
341
786
 
787
+ type human_transfer_mode = :warm | :cold
788
+
789
+ module HumanTransferMode
790
+ extend Revox::Internal::Type::Enum
791
+
792
+ WARM: :warm
793
+ COLD: :cold
794
+
795
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::human_transfer_mode]
796
+ end
797
+
342
798
  type llm_model =
343
799
  Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0
344
800
  | Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1
801
+ | Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember2
802
+ | Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3
345
803
 
346
804
  module LlmModel
347
805
  extend Revox::Internal::Type::Union
@@ -406,9 +864,256 @@ module Revox
406
864
  }
407
865
  end
408
866
 
867
+ type union_member2 =
868
+ {
869
+ api_key: String,
870
+ api_url: String,
871
+ model_name: String,
872
+ type: :custom
873
+ }
874
+
875
+ class UnionMember2 < Revox::Internal::Type::BaseModel
876
+ attr_accessor api_key: String
877
+
878
+ attr_accessor api_url: String
879
+
880
+ attr_accessor model_name: String
881
+
882
+ attr_accessor type: :custom
883
+
884
+ def initialize: (
885
+ api_key: String,
886
+ api_url: String,
887
+ model_name: String,
888
+ ?type: :custom
889
+ ) -> void
890
+
891
+ def to_hash: -> {
892
+ api_key: String,
893
+ api_url: String,
894
+ model_name: String,
895
+ type: :custom
896
+ }
897
+ end
898
+
899
+ type union_member3 =
900
+ {
901
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider,
902
+ realtime_model_id: String,
903
+ type: :realtime,
904
+ realtime_voice_id: String
905
+ }
906
+
907
+ class UnionMember3 < Revox::Internal::Type::BaseModel
908
+ attr_accessor provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider
909
+
910
+ attr_accessor realtime_model_id: String
911
+
912
+ attr_accessor type: :realtime
913
+
914
+ attr_reader realtime_voice_id: String?
915
+
916
+ def realtime_voice_id=: (String) -> String
917
+
918
+ def initialize: (
919
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider,
920
+ realtime_model_id: String,
921
+ ?realtime_voice_id: String,
922
+ ?type: :realtime
923
+ ) -> void
924
+
925
+ def to_hash: -> {
926
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider,
927
+ realtime_model_id: String,
928
+ type: :realtime,
929
+ realtime_voice_id: String
930
+ }
931
+
932
+ type provider = :openai | :google
933
+
934
+ module Provider
935
+ extend Revox::Internal::Type::Enum
936
+
937
+ OPENAI: :openai
938
+ GOOGLE: :google
939
+
940
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember3::provider]
941
+ end
942
+ end
943
+
409
944
  def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::llm_model]
410
945
  end
411
946
 
947
+ type position = { x: Float, y_: Float }
948
+
949
+ class Position < Revox::Internal::Type::BaseModel
950
+ attr_accessor x: Float
951
+
952
+ attr_accessor y_: Float
953
+
954
+ def initialize: (x: Float, y_: Float) -> void
955
+
956
+ def to_hash: -> { x: Float, y_: Float }
957
+ end
958
+
959
+ type prompt_flow =
960
+ {
961
+ edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge],
962
+ nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
963
+ }
964
+
965
+ class PromptFlow < Revox::Internal::Type::BaseModel
966
+ attr_accessor edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge]
967
+
968
+ attr_accessor nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
969
+
970
+ def initialize: (
971
+ edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge],
972
+ nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
973
+ ) -> void
974
+
975
+ def to_hash: -> {
976
+ edges: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Edge],
977
+ nodes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node]
978
+ }
979
+
980
+ type edge = { id: String, source: String, target: String }
981
+
982
+ class Edge < Revox::Internal::Type::BaseModel
983
+ attr_accessor id: String
984
+
985
+ attr_accessor source: String
986
+
987
+ attr_accessor target: String
988
+
989
+ def initialize: (
990
+ id: String,
991
+ source: String,
992
+ target: String
993
+ ) -> void
994
+
995
+ def to_hash: -> { id: String, source: String, target: String }
996
+ end
997
+
998
+ type node =
999
+ {
1000
+ id: String,
1001
+ data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data,
1002
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position,
1003
+ type: :promptBlock
1004
+ }
1005
+
1006
+ class Node < Revox::Internal::Type::BaseModel
1007
+ attr_accessor id: String
1008
+
1009
+ attr_accessor data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data
1010
+
1011
+ attr_accessor position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position
1012
+
1013
+ attr_accessor type: :promptBlock
1014
+
1015
+ def initialize: (
1016
+ id: String,
1017
+ data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data,
1018
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position,
1019
+ ?type: :promptBlock
1020
+ ) -> void
1021
+
1022
+ def to_hash: -> {
1023
+ id: String,
1024
+ data: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Data,
1025
+ position: Revox::Models::CallRetrieveResponse::Call::Assistant::PromptFlow::Node::Position,
1026
+ type: :promptBlock
1027
+ }
1028
+
1029
+ type data = { body: String, title: String }
1030
+
1031
+ class Data < Revox::Internal::Type::BaseModel
1032
+ attr_accessor body: String
1033
+
1034
+ attr_accessor title: String
1035
+
1036
+ def initialize: (body: String, title: String) -> void
1037
+
1038
+ def to_hash: -> { body: String, title: String }
1039
+ end
1040
+
1041
+ type position = { x: Float, y_: Float }
1042
+
1043
+ class Position < Revox::Internal::Type::BaseModel
1044
+ attr_accessor x: Float
1045
+
1046
+ attr_accessor y_: Float
1047
+
1048
+ def initialize: (x: Float, y_: Float) -> void
1049
+
1050
+ def to_hash: -> { x: Float, y_: Float }
1051
+ end
1052
+ end
1053
+ end
1054
+
1055
+ type slack =
1056
+ {
1057
+ channel_id: String,
1058
+ connection_id: String,
1059
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome],
1060
+ channel_name: String?,
1061
+ template: String?
1062
+ }
1063
+
1064
+ class Slack < Revox::Internal::Type::BaseModel
1065
+ attr_accessor channel_id: String
1066
+
1067
+ attr_accessor connection_id: String
1068
+
1069
+ attr_accessor outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome]
1070
+
1071
+ attr_accessor channel_name: String?
1072
+
1073
+ attr_accessor template: String?
1074
+
1075
+ def initialize: (
1076
+ channel_id: String,
1077
+ connection_id: String,
1078
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome],
1079
+ ?channel_name: String?,
1080
+ ?template: String?
1081
+ ) -> void
1082
+
1083
+ def to_hash: -> {
1084
+ channel_id: String,
1085
+ connection_id: String,
1086
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome],
1087
+ channel_name: String?,
1088
+ template: String?
1089
+ }
1090
+
1091
+ type outcome =
1092
+ :not_interested
1093
+ | :interested
1094
+ | :completed
1095
+ | :requested_callback_later
1096
+ | :requested_callback_new_number
1097
+ | :do_not_contact
1098
+ | :ai_averse
1099
+ | :none
1100
+
1101
+ module Outcome
1102
+ extend Revox::Internal::Type::Enum
1103
+
1104
+ NOT_INTERESTED: :not_interested
1105
+ INTERESTED: :interested
1106
+ COMPLETED: :completed
1107
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1108
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1109
+ DO_NOT_CONTACT: :do_not_contact
1110
+ AI_AVERSE: :ai_averse
1111
+ NONE: :none
1112
+
1113
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Slack::outcome]
1114
+ end
1115
+ end
1116
+
412
1117
  type structured_output_config =
413
1118
  {
414
1119
  name: String,
@@ -466,11 +1171,93 @@ module Revox
466
1171
  end
467
1172
  end
468
1173
 
1174
+ type stt_context =
1175
+ {
1176
+ general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General],
1177
+ terms: ::Array[String]
1178
+ }
1179
+
1180
+ class SttContext < Revox::Internal::Type::BaseModel
1181
+ attr_accessor general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General]
1182
+
1183
+ attr_accessor terms: ::Array[String]
1184
+
1185
+ def initialize: (
1186
+ general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General],
1187
+ terms: ::Array[String]
1188
+ ) -> void
1189
+
1190
+ def to_hash: -> {
1191
+ general: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::SttContext::General],
1192
+ terms: ::Array[String]
1193
+ }
1194
+
1195
+ type general = { key: String, value: String }
1196
+
1197
+ class General < Revox::Internal::Type::BaseModel
1198
+ attr_accessor key: String
1199
+
1200
+ attr_accessor value: String
1201
+
1202
+ def initialize: (key: String, value: String) -> void
1203
+
1204
+ def to_hash: -> { key: String, value: String }
1205
+ end
1206
+ end
1207
+
1208
+ type stt_model = :"stt-rt-v4" | :"stt-rt-v5"
1209
+
1210
+ module SttModel
1211
+ extend Revox::Internal::Type::Enum
1212
+
1213
+ STT_RT_V4: :"stt-rt-v4"
1214
+ STT_RT_V5: :"stt-rt-v5"
1215
+
1216
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::stt_model]
1217
+ end
1218
+
1219
+ type thinking_sound =
1220
+ :"city-ambience.ogg"
1221
+ | :"forest-ambience.ogg"
1222
+ | :"office-ambience.ogg"
1223
+ | :"crowded-room.ogg"
1224
+ | :"keyboard-typing.ogg"
1225
+ | :"keyboard-typing2.ogg"
1226
+ | :"hold_music.ogg"
1227
+
1228
+ module ThinkingSound
1229
+ extend Revox::Internal::Type::Enum
1230
+
1231
+ CITY_AMBIENCE_OGG: :"city-ambience.ogg"
1232
+ FOREST_AMBIENCE_OGG: :"forest-ambience.ogg"
1233
+ OFFICE_AMBIENCE_OGG: :"office-ambience.ogg"
1234
+ CROWDED_ROOM_OGG: :"crowded-room.ogg"
1235
+ KEYBOARD_TYPING_OGG: :"keyboard-typing.ogg"
1236
+ KEYBOARD_TYPING2_OGG: :"keyboard-typing2.ogg"
1237
+ HOLD_MUSIC_OGG: :"hold_music.ogg"
1238
+
1239
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::thinking_sound]
1240
+ end
1241
+
1242
+ type type_ = :standalone | :"multi-step" | :"sub-assistant"
1243
+
1244
+ module Type
1245
+ extend Revox::Internal::Type::Enum
1246
+
1247
+ STANDALONE: :standalone
1248
+ MULTI_STEP: :"multi-step"
1249
+ SUB_ASSISTANT: :"sub-assistant"
1250
+
1251
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::type_]
1252
+ end
1253
+
469
1254
  type voice =
470
1255
  {
471
1256
  id: String,
472
1257
  provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
473
- speed: Float
1258
+ model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model,
1259
+ speed: Float,
1260
+ volume: Float
474
1261
  }
475
1262
 
476
1263
  class Voice < Revox::Internal::Type::BaseModel
@@ -478,32 +1265,168 @@ module Revox
478
1265
 
479
1266
  attr_accessor provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider
480
1267
 
1268
+ attr_reader model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model?
1269
+
1270
+ def model=: (
1271
+ Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model
1272
+ ) -> Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model
1273
+
481
1274
  attr_reader speed: Float?
482
1275
 
483
1276
  def speed=: (Float) -> Float
484
1277
 
1278
+ attr_reader volume: Float?
1279
+
1280
+ def volume=: (Float) -> Float
1281
+
485
1282
  def initialize: (
486
1283
  id: String,
487
1284
  provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
488
- ?speed: Float
1285
+ ?model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model,
1286
+ ?speed: Float,
1287
+ ?volume: Float
1288
+ ) -> void
1289
+
1290
+ def to_hash: -> {
1291
+ id: String,
1292
+ provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
1293
+ model: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model,
1294
+ speed: Float,
1295
+ volume: Float
1296
+ }
1297
+
1298
+ type provider = :cartesia | :elevenlabs
1299
+
1300
+ module Provider
1301
+ extend Revox::Internal::Type::Enum
1302
+
1303
+ CARTESIA: :cartesia
1304
+ ELEVENLABS: :elevenlabs
1305
+
1306
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider]
1307
+ end
1308
+
1309
+ type model = :"sonic-3" | :"sonic-3.5"
1310
+
1311
+ module Model
1312
+ extend Revox::Internal::Type::Enum
1313
+
1314
+ SONIC_3: :"sonic-3"
1315
+ SONIC_3_5: :"sonic-3.5"
1316
+
1317
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::model]
1318
+ end
1319
+ end
1320
+
1321
+ type zoho =
1322
+ {
1323
+ connection_id: String,
1324
+ field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping],
1325
+ log_call_activity: bool,
1326
+ module_: String,
1327
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome],
1328
+ template: String?
1329
+ }
1330
+
1331
+ class Zoho < Revox::Internal::Type::BaseModel
1332
+ attr_accessor connection_id: String
1333
+
1334
+ attr_accessor field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping]
1335
+
1336
+ attr_accessor log_call_activity: bool
1337
+
1338
+ attr_accessor module_: String
1339
+
1340
+ attr_accessor outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome]
1341
+
1342
+ attr_accessor template: String?
1343
+
1344
+ def initialize: (
1345
+ connection_id: String,
1346
+ field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping],
1347
+ log_call_activity: bool,
1348
+ module_: String,
1349
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome],
1350
+ ?template: String?
1351
+ ) -> void
1352
+
1353
+ def to_hash: -> {
1354
+ connection_id: String,
1355
+ field_mapping: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::FieldMapping],
1356
+ log_call_activity: bool,
1357
+ module_: String,
1358
+ outcomes: ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome],
1359
+ template: String?
1360
+ }
1361
+
1362
+ type field_mapping = { source: String, zoho_field: String }
1363
+
1364
+ class FieldMapping < Revox::Internal::Type::BaseModel
1365
+ attr_accessor source: String
1366
+
1367
+ attr_accessor zoho_field: String
1368
+
1369
+ def initialize: (source: String, zoho_field: String) -> void
1370
+
1371
+ def to_hash: -> { source: String, zoho_field: String }
1372
+ end
1373
+
1374
+ type outcome =
1375
+ :not_interested
1376
+ | :interested
1377
+ | :completed
1378
+ | :requested_callback_later
1379
+ | :requested_callback_new_number
1380
+ | :do_not_contact
1381
+ | :ai_averse
1382
+ | :none
1383
+
1384
+ module Outcome
1385
+ extend Revox::Internal::Type::Enum
1386
+
1387
+ NOT_INTERESTED: :not_interested
1388
+ INTERESTED: :interested
1389
+ COMPLETED: :completed
1390
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1391
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1392
+ DO_NOT_CONTACT: :do_not_contact
1393
+ AI_AVERSE: :ai_averse
1394
+ NONE: :none
1395
+
1396
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Zoho::outcome]
1397
+ end
1398
+ end
1399
+
1400
+ type created_by =
1401
+ {
1402
+ id: String,
1403
+ email: String,
1404
+ first_name: String?,
1405
+ last_name: String?
1406
+ }
1407
+
1408
+ class CreatedBy < Revox::Internal::Type::BaseModel
1409
+ attr_accessor id: String
1410
+
1411
+ attr_accessor email: String
1412
+
1413
+ attr_accessor first_name: String?
1414
+
1415
+ attr_accessor last_name: String?
1416
+
1417
+ def initialize: (
1418
+ id: String,
1419
+ email: String,
1420
+ first_name: String?,
1421
+ last_name: String?
489
1422
  ) -> void
490
1423
 
491
1424
  def to_hash: -> {
492
1425
  id: String,
493
- provider: Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider,
494
- speed: Float
1426
+ email: String,
1427
+ first_name: String?,
1428
+ last_name: String?
495
1429
  }
496
-
497
- type provider = :cartesia | :elevenlabs
498
-
499
- module Provider
500
- extend Revox::Internal::Type::Enum
501
-
502
- CARTESIA: :cartesia
503
- ELEVENLABS: :elevenlabs
504
-
505
- def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::provider]
506
- end
507
1430
  end
508
1431
 
509
1432
  type faq_item =
@@ -574,8 +1497,11 @@ module Revox
574
1497
  result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
575
1498
  started_at: top,
576
1499
  status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
577
- end_reason: String?,
1500
+ assistants_used: ::Array[String]?,
1501
+ end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?,
578
1502
  ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?,
1503
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?,
1504
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?,
579
1505
  structured_output: ::Hash[Symbol, top]?,
580
1506
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
581
1507
  }
@@ -599,10 +1525,16 @@ module Revox
599
1525
 
600
1526
  attr_accessor status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status
601
1527
 
602
- attr_accessor end_reason: String?
1528
+ attr_accessor assistants_used: ::Array[String]?
1529
+
1530
+ attr_accessor end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?
603
1531
 
604
1532
  attr_accessor ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?
605
1533
 
1534
+ attr_accessor post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?
1535
+
1536
+ attr_accessor sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?
1537
+
606
1538
  attr_accessor structured_output: ::Hash[Symbol, top]?
607
1539
 
608
1540
  attr_accessor transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
@@ -617,8 +1549,11 @@ module Revox
617
1549
  result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
618
1550
  started_at: top,
619
1551
  status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
620
- ?end_reason: String?,
1552
+ ?assistants_used: ::Array[String]?,
1553
+ ?end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?,
621
1554
  ?ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?,
1555
+ ?post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?,
1556
+ ?sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?,
622
1557
  ?structured_output: ::Hash[Symbol, top]?,
623
1558
  ?transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
624
1559
  ) -> void
@@ -633,8 +1568,11 @@ module Revox
633
1568
  result: Revox::Models::CallRetrieveResponse::Call::CallAttempt::result?,
634
1569
  started_at: top,
635
1570
  status: Revox::Models::CallRetrieveResponse::Call::CallAttempt::status,
636
- end_reason: String?,
1571
+ assistants_used: ::Array[String]?,
1572
+ end_reason: Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason?,
637
1573
  ended_by: Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by?,
1574
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript]?,
1575
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog]?,
638
1576
  structured_output: ::Hash[Symbol, top]?,
639
1577
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript]?
640
1578
  }
@@ -693,6 +1631,47 @@ module Revox
693
1631
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::status]
694
1632
  end
695
1633
 
1634
+ type end_reason =
1635
+ :client_initiated
1636
+ | :connection_timeout
1637
+ | :human_takeover
1638
+ | :ivr_no_navigate
1639
+ | :max_duration
1640
+ | :participant_removed
1641
+ | :tool_end_call
1642
+ | :transfer
1643
+ | :user_inactive
1644
+ | :user_rejected
1645
+ | :user_unavailable
1646
+ | :voicemail
1647
+ | :speed_dial_abandoned
1648
+ | :speed_dial_operator_missed
1649
+ | :speed_dial_timeout
1650
+ | :speed_dial_hangup
1651
+
1652
+ module EndReason
1653
+ extend Revox::Internal::Type::Enum
1654
+
1655
+ CLIENT_INITIATED: :client_initiated
1656
+ CONNECTION_TIMEOUT: :connection_timeout
1657
+ HUMAN_TAKEOVER: :human_takeover
1658
+ IVR_NO_NAVIGATE: :ivr_no_navigate
1659
+ MAX_DURATION: :max_duration
1660
+ PARTICIPANT_REMOVED: :participant_removed
1661
+ TOOL_END_CALL: :tool_end_call
1662
+ TRANSFER: :transfer
1663
+ USER_INACTIVE: :user_inactive
1664
+ USER_REJECTED: :user_rejected
1665
+ USER_UNAVAILABLE: :user_unavailable
1666
+ VOICEMAIL: :voicemail
1667
+ SPEED_DIAL_ABANDONED: :speed_dial_abandoned
1668
+ SPEED_DIAL_OPERATOR_MISSED: :speed_dial_operator_missed
1669
+ SPEED_DIAL_TIMEOUT: :speed_dial_timeout
1670
+ SPEED_DIAL_HANGUP: :speed_dial_hangup
1671
+
1672
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::end_reason]
1673
+ end
1674
+
696
1675
  type ended_by = :agent | :user | :system
697
1676
 
698
1677
  module EndedBy
@@ -705,13 +1684,143 @@ module Revox
705
1684
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::ended_by]
706
1685
  end
707
1686
 
1687
+ type post_call_transcript =
1688
+ {
1689
+ content: String,
1690
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role,
1691
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments,
1692
+ tool_is_error: bool,
1693
+ tool_name: String,
1694
+ tool_output: String
1695
+ }
1696
+
1697
+ class PostCallTranscript < Revox::Internal::Type::BaseModel
1698
+ attr_accessor content: String
1699
+
1700
+ attr_accessor role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role
1701
+
1702
+ attr_reader tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments?
1703
+
1704
+ def tool_arguments=: (
1705
+ Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments
1706
+ ) -> Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments
1707
+
1708
+ attr_reader tool_is_error: bool?
1709
+
1710
+ def tool_is_error=: (bool) -> bool
1711
+
1712
+ attr_reader tool_name: String?
1713
+
1714
+ def tool_name=: (String) -> String
1715
+
1716
+ attr_reader tool_output: String?
1717
+
1718
+ def tool_output=: (String) -> String
1719
+
1720
+ def initialize: (
1721
+ content: String,
1722
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role,
1723
+ ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments,
1724
+ ?tool_is_error: bool,
1725
+ ?tool_name: String,
1726
+ ?tool_output: String
1727
+ ) -> void
1728
+
1729
+ def to_hash: -> {
1730
+ content: String,
1731
+ role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role,
1732
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments,
1733
+ tool_is_error: bool,
1734
+ tool_name: String,
1735
+ tool_output: String
1736
+ }
1737
+
1738
+ type role = :user | :assistant | :human_agent | :tool
1739
+
1740
+ module Role
1741
+ extend Revox::Internal::Type::Enum
1742
+
1743
+ USER: :user
1744
+ ASSISTANT: :assistant
1745
+ HUMAN_AGENT: :human_agent
1746
+ TOOL: :tool
1747
+
1748
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::role]
1749
+ end
1750
+
1751
+ type tool_arguments = ::Hash[Symbol, top] | String
1752
+
1753
+ module ToolArguments
1754
+ extend Revox::Internal::Type::Union
1755
+
1756
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::PostCallTranscript::tool_arguments]
1757
+
1758
+ UnionMember0Map: Revox::Internal::Type::Converter
1759
+ end
1760
+ end
1761
+
1762
+ type sms_log =
1763
+ {
1764
+ id: String,
1765
+ created_at: top,
1766
+ message_body: String,
1767
+ to_phone_number: String,
1768
+ twilio_message_sid: String?,
1769
+ type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1770
+ }
1771
+
1772
+ class SMSLog < Revox::Internal::Type::BaseModel
1773
+ attr_accessor id: String
1774
+
1775
+ attr_accessor created_at: top
1776
+
1777
+ attr_accessor message_body: String
1778
+
1779
+ attr_accessor to_phone_number: String
1780
+
1781
+ attr_accessor twilio_message_sid: String?
1782
+
1783
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1784
+
1785
+ def initialize: (
1786
+ id: String,
1787
+ created_at: top,
1788
+ message_body: String,
1789
+ to_phone_number: String,
1790
+ twilio_message_sid: String?,
1791
+ type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1792
+ ) -> void
1793
+
1794
+ def to_hash: -> {
1795
+ id: String,
1796
+ created_at: top,
1797
+ message_body: String,
1798
+ to_phone_number: String,
1799
+ twilio_message_sid: String?,
1800
+ type: Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_
1801
+ }
1802
+
1803
+ type type_ = :in_call | :voicemail | :after_call
1804
+
1805
+ module Type
1806
+ extend Revox::Internal::Type::Enum
1807
+
1808
+ IN_CALL: :in_call
1809
+ VOICEMAIL: :voicemail
1810
+ AFTER_CALL: :after_call
1811
+
1812
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::SMSLog::type_]
1813
+ end
1814
+ end
1815
+
708
1816
  type transcript =
709
1817
  {
710
1818
  content: String,
711
1819
  role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
712
1820
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
713
1821
  tool_is_error: bool,
714
- tool_name: String
1822
+ tool_name: String,
1823
+ tool_output: String
715
1824
  }
716
1825
 
717
1826
  class Transcript < Revox::Internal::Type::BaseModel
@@ -733,12 +1842,17 @@ module Revox
733
1842
 
734
1843
  def tool_name=: (String) -> String
735
1844
 
1845
+ attr_reader tool_output: String?
1846
+
1847
+ def tool_output=: (String) -> String
1848
+
736
1849
  def initialize: (
737
1850
  content: String,
738
1851
  role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
739
1852
  ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
740
1853
  ?tool_is_error: bool,
741
- ?tool_name: String
1854
+ ?tool_name: String,
1855
+ ?tool_output: String
742
1856
  ) -> void
743
1857
 
744
1858
  def to_hash: -> {
@@ -746,16 +1860,18 @@ module Revox
746
1860
  role: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role,
747
1861
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::tool_arguments,
748
1862
  tool_is_error: bool,
749
- tool_name: String
1863
+ tool_name: String,
1864
+ tool_output: String
750
1865
  }
751
1866
 
752
- type role = :user | :assistant | :tool
1867
+ type role = :user | :assistant | :human_agent | :tool
753
1868
 
754
1869
  module Role
755
1870
  extend Revox::Internal::Type::Enum
756
1871
 
757
1872
  USER: :user
758
1873
  ASSISTANT: :assistant
1874
+ HUMAN_AGENT: :human_agent
759
1875
  TOOL: :tool
760
1876
 
761
1877
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript::role]
@@ -775,12 +1891,18 @@ module Revox
775
1891
 
776
1892
  type call_retry_config =
777
1893
  {
1894
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day],
1895
+ call_twice_in_a_row: bool,
778
1896
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
779
1897
  max_retry_attempts: Integer,
780
1898
  timezone: String?
781
1899
  }
782
1900
 
783
1901
  class CallRetryConfig < Revox::Internal::Type::BaseModel
1902
+ attr_accessor allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day]
1903
+
1904
+ attr_accessor call_twice_in_a_row: bool
1905
+
784
1906
  attr_accessor calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow]
785
1907
 
786
1908
  attr_accessor max_retry_attempts: Integer
@@ -788,17 +1910,44 @@ module Revox
788
1910
  attr_accessor timezone: String?
789
1911
 
790
1912
  def initialize: (
1913
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day],
1914
+ call_twice_in_a_row: bool,
791
1915
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
792
1916
  max_retry_attempts: Integer,
793
1917
  ?timezone: String?
794
1918
  ) -> void
795
1919
 
796
1920
  def to_hash: -> {
1921
+ allowed_days: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day],
1922
+ call_twice_in_a_row: bool,
797
1923
  calling_windows: ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::CallingWindow],
798
1924
  max_retry_attempts: Integer,
799
1925
  timezone: String?
800
1926
  }
801
1927
 
1928
+ type allowed_day =
1929
+ :monday
1930
+ | :tuesday
1931
+ | :wednesday
1932
+ | :thursday
1933
+ | :friday
1934
+ | :saturday
1935
+ | :sunday
1936
+
1937
+ module AllowedDay
1938
+ extend Revox::Internal::Type::Enum
1939
+
1940
+ MONDAY: :monday
1941
+ TUESDAY: :tuesday
1942
+ WEDNESDAY: :wednesday
1943
+ THURSDAY: :thursday
1944
+ FRIDAY: :friday
1945
+ SATURDAY: :saturday
1946
+ SUNDAY: :sunday
1947
+
1948
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::CallRetryConfig::allowed_day]
1949
+ end
1950
+
802
1951
  type calling_window =
803
1952
  {
804
1953
  calling_window_end_time: String,
@@ -839,6 +1988,38 @@ module Revox
839
1988
  def to_hash: -> { id: String, name: String }
840
1989
  end
841
1990
 
1991
+ type contact =
1992
+ {
1993
+ company: String?,
1994
+ email: String?,
1995
+ first_name: String?,
1996
+ last_name: String?
1997
+ }
1998
+
1999
+ class Contact < Revox::Internal::Type::BaseModel
2000
+ attr_accessor company: String?
2001
+
2002
+ attr_accessor email: String?
2003
+
2004
+ attr_accessor first_name: String?
2005
+
2006
+ attr_accessor last_name: String?
2007
+
2008
+ def initialize: (
2009
+ company: String?,
2010
+ email: String?,
2011
+ first_name: String?,
2012
+ last_name: String?
2013
+ ) -> void
2014
+
2015
+ def to_hash: -> {
2016
+ company: String?,
2017
+ email: String?,
2018
+ first_name: String?,
2019
+ last_name: String?
2020
+ }
2021
+ end
2022
+
842
2023
  type direction = :inbound | :outbound
843
2024
 
844
2025
  module Direction
@@ -861,8 +2042,11 @@ module Revox
861
2042
  result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
862
2043
  started_at: top,
863
2044
  status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
864
- end_reason: String?,
2045
+ assistants_used: ::Array[String]?,
2046
+ end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?,
865
2047
  ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?,
2048
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?,
2049
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?,
866
2050
  structured_output: ::Hash[Symbol, top]?,
867
2051
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
868
2052
  }
@@ -886,10 +2070,16 @@ module Revox
886
2070
 
887
2071
  attr_accessor status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status
888
2072
 
889
- attr_accessor end_reason: String?
2073
+ attr_accessor assistants_used: ::Array[String]?
2074
+
2075
+ attr_accessor end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?
890
2076
 
891
2077
  attr_accessor ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?
892
2078
 
2079
+ attr_accessor post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?
2080
+
2081
+ attr_accessor sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?
2082
+
893
2083
  attr_accessor structured_output: ::Hash[Symbol, top]?
894
2084
 
895
2085
  attr_accessor transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
@@ -904,8 +2094,11 @@ module Revox
904
2094
  result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
905
2095
  started_at: top,
906
2096
  status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
907
- ?end_reason: String?,
2097
+ ?assistants_used: ::Array[String]?,
2098
+ ?end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?,
908
2099
  ?ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?,
2100
+ ?post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?,
2101
+ ?sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?,
909
2102
  ?structured_output: ::Hash[Symbol, top]?,
910
2103
  ?transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
911
2104
  ) -> void
@@ -920,8 +2113,11 @@ module Revox
920
2113
  result: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::result?,
921
2114
  started_at: top,
922
2115
  status: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status,
923
- end_reason: String?,
2116
+ assistants_used: ::Array[String]?,
2117
+ end_reason: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason?,
924
2118
  ended_by: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by?,
2119
+ post_call_transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript]?,
2120
+ sms_log: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog]?,
925
2121
  structured_output: ::Hash[Symbol, top]?,
926
2122
  transcript: ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript]?
927
2123
  }
@@ -980,6 +2176,47 @@ module Revox
980
2176
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::status]
981
2177
  end
982
2178
 
2179
+ type end_reason =
2180
+ :client_initiated
2181
+ | :connection_timeout
2182
+ | :human_takeover
2183
+ | :ivr_no_navigate
2184
+ | :max_duration
2185
+ | :participant_removed
2186
+ | :tool_end_call
2187
+ | :transfer
2188
+ | :user_inactive
2189
+ | :user_rejected
2190
+ | :user_unavailable
2191
+ | :voicemail
2192
+ | :speed_dial_abandoned
2193
+ | :speed_dial_operator_missed
2194
+ | :speed_dial_timeout
2195
+ | :speed_dial_hangup
2196
+
2197
+ module EndReason
2198
+ extend Revox::Internal::Type::Enum
2199
+
2200
+ CLIENT_INITIATED: :client_initiated
2201
+ CONNECTION_TIMEOUT: :connection_timeout
2202
+ HUMAN_TAKEOVER: :human_takeover
2203
+ IVR_NO_NAVIGATE: :ivr_no_navigate
2204
+ MAX_DURATION: :max_duration
2205
+ PARTICIPANT_REMOVED: :participant_removed
2206
+ TOOL_END_CALL: :tool_end_call
2207
+ TRANSFER: :transfer
2208
+ USER_INACTIVE: :user_inactive
2209
+ USER_REJECTED: :user_rejected
2210
+ USER_UNAVAILABLE: :user_unavailable
2211
+ VOICEMAIL: :voicemail
2212
+ SPEED_DIAL_ABANDONED: :speed_dial_abandoned
2213
+ SPEED_DIAL_OPERATOR_MISSED: :speed_dial_operator_missed
2214
+ SPEED_DIAL_TIMEOUT: :speed_dial_timeout
2215
+ SPEED_DIAL_HANGUP: :speed_dial_hangup
2216
+
2217
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::end_reason]
2218
+ end
2219
+
983
2220
  type ended_by = :agent | :user | :system
984
2221
 
985
2222
  module EndedBy
@@ -992,13 +2229,143 @@ module Revox
992
2229
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::ended_by]
993
2230
  end
994
2231
 
2232
+ type post_call_transcript =
2233
+ {
2234
+ content: String,
2235
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role,
2236
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments,
2237
+ tool_is_error: bool,
2238
+ tool_name: String,
2239
+ tool_output: String
2240
+ }
2241
+
2242
+ class PostCallTranscript < Revox::Internal::Type::BaseModel
2243
+ attr_accessor content: String
2244
+
2245
+ attr_accessor role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role
2246
+
2247
+ attr_reader tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments?
2248
+
2249
+ def tool_arguments=: (
2250
+ Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments
2251
+ ) -> Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments
2252
+
2253
+ attr_reader tool_is_error: bool?
2254
+
2255
+ def tool_is_error=: (bool) -> bool
2256
+
2257
+ attr_reader tool_name: String?
2258
+
2259
+ def tool_name=: (String) -> String
2260
+
2261
+ attr_reader tool_output: String?
2262
+
2263
+ def tool_output=: (String) -> String
2264
+
2265
+ def initialize: (
2266
+ content: String,
2267
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role,
2268
+ ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments,
2269
+ ?tool_is_error: bool,
2270
+ ?tool_name: String,
2271
+ ?tool_output: String
2272
+ ) -> void
2273
+
2274
+ def to_hash: -> {
2275
+ content: String,
2276
+ role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role,
2277
+ tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments,
2278
+ tool_is_error: bool,
2279
+ tool_name: String,
2280
+ tool_output: String
2281
+ }
2282
+
2283
+ type role = :user | :assistant | :human_agent | :tool
2284
+
2285
+ module Role
2286
+ extend Revox::Internal::Type::Enum
2287
+
2288
+ USER: :user
2289
+ ASSISTANT: :assistant
2290
+ HUMAN_AGENT: :human_agent
2291
+ TOOL: :tool
2292
+
2293
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::role]
2294
+ end
2295
+
2296
+ type tool_arguments = ::Hash[Symbol, top] | String
2297
+
2298
+ module ToolArguments
2299
+ extend Revox::Internal::Type::Union
2300
+
2301
+ def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::PostCallTranscript::tool_arguments]
2302
+
2303
+ UnionMember0Map: Revox::Internal::Type::Converter
2304
+ end
2305
+ end
2306
+
2307
+ type sms_log =
2308
+ {
2309
+ id: String,
2310
+ created_at: top,
2311
+ message_body: String,
2312
+ to_phone_number: String,
2313
+ twilio_message_sid: String?,
2314
+ type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2315
+ }
2316
+
2317
+ class SMSLog < Revox::Internal::Type::BaseModel
2318
+ attr_accessor id: String
2319
+
2320
+ attr_accessor created_at: top
2321
+
2322
+ attr_accessor message_body: String
2323
+
2324
+ attr_accessor to_phone_number: String
2325
+
2326
+ attr_accessor twilio_message_sid: String?
2327
+
2328
+ attr_accessor type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2329
+
2330
+ def initialize: (
2331
+ id: String,
2332
+ created_at: top,
2333
+ message_body: String,
2334
+ to_phone_number: String,
2335
+ twilio_message_sid: String?,
2336
+ type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2337
+ ) -> void
2338
+
2339
+ def to_hash: -> {
2340
+ id: String,
2341
+ created_at: top,
2342
+ message_body: String,
2343
+ to_phone_number: String,
2344
+ twilio_message_sid: String?,
2345
+ type: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_
2346
+ }
2347
+
2348
+ type type_ = :in_call | :voicemail | :after_call
2349
+
2350
+ module Type
2351
+ extend Revox::Internal::Type::Enum
2352
+
2353
+ IN_CALL: :in_call
2354
+ VOICEMAIL: :voicemail
2355
+ AFTER_CALL: :after_call
2356
+
2357
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::SMSLog::type_]
2358
+ end
2359
+ end
2360
+
995
2361
  type transcript =
996
2362
  {
997
2363
  content: String,
998
2364
  role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
999
2365
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
1000
2366
  tool_is_error: bool,
1001
- tool_name: String
2367
+ tool_name: String,
2368
+ tool_output: String
1002
2369
  }
1003
2370
 
1004
2371
  class Transcript < Revox::Internal::Type::BaseModel
@@ -1020,12 +2387,17 @@ module Revox
1020
2387
 
1021
2388
  def tool_name=: (String) -> String
1022
2389
 
2390
+ attr_reader tool_output: String?
2391
+
2392
+ def tool_output=: (String) -> String
2393
+
1023
2394
  def initialize: (
1024
2395
  content: String,
1025
2396
  role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
1026
2397
  ?tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
1027
2398
  ?tool_is_error: bool,
1028
- ?tool_name: String
2399
+ ?tool_name: String,
2400
+ ?tool_output: String
1029
2401
  ) -> void
1030
2402
 
1031
2403
  def to_hash: -> {
@@ -1033,16 +2405,18 @@ module Revox
1033
2405
  role: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role,
1034
2406
  tool_arguments: Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::tool_arguments,
1035
2407
  tool_is_error: bool,
1036
- tool_name: String
2408
+ tool_name: String,
2409
+ tool_output: String
1037
2410
  }
1038
2411
 
1039
- type role = :user | :assistant | :tool
2412
+ type role = :user | :assistant | :human_agent | :tool
1040
2413
 
1041
2414
  module Role
1042
2415
  extend Revox::Internal::Type::Enum
1043
2416
 
1044
2417
  USER: :user
1045
2418
  ASSISTANT: :assistant
2419
+ HUMAN_AGENT: :human_agent
1046
2420
  TOOL: :tool
1047
2421
 
1048
2422
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript::role]
@@ -1063,6 +2437,8 @@ module Revox
1063
2437
  type llm_model =
1064
2438
  Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0
1065
2439
  | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember1
2440
+ | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember2
2441
+ | Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3
1066
2442
 
1067
2443
  module LlmModel
1068
2444
  extend Revox::Internal::Type::Union
@@ -1127,6 +2503,83 @@ module Revox
1127
2503
  }
1128
2504
  end
1129
2505
 
2506
+ type union_member2 =
2507
+ {
2508
+ api_key: String,
2509
+ api_url: String,
2510
+ model_name: String,
2511
+ type: :custom
2512
+ }
2513
+
2514
+ class UnionMember2 < Revox::Internal::Type::BaseModel
2515
+ attr_accessor api_key: String
2516
+
2517
+ attr_accessor api_url: String
2518
+
2519
+ attr_accessor model_name: String
2520
+
2521
+ attr_accessor type: :custom
2522
+
2523
+ def initialize: (
2524
+ api_key: String,
2525
+ api_url: String,
2526
+ model_name: String,
2527
+ ?type: :custom
2528
+ ) -> void
2529
+
2530
+ def to_hash: -> {
2531
+ api_key: String,
2532
+ api_url: String,
2533
+ model_name: String,
2534
+ type: :custom
2535
+ }
2536
+ end
2537
+
2538
+ type union_member3 =
2539
+ {
2540
+ provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider,
2541
+ realtime_model_id: String,
2542
+ type: :realtime,
2543
+ realtime_voice_id: String
2544
+ }
2545
+
2546
+ class UnionMember3 < Revox::Internal::Type::BaseModel
2547
+ attr_accessor provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider
2548
+
2549
+ attr_accessor realtime_model_id: String
2550
+
2551
+ attr_accessor type: :realtime
2552
+
2553
+ attr_reader realtime_voice_id: String?
2554
+
2555
+ def realtime_voice_id=: (String) -> String
2556
+
2557
+ def initialize: (
2558
+ provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider,
2559
+ realtime_model_id: String,
2560
+ ?realtime_voice_id: String,
2561
+ ?type: :realtime
2562
+ ) -> void
2563
+
2564
+ def to_hash: -> {
2565
+ provider: Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider,
2566
+ realtime_model_id: String,
2567
+ type: :realtime,
2568
+ realtime_voice_id: String
2569
+ }
2570
+
2571
+ type provider = :openai | :google
2572
+
2573
+ module Provider
2574
+ extend Revox::Internal::Type::Enum
2575
+
2576
+ OPENAI: :openai
2577
+ GOOGLE: :google
2578
+
2579
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember3::provider]
2580
+ end
2581
+ end
2582
+
1130
2583
  def self?.variants: -> ::Array[Revox::Models::CallRetrieveResponse::Call::llm_model]
1131
2584
  end
1132
2585
 
@@ -1134,7 +2587,9 @@ module Revox
1134
2587
  :initializing
1135
2588
  | :queued_for_calling
1136
2589
  | :calling
2590
+ | :post_processing
1137
2591
  | :scheduled
2592
+ | :paused
1138
2593
  | :completed
1139
2594
  | :cancelled
1140
2595
  | :errored
@@ -1145,13 +2600,38 @@ module Revox
1145
2600
  INITIALIZING: :initializing
1146
2601
  QUEUED_FOR_CALLING: :queued_for_calling
1147
2602
  CALLING: :calling
2603
+ POST_PROCESSING: :post_processing
1148
2604
  SCHEDULED: :scheduled
2605
+ PAUSED: :paused
1149
2606
  COMPLETED: :completed
1150
2607
  CANCELLED: :cancelled
1151
2608
  ERRORED: :errored
1152
2609
 
1153
2610
  def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::status]
1154
2611
  end
2612
+
2613
+ type outcome =
2614
+ :not_interested
2615
+ | :interested
2616
+ | :completed
2617
+ | :requested_callback_later
2618
+ | :requested_callback_new_number
2619
+ | :do_not_contact
2620
+ | :ai_averse
2621
+
2622
+ module Outcome
2623
+ extend Revox::Internal::Type::Enum
2624
+
2625
+ NOT_INTERESTED: :not_interested
2626
+ INTERESTED: :interested
2627
+ COMPLETED: :completed
2628
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
2629
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
2630
+ DO_NOT_CONTACT: :do_not_contact
2631
+ AI_AVERSE: :ai_averse
2632
+
2633
+ def self?.values: -> ::Array[Revox::Models::CallRetrieveResponse::Call::outcome]
2634
+ end
1155
2635
  end
1156
2636
  end
1157
2637
  end