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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +4 -4
- data/lib/context_dev/models/ai_extract_product_response.rb +102 -2
- data/lib/context_dev/models/ai_extract_products_response.rb +102 -2
- data/lib/context_dev/models/batch_get_results_response.rb +56 -1
- data/lib/context_dev/models/batch_submit_response.rb +54 -1
- data/lib/context_dev/models/brand_retrieve_response.rb +58 -3
- data/lib/context_dev/models/brand_retrieve_simplified_response.rb +55 -1
- data/lib/context_dev/models/news_search_params.rb +1 -0
- data/lib/context_dev/models/web_extract_fonts_response.rb +54 -1
- data/lib/context_dev/models/web_extract_params.rb +169 -6
- data/lib/context_dev/models/web_extract_response.rb +139 -2
- data/lib/context_dev/models/web_extract_styleguide_response.rb +55 -1
- data/lib/context_dev/models/web_screenshot_response.rb +54 -1
- data/lib/context_dev/models/web_search_response.rb +54 -1
- data/lib/context_dev/models/web_web_crawl_md_params.rb +7 -5
- data/lib/context_dev/models/web_web_crawl_md_response.rb +54 -1
- data/lib/context_dev/models/web_web_scrape_html_params.rb +99 -3
- data/lib/context_dev/models/web_web_scrape_html_response.rb +54 -1
- data/lib/context_dev/models/web_web_scrape_images_params.rb +99 -3
- data/lib/context_dev/models/web_web_scrape_images_response.rb +139 -1
- data/lib/context_dev/models/web_web_scrape_md_params.rb +99 -3
- data/lib/context_dev/models/web_web_scrape_md_response.rb +54 -1
- data/lib/context_dev/resources/web.rb +9 -7
- data/lib/context_dev/version.rb +1 -1
- data/rbi/context_dev/models/ai_extract_product_response.rbi +218 -0
- data/rbi/context_dev/models/ai_extract_products_response.rbi +218 -0
- data/rbi/context_dev/models/batch_get_results_response.rbi +121 -0
- data/rbi/context_dev/models/batch_submit_response.rbi +117 -0
- data/rbi/context_dev/models/brand_retrieve_response.rbi +123 -2
- data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +121 -0
- data/rbi/context_dev/models/news_search_params.rbi +5 -0
- data/rbi/context_dev/models/web_extract_fonts_response.rbi +119 -0
- data/rbi/context_dev/models/web_extract_params.rbi +353 -8
- data/rbi/context_dev/models/web_extract_response.rbi +289 -3
- data/rbi/context_dev/models/web_extract_styleguide_response.rbi +119 -0
- data/rbi/context_dev/models/web_screenshot_response.rbi +117 -0
- data/rbi/context_dev/models/web_search_response.rbi +117 -0
- data/rbi/context_dev/models/web_web_crawl_md_params.rbi +10 -6
- data/rbi/context_dev/models/web_web_crawl_md_response.rbi +117 -0
- data/rbi/context_dev/models/web_web_scrape_html_params.rbi +218 -4
- data/rbi/context_dev/models/web_web_scrape_html_response.rbi +119 -0
- data/rbi/context_dev/models/web_web_scrape_images_params.rbi +218 -4
- data/rbi/context_dev/models/web_web_scrape_images_response.rbi +288 -0
- data/rbi/context_dev/models/web_web_scrape_md_params.rbi +218 -4
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +117 -0
- data/rbi/context_dev/resources/web.rbi +31 -10
- data/sig/context_dev/models/ai_extract_product_response.rbs +79 -0
- data/sig/context_dev/models/ai_extract_products_response.rbs +79 -0
- data/sig/context_dev/models/batch_get_results_response.rbs +39 -0
- data/sig/context_dev/models/batch_submit_response.rbs +39 -0
- data/sig/context_dev/models/brand_retrieve_response.rbs +39 -0
- data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +39 -0
- data/sig/context_dev/models/news_search_params.rbs +2 -0
- data/sig/context_dev/models/web_extract_fonts_response.rbs +39 -0
- data/sig/context_dev/models/web_extract_params.rbs +117 -0
- data/sig/context_dev/models/web_extract_response.rbs +120 -3
- data/sig/context_dev/models/web_extract_styleguide_response.rbs +39 -0
- data/sig/context_dev/models/web_screenshot_response.rbs +39 -0
- data/sig/context_dev/models/web_search_response.rbs +39 -0
- data/sig/context_dev/models/web_web_crawl_md_response.rbs +39 -0
- data/sig/context_dev/models/web_web_scrape_html_params.rbs +74 -0
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +39 -0
- data/sig/context_dev/models/web_web_scrape_images_params.rbs +74 -0
- data/sig/context_dev/models/web_web_scrape_images_response.rbs +117 -0
- data/sig/context_dev/models/web_web_scrape_md_params.rbs +74 -0
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +39 -0
- data/sig/context_dev/resources/web.rbs +1 -0
- metadata +2 -2
|
@@ -11,6 +11,20 @@ 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 { returns(ContextDev::Models::WebSearchResponse::CacheMetadata) }
|
|
18
|
+
attr_reader :cache_metadata
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
cache_metadata:
|
|
23
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::OrHash
|
|
24
|
+
).void
|
|
25
|
+
end
|
|
26
|
+
attr_writer :cache_metadata
|
|
27
|
+
|
|
14
28
|
# Echo of the original query (useful when fanout was enabled).
|
|
15
29
|
sig { returns(String) }
|
|
16
30
|
attr_accessor :query
|
|
@@ -35,6 +49,8 @@ module ContextDev
|
|
|
35
49
|
|
|
36
50
|
sig do
|
|
37
51
|
params(
|
|
52
|
+
cache_metadata:
|
|
53
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::OrHash,
|
|
38
54
|
query: String,
|
|
39
55
|
results:
|
|
40
56
|
T::Array[ContextDev::Models::WebSearchResponse::Result::OrHash],
|
|
@@ -43,6 +59,10 @@ module ContextDev
|
|
|
43
59
|
).returns(T.attached_class)
|
|
44
60
|
end
|
|
45
61
|
def self.new(
|
|
62
|
+
# Cache outcome for this response. Composite responses are hits only when every
|
|
63
|
+
# cache-controlled fetch contributing to the output was a hit; age_ms is the
|
|
64
|
+
# oldest contributing hit.
|
|
65
|
+
cache_metadata:,
|
|
46
66
|
# Echo of the original query (useful when fanout was enabled).
|
|
47
67
|
query:,
|
|
48
68
|
results:,
|
|
@@ -55,6 +75,8 @@ module ContextDev
|
|
|
55
75
|
sig do
|
|
56
76
|
override.returns(
|
|
57
77
|
{
|
|
78
|
+
cache_metadata:
|
|
79
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata,
|
|
58
80
|
query: String,
|
|
59
81
|
results: T::Array[ContextDev::Models::WebSearchResponse::Result],
|
|
60
82
|
key_metadata: ContextDev::Models::WebSearchResponse::KeyMetadata
|
|
@@ -64,6 +86,101 @@ module ContextDev
|
|
|
64
86
|
def to_hash
|
|
65
87
|
end
|
|
66
88
|
|
|
89
|
+
class CacheMetadata < ContextDev::Internal::Type::BaseModel
|
|
90
|
+
OrHash =
|
|
91
|
+
T.type_alias do
|
|
92
|
+
T.any(
|
|
93
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata,
|
|
94
|
+
ContextDev::Internal::AnyHash
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Age of the cached data in milliseconds. Zero for miss and zdr responses.
|
|
99
|
+
sig { returns(Integer) }
|
|
100
|
+
attr_accessor :age_ms
|
|
101
|
+
|
|
102
|
+
# Whether the response was served from cache, required fresh work, or honored
|
|
103
|
+
# zero-data-retention cache bypass.
|
|
104
|
+
sig do
|
|
105
|
+
returns(
|
|
106
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::TaggedSymbol
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
attr_accessor :status
|
|
110
|
+
|
|
111
|
+
# Cache outcome for this response. Composite responses are hits only when every
|
|
112
|
+
# cache-controlled fetch contributing to the output was a hit; age_ms is the
|
|
113
|
+
# oldest contributing hit.
|
|
114
|
+
sig do
|
|
115
|
+
params(
|
|
116
|
+
age_ms: Integer,
|
|
117
|
+
status:
|
|
118
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::OrSymbol
|
|
119
|
+
).returns(T.attached_class)
|
|
120
|
+
end
|
|
121
|
+
def self.new(
|
|
122
|
+
# Age of the cached data in milliseconds. Zero for miss and zdr responses.
|
|
123
|
+
age_ms:,
|
|
124
|
+
# Whether the response was served from cache, required fresh work, or honored
|
|
125
|
+
# zero-data-retention cache bypass.
|
|
126
|
+
status:
|
|
127
|
+
)
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
sig do
|
|
131
|
+
override.returns(
|
|
132
|
+
{
|
|
133
|
+
age_ms: Integer,
|
|
134
|
+
status:
|
|
135
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::TaggedSymbol
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
def to_hash
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Whether the response was served from cache, required fresh work, or honored
|
|
143
|
+
# zero-data-retention cache bypass.
|
|
144
|
+
module Status
|
|
145
|
+
extend ContextDev::Internal::Type::Enum
|
|
146
|
+
|
|
147
|
+
TaggedSymbol =
|
|
148
|
+
T.type_alias do
|
|
149
|
+
T.all(
|
|
150
|
+
Symbol,
|
|
151
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status
|
|
152
|
+
)
|
|
153
|
+
end
|
|
154
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
155
|
+
|
|
156
|
+
HIT =
|
|
157
|
+
T.let(
|
|
158
|
+
:hit,
|
|
159
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::TaggedSymbol
|
|
160
|
+
)
|
|
161
|
+
MISS =
|
|
162
|
+
T.let(
|
|
163
|
+
:miss,
|
|
164
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::TaggedSymbol
|
|
165
|
+
)
|
|
166
|
+
ZDR =
|
|
167
|
+
T.let(
|
|
168
|
+
:zdr,
|
|
169
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::TaggedSymbol
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
sig do
|
|
173
|
+
override.returns(
|
|
174
|
+
T::Array[
|
|
175
|
+
ContextDev::Models::WebSearchResponse::CacheMetadata::Status::TaggedSymbol
|
|
176
|
+
]
|
|
177
|
+
)
|
|
178
|
+
end
|
|
179
|
+
def self.values
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
67
184
|
class Result < ContextDev::Internal::Type::BaseModel
|
|
68
185
|
OrHash =
|
|
69
186
|
T.type_alias do
|
|
@@ -150,7 +150,9 @@ module ContextDev
|
|
|
150
150
|
sig { params(timeout_ms: Integer).void }
|
|
151
151
|
attr_writer :timeout_ms
|
|
152
152
|
|
|
153
|
-
# Regex pattern. Only URLs matching this pattern will be followed and scraped.
|
|
153
|
+
# Regex pattern. Only URLs matching this pattern will be followed and scraped. An
|
|
154
|
+
# automatic prefix scope in the form ^<starting URL> follows a redirect of the
|
|
155
|
+
# starting page.
|
|
154
156
|
sig { returns(T.nilable(String)) }
|
|
155
157
|
attr_reader :url_regex
|
|
156
158
|
|
|
@@ -165,8 +167,8 @@ module ContextDev
|
|
|
165
167
|
sig { params(use_main_content_only: T::Boolean).void }
|
|
166
168
|
attr_writer :use_main_content_only
|
|
167
169
|
|
|
168
|
-
#
|
|
169
|
-
#
|
|
170
|
+
# Browser wait time in milliseconds after initial page load for each crawled page.
|
|
171
|
+
# Defaults to 3500 (3.5 seconds). Min: 0. Max: 30000 (30 seconds).
|
|
170
172
|
sig { returns(T.nilable(Integer)) }
|
|
171
173
|
attr_reader :wait_for_ms
|
|
172
174
|
|
|
@@ -263,13 +265,15 @@ module ContextDev
|
|
|
263
265
|
# than this value, it will be aborted with a 408 status code. Maximum allowed
|
|
264
266
|
# value is 300000ms (5 minutes).
|
|
265
267
|
timeout_ms: nil,
|
|
266
|
-
# Regex pattern. Only URLs matching this pattern will be followed and scraped.
|
|
268
|
+
# Regex pattern. Only URLs matching this pattern will be followed and scraped. An
|
|
269
|
+
# automatic prefix scope in the form ^<starting URL> follows a redirect of the
|
|
270
|
+
# starting page.
|
|
267
271
|
url_regex: nil,
|
|
268
272
|
# Extract only the main content, stripping headers, footers, sidebars, and
|
|
269
273
|
# navigation
|
|
270
274
|
use_main_content_only: nil,
|
|
271
|
-
#
|
|
272
|
-
#
|
|
275
|
+
# Browser wait time in milliseconds after initial page load for each crawled page.
|
|
276
|
+
# Defaults to 3500 (3.5 seconds). Min: 0. Max: 30000 (30 seconds).
|
|
273
277
|
wait_for_ms: nil,
|
|
274
278
|
# Set to enabled to bypass shared caches and omit request and response content
|
|
275
279
|
# from retained usage logs. Requires zero data retention to be enabled for your
|
|
@@ -11,6 +11,20 @@ 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 { returns(ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata) }
|
|
18
|
+
attr_reader :cache_metadata
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
cache_metadata:
|
|
23
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::OrHash
|
|
24
|
+
).void
|
|
25
|
+
end
|
|
26
|
+
attr_writer :cache_metadata
|
|
27
|
+
|
|
14
28
|
sig { returns(ContextDev::Models::WebWebCrawlMdResponse::Metadata) }
|
|
15
29
|
attr_reader :metadata
|
|
16
30
|
|
|
@@ -45,6 +59,8 @@ module ContextDev
|
|
|
45
59
|
|
|
46
60
|
sig do
|
|
47
61
|
params(
|
|
62
|
+
cache_metadata:
|
|
63
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::OrHash,
|
|
48
64
|
metadata: ContextDev::Models::WebWebCrawlMdResponse::Metadata::OrHash,
|
|
49
65
|
results:
|
|
50
66
|
T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result::OrHash],
|
|
@@ -53,6 +69,10 @@ module ContextDev
|
|
|
53
69
|
).returns(T.attached_class)
|
|
54
70
|
end
|
|
55
71
|
def self.new(
|
|
72
|
+
# Cache outcome for this response. Composite responses are hits only when every
|
|
73
|
+
# cache-controlled fetch contributing to the output was a hit; age_ms is the
|
|
74
|
+
# oldest contributing hit.
|
|
75
|
+
cache_metadata:,
|
|
56
76
|
metadata:,
|
|
57
77
|
results:,
|
|
58
78
|
# Metadata about the API key used for the request. Included in every response
|
|
@@ -64,6 +84,8 @@ module ContextDev
|
|
|
64
84
|
sig do
|
|
65
85
|
override.returns(
|
|
66
86
|
{
|
|
87
|
+
cache_metadata:
|
|
88
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata,
|
|
67
89
|
metadata: ContextDev::Models::WebWebCrawlMdResponse::Metadata,
|
|
68
90
|
results:
|
|
69
91
|
T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result],
|
|
@@ -74,6 +96,101 @@ module ContextDev
|
|
|
74
96
|
def to_hash
|
|
75
97
|
end
|
|
76
98
|
|
|
99
|
+
class CacheMetadata < ContextDev::Internal::Type::BaseModel
|
|
100
|
+
OrHash =
|
|
101
|
+
T.type_alias do
|
|
102
|
+
T.any(
|
|
103
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata,
|
|
104
|
+
ContextDev::Internal::AnyHash
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Age of the cached data in milliseconds. Zero for miss and zdr responses.
|
|
109
|
+
sig { returns(Integer) }
|
|
110
|
+
attr_accessor :age_ms
|
|
111
|
+
|
|
112
|
+
# Whether the response was served from cache, required fresh work, or honored
|
|
113
|
+
# zero-data-retention cache bypass.
|
|
114
|
+
sig do
|
|
115
|
+
returns(
|
|
116
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::TaggedSymbol
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
attr_accessor :status
|
|
120
|
+
|
|
121
|
+
# Cache outcome for this response. Composite responses are hits only when every
|
|
122
|
+
# cache-controlled fetch contributing to the output was a hit; age_ms is the
|
|
123
|
+
# oldest contributing hit.
|
|
124
|
+
sig do
|
|
125
|
+
params(
|
|
126
|
+
age_ms: Integer,
|
|
127
|
+
status:
|
|
128
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::OrSymbol
|
|
129
|
+
).returns(T.attached_class)
|
|
130
|
+
end
|
|
131
|
+
def self.new(
|
|
132
|
+
# Age of the cached data in milliseconds. Zero for miss and zdr responses.
|
|
133
|
+
age_ms:,
|
|
134
|
+
# Whether the response was served from cache, required fresh work, or honored
|
|
135
|
+
# zero-data-retention cache bypass.
|
|
136
|
+
status:
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
sig do
|
|
141
|
+
override.returns(
|
|
142
|
+
{
|
|
143
|
+
age_ms: Integer,
|
|
144
|
+
status:
|
|
145
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::TaggedSymbol
|
|
146
|
+
}
|
|
147
|
+
)
|
|
148
|
+
end
|
|
149
|
+
def to_hash
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Whether the response was served from cache, required fresh work, or honored
|
|
153
|
+
# zero-data-retention cache bypass.
|
|
154
|
+
module Status
|
|
155
|
+
extend ContextDev::Internal::Type::Enum
|
|
156
|
+
|
|
157
|
+
TaggedSymbol =
|
|
158
|
+
T.type_alias do
|
|
159
|
+
T.all(
|
|
160
|
+
Symbol,
|
|
161
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status
|
|
162
|
+
)
|
|
163
|
+
end
|
|
164
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
165
|
+
|
|
166
|
+
HIT =
|
|
167
|
+
T.let(
|
|
168
|
+
:hit,
|
|
169
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::TaggedSymbol
|
|
170
|
+
)
|
|
171
|
+
MISS =
|
|
172
|
+
T.let(
|
|
173
|
+
:miss,
|
|
174
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::TaggedSymbol
|
|
175
|
+
)
|
|
176
|
+
ZDR =
|
|
177
|
+
T.let(
|
|
178
|
+
:zdr,
|
|
179
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::TaggedSymbol
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
sig do
|
|
183
|
+
override.returns(
|
|
184
|
+
T::Array[
|
|
185
|
+
ContextDev::Models::WebWebCrawlMdResponse::CacheMetadata::Status::TaggedSymbol
|
|
186
|
+
]
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
def self.values
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
|
|
77
194
|
class Metadata < ContextDev::Internal::Type::BaseModel
|
|
78
195
|
OrHash =
|
|
79
196
|
T.type_alias do
|
|
@@ -27,7 +27,8 @@ module ContextDev
|
|
|
27
27
|
T::Array[
|
|
28
28
|
T.any(
|
|
29
29
|
ContextDev::WebWebScrapeHTMLParams::Action::Wait,
|
|
30
|
-
ContextDev::WebWebScrapeHTMLParams::Action::Perform
|
|
30
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Perform,
|
|
31
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll
|
|
31
32
|
)
|
|
32
33
|
]
|
|
33
34
|
)
|
|
@@ -155,7 +156,8 @@ module ContextDev
|
|
|
155
156
|
T::Array[
|
|
156
157
|
T.any(
|
|
157
158
|
ContextDev::WebWebScrapeHTMLParams::Action::Wait::OrHash,
|
|
158
|
-
ContextDev::WebWebScrapeHTMLParams::Action::Perform::OrHash
|
|
159
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Perform::OrHash,
|
|
160
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::OrHash
|
|
159
161
|
)
|
|
160
162
|
]
|
|
161
163
|
),
|
|
@@ -242,7 +244,8 @@ module ContextDev
|
|
|
242
244
|
T::Array[
|
|
243
245
|
T.any(
|
|
244
246
|
ContextDev::WebWebScrapeHTMLParams::Action::Wait,
|
|
245
|
-
ContextDev::WebWebScrapeHTMLParams::Action::Perform
|
|
247
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Perform,
|
|
248
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll
|
|
246
249
|
)
|
|
247
250
|
]
|
|
248
251
|
),
|
|
@@ -275,7 +278,8 @@ module ContextDev
|
|
|
275
278
|
T.type_alias do
|
|
276
279
|
T.any(
|
|
277
280
|
ContextDev::WebWebScrapeHTMLParams::Action::Wait,
|
|
278
|
-
ContextDev::WebWebScrapeHTMLParams::Action::Perform
|
|
281
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Perform,
|
|
282
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll
|
|
279
283
|
)
|
|
280
284
|
end
|
|
281
285
|
|
|
@@ -331,6 +335,216 @@ module ContextDev
|
|
|
331
335
|
end
|
|
332
336
|
end
|
|
333
337
|
|
|
338
|
+
class Scroll < ContextDev::Internal::Type::BaseModel
|
|
339
|
+
OrHash =
|
|
340
|
+
T.type_alias do
|
|
341
|
+
T.any(
|
|
342
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll,
|
|
343
|
+
ContextDev::Internal::AnyHash
|
|
344
|
+
)
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
sig { returns(Symbol) }
|
|
348
|
+
attr_accessor :do_
|
|
349
|
+
|
|
350
|
+
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
351
|
+
# Defaults to viewport.
|
|
352
|
+
sig do
|
|
353
|
+
returns(
|
|
354
|
+
T.nilable(
|
|
355
|
+
T.any(
|
|
356
|
+
Integer,
|
|
357
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::OrSymbol
|
|
358
|
+
)
|
|
359
|
+
)
|
|
360
|
+
)
|
|
361
|
+
end
|
|
362
|
+
attr_reader :amount
|
|
363
|
+
|
|
364
|
+
sig do
|
|
365
|
+
params(
|
|
366
|
+
amount:
|
|
367
|
+
T.any(
|
|
368
|
+
Integer,
|
|
369
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::OrSymbol
|
|
370
|
+
)
|
|
371
|
+
).void
|
|
372
|
+
end
|
|
373
|
+
attr_writer :amount
|
|
374
|
+
|
|
375
|
+
# CSS selector for the first matching scroll container. Defaults to the page.
|
|
376
|
+
sig { returns(T.nilable(String)) }
|
|
377
|
+
attr_reader :container
|
|
378
|
+
|
|
379
|
+
sig { params(container: String).void }
|
|
380
|
+
attr_writer :container
|
|
381
|
+
|
|
382
|
+
# Direction to scroll. Defaults to down.
|
|
383
|
+
sig do
|
|
384
|
+
returns(
|
|
385
|
+
T.nilable(
|
|
386
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::OrSymbol
|
|
387
|
+
)
|
|
388
|
+
)
|
|
389
|
+
end
|
|
390
|
+
attr_reader :direction
|
|
391
|
+
|
|
392
|
+
sig do
|
|
393
|
+
params(
|
|
394
|
+
direction:
|
|
395
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::OrSymbol
|
|
396
|
+
).void
|
|
397
|
+
end
|
|
398
|
+
attr_writer :direction
|
|
399
|
+
|
|
400
|
+
# Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
|
|
401
|
+
# changing. Defaults to 1.
|
|
402
|
+
sig { returns(T.nilable(Integer)) }
|
|
403
|
+
attr_reader :max_scrolls
|
|
404
|
+
|
|
405
|
+
sig { params(max_scrolls: Integer).void }
|
|
406
|
+
attr_writer :max_scrolls
|
|
407
|
+
|
|
408
|
+
# Scroll the page or a selected scrollable container, waiting adaptively for
|
|
409
|
+
# content and dimensions to settle after each iteration.
|
|
410
|
+
sig do
|
|
411
|
+
params(
|
|
412
|
+
amount:
|
|
413
|
+
T.any(
|
|
414
|
+
Integer,
|
|
415
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::OrSymbol
|
|
416
|
+
),
|
|
417
|
+
container: String,
|
|
418
|
+
direction:
|
|
419
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::OrSymbol,
|
|
420
|
+
max_scrolls: Integer,
|
|
421
|
+
do_: Symbol
|
|
422
|
+
).returns(T.attached_class)
|
|
423
|
+
end
|
|
424
|
+
def self.new(
|
|
425
|
+
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
426
|
+
# Defaults to viewport.
|
|
427
|
+
amount: nil,
|
|
428
|
+
# CSS selector for the first matching scroll container. Defaults to the page.
|
|
429
|
+
container: nil,
|
|
430
|
+
# Direction to scroll. Defaults to down.
|
|
431
|
+
direction: nil,
|
|
432
|
+
# Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
|
|
433
|
+
# changing. Defaults to 1.
|
|
434
|
+
max_scrolls: nil,
|
|
435
|
+
do_: :scroll
|
|
436
|
+
)
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
sig do
|
|
440
|
+
override.returns(
|
|
441
|
+
{
|
|
442
|
+
do_: Symbol,
|
|
443
|
+
amount:
|
|
444
|
+
T.any(
|
|
445
|
+
Integer,
|
|
446
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::OrSymbol
|
|
447
|
+
),
|
|
448
|
+
container: String,
|
|
449
|
+
direction:
|
|
450
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::OrSymbol,
|
|
451
|
+
max_scrolls: Integer
|
|
452
|
+
}
|
|
453
|
+
)
|
|
454
|
+
end
|
|
455
|
+
def to_hash
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
459
|
+
# Defaults to viewport.
|
|
460
|
+
module Amount
|
|
461
|
+
extend ContextDev::Internal::Type::Union
|
|
462
|
+
|
|
463
|
+
Variants =
|
|
464
|
+
T.type_alias do
|
|
465
|
+
T.any(
|
|
466
|
+
Integer,
|
|
467
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::TaggedSymbol
|
|
468
|
+
)
|
|
469
|
+
end
|
|
470
|
+
|
|
471
|
+
sig do
|
|
472
|
+
override.returns(
|
|
473
|
+
T::Array[
|
|
474
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::Variants
|
|
475
|
+
]
|
|
476
|
+
)
|
|
477
|
+
end
|
|
478
|
+
def self.variants
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
TaggedSymbol =
|
|
482
|
+
T.type_alias do
|
|
483
|
+
T.all(
|
|
484
|
+
Symbol,
|
|
485
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount
|
|
486
|
+
)
|
|
487
|
+
end
|
|
488
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
489
|
+
|
|
490
|
+
VIEWPORT =
|
|
491
|
+
T.let(
|
|
492
|
+
:viewport,
|
|
493
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::TaggedSymbol
|
|
494
|
+
)
|
|
495
|
+
MAX =
|
|
496
|
+
T.let(
|
|
497
|
+
:max,
|
|
498
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Amount::TaggedSymbol
|
|
499
|
+
)
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
# Direction to scroll. Defaults to down.
|
|
503
|
+
module Direction
|
|
504
|
+
extend ContextDev::Internal::Type::Enum
|
|
505
|
+
|
|
506
|
+
TaggedSymbol =
|
|
507
|
+
T.type_alias do
|
|
508
|
+
T.all(
|
|
509
|
+
Symbol,
|
|
510
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction
|
|
511
|
+
)
|
|
512
|
+
end
|
|
513
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
514
|
+
|
|
515
|
+
UP =
|
|
516
|
+
T.let(
|
|
517
|
+
:up,
|
|
518
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::TaggedSymbol
|
|
519
|
+
)
|
|
520
|
+
DOWN =
|
|
521
|
+
T.let(
|
|
522
|
+
:down,
|
|
523
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::TaggedSymbol
|
|
524
|
+
)
|
|
525
|
+
LEFT =
|
|
526
|
+
T.let(
|
|
527
|
+
:left,
|
|
528
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::TaggedSymbol
|
|
529
|
+
)
|
|
530
|
+
RIGHT =
|
|
531
|
+
T.let(
|
|
532
|
+
:right,
|
|
533
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::TaggedSymbol
|
|
534
|
+
)
|
|
535
|
+
|
|
536
|
+
sig do
|
|
537
|
+
override.returns(
|
|
538
|
+
T::Array[
|
|
539
|
+
ContextDev::WebWebScrapeHTMLParams::Action::Scroll::Direction::TaggedSymbol
|
|
540
|
+
]
|
|
541
|
+
)
|
|
542
|
+
end
|
|
543
|
+
def self.values
|
|
544
|
+
end
|
|
545
|
+
end
|
|
546
|
+
end
|
|
547
|
+
|
|
334
548
|
sig do
|
|
335
549
|
override.returns(
|
|
336
550
|
T::Array[ContextDev::WebWebScrapeHTMLParams::Action::Variants]
|