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
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Users#retrieve
6
+ class UserRetrieveParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Users#retrieve
6
+ class UserRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute user
8
+ # The current authenticated user.
9
+ #
10
+ # @return [Revox::Models::UserRetrieveResponse::User]
11
+ required :user, -> { Revox::Models::UserRetrieveResponse::User }
12
+
13
+ # @!method initialize(user:)
14
+ # @param user [Revox::Models::UserRetrieveResponse::User] The current authenticated user.
15
+
16
+ # @see Revox::Models::UserRetrieveResponse#user
17
+ class User < Revox::Internal::Type::BaseModel
18
+ # @!attribute id
19
+ # The unique identifier of the user.
20
+ #
21
+ # @return [String]
22
+ required :id, String
23
+
24
+ # @!attribute created_at
25
+ # The time the user was created.
26
+ #
27
+ # @return [Object]
28
+ required :created_at, Revox::Internal::Type::Unknown
29
+
30
+ # @!attribute email
31
+ # The email address of the user.
32
+ #
33
+ # @return [String]
34
+ required :email, String
35
+
36
+ # @!attribute first_name
37
+ # The first name of the user.
38
+ #
39
+ # @return [String, nil]
40
+ required :first_name, String, nil?: true
41
+
42
+ # @!attribute has_completed_onboarding
43
+ # Whether the user has completed the onboarding tutorial.
44
+ #
45
+ # @return [Boolean]
46
+ required :has_completed_onboarding, Revox::Internal::Type::Boolean
47
+
48
+ # @!attribute last_name
49
+ # The last name of the user.
50
+ #
51
+ # @return [String, nil]
52
+ required :last_name, String, nil?: true
53
+
54
+ # @!attribute organization_id
55
+ # The ID of the organization the user belongs to.
56
+ #
57
+ # @return [String]
58
+ required :organization_id, String
59
+
60
+ # @!attribute updated_at
61
+ # The time the user was last updated.
62
+ #
63
+ # @return [Object]
64
+ required :updated_at, Revox::Internal::Type::Unknown
65
+
66
+ # @!attribute organization_country
67
+ # ISO 3166-1 alpha-2 country code of the organization (e.g. FR). Used as the
68
+ # default region when normalizing national-format phone numbers.
69
+ #
70
+ # @return [String, nil]
71
+ optional :organization_country, String, nil?: true
72
+
73
+ # @!method initialize(id:, created_at:, email:, first_name:, has_completed_onboarding:, last_name:, organization_id:, updated_at:, organization_country: nil)
74
+ # Some parameter documentations has been truncated, see
75
+ # {Revox::Models::UserRetrieveResponse::User} for more details.
76
+ #
77
+ # The current authenticated user.
78
+ #
79
+ # @param id [String] The unique identifier of the user.
80
+ #
81
+ # @param created_at [Object] The time the user was created.
82
+ #
83
+ # @param email [String] The email address of the user.
84
+ #
85
+ # @param first_name [String, nil] The first name of the user.
86
+ #
87
+ # @param has_completed_onboarding [Boolean] Whether the user has completed the onboarding tutorial.
88
+ #
89
+ # @param last_name [String, nil] The last name of the user.
90
+ #
91
+ # @param organization_id [String] The ID of the organization the user belongs to.
92
+ #
93
+ # @param updated_at [Object] The time the user was last updated.
94
+ #
95
+ # @param organization_country [String, nil] ISO 3166-1 alpha-2 country code of the organization (e.g. FR). Used as the defau
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#clone_
6
+ class VoiceCloneParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute audio
11
+ # Base64-encoded audio data (max ~7.5MB decoded)
12
+ #
13
+ # @return [String]
14
+ required :audio, String
15
+
16
+ # @!attribute content_type
17
+ # MIME type of the audio
18
+ #
19
+ # @return [Symbol, Revox::Models::VoiceCloneParams::ContentType]
20
+ required :content_type, enum: -> { Revox::VoiceCloneParams::ContentType }, api_name: :contentType
21
+
22
+ # @!attribute language
23
+ # Language of the voice
24
+ #
25
+ # @return [Symbol, Revox::Models::VoiceCloneParams::Language]
26
+ required :language, enum: -> { Revox::VoiceCloneParams::Language }
27
+
28
+ # @!attribute name
29
+ # Name for the cloned voice
30
+ #
31
+ # @return [String]
32
+ required :name, String
33
+
34
+ # @!method initialize(audio:, content_type:, language:, name:, request_options: {})
35
+ # @param audio [String] Base64-encoded audio data (max ~7.5MB decoded)
36
+ #
37
+ # @param content_type [Symbol, Revox::Models::VoiceCloneParams::ContentType] MIME type of the audio
38
+ #
39
+ # @param language [Symbol, Revox::Models::VoiceCloneParams::Language] Language of the voice
40
+ #
41
+ # @param name [String] Name for the cloned voice
42
+ #
43
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
44
+
45
+ # MIME type of the audio
46
+ module ContentType
47
+ extend Revox::Internal::Type::Enum
48
+
49
+ AUDIO_WEBM = :"audio/webm"
50
+ AUDIO_WAV = :"audio/wav"
51
+ AUDIO_MPEG = :"audio/mpeg"
52
+ AUDIO_OGG = :"audio/ogg"
53
+ AUDIO_MP4 = :"audio/mp4"
54
+ VIDEO_WEBM = :"video/webm"
55
+
56
+ # @!method self.values
57
+ # @return [Array<Symbol>]
58
+ end
59
+
60
+ # Language of the voice
61
+ module Language
62
+ extend Revox::Internal::Type::Enum
63
+
64
+ EN = :en
65
+ FR = :fr
66
+ ES = :es
67
+ DE = :de
68
+ IT = :it
69
+ PT = :pt
70
+ RU = :ru
71
+ ZH = :zh
72
+
73
+ # @!method self.values
74
+ # @return [Array<Symbol>]
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#clone_
6
+ class VoiceCloneResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute cartesia_voice_id
13
+ #
14
+ # @return [String]
15
+ required :cartesia_voice_id, String, api_name: :cartesiaVoiceId
16
+
17
+ # @!attribute created_at
18
+ #
19
+ # @return [String]
20
+ required :created_at, String, api_name: :createdAt
21
+
22
+ # @!attribute language
23
+ #
24
+ # @return [String]
25
+ required :language, String
26
+
27
+ # @!attribute name
28
+ #
29
+ # @return [String]
30
+ required :name, String
31
+
32
+ # @!method initialize(id:, cartesia_voice_id:, created_at:, language:, name:)
33
+ # @param id [String]
34
+ # @param cartesia_voice_id [String]
35
+ # @param created_at [String]
36
+ # @param language [String]
37
+ # @param name [String]
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#delete
6
+ class VoiceDeleteParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#delete
6
+ class VoiceDeleteResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Revox::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -43,7 +43,38 @@ module Revox
43
43
  # @return [Symbol, Revox::Models::VoiceListResponse::Voice::Provider]
44
44
  required :provider, enum: -> { Revox::Models::VoiceListResponse::Voice::Provider }
45
45
 
46
- # @!method initialize(id:, description:, language:, name:, provider:)
46
+ # @!attribute accent
47
+ # The accent/dialect of the voice (e.g. 'american', 'british', 'australian',
48
+ # 'quebec').
49
+ #
50
+ # @return [String, nil]
51
+ optional :accent, String
52
+
53
+ # @!attribute gender
54
+ # The gender of the voice (e.g. 'male', 'female', 'neutral').
55
+ #
56
+ # @return [String, nil]
57
+ optional :gender, String
58
+
59
+ # @!attribute is_cloned
60
+ # Whether this is a cloned voice.
61
+ #
62
+ # @return [Boolean, nil]
63
+ optional :is_cloned, Revox::Internal::Type::Boolean, api_name: :isCloned
64
+
65
+ # @!attribute model_compat
66
+ # Cartesia model compatibility. Used to filter the voice list by the selected
67
+ # model. Absent/undefined is treated as 'universal'.
68
+ #
69
+ # @return [Symbol, Revox::Models::VoiceListResponse::Voice::ModelCompat, nil]
70
+ optional :model_compat,
71
+ enum: -> { Revox::Models::VoiceListResponse::Voice::ModelCompat },
72
+ api_name: :modelCompat
73
+
74
+ # @!method initialize(id:, description:, language:, name:, provider:, accent: nil, gender: nil, is_cloned: nil, model_compat: nil)
75
+ # Some parameter documentations has been truncated, see
76
+ # {Revox::Models::VoiceListResponse::Voice} for more details.
77
+ #
47
78
  # @param id [String] The ID of the voice.
48
79
  #
49
80
  # @param description [String] The description of the voice.
@@ -53,6 +84,14 @@ module Revox
53
84
  # @param name [String] The name of the voice.
54
85
  #
55
86
  # @param provider [Symbol, Revox::Models::VoiceListResponse::Voice::Provider] The provider of the voice.
87
+ #
88
+ # @param accent [String] The accent/dialect of the voice (e.g. 'american', 'british', 'australian', 'queb
89
+ #
90
+ # @param gender [String] The gender of the voice (e.g. 'male', 'female', 'neutral').
91
+ #
92
+ # @param is_cloned [Boolean] Whether this is a cloned voice.
93
+ #
94
+ # @param model_compat [Symbol, Revox::Models::VoiceListResponse::Voice::ModelCompat] Cartesia model compatibility. Used to filter the voice list by the selected mode
56
95
 
57
96
  # The language of the voice.
58
97
  #
@@ -85,6 +124,21 @@ module Revox
85
124
  # @!method self.values
86
125
  # @return [Array<Symbol>]
87
126
  end
127
+
128
+ # Cartesia model compatibility. Used to filter the voice list by the selected
129
+ # model. Absent/undefined is treated as 'universal'.
130
+ #
131
+ # @see Revox::Models::VoiceListResponse::Voice#model_compat
132
+ module ModelCompat
133
+ extend Revox::Internal::Type::Enum
134
+
135
+ UNIVERSAL = :universal
136
+ SONIC_3 = :"sonic-3"
137
+ SONIC_3_5 = :"sonic-3.5"
138
+
139
+ # @!method self.values
140
+ # @return [Array<Symbol>]
141
+ end
88
142
  end
89
143
  end
90
144
  end
@@ -19,11 +19,47 @@ module Revox
19
19
  # @return [String]
20
20
  required :voice_id, String, api_name: :voiceId
21
21
 
22
- # @!method initialize(provider:, voice_id:, request_options: {})
22
+ # @!attribute model
23
+ # Cartesia model for the preview. Defaults to sonic-3. Ignored for other
24
+ # providers.
25
+ #
26
+ # @return [Symbol, Revox::Models::VoicePreviewParams::Model, nil]
27
+ optional :model, enum: -> { Revox::VoicePreviewParams::Model }
28
+
29
+ # @!attribute speed
30
+ # Speed for preview. Cartesia 0.6–1.5, ElevenLabs 0.7–1.2. Default 1.0.
31
+ #
32
+ # @return [Float, nil]
33
+ optional :speed, Float
34
+
35
+ # @!attribute text
36
+ # Custom text for the preview. If omitted, a short default is used.
37
+ #
38
+ # @return [String, nil]
39
+ optional :text, String
40
+
41
+ # @!attribute volume
42
+ # Volume for Cartesia preview (0.5–2.0). Ignored for other providers.
43
+ #
44
+ # @return [Float, nil]
45
+ optional :volume, Float
46
+
47
+ # @!method initialize(provider:, voice_id:, model: nil, speed: nil, text: nil, volume: nil, request_options: {})
48
+ # Some parameter documentations has been truncated, see
49
+ # {Revox::Models::VoicePreviewParams} for more details.
50
+ #
23
51
  # @param provider [Symbol, Revox::Models::VoicePreviewParams::Provider] The provider to use for the preview.
24
52
  #
25
53
  # @param voice_id [String] The voice ID to generate a preview for.
26
54
  #
55
+ # @param model [Symbol, Revox::Models::VoicePreviewParams::Model] Cartesia model for the preview. Defaults to sonic-3. Ignored for other providers
56
+ #
57
+ # @param speed [Float] Speed for preview. Cartesia 0.6–1.5, ElevenLabs 0.7–1.2. Default 1.0.
58
+ #
59
+ # @param text [String] Custom text for the preview. If omitted, a short default is used.
60
+ #
61
+ # @param volume [Float] Volume for Cartesia preview (0.5–2.0). Ignored for other providers.
62
+ #
27
63
  # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
28
64
 
29
65
  # The provider to use for the preview.
@@ -36,6 +72,18 @@ module Revox
36
72
  # @!method self.values
37
73
  # @return [Array<Symbol>]
38
74
  end
75
+
76
+ # Cartesia model for the preview. Defaults to sonic-3. Ignored for other
77
+ # providers.
78
+ module Model
79
+ extend Revox::Internal::Type::Enum
80
+
81
+ SONIC_3 = :"sonic-3"
82
+ SONIC_3_5 = :"sonic-3.5"
83
+
84
+ # @!method self.values
85
+ # @return [Array<Symbol>]
86
+ end
39
87
  end
40
88
  end
41
89
  end
data/lib/revox/models.rb CHANGED
@@ -39,6 +39,8 @@ module Revox
39
39
  mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
40
  end
41
41
 
42
+ AssistantCloneParams = Revox::Models::AssistantCloneParams
43
+
42
44
  AssistantCreateParams = Revox::Models::AssistantCreateParams
43
45
 
44
46
  AssistantDeleteParams = Revox::Models::AssistantDeleteParams
@@ -49,12 +51,24 @@ module Revox
49
51
 
50
52
  AssistantUpdateParams = Revox::Models::AssistantUpdateParams
51
53
 
54
+ AuthStatusRetrieveParams = Revox::Models::AuthStatusRetrieveParams
55
+
56
+ CallCancelParams = Revox::Models::CallCancelParams
57
+
52
58
  CallCreateParams = Revox::Models::CallCreateParams
53
59
 
54
- CallListParams = Revox::Models::CallListParams
60
+ CallExportParams = Revox::Models::CallExportParams
61
+
62
+ CallPauseParams = Revox::Models::CallPauseParams
63
+
64
+ CallPhoneHistoryParams = Revox::Models::CallPhoneHistoryParams
65
+
66
+ CallResumeParams = Revox::Models::CallResumeParams
55
67
 
56
68
  CallRetrieveParams = Revox::Models::CallRetrieveParams
57
69
 
70
+ CallSearchParams = Revox::Models::CallSearchParams
71
+
58
72
  CampaignCancelParams = Revox::Models::CampaignCancelParams
59
73
 
60
74
  CampaignCreateParams = Revox::Models::CampaignCreateParams
@@ -65,11 +79,31 @@ module Revox
65
79
 
66
80
  CampaignGetRowsParams = Revox::Models::CampaignGetRowsParams
67
81
 
82
+ CampaignLaunchParams = Revox::Models::CampaignLaunchParams
83
+
68
84
  CampaignListParams = Revox::Models::CampaignListParams
69
85
 
86
+ CampaignPauseParams = Revox::Models::CampaignPauseParams
87
+
88
+ CampaignResumeParams = Revox::Models::CampaignResumeParams
89
+
70
90
  CampaignRetrieveParams = Revox::Models::CampaignRetrieveParams
71
91
 
72
- Users = Revox::Models::Users
92
+ CampaignStatisticsParams = Revox::Models::CampaignStatisticsParams
93
+
94
+ CampaignUpdateParams = Revox::Models::CampaignUpdateParams
95
+
96
+ PhoneNumberDeleteParams = Revox::Models::PhoneNumberDeleteParams
97
+
98
+ PhoneNumberListParams = Revox::Models::PhoneNumberListParams
99
+
100
+ PhoneNumberUpdateParams = Revox::Models::PhoneNumberUpdateParams
101
+
102
+ UserRetrieveParams = Revox::Models::UserRetrieveParams
103
+
104
+ VoiceCloneParams = Revox::Models::VoiceCloneParams
105
+
106
+ VoiceDeleteParams = Revox::Models::VoiceDeleteParams
73
107
 
74
108
  VoiceListParams = Revox::Models::VoiceListParams
75
109