revox 0.0.2

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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +234 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/revox/client.rb +86 -0
  7. data/lib/revox/errors.rb +228 -0
  8. data/lib/revox/file_part.rb +58 -0
  9. data/lib/revox/internal/transport/base_client.rb +570 -0
  10. data/lib/revox/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/revox/internal/type/array_of.rb +168 -0
  12. data/lib/revox/internal/type/base_model.rb +529 -0
  13. data/lib/revox/internal/type/base_page.rb +55 -0
  14. data/lib/revox/internal/type/boolean.rb +77 -0
  15. data/lib/revox/internal/type/converter.rb +327 -0
  16. data/lib/revox/internal/type/enum.rb +131 -0
  17. data/lib/revox/internal/type/file_input.rb +110 -0
  18. data/lib/revox/internal/type/hash_of.rb +188 -0
  19. data/lib/revox/internal/type/request_parameters.rb +42 -0
  20. data/lib/revox/internal/type/union.rb +237 -0
  21. data/lib/revox/internal/type/unknown.rb +81 -0
  22. data/lib/revox/internal/util.rb +920 -0
  23. data/lib/revox/internal.rb +20 -0
  24. data/lib/revox/models/assistant_create_params.rb +467 -0
  25. data/lib/revox/models/assistant_create_response.rb +535 -0
  26. data/lib/revox/models/assistant_delete_params.rb +14 -0
  27. data/lib/revox/models/assistant_delete_response.rb +16 -0
  28. data/lib/revox/models/assistant_list_params.rb +14 -0
  29. data/lib/revox/models/assistant_list_response.rb +533 -0
  30. data/lib/revox/models/assistant_retrieve_params.rb +14 -0
  31. data/lib/revox/models/assistant_retrieve_response.rb +518 -0
  32. data/lib/revox/models/assistant_update_params.rb +467 -0
  33. data/lib/revox/models/assistant_update_response.rb +535 -0
  34. data/lib/revox/models/call_create_params.rb +592 -0
  35. data/lib/revox/models/call_create_response.rb +684 -0
  36. data/lib/revox/models/call_list_params.rb +29 -0
  37. data/lib/revox/models/call_list_response.rb +197 -0
  38. data/lib/revox/models/call_retrieve_params.rb +14 -0
  39. data/lib/revox/models/call_retrieve_response.rb +684 -0
  40. data/lib/revox/models/users/me_retrieve_params.rb +16 -0
  41. data/lib/revox/models/users/me_retrieve_response.rb +89 -0
  42. data/lib/revox/models/users/me_update_params.rb +22 -0
  43. data/lib/revox/models/users/me_update_response.rb +89 -0
  44. data/lib/revox/models/voice_list_params.rb +14 -0
  45. data/lib/revox/models/voice_list_response.rb +91 -0
  46. data/lib/revox/models/voice_preview_params.rb +49 -0
  47. data/lib/revox/models/voice_retrieve_params.rb +30 -0
  48. data/lib/revox/models/voice_retrieve_response.rb +39 -0
  49. data/lib/revox/models.rb +65 -0
  50. data/lib/revox/request_options.rb +77 -0
  51. data/lib/revox/resources/assistants.rb +180 -0
  52. data/lib/revox/resources/call.rb +100 -0
  53. data/lib/revox/resources/users/me.rb +55 -0
  54. data/lib/revox/resources/users.rb +18 -0
  55. data/lib/revox/resources/voices.rb +83 -0
  56. data/lib/revox/version.rb +5 -0
  57. data/lib/revox.rb +85 -0
  58. data/manifest.yaml +17 -0
  59. data/rbi/revox/client.rbi +58 -0
  60. data/rbi/revox/errors.rbi +205 -0
  61. data/rbi/revox/file_part.rbi +37 -0
  62. data/rbi/revox/internal/transport/base_client.rbi +297 -0
  63. data/rbi/revox/internal/transport/pooled_net_requester.rbi +82 -0
  64. data/rbi/revox/internal/type/array_of.rbi +104 -0
  65. data/rbi/revox/internal/type/base_model.rbi +299 -0
  66. data/rbi/revox/internal/type/base_page.rbi +42 -0
  67. data/rbi/revox/internal/type/boolean.rbi +58 -0
  68. data/rbi/revox/internal/type/converter.rbi +204 -0
  69. data/rbi/revox/internal/type/enum.rbi +82 -0
  70. data/rbi/revox/internal/type/file_input.rbi +58 -0
  71. data/rbi/revox/internal/type/hash_of.rbi +104 -0
  72. data/rbi/revox/internal/type/request_parameters.rbi +29 -0
  73. data/rbi/revox/internal/type/union.rbi +126 -0
  74. data/rbi/revox/internal/type/unknown.rbi +58 -0
  75. data/rbi/revox/internal/util.rbi +478 -0
  76. data/rbi/revox/internal.rbi +16 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +929 -0
  78. data/rbi/revox/models/assistant_create_response.rbi +1089 -0
  79. data/rbi/revox/models/assistant_delete_params.rbi +27 -0
  80. data/rbi/revox/models/assistant_delete_response.rbi +26 -0
  81. data/rbi/revox/models/assistant_list_params.rbi +27 -0
  82. data/rbi/revox/models/assistant_list_response.rbi +1079 -0
  83. data/rbi/revox/models/assistant_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/assistant_retrieve_response.rbi +1024 -0
  85. data/rbi/revox/models/assistant_update_params.rbi +935 -0
  86. data/rbi/revox/models/assistant_update_response.rbi +1089 -0
  87. data/rbi/revox/models/call_create_params.rbi +1147 -0
  88. data/rbi/revox/models/call_create_response.rbi +1335 -0
  89. data/rbi/revox/models/call_list_params.rbi +47 -0
  90. data/rbi/revox/models/call_list_response.rbi +401 -0
  91. data/rbi/revox/models/call_retrieve_params.rbi +27 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1346 -0
  93. data/rbi/revox/models/users/me_retrieve_params.rbi +29 -0
  94. data/rbi/revox/models/users/me_retrieve_response.rbi +139 -0
  95. data/rbi/revox/models/users/me_update_params.rbi +43 -0
  96. data/rbi/revox/models/users/me_update_response.rbi +139 -0
  97. data/rbi/revox/models/voice_list_params.rbi +25 -0
  98. data/rbi/revox/models/voice_list_response.rbi +204 -0
  99. data/rbi/revox/models/voice_preview_params.rbi +84 -0
  100. data/rbi/revox/models/voice_retrieve_params.rbi +59 -0
  101. data/rbi/revox/models/voice_retrieve_response.rbi +70 -0
  102. data/rbi/revox/models.rbi +27 -0
  103. data/rbi/revox/request_options.rbi +55 -0
  104. data/rbi/revox/resources/assistants.rbi +206 -0
  105. data/rbi/revox/resources/call.rbi +86 -0
  106. data/rbi/revox/resources/users/me.rbi +33 -0
  107. data/rbi/revox/resources/users.rbi +15 -0
  108. data/rbi/revox/resources/voices.rbi +58 -0
  109. data/rbi/revox/version.rbi +5 -0
  110. data/sig/revox/client.rbs +32 -0
  111. data/sig/revox/errors.rbs +117 -0
  112. data/sig/revox/file_part.rbs +21 -0
  113. data/sig/revox/internal/transport/base_client.rbs +133 -0
  114. data/sig/revox/internal/transport/pooled_net_requester.rbs +48 -0
  115. data/sig/revox/internal/type/array_of.rbs +48 -0
  116. data/sig/revox/internal/type/base_model.rbs +102 -0
  117. data/sig/revox/internal/type/base_page.rbs +24 -0
  118. data/sig/revox/internal/type/boolean.rbs +26 -0
  119. data/sig/revox/internal/type/converter.rbs +79 -0
  120. data/sig/revox/internal/type/enum.rbs +32 -0
  121. data/sig/revox/internal/type/file_input.rbs +25 -0
  122. data/sig/revox/internal/type/hash_of.rbs +48 -0
  123. data/sig/revox/internal/type/request_parameters.rbs +17 -0
  124. data/sig/revox/internal/type/union.rbs +52 -0
  125. data/sig/revox/internal/type/unknown.rbs +26 -0
  126. data/sig/revox/internal/util.rbs +185 -0
  127. data/sig/revox/internal.rbs +9 -0
  128. data/sig/revox/models/assistant_create_params.rbs +413 -0
  129. data/sig/revox/models/assistant_create_response.rbs +461 -0
  130. data/sig/revox/models/assistant_delete_params.rbs +15 -0
  131. data/sig/revox/models/assistant_delete_response.rbs +13 -0
  132. data/sig/revox/models/assistant_list_params.rbs +15 -0
  133. data/sig/revox/models/assistant_list_response.rbs +461 -0
  134. data/sig/revox/models/assistant_retrieve_params.rbs +15 -0
  135. data/sig/revox/models/assistant_retrieve_response.rbs +446 -0
  136. data/sig/revox/models/assistant_update_params.rbs +417 -0
  137. data/sig/revox/models/assistant_update_response.rbs +461 -0
  138. data/sig/revox/models/call_create_params.rbs +507 -0
  139. data/sig/revox/models/call_create_response.rbs +551 -0
  140. data/sig/revox/models/call_list_params.rbs +28 -0
  141. data/sig/revox/models/call_list_response.rbs +171 -0
  142. data/sig/revox/models/call_retrieve_params.rbs +14 -0
  143. data/sig/revox/models/call_retrieve_response.rbs +551 -0
  144. data/sig/revox/models/users/me_retrieve_params.rbs +16 -0
  145. data/sig/revox/models/users/me_retrieve_response.rbs +70 -0
  146. data/sig/revox/models/users/me_update_params.rbs +28 -0
  147. data/sig/revox/models/users/me_update_response.rbs +70 -0
  148. data/sig/revox/models/voice_list_params.rbs +14 -0
  149. data/sig/revox/models/voice_list_response.rbs +83 -0
  150. data/sig/revox/models/voice_preview_params.rbs +49 -0
  151. data/sig/revox/models/voice_retrieve_params.rbs +35 -0
  152. data/sig/revox/models/voice_retrieve_response.rbs +32 -0
  153. data/sig/revox/models.rbs +25 -0
  154. data/sig/revox/request_options.rbs +34 -0
  155. data/sig/revox/resources/assistants.rbs +66 -0
  156. data/sig/revox/resources/call.rbs +31 -0
  157. data/sig/revox/resources/users/me.rbs +18 -0
  158. data/sig/revox/resources/users.rbs +9 -0
  159. data/sig/revox/resources/voices.rbs +24 -0
  160. data/sig/revox/version.rbs +3 -0
  161. metadata +232 -0
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#list
6
+ class CallListParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute page
11
+ # The page number you want to get. Starting at 0.
12
+ #
13
+ # @return [Float]
14
+ required :page, Float
15
+
16
+ # @!attribute page_size
17
+ #
18
+ # @return [Float]
19
+ required :page_size, Float
20
+
21
+ # @!method initialize(page:, page_size:, request_options: {})
22
+ # @param page [Float] The page number you want to get. Starting at 0.
23
+ #
24
+ # @param page_size [Float]
25
+ #
26
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,197 @@
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 ended_at
29
+ # The time the call ended.
30
+ #
31
+ # @return [Object]
32
+ required :ended_at, Revox::Internal::Type::Unknown
33
+
34
+ # @!attribute phone_number
35
+ # The phone number that was called. Formatted in E.164 format. Example:
36
+ # +1234567890
37
+ #
38
+ # @return [String]
39
+ required :phone_number, String
40
+
41
+ # @!attribute recording_url
42
+ # The URL of the audio recording of the call.
43
+ #
44
+ # @return [String, nil]
45
+ required :recording_url, String, nil?: true
46
+
47
+ # @!attribute result
48
+ #
49
+ # @return [Symbol, Revox::Models::CallListResponse::Call::Result, nil]
50
+ required :result, enum: -> { Revox::Models::CallListResponse::Call::Result }, nil?: true
51
+
52
+ # @!attribute started_at
53
+ # The time the call started.
54
+ #
55
+ # @return [Object]
56
+ required :started_at, Revox::Internal::Type::Unknown
57
+
58
+ # @!attribute status
59
+ # The status of the call attempt.
60
+ #
61
+ # @return [Symbol, Revox::Models::CallListResponse::Call::Status]
62
+ required :status, enum: -> { Revox::Models::CallListResponse::Call::Status }
63
+
64
+ # @!attribute structured_output
65
+ # The data extracted from the call, using the structured output config from the
66
+ # parent call object.
67
+ #
68
+ # @return [Hash{Symbol=>Object}, nil]
69
+ optional :structured_output, Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown], nil?: true
70
+
71
+ # @!attribute transcript
72
+ # The transcript of the call.
73
+ #
74
+ # @return [Array<Revox::Models::CallListResponse::Call::Transcript>, nil]
75
+ optional :transcript,
76
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallListResponse::Call::Transcript] },
77
+ nil?: true
78
+
79
+ # @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
80
+ # Some parameter documentations has been truncated, see
81
+ # {Revox::Models::CallListResponse::Call} for more details.
82
+ #
83
+ # This represent a single call attempt. A call attempt is a single call made to
84
+ # the phone number.
85
+ #
86
+ # @param id [String] The ID of the call attempt.
87
+ #
88
+ # @param answered_at [Object] The time the call was answered.
89
+ #
90
+ # @param ended_at [Object] The time the call ended.
91
+ #
92
+ # @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
93
+ #
94
+ # @param recording_url [String, nil] The URL of the audio recording of the call.
95
+ #
96
+ # @param result [Symbol, Revox::Models::CallListResponse::Call::Result, nil]
97
+ #
98
+ # @param started_at [Object] The time the call started.
99
+ #
100
+ # @param status [Symbol, Revox::Models::CallListResponse::Call::Status] The status of the call attempt.
101
+ #
102
+ # @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
103
+ #
104
+ # @param transcript [Array<Revox::Models::CallListResponse::Call::Transcript>, nil] The transcript of the call.
105
+
106
+ # @see Revox::Models::CallListResponse::Call#result
107
+ module Result
108
+ extend Revox::Internal::Type::Enum
109
+
110
+ IVR = :IVR
111
+ VOICEMAIL = :voicemail
112
+ HUMAN = :human
113
+ UNKNOWN = :unknown
114
+
115
+ # @!method self.values
116
+ # @return [Array<Symbol>]
117
+ end
118
+
119
+ # The status of the call attempt.
120
+ #
121
+ # @see Revox::Models::CallListResponse::Call#status
122
+ module Status
123
+ extend Revox::Internal::Type::Enum
124
+
125
+ QUEUED = :queued
126
+ RINGING = :ringing
127
+ ONGOING = :ongoing
128
+ COMPLETED = :completed
129
+
130
+ # @!method self.values
131
+ # @return [Array<Symbol>]
132
+ end
133
+
134
+ class Transcript < Revox::Internal::Type::BaseModel
135
+ # @!attribute content
136
+ #
137
+ # @return [String]
138
+ required :content, String
139
+
140
+ # @!attribute role
141
+ #
142
+ # @return [Symbol, Revox::Models::CallListResponse::Call::Transcript::Role]
143
+ required :role, enum: -> { Revox::Models::CallListResponse::Call::Transcript::Role }
144
+
145
+ # @!attribute tool_arguments
146
+ #
147
+ # @return [Hash{Symbol=>Object}, String, nil]
148
+ optional :tool_arguments, union: -> { Revox::Models::CallListResponse::Call::Transcript::ToolArguments }
149
+
150
+ # @!attribute tool_is_error
151
+ #
152
+ # @return [Boolean, nil]
153
+ optional :tool_is_error, Revox::Internal::Type::Boolean
154
+
155
+ # @!attribute tool_name
156
+ #
157
+ # @return [String, nil]
158
+ optional :tool_name, String
159
+
160
+ # @!method initialize(content:, role:, tool_arguments: nil, tool_is_error: nil, tool_name: nil)
161
+ # @param content [String]
162
+ # @param role [Symbol, Revox::Models::CallListResponse::Call::Transcript::Role]
163
+ # @param tool_arguments [Hash{Symbol=>Object}, String]
164
+ # @param tool_is_error [Boolean]
165
+ # @param tool_name [String]
166
+
167
+ # @see Revox::Models::CallListResponse::Call::Transcript#role
168
+ module Role
169
+ extend Revox::Internal::Type::Enum
170
+
171
+ USER = :user
172
+ ASSISTANT = :assistant
173
+ TOOL = :tool
174
+
175
+ # @!method self.values
176
+ # @return [Array<Symbol>]
177
+ end
178
+
179
+ # @see Revox::Models::CallListResponse::Call::Transcript#tool_arguments
180
+ module ToolArguments
181
+ extend Revox::Internal::Type::Union
182
+
183
+ variant -> { Revox::Models::CallListResponse::Call::Transcript::ToolArguments::UnionMember0Map }
184
+
185
+ variant String
186
+
187
+ # @!method self.variants
188
+ # @return [Array(Hash{Symbol=>Object}, String)]
189
+
190
+ # @type [Revox::Internal::Type::Converter]
191
+ UnionMember0Map = Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#retrieve
6
+ class CallRetrieveParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end