revox 0.0.2 → 0.1.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +63 -22
  4. data/lib/revox/client.rb +4 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/internal/util.rb +31 -0
  7. data/lib/revox/models/assistant_create_params.rb +2 -2
  8. data/lib/revox/models/assistant_delete_params.rb +7 -1
  9. data/lib/revox/models/assistant_retrieve_params.rb +7 -1
  10. data/lib/revox/models/assistant_update_params.rb +10 -3
  11. data/lib/revox/models/call_create_params.rb +2 -2
  12. data/lib/revox/models/call_create_response.rb +720 -12
  13. data/lib/revox/models/call_list_params.rb +30 -7
  14. data/lib/revox/models/call_list_response.rb +63 -1
  15. data/lib/revox/models/call_retrieve_params.rb +7 -1
  16. data/lib/revox/models/call_retrieve_response.rb +723 -12
  17. data/lib/revox/models/campaign_cancel_params.rb +20 -0
  18. data/lib/revox/models/campaign_cancel_response.rb +16 -0
  19. data/lib/revox/models/campaign_create_params.rb +174 -0
  20. data/lib/revox/models/campaign_create_response.rb +775 -0
  21. data/lib/revox/models/campaign_delete_params.rb +20 -0
  22. data/lib/revox/models/campaign_delete_response.rb +16 -0
  23. data/lib/revox/models/campaign_export_rows_params.rb +20 -0
  24. data/lib/revox/models/campaign_export_rows_response.rb +22 -0
  25. data/lib/revox/models/campaign_get_rows_params.rb +65 -0
  26. data/lib/revox/models/campaign_get_rows_response.rb +1468 -0
  27. data/lib/revox/models/campaign_list_params.rb +14 -0
  28. data/lib/revox/models/campaign_list_response.rb +771 -0
  29. data/lib/revox/models/campaign_retrieve_params.rb +20 -0
  30. data/lib/revox/models/campaign_retrieve_response.rb +776 -0
  31. data/lib/revox/models/voice_preview_params.rb +1 -9
  32. data/lib/revox/models/voice_retrieve_params.rb +7 -1
  33. data/lib/revox/models.rb +14 -0
  34. data/lib/revox/resources/assistants.rb +26 -2
  35. data/lib/revox/resources/call.rb +20 -8
  36. data/lib/revox/resources/campaigns.rb +181 -0
  37. data/lib/revox/resources/voices.rb +12 -8
  38. data/lib/revox/version.rb +1 -1
  39. data/lib/revox.rb +15 -0
  40. data/rbi/revox/client.rbi +3 -0
  41. data/rbi/revox/internal/util.rbi +20 -0
  42. data/rbi/revox/models/assistant_create_params.rbi +3 -5
  43. data/rbi/revox/models/assistant_delete_params.rbi +11 -5
  44. data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
  45. data/rbi/revox/models/assistant_update_params.rbi +9 -5
  46. data/rbi/revox/models/call_create_params.rbi +3 -5
  47. data/rbi/revox/models/call_create_response.rbi +1537 -11
  48. data/rbi/revox/models/call_list_params.rbi +53 -6
  49. data/rbi/revox/models/call_list_response.rbi +162 -0
  50. data/rbi/revox/models/call_retrieve_params.rbi +11 -5
  51. data/rbi/revox/models/call_retrieve_response.rbi +1543 -11
  52. data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
  53. data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
  54. data/rbi/revox/models/campaign_create_params.rbi +297 -0
  55. data/rbi/revox/models/campaign_create_response.rbi +1490 -0
  56. data/rbi/revox/models/campaign_delete_params.rbi +33 -0
  57. data/rbi/revox/models/campaign_delete_response.rbi +23 -0
  58. data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
  59. data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
  60. data/rbi/revox/models/campaign_get_rows_params.rbi +113 -0
  61. data/rbi/revox/models/campaign_get_rows_response.rbi +2981 -0
  62. data/rbi/revox/models/campaign_list_params.rbi +27 -0
  63. data/rbi/revox/models/campaign_list_response.rbi +1482 -0
  64. data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
  65. data/rbi/revox/models/campaign_retrieve_response.rbi +1495 -0
  66. data/rbi/revox/models/voice_preview_params.rbi +0 -11
  67. data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
  68. data/rbi/revox/models.rbi +14 -0
  69. data/rbi/revox/resources/assistants.rbi +21 -2
  70. data/rbi/revox/resources/call.rbi +18 -6
  71. data/rbi/revox/resources/campaigns.rbi +128 -0
  72. data/rbi/revox/resources/voices.rbi +9 -7
  73. data/sig/revox/client.rbs +2 -0
  74. data/sig/revox/internal/util.rbs +10 -0
  75. data/sig/revox/models/assistant_create_params.rbs +8 -4
  76. data/sig/revox/models/assistant_delete_params.rbs +8 -3
  77. data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
  78. data/sig/revox/models/assistant_update_params.rbs +13 -4
  79. data/sig/revox/models/call_create_params.rbs +8 -4
  80. data/sig/revox/models/call_create_response.rbs +615 -8
  81. data/sig/revox/models/call_list_params.rbs +42 -7
  82. data/sig/revox/models/call_list_response.rbs +57 -2
  83. data/sig/revox/models/call_retrieve_params.rbs +9 -3
  84. data/sig/revox/models/call_retrieve_response.rbs +615 -8
  85. data/sig/revox/models/campaign_cancel_params.rbs +20 -0
  86. data/sig/revox/models/campaign_cancel_response.rbs +13 -0
  87. data/sig/revox/models/campaign_create_params.rbs +149 -0
  88. data/sig/revox/models/campaign_create_response.rbs +666 -0
  89. data/sig/revox/models/campaign_delete_params.rbs +20 -0
  90. data/sig/revox/models/campaign_delete_response.rbs +13 -0
  91. data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
  92. data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
  93. data/sig/revox/models/campaign_get_rows_params.rbs +82 -0
  94. data/sig/revox/models/campaign_get_rows_response.rbs +1220 -0
  95. data/sig/revox/models/campaign_list_params.rbs +14 -0
  96. data/sig/revox/models/campaign_list_response.rbs +666 -0
  97. data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
  98. data/sig/revox/models/campaign_retrieve_response.rbs +666 -0
  99. data/sig/revox/models/voice_preview_params.rbs +1 -8
  100. data/sig/revox/models/voice_retrieve_params.rbs +5 -1
  101. data/sig/revox/models.rbs +14 -0
  102. data/sig/revox/resources/assistants.rbs +2 -2
  103. data/sig/revox/resources/call.rbs +3 -2
  104. data/sig/revox/resources/campaigns.rbs +52 -0
  105. data/sig/revox/resources/voices.rbs +0 -1
  106. metadata +47 -2
@@ -10,20 +10,43 @@ module Revox
10
10
  # @!attribute page
11
11
  # The page number you want to get. Starting at 0.
12
12
  #
13
- # @return [Float]
14
- required :page, Float
13
+ # @return [Integer]
14
+ required :page, Integer
15
15
 
16
16
  # @!attribute page_size
17
+ # The number of calls to return per page.
17
18
  #
18
- # @return [Float]
19
- required :page_size, Float
19
+ # @return [Integer]
20
+ required :page_size, Integer
20
21
 
21
- # @!method initialize(page:, page_size:, request_options: {})
22
- # @param page [Float] The page number you want to get. Starting at 0.
22
+ # @!attribute statuses
23
23
  #
24
- # @param page_size [Float]
24
+ # @return [Array<Symbol, Revox::Models::CallListParams::Status>, nil]
25
+ optional :statuses, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallListParams::Status] }
26
+
27
+ # @!method initialize(page:, page_size:, statuses: nil, request_options: {})
28
+ # @param page [Integer] The page number you want to get. Starting at 0.
29
+ #
30
+ # @param page_size [Integer] The number of calls to return per page.
31
+ #
32
+ # @param statuses [Array<Symbol, Revox::Models::CallListParams::Status>]
25
33
  #
26
34
  # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
35
+
36
+ module Status
37
+ extend Revox::Internal::Type::Enum
38
+
39
+ INITIALIZING = :initializing
40
+ QUEUED_FOR_CALLING = :queued_for_calling
41
+ CALLING = :calling
42
+ SCHEDULED = :scheduled
43
+ COMPLETED = :completed
44
+ CANCELLED = :cancelled
45
+ ERRORED = :errored
46
+
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
49
+ end
27
50
  end
28
51
  end
29
52
  end
@@ -25,6 +25,12 @@ module Revox
25
25
  # @return [Object]
26
26
  required :answered_at, Revox::Internal::Type::Unknown
27
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
+
28
34
  # @!attribute ended_at
29
35
  # The time the call ended.
30
36
  #
@@ -61,6 +67,20 @@ module Revox
61
67
  # @return [Symbol, Revox::Models::CallListResponse::Call::Status]
62
68
  required :status, enum: -> { Revox::Models::CallListResponse::Call::Status }
63
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
+
64
84
  # @!attribute structured_output
65
85
  # The data extracted from the call, using the structured output config from the
66
86
  # parent call object.
@@ -76,7 +96,7 @@ module Revox
76
96
  -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallListResponse::Call::Transcript] },
77
97
  nil?: true
78
98
 
79
- # @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
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)
80
100
  # Some parameter documentations has been truncated, see
81
101
  # {Revox::Models::CallListResponse::Call} for more details.
82
102
  #
@@ -87,6 +107,8 @@ module Revox
87
107
  #
88
108
  # @param answered_at [Object] The time the call was answered.
89
109
  #
110
+ # @param dial_error [Symbol, Revox::Models::CallListResponse::Call::DialError, nil] The SIP error that occurred.
111
+ #
90
112
  # @param ended_at [Object] The time the call ended.
91
113
  #
92
114
  # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
@@ -99,10 +121,33 @@ module Revox
99
121
  #
100
122
  # @param status [Symbol, Revox::Models::CallListResponse::Call::Status] The status of the call attempt.
101
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
+ #
102
128
  # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
103
129
  #
104
130
  # @param transcript [Array<Revox::Models::CallListResponse::Call::Transcript>, nil] The transcript of the call.
105
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
+
106
151
  # @see Revox::Models::CallListResponse::Call#result
107
152
  module Result
108
153
  extend Revox::Internal::Type::Enum
@@ -111,6 +156,7 @@ module Revox
111
156
  VOICEMAIL = :voicemail
112
157
  HUMAN = :human
113
158
  UNKNOWN = :unknown
159
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
114
160
 
115
161
  # @!method self.values
116
162
  # @return [Array<Symbol>]
@@ -126,6 +172,22 @@ module Revox
126
172
  RINGING = :ringing
127
173
  ONGOING = :ongoing
128
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
129
191
 
130
192
  # @!method self.values
131
193
  # @return [Array<Symbol>]
@@ -7,7 +7,13 @@ module Revox
7
7
  extend Revox::Internal::Type::RequestParameters::Converter
8
8
  include Revox::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end