context.dev 2.4.0 → 2.6.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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +4 -0
  5. data/lib/context_dev/models/ai_extract_product_params.rb +9 -1
  6. data/lib/context_dev/models/ai_extract_products_params.rb +18 -2
  7. data/lib/context_dev/models/batch_cancel_params.rb +22 -0
  8. data/lib/context_dev/models/batch_cancel_response.rb +354 -0
  9. data/lib/context_dev/models/batch_get_results_params.rb +42 -0
  10. data/lib/context_dev/models/batch_get_results_response.rb +463 -0
  11. data/lib/context_dev/models/batch_list_params.rb +94 -0
  12. data/lib/context_dev/models/batch_list_response.rb +388 -0
  13. data/lib/context_dev/models/batch_retrieve_params.rb +22 -0
  14. data/lib/context_dev/models/batch_retrieve_response.rb +390 -0
  15. data/lib/context_dev/models/batch_submit_params.rb +56 -0
  16. data/lib/context_dev/models/batch_submit_response.rb +614 -0
  17. data/lib/context_dev/models/brand_retrieve_params.rb +109 -22
  18. data/lib/context_dev/models/brand_retrieve_response.rb +4 -6
  19. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +32 -3
  20. data/lib/context_dev/models/error.rb +26 -0
  21. data/lib/context_dev/models/error_count.rb +26 -0
  22. data/lib/context_dev/models/industry_retrieve_naics_params.rb +11 -1
  23. data/lib/context_dev/models/industry_retrieve_sic_params.rb +11 -1
  24. data/lib/context_dev/models/monitor_create_params.rb +147 -132
  25. data/lib/context_dev/models/monitor_create_response.rb +40 -15
  26. data/lib/context_dev/models/monitor_get_credit_usage_params.rb +30 -0
  27. data/lib/context_dev/models/monitor_get_credit_usage_response.rb +59 -0
  28. data/lib/context_dev/models/monitor_get_limits_params.rb +14 -0
  29. data/lib/context_dev/models/monitor_get_limits_response.rb +52 -0
  30. data/lib/context_dev/models/monitor_list_account_changes_params.rb +16 -7
  31. data/lib/context_dev/models/monitor_list_account_changes_response.rb +2 -1
  32. data/lib/context_dev/models/monitor_list_account_runs_params.rb +7 -10
  33. data/lib/context_dev/models/monitor_list_changes_params.rb +8 -4
  34. data/lib/context_dev/models/monitor_list_changes_response.rb +2 -1
  35. data/lib/context_dev/models/monitor_list_params.rb +18 -19
  36. data/lib/context_dev/models/monitor_list_response.rb +27 -12
  37. data/lib/context_dev/models/monitor_list_runs_params.rb +7 -10
  38. data/lib/context_dev/models/monitor_retrieve_change_response.rb +2 -1
  39. data/lib/context_dev/models/monitor_retrieve_response.rb +27 -12
  40. data/lib/context_dev/models/monitor_update_params.rb +27 -12
  41. data/lib/context_dev/models/monitor_update_response.rb +27 -12
  42. data/lib/context_dev/models/parse_handle_params.rb +199 -33
  43. data/lib/context_dev/models/utility_prefetch_params.rb +9 -1
  44. data/lib/context_dev/models/web_extract_competitors_params.rb +11 -1
  45. data/lib/context_dev/models/web_extract_fonts_params.rb +14 -4
  46. data/lib/context_dev/models/web_extract_params.rb +19 -1
  47. data/lib/context_dev/models/web_extract_styleguide_params.rb +14 -4
  48. data/lib/context_dev/models/web_screenshot_params.rb +69 -18
  49. data/lib/context_dev/models/web_screenshot_response.rb +3 -2
  50. data/lib/context_dev/models/web_search_params.rb +9 -1
  51. data/lib/context_dev/models/web_web_crawl_md_params.rb +34 -1
  52. data/lib/context_dev/models/web_web_scrape_html_params.rb +268 -29
  53. data/lib/context_dev/models/web_web_scrape_html_response.rb +93 -1
  54. data/lib/context_dev/models/web_web_scrape_images_params.rb +208 -19
  55. data/lib/context_dev/models/web_web_scrape_md_params.rb +352 -38
  56. data/lib/context_dev/models/web_web_scrape_md_response.rb +93 -1
  57. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +45 -1
  58. data/lib/context_dev/models.rb +18 -0
  59. data/lib/context_dev/resources/ai.rb +3 -1
  60. data/lib/context_dev/resources/batch.rb +155 -0
  61. data/lib/context_dev/resources/brand.rb +6 -2
  62. data/lib/context_dev/resources/industry.rb +6 -2
  63. data/lib/context_dev/resources/monitors.rb +75 -37
  64. data/lib/context_dev/resources/parse.rb +15 -11
  65. data/lib/context_dev/resources/utility.rb +3 -1
  66. data/lib/context_dev/resources/web.rb +104 -55
  67. data/lib/context_dev/version.rb +1 -1
  68. data/lib/context_dev.rb +17 -0
  69. data/rbi/context_dev/client.rbi +3 -0
  70. data/rbi/context_dev/models/ai_extract_product_params.rbi +11 -0
  71. data/rbi/context_dev/models/ai_extract_products_params.rbi +22 -0
  72. data/rbi/context_dev/models/batch_cancel_params.rbi +40 -0
  73. data/rbi/context_dev/models/batch_cancel_response.rbi +642 -0
  74. data/rbi/context_dev/models/batch_get_results_params.rbi +70 -0
  75. data/rbi/context_dev/models/batch_get_results_response.rbi +848 -0
  76. data/rbi/context_dev/models/batch_list_params.rbi +166 -0
  77. data/rbi/context_dev/models/batch_list_response.rbi +738 -0
  78. data/rbi/context_dev/models/batch_retrieve_params.rbi +40 -0
  79. data/rbi/context_dev/models/batch_retrieve_response.rbi +707 -0
  80. data/rbi/context_dev/models/batch_submit_params.rbi +105 -0
  81. data/rbi/context_dev/models/batch_submit_response.rbi +1330 -0
  82. data/rbi/context_dev/models/brand_retrieve_params.rbi +175 -64
  83. data/rbi/context_dev/models/brand_retrieve_response.rbi +8 -11
  84. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +68 -5
  85. data/rbi/context_dev/models/error.rbi +32 -0
  86. data/rbi/context_dev/models/error_count.rbi +34 -0
  87. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +15 -0
  88. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +15 -0
  89. data/rbi/context_dev/models/monitor_create_params.rbi +280 -246
  90. data/rbi/context_dev/models/monitor_create_response.rbi +44 -11
  91. data/rbi/context_dev/models/monitor_get_credit_usage_params.rbi +60 -0
  92. data/rbi/context_dev/models/monitor_get_credit_usage_response.rbi +111 -0
  93. data/rbi/context_dev/models/monitor_get_limits_params.rbi +30 -0
  94. data/rbi/context_dev/models/monitor_get_limits_response.rbi +105 -0
  95. data/rbi/context_dev/models/monitor_list_account_changes_params.rbi +16 -0
  96. data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +2 -0
  97. data/rbi/context_dev/models/monitor_list_account_runs_params.rbi +7 -6
  98. data/rbi/context_dev/models/monitor_list_changes_params.rbi +8 -0
  99. data/rbi/context_dev/models/monitor_list_changes_response.rbi +2 -0
  100. data/rbi/context_dev/models/monitor_list_params.rbi +23 -31
  101. data/rbi/context_dev/models/monitor_list_response.rbi +30 -9
  102. data/rbi/context_dev/models/monitor_list_runs_params.rbi +7 -6
  103. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +2 -0
  104. data/rbi/context_dev/models/monitor_retrieve_response.rbi +30 -9
  105. data/rbi/context_dev/models/monitor_update_params.rbi +30 -9
  106. data/rbi/context_dev/models/monitor_update_response.rbi +30 -9
  107. data/rbi/context_dev/models/parse_handle_params.rbi +400 -46
  108. data/rbi/context_dev/models/utility_prefetch_params.rbi +11 -0
  109. data/rbi/context_dev/models/web_extract_competitors_params.rbi +15 -0
  110. data/rbi/context_dev/models/web_extract_fonts_params.rbi +19 -7
  111. data/rbi/context_dev/models/web_extract_params.rbi +26 -0
  112. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +19 -7
  113. data/rbi/context_dev/models/web_screenshot_params.rbi +108 -37
  114. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -2
  115. data/rbi/context_dev/models/web_search_params.rbi +11 -0
  116. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +53 -0
  117. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +554 -49
  118. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +182 -0
  119. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +426 -30
  120. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +742 -61
  121. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +180 -0
  122. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +82 -0
  123. data/rbi/context_dev/models.rbi +18 -0
  124. data/rbi/context_dev/resources/ai.rbi +3 -0
  125. data/rbi/context_dev/resources/batch.rbi +120 -0
  126. data/rbi/context_dev/resources/brand.rbi +9 -1
  127. data/rbi/context_dev/resources/industry.rbi +10 -0
  128. data/rbi/context_dev/resources/monitors.rbi +67 -23
  129. data/rbi/context_dev/resources/parse.rbi +46 -19
  130. data/rbi/context_dev/resources/utility.rbi +3 -0
  131. data/rbi/context_dev/resources/web.rbi +224 -48
  132. data/sig/context_dev/client.rbs +2 -0
  133. data/sig/context_dev/models/ai_extract_product_params.rbs +12 -1
  134. data/sig/context_dev/models/ai_extract_products_params.rbs +14 -0
  135. data/sig/context_dev/models/batch_cancel_params.rbs +23 -0
  136. data/sig/context_dev/models/batch_cancel_response.rbs +266 -0
  137. data/sig/context_dev/models/batch_get_results_params.rbs +36 -0
  138. data/sig/context_dev/models/batch_get_results_response.rbs +399 -0
  139. data/sig/context_dev/models/batch_list_params.rbs +94 -0
  140. data/sig/context_dev/models/batch_list_response.rbs +304 -0
  141. data/sig/context_dev/models/batch_retrieve_params.rbs +23 -0
  142. data/sig/context_dev/models/batch_retrieve_response.rbs +290 -0
  143. data/sig/context_dev/models/batch_submit_params.rbs +52 -0
  144. data/sig/context_dev/models/batch_submit_response.rbs +542 -0
  145. data/sig/context_dev/models/brand_retrieve_params.rbs +97 -51
  146. data/sig/context_dev/models/brand_retrieve_response.rbs +2 -2
  147. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +34 -5
  148. data/sig/context_dev/models/error.rbs +15 -0
  149. data/sig/context_dev/models/error_count.rbs +15 -0
  150. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +7 -0
  151. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +7 -0
  152. data/sig/context_dev/models/monitor_create_params.rbs +117 -97
  153. data/sig/context_dev/models/monitor_create_response.rbs +18 -1
  154. data/sig/context_dev/models/monitor_get_credit_usage_params.rbs +32 -0
  155. data/sig/context_dev/models/monitor_get_credit_usage_response.rbs +52 -0
  156. data/sig/context_dev/models/monitor_get_limits_params.rbs +15 -0
  157. data/sig/context_dev/models/monitor_get_limits_response.rbs +43 -0
  158. data/sig/context_dev/models/monitor_list_params.rbs +8 -14
  159. data/sig/context_dev/models/monitor_list_response.rbs +13 -1
  160. data/sig/context_dev/models/monitor_retrieve_response.rbs +13 -1
  161. data/sig/context_dev/models/monitor_update_params.rbs +13 -1
  162. data/sig/context_dev/models/monitor_update_response.rbs +13 -1
  163. data/sig/context_dev/models/parse_handle_params.rbs +124 -25
  164. data/sig/context_dev/models/utility_prefetch_params.rbs +7 -0
  165. data/sig/context_dev/models/web_extract_competitors_params.rbs +12 -1
  166. data/sig/context_dev/models/web_extract_fonts_params.rbs +10 -5
  167. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  168. data/sig/context_dev/models/web_extract_styleguide_params.rbs +10 -5
  169. data/sig/context_dev/models/web_screenshot_params.rbs +41 -20
  170. data/sig/context_dev/models/web_search_params.rbs +7 -0
  171. data/sig/context_dev/models/web_web_crawl_md_params.rbs +28 -1
  172. data/sig/context_dev/models/web_web_scrape_html_params.rbs +175 -47
  173. data/sig/context_dev/models/web_web_scrape_html_response.rbs +85 -0
  174. data/sig/context_dev/models/web_web_scrape_images_params.rbs +128 -38
  175. data/sig/context_dev/models/web_web_scrape_md_params.rbs +229 -62
  176. data/sig/context_dev/models/web_web_scrape_md_response.rbs +85 -0
  177. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +35 -1
  178. data/sig/context_dev/models.rbs +18 -0
  179. data/sig/context_dev/resources/ai.rbs +1 -0
  180. data/sig/context_dev/resources/batch.rbs +41 -0
  181. data/sig/context_dev/resources/brand.rbs +3 -1
  182. data/sig/context_dev/resources/industry.rbs +2 -0
  183. data/sig/context_dev/resources/monitors.rbs +14 -4
  184. data/sig/context_dev/resources/parse.rbs +8 -5
  185. data/sig/context_dev/resources/utility.rbs +1 -0
  186. data/sig/context_dev/resources/web.rbs +47 -26
  187. metadata +53 -2
@@ -0,0 +1,707 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class BatchRetrieveResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::BatchRetrieveResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Batch ID used to retrieve or cancel the job.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # Reserved and used credits.
19
+ sig { returns(ContextDev::Models::BatchRetrieveResponse::Credits) }
20
+ attr_reader :credits
21
+
22
+ sig do
23
+ params(
24
+ credits: ContextDev::Models::BatchRetrieveResponse::Credits::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :credits
28
+
29
+ # Why the batch failed.
30
+ sig { returns(T.nilable(ContextDev::Error)) }
31
+ attr_reader :error
32
+
33
+ sig { params(error: T.nilable(ContextDev::Error::OrHash)).void }
34
+ attr_writer :error
35
+
36
+ # Page failures grouped by error code.
37
+ sig { returns(T::Array[ContextDev::ErrorCount]) }
38
+ attr_accessor :errors
39
+
40
+ # Submission counts.
41
+ sig { returns(ContextDev::Models::BatchRetrieveResponse::Input) }
42
+ attr_reader :input
43
+
44
+ sig do
45
+ params(
46
+ input: ContextDev::Models::BatchRetrieveResponse::Input::OrHash
47
+ ).void
48
+ end
49
+ attr_writer :input
50
+
51
+ # Rejected URLs, up to 100. These are not charged.
52
+ sig do
53
+ returns(T::Array[ContextDev::Models::BatchRetrieveResponse::InvalidURL])
54
+ end
55
+ attr_accessor :invalid_urls
56
+
57
+ # How pages are selected.
58
+ sig do
59
+ returns(ContextDev::Models::BatchRetrieveResponse::Mode::TaggedSymbol)
60
+ end
61
+ attr_accessor :mode
62
+
63
+ # Current processing counts. Use `status` to check completion.
64
+ sig { returns(ContextDev::Models::BatchRetrieveResponse::Progress) }
65
+ attr_reader :progress
66
+
67
+ sig do
68
+ params(
69
+ progress: ContextDev::Models::BatchRetrieveResponse::Progress::OrHash
70
+ ).void
71
+ end
72
+ attr_writer :progress
73
+
74
+ # Download links available when the batch finishes. GET /batch/{batch_id}/results
75
+ # serves the same records as paginated JSON.
76
+ sig do
77
+ returns(T.nilable(ContextDev::Models::BatchRetrieveResponse::Results))
78
+ end
79
+ attr_reader :results
80
+
81
+ sig do
82
+ params(
83
+ results:
84
+ T.nilable(
85
+ ContextDev::Models::BatchRetrieveResponse::Results::OrHash
86
+ )
87
+ ).void
88
+ end
89
+ attr_writer :results
90
+
91
+ # Current state. `completed`, `cancelled`, and `failed` are final.
92
+ sig do
93
+ returns(ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol)
94
+ end
95
+ attr_accessor :status
96
+
97
+ # Tags stored on the batch at submission.
98
+ sig { returns(T::Array[String]) }
99
+ attr_accessor :tags
100
+
101
+ sig { returns(ContextDev::Models::BatchRetrieveResponse::Timing) }
102
+ attr_reader :timing
103
+
104
+ sig do
105
+ params(
106
+ timing: ContextDev::Models::BatchRetrieveResponse::Timing::OrHash
107
+ ).void
108
+ end
109
+ attr_writer :timing
110
+
111
+ # Output format.
112
+ sig do
113
+ returns(ContextDev::Models::BatchRetrieveResponse::Type::TaggedSymbol)
114
+ end
115
+ attr_accessor :type
116
+
117
+ # API key usage for this request.
118
+ sig do
119
+ returns(
120
+ T.nilable(ContextDev::Models::BatchRetrieveResponse::KeyMetadata)
121
+ )
122
+ end
123
+ attr_reader :key_metadata
124
+
125
+ sig do
126
+ params(
127
+ key_metadata:
128
+ ContextDev::Models::BatchRetrieveResponse::KeyMetadata::OrHash
129
+ ).void
130
+ end
131
+ attr_writer :key_metadata
132
+
133
+ # Webhook signing secret. Also returned by GET /batch/{batch_id}.
134
+ sig { returns(T.nilable(String)) }
135
+ attr_reader :webhook_secret
136
+
137
+ sig { params(webhook_secret: String).void }
138
+ attr_writer :webhook_secret
139
+
140
+ sig do
141
+ params(
142
+ id: String,
143
+ credits: ContextDev::Models::BatchRetrieveResponse::Credits::OrHash,
144
+ error: T.nilable(ContextDev::Error::OrHash),
145
+ errors: T::Array[ContextDev::ErrorCount::OrHash],
146
+ input: ContextDev::Models::BatchRetrieveResponse::Input::OrHash,
147
+ invalid_urls:
148
+ T::Array[
149
+ ContextDev::Models::BatchRetrieveResponse::InvalidURL::OrHash
150
+ ],
151
+ mode: ContextDev::Models::BatchRetrieveResponse::Mode::OrSymbol,
152
+ progress: ContextDev::Models::BatchRetrieveResponse::Progress::OrHash,
153
+ results:
154
+ T.nilable(
155
+ ContextDev::Models::BatchRetrieveResponse::Results::OrHash
156
+ ),
157
+ status: ContextDev::Models::BatchRetrieveResponse::Status::OrSymbol,
158
+ tags: T::Array[String],
159
+ timing: ContextDev::Models::BatchRetrieveResponse::Timing::OrHash,
160
+ type: ContextDev::Models::BatchRetrieveResponse::Type::OrSymbol,
161
+ key_metadata:
162
+ ContextDev::Models::BatchRetrieveResponse::KeyMetadata::OrHash,
163
+ webhook_secret: String
164
+ ).returns(T.attached_class)
165
+ end
166
+ def self.new(
167
+ # Batch ID used to retrieve or cancel the job.
168
+ id:,
169
+ # Reserved and used credits.
170
+ credits:,
171
+ # Why the batch failed.
172
+ error:,
173
+ # Page failures grouped by error code.
174
+ errors:,
175
+ # Submission counts.
176
+ input:,
177
+ # Rejected URLs, up to 100. These are not charged.
178
+ invalid_urls:,
179
+ # How pages are selected.
180
+ mode:,
181
+ # Current processing counts. Use `status` to check completion.
182
+ progress:,
183
+ # Download links available when the batch finishes. GET /batch/{batch_id}/results
184
+ # serves the same records as paginated JSON.
185
+ results:,
186
+ # Current state. `completed`, `cancelled`, and `failed` are final.
187
+ status:,
188
+ # Tags stored on the batch at submission.
189
+ tags:,
190
+ timing:,
191
+ # Output format.
192
+ type:,
193
+ # API key usage for this request.
194
+ key_metadata: nil,
195
+ # Webhook signing secret. Also returned by GET /batch/{batch_id}.
196
+ webhook_secret: nil
197
+ )
198
+ end
199
+
200
+ sig do
201
+ override.returns(
202
+ {
203
+ id: String,
204
+ credits: ContextDev::Models::BatchRetrieveResponse::Credits,
205
+ error: T.nilable(ContextDev::Error),
206
+ errors: T::Array[ContextDev::ErrorCount],
207
+ input: ContextDev::Models::BatchRetrieveResponse::Input,
208
+ invalid_urls:
209
+ T::Array[ContextDev::Models::BatchRetrieveResponse::InvalidURL],
210
+ mode: ContextDev::Models::BatchRetrieveResponse::Mode::TaggedSymbol,
211
+ progress: ContextDev::Models::BatchRetrieveResponse::Progress,
212
+ results:
213
+ T.nilable(ContextDev::Models::BatchRetrieveResponse::Results),
214
+ status:
215
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol,
216
+ tags: T::Array[String],
217
+ timing: ContextDev::Models::BatchRetrieveResponse::Timing,
218
+ type: ContextDev::Models::BatchRetrieveResponse::Type::TaggedSymbol,
219
+ key_metadata:
220
+ ContextDev::Models::BatchRetrieveResponse::KeyMetadata,
221
+ webhook_secret: String
222
+ }
223
+ )
224
+ end
225
+ def to_hash
226
+ end
227
+
228
+ class Credits < ContextDev::Internal::Type::BaseModel
229
+ OrHash =
230
+ T.type_alias do
231
+ T.any(
232
+ ContextDev::Models::BatchRetrieveResponse::Credits,
233
+ ContextDev::Internal::AnyHash
234
+ )
235
+ end
236
+
237
+ # Credits used by successful pages.
238
+ sig { returns(Integer) }
239
+ attr_accessor :charged
240
+
241
+ # Credits reserved when the batch was accepted.
242
+ sig { returns(Integer) }
243
+ attr_accessor :estimated
244
+
245
+ # Reserved and used credits.
246
+ sig do
247
+ params(charged: Integer, estimated: Integer).returns(T.attached_class)
248
+ end
249
+ def self.new(
250
+ # Credits used by successful pages.
251
+ charged:,
252
+ # Credits reserved when the batch was accepted.
253
+ estimated:
254
+ )
255
+ end
256
+
257
+ sig { override.returns({ charged: Integer, estimated: Integer }) }
258
+ def to_hash
259
+ end
260
+ end
261
+
262
+ class Input < ContextDev::Internal::Type::BaseModel
263
+ OrHash =
264
+ T.type_alias do
265
+ T.any(
266
+ ContextDev::Models::BatchRetrieveResponse::Input,
267
+ ContextDev::Internal::AnyHash
268
+ )
269
+ end
270
+
271
+ # Pages accepted, or the crawl page limit. Credits are reserved for this count.
272
+ sig { returns(Integer) }
273
+ attr_accessor :accepted
274
+
275
+ # Duplicate URL and `itemId` pairs skipped. Always 0 for crawls.
276
+ sig { returns(Integer) }
277
+ attr_accessor :duplicates
278
+
279
+ # Pages rejected during validation.
280
+ sig { returns(Integer) }
281
+ attr_accessor :invalid
282
+
283
+ # Pages submitted before validation. For a crawl, the page limit.
284
+ sig { returns(Integer) }
285
+ attr_accessor :submitted
286
+
287
+ # Submission counts.
288
+ sig do
289
+ params(
290
+ accepted: Integer,
291
+ duplicates: Integer,
292
+ invalid: Integer,
293
+ submitted: Integer
294
+ ).returns(T.attached_class)
295
+ end
296
+ def self.new(
297
+ # Pages accepted, or the crawl page limit. Credits are reserved for this count.
298
+ accepted:,
299
+ # Duplicate URL and `itemId` pairs skipped. Always 0 for crawls.
300
+ duplicates:,
301
+ # Pages rejected during validation.
302
+ invalid:,
303
+ # Pages submitted before validation. For a crawl, the page limit.
304
+ submitted:
305
+ )
306
+ end
307
+
308
+ sig do
309
+ override.returns(
310
+ {
311
+ accepted: Integer,
312
+ duplicates: Integer,
313
+ invalid: Integer,
314
+ submitted: Integer
315
+ }
316
+ )
317
+ end
318
+ def to_hash
319
+ end
320
+ end
321
+
322
+ class InvalidURL < ContextDev::Internal::Type::BaseModel
323
+ OrHash =
324
+ T.type_alias do
325
+ T.any(
326
+ ContextDev::Models::BatchRetrieveResponse::InvalidURL,
327
+ ContextDev::Internal::AnyHash
328
+ )
329
+ end
330
+
331
+ # Why it was rejected.
332
+ sig { returns(String) }
333
+ attr_accessor :reason
334
+
335
+ # Rejected URL.
336
+ sig { returns(String) }
337
+ attr_accessor :url
338
+
339
+ sig { params(reason: String, url: String).returns(T.attached_class) }
340
+ def self.new(
341
+ # Why it was rejected.
342
+ reason:,
343
+ # Rejected URL.
344
+ url:
345
+ )
346
+ end
347
+
348
+ sig { override.returns({ reason: String, url: String }) }
349
+ def to_hash
350
+ end
351
+ end
352
+
353
+ # How pages are selected.
354
+ module Mode
355
+ extend ContextDev::Internal::Type::Enum
356
+
357
+ TaggedSymbol =
358
+ T.type_alias do
359
+ T.all(Symbol, ContextDev::Models::BatchRetrieveResponse::Mode)
360
+ end
361
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
362
+
363
+ SCRAPE =
364
+ T.let(
365
+ :scrape,
366
+ ContextDev::Models::BatchRetrieveResponse::Mode::TaggedSymbol
367
+ )
368
+ CRAWL =
369
+ T.let(
370
+ :crawl,
371
+ ContextDev::Models::BatchRetrieveResponse::Mode::TaggedSymbol
372
+ )
373
+
374
+ sig do
375
+ override.returns(
376
+ T::Array[
377
+ ContextDev::Models::BatchRetrieveResponse::Mode::TaggedSymbol
378
+ ]
379
+ )
380
+ end
381
+ def self.values
382
+ end
383
+ end
384
+
385
+ class Progress < ContextDev::Internal::Type::BaseModel
386
+ OrHash =
387
+ T.type_alias do
388
+ T.any(
389
+ ContextDev::Models::BatchRetrieveResponse::Progress,
390
+ ContextDev::Internal::AnyHash
391
+ )
392
+ end
393
+
394
+ # Pages that could not be scraped.
395
+ sig { returns(Integer) }
396
+ attr_accessor :failed
397
+
398
+ # Accepted pages not yet attempted. Always 0 once the batch completes; a crawl can
399
+ # finish under its page limit when the site has no more reachable pages.
400
+ sig { returns(Integer) }
401
+ attr_accessor :pending
402
+
403
+ # Pages scraped successfully.
404
+ sig { returns(Integer) }
405
+ attr_accessor :succeeded
406
+
407
+ # Current processing counts. Use `status` to check completion.
408
+ sig do
409
+ params(failed: Integer, pending: Integer, succeeded: Integer).returns(
410
+ T.attached_class
411
+ )
412
+ end
413
+ def self.new(
414
+ # Pages that could not be scraped.
415
+ failed:,
416
+ # Accepted pages not yet attempted. Always 0 once the batch completes; a crawl can
417
+ # finish under its page limit when the site has no more reachable pages.
418
+ pending:,
419
+ # Pages scraped successfully.
420
+ succeeded:
421
+ )
422
+ end
423
+
424
+ sig do
425
+ override.returns(
426
+ { failed: Integer, pending: Integer, succeeded: Integer }
427
+ )
428
+ end
429
+ def to_hash
430
+ end
431
+ end
432
+
433
+ class Results < ContextDev::Internal::Type::BaseModel
434
+ OrHash =
435
+ T.type_alias do
436
+ T.any(
437
+ ContextDev::Models::BatchRetrieveResponse::Results,
438
+ ContextDev::Internal::AnyHash
439
+ )
440
+ end
441
+
442
+ # When the download URLs expire.
443
+ sig { returns(String) }
444
+ attr_accessor :expires_at
445
+
446
+ # Result files. Order is not guaranteed.
447
+ sig do
448
+ returns(
449
+ T::Array[ContextDev::Models::BatchRetrieveResponse::Results::File]
450
+ )
451
+ end
452
+ attr_accessor :files
453
+
454
+ # Download links available when the batch finishes. GET /batch/{batch_id}/results
455
+ # serves the same records as paginated JSON.
456
+ sig do
457
+ params(
458
+ expires_at: String,
459
+ files:
460
+ T::Array[
461
+ ContextDev::Models::BatchRetrieveResponse::Results::File::OrHash
462
+ ]
463
+ ).returns(T.attached_class)
464
+ end
465
+ def self.new(
466
+ # When the download URLs expire.
467
+ expires_at:,
468
+ # Result files. Order is not guaranteed.
469
+ files:
470
+ )
471
+ end
472
+
473
+ sig do
474
+ override.returns(
475
+ {
476
+ expires_at: String,
477
+ files:
478
+ T::Array[
479
+ ContextDev::Models::BatchRetrieveResponse::Results::File
480
+ ]
481
+ }
482
+ )
483
+ end
484
+ def to_hash
485
+ end
486
+
487
+ class File < ContextDev::Internal::Type::BaseModel
488
+ OrHash =
489
+ T.type_alias do
490
+ T.any(
491
+ ContextDev::Models::BatchRetrieveResponse::Results::File,
492
+ ContextDev::Internal::AnyHash
493
+ )
494
+ end
495
+
496
+ # Compressed file size in bytes.
497
+ sig { returns(Integer) }
498
+ attr_accessor :bytes
499
+
500
+ # Results in this file.
501
+ sig { returns(Integer) }
502
+ attr_accessor :items
503
+
504
+ # Temporary URL for a gzipped NDJSON file.
505
+ sig { returns(String) }
506
+ attr_accessor :url
507
+
508
+ sig do
509
+ params(bytes: Integer, items: Integer, url: String).returns(
510
+ T.attached_class
511
+ )
512
+ end
513
+ def self.new(
514
+ # Compressed file size in bytes.
515
+ bytes:,
516
+ # Results in this file.
517
+ items:,
518
+ # Temporary URL for a gzipped NDJSON file.
519
+ url:
520
+ )
521
+ end
522
+
523
+ sig do
524
+ override.returns({ bytes: Integer, items: Integer, url: String })
525
+ end
526
+ def to_hash
527
+ end
528
+ end
529
+ end
530
+
531
+ # Current state. `completed`, `cancelled`, and `failed` are final.
532
+ module Status
533
+ extend ContextDev::Internal::Type::Enum
534
+
535
+ TaggedSymbol =
536
+ T.type_alias do
537
+ T.all(Symbol, ContextDev::Models::BatchRetrieveResponse::Status)
538
+ end
539
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
540
+
541
+ QUEUED =
542
+ T.let(
543
+ :queued,
544
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
545
+ )
546
+ RUNNING =
547
+ T.let(
548
+ :running,
549
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
550
+ )
551
+ CANCELLING =
552
+ T.let(
553
+ :cancelling,
554
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
555
+ )
556
+ COMPLETED =
557
+ T.let(
558
+ :completed,
559
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
560
+ )
561
+ CANCELLED =
562
+ T.let(
563
+ :cancelled,
564
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
565
+ )
566
+ FAILED =
567
+ T.let(
568
+ :failed,
569
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
570
+ )
571
+
572
+ sig do
573
+ override.returns(
574
+ T::Array[
575
+ ContextDev::Models::BatchRetrieveResponse::Status::TaggedSymbol
576
+ ]
577
+ )
578
+ end
579
+ def self.values
580
+ end
581
+ end
582
+
583
+ class Timing < ContextDev::Internal::Type::BaseModel
584
+ OrHash =
585
+ T.type_alias do
586
+ T.any(
587
+ ContextDev::Models::BatchRetrieveResponse::Timing,
588
+ ContextDev::Internal::AnyHash
589
+ )
590
+ end
591
+
592
+ # When processing finished. Null while active.
593
+ sig { returns(T.nilable(String)) }
594
+ attr_accessor :completed_at
595
+
596
+ # When the batch was created.
597
+ sig { returns(String) }
598
+ attr_accessor :created_at
599
+
600
+ # When processing started. Null while queued.
601
+ sig { returns(T.nilable(String)) }
602
+ attr_accessor :started_at
603
+
604
+ sig do
605
+ params(
606
+ completed_at: T.nilable(String),
607
+ created_at: String,
608
+ started_at: T.nilable(String)
609
+ ).returns(T.attached_class)
610
+ end
611
+ def self.new(
612
+ # When processing finished. Null while active.
613
+ completed_at:,
614
+ # When the batch was created.
615
+ created_at:,
616
+ # When processing started. Null while queued.
617
+ started_at:
618
+ )
619
+ end
620
+
621
+ sig do
622
+ override.returns(
623
+ {
624
+ completed_at: T.nilable(String),
625
+ created_at: String,
626
+ started_at: T.nilable(String)
627
+ }
628
+ )
629
+ end
630
+ def to_hash
631
+ end
632
+ end
633
+
634
+ # Output format.
635
+ module Type
636
+ extend ContextDev::Internal::Type::Enum
637
+
638
+ TaggedSymbol =
639
+ T.type_alias do
640
+ T.all(Symbol, ContextDev::Models::BatchRetrieveResponse::Type)
641
+ end
642
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
643
+
644
+ MARKDOWN =
645
+ T.let(
646
+ :markdown,
647
+ ContextDev::Models::BatchRetrieveResponse::Type::TaggedSymbol
648
+ )
649
+ HTML =
650
+ T.let(
651
+ :html,
652
+ ContextDev::Models::BatchRetrieveResponse::Type::TaggedSymbol
653
+ )
654
+
655
+ sig do
656
+ override.returns(
657
+ T::Array[
658
+ ContextDev::Models::BatchRetrieveResponse::Type::TaggedSymbol
659
+ ]
660
+ )
661
+ end
662
+ def self.values
663
+ end
664
+ end
665
+
666
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
667
+ OrHash =
668
+ T.type_alias do
669
+ T.any(
670
+ ContextDev::Models::BatchRetrieveResponse::KeyMetadata,
671
+ ContextDev::Internal::AnyHash
672
+ )
673
+ end
674
+
675
+ # The number of credits consumed by this request.
676
+ sig { returns(Integer) }
677
+ attr_accessor :credits_consumed
678
+
679
+ # The number of credits remaining for your organization after this request.
680
+ sig { returns(Integer) }
681
+ attr_accessor :credits_remaining
682
+
683
+ # API key usage for this request.
684
+ sig do
685
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
686
+ T.attached_class
687
+ )
688
+ end
689
+ def self.new(
690
+ # The number of credits consumed by this request.
691
+ credits_consumed:,
692
+ # The number of credits remaining for your organization after this request.
693
+ credits_remaining:
694
+ )
695
+ end
696
+
697
+ sig do
698
+ override.returns(
699
+ { credits_consumed: Integer, credits_remaining: Integer }
700
+ )
701
+ end
702
+ def to_hash
703
+ end
704
+ end
705
+ end
706
+ end
707
+ end