revox 0.2.0 → 0.4.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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +38 -38
  4. data/lib/revox/client.rb +8 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/models/assistant_clone_params.rb +20 -0
  7. data/lib/revox/models/assistant_clone_response.rb +1616 -0
  8. data/lib/revox/models/assistant_create_params.rb +90 -66
  9. data/lib/revox/models/assistant_create_response.rb +87 -65
  10. data/lib/revox/models/assistant_list_response.rb +87 -65
  11. data/lib/revox/models/assistant_retrieve_response.rb +86 -65
  12. data/lib/revox/models/assistant_update_params.rb +90 -66
  13. data/lib/revox/models/assistant_update_response.rb +87 -65
  14. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  15. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  16. data/lib/revox/models/call_cancel_params.rb +20 -0
  17. data/lib/revox/models/call_cancel_response.rb +16 -0
  18. data/lib/revox/models/call_create_params.rb +117 -90
  19. data/lib/revox/models/call_create_response.rb +680 -90
  20. data/lib/revox/models/call_export_params.rb +203 -0
  21. data/lib/revox/models/call_export_response.rb +22 -0
  22. data/lib/revox/models/call_pause_params.rb +20 -0
  23. data/lib/revox/models/call_pause_response.rb +16 -0
  24. data/lib/revox/models/call_phone_history_params.rb +14 -0
  25. data/lib/revox/models/call_phone_history_response.rb +95 -0
  26. data/lib/revox/models/call_resume_params.rb +20 -0
  27. data/lib/revox/models/call_resume_response.rb +16 -0
  28. data/lib/revox/models/call_retrieve_response.rb +681 -90
  29. data/lib/revox/models/call_search_params.rb +169 -0
  30. data/lib/revox/models/call_search_response.rb +3694 -0
  31. data/lib/revox/models/campaign_create_params.rb +7 -57
  32. data/lib/revox/models/campaign_create_response.rb +108 -119
  33. data/lib/revox/models/campaign_get_rows_response.rb +682 -90
  34. data/lib/revox/models/campaign_list_response.rb +108 -119
  35. data/lib/revox/models/campaign_pause_params.rb +20 -0
  36. data/lib/revox/models/campaign_pause_response.rb +16 -0
  37. data/lib/revox/models/campaign_resume_params.rb +20 -0
  38. data/lib/revox/models/campaign_resume_response.rb +16 -0
  39. data/lib/revox/models/campaign_retrieve_response.rb +108 -119
  40. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  41. data/lib/revox/models/campaign_statistics_response.rb +514 -0
  42. data/lib/revox/models/campaign_update_params.rb +165 -0
  43. data/lib/revox/models/campaign_update_response.rb +2019 -0
  44. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  45. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  46. data/lib/revox/models/phone_number_list_params.rb +14 -0
  47. data/lib/revox/models/phone_number_list_response.rb +1799 -0
  48. data/lib/revox/models/phone_number_update_params.rb +32 -0
  49. data/lib/revox/models/phone_number_update_response.rb +1799 -0
  50. data/lib/revox/models/user_retrieve_params.rb +14 -0
  51. data/lib/revox/models/user_retrieve_response.rb +99 -0
  52. data/lib/revox/models/voice_clone_params.rb +78 -0
  53. data/lib/revox/models/voice_clone_response.rb +40 -0
  54. data/lib/revox/models/voice_delete_params.rb +20 -0
  55. data/lib/revox/models/voice_delete_response.rb +16 -0
  56. data/lib/revox/models/voice_list_response.rb +1 -0
  57. data/lib/revox/models/voice_preview_params.rb +1 -0
  58. data/lib/revox/models/voice_retrieve_params.rb +1 -0
  59. data/lib/revox/models.rb +35 -1
  60. data/lib/revox/resources/assistants.rb +31 -10
  61. data/lib/revox/resources/auth_status.rb +32 -0
  62. data/lib/revox/resources/call.rb +149 -4
  63. data/lib/revox/resources/campaigns.rb +110 -11
  64. data/lib/revox/resources/phone_numbers.rb +74 -0
  65. data/lib/revox/resources/users.rb +17 -3
  66. data/lib/revox/resources/voices.rb +50 -0
  67. data/lib/revox/version.rb +1 -1
  68. data/lib/revox.rb +38 -5
  69. data/rbi/revox/client.rbi +6 -0
  70. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  71. data/rbi/revox/models/assistant_clone_response.rbi +3351 -0
  72. data/rbi/revox/models/assistant_create_params.rbi +148 -162
  73. data/rbi/revox/models/assistant_create_response.rbi +157 -147
  74. data/rbi/revox/models/assistant_list_response.rbi +157 -147
  75. data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
  76. data/rbi/revox/models/assistant_update_params.rbi +148 -162
  77. data/rbi/revox/models/assistant_update_response.rbi +157 -147
  78. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  79. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  80. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  81. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  82. data/rbi/revox/models/call_create_params.rbi +190 -187
  83. data/rbi/revox/models/call_create_response.rbi +1150 -227
  84. data/rbi/revox/models/call_export_params.rbi +446 -0
  85. data/rbi/revox/models/call_export_response.rbi +26 -0
  86. data/rbi/revox/models/call_pause_params.rbi +31 -0
  87. data/rbi/revox/models/call_pause_response.rbi +23 -0
  88. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  89. data/rbi/revox/models/call_phone_history_response.rbi +209 -0
  90. data/rbi/revox/models/call_resume_params.rbi +33 -0
  91. data/rbi/revox/models/call_resume_response.rbi +23 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1150 -227
  93. data/rbi/revox/models/call_search_params.rbi +281 -0
  94. data/rbi/revox/models/call_search_response.rbi +7504 -0
  95. data/rbi/revox/models/campaign_create_params.rbi +9 -87
  96. data/rbi/revox/models/campaign_create_response.rbi +188 -266
  97. data/rbi/revox/models/campaign_get_rows_response.rbi +1150 -225
  98. data/rbi/revox/models/campaign_list_response.rbi +188 -262
  99. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  100. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  101. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  102. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  103. data/rbi/revox/models/campaign_retrieve_response.rbi +188 -266
  104. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_statistics_response.rbi +1069 -0
  106. data/rbi/revox/models/campaign_update_params.rbi +313 -0
  107. data/rbi/revox/models/campaign_update_response.rbi +4092 -0
  108. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  109. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  110. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  111. data/rbi/revox/models/phone_number_list_response.rbi +3690 -0
  112. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  113. data/rbi/revox/models/phone_number_update_response.rbi +3693 -0
  114. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  115. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  116. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  117. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  118. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  119. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  120. data/rbi/revox/models/voice_list_response.rbi +5 -0
  121. data/rbi/revox/models/voice_preview_params.rbi +2 -0
  122. data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
  123. data/rbi/revox/models.rbi +35 -1
  124. data/rbi/revox/resources/assistants.rbi +52 -22
  125. data/rbi/revox/resources/auth_status.rbi +21 -0
  126. data/rbi/revox/resources/call.rbi +114 -4
  127. data/rbi/revox/resources/campaigns.rbi +77 -15
  128. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  129. data/rbi/revox/resources/users.rbi +8 -2
  130. data/rbi/revox/resources/voices.rbi +39 -0
  131. data/sig/revox/client.rbs +4 -0
  132. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  133. data/sig/revox/models/assistant_clone_response.rbs +1310 -0
  134. data/sig/revox/models/assistant_create_params.rbs +39 -58
  135. data/sig/revox/models/assistant_create_response.rbs +46 -54
  136. data/sig/revox/models/assistant_list_response.rbs +46 -54
  137. data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
  138. data/sig/revox/models/assistant_update_params.rbs +39 -58
  139. data/sig/revox/models/assistant_update_response.rbs +46 -54
  140. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  141. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  142. data/sig/revox/models/call_cancel_params.rbs +20 -0
  143. data/sig/revox/models/call_cancel_response.rbs +13 -0
  144. data/sig/revox/models/call_create_params.rbs +50 -71
  145. data/sig/revox/models/call_create_response.rbs +473 -77
  146. data/sig/revox/models/call_export_params.rbs +230 -0
  147. data/sig/revox/models/call_export_response.rbs +15 -0
  148. data/sig/revox/models/call_pause_params.rbs +20 -0
  149. data/sig/revox/models/call_pause_response.rbs +13 -0
  150. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  151. data/sig/revox/models/call_phone_history_response.rbs +93 -0
  152. data/sig/revox/models/call_resume_params.rbs +20 -0
  153. data/sig/revox/models/call_resume_response.rbs +13 -0
  154. data/sig/revox/models/call_retrieve_response.rbs +473 -77
  155. data/sig/revox/models/call_search_params.rbs +194 -0
  156. data/sig/revox/models/call_search_response.rbs +3045 -0
  157. data/sig/revox/models/campaign_create_params.rbs +5 -50
  158. data/sig/revox/models/campaign_create_response.rbs +62 -98
  159. data/sig/revox/models/campaign_get_rows_response.rbs +472 -73
  160. data/sig/revox/models/campaign_list_response.rbs +62 -98
  161. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  162. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  163. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  164. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  165. data/sig/revox/models/campaign_retrieve_response.rbs +62 -98
  166. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  167. data/sig/revox/models/campaign_statistics_response.rbs +489 -0
  168. data/sig/revox/models/campaign_update_params.rbs +135 -0
  169. data/sig/revox/models/campaign_update_response.rbs +1658 -0
  170. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  171. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  172. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  173. data/sig/revox/models/phone_number_list_response.rbs +1454 -0
  174. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  175. data/sig/revox/models/phone_number_update_response.rbs +1452 -0
  176. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  177. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  178. data/sig/revox/models/voice_clone_params.rbs +79 -0
  179. data/sig/revox/models/voice_clone_response.rbs +40 -0
  180. data/sig/revox/models/voice_delete_params.rbs +20 -0
  181. data/sig/revox/models/voice_delete_response.rbs +13 -0
  182. data/sig/revox/models/voice_list_response.rbs +2 -1
  183. data/sig/revox/models/voice_preview_params.rbs +2 -1
  184. data/sig/revox/models/voice_retrieve_params.rbs +2 -1
  185. data/sig/revox/models.rbs +35 -1
  186. data/sig/revox/resources/assistants.rbs +9 -4
  187. data/sig/revox/resources/auth_status.rbs +11 -0
  188. data/sig/revox/resources/call.rbs +46 -1
  189. data/sig/revox/resources/campaigns.rbs +24 -3
  190. data/sig/revox/resources/phone_numbers.rbs +23 -0
  191. data/sig/revox/resources/users.rbs +3 -1
  192. data/sig/revox/resources/voices.rbs +13 -0
  193. metadata +116 -17
  194. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  195. data/lib/revox/models/users/me_retrieve_response.rb +0 -101
  196. data/lib/revox/models/users/me_update_params.rb +0 -22
  197. data/lib/revox/models/users/me_update_response.rb +0 -101
  198. data/lib/revox/resources/users/me.rb +0 -55
  199. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  200. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
  201. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  202. data/rbi/revox/models/users/me_update_response.rbi +0 -149
  203. data/rbi/revox/resources/users/me.rbi +0 -33
  204. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  205. data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
  206. data/sig/revox/models/users/me_update_params.rbs +0 -28
  207. data/sig/revox/models/users/me_update_response.rbs +0 -75
  208. data/sig/revox/resources/users/me.rbs +0 -18
@@ -12,7 +12,6 @@ module Revox
12
12
  cartesia_dictionary_pronunciation_id: String?,
13
13
  custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
14
14
  email_notification_address: String?,
15
- email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
16
15
  email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
17
16
  end_of_call_sentence: String,
18
17
  faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
@@ -28,6 +27,7 @@ module Revox
28
27
  max_duration_end_message: String?,
29
28
  name: String,
30
29
  position: Revox::AssistantUpdateParams::Position?,
30
+ precall_lookup_url: String?,
31
31
  prompt: String,
32
32
  prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
33
33
  slack: Revox::AssistantUpdateParams::Slack?,
@@ -40,7 +40,7 @@ module Revox
40
40
  thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
41
41
  thinking_sound_probability: Float,
42
42
  thinking_sound_volume: Float,
43
- transfer_phone_number: String?,
43
+ transfer_destinations: ::Array[Revox::AssistantUpdateParams::TransferDestination]?,
44
44
  type: Revox::Models::AssistantUpdateParams::type_,
45
45
  voice: Revox::AssistantUpdateParams::Voice,
46
46
  voicemail_message: String?,
@@ -81,12 +81,6 @@ module Revox
81
81
 
82
82
  attr_accessor email_notification_address: String?
83
83
 
84
- attr_reader email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language?
85
-
86
- def email_notification_language=: (
87
- Revox::Models::AssistantUpdateParams::email_notification_language
88
- ) -> Revox::Models::AssistantUpdateParams::email_notification_language
89
-
90
84
  attr_accessor email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?
91
85
 
92
86
  attr_reader end_of_call_sentence: String?
@@ -141,6 +135,8 @@ module Revox
141
135
 
142
136
  attr_accessor position: Revox::AssistantUpdateParams::Position?
143
137
 
138
+ attr_accessor precall_lookup_url: String?
139
+
144
140
  attr_reader prompt: String?
145
141
 
146
142
  def prompt=: (String) -> String
@@ -181,7 +177,7 @@ module Revox
181
177
 
182
178
  def thinking_sound_volume=: (Float) -> Float
183
179
 
184
- attr_accessor transfer_phone_number: String?
180
+ attr_accessor transfer_destinations: ::Array[Revox::AssistantUpdateParams::TransferDestination]?
185
181
 
186
182
  attr_reader type: Revox::Models::AssistantUpdateParams::type_?
187
183
 
@@ -218,7 +214,6 @@ module Revox
218
214
  ?cartesia_dictionary_pronunciation_id: String?,
219
215
  ?custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
220
216
  ?email_notification_address: String?,
221
- ?email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
222
217
  ?email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
223
218
  ?end_of_call_sentence: String,
224
219
  ?faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
@@ -234,6 +229,7 @@ module Revox
234
229
  ?max_duration_end_message: String?,
235
230
  ?name: String,
236
231
  ?position: Revox::AssistantUpdateParams::Position?,
232
+ ?precall_lookup_url: String?,
237
233
  ?prompt: String,
238
234
  ?prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
239
235
  ?slack: Revox::AssistantUpdateParams::Slack?,
@@ -246,7 +242,7 @@ module Revox
246
242
  ?thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
247
243
  ?thinking_sound_probability: Float,
248
244
  ?thinking_sound_volume: Float,
249
- ?transfer_phone_number: String?,
245
+ ?transfer_destinations: ::Array[Revox::AssistantUpdateParams::TransferDestination]?,
250
246
  ?type: Revox::Models::AssistantUpdateParams::type_,
251
247
  ?voice: Revox::AssistantUpdateParams::Voice,
252
248
  ?voicemail_message: String?,
@@ -268,7 +264,6 @@ module Revox
268
264
  cartesia_dictionary_pronunciation_id: String?,
269
265
  custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
270
266
  email_notification_address: String?,
271
- email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
272
267
  email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
273
268
  end_of_call_sentence: String,
274
269
  faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
@@ -284,6 +279,7 @@ module Revox
284
279
  max_duration_end_message: String?,
285
280
  name: String,
286
281
  position: Revox::AssistantUpdateParams::Position?,
282
+ precall_lookup_url: String?,
287
283
  prompt: String,
288
284
  prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
289
285
  slack: Revox::AssistantUpdateParams::Slack?,
@@ -296,7 +292,7 @@ module Revox
296
292
  thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
297
293
  thinking_sound_probability: Float,
298
294
  thinking_sound_volume: Float,
299
- transfer_phone_number: String?,
295
+ transfer_destinations: ::Array[Revox::AssistantUpdateParams::TransferDestination]?,
300
296
  type: Revox::Models::AssistantUpdateParams::type_,
301
297
  voice: Revox::AssistantUpdateParams::Voice,
302
298
  voicemail_message: String?,
@@ -312,9 +308,6 @@ module Revox
312
308
  | :interested
313
309
  | :completed
314
310
  | :requested_callback_later
315
- | :requested_callback_new_number
316
- | :do_not_contact
317
- | :ai_averse
318
311
  | :none
319
312
 
320
313
  module AfterCallSMSOutcome
@@ -324,9 +317,6 @@ module Revox
324
317
  INTERESTED: :interested
325
318
  COMPLETED: :completed
326
319
  REQUESTED_CALLBACK_LATER: :requested_callback_later
327
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
328
- DO_NOT_CONTACT: :do_not_contact
329
- AI_AVERSE: :ai_averse
330
320
  NONE: :none
331
321
 
332
322
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]
@@ -587,25 +577,11 @@ module Revox
587
577
  end
588
578
  end
589
579
 
590
- type email_notification_language = :en | :fr
591
-
592
- module EmailNotificationLanguage
593
- extend Revox::Internal::Type::Enum
594
-
595
- EN: :en
596
- FR: :fr
597
-
598
- def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::email_notification_language]
599
- end
600
-
601
580
  type email_notification_outcome =
602
581
  :not_interested
603
582
  | :interested
604
583
  | :completed
605
584
  | :requested_callback_later
606
- | :requested_callback_new_number
607
- | :do_not_contact
608
- | :ai_averse
609
585
  | :none
610
586
 
611
587
  module EmailNotificationOutcome
@@ -615,9 +591,6 @@ module Revox
615
591
  INTERESTED: :interested
616
592
  COMPLETED: :completed
617
593
  REQUESTED_CALLBACK_LATER: :requested_callback_later
618
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
619
- DO_NOT_CONTACT: :do_not_contact
620
- AI_AVERSE: :ai_averse
621
594
  NONE: :none
622
595
 
623
596
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]
@@ -913,48 +886,52 @@ module Revox
913
886
 
914
887
  type slack =
915
888
  {
916
- channel_id: String,
889
+ channels: ::Array[Revox::AssistantUpdateParams::Slack::Channel],
917
890
  connection_id: String,
918
891
  outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome],
919
- channel_name: String?,
920
892
  template: String?
921
893
  }
922
894
 
923
895
  class Slack < Revox::Internal::Type::BaseModel
924
- attr_accessor channel_id: String
896
+ attr_accessor channels: ::Array[Revox::AssistantUpdateParams::Slack::Channel]
925
897
 
926
898
  attr_accessor connection_id: String
927
899
 
928
900
  attr_accessor outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome]
929
901
 
930
- attr_accessor channel_name: String?
931
-
932
902
  attr_accessor template: String?
933
903
 
934
904
  def initialize: (
935
- channel_id: String,
905
+ channels: ::Array[Revox::AssistantUpdateParams::Slack::Channel],
936
906
  connection_id: String,
937
907
  outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome],
938
- ?channel_name: String?,
939
908
  ?template: String?
940
909
  ) -> void
941
910
 
942
911
  def to_hash: -> {
943
- channel_id: String,
912
+ channels: ::Array[Revox::AssistantUpdateParams::Slack::Channel],
944
913
  connection_id: String,
945
914
  outcomes: ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome],
946
- channel_name: String?,
947
915
  template: String?
948
916
  }
949
917
 
918
+ type channel = { id: String, name: String? }
919
+
920
+ class Channel < Revox::Internal::Type::BaseModel
921
+ attr_accessor id: String
922
+
923
+ attr_accessor name: String?
924
+
925
+ def initialize: (id: String, ?name: String?) -> void
926
+
927
+ def to_hash: -> { id: String, name: String? }
928
+ end
929
+
950
930
  type outcome =
951
931
  :not_interested
952
932
  | :interested
953
933
  | :completed
954
934
  | :requested_callback_later
955
- | :requested_callback_new_number
956
- | :do_not_contact
957
- | :ai_averse
958
935
  | :none
959
936
 
960
937
  module Outcome
@@ -964,9 +941,6 @@ module Revox
964
941
  INTERESTED: :interested
965
942
  COMPLETED: :completed
966
943
  REQUESTED_CALLBACK_LATER: :requested_callback_later
967
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
968
- DO_NOT_CONTACT: :do_not_contact
969
- AI_AVERSE: :ai_averse
970
944
  NONE: :none
971
945
 
972
946
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Slack::outcome]
@@ -1097,6 +1071,18 @@ module Revox
1097
1071
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::thinking_sound]
1098
1072
  end
1099
1073
 
1074
+ type transfer_destination = { label: String, phone_number: String }
1075
+
1076
+ class TransferDestination < Revox::Internal::Type::BaseModel
1077
+ attr_accessor label: String
1078
+
1079
+ attr_accessor phone_number: String
1080
+
1081
+ def initialize: (label: String, phone_number: String) -> void
1082
+
1083
+ def to_hash: -> { label: String, phone_number: String }
1084
+ end
1085
+
1100
1086
  type type_ = :standalone | :"multi-step" | :"sub-assistant"
1101
1087
 
1102
1088
  module Type
@@ -1153,13 +1139,14 @@ module Revox
1153
1139
  volume: Float
1154
1140
  }
1155
1141
 
1156
- type provider = :cartesia | :elevenlabs
1142
+ type provider = :cartesia | :elevenlabs | :gradium
1157
1143
 
1158
1144
  module Provider
1159
1145
  extend Revox::Internal::Type::Enum
1160
1146
 
1161
1147
  CARTESIA: :cartesia
1162
1148
  ELEVENLABS: :elevenlabs
1149
+ GRADIUM: :gradium
1163
1150
 
1164
1151
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Voice::provider]
1165
1152
  end
@@ -1234,9 +1221,6 @@ module Revox
1234
1221
  | :interested
1235
1222
  | :completed
1236
1223
  | :requested_callback_later
1237
- | :requested_callback_new_number
1238
- | :do_not_contact
1239
- | :ai_averse
1240
1224
  | :none
1241
1225
 
1242
1226
  module Outcome
@@ -1246,9 +1230,6 @@ module Revox
1246
1230
  INTERESTED: :interested
1247
1231
  COMPLETED: :completed
1248
1232
  REQUESTED_CALLBACK_LATER: :requested_callback_later
1249
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1250
- DO_NOT_CONTACT: :do_not_contact
1251
- AI_AVERSE: :ai_averse
1252
1233
  NONE: :none
1253
1234
 
1254
1235
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateParams::Zoho::outcome]
@@ -38,7 +38,6 @@ module Revox
38
38
  created_at: top,
39
39
  custom_tools: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::CustomTool]?,
40
40
  email_notification_address: String?,
41
- email_notification_language: Revox::Models::AssistantUpdateResponse::Assistant::email_notification_language,
42
41
  email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::email_notification_outcome]?,
43
42
  end_of_call_sentence: String?,
44
43
  first_sentence: String?,
@@ -54,6 +53,7 @@ module Revox
54
53
  name: String,
55
54
  organization_id: String,
56
55
  position: Revox::Models::AssistantUpdateResponse::Assistant::Position?,
56
+ precall_lookup_url: String?,
57
57
  prompt: String,
58
58
  prompt_flow: Revox::Models::AssistantUpdateResponse::Assistant::PromptFlow?,
59
59
  slack: Revox::Models::AssistantUpdateResponse::Assistant::Slack?,
@@ -66,7 +66,7 @@ module Revox
66
66
  thinking_sound: Revox::Models::AssistantUpdateResponse::Assistant::thinking_sound?,
67
67
  thinking_sound_probability: Float,
68
68
  thinking_sound_volume: Float,
69
- transfer_phone_number: String?,
69
+ transfer_destinations: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::TransferDestination]?,
70
70
  type: Revox::Models::AssistantUpdateResponse::Assistant::type_,
71
71
  updated_at: top,
72
72
  voice: Revox::Models::AssistantUpdateResponse::Assistant::Voice?,
@@ -77,6 +77,7 @@ module Revox
77
77
  zoho: Revox::Models::AssistantUpdateResponse::Assistant::Zoho?,
78
78
  created_by: Revox::Models::AssistantUpdateResponse::Assistant::CreatedBy?,
79
79
  faq_items: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::FaqItem],
80
+ is_inbound_receptionist: bool,
80
81
  is_realestate_assistant: bool,
81
82
  pending_faq_count: Float
82
83
  }
@@ -104,8 +105,6 @@ module Revox
104
105
 
105
106
  attr_accessor email_notification_address: String?
106
107
 
107
- attr_accessor email_notification_language: Revox::Models::AssistantUpdateResponse::Assistant::email_notification_language
108
-
109
108
  attr_accessor email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::email_notification_outcome]?
110
109
 
111
110
  attr_accessor end_of_call_sentence: String?
@@ -136,6 +135,8 @@ module Revox
136
135
 
137
136
  attr_accessor position: Revox::Models::AssistantUpdateResponse::Assistant::Position?
138
137
 
138
+ attr_accessor precall_lookup_url: String?
139
+
139
140
  attr_accessor prompt: String
140
141
 
141
142
  attr_accessor prompt_flow: Revox::Models::AssistantUpdateResponse::Assistant::PromptFlow?
@@ -160,7 +161,7 @@ module Revox
160
161
 
161
162
  attr_accessor thinking_sound_volume: Float
162
163
 
163
- attr_accessor transfer_phone_number: String?
164
+ attr_accessor transfer_destinations: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::TransferDestination]?
164
165
 
165
166
  attr_accessor type: Revox::Models::AssistantUpdateResponse::Assistant::type_
166
167
 
@@ -186,6 +187,10 @@ module Revox
186
187
  ::Array[Revox::Models::AssistantUpdateResponse::Assistant::FaqItem]
187
188
  ) -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::FaqItem]
188
189
 
190
+ attr_reader is_inbound_receptionist: bool?
191
+
192
+ def is_inbound_receptionist=: (bool) -> bool
193
+
189
194
  attr_reader is_realestate_assistant: bool?
190
195
 
191
196
  def is_realestate_assistant=: (bool) -> bool
@@ -206,7 +211,6 @@ module Revox
206
211
  created_at: top,
207
212
  custom_tools: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::CustomTool]?,
208
213
  email_notification_address: String?,
209
- email_notification_language: Revox::Models::AssistantUpdateResponse::Assistant::email_notification_language,
210
214
  email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::email_notification_outcome]?,
211
215
  end_of_call_sentence: String?,
212
216
  first_sentence: String?,
@@ -222,6 +226,7 @@ module Revox
222
226
  name: String,
223
227
  organization_id: String,
224
228
  position: Revox::Models::AssistantUpdateResponse::Assistant::Position?,
229
+ precall_lookup_url: String?,
225
230
  prompt: String,
226
231
  prompt_flow: Revox::Models::AssistantUpdateResponse::Assistant::PromptFlow?,
227
232
  slack: Revox::Models::AssistantUpdateResponse::Assistant::Slack?,
@@ -234,7 +239,7 @@ module Revox
234
239
  thinking_sound: Revox::Models::AssistantUpdateResponse::Assistant::thinking_sound?,
235
240
  thinking_sound_probability: Float,
236
241
  thinking_sound_volume: Float,
237
- transfer_phone_number: String?,
242
+ transfer_destinations: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::TransferDestination]?,
238
243
  type: Revox::Models::AssistantUpdateResponse::Assistant::type_,
239
244
  updated_at: top,
240
245
  voice: Revox::Models::AssistantUpdateResponse::Assistant::Voice?,
@@ -245,6 +250,7 @@ module Revox
245
250
  zoho: Revox::Models::AssistantUpdateResponse::Assistant::Zoho?,
246
251
  ?created_by: Revox::Models::AssistantUpdateResponse::Assistant::CreatedBy?,
247
252
  ?faq_items: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::FaqItem],
253
+ ?is_inbound_receptionist: bool,
248
254
  ?is_realestate_assistant: bool,
249
255
  ?pending_faq_count: Float
250
256
  ) -> void
@@ -261,7 +267,6 @@ module Revox
261
267
  created_at: top,
262
268
  custom_tools: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::CustomTool]?,
263
269
  email_notification_address: String?,
264
- email_notification_language: Revox::Models::AssistantUpdateResponse::Assistant::email_notification_language,
265
270
  email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::email_notification_outcome]?,
266
271
  end_of_call_sentence: String?,
267
272
  first_sentence: String?,
@@ -277,6 +282,7 @@ module Revox
277
282
  name: String,
278
283
  organization_id: String,
279
284
  position: Revox::Models::AssistantUpdateResponse::Assistant::Position?,
285
+ precall_lookup_url: String?,
280
286
  prompt: String,
281
287
  prompt_flow: Revox::Models::AssistantUpdateResponse::Assistant::PromptFlow?,
282
288
  slack: Revox::Models::AssistantUpdateResponse::Assistant::Slack?,
@@ -289,7 +295,7 @@ module Revox
289
295
  thinking_sound: Revox::Models::AssistantUpdateResponse::Assistant::thinking_sound?,
290
296
  thinking_sound_probability: Float,
291
297
  thinking_sound_volume: Float,
292
- transfer_phone_number: String?,
298
+ transfer_destinations: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::TransferDestination]?,
293
299
  type: Revox::Models::AssistantUpdateResponse::Assistant::type_,
294
300
  updated_at: top,
295
301
  voice: Revox::Models::AssistantUpdateResponse::Assistant::Voice?,
@@ -300,6 +306,7 @@ module Revox
300
306
  zoho: Revox::Models::AssistantUpdateResponse::Assistant::Zoho?,
301
307
  created_by: Revox::Models::AssistantUpdateResponse::Assistant::CreatedBy?,
302
308
  faq_items: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::FaqItem],
309
+ is_inbound_receptionist: bool,
303
310
  is_realestate_assistant: bool,
304
311
  pending_faq_count: Float
305
312
  }
@@ -309,9 +316,6 @@ module Revox
309
316
  | :interested
310
317
  | :completed
311
318
  | :requested_callback_later
312
- | :requested_callback_new_number
313
- | :do_not_contact
314
- | :ai_averse
315
319
  | :none
316
320
 
317
321
  module AfterCallSMSOutcome
@@ -321,9 +325,6 @@ module Revox
321
325
  INTERESTED: :interested
322
326
  COMPLETED: :completed
323
327
  REQUESTED_CALLBACK_LATER: :requested_callback_later
324
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
325
- DO_NOT_CONTACT: :do_not_contact
326
- AI_AVERSE: :ai_averse
327
328
  NONE: :none
328
329
 
329
330
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::after_call_sms_outcome]
@@ -585,25 +586,11 @@ module Revox
585
586
  end
586
587
  end
587
588
 
588
- type email_notification_language = :en | :fr
589
-
590
- module EmailNotificationLanguage
591
- extend Revox::Internal::Type::Enum
592
-
593
- EN: :en
594
- FR: :fr
595
-
596
- def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::email_notification_language]
597
- end
598
-
599
589
  type email_notification_outcome =
600
590
  :not_interested
601
591
  | :interested
602
592
  | :completed
603
593
  | :requested_callback_later
604
- | :requested_callback_new_number
605
- | :do_not_contact
606
- | :ai_averse
607
594
  | :none
608
595
 
609
596
  module EmailNotificationOutcome
@@ -613,9 +600,6 @@ module Revox
613
600
  INTERESTED: :interested
614
601
  COMPLETED: :completed
615
602
  REQUESTED_CALLBACK_LATER: :requested_callback_later
616
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
617
- DO_NOT_CONTACT: :do_not_contact
618
- AI_AVERSE: :ai_averse
619
603
  NONE: :none
620
604
 
621
605
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::email_notification_outcome]
@@ -899,48 +883,52 @@ module Revox
899
883
 
900
884
  type slack =
901
885
  {
902
- channel_id: String,
886
+ channels: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::Channel],
903
887
  connection_id: String,
904
888
  outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::outcome],
905
- channel_name: String?,
906
889
  template: String?
907
890
  }
908
891
 
909
892
  class Slack < Revox::Internal::Type::BaseModel
910
- attr_accessor channel_id: String
893
+ attr_accessor channels: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::Channel]
911
894
 
912
895
  attr_accessor connection_id: String
913
896
 
914
897
  attr_accessor outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::outcome]
915
898
 
916
- attr_accessor channel_name: String?
917
-
918
899
  attr_accessor template: String?
919
900
 
920
901
  def initialize: (
921
- channel_id: String,
902
+ channels: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::Channel],
922
903
  connection_id: String,
923
904
  outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::outcome],
924
- ?channel_name: String?,
925
905
  ?template: String?
926
906
  ) -> void
927
907
 
928
908
  def to_hash: -> {
929
- channel_id: String,
909
+ channels: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::Channel],
930
910
  connection_id: String,
931
911
  outcomes: ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::outcome],
932
- channel_name: String?,
933
912
  template: String?
934
913
  }
935
914
 
915
+ type channel = { id: String, name: String? }
916
+
917
+ class Channel < Revox::Internal::Type::BaseModel
918
+ attr_accessor id: String
919
+
920
+ attr_accessor name: String?
921
+
922
+ def initialize: (id: String, ?name: String?) -> void
923
+
924
+ def to_hash: -> { id: String, name: String? }
925
+ end
926
+
936
927
  type outcome =
937
928
  :not_interested
938
929
  | :interested
939
930
  | :completed
940
931
  | :requested_callback_later
941
- | :requested_callback_new_number
942
- | :do_not_contact
943
- | :ai_averse
944
932
  | :none
945
933
 
946
934
  module Outcome
@@ -950,9 +938,6 @@ module Revox
950
938
  INTERESTED: :interested
951
939
  COMPLETED: :completed
952
940
  REQUESTED_CALLBACK_LATER: :requested_callback_later
953
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
954
- DO_NOT_CONTACT: :do_not_contact
955
- AI_AVERSE: :ai_averse
956
941
  NONE: :none
957
942
 
958
943
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Slack::outcome]
@@ -1083,6 +1068,18 @@ module Revox
1083
1068
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::thinking_sound]
1084
1069
  end
1085
1070
 
1071
+ type transfer_destination = { label: String, phone_number: String }
1072
+
1073
+ class TransferDestination < Revox::Internal::Type::BaseModel
1074
+ attr_accessor label: String
1075
+
1076
+ attr_accessor phone_number: String
1077
+
1078
+ def initialize: (label: String, phone_number: String) -> void
1079
+
1080
+ def to_hash: -> { label: String, phone_number: String }
1081
+ end
1082
+
1086
1083
  type type_ = :standalone | :"multi-step" | :"sub-assistant"
1087
1084
 
1088
1085
  module Type
@@ -1139,13 +1136,14 @@ module Revox
1139
1136
  volume: Float
1140
1137
  }
1141
1138
 
1142
- type provider = :cartesia | :elevenlabs
1139
+ type provider = :cartesia | :elevenlabs | :gradium
1143
1140
 
1144
1141
  module Provider
1145
1142
  extend Revox::Internal::Type::Enum
1146
1143
 
1147
1144
  CARTESIA: :cartesia
1148
1145
  ELEVENLABS: :elevenlabs
1146
+ GRADIUM: :gradium
1149
1147
 
1150
1148
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Voice::provider]
1151
1149
  end
@@ -1220,9 +1218,6 @@ module Revox
1220
1218
  | :interested
1221
1219
  | :completed
1222
1220
  | :requested_callback_later
1223
- | :requested_callback_new_number
1224
- | :do_not_contact
1225
- | :ai_averse
1226
1221
  | :none
1227
1222
 
1228
1223
  module Outcome
@@ -1232,9 +1227,6 @@ module Revox
1232
1227
  INTERESTED: :interested
1233
1228
  COMPLETED: :completed
1234
1229
  REQUESTED_CALLBACK_LATER: :requested_callback_later
1235
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1236
- DO_NOT_CONTACT: :do_not_contact
1237
- AI_AVERSE: :ai_averse
1238
1230
  NONE: :none
1239
1231
 
1240
1232
  def self?.values: -> ::Array[Revox::Models::AssistantUpdateResponse::Assistant::Zoho::outcome]
@@ -0,0 +1,15 @@
1
+ module Revox
2
+ module Models
3
+ type auth_status_retrieve_params =
4
+ { } & Revox::Internal::Type::request_parameters
5
+
6
+ class AuthStatusRetrieveParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: Revox::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: Revox::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module Revox
2
+ module Models
3
+ type auth_status_retrieve_response = { authenticated: bool }
4
+
5
+ class AuthStatusRetrieveResponse < Revox::Internal::Type::BaseModel
6
+ attr_accessor authenticated: bool
7
+
8
+ def initialize: (authenticated: bool) -> void
9
+
10
+ def to_hash: -> { authenticated: bool }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,20 @@
1
+ module Revox
2
+ module Models
3
+ type call_cancel_params =
4
+ { id: String } & Revox::Internal::Type::request_parameters
5
+
6
+ class CallCancelParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ attr_accessor id: String
11
+
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Revox::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: Revox::RequestOptions }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ module Revox
2
+ module Models
3
+ type call_cancel_response = { success: bool }
4
+
5
+ class CallCancelResponse < Revox::Internal::Type::BaseModel
6
+ attr_accessor success: bool
7
+
8
+ def initialize: (success: bool) -> void
9
+
10
+ def to_hash: -> { success: bool }
11
+ end
12
+ end
13
+ end