context.dev 2.18.0 → 2.19.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  6. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  7. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  8. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  9. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
  10. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  11. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  13. data/lib/context_dev/models/web_screenshot_params.rb +15 -1
  14. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  15. data/lib/context_dev/models.rb +8 -22
  16. data/lib/context_dev/resources/brand.rb +0 -36
  17. data/lib/context_dev/resources/monitors.rb +47 -0
  18. data/lib/context_dev/resources/web.rb +106 -486
  19. data/lib/context_dev/version.rb +1 -1
  20. data/lib/context_dev.rb +8 -23
  21. data/rbi/context_dev/client.rbi +0 -3
  22. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  23. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  24. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  25. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  26. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
  27. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  28. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  29. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +539 -510
  30. data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
  31. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  32. data/rbi/context_dev/models.rbi +9 -24
  33. data/rbi/context_dev/resources/brand.rbi +0 -35
  34. data/rbi/context_dev/resources/monitors.rbi +24 -0
  35. data/rbi/context_dev/resources/web.rbi +135 -654
  36. data/sig/context_dev/client.rbs +0 -2
  37. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  38. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  39. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  40. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  41. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  42. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  43. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  45. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  46. data/sig/context_dev/models.rbs +8 -22
  47. data/sig/context_dev/resources/brand.rbs +0 -9
  48. data/sig/context_dev/resources/monitors.rbs +11 -0
  49. data/sig/context_dev/resources/web.rbs +30 -128
  50. metadata +26 -71
  51. data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
  52. data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
  53. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  54. data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
  55. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  56. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  57. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  58. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  59. data/lib/context_dev/models/web_extract_params.rb +0 -419
  60. data/lib/context_dev/models/web_extract_response.rb +0 -287
  61. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
  62. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  63. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
  64. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
  65. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
  66. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  67. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
  68. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  69. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
  70. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
  71. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  72. data/lib/context_dev/resources/ai.rb +0 -71
  73. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
  74. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
  75. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  76. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
  77. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  78. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  79. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  80. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  81. data/rbi/context_dev/models/web_extract_params.rbi +0 -781
  82. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  83. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
  84. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  85. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
  86. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  87. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  88. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  89. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  90. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  92. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  93. data/rbi/context_dev/resources/ai.rbi +0 -63
  94. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  95. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  96. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  97. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  98. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  99. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  100. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  101. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  102. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  103. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  104. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  105. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  106. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  107. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  108. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  109. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  110. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  111. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  112. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  113. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  114. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  115. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -95,6 +95,19 @@ module ContextDev
95
95
  sig { params(handle_cookie_popup: T::Boolean).void }
96
96
  attr_writer :handle_cookie_popup
97
97
 
98
+ # Optional outbound HTTP headers, using the same JSON object or deep-object query
99
+ # format as other scrape endpoints (for example headers[Authorization]=Bearer
100
+ # token). Headers are scoped to the target origin during capture. For domain/page
101
+ # requests, discovery receives no custom headers and only pages on the resolved
102
+ # origin are eligible. Non-empty headers bypass screenshot caching and return an
103
+ # in-memory data URL; no screenshot is uploaded. Empty objects behave like omitted
104
+ # headers.
105
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
106
+ attr_reader :headers
107
+
108
+ sig { params(headers: T::Hash[Symbol, String]).void }
109
+ attr_writer :headers
110
+
98
111
  # Return a cached screenshot if a prior screenshot for the same parameters exists
99
112
  # and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
100
113
  # omitted. Max is 30 days (2592000000 ms). Set to 0 to always capture fresh.
@@ -182,6 +195,7 @@ module ContextDev
182
195
  full_screenshot:
183
196
  ContextDev::WebScreenshotParams::FullScreenshot::OrSymbol,
184
197
  handle_cookie_popup: T::Boolean,
198
+ headers: T::Hash[Symbol, String],
185
199
  max_age_ms: T.nilable(Integer),
186
200
  page: ContextDev::WebScreenshotParams::Page::OrSymbol,
187
201
  scroll_offset: T.nilable(Integer),
@@ -222,6 +236,14 @@ module ContextDev
222
236
  # dismiss cookie banner before capture. If 'false' or not provided, captures the
223
237
  # page without that step.
224
238
  handle_cookie_popup: nil,
239
+ # Optional outbound HTTP headers, using the same JSON object or deep-object query
240
+ # format as other scrape endpoints (for example headers[Authorization]=Bearer
241
+ # token). Headers are scoped to the target origin during capture. For domain/page
242
+ # requests, discovery receives no custom headers and only pages on the resolved
243
+ # origin are eligible. Non-empty headers bypass screenshot caching and return an
244
+ # in-memory data URL; no screenshot is uploaded. Empty objects behave like omitted
245
+ # headers.
246
+ headers: nil,
225
247
  # Return a cached screenshot if a prior screenshot for the same parameters exists
226
248
  # and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
227
249
  # omitted. Max is 30 days (2592000000 ms). Set to 0 to always capture fresh.
@@ -276,6 +298,7 @@ module ContextDev
276
298
  full_screenshot:
277
299
  ContextDev::WebScreenshotParams::FullScreenshot::OrSymbol,
278
300
  handle_cookie_popup: T::Boolean,
301
+ headers: T::Hash[Symbol, String],
279
302
  max_age_ms: T.nilable(Integer),
280
303
  page: ContextDev::WebScreenshotParams::Page::OrSymbol,
281
304
  scroll_offset: T.nilable(Integer),
@@ -89,8 +89,8 @@ module ContextDev
89
89
  end
90
90
  attr_writer :key_metadata
91
91
 
92
- # Public image URL for standard requests, or an in-memory data URL when ZDR is
93
- # enabled.
92
+ # Public image URL for standard requests, or an in-memory data URL when ZDR or
93
+ # non-empty custom headers are supplied.
94
94
  sig { returns(T.nilable(String)) }
95
95
  attr_reader :screenshot
96
96
 
@@ -170,8 +170,8 @@ module ContextDev
170
170
  height: nil,
171
171
  # Credit usage, included whenever a valid API key is provided.
172
172
  key_metadata: nil,
173
- # Public image URL for standard requests, or an in-memory data URL when ZDR is
174
- # enabled.
173
+ # Public image URL for standard requests, or an in-memory data URL when ZDR or
174
+ # non-empty custom headers are supplied.
175
175
  screenshot: nil,
176
176
  # Type of screenshot that was captured
177
177
  screenshot_type: nil,
@@ -1,10 +1,6 @@
1
1
  # typed: strong
2
2
 
3
3
  module ContextDev
4
- AIExtractProductParams = ContextDev::Models::AIExtractProductParams
5
-
6
- AIExtractProductsParams = ContextDev::Models::AIExtractProductsParams
7
-
8
4
  BatchCancelParams = ContextDev::Models::BatchCancelParams
9
5
 
10
6
  BatchDeleteParams = ContextDev::Models::BatchDeleteParams
@@ -19,9 +15,6 @@ module ContextDev
19
15
 
20
16
  BrandRetrieveParams = ContextDev::Models::BrandRetrieveParams
21
17
 
22
- BrandRetrieveSimplifiedParams =
23
- ContextDev::Models::BrandRetrieveSimplifiedParams
24
-
25
18
  BrandSearchParams = ContextDev::Models::BrandSearchParams
26
19
 
27
20
  CrawlControls = ContextDev::Models::CrawlControls
@@ -62,6 +55,11 @@ module ContextDev
62
55
 
63
56
  MonitorRetrieveParams = ContextDev::Models::MonitorRetrieveParams
64
57
 
58
+ MonitorRetrieveRunParams = ContextDev::Models::MonitorRetrieveRunParams
59
+
60
+ MonitorRotateWebhookSecretParams =
61
+ ContextDev::Models::MonitorRotateWebhookSecretParams
62
+
65
63
  MonitorRunParams = ContextDev::Models::MonitorRunParams
66
64
 
67
65
  MonitorUpdateParams = ContextDev::Models::MonitorUpdateParams
@@ -82,32 +80,19 @@ module ContextDev
82
80
 
83
81
  WebExtractCompetitorsParams = ContextDev::Models::WebExtractCompetitorsParams
84
82
 
85
- WebExtractFontsParams = ContextDev::Models::WebExtractFontsParams
86
-
87
- WebExtractParams = ContextDev::Models::WebExtractParams
88
-
89
83
  WebExtractStyleguideParams = ContextDev::Models::WebExtractStyleguideParams
90
84
 
91
85
  WebhookDelivery = ContextDev::Models::WebhookDelivery
92
86
 
93
87
  Webhooks = ContextDev::Models::Webhooks
94
88
 
89
+ WebMapURLsParams = ContextDev::Models::WebMapURLsParams
90
+
91
+ WebScrapeParams = ContextDev::Models::WebScrapeParams
92
+
95
93
  WebScreenshotParams = ContextDev::Models::WebScreenshotParams
96
94
 
97
95
  WebSearchParams = ContextDev::Models::WebSearchParams
98
96
 
99
97
  WebWebCrawlMdParams = ContextDev::Models::WebWebCrawlMdParams
100
-
101
- WebWebScrapeBytesParams = ContextDev::Models::WebWebScrapeBytesParams
102
-
103
- WebWebScrapeHTMLParams = ContextDev::Models::WebWebScrapeHTMLParams
104
-
105
- WebWebScrapeImagesParams = ContextDev::Models::WebWebScrapeImagesParams
106
-
107
- WebWebScrapeMdParams = ContextDev::Models::WebWebScrapeMdParams
108
-
109
- WebWebScrapeScreenshotParams =
110
- ContextDev::Models::WebWebScrapeScreenshotParams
111
-
112
- WebWebScrapeSitemapParams = ContextDev::Models::WebWebScrapeSitemapParams
113
98
  end
@@ -29,41 +29,6 @@ module ContextDev
29
29
  )
30
30
  end
31
31
 
32
- # Returns a simplified version of brand data containing only essential
33
- # information: domain, title, colors, logos, and backdrops. Optimized for faster
34
- # responses and reduced data transfer.
35
- sig do
36
- params(
37
- domain: String,
38
- max_age_ms: T.nilable(Integer),
39
- tags: T::Array[String],
40
- theme: ContextDev::BrandRetrieveSimplifiedParams::Theme::OrSymbol,
41
- timeout_opts:
42
- ContextDev::BrandRetrieveSimplifiedParams::TimeoutOpts::OrHash,
43
- request_options: ContextDev::RequestOptions::OrHash
44
- ).returns(ContextDev::Models::BrandRetrieveSimplifiedResponse)
45
- end
46
- def retrieve_simplified(
47
- # Domain name to retrieve simplified brand data for
48
- domain:,
49
- # Maximum age in milliseconds for cached brand data before the API performs a hard
50
- # refresh. Defaults to 3 months (7776000000 ms). Set to 0 to always perform a hard
51
- # refresh. Negative values are clamped to 0; values above 1 year (31536000000 ms)
52
- # are clamped to 1 year.
53
- max_age_ms: nil,
54
- # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
55
- # characters.
56
- tags: nil,
57
- # Optional theme preference used when selecting brand assets.
58
- theme: nil,
59
- # Optional request deadline and behavior on timeout. For GET requests, use
60
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
61
- # timeoutOpts object.
62
- timeout_opts: nil,
63
- request_options: {}
64
- )
65
- end
66
-
67
32
  # Search indexed brands by name or domain
68
33
  sig do
69
34
  params(
@@ -311,6 +311,30 @@ module ContextDev
311
311
  def retrieve_change(change_id, request_options: {})
312
312
  end
313
313
 
314
+ # Fetches one run for a monitor, including lifecycle status, timing, credits
315
+ # charged, and any detected change.
316
+ sig do
317
+ params(
318
+ run_id: String,
319
+ monitor_id: String,
320
+ request_options: ContextDev::RequestOptions::OrHash
321
+ ).returns(ContextDev::Models::MonitorRetrieveRunResponse)
322
+ end
323
+ def retrieve_run(run_id, monitor_id:, request_options: {})
324
+ end
325
+
326
+ # Generates a new signing secret for the monitor's webhook and returns the updated
327
+ # monitor (including the new `webhook.secret`). The previous secret stops signing
328
+ # deliveries immediately, so update your endpoint before rotating.
329
+ sig do
330
+ params(
331
+ monitor_id: String,
332
+ request_options: ContextDev::RequestOptions::OrHash
333
+ ).returns(ContextDev::Models::MonitorRotateWebhookSecretResponse)
334
+ end
335
+ def rotate_webhook_secret(monitor_id, request_options: {})
336
+ end
337
+
314
338
  # Triggers an immediate run of the monitor outside its normal schedule. The run is
315
339
  # queued and processed asynchronously.
316
340
  sig do