revox 0.0.2 → 0.2.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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +96 -0
  3. data/README.md +88 -22
  4. data/lib/revox/client.rb +19 -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 +53 -7
  8. data/lib/revox/models/assistant_create_params.rb +1036 -11
  9. data/lib/revox/models/assistant_create_response.rb +1071 -11
  10. data/lib/revox/models/assistant_delete_params.rb +7 -1
  11. data/lib/revox/models/assistant_list_response.rb +1070 -11
  12. data/lib/revox/models/assistant_retrieve_params.rb +7 -1
  13. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  14. data/lib/revox/models/assistant_update_params.rb +1043 -11
  15. data/lib/revox/models/assistant_update_response.rb +1097 -12
  16. data/lib/revox/models/call_create_params.rb +1063 -11
  17. data/lib/revox/models/call_create_response.rb +2507 -87
  18. data/lib/revox/models/call_retrieve_params.rb +7 -1
  19. data/lib/revox/models/call_retrieve_response.rb +2512 -87
  20. data/lib/revox/models/campaign_cancel_params.rb +20 -0
  21. data/lib/revox/models/campaign_cancel_response.rb +16 -0
  22. data/lib/revox/models/campaign_create_params.rb +239 -0
  23. data/lib/revox/models/campaign_create_response.rb +2030 -0
  24. data/lib/revox/models/campaign_delete_params.rb +20 -0
  25. data/lib/revox/models/campaign_delete_response.rb +16 -0
  26. data/lib/revox/models/campaign_export_rows_params.rb +20 -0
  27. data/lib/revox/models/campaign_export_rows_response.rb +22 -0
  28. data/lib/revox/models/campaign_get_rows_params.rb +20 -0
  29. data/lib/revox/models/campaign_get_rows_response.rb +3176 -0
  30. data/lib/revox/models/campaign_list_params.rb +14 -0
  31. data/lib/revox/models/campaign_list_response.rb +2024 -0
  32. data/lib/revox/models/campaign_retrieve_params.rb +20 -0
  33. data/lib/revox/models/campaign_retrieve_response.rb +2032 -0
  34. data/lib/revox/models/users/me_retrieve_response.rb +13 -1
  35. data/lib/revox/models/users/me_update_response.rb +13 -1
  36. data/lib/revox/models/voice_list_response.rb +55 -1
  37. data/lib/revox/models/voice_preview_params.rb +43 -3
  38. data/lib/revox/models/voice_retrieve_params.rb +7 -1
  39. data/lib/revox/models.rb +14 -2
  40. data/lib/revox/resources/assistants.rb +138 -6
  41. data/lib/revox/resources/call.rb +10 -27
  42. data/lib/revox/resources/campaigns.rb +176 -0
  43. data/lib/revox/resources/voices.rb +17 -7
  44. data/lib/revox/version.rb +1 -1
  45. data/lib/revox.rb +15 -2
  46. data/rbi/revox/client.rbi +3 -0
  47. data/rbi/revox/internal/util.rbi +28 -0
  48. data/rbi/revox/models/assistant_create_params.rbi +2135 -102
  49. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  50. data/rbi/revox/models/assistant_delete_params.rbi +11 -5
  51. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  52. data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
  53. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  54. data/rbi/revox/models/assistant_update_params.rbi +2139 -100
  55. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  56. data/rbi/revox/models/call_create_params.rbi +2377 -222
  57. data/rbi/revox/models/call_create_response.rbi +5840 -594
  58. data/rbi/revox/models/call_retrieve_params.rbi +11 -5
  59. data/rbi/revox/models/call_retrieve_response.rbi +5872 -618
  60. data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
  61. data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
  62. data/rbi/revox/models/campaign_create_params.rbi +433 -0
  63. data/rbi/revox/models/campaign_create_response.rbi +4170 -0
  64. data/rbi/revox/models/campaign_delete_params.rbi +33 -0
  65. data/rbi/revox/models/campaign_delete_response.rbi +23 -0
  66. data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
  67. data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
  68. data/rbi/revox/models/campaign_get_rows_params.rbi +33 -0
  69. data/rbi/revox/models/campaign_get_rows_response.rbi +6706 -0
  70. data/rbi/revox/models/campaign_list_params.rbi +27 -0
  71. data/rbi/revox/models/campaign_list_response.rbi +4156 -0
  72. data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
  73. data/rbi/revox/models/campaign_retrieve_response.rbi +4175 -0
  74. data/rbi/revox/models/users/me_retrieve_response.rbi +13 -3
  75. data/rbi/revox/models/users/me_update_response.rbi +13 -3
  76. data/rbi/revox/models/voice_list_response.rbi +105 -3
  77. data/rbi/revox/models/voice_preview_params.rbi +60 -2
  78. data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
  79. data/rbi/revox/models.rbi +14 -2
  80. data/rbi/revox/resources/assistants.rbi +301 -6
  81. data/rbi/revox/resources/call.rbi +10 -19
  82. data/rbi/revox/resources/campaigns.rbi +121 -0
  83. data/rbi/revox/resources/voices.rbi +15 -5
  84. data/sig/revox/client.rbs +2 -0
  85. data/sig/revox/internal/util.rbs +14 -0
  86. data/sig/revox/models/assistant_create_params.rbs +841 -4
  87. data/sig/revox/models/assistant_create_response.rbs +860 -3
  88. data/sig/revox/models/assistant_delete_params.rbs +8 -3
  89. data/sig/revox/models/assistant_list_response.rbs +860 -3
  90. data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
  91. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  92. data/sig/revox/models/assistant_update_params.rbs +846 -4
  93. data/sig/revox/models/assistant_update_response.rbs +886 -6
  94. data/sig/revox/models/call_create_params.rbs +844 -6
  95. data/sig/revox/models/call_create_response.rbs +2166 -79
  96. data/sig/revox/models/call_retrieve_params.rbs +9 -3
  97. data/sig/revox/models/call_retrieve_response.rbs +2166 -79
  98. data/sig/revox/models/campaign_cancel_params.rbs +20 -0
  99. data/sig/revox/models/campaign_cancel_response.rbs +13 -0
  100. data/sig/revox/models/campaign_create_params.rbs +203 -0
  101. data/sig/revox/models/campaign_create_response.rbs +1694 -0
  102. data/sig/revox/models/campaign_delete_params.rbs +20 -0
  103. data/sig/revox/models/campaign_delete_response.rbs +13 -0
  104. data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
  105. data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
  106. data/sig/revox/models/campaign_get_rows_params.rbs +20 -0
  107. data/sig/revox/models/campaign_get_rows_response.rbs +2688 -0
  108. data/sig/revox/models/campaign_list_params.rbs +14 -0
  109. data/sig/revox/models/campaign_list_response.rbs +1694 -0
  110. data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
  111. data/sig/revox/models/campaign_retrieve_response.rbs +1694 -0
  112. data/sig/revox/models/users/me_retrieve_response.rbs +8 -3
  113. data/sig/revox/models/users/me_update_response.rbs +8 -3
  114. data/sig/revox/models/voice_list_response.rbs +45 -3
  115. data/sig/revox/models/voice_preview_params.rbs +35 -1
  116. data/sig/revox/models/voice_retrieve_params.rbs +5 -1
  117. data/sig/revox/models.rbs +14 -2
  118. data/sig/revox/resources/assistants.rbs +54 -0
  119. data/sig/revox/resources/call.rbs +0 -6
  120. data/sig/revox/resources/campaigns.rbs +49 -0
  121. data/sig/revox/resources/voices.rbs +3 -0
  122. metadata +47 -8
  123. data/lib/revox/models/call_list_params.rb +0 -29
  124. data/lib/revox/models/call_list_response.rb +0 -197
  125. data/rbi/revox/models/call_list_params.rbi +0 -47
  126. data/rbi/revox/models/call_list_response.rbi +0 -401
  127. data/sig/revox/models/call_list_params.rbs +0 -28
  128. data/sig/revox/models/call_list_response.rbs +0 -171
@@ -0,0 +1,20 @@
1
+ module Revox
2
+ module Models
3
+ type campaign_cancel_params =
4
+ { id: String } & Revox::Internal::Type::request_parameters
5
+
6
+ class CampaignCancelParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ attr_accessor id: String
11
+
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Revox::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: Revox::RequestOptions }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ module Revox
2
+ module Models
3
+ type campaign_cancel_response = { success: bool }
4
+
5
+ class CampaignCancelResponse < Revox::Internal::Type::BaseModel
6
+ attr_accessor success: bool
7
+
8
+ def initialize: (success: bool) -> void
9
+
10
+ def to_hash: -> { success: bool }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,203 @@
1
+ module Revox
2
+ module Models
3
+ type campaign_create_params =
4
+ {
5
+ assistant_id: String,
6
+ contacts: ::Array[Revox::CampaignCreateParams::Contact],
7
+ launch: bool,
8
+ name: String,
9
+ type: Revox::Models::CampaignCreateParams::type_,
10
+ call_retry_config: Revox::CampaignCreateParams::CallRetryConfig,
11
+ from_phone_number: String,
12
+ max_concurrent_calls: Float,
13
+ scheduled_at: Revox::Models::CampaignCreateParams::scheduled_at
14
+ }
15
+ & Revox::Internal::Type::request_parameters
16
+
17
+ class CampaignCreateParams < Revox::Internal::Type::BaseModel
18
+ extend Revox::Internal::Type::RequestParameters::Converter
19
+ include Revox::Internal::Type::RequestParameters
20
+
21
+ attr_accessor assistant_id: String
22
+
23
+ attr_accessor contacts: ::Array[Revox::CampaignCreateParams::Contact]
24
+
25
+ attr_accessor launch: bool
26
+
27
+ attr_accessor name: String
28
+
29
+ attr_accessor type: Revox::Models::CampaignCreateParams::type_
30
+
31
+ attr_reader call_retry_config: Revox::CampaignCreateParams::CallRetryConfig?
32
+
33
+ def call_retry_config=: (
34
+ Revox::CampaignCreateParams::CallRetryConfig
35
+ ) -> Revox::CampaignCreateParams::CallRetryConfig
36
+
37
+ attr_reader from_phone_number: String?
38
+
39
+ def from_phone_number=: (String) -> String
40
+
41
+ attr_reader max_concurrent_calls: Float?
42
+
43
+ def max_concurrent_calls=: (Float) -> Float
44
+
45
+ attr_reader scheduled_at: Revox::Models::CampaignCreateParams::scheduled_at?
46
+
47
+ def scheduled_at=: (
48
+ Revox::Models::CampaignCreateParams::scheduled_at
49
+ ) -> Revox::Models::CampaignCreateParams::scheduled_at
50
+
51
+ def initialize: (
52
+ assistant_id: String,
53
+ contacts: ::Array[Revox::CampaignCreateParams::Contact],
54
+ launch: bool,
55
+ name: String,
56
+ type: Revox::Models::CampaignCreateParams::type_,
57
+ ?call_retry_config: Revox::CampaignCreateParams::CallRetryConfig,
58
+ ?from_phone_number: String,
59
+ ?max_concurrent_calls: Float,
60
+ ?scheduled_at: Revox::Models::CampaignCreateParams::scheduled_at,
61
+ ?request_options: Revox::request_opts
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ assistant_id: String,
66
+ contacts: ::Array[Revox::CampaignCreateParams::Contact],
67
+ launch: bool,
68
+ name: String,
69
+ type: Revox::Models::CampaignCreateParams::type_,
70
+ call_retry_config: Revox::CampaignCreateParams::CallRetryConfig,
71
+ from_phone_number: String,
72
+ max_concurrent_calls: Float,
73
+ scheduled_at: Revox::Models::CampaignCreateParams::scheduled_at,
74
+ request_options: Revox::RequestOptions
75
+ }
76
+
77
+ type contact =
78
+ { prompt_variables: ::Hash[Symbol, String], to_phone_number: String }
79
+
80
+ class Contact < Revox::Internal::Type::BaseModel
81
+ attr_accessor prompt_variables: ::Hash[Symbol, String]
82
+
83
+ attr_accessor to_phone_number: String
84
+
85
+ def initialize: (
86
+ prompt_variables: ::Hash[Symbol, String],
87
+ to_phone_number: String
88
+ ) -> void
89
+
90
+ def to_hash: -> {
91
+ prompt_variables: ::Hash[Symbol, String],
92
+ to_phone_number: String
93
+ }
94
+ end
95
+
96
+ type type_ = :regular | :jump_in
97
+
98
+ module Type
99
+ extend Revox::Internal::Type::Enum
100
+
101
+ REGULAR: :regular
102
+ JUMP_IN: :jump_in
103
+
104
+ def self?.values: -> ::Array[Revox::Models::CampaignCreateParams::type_]
105
+ end
106
+
107
+ type call_retry_config =
108
+ {
109
+ allowed_days: ::Array[Revox::Models::CampaignCreateParams::CallRetryConfig::allowed_day],
110
+ call_twice_in_a_row: bool,
111
+ calling_windows: ::Array[Revox::CampaignCreateParams::CallRetryConfig::CallingWindow],
112
+ max_retry_attempts: Integer,
113
+ timezone: String?
114
+ }
115
+
116
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
117
+ attr_accessor allowed_days: ::Array[Revox::Models::CampaignCreateParams::CallRetryConfig::allowed_day]
118
+
119
+ attr_accessor call_twice_in_a_row: bool
120
+
121
+ attr_accessor calling_windows: ::Array[Revox::CampaignCreateParams::CallRetryConfig::CallingWindow]
122
+
123
+ attr_accessor max_retry_attempts: Integer
124
+
125
+ attr_accessor timezone: String?
126
+
127
+ def initialize: (
128
+ allowed_days: ::Array[Revox::Models::CampaignCreateParams::CallRetryConfig::allowed_day],
129
+ call_twice_in_a_row: bool,
130
+ calling_windows: ::Array[Revox::CampaignCreateParams::CallRetryConfig::CallingWindow],
131
+ max_retry_attempts: Integer,
132
+ ?timezone: String?
133
+ ) -> void
134
+
135
+ def to_hash: -> {
136
+ allowed_days: ::Array[Revox::Models::CampaignCreateParams::CallRetryConfig::allowed_day],
137
+ call_twice_in_a_row: bool,
138
+ calling_windows: ::Array[Revox::CampaignCreateParams::CallRetryConfig::CallingWindow],
139
+ max_retry_attempts: Integer,
140
+ timezone: String?
141
+ }
142
+
143
+ type allowed_day =
144
+ :monday
145
+ | :tuesday
146
+ | :wednesday
147
+ | :thursday
148
+ | :friday
149
+ | :saturday
150
+ | :sunday
151
+
152
+ module AllowedDay
153
+ extend Revox::Internal::Type::Enum
154
+
155
+ MONDAY: :monday
156
+ TUESDAY: :tuesday
157
+ WEDNESDAY: :wednesday
158
+ THURSDAY: :thursday
159
+ FRIDAY: :friday
160
+ SATURDAY: :saturday
161
+ SUNDAY: :sunday
162
+
163
+ def self?.values: -> ::Array[Revox::Models::CampaignCreateParams::CallRetryConfig::allowed_day]
164
+ end
165
+
166
+ type calling_window =
167
+ {
168
+ calling_window_end_time: String,
169
+ calling_window_start_time: String,
170
+ retry_delay_seconds: Integer
171
+ }
172
+
173
+ class CallingWindow < Revox::Internal::Type::BaseModel
174
+ attr_accessor calling_window_end_time: String
175
+
176
+ attr_accessor calling_window_start_time: String
177
+
178
+ attr_accessor retry_delay_seconds: Integer
179
+
180
+ def initialize: (
181
+ calling_window_end_time: String,
182
+ calling_window_start_time: String,
183
+ retry_delay_seconds: Integer
184
+ ) -> void
185
+
186
+ def to_hash: -> {
187
+ calling_window_end_time: String,
188
+ calling_window_start_time: String,
189
+ retry_delay_seconds: Integer
190
+ }
191
+ end
192
+ end
193
+
194
+ type scheduled_at = Time | top
195
+
196
+ module ScheduledAt
197
+ extend Revox::Internal::Type::Union
198
+
199
+ def self?.variants: -> ::Array[Revox::Models::CampaignCreateParams::scheduled_at]
200
+ end
201
+ end
202
+ end
203
+ end