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.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +1 -1
  4. data/lib/revox/client.rb +8 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/models/assistant_clone_params.rb +20 -0
  7. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  8. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  9. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  10. data/lib/revox/models/call_cancel_params.rb +20 -0
  11. data/lib/revox/models/call_cancel_response.rb +16 -0
  12. data/lib/revox/models/call_create_response.rb +11 -1
  13. data/lib/revox/models/call_export_params.rb +205 -0
  14. data/lib/revox/models/call_export_response.rb +22 -0
  15. data/lib/revox/models/call_pause_params.rb +20 -0
  16. data/lib/revox/models/call_pause_response.rb +16 -0
  17. data/lib/revox/models/call_phone_history_params.rb +14 -0
  18. data/lib/revox/models/call_phone_history_response.rb +98 -0
  19. data/lib/revox/models/call_resume_params.rb +20 -0
  20. data/lib/revox/models/call_resume_response.rb +16 -0
  21. data/lib/revox/models/call_retrieve_response.rb +11 -1
  22. data/lib/revox/models/call_search_params.rb +171 -0
  23. data/lib/revox/models/call_search_response.rb +3114 -0
  24. data/lib/revox/models/campaign_get_rows_response.rb +11 -1
  25. data/lib/revox/models/campaign_launch_params.rb +20 -0
  26. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  27. data/lib/revox/models/campaign_pause_params.rb +20 -0
  28. data/lib/revox/models/campaign_pause_response.rb +16 -0
  29. data/lib/revox/models/campaign_resume_params.rb +20 -0
  30. data/lib/revox/models/campaign_resume_response.rb +16 -0
  31. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  32. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  33. data/lib/revox/models/campaign_update_params.rb +234 -0
  34. data/lib/revox/models/campaign_update_response.rb +2030 -0
  35. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  36. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  37. data/lib/revox/models/phone_number_list_params.rb +14 -0
  38. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  39. data/lib/revox/models/phone_number_update_params.rb +32 -0
  40. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  41. data/lib/revox/models/user_retrieve_params.rb +14 -0
  42. data/lib/revox/models/user_retrieve_response.rb +99 -0
  43. data/lib/revox/models/voice_clone_params.rb +78 -0
  44. data/lib/revox/models/voice_clone_response.rb +40 -0
  45. data/lib/revox/models/voice_delete_params.rb +20 -0
  46. data/lib/revox/models/voice_delete_response.rb +16 -0
  47. data/lib/revox/models.rb +37 -1
  48. data/lib/revox/resources/assistants.rb +21 -0
  49. data/lib/revox/resources/auth_status.rb +32 -0
  50. data/lib/revox/resources/call.rb +145 -0
  51. data/lib/revox/resources/campaigns.rb +131 -0
  52. data/lib/revox/resources/phone_numbers.rb +74 -0
  53. data/lib/revox/resources/users.rb +17 -3
  54. data/lib/revox/resources/voices.rb +50 -0
  55. data/lib/revox/version.rb +1 -1
  56. data/lib/revox.rb +40 -5
  57. data/rbi/revox/client.rbi +6 -0
  58. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  59. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  60. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  61. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  62. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  63. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  64. data/rbi/revox/models/call_create_response.rbi +12 -0
  65. data/rbi/revox/models/call_export_params.rbi +456 -0
  66. data/rbi/revox/models/call_export_response.rbi +26 -0
  67. data/rbi/revox/models/call_pause_params.rbi +31 -0
  68. data/rbi/revox/models/call_pause_response.rbi +23 -0
  69. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  70. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  71. data/rbi/revox/models/call_resume_params.rbi +33 -0
  72. data/rbi/revox/models/call_resume_response.rbi +23 -0
  73. data/rbi/revox/models/call_retrieve_response.rbi +12 -0
  74. data/rbi/revox/models/call_search_params.rbi +288 -0
  75. data/rbi/revox/models/call_search_response.rbi +6593 -0
  76. data/rbi/revox/models/campaign_get_rows_response.rbi +12 -0
  77. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  78. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  79. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  80. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  81. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  82. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  83. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  84. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  85. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  86. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  87. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  88. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  89. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  90. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  91. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  92. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  93. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  94. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  95. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  96. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  97. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  98. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  99. data/rbi/revox/models.rbi +37 -1
  100. data/rbi/revox/resources/assistants.rbi +12 -0
  101. data/rbi/revox/resources/auth_status.rbi +21 -0
  102. data/rbi/revox/resources/call.rbi +107 -0
  103. data/rbi/revox/resources/campaigns.rbi +94 -0
  104. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  105. data/rbi/revox/resources/users.rbi +8 -2
  106. data/rbi/revox/resources/voices.rbi +39 -0
  107. data/sig/revox/client.rbs +4 -0
  108. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  109. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  110. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  111. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  112. data/sig/revox/models/call_cancel_params.rbs +20 -0
  113. data/sig/revox/models/call_cancel_response.rbs +13 -0
  114. data/sig/revox/models/call_create_response.rbs +5 -0
  115. data/sig/revox/models/call_export_params.rbs +234 -0
  116. data/sig/revox/models/call_export_response.rbs +15 -0
  117. data/sig/revox/models/call_pause_params.rbs +20 -0
  118. data/sig/revox/models/call_pause_response.rbs +13 -0
  119. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  120. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  121. data/sig/revox/models/call_resume_params.rbs +20 -0
  122. data/sig/revox/models/call_resume_response.rbs +13 -0
  123. data/sig/revox/models/call_retrieve_response.rbs +5 -0
  124. data/sig/revox/models/call_search_params.rbs +198 -0
  125. data/sig/revox/models/call_search_response.rbs +2654 -0
  126. data/sig/revox/models/campaign_get_rows_response.rbs +5 -0
  127. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  128. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  129. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  130. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  131. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  132. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  133. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  134. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  135. data/sig/revox/models/campaign_update_params.rbs +203 -0
  136. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  137. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  138. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  139. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  140. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  141. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  142. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  143. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  144. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  145. data/sig/revox/models/voice_clone_params.rbs +79 -0
  146. data/sig/revox/models/voice_clone_response.rbs +40 -0
  147. data/sig/revox/models/voice_delete_params.rbs +20 -0
  148. data/sig/revox/models/voice_delete_response.rbs +13 -0
  149. data/sig/revox/models.rbs +37 -1
  150. data/sig/revox/resources/assistants.rbs +5 -0
  151. data/sig/revox/resources/auth_status.rbs +11 -0
  152. data/sig/revox/resources/call.rbs +45 -0
  153. data/sig/revox/resources/campaigns.rbs +33 -0
  154. data/sig/revox/resources/phone_numbers.rbs +23 -0
  155. data/sig/revox/resources/users.rbs +3 -1
  156. data/sig/revox/resources/voices.rbs +13 -0
  157. metadata +121 -16
  158. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  159. data/lib/revox/models/users/me_retrieve_response.rb +0 -101
  160. data/lib/revox/models/users/me_update_params.rb +0 -22
  161. data/lib/revox/models/users/me_update_response.rb +0 -101
  162. data/lib/revox/resources/users/me.rb +0 -55
  163. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  164. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
  165. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  166. data/rbi/revox/models/users/me_update_response.rbi +0 -149
  167. data/rbi/revox/resources/users/me.rbi +0 -33
  168. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  169. data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
  170. data/sig/revox/models/users/me_update_params.rbs +0 -28
  171. data/sig/revox/models/users/me_update_response.rbs +0 -75
  172. 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 CallPhoneHistoryParams < 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::CallPhoneHistoryParams, 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,224 @@
1
+ # typed: strong
2
+
3
+ module Revox
4
+ module Models
5
+ class CallPhoneHistoryResponse < Revox::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Revox::Models::CallPhoneHistoryResponse,
10
+ Revox::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ T::Hash[Symbol, Revox::Models::CallPhoneHistoryResponse::PhoneHistory]
17
+ )
18
+ end
19
+ attr_accessor :phone_history
20
+
21
+ sig do
22
+ params(
23
+ phone_history:
24
+ T::Hash[
25
+ Symbol,
26
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::OrHash
27
+ ]
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(phone_history:)
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ phone_history:
37
+ T::Hash[
38
+ Symbol,
39
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory
40
+ ]
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ class PhoneHistory < Revox::Internal::Type::BaseModel
48
+ OrHash =
49
+ T.type_alias do
50
+ T.any(
51
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory,
52
+ Revox::Internal::AnyHash
53
+ )
54
+ end
55
+
56
+ sig do
57
+ returns(
58
+ T::Array[
59
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign
60
+ ]
61
+ )
62
+ end
63
+ attr_accessor :campaigns
64
+
65
+ sig { returns(Float) }
66
+ attr_accessor :count
67
+
68
+ sig { returns(T::Boolean) }
69
+ attr_accessor :do_not_contact
70
+
71
+ sig { returns(T::Boolean) }
72
+ attr_accessor :hot
73
+
74
+ sig { returns(T.nilable(String)) }
75
+ attr_accessor :last_called_at
76
+
77
+ sig do
78
+ returns(
79
+ T.nilable(
80
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
81
+ )
82
+ )
83
+ end
84
+ attr_accessor :last_outcome
85
+
86
+ sig { returns(T::Boolean) }
87
+ attr_accessor :reached_human
88
+
89
+ sig do
90
+ params(
91
+ campaigns:
92
+ T::Array[
93
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign::OrHash
94
+ ],
95
+ count: Float,
96
+ do_not_contact: T::Boolean,
97
+ hot: T::Boolean,
98
+ last_called_at: T.nilable(String),
99
+ last_outcome:
100
+ T.nilable(
101
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::OrSymbol
102
+ ),
103
+ reached_human: T::Boolean
104
+ ).returns(T.attached_class)
105
+ end
106
+ def self.new(
107
+ campaigns:,
108
+ count:,
109
+ do_not_contact:,
110
+ hot:,
111
+ last_called_at:,
112
+ last_outcome:,
113
+ reached_human:
114
+ )
115
+ end
116
+
117
+ sig do
118
+ override.returns(
119
+ {
120
+ campaigns:
121
+ T::Array[
122
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign
123
+ ],
124
+ count: Float,
125
+ do_not_contact: T::Boolean,
126
+ hot: T::Boolean,
127
+ last_called_at: T.nilable(String),
128
+ last_outcome:
129
+ T.nilable(
130
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
131
+ ),
132
+ reached_human: T::Boolean
133
+ }
134
+ )
135
+ end
136
+ def to_hash
137
+ end
138
+
139
+ class Campaign < Revox::Internal::Type::BaseModel
140
+ OrHash =
141
+ T.type_alias do
142
+ T.any(
143
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign,
144
+ Revox::Internal::AnyHash
145
+ )
146
+ end
147
+
148
+ sig { returns(String) }
149
+ attr_accessor :id
150
+
151
+ sig { returns(String) }
152
+ attr_accessor :name
153
+
154
+ sig { params(id: String, name: String).returns(T.attached_class) }
155
+ def self.new(id:, name:)
156
+ end
157
+
158
+ sig { override.returns({ id: String, name: String }) }
159
+ def to_hash
160
+ end
161
+ end
162
+
163
+ module LastOutcome
164
+ extend Revox::Internal::Type::Enum
165
+
166
+ TaggedSymbol =
167
+ T.type_alias do
168
+ T.all(
169
+ Symbol,
170
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome
171
+ )
172
+ end
173
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
174
+
175
+ NOT_INTERESTED =
176
+ T.let(
177
+ :not_interested,
178
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
179
+ )
180
+ INTERESTED =
181
+ T.let(
182
+ :interested,
183
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
184
+ )
185
+ COMPLETED =
186
+ T.let(
187
+ :completed,
188
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
189
+ )
190
+ REQUESTED_CALLBACK_LATER =
191
+ T.let(
192
+ :requested_callback_later,
193
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
194
+ )
195
+ REQUESTED_CALLBACK_NEW_NUMBER =
196
+ T.let(
197
+ :requested_callback_new_number,
198
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
199
+ )
200
+ DO_NOT_CONTACT =
201
+ T.let(
202
+ :do_not_contact,
203
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
204
+ )
205
+ AI_AVERSE =
206
+ T.let(
207
+ :ai_averse,
208
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
209
+ )
210
+
211
+ sig do
212
+ override.returns(
213
+ T::Array[
214
+ Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome::TaggedSymbol
215
+ ]
216
+ )
217
+ end
218
+ def self.values
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Revox
4
+ module Models
5
+ class CallResumeParams < 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::CallResumeParams, 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 CallResumeResponse < Revox::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Revox::Models::CallResumeResponse, 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
@@ -237,6 +237,12 @@ module Revox
237
237
  sig { returns(T.anything) }
238
238
  attr_accessor :updated_at
239
239
 
240
+ # Extra notification recipients resolved from the agent prompt's own routing
241
+ # rules, when it defines any. Added to the assistant's configured notification
242
+ # recipients; never replaces them. Null when the prompt defines no routing rules.
243
+ sig { returns(T.nilable(T::Array[String])) }
244
+ attr_accessor :follow_up_emails
245
+
240
246
  # Business outcome of the call. Null if not computed or no transcript.
241
247
  sig do
242
248
  returns(
@@ -303,6 +309,7 @@ module Revox
303
309
  status: Revox::Models::CallRetrieveResponse::Call::Status::OrSymbol,
304
310
  to_phone_number: String,
305
311
  updated_at: T.anything,
312
+ follow_up_emails: T.nilable(T::Array[String]),
306
313
  outcome:
307
314
  T.nilable(
308
315
  Revox::Models::CallRetrieveResponse::Call::Outcome::OrSymbol
@@ -362,6 +369,10 @@ module Revox
362
369
  # The time the call order was last updated (any state change, retry, or analysis
363
370
  # result).
364
371
  updated_at:,
372
+ # Extra notification recipients resolved from the agent prompt's own routing
373
+ # rules, when it defines any. Added to the assistant's configured notification
374
+ # recipients; never replaces them. Null when the prompt defines no routing rules.
375
+ follow_up_emails: nil,
365
376
  # Business outcome of the call. Null if not computed or no transcript.
366
377
  outcome: nil,
367
378
  # LLM explanation for the outcome, when outcome was computed from the transcript.
@@ -410,6 +421,7 @@ module Revox
410
421
  Revox::Models::CallRetrieveResponse::Call::Status::TaggedSymbol,
411
422
  to_phone_number: String,
412
423
  updated_at: T.anything,
424
+ follow_up_emails: T.nilable(T::Array[String]),
413
425
  outcome:
414
426
  T.nilable(
415
427
  Revox::Models::CallRetrieveResponse::Call::Outcome::TaggedSymbol
@@ -0,0 +1,288 @@
1
+ # typed: strong
2
+
3
+ module Revox
4
+ module Models
5
+ class CallSearchParams < 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::CallSearchParams, Revox::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(T::Array[String]) }
15
+ attr_accessor :assignee_ids
16
+
17
+ sig { returns(T::Array[String]) }
18
+ attr_accessor :assistant_ids
19
+
20
+ sig { returns(T::Array[String]) }
21
+ attr_accessor :campaign_ids
22
+
23
+ sig { returns(T::Array[Revox::CallSearchParams::Direction::OrSymbol]) }
24
+ attr_accessor :directions
25
+
26
+ sig { returns(T::Array[String]) }
27
+ attr_accessor :from_phone_numbers
28
+
29
+ sig { returns(T::Array[Revox::CallSearchParams::Outcome::OrSymbol]) }
30
+ attr_accessor :outcomes
31
+
32
+ sig { returns(Integer) }
33
+ attr_accessor :page
34
+
35
+ sig { returns(Integer) }
36
+ attr_accessor :page_size
37
+
38
+ sig { returns(T::Array[Revox::CallSearchParams::Result::OrSymbol]) }
39
+ attr_accessor :results
40
+
41
+ sig { returns(T::Array[Revox::CallSearchParams::Status::OrSymbol]) }
42
+ attr_accessor :statuses
43
+
44
+ sig { returns(T.nilable(T::Array[String])) }
45
+ attr_reader :call_ids
46
+
47
+ sig { params(call_ids: T::Array[String]).void }
48
+ attr_writer :call_ids
49
+
50
+ sig { returns(T.nilable(String)) }
51
+ attr_reader :query
52
+
53
+ sig { params(query: String).void }
54
+ attr_writer :query
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :sort_by
58
+
59
+ sig { params(sort_by: String).void }
60
+ attr_writer :sort_by
61
+
62
+ sig do
63
+ returns(T.nilable(Revox::CallSearchParams::SortDirection::OrSymbol))
64
+ end
65
+ attr_reader :sort_direction
66
+
67
+ sig do
68
+ params(
69
+ sort_direction: Revox::CallSearchParams::SortDirection::OrSymbol
70
+ ).void
71
+ end
72
+ attr_writer :sort_direction
73
+
74
+ sig { returns(T.nilable(String)) }
75
+ attr_reader :to_phone_number
76
+
77
+ sig { params(to_phone_number: String).void }
78
+ attr_writer :to_phone_number
79
+
80
+ sig do
81
+ params(
82
+ assignee_ids: T::Array[String],
83
+ assistant_ids: T::Array[String],
84
+ campaign_ids: T::Array[String],
85
+ directions: T::Array[Revox::CallSearchParams::Direction::OrSymbol],
86
+ from_phone_numbers: T::Array[String],
87
+ outcomes: T::Array[Revox::CallSearchParams::Outcome::OrSymbol],
88
+ page: Integer,
89
+ page_size: Integer,
90
+ results: T::Array[Revox::CallSearchParams::Result::OrSymbol],
91
+ statuses: T::Array[Revox::CallSearchParams::Status::OrSymbol],
92
+ call_ids: T::Array[String],
93
+ query: String,
94
+ sort_by: String,
95
+ sort_direction: Revox::CallSearchParams::SortDirection::OrSymbol,
96
+ to_phone_number: String,
97
+ request_options: Revox::RequestOptions::OrHash
98
+ ).returns(T.attached_class)
99
+ end
100
+ def self.new(
101
+ assignee_ids:,
102
+ assistant_ids:,
103
+ campaign_ids:,
104
+ directions:,
105
+ from_phone_numbers:,
106
+ outcomes:,
107
+ page:,
108
+ page_size:,
109
+ results:,
110
+ statuses:,
111
+ call_ids: nil,
112
+ query: nil,
113
+ sort_by: nil,
114
+ sort_direction: nil,
115
+ to_phone_number: nil,
116
+ request_options: {}
117
+ )
118
+ end
119
+
120
+ sig do
121
+ override.returns(
122
+ {
123
+ assignee_ids: T::Array[String],
124
+ assistant_ids: T::Array[String],
125
+ campaign_ids: T::Array[String],
126
+ directions: T::Array[Revox::CallSearchParams::Direction::OrSymbol],
127
+ from_phone_numbers: T::Array[String],
128
+ outcomes: T::Array[Revox::CallSearchParams::Outcome::OrSymbol],
129
+ page: Integer,
130
+ page_size: Integer,
131
+ results: T::Array[Revox::CallSearchParams::Result::OrSymbol],
132
+ statuses: T::Array[Revox::CallSearchParams::Status::OrSymbol],
133
+ call_ids: T::Array[String],
134
+ query: String,
135
+ sort_by: String,
136
+ sort_direction: Revox::CallSearchParams::SortDirection::OrSymbol,
137
+ to_phone_number: String,
138
+ request_options: Revox::RequestOptions
139
+ }
140
+ )
141
+ end
142
+ def to_hash
143
+ end
144
+
145
+ module Direction
146
+ extend Revox::Internal::Type::Enum
147
+
148
+ TaggedSymbol =
149
+ T.type_alias { T.all(Symbol, Revox::CallSearchParams::Direction) }
150
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
151
+
152
+ INBOUND =
153
+ T.let(:inbound, Revox::CallSearchParams::Direction::TaggedSymbol)
154
+ OUTBOUND =
155
+ T.let(:outbound, Revox::CallSearchParams::Direction::TaggedSymbol)
156
+
157
+ sig do
158
+ override.returns(
159
+ T::Array[Revox::CallSearchParams::Direction::TaggedSymbol]
160
+ )
161
+ end
162
+ def self.values
163
+ end
164
+ end
165
+
166
+ module Outcome
167
+ extend Revox::Internal::Type::Enum
168
+
169
+ TaggedSymbol =
170
+ T.type_alias { T.all(Symbol, Revox::CallSearchParams::Outcome) }
171
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
172
+
173
+ NOT_INTERESTED =
174
+ T.let(:not_interested, Revox::CallSearchParams::Outcome::TaggedSymbol)
175
+ INTERESTED =
176
+ T.let(:interested, Revox::CallSearchParams::Outcome::TaggedSymbol)
177
+ COMPLETED =
178
+ T.let(:completed, Revox::CallSearchParams::Outcome::TaggedSymbol)
179
+ REQUESTED_CALLBACK_LATER =
180
+ T.let(
181
+ :requested_callback_later,
182
+ Revox::CallSearchParams::Outcome::TaggedSymbol
183
+ )
184
+ REQUESTED_CALLBACK_NEW_NUMBER =
185
+ T.let(
186
+ :requested_callback_new_number,
187
+ Revox::CallSearchParams::Outcome::TaggedSymbol
188
+ )
189
+ DO_NOT_CONTACT =
190
+ T.let(:do_not_contact, Revox::CallSearchParams::Outcome::TaggedSymbol)
191
+ AI_AVERSE =
192
+ T.let(:ai_averse, Revox::CallSearchParams::Outcome::TaggedSymbol)
193
+ NONE = T.let(:none, Revox::CallSearchParams::Outcome::TaggedSymbol)
194
+
195
+ sig do
196
+ override.returns(
197
+ T::Array[Revox::CallSearchParams::Outcome::TaggedSymbol]
198
+ )
199
+ end
200
+ def self.values
201
+ end
202
+ end
203
+
204
+ module Result
205
+ extend Revox::Internal::Type::Enum
206
+
207
+ TaggedSymbol =
208
+ T.type_alias { T.all(Symbol, Revox::CallSearchParams::Result) }
209
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
210
+
211
+ IVR = T.let(:IVR, Revox::CallSearchParams::Result::TaggedSymbol)
212
+ VOICEMAIL =
213
+ T.let(:voicemail, Revox::CallSearchParams::Result::TaggedSymbol)
214
+ HUMAN = T.let(:human, Revox::CallSearchParams::Result::TaggedSymbol)
215
+ UNKNOWN = T.let(:unknown, Revox::CallSearchParams::Result::TaggedSymbol)
216
+ IOS_SCREENING_FILTER =
217
+ T.let(
218
+ :"ios-screening-filter",
219
+ Revox::CallSearchParams::Result::TaggedSymbol
220
+ )
221
+ NONE = T.let(:none, Revox::CallSearchParams::Result::TaggedSymbol)
222
+
223
+ sig do
224
+ override.returns(
225
+ T::Array[Revox::CallSearchParams::Result::TaggedSymbol]
226
+ )
227
+ end
228
+ def self.values
229
+ end
230
+ end
231
+
232
+ module Status
233
+ extend Revox::Internal::Type::Enum
234
+
235
+ TaggedSymbol =
236
+ T.type_alias { T.all(Symbol, Revox::CallSearchParams::Status) }
237
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
238
+
239
+ INITIALIZING =
240
+ T.let(:initializing, Revox::CallSearchParams::Status::TaggedSymbol)
241
+ QUEUED_FOR_CALLING =
242
+ T.let(
243
+ :queued_for_calling,
244
+ Revox::CallSearchParams::Status::TaggedSymbol
245
+ )
246
+ CALLING = T.let(:calling, Revox::CallSearchParams::Status::TaggedSymbol)
247
+ POST_PROCESSING =
248
+ T.let(:post_processing, Revox::CallSearchParams::Status::TaggedSymbol)
249
+ SCHEDULED =
250
+ T.let(:scheduled, Revox::CallSearchParams::Status::TaggedSymbol)
251
+ PAUSED = T.let(:paused, Revox::CallSearchParams::Status::TaggedSymbol)
252
+ COMPLETED =
253
+ T.let(:completed, Revox::CallSearchParams::Status::TaggedSymbol)
254
+ CANCELLED =
255
+ T.let(:cancelled, Revox::CallSearchParams::Status::TaggedSymbol)
256
+ ERRORED = T.let(:errored, Revox::CallSearchParams::Status::TaggedSymbol)
257
+
258
+ sig do
259
+ override.returns(
260
+ T::Array[Revox::CallSearchParams::Status::TaggedSymbol]
261
+ )
262
+ end
263
+ def self.values
264
+ end
265
+ end
266
+
267
+ module SortDirection
268
+ extend Revox::Internal::Type::Enum
269
+
270
+ TaggedSymbol =
271
+ T.type_alias { T.all(Symbol, Revox::CallSearchParams::SortDirection) }
272
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
273
+
274
+ ASC = T.let(:asc, Revox::CallSearchParams::SortDirection::TaggedSymbol)
275
+ DESC =
276
+ T.let(:desc, Revox::CallSearchParams::SortDirection::TaggedSymbol)
277
+
278
+ sig do
279
+ override.returns(
280
+ T::Array[Revox::CallSearchParams::SortDirection::TaggedSymbol]
281
+ )
282
+ end
283
+ def self.values
284
+ end
285
+ end
286
+ end
287
+ end
288
+ end