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
@@ -13,7 +13,6 @@ module Revox
13
13
  cartesia_dictionary_pronunciation_id: String?,
14
14
  custom_tools: ::Array[Revox::AssistantCreateParams::CustomTool]?,
15
15
  email_notification_address: String?,
16
- email_notification_language: Revox::Models::AssistantCreateParams::email_notification_language,
17
16
  email_notification_outcomes: ::Array[Revox::Models::AssistantCreateParams::email_notification_outcome]?,
18
17
  end_of_call_sentence: String,
19
18
  faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
@@ -28,6 +27,7 @@ module Revox
28
27
  max_call_duration_secs: Float,
29
28
  max_duration_end_message: String?,
30
29
  position: Revox::AssistantCreateParams::Position?,
30
+ precall_lookup_url: String?,
31
31
  prompt_flow: Revox::AssistantCreateParams::PromptFlow?,
32
32
  slack: Revox::AssistantCreateParams::Slack?,
33
33
  sms_enabled: bool,
@@ -39,7 +39,7 @@ module Revox
39
39
  thinking_sound: Revox::Models::AssistantCreateParams::thinking_sound?,
40
40
  thinking_sound_probability: Float,
41
41
  thinking_sound_volume: Float,
42
- transfer_phone_number: String?,
42
+ transfer_destinations: ::Array[Revox::AssistantCreateParams::TransferDestination]?,
43
43
  type: Revox::Models::AssistantCreateParams::type_,
44
44
  voice: Revox::AssistantCreateParams::Voice,
45
45
  voicemail_message: String?,
@@ -82,12 +82,6 @@ module Revox
82
82
 
83
83
  attr_accessor email_notification_address: String?
84
84
 
85
- attr_reader email_notification_language: Revox::Models::AssistantCreateParams::email_notification_language?
86
-
87
- def email_notification_language=: (
88
- Revox::Models::AssistantCreateParams::email_notification_language
89
- ) -> Revox::Models::AssistantCreateParams::email_notification_language
90
-
91
85
  attr_accessor email_notification_outcomes: ::Array[Revox::Models::AssistantCreateParams::email_notification_outcome]?
92
86
 
93
87
  attr_reader end_of_call_sentence: String?
@@ -138,6 +132,8 @@ module Revox
138
132
 
139
133
  attr_accessor position: Revox::AssistantCreateParams::Position?
140
134
 
135
+ attr_accessor precall_lookup_url: String?
136
+
141
137
  attr_accessor prompt_flow: Revox::AssistantCreateParams::PromptFlow?
142
138
 
143
139
  attr_accessor slack: Revox::AssistantCreateParams::Slack?
@@ -174,7 +170,7 @@ module Revox
174
170
 
175
171
  def thinking_sound_volume=: (Float) -> Float
176
172
 
177
- attr_accessor transfer_phone_number: String?
173
+ attr_accessor transfer_destinations: ::Array[Revox::AssistantCreateParams::TransferDestination]?
178
174
 
179
175
  attr_reader type: Revox::Models::AssistantCreateParams::type_?
180
176
 
@@ -212,7 +208,6 @@ module Revox
212
208
  ?cartesia_dictionary_pronunciation_id: String?,
213
209
  ?custom_tools: ::Array[Revox::AssistantCreateParams::CustomTool]?,
214
210
  ?email_notification_address: String?,
215
- ?email_notification_language: Revox::Models::AssistantCreateParams::email_notification_language,
216
211
  ?email_notification_outcomes: ::Array[Revox::Models::AssistantCreateParams::email_notification_outcome]?,
217
212
  ?end_of_call_sentence: String,
218
213
  ?faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
@@ -227,6 +222,7 @@ module Revox
227
222
  ?max_call_duration_secs: Float,
228
223
  ?max_duration_end_message: String?,
229
224
  ?position: Revox::AssistantCreateParams::Position?,
225
+ ?precall_lookup_url: String?,
230
226
  ?prompt_flow: Revox::AssistantCreateParams::PromptFlow?,
231
227
  ?slack: Revox::AssistantCreateParams::Slack?,
232
228
  ?sms_enabled: bool,
@@ -238,7 +234,7 @@ module Revox
238
234
  ?thinking_sound: Revox::Models::AssistantCreateParams::thinking_sound?,
239
235
  ?thinking_sound_probability: Float,
240
236
  ?thinking_sound_volume: Float,
241
- ?transfer_phone_number: String?,
237
+ ?transfer_destinations: ::Array[Revox::AssistantCreateParams::TransferDestination]?,
242
238
  ?type: Revox::Models::AssistantCreateParams::type_,
243
239
  ?voice: Revox::AssistantCreateParams::Voice,
244
240
  ?voicemail_message: String?,
@@ -261,7 +257,6 @@ module Revox
261
257
  cartesia_dictionary_pronunciation_id: String?,
262
258
  custom_tools: ::Array[Revox::AssistantCreateParams::CustomTool]?,
263
259
  email_notification_address: String?,
264
- email_notification_language: Revox::Models::AssistantCreateParams::email_notification_language,
265
260
  email_notification_outcomes: ::Array[Revox::Models::AssistantCreateParams::email_notification_outcome]?,
266
261
  end_of_call_sentence: String,
267
262
  faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
@@ -276,6 +271,7 @@ module Revox
276
271
  max_call_duration_secs: Float,
277
272
  max_duration_end_message: String?,
278
273
  position: Revox::AssistantCreateParams::Position?,
274
+ precall_lookup_url: String?,
279
275
  prompt_flow: Revox::AssistantCreateParams::PromptFlow?,
280
276
  slack: Revox::AssistantCreateParams::Slack?,
281
277
  sms_enabled: bool,
@@ -287,7 +283,7 @@ module Revox
287
283
  thinking_sound: Revox::Models::AssistantCreateParams::thinking_sound?,
288
284
  thinking_sound_probability: Float,
289
285
  thinking_sound_volume: Float,
290
- transfer_phone_number: String?,
286
+ transfer_destinations: ::Array[Revox::AssistantCreateParams::TransferDestination]?,
291
287
  type: Revox::Models::AssistantCreateParams::type_,
292
288
  voice: Revox::AssistantCreateParams::Voice,
293
289
  voicemail_message: String?,
@@ -303,9 +299,6 @@ module Revox
303
299
  | :interested
304
300
  | :completed
305
301
  | :requested_callback_later
306
- | :requested_callback_new_number
307
- | :do_not_contact
308
- | :ai_averse
309
302
  | :none
310
303
 
311
304
  module AfterCallSMSOutcome
@@ -315,9 +308,6 @@ module Revox
315
308
  INTERESTED: :interested
316
309
  COMPLETED: :completed
317
310
  REQUESTED_CALLBACK_LATER: :requested_callback_later
318
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
319
- DO_NOT_CONTACT: :do_not_contact
320
- AI_AVERSE: :ai_averse
321
311
  NONE: :none
322
312
 
323
313
  def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::after_call_sms_outcome]
@@ -578,25 +568,11 @@ module Revox
578
568
  end
579
569
  end
580
570
 
581
- type email_notification_language = :en | :fr
582
-
583
- module EmailNotificationLanguage
584
- extend Revox::Internal::Type::Enum
585
-
586
- EN: :en
587
- FR: :fr
588
-
589
- def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::email_notification_language]
590
- end
591
-
592
571
  type email_notification_outcome =
593
572
  :not_interested
594
573
  | :interested
595
574
  | :completed
596
575
  | :requested_callback_later
597
- | :requested_callback_new_number
598
- | :do_not_contact
599
- | :ai_averse
600
576
  | :none
601
577
 
602
578
  module EmailNotificationOutcome
@@ -606,9 +582,6 @@ module Revox
606
582
  INTERESTED: :interested
607
583
  COMPLETED: :completed
608
584
  REQUESTED_CALLBACK_LATER: :requested_callback_later
609
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
610
- DO_NOT_CONTACT: :do_not_contact
611
- AI_AVERSE: :ai_averse
612
585
  NONE: :none
613
586
 
614
587
  def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::email_notification_outcome]
@@ -904,48 +877,52 @@ module Revox
904
877
 
905
878
  type slack =
906
879
  {
907
- channel_id: String,
880
+ channels: ::Array[Revox::AssistantCreateParams::Slack::Channel],
908
881
  connection_id: String,
909
882
  outcomes: ::Array[Revox::Models::AssistantCreateParams::Slack::outcome],
910
- channel_name: String?,
911
883
  template: String?
912
884
  }
913
885
 
914
886
  class Slack < Revox::Internal::Type::BaseModel
915
- attr_accessor channel_id: String
887
+ attr_accessor channels: ::Array[Revox::AssistantCreateParams::Slack::Channel]
916
888
 
917
889
  attr_accessor connection_id: String
918
890
 
919
891
  attr_accessor outcomes: ::Array[Revox::Models::AssistantCreateParams::Slack::outcome]
920
892
 
921
- attr_accessor channel_name: String?
922
-
923
893
  attr_accessor template: String?
924
894
 
925
895
  def initialize: (
926
- channel_id: String,
896
+ channels: ::Array[Revox::AssistantCreateParams::Slack::Channel],
927
897
  connection_id: String,
928
898
  outcomes: ::Array[Revox::Models::AssistantCreateParams::Slack::outcome],
929
- ?channel_name: String?,
930
899
  ?template: String?
931
900
  ) -> void
932
901
 
933
902
  def to_hash: -> {
934
- channel_id: String,
903
+ channels: ::Array[Revox::AssistantCreateParams::Slack::Channel],
935
904
  connection_id: String,
936
905
  outcomes: ::Array[Revox::Models::AssistantCreateParams::Slack::outcome],
937
- channel_name: String?,
938
906
  template: String?
939
907
  }
940
908
 
909
+ type channel = { id: String, name: String? }
910
+
911
+ class Channel < Revox::Internal::Type::BaseModel
912
+ attr_accessor id: String
913
+
914
+ attr_accessor name: String?
915
+
916
+ def initialize: (id: String, ?name: String?) -> void
917
+
918
+ def to_hash: -> { id: String, name: String? }
919
+ end
920
+
941
921
  type outcome =
942
922
  :not_interested
943
923
  | :interested
944
924
  | :completed
945
925
  | :requested_callback_later
946
- | :requested_callback_new_number
947
- | :do_not_contact
948
- | :ai_averse
949
926
  | :none
950
927
 
951
928
  module Outcome
@@ -955,9 +932,6 @@ module Revox
955
932
  INTERESTED: :interested
956
933
  COMPLETED: :completed
957
934
  REQUESTED_CALLBACK_LATER: :requested_callback_later
958
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
959
- DO_NOT_CONTACT: :do_not_contact
960
- AI_AVERSE: :ai_averse
961
935
  NONE: :none
962
936
 
963
937
  def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::Slack::outcome]
@@ -1088,6 +1062,18 @@ module Revox
1088
1062
  def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::thinking_sound]
1089
1063
  end
1090
1064
 
1065
+ type transfer_destination = { label: String, phone_number: String }
1066
+
1067
+ class TransferDestination < Revox::Internal::Type::BaseModel
1068
+ attr_accessor label: String
1069
+
1070
+ attr_accessor phone_number: String
1071
+
1072
+ def initialize: (label: String, phone_number: String) -> void
1073
+
1074
+ def to_hash: -> { label: String, phone_number: String }
1075
+ end
1076
+
1091
1077
  type type_ = :standalone | :"multi-step" | :"sub-assistant"
1092
1078
 
1093
1079
  module Type
@@ -1144,13 +1130,14 @@ module Revox
1144
1130
  volume: Float
1145
1131
  }
1146
1132
 
1147
- type provider = :cartesia | :elevenlabs
1133
+ type provider = :cartesia | :elevenlabs | :gradium
1148
1134
 
1149
1135
  module Provider
1150
1136
  extend Revox::Internal::Type::Enum
1151
1137
 
1152
1138
  CARTESIA: :cartesia
1153
1139
  ELEVENLABS: :elevenlabs
1140
+ GRADIUM: :gradium
1154
1141
 
1155
1142
  def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::Voice::provider]
1156
1143
  end
@@ -1225,9 +1212,6 @@ module Revox
1225
1212
  | :interested
1226
1213
  | :completed
1227
1214
  | :requested_callback_later
1228
- | :requested_callback_new_number
1229
- | :do_not_contact
1230
- | :ai_averse
1231
1215
  | :none
1232
1216
 
1233
1217
  module Outcome
@@ -1237,9 +1221,6 @@ module Revox
1237
1221
  INTERESTED: :interested
1238
1222
  COMPLETED: :completed
1239
1223
  REQUESTED_CALLBACK_LATER: :requested_callback_later
1240
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1241
- DO_NOT_CONTACT: :do_not_contact
1242
- AI_AVERSE: :ai_averse
1243
1224
  NONE: :none
1244
1225
 
1245
1226
  def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::Zoho::outcome]
@@ -27,7 +27,6 @@ module Revox
27
27
  created_at: top,
28
28
  custom_tools: ::Array[Revox::Models::AssistantCreateResponse::Assistant::CustomTool]?,
29
29
  email_notification_address: String?,
30
- email_notification_language: Revox::Models::AssistantCreateResponse::Assistant::email_notification_language,
31
30
  email_notification_outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::email_notification_outcome]?,
32
31
  end_of_call_sentence: String?,
33
32
  first_sentence: String?,
@@ -43,6 +42,7 @@ module Revox
43
42
  name: String,
44
43
  organization_id: String,
45
44
  position: Revox::Models::AssistantCreateResponse::Assistant::Position?,
45
+ precall_lookup_url: String?,
46
46
  prompt: String,
47
47
  prompt_flow: Revox::Models::AssistantCreateResponse::Assistant::PromptFlow?,
48
48
  slack: Revox::Models::AssistantCreateResponse::Assistant::Slack?,
@@ -55,7 +55,7 @@ module Revox
55
55
  thinking_sound: Revox::Models::AssistantCreateResponse::Assistant::thinking_sound?,
56
56
  thinking_sound_probability: Float,
57
57
  thinking_sound_volume: Float,
58
- transfer_phone_number: String?,
58
+ transfer_destinations: ::Array[Revox::Models::AssistantCreateResponse::Assistant::TransferDestination]?,
59
59
  type: Revox::Models::AssistantCreateResponse::Assistant::type_,
60
60
  updated_at: top,
61
61
  voice: Revox::Models::AssistantCreateResponse::Assistant::Voice?,
@@ -66,6 +66,7 @@ module Revox
66
66
  zoho: Revox::Models::AssistantCreateResponse::Assistant::Zoho?,
67
67
  created_by: Revox::Models::AssistantCreateResponse::Assistant::CreatedBy?,
68
68
  faq_items: ::Array[Revox::Models::AssistantCreateResponse::Assistant::FaqItem],
69
+ is_inbound_receptionist: bool,
69
70
  is_realestate_assistant: bool,
70
71
  pending_faq_count: Float
71
72
  }
@@ -93,8 +94,6 @@ module Revox
93
94
 
94
95
  attr_accessor email_notification_address: String?
95
96
 
96
- attr_accessor email_notification_language: Revox::Models::AssistantCreateResponse::Assistant::email_notification_language
97
-
98
97
  attr_accessor email_notification_outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::email_notification_outcome]?
99
98
 
100
99
  attr_accessor end_of_call_sentence: String?
@@ -125,6 +124,8 @@ module Revox
125
124
 
126
125
  attr_accessor position: Revox::Models::AssistantCreateResponse::Assistant::Position?
127
126
 
127
+ attr_accessor precall_lookup_url: String?
128
+
128
129
  attr_accessor prompt: String
129
130
 
130
131
  attr_accessor prompt_flow: Revox::Models::AssistantCreateResponse::Assistant::PromptFlow?
@@ -149,7 +150,7 @@ module Revox
149
150
 
150
151
  attr_accessor thinking_sound_volume: Float
151
152
 
152
- attr_accessor transfer_phone_number: String?
153
+ attr_accessor transfer_destinations: ::Array[Revox::Models::AssistantCreateResponse::Assistant::TransferDestination]?
153
154
 
154
155
  attr_accessor type: Revox::Models::AssistantCreateResponse::Assistant::type_
155
156
 
@@ -175,6 +176,10 @@ module Revox
175
176
  ::Array[Revox::Models::AssistantCreateResponse::Assistant::FaqItem]
176
177
  ) -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::FaqItem]
177
178
 
179
+ attr_reader is_inbound_receptionist: bool?
180
+
181
+ def is_inbound_receptionist=: (bool) -> bool
182
+
178
183
  attr_reader is_realestate_assistant: bool?
179
184
 
180
185
  def is_realestate_assistant=: (bool) -> bool
@@ -195,7 +200,6 @@ module Revox
195
200
  created_at: top,
196
201
  custom_tools: ::Array[Revox::Models::AssistantCreateResponse::Assistant::CustomTool]?,
197
202
  email_notification_address: String?,
198
- email_notification_language: Revox::Models::AssistantCreateResponse::Assistant::email_notification_language,
199
203
  email_notification_outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::email_notification_outcome]?,
200
204
  end_of_call_sentence: String?,
201
205
  first_sentence: String?,
@@ -211,6 +215,7 @@ module Revox
211
215
  name: String,
212
216
  organization_id: String,
213
217
  position: Revox::Models::AssistantCreateResponse::Assistant::Position?,
218
+ precall_lookup_url: String?,
214
219
  prompt: String,
215
220
  prompt_flow: Revox::Models::AssistantCreateResponse::Assistant::PromptFlow?,
216
221
  slack: Revox::Models::AssistantCreateResponse::Assistant::Slack?,
@@ -223,7 +228,7 @@ module Revox
223
228
  thinking_sound: Revox::Models::AssistantCreateResponse::Assistant::thinking_sound?,
224
229
  thinking_sound_probability: Float,
225
230
  thinking_sound_volume: Float,
226
- transfer_phone_number: String?,
231
+ transfer_destinations: ::Array[Revox::Models::AssistantCreateResponse::Assistant::TransferDestination]?,
227
232
  type: Revox::Models::AssistantCreateResponse::Assistant::type_,
228
233
  updated_at: top,
229
234
  voice: Revox::Models::AssistantCreateResponse::Assistant::Voice?,
@@ -234,6 +239,7 @@ module Revox
234
239
  zoho: Revox::Models::AssistantCreateResponse::Assistant::Zoho?,
235
240
  ?created_by: Revox::Models::AssistantCreateResponse::Assistant::CreatedBy?,
236
241
  ?faq_items: ::Array[Revox::Models::AssistantCreateResponse::Assistant::FaqItem],
242
+ ?is_inbound_receptionist: bool,
237
243
  ?is_realestate_assistant: bool,
238
244
  ?pending_faq_count: Float
239
245
  ) -> void
@@ -250,7 +256,6 @@ module Revox
250
256
  created_at: top,
251
257
  custom_tools: ::Array[Revox::Models::AssistantCreateResponse::Assistant::CustomTool]?,
252
258
  email_notification_address: String?,
253
- email_notification_language: Revox::Models::AssistantCreateResponse::Assistant::email_notification_language,
254
259
  email_notification_outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::email_notification_outcome]?,
255
260
  end_of_call_sentence: String?,
256
261
  first_sentence: String?,
@@ -266,6 +271,7 @@ module Revox
266
271
  name: String,
267
272
  organization_id: String,
268
273
  position: Revox::Models::AssistantCreateResponse::Assistant::Position?,
274
+ precall_lookup_url: String?,
269
275
  prompt: String,
270
276
  prompt_flow: Revox::Models::AssistantCreateResponse::Assistant::PromptFlow?,
271
277
  slack: Revox::Models::AssistantCreateResponse::Assistant::Slack?,
@@ -278,7 +284,7 @@ module Revox
278
284
  thinking_sound: Revox::Models::AssistantCreateResponse::Assistant::thinking_sound?,
279
285
  thinking_sound_probability: Float,
280
286
  thinking_sound_volume: Float,
281
- transfer_phone_number: String?,
287
+ transfer_destinations: ::Array[Revox::Models::AssistantCreateResponse::Assistant::TransferDestination]?,
282
288
  type: Revox::Models::AssistantCreateResponse::Assistant::type_,
283
289
  updated_at: top,
284
290
  voice: Revox::Models::AssistantCreateResponse::Assistant::Voice?,
@@ -289,6 +295,7 @@ module Revox
289
295
  zoho: Revox::Models::AssistantCreateResponse::Assistant::Zoho?,
290
296
  created_by: Revox::Models::AssistantCreateResponse::Assistant::CreatedBy?,
291
297
  faq_items: ::Array[Revox::Models::AssistantCreateResponse::Assistant::FaqItem],
298
+ is_inbound_receptionist: bool,
292
299
  is_realestate_assistant: bool,
293
300
  pending_faq_count: Float
294
301
  }
@@ -298,9 +305,6 @@ module Revox
298
305
  | :interested
299
306
  | :completed
300
307
  | :requested_callback_later
301
- | :requested_callback_new_number
302
- | :do_not_contact
303
- | :ai_averse
304
308
  | :none
305
309
 
306
310
  module AfterCallSMSOutcome
@@ -310,9 +314,6 @@ module Revox
310
314
  INTERESTED: :interested
311
315
  COMPLETED: :completed
312
316
  REQUESTED_CALLBACK_LATER: :requested_callback_later
313
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
314
- DO_NOT_CONTACT: :do_not_contact
315
- AI_AVERSE: :ai_averse
316
317
  NONE: :none
317
318
 
318
319
  def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::after_call_sms_outcome]
@@ -574,25 +575,11 @@ module Revox
574
575
  end
575
576
  end
576
577
 
577
- type email_notification_language = :en | :fr
578
-
579
- module EmailNotificationLanguage
580
- extend Revox::Internal::Type::Enum
581
-
582
- EN: :en
583
- FR: :fr
584
-
585
- def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::email_notification_language]
586
- end
587
-
588
578
  type email_notification_outcome =
589
579
  :not_interested
590
580
  | :interested
591
581
  | :completed
592
582
  | :requested_callback_later
593
- | :requested_callback_new_number
594
- | :do_not_contact
595
- | :ai_averse
596
583
  | :none
597
584
 
598
585
  module EmailNotificationOutcome
@@ -602,9 +589,6 @@ module Revox
602
589
  INTERESTED: :interested
603
590
  COMPLETED: :completed
604
591
  REQUESTED_CALLBACK_LATER: :requested_callback_later
605
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
606
- DO_NOT_CONTACT: :do_not_contact
607
- AI_AVERSE: :ai_averse
608
592
  NONE: :none
609
593
 
610
594
  def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::email_notification_outcome]
@@ -888,48 +872,52 @@ module Revox
888
872
 
889
873
  type slack =
890
874
  {
891
- channel_id: String,
875
+ channels: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::Channel],
892
876
  connection_id: String,
893
877
  outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::outcome],
894
- channel_name: String?,
895
878
  template: String?
896
879
  }
897
880
 
898
881
  class Slack < Revox::Internal::Type::BaseModel
899
- attr_accessor channel_id: String
882
+ attr_accessor channels: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::Channel]
900
883
 
901
884
  attr_accessor connection_id: String
902
885
 
903
886
  attr_accessor outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::outcome]
904
887
 
905
- attr_accessor channel_name: String?
906
-
907
888
  attr_accessor template: String?
908
889
 
909
890
  def initialize: (
910
- channel_id: String,
891
+ channels: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::Channel],
911
892
  connection_id: String,
912
893
  outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::outcome],
913
- ?channel_name: String?,
914
894
  ?template: String?
915
895
  ) -> void
916
896
 
917
897
  def to_hash: -> {
918
- channel_id: String,
898
+ channels: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::Channel],
919
899
  connection_id: String,
920
900
  outcomes: ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::outcome],
921
- channel_name: String?,
922
901
  template: String?
923
902
  }
924
903
 
904
+ type channel = { id: String, name: String? }
905
+
906
+ class Channel < Revox::Internal::Type::BaseModel
907
+ attr_accessor id: String
908
+
909
+ attr_accessor name: String?
910
+
911
+ def initialize: (id: String, ?name: String?) -> void
912
+
913
+ def to_hash: -> { id: String, name: String? }
914
+ end
915
+
925
916
  type outcome =
926
917
  :not_interested
927
918
  | :interested
928
919
  | :completed
929
920
  | :requested_callback_later
930
- | :requested_callback_new_number
931
- | :do_not_contact
932
- | :ai_averse
933
921
  | :none
934
922
 
935
923
  module Outcome
@@ -939,9 +927,6 @@ module Revox
939
927
  INTERESTED: :interested
940
928
  COMPLETED: :completed
941
929
  REQUESTED_CALLBACK_LATER: :requested_callback_later
942
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
943
- DO_NOT_CONTACT: :do_not_contact
944
- AI_AVERSE: :ai_averse
945
930
  NONE: :none
946
931
 
947
932
  def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::Slack::outcome]
@@ -1072,6 +1057,18 @@ module Revox
1072
1057
  def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::thinking_sound]
1073
1058
  end
1074
1059
 
1060
+ type transfer_destination = { label: String, phone_number: String }
1061
+
1062
+ class TransferDestination < Revox::Internal::Type::BaseModel
1063
+ attr_accessor label: String
1064
+
1065
+ attr_accessor phone_number: String
1066
+
1067
+ def initialize: (label: String, phone_number: String) -> void
1068
+
1069
+ def to_hash: -> { label: String, phone_number: String }
1070
+ end
1071
+
1075
1072
  type type_ = :standalone | :"multi-step" | :"sub-assistant"
1076
1073
 
1077
1074
  module Type
@@ -1128,13 +1125,14 @@ module Revox
1128
1125
  volume: Float
1129
1126
  }
1130
1127
 
1131
- type provider = :cartesia | :elevenlabs
1128
+ type provider = :cartesia | :elevenlabs | :gradium
1132
1129
 
1133
1130
  module Provider
1134
1131
  extend Revox::Internal::Type::Enum
1135
1132
 
1136
1133
  CARTESIA: :cartesia
1137
1134
  ELEVENLABS: :elevenlabs
1135
+ GRADIUM: :gradium
1138
1136
 
1139
1137
  def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::Voice::provider]
1140
1138
  end
@@ -1209,9 +1207,6 @@ module Revox
1209
1207
  | :interested
1210
1208
  | :completed
1211
1209
  | :requested_callback_later
1212
- | :requested_callback_new_number
1213
- | :do_not_contact
1214
- | :ai_averse
1215
1210
  | :none
1216
1211
 
1217
1212
  module Outcome
@@ -1221,9 +1216,6 @@ module Revox
1221
1216
  INTERESTED: :interested
1222
1217
  COMPLETED: :completed
1223
1218
  REQUESTED_CALLBACK_LATER: :requested_callback_later
1224
- REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1225
- DO_NOT_CONTACT: :do_not_contact
1226
- AI_AVERSE: :ai_averse
1227
1219
  NONE: :none
1228
1220
 
1229
1221
  def self?.values: -> ::Array[Revox::Models::AssistantCreateResponse::Assistant::Zoho::outcome]