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
@@ -4,6 +4,14 @@ module ContextDev
4
4
  module Models
5
5
  # @see ContextDev::Resources::Web#extract_styleguide
6
6
  class WebExtractStyleguideResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute cache_metadata
8
+ # Cache outcome for this response. Composite responses are hits only when every
9
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
10
+ # oldest contributing hit.
11
+ #
12
+ # @return [ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata]
13
+ required :cache_metadata, -> { ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata }
14
+
7
15
  # @!attribute code
8
16
  # HTTP status code
9
17
  #
@@ -35,10 +43,12 @@ module ContextDev
35
43
  # @return [ContextDev::Models::WebExtractStyleguideResponse::Styleguide, nil]
36
44
  optional :styleguide, -> { ContextDev::Models::WebExtractStyleguideResponse::Styleguide }
37
45
 
38
- # @!method initialize(code: nil, domain: nil, key_metadata: nil, status: nil, styleguide: nil)
46
+ # @!method initialize(cache_metadata:, code: nil, domain: nil, key_metadata: nil, status: nil, styleguide: nil)
39
47
  # Some parameter documentations has been truncated, see
40
48
  # {ContextDev::Models::WebExtractStyleguideResponse} for more details.
41
49
  #
50
+ # @param cache_metadata [ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
51
+ #
42
52
  # @param code [Integer] HTTP status code
43
53
  #
44
54
  # @param domain [String] The normalized domain that was processed
@@ -49,6 +59,50 @@ module ContextDev
49
59
  #
50
60
  # @param styleguide [ContextDev::Models::WebExtractStyleguideResponse::Styleguide] Comprehensive styleguide data extracted from the website
51
61
 
62
+ # @see ContextDev::Models::WebExtractStyleguideResponse#cache_metadata
63
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
64
+ # @!attribute age_ms
65
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
66
+ #
67
+ # @return [Integer]
68
+ required :age_ms, Integer
69
+
70
+ # @!attribute status
71
+ # Whether the response was served from cache, required fresh work, or honored
72
+ # zero-data-retention cache bypass.
73
+ #
74
+ # @return [Symbol, ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata::Status]
75
+ required :status, enum: -> { ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata::Status }
76
+
77
+ # @!method initialize(age_ms:, status:)
78
+ # Some parameter documentations has been truncated, see
79
+ # {ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata} for more
80
+ # details.
81
+ #
82
+ # Cache outcome for this response. Composite responses are hits only when every
83
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
84
+ # oldest contributing hit.
85
+ #
86
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
87
+ #
88
+ # @param status [Symbol, ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
89
+
90
+ # Whether the response was served from cache, required fresh work, or honored
91
+ # zero-data-retention cache bypass.
92
+ #
93
+ # @see ContextDev::Models::WebExtractStyleguideResponse::CacheMetadata#status
94
+ module Status
95
+ extend ContextDev::Internal::Type::Enum
96
+
97
+ HIT = :hit
98
+ MISS = :miss
99
+ ZDR = :zdr
100
+
101
+ # @!method self.values
102
+ # @return [Array<Symbol>]
103
+ end
104
+ end
105
+
52
106
  # @see ContextDev::Models::WebExtractStyleguideResponse#key_metadata
53
107
  class KeyMetadata < ContextDev::Internal::Type::BaseModel
54
108
  # @!attribute credits_consumed
@@ -4,6 +4,14 @@ module ContextDev
4
4
  module Models
5
5
  # @see ContextDev::Resources::Web#screenshot
6
6
  class WebScreenshotResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute cache_metadata
8
+ # Cache outcome for this response. Composite responses are hits only when every
9
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
10
+ # oldest contributing hit.
11
+ #
12
+ # @return [ContextDev::Models::WebScreenshotResponse::CacheMetadata]
13
+ required :cache_metadata, -> { ContextDev::Models::WebScreenshotResponse::CacheMetadata }
14
+
7
15
  # @!attribute code
8
16
  # HTTP status code
9
17
  #
@@ -56,10 +64,12 @@ module ContextDev
56
64
  # @return [Integer, nil]
57
65
  optional :width, Integer
58
66
 
59
- # @!method initialize(code: nil, domain: nil, height: nil, key_metadata: nil, screenshot: nil, screenshot_type: nil, status: nil, width: nil)
67
+ # @!method initialize(cache_metadata:, code: nil, domain: nil, height: nil, key_metadata: nil, screenshot: nil, screenshot_type: nil, status: nil, width: nil)
60
68
  # Some parameter documentations has been truncated, see
61
69
  # {ContextDev::Models::WebScreenshotResponse} for more details.
62
70
  #
71
+ # @param cache_metadata [ContextDev::Models::WebScreenshotResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
72
+ #
63
73
  # @param code [Integer] HTTP status code
64
74
  #
65
75
  # @param domain [String] The normalized domain that was processed
@@ -76,6 +86,49 @@ module ContextDev
76
86
  #
77
87
  # @param width [Integer] Width in pixels of the returned screenshot image
78
88
 
89
+ # @see ContextDev::Models::WebScreenshotResponse#cache_metadata
90
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
91
+ # @!attribute age_ms
92
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
93
+ #
94
+ # @return [Integer]
95
+ required :age_ms, Integer
96
+
97
+ # @!attribute status
98
+ # Whether the response was served from cache, required fresh work, or honored
99
+ # zero-data-retention cache bypass.
100
+ #
101
+ # @return [Symbol, ContextDev::Models::WebScreenshotResponse::CacheMetadata::Status]
102
+ required :status, enum: -> { ContextDev::Models::WebScreenshotResponse::CacheMetadata::Status }
103
+
104
+ # @!method initialize(age_ms:, status:)
105
+ # Some parameter documentations has been truncated, see
106
+ # {ContextDev::Models::WebScreenshotResponse::CacheMetadata} for more details.
107
+ #
108
+ # Cache outcome for this response. Composite responses are hits only when every
109
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
110
+ # oldest contributing hit.
111
+ #
112
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
113
+ #
114
+ # @param status [Symbol, ContextDev::Models::WebScreenshotResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
115
+
116
+ # Whether the response was served from cache, required fresh work, or honored
117
+ # zero-data-retention cache bypass.
118
+ #
119
+ # @see ContextDev::Models::WebScreenshotResponse::CacheMetadata#status
120
+ module Status
121
+ extend ContextDev::Internal::Type::Enum
122
+
123
+ HIT = :hit
124
+ MISS = :miss
125
+ ZDR = :zdr
126
+
127
+ # @!method self.values
128
+ # @return [Array<Symbol>]
129
+ end
130
+ end
131
+
79
132
  # @see ContextDev::Models::WebScreenshotResponse#key_metadata
80
133
  class KeyMetadata < ContextDev::Internal::Type::BaseModel
81
134
  # @!attribute credits_consumed
@@ -4,6 +4,14 @@ module ContextDev
4
4
  module Models
5
5
  # @see ContextDev::Resources::Web#search
6
6
  class WebSearchResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute cache_metadata
8
+ # Cache outcome for this response. Composite responses are hits only when every
9
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
10
+ # oldest contributing hit.
11
+ #
12
+ # @return [ContextDev::Models::WebSearchResponse::CacheMetadata]
13
+ required :cache_metadata, -> { ContextDev::Models::WebSearchResponse::CacheMetadata }
14
+
7
15
  # @!attribute query
8
16
  # Echo of the original query (useful when fanout was enabled).
9
17
  #
@@ -23,16 +31,61 @@ module ContextDev
23
31
  # @return [ContextDev::Models::WebSearchResponse::KeyMetadata, nil]
24
32
  optional :key_metadata, -> { ContextDev::Models::WebSearchResponse::KeyMetadata }
25
33
 
26
- # @!method initialize(query:, results:, key_metadata: nil)
34
+ # @!method initialize(cache_metadata:, query:, results:, key_metadata: nil)
27
35
  # Some parameter documentations has been truncated, see
28
36
  # {ContextDev::Models::WebSearchResponse} for more details.
29
37
  #
38
+ # @param cache_metadata [ContextDev::Models::WebSearchResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
39
+ #
30
40
  # @param query [String] Echo of the original query (useful when fanout was enabled).
31
41
  #
32
42
  # @param results [Array<ContextDev::Models::WebSearchResponse::Result>]
33
43
  #
34
44
  # @param key_metadata [ContextDev::Models::WebSearchResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
35
45
 
46
+ # @see ContextDev::Models::WebSearchResponse#cache_metadata
47
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
48
+ # @!attribute age_ms
49
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
50
+ #
51
+ # @return [Integer]
52
+ required :age_ms, Integer
53
+
54
+ # @!attribute status
55
+ # Whether the response was served from cache, required fresh work, or honored
56
+ # zero-data-retention cache bypass.
57
+ #
58
+ # @return [Symbol, ContextDev::Models::WebSearchResponse::CacheMetadata::Status]
59
+ required :status, enum: -> { ContextDev::Models::WebSearchResponse::CacheMetadata::Status }
60
+
61
+ # @!method initialize(age_ms:, status:)
62
+ # Some parameter documentations has been truncated, see
63
+ # {ContextDev::Models::WebSearchResponse::CacheMetadata} for more details.
64
+ #
65
+ # Cache outcome for this response. Composite responses are hits only when every
66
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
67
+ # oldest contributing hit.
68
+ #
69
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
70
+ #
71
+ # @param status [Symbol, ContextDev::Models::WebSearchResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
72
+
73
+ # Whether the response was served from cache, required fresh work, or honored
74
+ # zero-data-retention cache bypass.
75
+ #
76
+ # @see ContextDev::Models::WebSearchResponse::CacheMetadata#status
77
+ module Status
78
+ extend ContextDev::Internal::Type::Enum
79
+
80
+ HIT = :hit
81
+ MISS = :miss
82
+ ZDR = :zdr
83
+
84
+ # @!method self.values
85
+ # @return [Array<Symbol>]
86
+ end
87
+ end
88
+
36
89
  class Result < ContextDev::Internal::Type::BaseModel
37
90
  # @!attribute description
38
91
  # Snippet excerpt from the page.
@@ -129,7 +129,9 @@ module ContextDev
129
129
  optional :timeout_ms, Integer, api_name: :timeoutMS
130
130
 
131
131
  # @!attribute url_regex
132
- # Regex pattern. Only URLs matching this pattern will be followed and scraped.
132
+ # Regex pattern. Only URLs matching this pattern will be followed and scraped. An
133
+ # automatic prefix scope in the form ^<starting URL> follows a redirect of the
134
+ # starting page.
133
135
  #
134
136
  # @return [String, nil]
135
137
  optional :url_regex, String, api_name: :urlRegex
@@ -142,8 +144,8 @@ module ContextDev
142
144
  optional :use_main_content_only, ContextDev::Internal::Type::Boolean, api_name: :useMainContentOnly
143
145
 
144
146
  # @!attribute wait_for_ms
145
- # Optional browser wait time in milliseconds after initial page load for each
146
- # crawled page. Min: 0. Max: 30000 (30 seconds).
147
+ # Browser wait time in milliseconds after initial page load for each crawled page.
148
+ # Defaults to 3500 (3.5 seconds). Min: 0. Max: 30000 (30 seconds).
147
149
  #
148
150
  # @return [Integer, nil]
149
151
  optional :wait_for_ms, Integer, api_name: :waitForMs
@@ -195,11 +197,11 @@ module ContextDev
195
197
  #
196
198
  # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
197
199
  #
198
- # @param url_regex [String] Regex pattern. Only URLs matching this pattern will be followed and scraped.
200
+ # @param url_regex [String] Regex pattern. Only URLs matching this pattern will be followed and scraped. An
199
201
  #
200
202
  # @param use_main_content_only [Boolean] Extract only the main content, stripping headers, footers, sidebars, and navigat
201
203
  #
202
- # @param wait_for_ms [Integer] Optional browser wait time in milliseconds after initial page load for each craw
204
+ # @param wait_for_ms [Integer] Browser wait time in milliseconds after initial page load for each crawled page.
203
205
  #
204
206
  # @param zdr [Symbol, ContextDev::Models::WebWebCrawlMdParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
205
207
  #
@@ -4,6 +4,14 @@ module ContextDev
4
4
  module Models
5
5
  # @see ContextDev::Resources::Web#web_crawl_md
6
6
  class WebWebCrawlMdResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute cache_metadata
8
+ # Cache outcome for this response. Composite responses are hits only when every
9
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
10
+ # oldest contributing hit.
11
+ #
12
+ # @return [ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata]
13
+ required :cache_metadata, -> { ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata }
14
+
7
15
  # @!attribute metadata
8
16
  #
9
17
  # @return [ContextDev::Models::WebWebCrawlMdResponse::Metadata]
@@ -22,16 +30,61 @@ module ContextDev
22
30
  # @return [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata, nil]
23
31
  optional :key_metadata, -> { ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata }
24
32
 
25
- # @!method initialize(metadata:, results:, key_metadata: nil)
33
+ # @!method initialize(cache_metadata:, metadata:, results:, key_metadata: nil)
26
34
  # Some parameter documentations has been truncated, see
27
35
  # {ContextDev::Models::WebWebCrawlMdResponse} for more details.
28
36
  #
37
+ # @param cache_metadata [ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
38
+ #
29
39
  # @param metadata [ContextDev::Models::WebWebCrawlMdResponse::Metadata]
30
40
  #
31
41
  # @param results [Array<ContextDev::Models::WebWebCrawlMdResponse::Result>]
32
42
  #
33
43
  # @param key_metadata [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
34
44
 
45
+ # @see ContextDev::Models::WebWebCrawlMdResponse#cache_metadata
46
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
47
+ # @!attribute age_ms
48
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
49
+ #
50
+ # @return [Integer]
51
+ required :age_ms, Integer
52
+
53
+ # @!attribute status
54
+ # Whether the response was served from cache, required fresh work, or honored
55
+ # zero-data-retention cache bypass.
56
+ #
57
+ # @return [Symbol, ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status]
58
+ required :status, enum: -> { ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status }
59
+
60
+ # @!method initialize(age_ms:, status:)
61
+ # Some parameter documentations has been truncated, see
62
+ # {ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata} for more details.
63
+ #
64
+ # Cache outcome for this response. Composite responses are hits only when every
65
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
66
+ # oldest contributing hit.
67
+ #
68
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
69
+ #
70
+ # @param status [Symbol, ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
71
+
72
+ # Whether the response was served from cache, required fresh work, or honored
73
+ # zero-data-retention cache bypass.
74
+ #
75
+ # @see ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata#status
76
+ module Status
77
+ extend ContextDev::Internal::Type::Enum
78
+
79
+ HIT = :hit
80
+ MISS = :miss
81
+ ZDR = :zdr
82
+
83
+ # @!method self.values
84
+ # @return [Array<Symbol>]
85
+ end
86
+ end
87
+
35
88
  # @see ContextDev::Models::WebWebCrawlMdResponse#metadata
36
89
  class Metadata < ContextDev::Internal::Type::BaseModel
37
90
  # @!attribute max_crawl_depth
@@ -18,7 +18,7 @@ module ContextDev
18
18
  # content is captured. Requires a paid plan. Send a JSON array in the query
19
19
  # parameter. Maximum: 5 actions.
20
20
  #
21
- # @return [Array<ContextDev::Models::WebWebScrapeHTMLParams::Action::Wait, ContextDev::Models::WebWebScrapeHTMLParams::Action::Perform>, nil]
21
+ # @return [Array<ContextDev::Models::WebWebScrapeHTMLParams::Action::Wait, ContextDev::Models::WebWebScrapeHTMLParams::Action::Perform, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll>, nil]
22
22
  optional :actions,
23
23
  -> { ContextDev::Internal::Type::ArrayOf[union: ContextDev::WebWebScrapeHTMLParams::Action] },
24
24
  nil?: true
@@ -128,7 +128,7 @@ module ContextDev
128
128
  #
129
129
  # @param url [String] Full URL to scrape (must include http:// or https:// protocol)
130
130
  #
131
- # @param actions [Array<ContextDev::Models::WebWebScrapeHTMLParams::Action::Wait, ContextDev::Models::WebWebScrapeHTMLParams::Action::Perform>, nil] Optional browser actions executed in array order after the page loads and before
131
+ # @param actions [Array<ContextDev::Models::WebWebScrapeHTMLParams::Action::Wait, ContextDev::Models::WebWebScrapeHTMLParams::Action::Perform, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll>, nil] Optional browser actions executed in array order after the page loads and before
132
132
  #
133
133
  # @param country [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Country] Fetch the target page through a residential proxy in this country (ISO 3166-1 al
134
134
  #
@@ -171,6 +171,9 @@ module ContextDev
171
171
  # Resolve and perform one natural-language browser action.
172
172
  variant :perform, -> { ContextDev::WebWebScrapeHTMLParams::Action::Perform }
173
173
 
174
+ # Scroll the page or a selected scrollable container, waiting adaptively for content and dimensions to settle after each iteration.
175
+ variant :scroll, -> { ContextDev::WebWebScrapeHTMLParams::Action::Scroll }
176
+
174
177
  class Wait < ContextDev::Internal::Type::BaseModel
175
178
  # @!attribute do_
176
179
  #
@@ -207,8 +210,101 @@ module ContextDev
207
210
  # @param do_ [Symbol, :perform]
208
211
  end
209
212
 
213
+ class Scroll < ContextDev::Internal::Type::BaseModel
214
+ # @!attribute do_
215
+ #
216
+ # @return [Symbol, :scroll]
217
+ required :do_, const: :scroll, api_name: :do
218
+
219
+ # @!attribute amount
220
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
221
+ # Defaults to viewport.
222
+ #
223
+ # @return [Integer, Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll::Amount, nil]
224
+ optional :amount, union: -> { ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount }
225
+
226
+ # @!attribute container
227
+ # CSS selector for the first matching scroll container. Defaults to the page.
228
+ #
229
+ # @return [String, nil]
230
+ optional :container, String
231
+
232
+ # @!attribute direction
233
+ # Direction to scroll. Defaults to down.
234
+ #
235
+ # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll::Direction, nil]
236
+ optional :direction, enum: -> { ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction }
237
+
238
+ # @!attribute max_scrolls
239
+ # Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
240
+ # changing. Defaults to 1.
241
+ #
242
+ # @return [Integer, nil]
243
+ optional :max_scrolls, Integer, api_name: :maxScrolls
244
+
245
+ # @!method initialize(amount: nil, container: nil, direction: nil, max_scrolls: nil, do_: :scroll)
246
+ # Some parameter documentations has been truncated, see
247
+ # {ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll} for more details.
248
+ #
249
+ # Scroll the page or a selected scrollable container, waiting adaptively for
250
+ # content and dimensions to settle after each iteration.
251
+ #
252
+ # @param amount [Integer, Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll::Amount] Pixels per scroll, one visible viewport, or the current scroll boundary. Default
253
+ #
254
+ # @param container [String] CSS selector for the first matching scroll container. Defaults to the page.
255
+ #
256
+ # @param direction [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll::Direction] Direction to scroll. Defaults to down.
257
+ #
258
+ # @param max_scrolls [Integer] Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
259
+ #
260
+ # @param do_ [Symbol, :scroll]
261
+
262
+ # Pixels per scroll, one visible viewport, or the current scroll boundary.
263
+ # Defaults to viewport.
264
+ #
265
+ # @see ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll#amount
266
+ module Amount
267
+ extend ContextDev::Internal::Type::Union
268
+
269
+ variant Integer
270
+
271
+ variant const: -> { ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll::Amount::VIEWPORT }
272
+
273
+ variant const: -> { ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll::Amount::MAX }
274
+
275
+ # @!method self.variants
276
+ # @return [Array(Integer, Symbol)]
277
+
278
+ define_sorbet_constant!(:Variants) do
279
+ T.type_alias { T.any(Integer, ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::TaggedSymbol) }
280
+ end
281
+
282
+ # @!group
283
+
284
+ VIEWPORT = :viewport
285
+ MAX = :max
286
+
287
+ # @!endgroup
288
+ end
289
+
290
+ # Direction to scroll. Defaults to down.
291
+ #
292
+ # @see ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll#direction
293
+ module Direction
294
+ extend ContextDev::Internal::Type::Enum
295
+
296
+ UP = :up
297
+ DOWN = :down
298
+ LEFT = :left
299
+ RIGHT = :right
300
+
301
+ # @!method self.values
302
+ # @return [Array<Symbol>]
303
+ end
304
+ end
305
+
210
306
  # @!method self.variants
211
- # @return [Array(ContextDev::Models::WebWebScrapeHTMLParams::Action::Wait, ContextDev::Models::WebWebScrapeHTMLParams::Action::Perform)]
307
+ # @return [Array(ContextDev::Models::WebWebScrapeHTMLParams::Action::Wait, ContextDev::Models::WebWebScrapeHTMLParams::Action::Perform, ContextDev::Models::WebWebScrapeHTMLParams::Action::Scroll)]
212
308
  end
213
309
 
214
310
  # Fetch the target page through a residential proxy in this country (ISO 3166-1
@@ -4,6 +4,14 @@ module ContextDev
4
4
  module Models
5
5
  # @see ContextDev::Resources::Web#web_scrape_html
6
6
  class WebWebScrapeHTMLResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute cache_metadata
8
+ # Cache outcome for this response. Composite responses are hits only when every
9
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
10
+ # oldest contributing hit.
11
+ #
12
+ # @return [ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata]
13
+ required :cache_metadata, -> { ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata }
14
+
7
15
  # @!attribute html
8
16
  # The scraped content of the page. For normal pages this is the raw HTML. When the
9
17
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
@@ -61,10 +69,12 @@ module ContextDev
61
69
  # @return [ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata, nil]
62
70
  optional :key_metadata, -> { ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata }
63
71
 
64
- # @!method initialize(html:, metadata:, success:, type:, url:, actions_applied: nil, actions_html_stale: nil, key_metadata: nil)
72
+ # @!method initialize(cache_metadata:, html:, metadata:, success:, type:, url:, actions_applied: nil, actions_html_stale: nil, key_metadata: nil)
65
73
  # Some parameter documentations has been truncated, see
66
74
  # {ContextDev::Models::WebWebScrapeHTMLResponse} for more details.
67
75
  #
76
+ # @param cache_metadata [ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
77
+ #
68
78
  # @param html [String] The scraped content of the page. For normal pages this is the raw HTML. When the
69
79
  #
70
80
  # @param metadata [ContextDev::Models::WebWebScrapeHTMLResponse::Metadata] Metadata extracted from the scraped page HTML.
@@ -81,6 +91,49 @@ module ContextDev
81
91
  #
82
92
  # @param key_metadata [ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata] Metadata about the API key used for the request. Included in every response when
83
93
 
94
+ # @see ContextDev::Models::WebWebScrapeHTMLResponse#cache_metadata
95
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
96
+ # @!attribute age_ms
97
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
98
+ #
99
+ # @return [Integer]
100
+ required :age_ms, Integer
101
+
102
+ # @!attribute status
103
+ # Whether the response was served from cache, required fresh work, or honored
104
+ # zero-data-retention cache bypass.
105
+ #
106
+ # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status]
107
+ required :status, enum: -> { ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status }
108
+
109
+ # @!method initialize(age_ms:, status:)
110
+ # Some parameter documentations has been truncated, see
111
+ # {ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata} for more details.
112
+ #
113
+ # Cache outcome for this response. Composite responses are hits only when every
114
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
115
+ # oldest contributing hit.
116
+ #
117
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
118
+ #
119
+ # @param status [Symbol, ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
120
+
121
+ # Whether the response was served from cache, required fresh work, or honored
122
+ # zero-data-retention cache bypass.
123
+ #
124
+ # @see ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata#status
125
+ module Status
126
+ extend ContextDev::Internal::Type::Enum
127
+
128
+ HIT = :hit
129
+ MISS = :miss
130
+ ZDR = :zdr
131
+
132
+ # @!method self.values
133
+ # @return [Array<Symbol>]
134
+ end
135
+ end
136
+
84
137
  # @see ContextDev::Models::WebWebScrapeHTMLResponse#metadata
85
138
  class Metadata < ContextDev::Internal::Type::BaseModel
86
139
  # @!attribute final_url