revox 0.1.0 → 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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +15 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/util.rb +22 -7
  7. data/lib/revox/models/assistant_create_params.rb +1038 -13
  8. data/lib/revox/models/assistant_create_response.rb +1071 -11
  9. data/lib/revox/models/assistant_list_response.rb +1070 -11
  10. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  11. data/lib/revox/models/assistant_update_params.rb +1038 -13
  12. data/lib/revox/models/assistant_update_response.rb +1097 -12
  13. data/lib/revox/models/call_create_params.rb +1065 -13
  14. data/lib/revox/models/call_create_response.rb +1813 -101
  15. data/lib/revox/models/call_retrieve_response.rb +1815 -101
  16. data/lib/revox/models/campaign_create_params.rb +67 -2
  17. data/lib/revox/models/campaign_create_response.rb +1314 -59
  18. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  19. data/lib/revox/models/campaign_get_rows_response.rb +1837 -129
  20. data/lib/revox/models/campaign_list_response.rb +1312 -59
  21. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  22. data/lib/revox/models/users/me_retrieve_response.rb +13 -1
  23. data/lib/revox/models/users/me_update_response.rb +13 -1
  24. data/lib/revox/models/voice_list_response.rb +55 -1
  25. data/lib/revox/models/voice_preview_params.rb +49 -1
  26. data/lib/revox/models.rb +0 -2
  27. data/lib/revox/resources/assistants.rb +116 -8
  28. data/lib/revox/resources/call.rb +0 -29
  29. data/lib/revox/resources/campaigns.rb +12 -17
  30. data/lib/revox/resources/voices.rb +16 -10
  31. data/lib/revox/version.rb +1 -1
  32. data/lib/revox.rb +0 -2
  33. data/rbi/revox/internal/util.rbi +8 -0
  34. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  35. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  36. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  37. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  38. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  39. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  40. data/rbi/revox/models/call_create_params.rbi +2382 -225
  41. data/rbi/revox/models/call_create_response.rbi +4104 -384
  42. data/rbi/revox/models/call_retrieve_response.rbi +4104 -382
  43. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  44. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  45. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  46. data/rbi/revox/models/campaign_get_rows_response.rbi +4135 -410
  47. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  48. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  49. data/rbi/revox/models/users/me_retrieve_response.rbi +13 -3
  50. data/rbi/revox/models/users/me_update_response.rbi +13 -3
  51. data/rbi/revox/models/voice_list_response.rbi +105 -3
  52. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  53. data/rbi/revox/models.rbi +0 -2
  54. data/rbi/revox/resources/assistants.rbi +284 -8
  55. data/rbi/revox/resources/call.rbi +0 -21
  56. data/rbi/revox/resources/campaigns.rbi +12 -19
  57. data/rbi/revox/resources/voices.rbi +17 -9
  58. data/sig/revox/internal/util.rbs +4 -0
  59. data/sig/revox/models/assistant_create_params.rbs +844 -11
  60. data/sig/revox/models/assistant_create_response.rbs +860 -3
  61. data/sig/revox/models/assistant_list_response.rbs +860 -3
  62. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  63. data/sig/revox/models/assistant_update_params.rbs +844 -11
  64. data/sig/revox/models/assistant_update_response.rbs +886 -6
  65. data/sig/revox/models/call_create_params.rbs +847 -13
  66. data/sig/revox/models/call_create_response.rbs +1514 -34
  67. data/sig/revox/models/call_retrieve_response.rbs +1514 -34
  68. data/sig/revox/models/campaign_create_params.rbs +54 -0
  69. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  70. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  71. data/sig/revox/models/campaign_get_rows_response.rbs +1522 -54
  72. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  73. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  74. data/sig/revox/models/users/me_retrieve_response.rbs +8 -3
  75. data/sig/revox/models/users/me_update_response.rbs +8 -3
  76. data/sig/revox/models/voice_list_response.rbs +45 -3
  77. data/sig/revox/models/voice_preview_params.rbs +42 -1
  78. data/sig/revox/models.rbs +0 -2
  79. data/sig/revox/resources/assistants.rbs +56 -2
  80. data/sig/revox/resources/call.rbs +0 -7
  81. data/sig/revox/resources/campaigns.rbs +2 -5
  82. data/sig/revox/resources/voices.rbs +4 -0
  83. metadata +2 -8
  84. data/lib/revox/models/call_list_params.rb +0 -52
  85. data/lib/revox/models/call_list_response.rb +0 -259
  86. data/rbi/revox/models/call_list_params.rbi +0 -94
  87. data/rbi/revox/models/call_list_response.rbi +0 -563
  88. data/sig/revox/models/call_list_params.rbs +0 -63
  89. data/sig/revox/models/call_list_response.rbs +0 -226
@@ -1,259 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Revox
4
- module Models
5
- # @see Revox::Resources::Call#list
6
- class CallListResponse < Revox::Internal::Type::BaseModel
7
- # @!attribute calls
8
- #
9
- # @return [Array<Revox::Models::CallListResponse::Call>]
10
- required :calls, -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallListResponse::Call] }
11
-
12
- # @!method initialize(calls:)
13
- # @param calls [Array<Revox::Models::CallListResponse::Call>]
14
-
15
- class Call < Revox::Internal::Type::BaseModel
16
- # @!attribute id
17
- # The ID of the call attempt.
18
- #
19
- # @return [String]
20
- required :id, String
21
-
22
- # @!attribute answered_at
23
- # The time the call was answered.
24
- #
25
- # @return [Object]
26
- required :answered_at, Revox::Internal::Type::Unknown
27
-
28
- # @!attribute dial_error
29
- # The SIP error that occurred.
30
- #
31
- # @return [Symbol, Revox::Models::CallListResponse::Call::DialError, nil]
32
- required :dial_error, enum: -> { Revox::Models::CallListResponse::Call::DialError }, nil?: true
33
-
34
- # @!attribute ended_at
35
- # The time the call ended.
36
- #
37
- # @return [Object]
38
- required :ended_at, Revox::Internal::Type::Unknown
39
-
40
- # @!attribute phone_number
41
- # The phone number that was called. Formatted in E.164 format. Example:
42
- # +1234567890
43
- #
44
- # @return [String]
45
- required :phone_number, String
46
-
47
- # @!attribute recording_url
48
- # The URL of the audio recording of the call.
49
- #
50
- # @return [String, nil]
51
- required :recording_url, String, nil?: true
52
-
53
- # @!attribute result
54
- #
55
- # @return [Symbol, Revox::Models::CallListResponse::Call::Result, nil]
56
- required :result, enum: -> { Revox::Models::CallListResponse::Call::Result }, nil?: true
57
-
58
- # @!attribute started_at
59
- # The time the call started.
60
- #
61
- # @return [Object]
62
- required :started_at, Revox::Internal::Type::Unknown
63
-
64
- # @!attribute status
65
- # The status of the call attempt.
66
- #
67
- # @return [Symbol, Revox::Models::CallListResponse::Call::Status]
68
- required :status, enum: -> { Revox::Models::CallListResponse::Call::Status }
69
-
70
- # @!attribute end_reason
71
- # Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
72
- # 'voicemail', 'transfer', 'ivr_no_navigate'.
73
- #
74
- # @return [String, nil]
75
- optional :end_reason, String, nil?: true
76
-
77
- # @!attribute ended_by
78
- # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
79
- # 'system' (e.g. max duration limit).
80
- #
81
- # @return [Symbol, Revox::Models::CallListResponse::Call::EndedBy, nil]
82
- optional :ended_by, enum: -> { Revox::Models::CallListResponse::Call::EndedBy }, nil?: true
83
-
84
- # @!attribute structured_output
85
- # The data extracted from the call, using the structured output config from the
86
- # parent call object.
87
- #
88
- # @return [Hash{Symbol=>Object}, nil]
89
- optional :structured_output, Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown], nil?: true
90
-
91
- # @!attribute transcript
92
- # The transcript of the call.
93
- #
94
- # @return [Array<Revox::Models::CallListResponse::Call::Transcript>, nil]
95
- optional :transcript,
96
- -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallListResponse::Call::Transcript] },
97
- nil?: true
98
-
99
- # @!method initialize(id:, answered_at:, dial_error:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, end_reason: nil, ended_by: nil, structured_output: nil, transcript: nil)
100
- # Some parameter documentations has been truncated, see
101
- # {Revox::Models::CallListResponse::Call} for more details.
102
- #
103
- # This represent a single call attempt. A call attempt is a single call made to
104
- # the phone number.
105
- #
106
- # @param id [String] The ID of the call attempt.
107
- #
108
- # @param answered_at [Object] The time the call was answered.
109
- #
110
- # @param dial_error [Symbol, Revox::Models::CallListResponse::Call::DialError, nil] The SIP error that occurred.
111
- #
112
- # @param ended_at [Object] The time the call ended.
113
- #
114
- # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
115
- #
116
- # @param recording_url [String, nil] The URL of the audio recording of the call.
117
- #
118
- # @param result [Symbol, Revox::Models::CallListResponse::Call::Result, nil]
119
- #
120
- # @param started_at [Object] The time the call started.
121
- #
122
- # @param status [Symbol, Revox::Models::CallListResponse::Call::Status] The status of the call attempt.
123
- #
124
- # @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
125
- #
126
- # @param ended_by [Symbol, Revox::Models::CallListResponse::Call::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
127
- #
128
- # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
129
- #
130
- # @param transcript [Array<Revox::Models::CallListResponse::Call::Transcript>, nil] The transcript of the call.
131
-
132
- # The SIP error that occurred.
133
- #
134
- # @see Revox::Models::CallListResponse::Call#dial_error
135
- module DialError
136
- extend Revox::Internal::Type::Enum
137
-
138
- NUMBER_NON_ATTRIBUTED = :number_non_attributed
139
- TOO_MANY_CALLS = :too_many_calls
140
- BUSY = :busy
141
- TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
142
- NO_ANSWER = :no_answer
143
- NO_INTERNATIONAL_PERMISSION = :no_international_permission
144
- PRECONDITION_FAILED = :precondition_failed
145
- NON_CLASSIFIED_ERROR = :non_classified_error
146
-
147
- # @!method self.values
148
- # @return [Array<Symbol>]
149
- end
150
-
151
- # @see Revox::Models::CallListResponse::Call#result
152
- module Result
153
- extend Revox::Internal::Type::Enum
154
-
155
- IVR = :IVR
156
- VOICEMAIL = :voicemail
157
- HUMAN = :human
158
- UNKNOWN = :unknown
159
- IOS_SCREENING_FILTER = :"ios-screening-filter"
160
-
161
- # @!method self.values
162
- # @return [Array<Symbol>]
163
- end
164
-
165
- # The status of the call attempt.
166
- #
167
- # @see Revox::Models::CallListResponse::Call#status
168
- module Status
169
- extend Revox::Internal::Type::Enum
170
-
171
- QUEUED = :queued
172
- RINGING = :ringing
173
- ONGOING = :ongoing
174
- COMPLETED = :completed
175
- ERROR = :error
176
-
177
- # @!method self.values
178
- # @return [Array<Symbol>]
179
- end
180
-
181
- # Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
182
- # 'system' (e.g. max duration limit).
183
- #
184
- # @see Revox::Models::CallListResponse::Call#ended_by
185
- module EndedBy
186
- extend Revox::Internal::Type::Enum
187
-
188
- AGENT = :agent
189
- USER = :user
190
- SYSTEM = :system
191
-
192
- # @!method self.values
193
- # @return [Array<Symbol>]
194
- end
195
-
196
- class Transcript < Revox::Internal::Type::BaseModel
197
- # @!attribute content
198
- #
199
- # @return [String]
200
- required :content, String
201
-
202
- # @!attribute role
203
- #
204
- # @return [Symbol, Revox::Models::CallListResponse::Call::Transcript::Role]
205
- required :role, enum: -> { Revox::Models::CallListResponse::Call::Transcript::Role }
206
-
207
- # @!attribute tool_arguments
208
- #
209
- # @return [Hash{Symbol=>Object}, String, nil]
210
- optional :tool_arguments, union: -> { Revox::Models::CallListResponse::Call::Transcript::ToolArguments }
211
-
212
- # @!attribute tool_is_error
213
- #
214
- # @return [Boolean, nil]
215
- optional :tool_is_error, Revox::Internal::Type::Boolean
216
-
217
- # @!attribute tool_name
218
- #
219
- # @return [String, nil]
220
- optional :tool_name, String
221
-
222
- # @!method initialize(content:, role:, tool_arguments: nil, tool_is_error: nil, tool_name: nil)
223
- # @param content [String]
224
- # @param role [Symbol, Revox::Models::CallListResponse::Call::Transcript::Role]
225
- # @param tool_arguments [Hash{Symbol=>Object}, String]
226
- # @param tool_is_error [Boolean]
227
- # @param tool_name [String]
228
-
229
- # @see Revox::Models::CallListResponse::Call::Transcript#role
230
- module Role
231
- extend Revox::Internal::Type::Enum
232
-
233
- USER = :user
234
- ASSISTANT = :assistant
235
- TOOL = :tool
236
-
237
- # @!method self.values
238
- # @return [Array<Symbol>]
239
- end
240
-
241
- # @see Revox::Models::CallListResponse::Call::Transcript#tool_arguments
242
- module ToolArguments
243
- extend Revox::Internal::Type::Union
244
-
245
- variant -> { Revox::Models::CallListResponse::Call::Transcript::ToolArguments::UnionMember0Map }
246
-
247
- variant String
248
-
249
- # @!method self.variants
250
- # @return [Array(Hash{Symbol=>Object}, String)]
251
-
252
- # @type [Revox::Internal::Type::Converter]
253
- UnionMember0Map = Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
254
- end
255
- end
256
- end
257
- end
258
- end
259
- end
@@ -1,94 +0,0 @@
1
- # typed: strong
2
-
3
- module Revox
4
- module Models
5
- class CallListParams < Revox::Internal::Type::BaseModel
6
- extend Revox::Internal::Type::RequestParameters::Converter
7
- include Revox::Internal::Type::RequestParameters
8
-
9
- OrHash =
10
- T.type_alias { T.any(Revox::CallListParams, Revox::Internal::AnyHash) }
11
-
12
- # The page number you want to get. Starting at 0.
13
- sig { returns(Integer) }
14
- attr_accessor :page
15
-
16
- # The number of calls to return per page.
17
- sig { returns(Integer) }
18
- attr_accessor :page_size
19
-
20
- sig do
21
- returns(T.nilable(T::Array[Revox::CallListParams::Status::OrSymbol]))
22
- end
23
- attr_reader :statuses
24
-
25
- sig do
26
- params(statuses: T::Array[Revox::CallListParams::Status::OrSymbol]).void
27
- end
28
- attr_writer :statuses
29
-
30
- sig do
31
- params(
32
- page: Integer,
33
- page_size: Integer,
34
- statuses: T::Array[Revox::CallListParams::Status::OrSymbol],
35
- request_options: Revox::RequestOptions::OrHash
36
- ).returns(T.attached_class)
37
- end
38
- def self.new(
39
- # The page number you want to get. Starting at 0.
40
- page:,
41
- # The number of calls to return per page.
42
- page_size:,
43
- statuses: nil,
44
- request_options: {}
45
- )
46
- end
47
-
48
- sig do
49
- override.returns(
50
- {
51
- page: Integer,
52
- page_size: Integer,
53
- statuses: T::Array[Revox::CallListParams::Status::OrSymbol],
54
- request_options: Revox::RequestOptions
55
- }
56
- )
57
- end
58
- def to_hash
59
- end
60
-
61
- module Status
62
- extend Revox::Internal::Type::Enum
63
-
64
- TaggedSymbol =
65
- T.type_alias { T.all(Symbol, Revox::CallListParams::Status) }
66
- OrSymbol = T.type_alias { T.any(Symbol, String) }
67
-
68
- INITIALIZING =
69
- T.let(:initializing, Revox::CallListParams::Status::TaggedSymbol)
70
- QUEUED_FOR_CALLING =
71
- T.let(
72
- :queued_for_calling,
73
- Revox::CallListParams::Status::TaggedSymbol
74
- )
75
- CALLING = T.let(:calling, Revox::CallListParams::Status::TaggedSymbol)
76
- SCHEDULED =
77
- T.let(:scheduled, Revox::CallListParams::Status::TaggedSymbol)
78
- COMPLETED =
79
- T.let(:completed, Revox::CallListParams::Status::TaggedSymbol)
80
- CANCELLED =
81
- T.let(:cancelled, Revox::CallListParams::Status::TaggedSymbol)
82
- ERRORED = T.let(:errored, Revox::CallListParams::Status::TaggedSymbol)
83
-
84
- sig do
85
- override.returns(
86
- T::Array[Revox::CallListParams::Status::TaggedSymbol]
87
- )
88
- end
89
- def self.values
90
- end
91
- end
92
- end
93
- end
94
- end