revox 0.1.0 → 0.3.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 (224) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +23 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/type/base_model.rb +3 -3
  7. data/lib/revox/internal/util.rb +22 -7
  8. data/lib/revox/models/assistant_clone_params.rb +20 -0
  9. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  10. data/lib/revox/models/assistant_create_params.rb +1038 -13
  11. data/lib/revox/models/assistant_create_response.rb +1071 -11
  12. data/lib/revox/models/assistant_list_response.rb +1070 -11
  13. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  14. data/lib/revox/models/assistant_update_params.rb +1038 -13
  15. data/lib/revox/models/assistant_update_response.rb +1097 -12
  16. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  17. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  18. data/lib/revox/models/call_cancel_params.rb +20 -0
  19. data/lib/revox/models/call_cancel_response.rb +16 -0
  20. data/lib/revox/models/call_create_params.rb +1065 -13
  21. data/lib/revox/models/call_create_response.rb +1820 -98
  22. data/lib/revox/models/call_export_params.rb +205 -0
  23. data/lib/revox/models/call_export_response.rb +22 -0
  24. data/lib/revox/models/call_pause_params.rb +20 -0
  25. data/lib/revox/models/call_pause_response.rb +16 -0
  26. data/lib/revox/models/call_phone_history_params.rb +14 -0
  27. data/lib/revox/models/call_phone_history_response.rb +98 -0
  28. data/lib/revox/models/call_resume_params.rb +20 -0
  29. data/lib/revox/models/call_resume_response.rb +16 -0
  30. data/lib/revox/models/call_retrieve_response.rb +1822 -98
  31. data/lib/revox/models/call_search_params.rb +171 -0
  32. data/lib/revox/models/call_search_response.rb +3114 -0
  33. data/lib/revox/models/campaign_create_params.rb +67 -2
  34. data/lib/revox/models/campaign_create_response.rb +1314 -59
  35. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  36. data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
  37. data/lib/revox/models/campaign_launch_params.rb +20 -0
  38. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  39. data/lib/revox/models/campaign_list_response.rb +1312 -59
  40. data/lib/revox/models/campaign_pause_params.rb +20 -0
  41. data/lib/revox/models/campaign_pause_response.rb +16 -0
  42. data/lib/revox/models/campaign_resume_params.rb +20 -0
  43. data/lib/revox/models/campaign_resume_response.rb +16 -0
  44. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  45. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  46. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  47. data/lib/revox/models/campaign_update_params.rb +234 -0
  48. data/lib/revox/models/campaign_update_response.rb +2030 -0
  49. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  50. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  51. data/lib/revox/models/phone_number_list_params.rb +14 -0
  52. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  53. data/lib/revox/models/phone_number_update_params.rb +32 -0
  54. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  55. data/lib/revox/models/user_retrieve_params.rb +14 -0
  56. data/lib/revox/models/user_retrieve_response.rb +99 -0
  57. data/lib/revox/models/voice_clone_params.rb +78 -0
  58. data/lib/revox/models/voice_clone_response.rb +40 -0
  59. data/lib/revox/models/voice_delete_params.rb +20 -0
  60. data/lib/revox/models/voice_delete_response.rb +16 -0
  61. data/lib/revox/models/voice_list_response.rb +55 -1
  62. data/lib/revox/models/voice_preview_params.rb +49 -1
  63. data/lib/revox/models.rb +36 -2
  64. data/lib/revox/resources/assistants.rb +137 -8
  65. data/lib/revox/resources/auth_status.rb +32 -0
  66. data/lib/revox/resources/call.rb +131 -15
  67. data/lib/revox/resources/campaigns.rb +143 -17
  68. data/lib/revox/resources/phone_numbers.rb +74 -0
  69. data/lib/revox/resources/users.rb +17 -3
  70. data/lib/revox/resources/voices.rb +66 -10
  71. data/lib/revox/version.rb +1 -1
  72. data/lib/revox.rb +40 -7
  73. data/rbi/revox/client.rbi +6 -0
  74. data/rbi/revox/internal/util.rbi +8 -0
  75. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  76. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  78. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  79. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  80. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  81. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  82. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  83. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  85. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  86. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  87. data/rbi/revox/models/call_create_params.rbi +2382 -225
  88. data/rbi/revox/models/call_create_response.rbi +4116 -384
  89. data/rbi/revox/models/call_export_params.rbi +456 -0
  90. data/rbi/revox/models/call_export_response.rbi +26 -0
  91. data/rbi/revox/models/call_pause_params.rbi +31 -0
  92. data/rbi/revox/models/call_pause_response.rbi +23 -0
  93. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  94. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  95. data/rbi/revox/models/call_resume_params.rbi +33 -0
  96. data/rbi/revox/models/call_resume_response.rbi +23 -0
  97. data/rbi/revox/models/call_retrieve_response.rbi +4133 -399
  98. data/rbi/revox/models/call_search_params.rbi +288 -0
  99. data/rbi/revox/models/call_search_response.rbi +6593 -0
  100. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  101. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  102. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  103. data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
  104. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  106. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  107. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  108. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  109. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  110. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  111. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  112. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  113. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  114. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  115. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  116. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  117. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  118. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  119. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  120. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  121. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  122. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  123. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  124. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  125. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  126. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  127. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  128. data/rbi/revox/models/voice_list_response.rbi +105 -3
  129. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  130. data/rbi/revox/models.rbi +36 -2
  131. data/rbi/revox/resources/assistants.rbi +296 -8
  132. data/rbi/revox/resources/auth_status.rbi +21 -0
  133. data/rbi/revox/resources/call.rbi +92 -6
  134. data/rbi/revox/resources/campaigns.rbi +106 -19
  135. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  136. data/rbi/revox/resources/users.rbi +8 -2
  137. data/rbi/revox/resources/voices.rbi +56 -9
  138. data/sig/revox/client.rbs +4 -0
  139. data/sig/revox/internal/util.rbs +4 -0
  140. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  141. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  142. data/sig/revox/models/assistant_create_params.rbs +844 -11
  143. data/sig/revox/models/assistant_create_response.rbs +860 -3
  144. data/sig/revox/models/assistant_list_response.rbs +860 -3
  145. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  146. data/sig/revox/models/assistant_update_params.rbs +844 -11
  147. data/sig/revox/models/assistant_update_response.rbs +886 -6
  148. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  149. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  150. data/sig/revox/models/call_cancel_params.rbs +20 -0
  151. data/sig/revox/models/call_cancel_response.rbs +13 -0
  152. data/sig/revox/models/call_create_params.rbs +847 -13
  153. data/sig/revox/models/call_create_response.rbs +1519 -34
  154. data/sig/revox/models/call_export_params.rbs +234 -0
  155. data/sig/revox/models/call_export_response.rbs +15 -0
  156. data/sig/revox/models/call_pause_params.rbs +20 -0
  157. data/sig/revox/models/call_pause_response.rbs +13 -0
  158. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  159. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  160. data/sig/revox/models/call_resume_params.rbs +20 -0
  161. data/sig/revox/models/call_resume_response.rbs +13 -0
  162. data/sig/revox/models/call_retrieve_response.rbs +1519 -34
  163. data/sig/revox/models/call_search_params.rbs +198 -0
  164. data/sig/revox/models/call_search_response.rbs +2654 -0
  165. data/sig/revox/models/campaign_create_params.rbs +54 -0
  166. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  167. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  168. data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
  169. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  170. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  171. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  172. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  173. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  174. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  175. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  176. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  177. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  178. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  179. data/sig/revox/models/campaign_update_params.rbs +203 -0
  180. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  181. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  182. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  183. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  184. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  185. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  186. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  187. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  188. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  189. data/sig/revox/models/voice_clone_params.rbs +79 -0
  190. data/sig/revox/models/voice_clone_response.rbs +40 -0
  191. data/sig/revox/models/voice_delete_params.rbs +20 -0
  192. data/sig/revox/models/voice_delete_response.rbs +13 -0
  193. data/sig/revox/models/voice_list_response.rbs +45 -3
  194. data/sig/revox/models/voice_preview_params.rbs +42 -1
  195. data/sig/revox/models.rbs +36 -2
  196. data/sig/revox/resources/assistants.rbs +61 -2
  197. data/sig/revox/resources/auth_status.rbs +11 -0
  198. data/sig/revox/resources/call.rbs +41 -3
  199. data/sig/revox/resources/campaigns.rbs +35 -5
  200. data/sig/revox/resources/phone_numbers.rbs +23 -0
  201. data/sig/revox/resources/users.rbs +3 -1
  202. data/sig/revox/resources/voices.rbs +17 -0
  203. metadata +122 -23
  204. data/lib/revox/models/call_list_params.rb +0 -52
  205. data/lib/revox/models/call_list_response.rb +0 -259
  206. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  207. data/lib/revox/models/users/me_retrieve_response.rb +0 -89
  208. data/lib/revox/models/users/me_update_params.rb +0 -22
  209. data/lib/revox/models/users/me_update_response.rb +0 -89
  210. data/lib/revox/resources/users/me.rb +0 -55
  211. data/rbi/revox/models/call_list_params.rbi +0 -94
  212. data/rbi/revox/models/call_list_response.rbi +0 -563
  213. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  214. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
  215. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  216. data/rbi/revox/models/users/me_update_response.rbi +0 -139
  217. data/rbi/revox/resources/users/me.rbi +0 -33
  218. data/sig/revox/models/call_list_params.rbs +0 -63
  219. data/sig/revox/models/call_list_response.rbs +0 -226
  220. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  221. data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
  222. data/sig/revox/models/users/me_update_params.rbs +0 -28
  223. data/sig/revox/models/users/me_update_response.rbs +0 -70
  224. data/sig/revox/resources/users/me.rbs +0 -18
@@ -0,0 +1,14 @@
1
+ module Revox
2
+ module Models
3
+ type user_retrieve_params = { } & Revox::Internal::Type::request_parameters
4
+
5
+ class UserRetrieveParams < Revox::Internal::Type::BaseModel
6
+ extend Revox::Internal::Type::RequestParameters::Converter
7
+ include Revox::Internal::Type::RequestParameters
8
+
9
+ def initialize: (?request_options: Revox::request_opts) -> void
10
+
11
+ def to_hash: -> { request_options: Revox::RequestOptions }
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,71 @@
1
+ module Revox
2
+ module Models
3
+ type user_retrieve_response =
4
+ { user: Revox::Models::UserRetrieveResponse::User }
5
+
6
+ class UserRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ attr_accessor user: Revox::Models::UserRetrieveResponse::User
8
+
9
+ def initialize: (user: Revox::Models::UserRetrieveResponse::User) -> void
10
+
11
+ def to_hash: -> { user: Revox::Models::UserRetrieveResponse::User }
12
+
13
+ type user =
14
+ {
15
+ id: String,
16
+ created_at: top,
17
+ email: String,
18
+ first_name: String?,
19
+ has_completed_onboarding: bool,
20
+ last_name: String?,
21
+ organization_id: String,
22
+ updated_at: top,
23
+ organization_country: String?
24
+ }
25
+
26
+ class User < Revox::Internal::Type::BaseModel
27
+ attr_accessor id: String
28
+
29
+ attr_accessor created_at: top
30
+
31
+ attr_accessor email: String
32
+
33
+ attr_accessor first_name: String?
34
+
35
+ attr_accessor has_completed_onboarding: bool
36
+
37
+ attr_accessor last_name: String?
38
+
39
+ attr_accessor organization_id: String
40
+
41
+ attr_accessor updated_at: top
42
+
43
+ attr_accessor organization_country: String?
44
+
45
+ def initialize: (
46
+ id: String,
47
+ created_at: top,
48
+ email: String,
49
+ first_name: String?,
50
+ has_completed_onboarding: bool,
51
+ last_name: String?,
52
+ organization_id: String,
53
+ updated_at: top,
54
+ ?organization_country: String?
55
+ ) -> void
56
+
57
+ def to_hash: -> {
58
+ id: String,
59
+ created_at: top,
60
+ email: String,
61
+ first_name: String?,
62
+ has_completed_onboarding: bool,
63
+ last_name: String?,
64
+ organization_id: String,
65
+ updated_at: top,
66
+ organization_country: String?
67
+ }
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,79 @@
1
+ module Revox
2
+ module Models
3
+ type voice_clone_params =
4
+ {
5
+ audio: String,
6
+ content_type: Revox::Models::VoiceCloneParams::content_type,
7
+ language: Revox::Models::VoiceCloneParams::language,
8
+ name: String
9
+ }
10
+ & Revox::Internal::Type::request_parameters
11
+
12
+ class VoiceCloneParams < Revox::Internal::Type::BaseModel
13
+ extend Revox::Internal::Type::RequestParameters::Converter
14
+ include Revox::Internal::Type::RequestParameters
15
+
16
+ attr_accessor audio: String
17
+
18
+ attr_accessor content_type: Revox::Models::VoiceCloneParams::content_type
19
+
20
+ attr_accessor language: Revox::Models::VoiceCloneParams::language
21
+
22
+ attr_accessor name: String
23
+
24
+ def initialize: (
25
+ audio: String,
26
+ content_type: Revox::Models::VoiceCloneParams::content_type,
27
+ language: Revox::Models::VoiceCloneParams::language,
28
+ name: String,
29
+ ?request_options: Revox::request_opts
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ audio: String,
34
+ content_type: Revox::Models::VoiceCloneParams::content_type,
35
+ language: Revox::Models::VoiceCloneParams::language,
36
+ name: String,
37
+ request_options: Revox::RequestOptions
38
+ }
39
+
40
+ type content_type =
41
+ :"audio/webm"
42
+ | :"audio/wav"
43
+ | :"audio/mpeg"
44
+ | :"audio/ogg"
45
+ | :"audio/mp4"
46
+ | :"video/webm"
47
+
48
+ module ContentType
49
+ extend Revox::Internal::Type::Enum
50
+
51
+ AUDIO_WEBM: :"audio/webm"
52
+ AUDIO_WAV: :"audio/wav"
53
+ AUDIO_MPEG: :"audio/mpeg"
54
+ AUDIO_OGG: :"audio/ogg"
55
+ AUDIO_MP4: :"audio/mp4"
56
+ VIDEO_WEBM: :"video/webm"
57
+
58
+ def self?.values: -> ::Array[Revox::Models::VoiceCloneParams::content_type]
59
+ end
60
+
61
+ type language = :en | :fr | :es | :de | :it | :pt | :ru | :zh
62
+
63
+ module Language
64
+ extend Revox::Internal::Type::Enum
65
+
66
+ EN: :en
67
+ FR: :fr
68
+ ES: :es
69
+ DE: :de
70
+ IT: :it
71
+ PT: :pt
72
+ RU: :ru
73
+ ZH: :zh
74
+
75
+ def self?.values: -> ::Array[Revox::Models::VoiceCloneParams::language]
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,40 @@
1
+ module Revox
2
+ module Models
3
+ type voice_clone_response =
4
+ {
5
+ id: String,
6
+ cartesia_voice_id: String,
7
+ created_at: String,
8
+ language: String,
9
+ name: String
10
+ }
11
+
12
+ class VoiceCloneResponse < Revox::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ attr_accessor cartesia_voice_id: String
16
+
17
+ attr_accessor created_at: String
18
+
19
+ attr_accessor language: String
20
+
21
+ attr_accessor name: String
22
+
23
+ def initialize: (
24
+ id: String,
25
+ cartesia_voice_id: String,
26
+ created_at: String,
27
+ language: String,
28
+ name: String
29
+ ) -> void
30
+
31
+ def to_hash: -> {
32
+ id: String,
33
+ cartesia_voice_id: String,
34
+ created_at: String,
35
+ language: String,
36
+ name: String
37
+ }
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,20 @@
1
+ module Revox
2
+ module Models
3
+ type voice_delete_params =
4
+ { id: String } & Revox::Internal::Type::request_parameters
5
+
6
+ class VoiceDeleteParams < 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 voice_delete_response = { success: bool }
4
+
5
+ class VoiceDeleteResponse < 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
@@ -20,7 +20,11 @@ module Revox
20
20
  description: String,
21
21
  language: Revox::Models::VoiceListResponse::Voice::language,
22
22
  name: String,
23
- provider: Revox::Models::VoiceListResponse::Voice::provider
23
+ provider: Revox::Models::VoiceListResponse::Voice::provider,
24
+ accent: String,
25
+ gender: String,
26
+ is_cloned: bool,
27
+ model_compat: Revox::Models::VoiceListResponse::Voice::model_compat
24
28
  }
25
29
 
26
30
  class Voice < Revox::Internal::Type::BaseModel
@@ -34,12 +38,34 @@ module Revox
34
38
 
35
39
  attr_accessor provider: Revox::Models::VoiceListResponse::Voice::provider
36
40
 
41
+ attr_reader accent: String?
42
+
43
+ def accent=: (String) -> String
44
+
45
+ attr_reader gender: String?
46
+
47
+ def gender=: (String) -> String
48
+
49
+ attr_reader is_cloned: bool?
50
+
51
+ def is_cloned=: (bool) -> bool
52
+
53
+ attr_reader model_compat: Revox::Models::VoiceListResponse::Voice::model_compat?
54
+
55
+ def model_compat=: (
56
+ Revox::Models::VoiceListResponse::Voice::model_compat
57
+ ) -> Revox::Models::VoiceListResponse::Voice::model_compat
58
+
37
59
  def initialize: (
38
60
  id: String,
39
61
  description: String,
40
62
  language: Revox::Models::VoiceListResponse::Voice::language,
41
63
  name: String,
42
- provider: Revox::Models::VoiceListResponse::Voice::provider
64
+ provider: Revox::Models::VoiceListResponse::Voice::provider,
65
+ ?accent: String,
66
+ ?gender: String,
67
+ ?is_cloned: bool,
68
+ ?model_compat: Revox::Models::VoiceListResponse::Voice::model_compat
43
69
  ) -> void
44
70
 
45
71
  def to_hash: -> {
@@ -47,7 +73,11 @@ module Revox
47
73
  description: String,
48
74
  language: Revox::Models::VoiceListResponse::Voice::language,
49
75
  name: String,
50
- provider: Revox::Models::VoiceListResponse::Voice::provider
76
+ provider: Revox::Models::VoiceListResponse::Voice::provider,
77
+ accent: String,
78
+ gender: String,
79
+ is_cloned: bool,
80
+ model_compat: Revox::Models::VoiceListResponse::Voice::model_compat
51
81
  }
52
82
 
53
83
  type language = :en | :fr | :es | :de | :it | :pt | :ru | :zh
@@ -77,6 +107,18 @@ module Revox
77
107
 
78
108
  def self?.values: -> ::Array[Revox::Models::VoiceListResponse::Voice::provider]
79
109
  end
110
+
111
+ type model_compat = :universal | :"sonic-3" | :"sonic-3.5"
112
+
113
+ module ModelCompat
114
+ extend Revox::Internal::Type::Enum
115
+
116
+ UNIVERSAL: :universal
117
+ SONIC_3: :"sonic-3"
118
+ SONIC_3_5: :"sonic-3.5"
119
+
120
+ def self?.values: -> ::Array[Revox::Models::VoiceListResponse::Voice::model_compat]
121
+ end
80
122
  end
81
123
  end
82
124
  end
@@ -3,7 +3,11 @@ module Revox
3
3
  type voice_preview_params =
4
4
  {
5
5
  provider: Revox::Models::VoicePreviewParams::provider,
6
- voice_id: String
6
+ voice_id: String,
7
+ model: Revox::Models::VoicePreviewParams::model,
8
+ speed: Float,
9
+ text: String,
10
+ volume: Float
7
11
  }
8
12
  & Revox::Internal::Type::request_parameters
9
13
 
@@ -15,15 +19,41 @@ module Revox
15
19
 
16
20
  attr_accessor voice_id: String
17
21
 
22
+ attr_reader model: Revox::Models::VoicePreviewParams::model?
23
+
24
+ def model=: (
25
+ Revox::Models::VoicePreviewParams::model
26
+ ) -> Revox::Models::VoicePreviewParams::model
27
+
28
+ attr_reader speed: Float?
29
+
30
+ def speed=: (Float) -> Float
31
+
32
+ attr_reader text: String?
33
+
34
+ def text=: (String) -> String
35
+
36
+ attr_reader volume: Float?
37
+
38
+ def volume=: (Float) -> Float
39
+
18
40
  def initialize: (
19
41
  provider: Revox::Models::VoicePreviewParams::provider,
20
42
  voice_id: String,
43
+ ?model: Revox::Models::VoicePreviewParams::model,
44
+ ?speed: Float,
45
+ ?text: String,
46
+ ?volume: Float,
21
47
  ?request_options: Revox::request_opts
22
48
  ) -> void
23
49
 
24
50
  def to_hash: -> {
25
51
  provider: Revox::Models::VoicePreviewParams::provider,
26
52
  voice_id: String,
53
+ model: Revox::Models::VoicePreviewParams::model,
54
+ speed: Float,
55
+ text: String,
56
+ volume: Float,
27
57
  request_options: Revox::RequestOptions
28
58
  }
29
59
 
@@ -37,6 +67,17 @@ module Revox
37
67
 
38
68
  def self?.values: -> ::Array[Revox::Models::VoicePreviewParams::provider]
39
69
  end
70
+
71
+ type model = :"sonic-3" | :"sonic-3.5"
72
+
73
+ module Model
74
+ extend Revox::Internal::Type::Enum
75
+
76
+ SONIC_3: :"sonic-3"
77
+ SONIC_3_5: :"sonic-3.5"
78
+
79
+ def self?.values: -> ::Array[Revox::Models::VoicePreviewParams::model]
80
+ end
40
81
  end
41
82
  end
42
83
  end
data/sig/revox/models.rbs CHANGED
@@ -1,4 +1,6 @@
1
1
  module Revox
2
+ class AssistantCloneParams = Revox::Models::AssistantCloneParams
3
+
2
4
  class AssistantCreateParams = Revox::Models::AssistantCreateParams
3
5
 
4
6
  class AssistantDeleteParams = Revox::Models::AssistantDeleteParams
@@ -9,12 +11,24 @@ module Revox
9
11
 
10
12
  class AssistantUpdateParams = Revox::Models::AssistantUpdateParams
11
13
 
14
+ class AuthStatusRetrieveParams = Revox::Models::AuthStatusRetrieveParams
15
+
16
+ class CallCancelParams = Revox::Models::CallCancelParams
17
+
12
18
  class CallCreateParams = Revox::Models::CallCreateParams
13
19
 
14
- class CallListParams = Revox::Models::CallListParams
20
+ class CallExportParams = Revox::Models::CallExportParams
21
+
22
+ class CallPauseParams = Revox::Models::CallPauseParams
23
+
24
+ class CallPhoneHistoryParams = Revox::Models::CallPhoneHistoryParams
25
+
26
+ class CallResumeParams = Revox::Models::CallResumeParams
15
27
 
16
28
  class CallRetrieveParams = Revox::Models::CallRetrieveParams
17
29
 
30
+ class CallSearchParams = Revox::Models::CallSearchParams
31
+
18
32
  class CampaignCancelParams = Revox::Models::CampaignCancelParams
19
33
 
20
34
  class CampaignCreateParams = Revox::Models::CampaignCreateParams
@@ -25,11 +39,31 @@ module Revox
25
39
 
26
40
  class CampaignGetRowsParams = Revox::Models::CampaignGetRowsParams
27
41
 
42
+ class CampaignLaunchParams = Revox::Models::CampaignLaunchParams
43
+
28
44
  class CampaignListParams = Revox::Models::CampaignListParams
29
45
 
46
+ class CampaignPauseParams = Revox::Models::CampaignPauseParams
47
+
48
+ class CampaignResumeParams = Revox::Models::CampaignResumeParams
49
+
30
50
  class CampaignRetrieveParams = Revox::Models::CampaignRetrieveParams
31
51
 
32
- module Users = Revox::Models::Users
52
+ class CampaignStatisticsParams = Revox::Models::CampaignStatisticsParams
53
+
54
+ class CampaignUpdateParams = Revox::Models::CampaignUpdateParams
55
+
56
+ class PhoneNumberDeleteParams = Revox::Models::PhoneNumberDeleteParams
57
+
58
+ class PhoneNumberListParams = Revox::Models::PhoneNumberListParams
59
+
60
+ class PhoneNumberUpdateParams = Revox::Models::PhoneNumberUpdateParams
61
+
62
+ class UserRetrieveParams = Revox::Models::UserRetrieveParams
63
+
64
+ class VoiceCloneParams = Revox::Models::VoiceCloneParams
65
+
66
+ class VoiceDeleteParams = Revox::Models::VoiceDeleteParams
33
67
 
34
68
  class VoiceListParams = Revox::Models::VoiceListParams
35
69
 
@@ -4,22 +4,49 @@ module Revox
4
4
  def create: (
5
5
  name: String,
6
6
  prompt: String,
7
+ ?after_call_sms_outcomes: ::Array[Revox::Models::AssistantCreateParams::after_call_sms_outcome]?,
8
+ ?after_call_sms_prompt: String?,
7
9
  ?background_sound: Revox::Models::AssistantCreateParams::background_sound?,
8
- ?calendly: Revox::AssistantCreateParams::Calendly,
10
+ ?background_sound_volume: Float,
11
+ ?calendly: Revox::AssistantCreateParams::Calendly?,
9
12
  ?call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
13
+ ?cartesia_dictionary_pronunciation_id: String?,
14
+ ?custom_tools: ::Array[Revox::AssistantCreateParams::CustomTool]?,
15
+ ?email_notification_address: String?,
16
+ ?email_notification_language: Revox::Models::AssistantCreateParams::email_notification_language,
17
+ ?email_notification_outcomes: ::Array[Revox::Models::AssistantCreateParams::email_notification_outcome]?,
10
18
  ?end_of_call_sentence: String,
11
19
  ?faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
12
20
  ?first_sentence: String,
13
21
  ?first_sentence_delay_ms: Integer,
14
22
  ?first_sentence_mode: Revox::Models::AssistantCreateParams::first_sentence_mode,
23
+ ?from_phone_number: String?,
24
+ ?human_transfer_mode: Revox::Models::AssistantCreateParams::human_transfer_mode?,
15
25
  ?ivr_navigation_enabled: bool,
16
26
  ?llm_model: Revox::Models::AssistantCreateParams::llm_model,
27
+ ?logo_url: String?,
17
28
  ?max_call_duration_secs: Float,
29
+ ?max_duration_end_message: String?,
30
+ ?position: Revox::AssistantCreateParams::Position?,
31
+ ?prompt_flow: Revox::AssistantCreateParams::PromptFlow?,
32
+ ?slack: Revox::AssistantCreateParams::Slack?,
33
+ ?sms_enabled: bool,
34
+ ?sms_template: String?,
18
35
  ?structured_output_config: ::Array[Revox::AssistantCreateParams::StructuredOutputConfig],
36
+ ?structured_output_prompt: String?,
37
+ ?stt_context: Revox::AssistantCreateParams::SttContext?,
38
+ ?stt_model: Revox::Models::AssistantCreateParams::stt_model,
39
+ ?thinking_sound: Revox::Models::AssistantCreateParams::thinking_sound?,
40
+ ?thinking_sound_probability: Float,
41
+ ?thinking_sound_volume: Float,
19
42
  ?transfer_phone_number: String?,
43
+ ?type: Revox::Models::AssistantCreateParams::type_,
20
44
  ?voice: Revox::AssistantCreateParams::Voice,
21
45
  ?voicemail_message: String?,
46
+ ?voicemail_sms_prompt: String?,
47
+ ?warm_transfer_summary_instructions: String?,
22
48
  ?webhook_url: String,
49
+ ?zoho: Revox::AssistantCreateParams::Zoho?,
23
50
  ?request_options: Revox::request_opts
24
51
  ) -> Revox::Models::AssistantCreateResponse
25
52
 
@@ -30,24 +57,51 @@ module Revox
30
57
 
31
58
  def update: (
32
59
  String id,
60
+ ?after_call_sms_outcomes: ::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome]?,
61
+ ?after_call_sms_prompt: String?,
33
62
  ?background_sound: Revox::Models::AssistantUpdateParams::background_sound?,
34
- ?calendly: Revox::AssistantUpdateParams::Calendly,
63
+ ?background_sound_volume: Float,
64
+ ?calendly: Revox::AssistantUpdateParams::Calendly?,
35
65
  ?call_retry_config: Revox::AssistantUpdateParams::CallRetryConfig,
66
+ ?cartesia_dictionary_pronunciation_id: String?,
67
+ ?custom_tools: ::Array[Revox::AssistantUpdateParams::CustomTool]?,
68
+ ?email_notification_address: String?,
69
+ ?email_notification_language: Revox::Models::AssistantUpdateParams::email_notification_language,
70
+ ?email_notification_outcomes: ::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome]?,
36
71
  ?end_of_call_sentence: String,
37
72
  ?faq_items: ::Array[Revox::AssistantUpdateParams::FaqItem],
38
73
  ?first_sentence: String,
39
74
  ?first_sentence_delay_ms: Integer,
40
75
  ?first_sentence_mode: Revox::Models::AssistantUpdateParams::first_sentence_mode,
76
+ ?from_phone_number: String?,
77
+ ?human_transfer_mode: Revox::Models::AssistantUpdateParams::human_transfer_mode?,
41
78
  ?ivr_navigation_enabled: bool,
42
79
  ?llm_model: Revox::Models::AssistantUpdateParams::llm_model,
80
+ ?logo_url: String?,
43
81
  ?max_call_duration_secs: Float,
82
+ ?max_duration_end_message: String?,
44
83
  ?name: String,
84
+ ?position: Revox::AssistantUpdateParams::Position?,
45
85
  ?prompt: String,
86
+ ?prompt_flow: Revox::AssistantUpdateParams::PromptFlow?,
87
+ ?slack: Revox::AssistantUpdateParams::Slack?,
88
+ ?sms_enabled: bool,
89
+ ?sms_template: String?,
46
90
  ?structured_output_config: ::Array[Revox::AssistantUpdateParams::StructuredOutputConfig],
91
+ ?structured_output_prompt: String?,
92
+ ?stt_context: Revox::AssistantUpdateParams::SttContext?,
93
+ ?stt_model: Revox::Models::AssistantUpdateParams::stt_model,
94
+ ?thinking_sound: Revox::Models::AssistantUpdateParams::thinking_sound?,
95
+ ?thinking_sound_probability: Float,
96
+ ?thinking_sound_volume: Float,
47
97
  ?transfer_phone_number: String?,
98
+ ?type: Revox::Models::AssistantUpdateParams::type_,
48
99
  ?voice: Revox::AssistantUpdateParams::Voice,
49
100
  ?voicemail_message: String?,
101
+ ?voicemail_sms_prompt: String?,
102
+ ?warm_transfer_summary_instructions: String?,
50
103
  ?webhook_url: String,
104
+ ?zoho: Revox::AssistantUpdateParams::Zoho?,
51
105
  ?request_options: Revox::request_opts
52
106
  ) -> Revox::Models::AssistantUpdateResponse
53
107
 
@@ -60,6 +114,11 @@ module Revox
60
114
  ?request_options: Revox::request_opts
61
115
  ) -> Revox::Models::AssistantDeleteResponse
62
116
 
117
+ def clone_: (
118
+ String id,
119
+ ?request_options: Revox::request_opts
120
+ ) -> Revox::Models::AssistantCloneResponse
121
+
63
122
  def initialize: (client: Revox::Client) -> void
64
123
  end
65
124
  end
@@ -0,0 +1,11 @@
1
+ module Revox
2
+ module Resources
3
+ class AuthStatus
4
+ def retrieve: (
5
+ ?request_options: Revox::request_opts
6
+ ) -> Revox::Models::AuthStatusRetrieveResponse
7
+
8
+ def initialize: (client: Revox::Client) -> void
9
+ end
10
+ end
11
+ end
@@ -19,12 +19,50 @@ module Revox
19
19
  ?request_options: Revox::request_opts
20
20
  ) -> Revox::Models::CallRetrieveResponse
21
21
 
22
- def list: (
22
+ def cancel: (
23
+ String id,
24
+ ?request_options: Revox::request_opts
25
+ ) -> Revox::Models::CallCancelResponse
26
+
27
+ def export: (
28
+ filters: Revox::CallExportParams::Filters,
29
+ ?include_metadata: bool,
30
+ ?include_structured_output_fields: bool,
31
+ ?request_options: Revox::request_opts
32
+ ) -> Revox::Models::CallExportResponse
33
+
34
+ def pause: (
35
+ String id,
36
+ ?request_options: Revox::request_opts
37
+ ) -> Revox::Models::CallPauseResponse
38
+
39
+ def phone_history: (
40
+ ?request_options: Revox::request_opts
41
+ ) -> Revox::Models::CallPhoneHistoryResponse
42
+
43
+ def resume: (
44
+ String id,
45
+ ?request_options: Revox::request_opts
46
+ ) -> Revox::Models::CallResumeResponse
47
+
48
+ def search: (
49
+ assignee_ids: ::Array[String],
50
+ assistant_ids: ::Array[String],
51
+ campaign_ids: ::Array[String],
52
+ directions: ::Array[Revox::Models::CallSearchParams::direction],
53
+ from_phone_numbers: ::Array[String],
54
+ outcomes: ::Array[Revox::Models::CallSearchParams::outcome],
23
55
  page: Integer,
24
56
  page_size: Integer,
25
- ?statuses: ::Array[Revox::Models::CallListParams::status],
57
+ results: ::Array[Revox::Models::CallSearchParams::result],
58
+ statuses: ::Array[Revox::Models::CallSearchParams::status],
59
+ ?call_ids: ::Array[String],
60
+ ?query: String,
61
+ ?sort_by: String,
62
+ ?sort_direction: Revox::Models::CallSearchParams::sort_direction,
63
+ ?to_phone_number: String,
26
64
  ?request_options: Revox::request_opts
27
- ) -> Revox::Models::CallListResponse
65
+ ) -> Revox::Models::CallSearchResponse
28
66
 
29
67
  def initialize: (client: Revox::Client) -> void
30
68
  end