revox 0.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +1 -1
- data/lib/revox/client.rb +8 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/models/assistant_clone_params.rb +20 -0
- data/lib/revox/models/assistant_clone_response.rb +1594 -0
- data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
- data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
- data/lib/revox/models/call_cancel_params.rb +20 -0
- data/lib/revox/models/call_cancel_response.rb +16 -0
- data/lib/revox/models/call_create_response.rb +11 -1
- data/lib/revox/models/call_export_params.rb +205 -0
- data/lib/revox/models/call_export_response.rb +22 -0
- data/lib/revox/models/call_pause_params.rb +20 -0
- data/lib/revox/models/call_pause_response.rb +16 -0
- data/lib/revox/models/call_phone_history_params.rb +14 -0
- data/lib/revox/models/call_phone_history_response.rb +98 -0
- data/lib/revox/models/call_resume_params.rb +20 -0
- data/lib/revox/models/call_resume_response.rb +16 -0
- data/lib/revox/models/call_retrieve_response.rb +11 -1
- data/lib/revox/models/call_search_params.rb +171 -0
- data/lib/revox/models/call_search_response.rb +3114 -0
- data/lib/revox/models/campaign_get_rows_response.rb +11 -1
- data/lib/revox/models/campaign_launch_params.rb +20 -0
- data/lib/revox/models/campaign_launch_response.rb +2030 -0
- data/lib/revox/models/campaign_pause_params.rb +20 -0
- data/lib/revox/models/campaign_pause_response.rb +16 -0
- data/lib/revox/models/campaign_resume_params.rb +20 -0
- data/lib/revox/models/campaign_resume_response.rb +16 -0
- data/lib/revox/models/campaign_statistics_params.rb +20 -0
- data/lib/revox/models/campaign_statistics_response.rb +486 -0
- data/lib/revox/models/campaign_update_params.rb +234 -0
- data/lib/revox/models/campaign_update_response.rb +2030 -0
- data/lib/revox/models/phone_number_delete_params.rb +20 -0
- data/lib/revox/models/phone_number_delete_response.rb +16 -0
- data/lib/revox/models/phone_number_list_params.rb +14 -0
- data/lib/revox/models/phone_number_list_response.rb +1777 -0
- data/lib/revox/models/phone_number_update_params.rb +32 -0
- data/lib/revox/models/phone_number_update_response.rb +1777 -0
- data/lib/revox/models/user_retrieve_params.rb +14 -0
- data/lib/revox/models/user_retrieve_response.rb +99 -0
- data/lib/revox/models/voice_clone_params.rb +78 -0
- data/lib/revox/models/voice_clone_response.rb +40 -0
- data/lib/revox/models/voice_delete_params.rb +20 -0
- data/lib/revox/models/voice_delete_response.rb +16 -0
- data/lib/revox/models.rb +37 -1
- data/lib/revox/resources/assistants.rb +21 -0
- data/lib/revox/resources/auth_status.rb +32 -0
- data/lib/revox/resources/call.rb +145 -0
- data/lib/revox/resources/campaigns.rb +131 -0
- data/lib/revox/resources/phone_numbers.rb +74 -0
- data/lib/revox/resources/users.rb +17 -3
- data/lib/revox/resources/voices.rb +50 -0
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +40 -5
- data/rbi/revox/client.rbi +6 -0
- data/rbi/revox/models/assistant_clone_params.rbi +33 -0
- data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
- data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
- data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
- data/rbi/revox/models/call_cancel_params.rbi +33 -0
- data/rbi/revox/models/call_cancel_response.rbi +23 -0
- data/rbi/revox/models/call_create_response.rbi +12 -0
- data/rbi/revox/models/call_export_params.rbi +456 -0
- data/rbi/revox/models/call_export_response.rbi +26 -0
- data/rbi/revox/models/call_pause_params.rbi +31 -0
- data/rbi/revox/models/call_pause_response.rbi +23 -0
- data/rbi/revox/models/call_phone_history_params.rbi +27 -0
- data/rbi/revox/models/call_phone_history_response.rbi +224 -0
- data/rbi/revox/models/call_resume_params.rbi +33 -0
- data/rbi/revox/models/call_resume_response.rbi +23 -0
- data/rbi/revox/models/call_retrieve_response.rbi +12 -0
- data/rbi/revox/models/call_search_params.rbi +288 -0
- data/rbi/revox/models/call_search_response.rbi +6593 -0
- data/rbi/revox/models/campaign_get_rows_response.rbi +12 -0
- data/rbi/revox/models/campaign_launch_params.rbi +33 -0
- data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
- data/rbi/revox/models/campaign_pause_params.rbi +33 -0
- data/rbi/revox/models/campaign_pause_response.rbi +23 -0
- data/rbi/revox/models/campaign_resume_params.rbi +33 -0
- data/rbi/revox/models/campaign_resume_response.rbi +23 -0
- data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
- data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
- data/rbi/revox/models/campaign_update_params.rbi +431 -0
- data/rbi/revox/models/campaign_update_response.rbi +4170 -0
- data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
- data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
- data/rbi/revox/models/phone_number_list_params.rbi +27 -0
- data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
- data/rbi/revox/models/phone_number_update_params.rbi +53 -0
- data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
- data/rbi/revox/models/user_retrieve_params.rbi +27 -0
- data/rbi/revox/models/user_retrieve_response.rbi +140 -0
- data/rbi/revox/models/voice_clone_params.rbi +141 -0
- data/rbi/revox/models/voice_clone_response.rbi +53 -0
- data/rbi/revox/models/voice_delete_params.rbi +33 -0
- data/rbi/revox/models/voice_delete_response.rbi +23 -0
- data/rbi/revox/models.rbi +37 -1
- data/rbi/revox/resources/assistants.rbi +12 -0
- data/rbi/revox/resources/auth_status.rbi +21 -0
- data/rbi/revox/resources/call.rbi +107 -0
- data/rbi/revox/resources/campaigns.rbi +94 -0
- data/rbi/revox/resources/phone_numbers.rbi +43 -0
- data/rbi/revox/resources/users.rbi +8 -2
- data/rbi/revox/resources/voices.rbi +39 -0
- data/sig/revox/client.rbs +4 -0
- data/sig/revox/models/assistant_clone_params.rbs +20 -0
- data/sig/revox/models/assistant_clone_response.rbs +1318 -0
- data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
- data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
- data/sig/revox/models/call_cancel_params.rbs +20 -0
- data/sig/revox/models/call_cancel_response.rbs +13 -0
- data/sig/revox/models/call_create_response.rbs +5 -0
- data/sig/revox/models/call_export_params.rbs +234 -0
- data/sig/revox/models/call_export_response.rbs +15 -0
- data/sig/revox/models/call_pause_params.rbs +20 -0
- data/sig/revox/models/call_pause_response.rbs +13 -0
- data/sig/revox/models/call_phone_history_params.rbs +15 -0
- data/sig/revox/models/call_phone_history_response.rbs +102 -0
- data/sig/revox/models/call_resume_params.rbs +20 -0
- data/sig/revox/models/call_resume_response.rbs +13 -0
- data/sig/revox/models/call_retrieve_response.rbs +5 -0
- data/sig/revox/models/call_search_params.rbs +198 -0
- data/sig/revox/models/call_search_response.rbs +2654 -0
- data/sig/revox/models/campaign_get_rows_response.rbs +5 -0
- data/sig/revox/models/campaign_launch_params.rbs +20 -0
- data/sig/revox/models/campaign_launch_response.rbs +1694 -0
- data/sig/revox/models/campaign_pause_params.rbs +20 -0
- data/sig/revox/models/campaign_pause_response.rbs +13 -0
- data/sig/revox/models/campaign_resume_params.rbs +20 -0
- data/sig/revox/models/campaign_resume_response.rbs +13 -0
- data/sig/revox/models/campaign_statistics_params.rbs +20 -0
- data/sig/revox/models/campaign_statistics_response.rbs +458 -0
- data/sig/revox/models/campaign_update_params.rbs +203 -0
- data/sig/revox/models/campaign_update_response.rbs +1694 -0
- data/sig/revox/models/phone_number_delete_params.rbs +20 -0
- data/sig/revox/models/phone_number_delete_response.rbs +13 -0
- data/sig/revox/models/phone_number_list_params.rbs +15 -0
- data/sig/revox/models/phone_number_list_response.rbs +1462 -0
- data/sig/revox/models/phone_number_update_params.rbs +32 -0
- data/sig/revox/models/phone_number_update_response.rbs +1460 -0
- data/sig/revox/models/user_retrieve_params.rbs +14 -0
- data/sig/revox/models/user_retrieve_response.rbs +71 -0
- data/sig/revox/models/voice_clone_params.rbs +79 -0
- data/sig/revox/models/voice_clone_response.rbs +40 -0
- data/sig/revox/models/voice_delete_params.rbs +20 -0
- data/sig/revox/models/voice_delete_response.rbs +13 -0
- data/sig/revox/models.rbs +37 -1
- data/sig/revox/resources/assistants.rbs +5 -0
- data/sig/revox/resources/auth_status.rbs +11 -0
- data/sig/revox/resources/call.rbs +45 -0
- data/sig/revox/resources/campaigns.rbs +33 -0
- data/sig/revox/resources/phone_numbers.rbs +23 -0
- data/sig/revox/resources/users.rbs +3 -1
- data/sig/revox/resources/voices.rbs +13 -0
- metadata +121 -16
- data/lib/revox/models/users/me_retrieve_params.rb +0 -16
- data/lib/revox/models/users/me_retrieve_response.rb +0 -101
- data/lib/revox/models/users/me_update_params.rb +0 -22
- data/lib/revox/models/users/me_update_response.rb +0 -101
- data/lib/revox/resources/users/me.rb +0 -55
- data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
- data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
- data/rbi/revox/models/users/me_update_params.rbi +0 -43
- data/rbi/revox/models/users/me_update_response.rbi +0 -149
- data/rbi/revox/resources/users/me.rbi +0 -33
- data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
- data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
- data/sig/revox/models/users/me_update_params.rbs +0 -28
- data/sig/revox/models/users/me_update_response.rbs +0 -75
- data/sig/revox/resources/users/me.rbs +0 -18
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class UserRetrieveParams < Revox::Internal::Type::BaseModel
|
|
6
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Revox::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Revox::UserRetrieveParams, Revox::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: Revox::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class UserRetrieveResponse < Revox::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Revox::Models::UserRetrieveResponse, Revox::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The current authenticated user.
|
|
12
|
+
sig { returns(Revox::Models::UserRetrieveResponse::User) }
|
|
13
|
+
attr_reader :user
|
|
14
|
+
|
|
15
|
+
sig do
|
|
16
|
+
params(user: Revox::Models::UserRetrieveResponse::User::OrHash).void
|
|
17
|
+
end
|
|
18
|
+
attr_writer :user
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(user: Revox::Models::UserRetrieveResponse::User::OrHash).returns(
|
|
22
|
+
T.attached_class
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
def self.new(
|
|
26
|
+
# The current authenticated user.
|
|
27
|
+
user:
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
override.returns({ user: Revox::Models::UserRetrieveResponse::User })
|
|
33
|
+
end
|
|
34
|
+
def to_hash
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class User < Revox::Internal::Type::BaseModel
|
|
38
|
+
OrHash =
|
|
39
|
+
T.type_alias do
|
|
40
|
+
T.any(
|
|
41
|
+
Revox::Models::UserRetrieveResponse::User,
|
|
42
|
+
Revox::Internal::AnyHash
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# The unique identifier of the user.
|
|
47
|
+
sig { returns(String) }
|
|
48
|
+
attr_accessor :id
|
|
49
|
+
|
|
50
|
+
# The time the user was created.
|
|
51
|
+
sig { returns(T.anything) }
|
|
52
|
+
attr_accessor :created_at
|
|
53
|
+
|
|
54
|
+
# The email address of the user.
|
|
55
|
+
sig { returns(String) }
|
|
56
|
+
attr_accessor :email
|
|
57
|
+
|
|
58
|
+
# The first name of the user.
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_accessor :first_name
|
|
61
|
+
|
|
62
|
+
# Whether the user has completed the onboarding tutorial.
|
|
63
|
+
sig { returns(T::Boolean) }
|
|
64
|
+
attr_accessor :has_completed_onboarding
|
|
65
|
+
|
|
66
|
+
# The last name of the user.
|
|
67
|
+
sig { returns(T.nilable(String)) }
|
|
68
|
+
attr_accessor :last_name
|
|
69
|
+
|
|
70
|
+
# The ID of the organization the user belongs to.
|
|
71
|
+
sig { returns(String) }
|
|
72
|
+
attr_accessor :organization_id
|
|
73
|
+
|
|
74
|
+
# The time the user was last updated.
|
|
75
|
+
sig { returns(T.anything) }
|
|
76
|
+
attr_accessor :updated_at
|
|
77
|
+
|
|
78
|
+
# ISO 3166-1 alpha-2 country code of the organization (e.g. FR). Used as the
|
|
79
|
+
# default region when normalizing national-format phone numbers.
|
|
80
|
+
sig { returns(T.nilable(String)) }
|
|
81
|
+
attr_accessor :organization_country
|
|
82
|
+
|
|
83
|
+
# The current authenticated user.
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
id: String,
|
|
87
|
+
created_at: T.anything,
|
|
88
|
+
email: String,
|
|
89
|
+
first_name: T.nilable(String),
|
|
90
|
+
has_completed_onboarding: T::Boolean,
|
|
91
|
+
last_name: T.nilable(String),
|
|
92
|
+
organization_id: String,
|
|
93
|
+
updated_at: T.anything,
|
|
94
|
+
organization_country: T.nilable(String)
|
|
95
|
+
).returns(T.attached_class)
|
|
96
|
+
end
|
|
97
|
+
def self.new(
|
|
98
|
+
# The unique identifier of the user.
|
|
99
|
+
id:,
|
|
100
|
+
# The time the user was created.
|
|
101
|
+
created_at:,
|
|
102
|
+
# The email address of the user.
|
|
103
|
+
email:,
|
|
104
|
+
# The first name of the user.
|
|
105
|
+
first_name:,
|
|
106
|
+
# Whether the user has completed the onboarding tutorial.
|
|
107
|
+
has_completed_onboarding:,
|
|
108
|
+
# The last name of the user.
|
|
109
|
+
last_name:,
|
|
110
|
+
# The ID of the organization the user belongs to.
|
|
111
|
+
organization_id:,
|
|
112
|
+
# The time the user was last updated.
|
|
113
|
+
updated_at:,
|
|
114
|
+
# ISO 3166-1 alpha-2 country code of the organization (e.g. FR). Used as the
|
|
115
|
+
# default region when normalizing national-format phone numbers.
|
|
116
|
+
organization_country: nil
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
sig do
|
|
121
|
+
override.returns(
|
|
122
|
+
{
|
|
123
|
+
id: String,
|
|
124
|
+
created_at: T.anything,
|
|
125
|
+
email: String,
|
|
126
|
+
first_name: T.nilable(String),
|
|
127
|
+
has_completed_onboarding: T::Boolean,
|
|
128
|
+
last_name: T.nilable(String),
|
|
129
|
+
organization_id: String,
|
|
130
|
+
updated_at: T.anything,
|
|
131
|
+
organization_country: T.nilable(String)
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
def to_hash
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceCloneParams < Revox::Internal::Type::BaseModel
|
|
6
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Revox::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Revox::VoiceCloneParams, Revox::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Base64-encoded audio data (max ~7.5MB decoded)
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :audio
|
|
17
|
+
|
|
18
|
+
# MIME type of the audio
|
|
19
|
+
sig { returns(Revox::VoiceCloneParams::ContentType::OrSymbol) }
|
|
20
|
+
attr_accessor :content_type
|
|
21
|
+
|
|
22
|
+
# Language of the voice
|
|
23
|
+
sig { returns(Revox::VoiceCloneParams::Language::OrSymbol) }
|
|
24
|
+
attr_accessor :language
|
|
25
|
+
|
|
26
|
+
# Name for the cloned voice
|
|
27
|
+
sig { returns(String) }
|
|
28
|
+
attr_accessor :name
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
audio: String,
|
|
33
|
+
content_type: Revox::VoiceCloneParams::ContentType::OrSymbol,
|
|
34
|
+
language: Revox::VoiceCloneParams::Language::OrSymbol,
|
|
35
|
+
name: String,
|
|
36
|
+
request_options: Revox::RequestOptions::OrHash
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(
|
|
40
|
+
# Base64-encoded audio data (max ~7.5MB decoded)
|
|
41
|
+
audio:,
|
|
42
|
+
# MIME type of the audio
|
|
43
|
+
content_type:,
|
|
44
|
+
# Language of the voice
|
|
45
|
+
language:,
|
|
46
|
+
# Name for the cloned voice
|
|
47
|
+
name:,
|
|
48
|
+
request_options: {}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
override.returns(
|
|
54
|
+
{
|
|
55
|
+
audio: String,
|
|
56
|
+
content_type: Revox::VoiceCloneParams::ContentType::OrSymbol,
|
|
57
|
+
language: Revox::VoiceCloneParams::Language::OrSymbol,
|
|
58
|
+
name: String,
|
|
59
|
+
request_options: Revox::RequestOptions
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def to_hash
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# MIME type of the audio
|
|
67
|
+
module ContentType
|
|
68
|
+
extend Revox::Internal::Type::Enum
|
|
69
|
+
|
|
70
|
+
TaggedSymbol =
|
|
71
|
+
T.type_alias { T.all(Symbol, Revox::VoiceCloneParams::ContentType) }
|
|
72
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
73
|
+
|
|
74
|
+
AUDIO_WEBM =
|
|
75
|
+
T.let(
|
|
76
|
+
:"audio/webm",
|
|
77
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
78
|
+
)
|
|
79
|
+
AUDIO_WAV =
|
|
80
|
+
T.let(
|
|
81
|
+
:"audio/wav",
|
|
82
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
83
|
+
)
|
|
84
|
+
AUDIO_MPEG =
|
|
85
|
+
T.let(
|
|
86
|
+
:"audio/mpeg",
|
|
87
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
88
|
+
)
|
|
89
|
+
AUDIO_OGG =
|
|
90
|
+
T.let(
|
|
91
|
+
:"audio/ogg",
|
|
92
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
93
|
+
)
|
|
94
|
+
AUDIO_MP4 =
|
|
95
|
+
T.let(
|
|
96
|
+
:"audio/mp4",
|
|
97
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
98
|
+
)
|
|
99
|
+
VIDEO_WEBM =
|
|
100
|
+
T.let(
|
|
101
|
+
:"video/webm",
|
|
102
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
override.returns(
|
|
107
|
+
T::Array[Revox::VoiceCloneParams::ContentType::TaggedSymbol]
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
def self.values
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Language of the voice
|
|
115
|
+
module Language
|
|
116
|
+
extend Revox::Internal::Type::Enum
|
|
117
|
+
|
|
118
|
+
TaggedSymbol =
|
|
119
|
+
T.type_alias { T.all(Symbol, Revox::VoiceCloneParams::Language) }
|
|
120
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
121
|
+
|
|
122
|
+
EN = T.let(:en, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
123
|
+
FR = T.let(:fr, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
124
|
+
ES = T.let(:es, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
125
|
+
DE = T.let(:de, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
126
|
+
IT = T.let(:it, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
127
|
+
PT = T.let(:pt, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
128
|
+
RU = T.let(:ru, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
129
|
+
ZH = T.let(:zh, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
130
|
+
|
|
131
|
+
sig do
|
|
132
|
+
override.returns(
|
|
133
|
+
T::Array[Revox::VoiceCloneParams::Language::TaggedSymbol]
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
def self.values
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceCloneResponse < Revox::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Revox::Models::VoiceCloneResponse, Revox::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :id
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :cartesia_voice_id
|
|
16
|
+
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :created_at
|
|
19
|
+
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :language
|
|
22
|
+
|
|
23
|
+
sig { returns(String) }
|
|
24
|
+
attr_accessor :name
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
id: String,
|
|
29
|
+
cartesia_voice_id: String,
|
|
30
|
+
created_at: String,
|
|
31
|
+
language: String,
|
|
32
|
+
name: String
|
|
33
|
+
).returns(T.attached_class)
|
|
34
|
+
end
|
|
35
|
+
def self.new(id:, cartesia_voice_id:, created_at:, language:, name:)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{
|
|
41
|
+
id: String,
|
|
42
|
+
cartesia_voice_id: String,
|
|
43
|
+
created_at: String,
|
|
44
|
+
language: String,
|
|
45
|
+
name: String
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
def to_hash
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceDeleteParams < Revox::Internal::Type::BaseModel
|
|
6
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Revox::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Revox::VoiceDeleteParams, Revox::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :id
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
params(
|
|
19
|
+
id: String,
|
|
20
|
+
request_options: Revox::RequestOptions::OrHash
|
|
21
|
+
).returns(T.attached_class)
|
|
22
|
+
end
|
|
23
|
+
def self.new(id:, request_options: {})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
override.returns({ id: String, request_options: Revox::RequestOptions })
|
|
28
|
+
end
|
|
29
|
+
def to_hash
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceDeleteResponse < Revox::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Revox::Models::VoiceDeleteResponse, Revox::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T::Boolean) }
|
|
12
|
+
attr_accessor :success
|
|
13
|
+
|
|
14
|
+
sig { params(success: T::Boolean).returns(T.attached_class) }
|
|
15
|
+
def self.new(success:)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { override.returns({ success: T::Boolean }) }
|
|
19
|
+
def to_hash
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/rbi/revox/models.rbi
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# typed: strong
|
|
2
2
|
|
|
3
3
|
module Revox
|
|
4
|
+
AssistantCloneParams = Revox::Models::AssistantCloneParams
|
|
5
|
+
|
|
4
6
|
AssistantCreateParams = Revox::Models::AssistantCreateParams
|
|
5
7
|
|
|
6
8
|
AssistantDeleteParams = Revox::Models::AssistantDeleteParams
|
|
@@ -11,10 +13,24 @@ module Revox
|
|
|
11
13
|
|
|
12
14
|
AssistantUpdateParams = Revox::Models::AssistantUpdateParams
|
|
13
15
|
|
|
16
|
+
AuthStatusRetrieveParams = Revox::Models::AuthStatusRetrieveParams
|
|
17
|
+
|
|
18
|
+
CallCancelParams = Revox::Models::CallCancelParams
|
|
19
|
+
|
|
14
20
|
CallCreateParams = Revox::Models::CallCreateParams
|
|
15
21
|
|
|
22
|
+
CallExportParams = Revox::Models::CallExportParams
|
|
23
|
+
|
|
24
|
+
CallPauseParams = Revox::Models::CallPauseParams
|
|
25
|
+
|
|
26
|
+
CallPhoneHistoryParams = Revox::Models::CallPhoneHistoryParams
|
|
27
|
+
|
|
28
|
+
CallResumeParams = Revox::Models::CallResumeParams
|
|
29
|
+
|
|
16
30
|
CallRetrieveParams = Revox::Models::CallRetrieveParams
|
|
17
31
|
|
|
32
|
+
CallSearchParams = Revox::Models::CallSearchParams
|
|
33
|
+
|
|
18
34
|
CampaignCancelParams = Revox::Models::CampaignCancelParams
|
|
19
35
|
|
|
20
36
|
CampaignCreateParams = Revox::Models::CampaignCreateParams
|
|
@@ -25,11 +41,31 @@ module Revox
|
|
|
25
41
|
|
|
26
42
|
CampaignGetRowsParams = Revox::Models::CampaignGetRowsParams
|
|
27
43
|
|
|
44
|
+
CampaignLaunchParams = Revox::Models::CampaignLaunchParams
|
|
45
|
+
|
|
28
46
|
CampaignListParams = Revox::Models::CampaignListParams
|
|
29
47
|
|
|
48
|
+
CampaignPauseParams = Revox::Models::CampaignPauseParams
|
|
49
|
+
|
|
50
|
+
CampaignResumeParams = Revox::Models::CampaignResumeParams
|
|
51
|
+
|
|
30
52
|
CampaignRetrieveParams = Revox::Models::CampaignRetrieveParams
|
|
31
53
|
|
|
32
|
-
|
|
54
|
+
CampaignStatisticsParams = Revox::Models::CampaignStatisticsParams
|
|
55
|
+
|
|
56
|
+
CampaignUpdateParams = Revox::Models::CampaignUpdateParams
|
|
57
|
+
|
|
58
|
+
PhoneNumberDeleteParams = Revox::Models::PhoneNumberDeleteParams
|
|
59
|
+
|
|
60
|
+
PhoneNumberListParams = Revox::Models::PhoneNumberListParams
|
|
61
|
+
|
|
62
|
+
PhoneNumberUpdateParams = Revox::Models::PhoneNumberUpdateParams
|
|
63
|
+
|
|
64
|
+
UserRetrieveParams = Revox::Models::UserRetrieveParams
|
|
65
|
+
|
|
66
|
+
VoiceCloneParams = Revox::Models::VoiceCloneParams
|
|
67
|
+
|
|
68
|
+
VoiceDeleteParams = Revox::Models::VoiceDeleteParams
|
|
33
69
|
|
|
34
70
|
VoiceListParams = Revox::Models::VoiceListParams
|
|
35
71
|
|
|
@@ -492,6 +492,18 @@ module Revox
|
|
|
492
492
|
def delete(id, request_options: {})
|
|
493
493
|
end
|
|
494
494
|
|
|
495
|
+
# Create a full copy of an existing assistant, including every configuration field
|
|
496
|
+
# and FAQ items. The new assistant has the same configuration as the source, with
|
|
497
|
+
# the name suffixed by "(Copy)" and a freshly generated API key.
|
|
498
|
+
sig do
|
|
499
|
+
params(
|
|
500
|
+
id: String,
|
|
501
|
+
request_options: Revox::RequestOptions::OrHash
|
|
502
|
+
).returns(Revox::Models::AssistantCloneResponse)
|
|
503
|
+
end
|
|
504
|
+
def clone_(id, request_options: {})
|
|
505
|
+
end
|
|
506
|
+
|
|
495
507
|
# @api private
|
|
496
508
|
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
497
509
|
def self.new(client:)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Resources
|
|
5
|
+
class AuthStatus
|
|
6
|
+
# Check if your API key is still valid.
|
|
7
|
+
sig do
|
|
8
|
+
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
9
|
+
Revox::Models::AuthStatusRetrieveResponse
|
|
10
|
+
)
|
|
11
|
+
end
|
|
12
|
+
def retrieve(request_options: {})
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
17
|
+
def self.new(client:)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -68,6 +68,113 @@ module Revox
|
|
|
68
68
|
)
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
+
# Cancel a running or scheduled call.
|
|
72
|
+
sig do
|
|
73
|
+
params(
|
|
74
|
+
id: String,
|
|
75
|
+
request_options: Revox::RequestOptions::OrHash
|
|
76
|
+
).returns(Revox::Models::CallCancelResponse)
|
|
77
|
+
end
|
|
78
|
+
def cancel(id, request_options: {})
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Export a list of call attempts as a CSV file.
|
|
82
|
+
sig do
|
|
83
|
+
params(
|
|
84
|
+
filters: Revox::CallExportParams::Filters::OrHash,
|
|
85
|
+
include_metadata: T::Boolean,
|
|
86
|
+
include_structured_output_fields: T::Boolean,
|
|
87
|
+
request_options: Revox::RequestOptions::OrHash
|
|
88
|
+
).returns(Revox::Models::CallExportResponse)
|
|
89
|
+
end
|
|
90
|
+
def export(
|
|
91
|
+
filters:,
|
|
92
|
+
# Whether to include the metadata in the CSV file. These are the fields you
|
|
93
|
+
# (optionally) attached when placing the call.
|
|
94
|
+
include_metadata: nil,
|
|
95
|
+
# Whether to include the structured output fields in the CSV file. These are
|
|
96
|
+
# generated by our AI agent during call analysis phase.
|
|
97
|
+
include_structured_output_fields: nil,
|
|
98
|
+
request_options: {}
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Pause a call's retry loop. The current in-progress attempt (if any) will finish,
|
|
103
|
+
# but no new attempts will be started until the call is resumed.
|
|
104
|
+
sig do
|
|
105
|
+
params(
|
|
106
|
+
id: String,
|
|
107
|
+
request_options: Revox::RequestOptions::OrHash
|
|
108
|
+
).returns(Revox::Models::CallPauseResponse)
|
|
109
|
+
end
|
|
110
|
+
def pause(id, request_options: {})
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Returns a map of phone numbers to the number of calls and associated campaigns
|
|
114
|
+
# across the entire organization. Useful for detecting contacts that have already
|
|
115
|
+
# been reached.
|
|
116
|
+
sig do
|
|
117
|
+
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
118
|
+
Revox::Models::CallPhoneHistoryResponse
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
def phone_history(request_options: {})
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Resume a previously paused call. The retry loop will continue from where it left
|
|
125
|
+
# off.
|
|
126
|
+
sig do
|
|
127
|
+
params(
|
|
128
|
+
id: String,
|
|
129
|
+
request_options: Revox::RequestOptions::OrHash
|
|
130
|
+
).returns(Revox::Models::CallResumeResponse)
|
|
131
|
+
end
|
|
132
|
+
def resume(id, request_options: {})
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# Retrieve a paginated list of call attempts. Each entry includes the call status,
|
|
136
|
+
# phone number, assistant used, transcript, and timestamps. Use the page and
|
|
137
|
+
# page_size query parameters to navigate through results.
|
|
138
|
+
sig do
|
|
139
|
+
params(
|
|
140
|
+
assignee_ids: T::Array[String],
|
|
141
|
+
assistant_ids: T::Array[String],
|
|
142
|
+
campaign_ids: T::Array[String],
|
|
143
|
+
directions: T::Array[Revox::CallSearchParams::Direction::OrSymbol],
|
|
144
|
+
from_phone_numbers: T::Array[String],
|
|
145
|
+
outcomes: T::Array[Revox::CallSearchParams::Outcome::OrSymbol],
|
|
146
|
+
page: Integer,
|
|
147
|
+
page_size: Integer,
|
|
148
|
+
results: T::Array[Revox::CallSearchParams::Result::OrSymbol],
|
|
149
|
+
statuses: T::Array[Revox::CallSearchParams::Status::OrSymbol],
|
|
150
|
+
call_ids: T::Array[String],
|
|
151
|
+
query: String,
|
|
152
|
+
sort_by: String,
|
|
153
|
+
sort_direction: Revox::CallSearchParams::SortDirection::OrSymbol,
|
|
154
|
+
to_phone_number: String,
|
|
155
|
+
request_options: Revox::RequestOptions::OrHash
|
|
156
|
+
).returns(Revox::Models::CallSearchResponse)
|
|
157
|
+
end
|
|
158
|
+
def search(
|
|
159
|
+
assignee_ids:,
|
|
160
|
+
assistant_ids:,
|
|
161
|
+
campaign_ids:,
|
|
162
|
+
directions:,
|
|
163
|
+
from_phone_numbers:,
|
|
164
|
+
outcomes:,
|
|
165
|
+
page:,
|
|
166
|
+
page_size:,
|
|
167
|
+
results:,
|
|
168
|
+
statuses:,
|
|
169
|
+
call_ids: nil,
|
|
170
|
+
query: nil,
|
|
171
|
+
sort_by: nil,
|
|
172
|
+
sort_direction: nil,
|
|
173
|
+
to_phone_number: nil,
|
|
174
|
+
request_options: {}
|
|
175
|
+
)
|
|
176
|
+
end
|
|
177
|
+
|
|
71
178
|
# @api private
|
|
72
179
|
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
73
180
|
def self.new(client:)
|