revox 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -0
- data/README.md +38 -38
- 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 +1616 -0
- data/lib/revox/models/assistant_create_params.rb +90 -66
- data/lib/revox/models/assistant_create_response.rb +87 -65
- data/lib/revox/models/assistant_list_response.rb +87 -65
- data/lib/revox/models/assistant_retrieve_response.rb +86 -65
- data/lib/revox/models/assistant_update_params.rb +90 -66
- data/lib/revox/models/assistant_update_response.rb +87 -65
- 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_params.rb +117 -90
- data/lib/revox/models/call_create_response.rb +680 -90
- data/lib/revox/models/call_export_params.rb +203 -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 +95 -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 +681 -90
- data/lib/revox/models/call_search_params.rb +169 -0
- data/lib/revox/models/call_search_response.rb +3694 -0
- data/lib/revox/models/campaign_create_params.rb +7 -57
- data/lib/revox/models/campaign_create_response.rb +108 -119
- data/lib/revox/models/campaign_get_rows_response.rb +682 -90
- data/lib/revox/models/campaign_list_response.rb +108 -119
- 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_retrieve_response.rb +108 -119
- data/lib/revox/models/campaign_statistics_params.rb +20 -0
- data/lib/revox/models/campaign_statistics_response.rb +514 -0
- data/lib/revox/models/campaign_update_params.rb +165 -0
- data/lib/revox/models/campaign_update_response.rb +2019 -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 +1799 -0
- data/lib/revox/models/phone_number_update_params.rb +32 -0
- data/lib/revox/models/phone_number_update_response.rb +1799 -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/voice_list_response.rb +1 -0
- data/lib/revox/models/voice_preview_params.rb +1 -0
- data/lib/revox/models/voice_retrieve_params.rb +1 -0
- data/lib/revox/models.rb +35 -1
- data/lib/revox/resources/assistants.rb +31 -10
- data/lib/revox/resources/auth_status.rb +32 -0
- data/lib/revox/resources/call.rb +149 -4
- data/lib/revox/resources/campaigns.rb +110 -11
- 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 +38 -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 +3351 -0
- data/rbi/revox/models/assistant_create_params.rbi +148 -162
- data/rbi/revox/models/assistant_create_response.rbi +157 -147
- data/rbi/revox/models/assistant_list_response.rbi +157 -147
- data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
- data/rbi/revox/models/assistant_update_params.rbi +148 -162
- data/rbi/revox/models/assistant_update_response.rbi +157 -147
- 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_params.rbi +190 -187
- data/rbi/revox/models/call_create_response.rbi +1150 -227
- data/rbi/revox/models/call_export_params.rbi +446 -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 +209 -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 +1150 -227
- data/rbi/revox/models/call_search_params.rbi +281 -0
- data/rbi/revox/models/call_search_response.rbi +7504 -0
- data/rbi/revox/models/campaign_create_params.rbi +9 -87
- data/rbi/revox/models/campaign_create_response.rbi +188 -266
- data/rbi/revox/models/campaign_get_rows_response.rbi +1150 -225
- data/rbi/revox/models/campaign_list_response.rbi +188 -262
- 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_retrieve_response.rbi +188 -266
- data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
- data/rbi/revox/models/campaign_statistics_response.rbi +1069 -0
- data/rbi/revox/models/campaign_update_params.rbi +313 -0
- data/rbi/revox/models/campaign_update_response.rbi +4092 -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 +3690 -0
- data/rbi/revox/models/phone_number_update_params.rbi +53 -0
- data/rbi/revox/models/phone_number_update_response.rbi +3693 -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/voice_list_response.rbi +5 -0
- data/rbi/revox/models/voice_preview_params.rbi +2 -0
- data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
- data/rbi/revox/models.rbi +35 -1
- data/rbi/revox/resources/assistants.rbi +52 -22
- data/rbi/revox/resources/auth_status.rbi +21 -0
- data/rbi/revox/resources/call.rbi +114 -4
- data/rbi/revox/resources/campaigns.rbi +77 -15
- 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 +1310 -0
- data/sig/revox/models/assistant_create_params.rbs +39 -58
- data/sig/revox/models/assistant_create_response.rbs +46 -54
- data/sig/revox/models/assistant_list_response.rbs +46 -54
- data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
- data/sig/revox/models/assistant_update_params.rbs +39 -58
- data/sig/revox/models/assistant_update_response.rbs +46 -54
- 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_params.rbs +50 -71
- data/sig/revox/models/call_create_response.rbs +473 -77
- data/sig/revox/models/call_export_params.rbs +230 -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 +93 -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 +473 -77
- data/sig/revox/models/call_search_params.rbs +194 -0
- data/sig/revox/models/call_search_response.rbs +3045 -0
- data/sig/revox/models/campaign_create_params.rbs +5 -50
- data/sig/revox/models/campaign_create_response.rbs +62 -98
- data/sig/revox/models/campaign_get_rows_response.rbs +472 -73
- data/sig/revox/models/campaign_list_response.rbs +62 -98
- 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_retrieve_response.rbs +62 -98
- data/sig/revox/models/campaign_statistics_params.rbs +20 -0
- data/sig/revox/models/campaign_statistics_response.rbs +489 -0
- data/sig/revox/models/campaign_update_params.rbs +135 -0
- data/sig/revox/models/campaign_update_response.rbs +1658 -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 +1454 -0
- data/sig/revox/models/phone_number_update_params.rbs +32 -0
- data/sig/revox/models/phone_number_update_response.rbs +1452 -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/voice_list_response.rbs +2 -1
- data/sig/revox/models/voice_preview_params.rbs +2 -1
- data/sig/revox/models/voice_retrieve_params.rbs +2 -1
- data/sig/revox/models.rbs +35 -1
- data/sig/revox/resources/assistants.rbs +9 -4
- data/sig/revox/resources/auth_status.rbs +11 -0
- data/sig/revox/resources/call.rbs +46 -1
- data/sig/revox/resources/campaigns.rbs +24 -3
- 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 +116 -17
- 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
|
|
@@ -248,6 +248,11 @@ module Revox
|
|
|
248
248
|
:elevenlabs,
|
|
249
249
|
Revox::Models::VoiceListResponse::Voice::Provider::TaggedSymbol
|
|
250
250
|
)
|
|
251
|
+
GRADIUM =
|
|
252
|
+
T.let(
|
|
253
|
+
:gradium,
|
|
254
|
+
Revox::Models::VoiceListResponse::Voice::Provider::TaggedSymbol
|
|
255
|
+
)
|
|
251
256
|
|
|
252
257
|
sig do
|
|
253
258
|
override.returns(
|
|
@@ -105,6 +105,8 @@ module Revox
|
|
|
105
105
|
T.let(:cartesia, Revox::VoicePreviewParams::Provider::TaggedSymbol)
|
|
106
106
|
ELEVENLABS =
|
|
107
107
|
T.let(:elevenlabs, Revox::VoicePreviewParams::Provider::TaggedSymbol)
|
|
108
|
+
GRADIUM =
|
|
109
|
+
T.let(:gradium, Revox::VoicePreviewParams::Provider::TaggedSymbol)
|
|
108
110
|
|
|
109
111
|
sig do
|
|
110
112
|
override.returns(
|
|
@@ -50,6 +50,8 @@ module Revox
|
|
|
50
50
|
T.let(:cartesia, Revox::VoiceRetrieveParams::Provider::TaggedSymbol)
|
|
51
51
|
ELEVENLABS =
|
|
52
52
|
T.let(:elevenlabs, Revox::VoiceRetrieveParams::Provider::TaggedSymbol)
|
|
53
|
+
GRADIUM =
|
|
54
|
+
T.let(:gradium, Revox::VoiceRetrieveParams::Provider::TaggedSymbol)
|
|
53
55
|
|
|
54
56
|
sig do
|
|
55
57
|
override.returns(
|
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
|
|
@@ -27,9 +43,27 @@ module Revox
|
|
|
27
43
|
|
|
28
44
|
CampaignListParams = Revox::Models::CampaignListParams
|
|
29
45
|
|
|
46
|
+
CampaignPauseParams = Revox::Models::CampaignPauseParams
|
|
47
|
+
|
|
48
|
+
CampaignResumeParams = Revox::Models::CampaignResumeParams
|
|
49
|
+
|
|
30
50
|
CampaignRetrieveParams = Revox::Models::CampaignRetrieveParams
|
|
31
51
|
|
|
32
|
-
|
|
52
|
+
CampaignStatisticsParams = Revox::Models::CampaignStatisticsParams
|
|
53
|
+
|
|
54
|
+
CampaignUpdateParams = Revox::Models::CampaignUpdateParams
|
|
55
|
+
|
|
56
|
+
PhoneNumberDeleteParams = Revox::Models::PhoneNumberDeleteParams
|
|
57
|
+
|
|
58
|
+
PhoneNumberListParams = Revox::Models::PhoneNumberListParams
|
|
59
|
+
|
|
60
|
+
PhoneNumberUpdateParams = Revox::Models::PhoneNumberUpdateParams
|
|
61
|
+
|
|
62
|
+
UserRetrieveParams = Revox::Models::UserRetrieveParams
|
|
63
|
+
|
|
64
|
+
VoiceCloneParams = Revox::Models::VoiceCloneParams
|
|
65
|
+
|
|
66
|
+
VoiceDeleteParams = Revox::Models::VoiceDeleteParams
|
|
33
67
|
|
|
34
68
|
VoiceListParams = Revox::Models::VoiceListParams
|
|
35
69
|
|
|
@@ -31,8 +31,6 @@ module Revox
|
|
|
31
31
|
T::Array[Revox::AssistantCreateParams::CustomTool::OrHash]
|
|
32
32
|
),
|
|
33
33
|
email_notification_address: T.nilable(String),
|
|
34
|
-
email_notification_language:
|
|
35
|
-
Revox::AssistantCreateParams::EmailNotificationLanguage::OrSymbol,
|
|
36
34
|
email_notification_outcomes:
|
|
37
35
|
T.nilable(
|
|
38
36
|
T::Array[
|
|
@@ -62,6 +60,7 @@ module Revox
|
|
|
62
60
|
max_call_duration_secs: Float,
|
|
63
61
|
max_duration_end_message: T.nilable(String),
|
|
64
62
|
position: T.nilable(Revox::AssistantCreateParams::Position::OrHash),
|
|
63
|
+
precall_lookup_url: T.nilable(String),
|
|
65
64
|
prompt_flow:
|
|
66
65
|
T.nilable(Revox::AssistantCreateParams::PromptFlow::OrHash),
|
|
67
66
|
slack: T.nilable(Revox::AssistantCreateParams::Slack::OrHash),
|
|
@@ -79,7 +78,12 @@ module Revox
|
|
|
79
78
|
T.nilable(Revox::AssistantCreateParams::ThinkingSound::OrSymbol),
|
|
80
79
|
thinking_sound_probability: Float,
|
|
81
80
|
thinking_sound_volume: Float,
|
|
82
|
-
|
|
81
|
+
transfer_destinations:
|
|
82
|
+
T.nilable(
|
|
83
|
+
T::Array[
|
|
84
|
+
Revox::AssistantCreateParams::TransferDestination::OrHash
|
|
85
|
+
]
|
|
86
|
+
),
|
|
83
87
|
type: Revox::AssistantCreateParams::Type::OrSymbol,
|
|
84
88
|
voice: Revox::AssistantCreateParams::Voice::OrHash,
|
|
85
89
|
voicemail_message: T.nilable(String),
|
|
@@ -119,9 +123,6 @@ module Revox
|
|
|
119
123
|
# outcome. Accepts a single email or a comma-separated list (e.g. "alice@x.com,
|
|
120
124
|
# bob@y.com").
|
|
121
125
|
email_notification_address: nil,
|
|
122
|
-
# The language used for the notification email content. One of "en" or "fr".
|
|
123
|
-
# Defaults to "en".
|
|
124
|
-
email_notification_language: nil,
|
|
125
126
|
# Which call outcomes trigger an email notification. E.g. ["interested",
|
|
126
127
|
# "completed", "none"]. Use "none" when outcome is null.
|
|
127
128
|
email_notification_outcomes: nil,
|
|
@@ -143,8 +144,8 @@ module Revox
|
|
|
143
144
|
# Must be a phone number owned by the organization in E.164 format (e.g.
|
|
144
145
|
# +1234567890). When null, the organization's default phone number is used.
|
|
145
146
|
from_phone_number: nil,
|
|
146
|
-
# When
|
|
147
|
-
# trunk must allow REFER/PSTN). Omit or null when transfer is disabled.
|
|
147
|
+
# When transfer_destinations is non-empty: "warm" (AI bridges) or "cold" (SIP
|
|
148
|
+
# REFER; trunk must allow REFER/PSTN). Omit or null when transfer is disabled.
|
|
148
149
|
human_transfer_mode: nil,
|
|
149
150
|
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
150
151
|
# skip turns to navigate phone menus.
|
|
@@ -162,6 +163,12 @@ module Revox
|
|
|
162
163
|
max_duration_end_message: nil,
|
|
163
164
|
# Canvas position of this assistant's node in its multi-step flow editor.
|
|
164
165
|
position: nil,
|
|
166
|
+
# Inbound calls only. URL fetched over HTTP GET right before the call is answered,
|
|
167
|
+
# with `{{phone}}` replaced by the caller's number in E.164 format (URL-encoded).
|
|
168
|
+
# It must return `{"prompt_variables": {...}}` covering every `{{variable}}` the
|
|
169
|
+
# assistant declares, otherwise the call is errored. Must be an http(s) URL
|
|
170
|
+
# containing `{{phone}}`. When null, no lookup is performed.
|
|
171
|
+
precall_lookup_url: nil,
|
|
165
172
|
# Visual prompt constructor data (nodes, edges, positions). Used by the UI to
|
|
166
173
|
# re-open the visual editor. Does not affect call behavior — the flattened prompt
|
|
167
174
|
# field is what the LLM receives.
|
|
@@ -198,9 +205,11 @@ module Revox
|
|
|
198
205
|
thinking_sound_probability: nil,
|
|
199
206
|
# Volume of the thinking sound (0 = silent, 1 = max).
|
|
200
207
|
thinking_sound_volume: nil,
|
|
201
|
-
#
|
|
202
|
-
#
|
|
203
|
-
|
|
208
|
+
# Where calls can be transferred to when users ask to speak to a human. With a
|
|
209
|
+
# single entry the assistant always transfers there; with several, it picks one at
|
|
210
|
+
# transfer time by applying the routing rules written in the assistant's own
|
|
211
|
+
# prompt (which refer to the destination labels). Empty or null disables transfer.
|
|
212
|
+
transfer_destinations: nil,
|
|
204
213
|
# Assistant kind. 'standalone' (default) is a normal assistant, 'multi-step'
|
|
205
214
|
# orchestrates a flow of sub-assistants, 'sub-assistant' is a step inside a
|
|
206
215
|
# multi-step flow (hidden from the assistants list). Flow transitions are managed
|
|
@@ -268,8 +277,6 @@ module Revox
|
|
|
268
277
|
T::Array[Revox::AssistantUpdateParams::CustomTool::OrHash]
|
|
269
278
|
),
|
|
270
279
|
email_notification_address: T.nilable(String),
|
|
271
|
-
email_notification_language:
|
|
272
|
-
Revox::AssistantUpdateParams::EmailNotificationLanguage::OrSymbol,
|
|
273
280
|
email_notification_outcomes:
|
|
274
281
|
T.nilable(
|
|
275
282
|
T::Array[
|
|
@@ -300,6 +307,7 @@ module Revox
|
|
|
300
307
|
max_duration_end_message: T.nilable(String),
|
|
301
308
|
name: String,
|
|
302
309
|
position: T.nilable(Revox::AssistantUpdateParams::Position::OrHash),
|
|
310
|
+
precall_lookup_url: T.nilable(String),
|
|
303
311
|
prompt: String,
|
|
304
312
|
prompt_flow:
|
|
305
313
|
T.nilable(Revox::AssistantUpdateParams::PromptFlow::OrHash),
|
|
@@ -318,7 +326,12 @@ module Revox
|
|
|
318
326
|
T.nilable(Revox::AssistantUpdateParams::ThinkingSound::OrSymbol),
|
|
319
327
|
thinking_sound_probability: Float,
|
|
320
328
|
thinking_sound_volume: Float,
|
|
321
|
-
|
|
329
|
+
transfer_destinations:
|
|
330
|
+
T.nilable(
|
|
331
|
+
T::Array[
|
|
332
|
+
Revox::AssistantUpdateParams::TransferDestination::OrHash
|
|
333
|
+
]
|
|
334
|
+
),
|
|
322
335
|
type: Revox::AssistantUpdateParams::Type::OrSymbol,
|
|
323
336
|
voice: Revox::AssistantUpdateParams::Voice::OrHash,
|
|
324
337
|
voicemail_message: T.nilable(String),
|
|
@@ -356,9 +369,6 @@ module Revox
|
|
|
356
369
|
# outcome. Accepts a single email or a comma-separated list (e.g. "alice@x.com,
|
|
357
370
|
# bob@y.com").
|
|
358
371
|
email_notification_address: nil,
|
|
359
|
-
# The language used for the notification email content. One of "en" or "fr".
|
|
360
|
-
# Defaults to "en".
|
|
361
|
-
email_notification_language: nil,
|
|
362
372
|
# Which call outcomes trigger an email notification. E.g. ["interested",
|
|
363
373
|
# "completed", "none"]. Use "none" when outcome is null.
|
|
364
374
|
email_notification_outcomes: nil,
|
|
@@ -380,8 +390,8 @@ module Revox
|
|
|
380
390
|
# Must be a phone number owned by the organization in E.164 format (e.g.
|
|
381
391
|
# +1234567890). When null, the organization's default phone number is used.
|
|
382
392
|
from_phone_number: nil,
|
|
383
|
-
# When
|
|
384
|
-
# trunk must allow REFER/PSTN). Omit or null when transfer is disabled.
|
|
393
|
+
# When transfer_destinations is non-empty: "warm" (AI bridges) or "cold" (SIP
|
|
394
|
+
# REFER; trunk must allow REFER/PSTN). Omit or null when transfer is disabled.
|
|
385
395
|
human_transfer_mode: nil,
|
|
386
396
|
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
387
397
|
# skip turns to navigate phone menus.
|
|
@@ -400,6 +410,12 @@ module Revox
|
|
|
400
410
|
name: nil,
|
|
401
411
|
# Canvas position of this assistant's node in its multi-step flow editor.
|
|
402
412
|
position: nil,
|
|
413
|
+
# Inbound calls only. URL fetched over HTTP GET right before the call is answered,
|
|
414
|
+
# with `{{phone}}` replaced by the caller's number in E.164 format (URL-encoded).
|
|
415
|
+
# It must return `{"prompt_variables": {...}}` covering every `{{variable}}` the
|
|
416
|
+
# assistant declares, otherwise the call is errored. Must be an http(s) URL
|
|
417
|
+
# containing `{{phone}}`. When null, no lookup is performed.
|
|
418
|
+
precall_lookup_url: nil,
|
|
403
419
|
# The prompt to use for the call. This will be given to the LLM (gpt-4.1)
|
|
404
420
|
prompt: nil,
|
|
405
421
|
# Visual prompt constructor data (nodes, edges, positions). Used by the UI to
|
|
@@ -438,9 +454,11 @@ module Revox
|
|
|
438
454
|
thinking_sound_probability: nil,
|
|
439
455
|
# Volume of the thinking sound (0 = silent, 1 = max).
|
|
440
456
|
thinking_sound_volume: nil,
|
|
441
|
-
#
|
|
442
|
-
#
|
|
443
|
-
|
|
457
|
+
# Where calls can be transferred to when users ask to speak to a human. With a
|
|
458
|
+
# single entry the assistant always transfers there; with several, it picks one at
|
|
459
|
+
# transfer time by applying the routing rules written in the assistant's own
|
|
460
|
+
# prompt (which refer to the destination labels). Empty or null disables transfer.
|
|
461
|
+
transfer_destinations: nil,
|
|
444
462
|
# Assistant kind. 'standalone' (default) is a normal assistant, 'multi-step'
|
|
445
463
|
# orchestrates a flow of sub-assistants, 'sub-assistant' is a step inside a
|
|
446
464
|
# multi-step flow (hidden from the assistants list). Flow transitions are managed
|
|
@@ -492,6 +510,18 @@ module Revox
|
|
|
492
510
|
def delete(id, request_options: {})
|
|
493
511
|
end
|
|
494
512
|
|
|
513
|
+
# Create a full copy of an existing assistant, including every configuration field
|
|
514
|
+
# and FAQ items. The new assistant has the same configuration as the source, with
|
|
515
|
+
# the name suffixed by "(Copy)" and a freshly generated API key.
|
|
516
|
+
sig do
|
|
517
|
+
params(
|
|
518
|
+
id: String,
|
|
519
|
+
request_options: Revox::RequestOptions::OrHash
|
|
520
|
+
).returns(Revox::Models::AssistantCloneResponse)
|
|
521
|
+
end
|
|
522
|
+
def clone_(id, request_options: {})
|
|
523
|
+
end
|
|
524
|
+
|
|
495
525
|
# @api private
|
|
496
526
|
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
497
527
|
def self.new(client:)
|