context.dev 2.18.0 → 2.20.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +220 -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 +1035 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +974 -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 +118 -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 +2221 -0
  29. data/rbi/context_dev/models/web_scrape_response.rbi +1874 -0
  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 +152 -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 +925 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +782 -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 +33 -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_html_response.rbi +0 -1287
  87. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  88. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  89. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  90. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  92. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  93. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  94. data/rbi/context_dev/resources/ai.rbi +0 -63
  95. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  96. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  97. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  98. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  99. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  100. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  101. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  102. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  103. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  104. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  105. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  106. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  107. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  108. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  109. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  110. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  111. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  112. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  113. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  114. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  115. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  116. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -63,6 +63,18 @@ module ContextDev
63
63
  # @return [Boolean, nil]
64
64
  optional :handle_cookie_popup, ContextDev::Internal::Type::Boolean
65
65
 
66
+ # @!attribute headers
67
+ # Optional outbound HTTP headers, using the same JSON object or deep-object query
68
+ # format as other scrape endpoints (for example headers[Authorization]=Bearer
69
+ # token). Headers are scoped to the target origin during capture. For domain/page
70
+ # requests, discovery receives no custom headers and only pages on the resolved
71
+ # origin are eligible. Non-empty headers bypass screenshot caching and return an
72
+ # in-memory data URL; no screenshot is uploaded. Empty objects behave like omitted
73
+ # headers.
74
+ #
75
+ # @return [Hash{Symbol=>String}, nil]
76
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
77
+
66
78
  # @!attribute max_age_ms
67
79
  # Return a cached screenshot if a prior screenshot for the same parameters exists
68
80
  # and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
@@ -133,7 +145,7 @@ module ContextDev
133
145
  # @return [Symbol, ContextDev::Models::WebScreenshotParams::Zdr, nil]
134
146
  optional :zdr, enum: -> { ContextDev::WebScreenshotParams::Zdr }
135
147
 
136
- # @!method initialize(clear_popups: nil, color_scheme: nil, country: nil, direct_url: nil, domain: nil, full_screenshot: nil, handle_cookie_popup: nil, max_age_ms: nil, page: nil, scroll_offset: nil, tags: nil, timeout_opts: nil, viewport: nil, wait_for_ms: nil, zdr: nil, request_options: {})
148
+ # @!method initialize(clear_popups: nil, color_scheme: nil, country: nil, direct_url: nil, domain: nil, full_screenshot: nil, handle_cookie_popup: nil, headers: nil, max_age_ms: nil, page: nil, scroll_offset: nil, tags: nil, timeout_opts: nil, viewport: nil, wait_for_ms: nil, zdr: nil, request_options: {})
137
149
  # Some parameter documentations has been truncated, see
138
150
  # {ContextDev::Models::WebScreenshotParams} for more details.
139
151
  #
@@ -151,6 +163,8 @@ module ContextDev
151
163
  #
152
164
  # @param handle_cookie_popup [Boolean] Optional parameter to control cookie/consent popup handling. If 'true', we dismi
153
165
  #
166
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers, using the same JSON object or deep-object query
167
+ #
154
168
  # @param max_age_ms [Integer, nil] Return a cached screenshot if a prior screenshot for the same parameters exists
155
169
  #
156
170
  # @param page [Symbol, ContextDev::Models::WebScreenshotParams::Page] Optional parameter to specify which page type to screenshot. If provided, the sy
@@ -56,8 +56,8 @@ module ContextDev
56
56
  optional :key_metadata, -> { ContextDev::Models::WebScreenshotResponse::KeyMetadata }
57
57
 
58
58
  # @!attribute screenshot
59
- # Public image URL for standard requests, or an in-memory data URL when ZDR is
60
- # enabled.
59
+ # Public image URL for standard requests, or an in-memory data URL when ZDR or
60
+ # non-empty custom headers are supplied.
61
61
  #
62
62
  # @return [String, nil]
63
63
  optional :screenshot, String
@@ -100,7 +100,7 @@ module ContextDev
100
100
  #
101
101
  # @param key_metadata [ContextDev::Models::WebScreenshotResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
102
102
  #
103
- # @param screenshot [String] Public image URL for standard requests, or an in-memory data URL when ZDR is ena
103
+ # @param screenshot [String] Public image URL for standard requests, or an in-memory data URL when ZDR or non
104
104
  #
105
105
  # @param screenshot_type [Symbol, ContextDev::Models::WebScreenshotResponse::ScreenshotType] Type of screenshot that was captured
106
106
  #
@@ -39,10 +39,6 @@ module ContextDev
39
39
  mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
40
  end
41
41
 
42
- AIExtractProductParams = ContextDev::Models::AIExtractProductParams
43
-
44
- AIExtractProductsParams = ContextDev::Models::AIExtractProductsParams
45
-
46
42
  BatchCancelParams = ContextDev::Models::BatchCancelParams
47
43
 
48
44
  BatchDeleteParams = ContextDev::Models::BatchDeleteParams
@@ -57,8 +53,6 @@ module ContextDev
57
53
 
58
54
  BrandRetrieveParams = ContextDev::Models::BrandRetrieveParams
59
55
 
60
- BrandRetrieveSimplifiedParams = ContextDev::Models::BrandRetrieveSimplifiedParams
61
-
62
56
  BrandSearchParams = ContextDev::Models::BrandSearchParams
63
57
 
64
58
  CrawlControls = ContextDev::Models::CrawlControls
@@ -97,6 +91,10 @@ module ContextDev
97
91
 
98
92
  MonitorRetrieveParams = ContextDev::Models::MonitorRetrieveParams
99
93
 
94
+ MonitorRetrieveRunParams = ContextDev::Models::MonitorRetrieveRunParams
95
+
96
+ MonitorRotateWebhookSecretParams = ContextDev::Models::MonitorRotateWebhookSecretParams
97
+
100
98
  MonitorRunParams = ContextDev::Models::MonitorRunParams
101
99
 
102
100
  MonitorUpdateParams = ContextDev::Models::MonitorUpdateParams
@@ -117,31 +115,19 @@ module ContextDev
117
115
 
118
116
  WebExtractCompetitorsParams = ContextDev::Models::WebExtractCompetitorsParams
119
117
 
120
- WebExtractFontsParams = ContextDev::Models::WebExtractFontsParams
121
-
122
- WebExtractParams = ContextDev::Models::WebExtractParams
123
-
124
118
  WebExtractStyleguideParams = ContextDev::Models::WebExtractStyleguideParams
125
119
 
126
120
  WebhookDelivery = ContextDev::Models::WebhookDelivery
127
121
 
128
122
  Webhooks = ContextDev::Models::Webhooks
129
123
 
124
+ WebMapURLsParams = ContextDev::Models::WebMapURLsParams
125
+
126
+ WebScrapeParams = ContextDev::Models::WebScrapeParams
127
+
130
128
  WebScreenshotParams = ContextDev::Models::WebScreenshotParams
131
129
 
132
130
  WebSearchParams = ContextDev::Models::WebSearchParams
133
131
 
134
132
  WebWebCrawlMdParams = ContextDev::Models::WebWebCrawlMdParams
135
-
136
- WebWebScrapeBytesParams = ContextDev::Models::WebWebScrapeBytesParams
137
-
138
- WebWebScrapeHTMLParams = ContextDev::Models::WebWebScrapeHTMLParams
139
-
140
- WebWebScrapeImagesParams = ContextDev::Models::WebWebScrapeImagesParams
141
-
142
- WebWebScrapeMdParams = ContextDev::Models::WebWebScrapeMdParams
143
-
144
- WebWebScrapeScreenshotParams = ContextDev::Models::WebWebScrapeScreenshotParams
145
-
146
- WebWebScrapeSitemapParams = ContextDev::Models::WebWebScrapeSitemapParams
147
133
  end
@@ -29,42 +29,6 @@ module ContextDev
29
29
  )
30
30
  end
31
31
 
32
- # Some parameter documentations has been truncated, see
33
- # {ContextDev::Models::BrandRetrieveSimplifiedParams} for more details.
34
- #
35
- # Returns a simplified version of brand data containing only essential
36
- # information: domain, title, colors, logos, and backdrops. Optimized for faster
37
- # responses and reduced data transfer.
38
- #
39
- # @overload retrieve_simplified(domain:, max_age_ms: nil, tags: nil, theme: nil, timeout_opts: nil, request_options: {})
40
- #
41
- # @param domain [String] Domain name to retrieve simplified brand data for
42
- #
43
- # @param max_age_ms [Integer, nil] Maximum age in milliseconds for cached brand data before the API performs a hard
44
- #
45
- # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
46
- #
47
- # @param theme [Symbol, ContextDev::Models::BrandRetrieveSimplifiedParams::Theme] Optional theme preference used when selecting brand assets.
48
- #
49
- # @param timeout_opts [ContextDev::Models::BrandRetrieveSimplifiedParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
50
- #
51
- # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
52
- #
53
- # @return [ContextDev::Models::BrandRetrieveSimplifiedResponse]
54
- #
55
- # @see ContextDev::Models::BrandRetrieveSimplifiedParams
56
- def retrieve_simplified(params)
57
- parsed, options = ContextDev::BrandRetrieveSimplifiedParams.dump_request(params)
58
- query = ContextDev::Internal::Util.encode_query_params(parsed)
59
- @client.request(
60
- method: :get,
61
- path: "brand/retrieve-simplified",
62
- query: query.transform_keys(max_age_ms: "maxAgeMs", timeout_opts: "timeoutOpts"),
63
- model: ContextDev::Models::BrandRetrieveSimplifiedResponse,
64
- options: options
65
- )
66
- end
67
-
68
32
  # Some parameter documentations has been truncated, see
69
33
  # {ContextDev::Models::BrandSearchParams} for more details.
70
34
  #
@@ -360,6 +360,53 @@ module ContextDev
360
360
  )
361
361
  end
362
362
 
363
+ # Fetches one run for a monitor, including lifecycle status, timing, credits
364
+ # charged, and any detected change.
365
+ #
366
+ # @overload retrieve_run(run_id, monitor_id:, request_options: {})
367
+ #
368
+ # @param run_id [String]
369
+ # @param monitor_id [String]
370
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
371
+ #
372
+ # @return [ContextDev::Models::MonitorRetrieveRunResponse]
373
+ #
374
+ # @see ContextDev::Models::MonitorRetrieveRunParams
375
+ def retrieve_run(run_id, params)
376
+ parsed, options = ContextDev::MonitorRetrieveRunParams.dump_request(params)
377
+ monitor_id =
378
+ parsed.delete(:monitor_id) do
379
+ raise ArgumentError.new("missing required path argument #{_1}")
380
+ end
381
+ @client.request(
382
+ method: :get,
383
+ path: ["monitors/%1$s/runs/%2$s", monitor_id, run_id],
384
+ model: ContextDev::Models::MonitorRetrieveRunResponse,
385
+ options: options
386
+ )
387
+ end
388
+
389
+ # Generates a new signing secret for the monitor's webhook and returns the updated
390
+ # monitor (including the new `webhook.secret`). The previous secret stops signing
391
+ # deliveries immediately, so update your endpoint before rotating.
392
+ #
393
+ # @overload rotate_webhook_secret(monitor_id, request_options: {})
394
+ #
395
+ # @param monitor_id [String]
396
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
397
+ #
398
+ # @return [ContextDev::Models::MonitorRotateWebhookSecretResponse]
399
+ #
400
+ # @see ContextDev::Models::MonitorRotateWebhookSecretParams
401
+ def rotate_webhook_secret(monitor_id, params = {})
402
+ @client.request(
403
+ method: :post,
404
+ path: ["monitors/%1$s/webhook/rotate-secret", monitor_id],
405
+ model: ContextDev::Models::MonitorRotateWebhookSecretResponse,
406
+ options: params[:request_options]
407
+ )
408
+ end
409
+
363
410
  # Triggers an immediate run of the monitor outside its normal schedule. The run is
364
411
  # queued and processed asynchronously.
365
412
  #