context.dev 2.11.0 → 2.13.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +4 -4
  4. data/lib/context_dev/models/ai_extract_product_response.rb +102 -2
  5. data/lib/context_dev/models/ai_extract_products_response.rb +102 -2
  6. data/lib/context_dev/models/batch_get_results_response.rb +56 -1
  7. data/lib/context_dev/models/batch_submit_response.rb +54 -1
  8. data/lib/context_dev/models/brand_retrieve_response.rb +58 -3
  9. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +55 -1
  10. data/lib/context_dev/models/news_search_params.rb +1 -0
  11. data/lib/context_dev/models/web_extract_fonts_response.rb +54 -1
  12. data/lib/context_dev/models/web_extract_params.rb +169 -6
  13. data/lib/context_dev/models/web_extract_response.rb +139 -2
  14. data/lib/context_dev/models/web_extract_styleguide_response.rb +55 -1
  15. data/lib/context_dev/models/web_screenshot_response.rb +54 -1
  16. data/lib/context_dev/models/web_search_response.rb +54 -1
  17. data/lib/context_dev/models/web_web_crawl_md_params.rb +7 -5
  18. data/lib/context_dev/models/web_web_crawl_md_response.rb +54 -1
  19. data/lib/context_dev/models/web_web_scrape_html_params.rb +99 -3
  20. data/lib/context_dev/models/web_web_scrape_html_response.rb +54 -1
  21. data/lib/context_dev/models/web_web_scrape_images_params.rb +99 -3
  22. data/lib/context_dev/models/web_web_scrape_images_response.rb +139 -1
  23. data/lib/context_dev/models/web_web_scrape_md_params.rb +99 -3
  24. data/lib/context_dev/models/web_web_scrape_md_response.rb +54 -1
  25. data/lib/context_dev/resources/web.rb +9 -7
  26. data/lib/context_dev/version.rb +1 -1
  27. data/rbi/context_dev/models/ai_extract_product_response.rbi +218 -0
  28. data/rbi/context_dev/models/ai_extract_products_response.rbi +218 -0
  29. data/rbi/context_dev/models/batch_get_results_response.rbi +121 -0
  30. data/rbi/context_dev/models/batch_submit_response.rbi +117 -0
  31. data/rbi/context_dev/models/brand_retrieve_response.rbi +123 -2
  32. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +121 -0
  33. data/rbi/context_dev/models/news_search_params.rbi +5 -0
  34. data/rbi/context_dev/models/web_extract_fonts_response.rbi +119 -0
  35. data/rbi/context_dev/models/web_extract_params.rbi +353 -8
  36. data/rbi/context_dev/models/web_extract_response.rbi +289 -3
  37. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +119 -0
  38. data/rbi/context_dev/models/web_screenshot_response.rbi +117 -0
  39. data/rbi/context_dev/models/web_search_response.rbi +117 -0
  40. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +10 -6
  41. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +117 -0
  42. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +218 -4
  43. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +119 -0
  44. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +218 -4
  45. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +288 -0
  46. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +218 -4
  47. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +117 -0
  48. data/rbi/context_dev/resources/web.rbi +31 -10
  49. data/sig/context_dev/models/ai_extract_product_response.rbs +79 -0
  50. data/sig/context_dev/models/ai_extract_products_response.rbs +79 -0
  51. data/sig/context_dev/models/batch_get_results_response.rbs +39 -0
  52. data/sig/context_dev/models/batch_submit_response.rbs +39 -0
  53. data/sig/context_dev/models/brand_retrieve_response.rbs +39 -0
  54. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +39 -0
  55. data/sig/context_dev/models/news_search_params.rbs +2 -0
  56. data/sig/context_dev/models/web_extract_fonts_response.rbs +39 -0
  57. data/sig/context_dev/models/web_extract_params.rbs +117 -0
  58. data/sig/context_dev/models/web_extract_response.rbs +120 -3
  59. data/sig/context_dev/models/web_extract_styleguide_response.rbs +39 -0
  60. data/sig/context_dev/models/web_screenshot_response.rbs +39 -0
  61. data/sig/context_dev/models/web_search_response.rbs +39 -0
  62. data/sig/context_dev/models/web_web_crawl_md_response.rbs +39 -0
  63. data/sig/context_dev/models/web_web_scrape_html_params.rbs +74 -0
  64. data/sig/context_dev/models/web_web_scrape_html_response.rbs +39 -0
  65. data/sig/context_dev/models/web_web_scrape_images_params.rbs +74 -0
  66. data/sig/context_dev/models/web_web_scrape_images_response.rbs +117 -0
  67. data/sig/context_dev/models/web_web_scrape_md_params.rbs +74 -0
  68. data/sig/context_dev/models/web_web_scrape_md_response.rbs +39 -0
  69. data/sig/context_dev/resources/web.rbs +1 -0
  70. metadata +2 -2
@@ -11,6 +11,22 @@ module ContextDev
11
11
  )
12
12
  end
13
13
 
14
+ # Cache outcome for this response. Composite responses are hits only when every
15
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
+ # oldest contributing hit.
17
+ sig do
18
+ returns(ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata)
19
+ end
20
+ attr_reader :cache_metadata
21
+
22
+ sig do
23
+ params(
24
+ cache_metadata:
25
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::OrHash
26
+ ).void
27
+ end
28
+ attr_writer :cache_metadata
29
+
14
30
  # The scraped content of the page. For normal pages this is the raw HTML. When the
15
31
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
16
32
  # into HTML), this is the underlying XML instead — see the `type` field.
@@ -101,6 +117,8 @@ module ContextDev
101
117
 
102
118
  sig do
103
119
  params(
120
+ cache_metadata:
121
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::OrHash,
104
122
  html: String,
105
123
  metadata:
106
124
  ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OrHash,
@@ -118,6 +136,10 @@ module ContextDev
118
136
  ).returns(T.attached_class)
119
137
  end
120
138
  def self.new(
139
+ # Cache outcome for this response. Composite responses are hits only when every
140
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
141
+ # oldest contributing hit.
142
+ cache_metadata:,
121
143
  # The scraped content of the page. For normal pages this is the raw HTML. When the
122
144
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
123
145
  # into HTML), this is the underlying XML instead — see the `type` field.
@@ -147,6 +169,8 @@ module ContextDev
147
169
  sig do
148
170
  override.returns(
149
171
  {
172
+ cache_metadata:
173
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata,
150
174
  html: String,
151
175
  metadata: ContextDev::Models::WebWebScrapeHTMLResponse::Metadata,
152
176
  success:
@@ -167,6 +191,101 @@ module ContextDev
167
191
  def to_hash
168
192
  end
169
193
 
194
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
195
+ OrHash =
196
+ T.type_alias do
197
+ T.any(
198
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata,
199
+ ContextDev::Internal::AnyHash
200
+ )
201
+ end
202
+
203
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
204
+ sig { returns(Integer) }
205
+ attr_accessor :age_ms
206
+
207
+ # Whether the response was served from cache, required fresh work, or honored
208
+ # zero-data-retention cache bypass.
209
+ sig do
210
+ returns(
211
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::TaggedSymbol
212
+ )
213
+ end
214
+ attr_accessor :status
215
+
216
+ # Cache outcome for this response. Composite responses are hits only when every
217
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
218
+ # oldest contributing hit.
219
+ sig do
220
+ params(
221
+ age_ms: Integer,
222
+ status:
223
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::OrSymbol
224
+ ).returns(T.attached_class)
225
+ end
226
+ def self.new(
227
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
228
+ age_ms:,
229
+ # Whether the response was served from cache, required fresh work, or honored
230
+ # zero-data-retention cache bypass.
231
+ status:
232
+ )
233
+ end
234
+
235
+ sig do
236
+ override.returns(
237
+ {
238
+ age_ms: Integer,
239
+ status:
240
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::TaggedSymbol
241
+ }
242
+ )
243
+ end
244
+ def to_hash
245
+ end
246
+
247
+ # Whether the response was served from cache, required fresh work, or honored
248
+ # zero-data-retention cache bypass.
249
+ module Status
250
+ extend ContextDev::Internal::Type::Enum
251
+
252
+ TaggedSymbol =
253
+ T.type_alias do
254
+ T.all(
255
+ Symbol,
256
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status
257
+ )
258
+ end
259
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
260
+
261
+ HIT =
262
+ T.let(
263
+ :hit,
264
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::TaggedSymbol
265
+ )
266
+ MISS =
267
+ T.let(
268
+ :miss,
269
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::TaggedSymbol
270
+ )
271
+ ZDR =
272
+ T.let(
273
+ :zdr,
274
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::TaggedSymbol
275
+ )
276
+
277
+ sig do
278
+ override.returns(
279
+ T::Array[
280
+ ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status::TaggedSymbol
281
+ ]
282
+ )
283
+ end
284
+ def self.values
285
+ end
286
+ end
287
+ end
288
+
170
289
  class Metadata < ContextDev::Internal::Type::BaseModel
171
290
  OrHash =
172
291
  T.type_alias do
@@ -27,7 +27,8 @@ module ContextDev
27
27
  T::Array[
28
28
  T.any(
29
29
  ContextDev::WebWebScrapeImagesParams::Action::Wait,
30
- ContextDev::WebWebScrapeImagesParams::Action::Perform
30
+ ContextDev::WebWebScrapeImagesParams::Action::Perform,
31
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll
31
32
  )
32
33
  ]
33
34
  )
@@ -105,7 +106,8 @@ module ContextDev
105
106
  T::Array[
106
107
  T.any(
107
108
  ContextDev::WebWebScrapeImagesParams::Action::Wait::OrHash,
108
- ContextDev::WebWebScrapeImagesParams::Action::Perform::OrHash
109
+ ContextDev::WebWebScrapeImagesParams::Action::Perform::OrHash,
110
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::OrHash
109
111
  )
110
112
  ]
111
113
  ),
@@ -166,7 +168,8 @@ module ContextDev
166
168
  T::Array[
167
169
  T.any(
168
170
  ContextDev::WebWebScrapeImagesParams::Action::Wait,
169
- ContextDev::WebWebScrapeImagesParams::Action::Perform
171
+ ContextDev::WebWebScrapeImagesParams::Action::Perform,
172
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll
170
173
  )
171
174
  ]
172
175
  ),
@@ -194,7 +197,8 @@ module ContextDev
194
197
  T.type_alias do
195
198
  T.any(
196
199
  ContextDev::WebWebScrapeImagesParams::Action::Wait,
197
- ContextDev::WebWebScrapeImagesParams::Action::Perform
200
+ ContextDev::WebWebScrapeImagesParams::Action::Perform,
201
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll
198
202
  )
199
203
  end
200
204
 
@@ -250,6 +254,216 @@ module ContextDev
250
254
  end
251
255
  end
252
256
 
257
+ class Scroll < ContextDev::Internal::Type::BaseModel
258
+ OrHash =
259
+ T.type_alias do
260
+ T.any(
261
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll,
262
+ ContextDev::Internal::AnyHash
263
+ )
264
+ end
265
+
266
+ sig { returns(Symbol) }
267
+ attr_accessor :do_
268
+
269
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
270
+ # Defaults to viewport.
271
+ sig do
272
+ returns(
273
+ T.nilable(
274
+ T.any(
275
+ Integer,
276
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
277
+ )
278
+ )
279
+ )
280
+ end
281
+ attr_reader :amount
282
+
283
+ sig do
284
+ params(
285
+ amount:
286
+ T.any(
287
+ Integer,
288
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
289
+ )
290
+ ).void
291
+ end
292
+ attr_writer :amount
293
+
294
+ # CSS selector for the first matching scroll container. Defaults to the page.
295
+ sig { returns(T.nilable(String)) }
296
+ attr_reader :container
297
+
298
+ sig { params(container: String).void }
299
+ attr_writer :container
300
+
301
+ # Direction to scroll. Defaults to down.
302
+ sig do
303
+ returns(
304
+ T.nilable(
305
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol
306
+ )
307
+ )
308
+ end
309
+ attr_reader :direction
310
+
311
+ sig do
312
+ params(
313
+ direction:
314
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol
315
+ ).void
316
+ end
317
+ attr_writer :direction
318
+
319
+ # Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
320
+ # changing. Defaults to 1.
321
+ sig { returns(T.nilable(Integer)) }
322
+ attr_reader :max_scrolls
323
+
324
+ sig { params(max_scrolls: Integer).void }
325
+ attr_writer :max_scrolls
326
+
327
+ # Scroll the page or a selected scrollable container, waiting adaptively for
328
+ # content and dimensions to settle after each iteration.
329
+ sig do
330
+ params(
331
+ amount:
332
+ T.any(
333
+ Integer,
334
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
335
+ ),
336
+ container: String,
337
+ direction:
338
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol,
339
+ max_scrolls: Integer,
340
+ do_: Symbol
341
+ ).returns(T.attached_class)
342
+ end
343
+ def self.new(
344
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
345
+ # Defaults to viewport.
346
+ amount: nil,
347
+ # CSS selector for the first matching scroll container. Defaults to the page.
348
+ container: nil,
349
+ # Direction to scroll. Defaults to down.
350
+ direction: nil,
351
+ # Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
352
+ # changing. Defaults to 1.
353
+ max_scrolls: nil,
354
+ do_: :scroll
355
+ )
356
+ end
357
+
358
+ sig do
359
+ override.returns(
360
+ {
361
+ do_: Symbol,
362
+ amount:
363
+ T.any(
364
+ Integer,
365
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
366
+ ),
367
+ container: String,
368
+ direction:
369
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol,
370
+ max_scrolls: Integer
371
+ }
372
+ )
373
+ end
374
+ def to_hash
375
+ end
376
+
377
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
378
+ # Defaults to viewport.
379
+ module Amount
380
+ extend ContextDev::Internal::Type::Union
381
+
382
+ Variants =
383
+ T.type_alias do
384
+ T.any(
385
+ Integer,
386
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::TaggedSymbol
387
+ )
388
+ end
389
+
390
+ sig do
391
+ override.returns(
392
+ T::Array[
393
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::Variants
394
+ ]
395
+ )
396
+ end
397
+ def self.variants
398
+ end
399
+
400
+ TaggedSymbol =
401
+ T.type_alias do
402
+ T.all(
403
+ Symbol,
404
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount
405
+ )
406
+ end
407
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
408
+
409
+ VIEWPORT =
410
+ T.let(
411
+ :viewport,
412
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::TaggedSymbol
413
+ )
414
+ MAX =
415
+ T.let(
416
+ :max,
417
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::TaggedSymbol
418
+ )
419
+ end
420
+
421
+ # Direction to scroll. Defaults to down.
422
+ module Direction
423
+ extend ContextDev::Internal::Type::Enum
424
+
425
+ TaggedSymbol =
426
+ T.type_alias do
427
+ T.all(
428
+ Symbol,
429
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction
430
+ )
431
+ end
432
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
433
+
434
+ UP =
435
+ T.let(
436
+ :up,
437
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
438
+ )
439
+ DOWN =
440
+ T.let(
441
+ :down,
442
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
443
+ )
444
+ LEFT =
445
+ T.let(
446
+ :left,
447
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
448
+ )
449
+ RIGHT =
450
+ T.let(
451
+ :right,
452
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
453
+ )
454
+
455
+ sig do
456
+ override.returns(
457
+ T::Array[
458
+ ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
459
+ ]
460
+ )
461
+ end
462
+ def self.values
463
+ end
464
+ end
465
+ end
466
+
253
467
  sig do
254
468
  override.returns(
255
469
  T::Array[ContextDev::WebWebScrapeImagesParams::Action::Variants]