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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +220 -0
- data/README.md +1 -1
- data/lib/context_dev/client.rb +0 -4
- data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
- data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
- data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
- data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
- data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
- data/lib/context_dev/models/web_map_urls_response.rb +123 -0
- data/lib/context_dev/models/web_scrape_params.rb +1035 -0
- data/lib/context_dev/models/web_scrape_response.rb +974 -0
- data/lib/context_dev/models/web_screenshot_params.rb +15 -1
- data/lib/context_dev/models/web_screenshot_response.rb +3 -3
- data/lib/context_dev/models.rb +8 -22
- data/lib/context_dev/resources/brand.rb +0 -36
- data/lib/context_dev/resources/monitors.rb +47 -0
- data/lib/context_dev/resources/web.rb +118 -486
- data/lib/context_dev/version.rb +1 -1
- data/lib/context_dev.rb +8 -23
- data/rbi/context_dev/client.rbi +0 -3
- data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
- data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
- data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
- data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
- data/rbi/context_dev/models/web_scrape_params.rbi +2221 -0
- data/rbi/context_dev/models/web_scrape_response.rbi +1874 -0
- data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
- data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
- data/rbi/context_dev/models.rbi +9 -24
- data/rbi/context_dev/resources/brand.rbi +0 -35
- data/rbi/context_dev/resources/monitors.rbi +24 -0
- data/rbi/context_dev/resources/web.rbi +152 -654
- data/sig/context_dev/client.rbs +0 -2
- data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
- data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
- data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
- data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
- data/sig/context_dev/models/web_scrape_params.rbs +925 -0
- data/sig/context_dev/models/web_scrape_response.rbs +782 -0
- data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
- data/sig/context_dev/models.rbs +8 -22
- data/sig/context_dev/resources/brand.rbs +0 -9
- data/sig/context_dev/resources/monitors.rbs +11 -0
- data/sig/context_dev/resources/web.rbs +33 -128
- metadata +26 -71
- data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
- data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
- data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
- data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
- data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
- data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
- data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
- data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
- data/lib/context_dev/models/web_extract_params.rb +0 -419
- data/lib/context_dev/models/web_extract_response.rb +0 -287
- data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
- data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
- data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
- data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
- data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
- data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
- data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
- data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
- data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
- data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
- data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
- data/lib/context_dev/resources/ai.rb +0 -71
- data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
- data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
- data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
- data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
- data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
- data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
- data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
- data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
- data/rbi/context_dev/models/web_extract_params.rbi +0 -781
- data/rbi/context_dev/models/web_extract_response.rbi +0 -512
- data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
- data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
- data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
- data/rbi/context_dev/models/web_web_scrape_html_response.rbi +0 -1287
- data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
- data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
- data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
- data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
- data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
- data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
- data/rbi/context_dev/resources/ai.rbi +0 -63
- data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
- data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
- data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
- data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
- data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
- data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
- data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
- data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
- data/sig/context_dev/models/web_extract_params.rbs +0 -324
- data/sig/context_dev/models/web_extract_response.rbs +0 -239
- data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
- data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
- data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
- data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
- data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
- data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
- data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
- data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
- data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
- data/sig/context_dev/resources/ai.rbs +0 -21
|
@@ -1,781 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module ContextDev
|
|
4
|
-
module Models
|
|
5
|
-
class WebExtractParams < ContextDev::Internal::Type::BaseModel
|
|
6
|
-
extend ContextDev::Internal::Type::RequestParameters::Converter
|
|
7
|
-
include ContextDev::Internal::Type::RequestParameters
|
|
8
|
-
|
|
9
|
-
OrHash =
|
|
10
|
-
T.type_alias do
|
|
11
|
-
T.any(ContextDev::WebExtractParams, ContextDev::Internal::AnyHash)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# JSON Schema for the returned data object. Image fields such as `image_urls` or
|
|
15
|
-
# `product_photos` automatically make page image references available to
|
|
16
|
-
# extraction, so product data and photos can be returned in one call. TypeScript
|
|
17
|
-
# Zod users can pass a JSON Schema generated from a Zod object; Python users can
|
|
18
|
-
# pass the equivalent JSON Schema object.
|
|
19
|
-
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
20
|
-
attr_accessor :schema
|
|
21
|
-
|
|
22
|
-
# The starting website URL to crawl and extract from. Must include http:// or
|
|
23
|
-
# https://.
|
|
24
|
-
sig { returns(String) }
|
|
25
|
-
attr_accessor :url
|
|
26
|
-
|
|
27
|
-
# Optional browser actions executed in order on the requested page after it loads,
|
|
28
|
-
# before links are discovered or additional pages are crawled. Requires a paid
|
|
29
|
-
# plan. When actions are provided and stopAfterMs is omitted, the crawl budget
|
|
30
|
-
# defaults to 110000 ms.
|
|
31
|
-
sig do
|
|
32
|
-
returns(
|
|
33
|
-
T.nilable(
|
|
34
|
-
T::Array[
|
|
35
|
-
T.any(
|
|
36
|
-
ContextDev::WebExtractParams::Action::Wait,
|
|
37
|
-
ContextDev::WebExtractParams::Action::Perform,
|
|
38
|
-
ContextDev::WebExtractParams::Action::Scroll
|
|
39
|
-
)
|
|
40
|
-
]
|
|
41
|
-
)
|
|
42
|
-
)
|
|
43
|
-
end
|
|
44
|
-
attr_reader :actions
|
|
45
|
-
|
|
46
|
-
sig do
|
|
47
|
-
params(
|
|
48
|
-
actions:
|
|
49
|
-
T::Array[
|
|
50
|
-
T.any(
|
|
51
|
-
ContextDev::WebExtractParams::Action::Wait::OrHash,
|
|
52
|
-
ContextDev::WebExtractParams::Action::Perform::OrHash,
|
|
53
|
-
ContextDev::WebExtractParams::Action::Scroll::OrHash
|
|
54
|
-
)
|
|
55
|
-
]
|
|
56
|
-
).void
|
|
57
|
-
end
|
|
58
|
-
attr_writer :actions
|
|
59
|
-
|
|
60
|
-
# When true, every returned value must be grounded in facts stated on the page;
|
|
61
|
-
# fields that cannot be supported by the page are returned as null/empty. When
|
|
62
|
-
# false (default), the model may make reasonable inferences and derivations from
|
|
63
|
-
# the page content (e.g. ideal customer, competitor analysis, recommendations)
|
|
64
|
-
# while keeping verifiable specifics (names, quotes, URLs, dates, metrics)
|
|
65
|
-
# faithful to the source.
|
|
66
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
67
|
-
attr_reader :fact_check
|
|
68
|
-
|
|
69
|
-
sig { params(fact_check: T::Boolean).void }
|
|
70
|
-
attr_writer :fact_check
|
|
71
|
-
|
|
72
|
-
# When true, follow links on subdomains of the starting URL's domain.
|
|
73
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
74
|
-
attr_reader :follow_subdomains
|
|
75
|
-
|
|
76
|
-
sig { params(follow_subdomains: T::Boolean).void }
|
|
77
|
-
attr_writer :follow_subdomains
|
|
78
|
-
|
|
79
|
-
# When true, iframe contents are included in Markdown before extraction.
|
|
80
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
81
|
-
attr_reader :include_frames
|
|
82
|
-
|
|
83
|
-
sig { params(include_frames: T::Boolean).void }
|
|
84
|
-
attr_writer :include_frames
|
|
85
|
-
|
|
86
|
-
# Optional extraction guidance, such as which facts to prioritize or how to
|
|
87
|
-
# interpret fields in the schema.
|
|
88
|
-
sig { returns(T.nilable(String)) }
|
|
89
|
-
attr_reader :instructions
|
|
90
|
-
|
|
91
|
-
sig { params(instructions: String).void }
|
|
92
|
-
attr_writer :instructions
|
|
93
|
-
|
|
94
|
-
# Return cached scrape results if a prior scrape for the same parameters is
|
|
95
|
-
# younger than this many milliseconds. Defaults to 7 days (604800000 ms).
|
|
96
|
-
sig { returns(T.nilable(Integer)) }
|
|
97
|
-
attr_reader :max_age_ms
|
|
98
|
-
|
|
99
|
-
sig { params(max_age_ms: Integer).void }
|
|
100
|
-
attr_writer :max_age_ms
|
|
101
|
-
|
|
102
|
-
# Optional maximum link depth from the starting URL (0 = only the starting page).
|
|
103
|
-
# If omitted, there is no crawl depth limit.
|
|
104
|
-
sig { returns(T.nilable(Integer)) }
|
|
105
|
-
attr_reader :max_depth
|
|
106
|
-
|
|
107
|
-
sig { params(max_depth: Integer).void }
|
|
108
|
-
attr_writer :max_depth
|
|
109
|
-
|
|
110
|
-
# Maximum number of pages to analyze for extraction. Hard cap: 50. Defaults to 5.
|
|
111
|
-
sig { returns(T.nilable(Integer)) }
|
|
112
|
-
attr_reader :max_pages
|
|
113
|
-
|
|
114
|
-
sig { params(max_pages: Integer).void }
|
|
115
|
-
attr_writer :max_pages
|
|
116
|
-
|
|
117
|
-
sig { returns(T.nilable(ContextDev::WebExtractParams::Pdf)) }
|
|
118
|
-
attr_reader :pdf
|
|
119
|
-
|
|
120
|
-
sig { params(pdf: ContextDev::WebExtractParams::Pdf::OrHash).void }
|
|
121
|
-
attr_writer :pdf
|
|
122
|
-
|
|
123
|
-
# When true, waits briefly for CSS and transition animations to settle before
|
|
124
|
-
# extracting each crawled page. Defaults to false. This adds a bit of latency in
|
|
125
|
-
# exchange for more stable output on animated pages.
|
|
126
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
127
|
-
attr_reader :settle_animations
|
|
128
|
-
|
|
129
|
-
sig { params(settle_animations: T::Boolean).void }
|
|
130
|
-
attr_writer :settle_animations
|
|
131
|
-
|
|
132
|
-
# Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000
|
|
133
|
-
# (110s). Defaults to 80000 (80s), or 110000 (110s) when browser actions are
|
|
134
|
-
# provided.
|
|
135
|
-
sig { returns(T.nilable(Integer)) }
|
|
136
|
-
attr_reader :stop_after_ms
|
|
137
|
-
|
|
138
|
-
sig { params(stop_after_ms: Integer).void }
|
|
139
|
-
attr_writer :stop_after_ms
|
|
140
|
-
|
|
141
|
-
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
142
|
-
sig { returns(T.nilable(T::Array[String])) }
|
|
143
|
-
attr_reader :tags
|
|
144
|
-
|
|
145
|
-
sig { params(tags: T::Array[String]).void }
|
|
146
|
-
attr_writer :tags
|
|
147
|
-
|
|
148
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
149
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
150
|
-
# timeoutOpts object.
|
|
151
|
-
sig { returns(T.nilable(ContextDev::WebExtractParams::TimeoutOpts)) }
|
|
152
|
-
attr_reader :timeout_opts
|
|
153
|
-
|
|
154
|
-
sig do
|
|
155
|
-
params(
|
|
156
|
-
timeout_opts: ContextDev::WebExtractParams::TimeoutOpts::OrHash
|
|
157
|
-
).void
|
|
158
|
-
end
|
|
159
|
-
attr_writer :timeout_opts
|
|
160
|
-
|
|
161
|
-
# Optional browser wait time in milliseconds after initial page load for each
|
|
162
|
-
# crawled page.
|
|
163
|
-
sig { returns(T.nilable(Integer)) }
|
|
164
|
-
attr_reader :wait_for_ms
|
|
165
|
-
|
|
166
|
-
sig { params(wait_for_ms: Integer).void }
|
|
167
|
-
attr_writer :wait_for_ms
|
|
168
|
-
|
|
169
|
-
# Set to enabled to bypass shared caches and omit request and response content
|
|
170
|
-
# from retained usage logs. Asset uploads are skipped, so hosted image URLs are
|
|
171
|
-
# omitted. Requires zero data retention to be enabled for your organization
|
|
172
|
-
# (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
|
|
173
|
-
# Successful ZDR responses include X-Context-ZDR: true.
|
|
174
|
-
sig { returns(T.nilable(ContextDev::WebExtractParams::Zdr::OrSymbol)) }
|
|
175
|
-
attr_reader :zdr
|
|
176
|
-
|
|
177
|
-
sig { params(zdr: ContextDev::WebExtractParams::Zdr::OrSymbol).void }
|
|
178
|
-
attr_writer :zdr
|
|
179
|
-
|
|
180
|
-
sig do
|
|
181
|
-
params(
|
|
182
|
-
schema: T::Hash[Symbol, T.anything],
|
|
183
|
-
url: String,
|
|
184
|
-
actions:
|
|
185
|
-
T::Array[
|
|
186
|
-
T.any(
|
|
187
|
-
ContextDev::WebExtractParams::Action::Wait::OrHash,
|
|
188
|
-
ContextDev::WebExtractParams::Action::Perform::OrHash,
|
|
189
|
-
ContextDev::WebExtractParams::Action::Scroll::OrHash
|
|
190
|
-
)
|
|
191
|
-
],
|
|
192
|
-
fact_check: T::Boolean,
|
|
193
|
-
follow_subdomains: T::Boolean,
|
|
194
|
-
include_frames: T::Boolean,
|
|
195
|
-
instructions: String,
|
|
196
|
-
max_age_ms: Integer,
|
|
197
|
-
max_depth: Integer,
|
|
198
|
-
max_pages: Integer,
|
|
199
|
-
pdf: ContextDev::WebExtractParams::Pdf::OrHash,
|
|
200
|
-
settle_animations: T::Boolean,
|
|
201
|
-
stop_after_ms: Integer,
|
|
202
|
-
tags: T::Array[String],
|
|
203
|
-
timeout_opts: ContextDev::WebExtractParams::TimeoutOpts::OrHash,
|
|
204
|
-
wait_for_ms: Integer,
|
|
205
|
-
zdr: ContextDev::WebExtractParams::Zdr::OrSymbol,
|
|
206
|
-
request_options: ContextDev::RequestOptions::OrHash
|
|
207
|
-
).returns(T.attached_class)
|
|
208
|
-
end
|
|
209
|
-
def self.new(
|
|
210
|
-
# JSON Schema for the returned data object. Image fields such as `image_urls` or
|
|
211
|
-
# `product_photos` automatically make page image references available to
|
|
212
|
-
# extraction, so product data and photos can be returned in one call. TypeScript
|
|
213
|
-
# Zod users can pass a JSON Schema generated from a Zod object; Python users can
|
|
214
|
-
# pass the equivalent JSON Schema object.
|
|
215
|
-
schema:,
|
|
216
|
-
# The starting website URL to crawl and extract from. Must include http:// or
|
|
217
|
-
# https://.
|
|
218
|
-
url:,
|
|
219
|
-
# Optional browser actions executed in order on the requested page after it loads,
|
|
220
|
-
# before links are discovered or additional pages are crawled. Requires a paid
|
|
221
|
-
# plan. When actions are provided and stopAfterMs is omitted, the crawl budget
|
|
222
|
-
# defaults to 110000 ms.
|
|
223
|
-
actions: nil,
|
|
224
|
-
# When true, every returned value must be grounded in facts stated on the page;
|
|
225
|
-
# fields that cannot be supported by the page are returned as null/empty. When
|
|
226
|
-
# false (default), the model may make reasonable inferences and derivations from
|
|
227
|
-
# the page content (e.g. ideal customer, competitor analysis, recommendations)
|
|
228
|
-
# while keeping verifiable specifics (names, quotes, URLs, dates, metrics)
|
|
229
|
-
# faithful to the source.
|
|
230
|
-
fact_check: nil,
|
|
231
|
-
# When true, follow links on subdomains of the starting URL's domain.
|
|
232
|
-
follow_subdomains: nil,
|
|
233
|
-
# When true, iframe contents are included in Markdown before extraction.
|
|
234
|
-
include_frames: nil,
|
|
235
|
-
# Optional extraction guidance, such as which facts to prioritize or how to
|
|
236
|
-
# interpret fields in the schema.
|
|
237
|
-
instructions: nil,
|
|
238
|
-
# Return cached scrape results if a prior scrape for the same parameters is
|
|
239
|
-
# younger than this many milliseconds. Defaults to 7 days (604800000 ms).
|
|
240
|
-
max_age_ms: nil,
|
|
241
|
-
# Optional maximum link depth from the starting URL (0 = only the starting page).
|
|
242
|
-
# If omitted, there is no crawl depth limit.
|
|
243
|
-
max_depth: nil,
|
|
244
|
-
# Maximum number of pages to analyze for extraction. Hard cap: 50. Defaults to 5.
|
|
245
|
-
max_pages: nil,
|
|
246
|
-
pdf: nil,
|
|
247
|
-
# When true, waits briefly for CSS and transition animations to settle before
|
|
248
|
-
# extracting each crawled page. Defaults to false. This adds a bit of latency in
|
|
249
|
-
# exchange for more stable output on animated pages.
|
|
250
|
-
settle_animations: nil,
|
|
251
|
-
# Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000
|
|
252
|
-
# (110s). Defaults to 80000 (80s), or 110000 (110s) when browser actions are
|
|
253
|
-
# provided.
|
|
254
|
-
stop_after_ms: nil,
|
|
255
|
-
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
256
|
-
tags: nil,
|
|
257
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
258
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
259
|
-
# timeoutOpts object.
|
|
260
|
-
timeout_opts: nil,
|
|
261
|
-
# Optional browser wait time in milliseconds after initial page load for each
|
|
262
|
-
# crawled page.
|
|
263
|
-
wait_for_ms: nil,
|
|
264
|
-
# Set to enabled to bypass shared caches and omit request and response content
|
|
265
|
-
# from retained usage logs. Asset uploads are skipped, so hosted image URLs are
|
|
266
|
-
# omitted. Requires zero data retention to be enabled for your organization
|
|
267
|
-
# (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
|
|
268
|
-
# Successful ZDR responses include X-Context-ZDR: true.
|
|
269
|
-
zdr: nil,
|
|
270
|
-
request_options: {}
|
|
271
|
-
)
|
|
272
|
-
end
|
|
273
|
-
|
|
274
|
-
sig do
|
|
275
|
-
override.returns(
|
|
276
|
-
{
|
|
277
|
-
schema: T::Hash[Symbol, T.anything],
|
|
278
|
-
url: String,
|
|
279
|
-
actions:
|
|
280
|
-
T::Array[
|
|
281
|
-
T.any(
|
|
282
|
-
ContextDev::WebExtractParams::Action::Wait,
|
|
283
|
-
ContextDev::WebExtractParams::Action::Perform,
|
|
284
|
-
ContextDev::WebExtractParams::Action::Scroll
|
|
285
|
-
)
|
|
286
|
-
],
|
|
287
|
-
fact_check: T::Boolean,
|
|
288
|
-
follow_subdomains: T::Boolean,
|
|
289
|
-
include_frames: T::Boolean,
|
|
290
|
-
instructions: String,
|
|
291
|
-
max_age_ms: Integer,
|
|
292
|
-
max_depth: Integer,
|
|
293
|
-
max_pages: Integer,
|
|
294
|
-
pdf: ContextDev::WebExtractParams::Pdf,
|
|
295
|
-
settle_animations: T::Boolean,
|
|
296
|
-
stop_after_ms: Integer,
|
|
297
|
-
tags: T::Array[String],
|
|
298
|
-
timeout_opts: ContextDev::WebExtractParams::TimeoutOpts,
|
|
299
|
-
wait_for_ms: Integer,
|
|
300
|
-
zdr: ContextDev::WebExtractParams::Zdr::OrSymbol,
|
|
301
|
-
request_options: ContextDev::RequestOptions
|
|
302
|
-
}
|
|
303
|
-
)
|
|
304
|
-
end
|
|
305
|
-
def to_hash
|
|
306
|
-
end
|
|
307
|
-
|
|
308
|
-
# Browser action discriminated by `do`. Each variant exposes only its applicable
|
|
309
|
-
# fields.
|
|
310
|
-
module Action
|
|
311
|
-
extend ContextDev::Internal::Type::Union
|
|
312
|
-
|
|
313
|
-
Variants =
|
|
314
|
-
T.type_alias do
|
|
315
|
-
T.any(
|
|
316
|
-
ContextDev::WebExtractParams::Action::Wait,
|
|
317
|
-
ContextDev::WebExtractParams::Action::Perform,
|
|
318
|
-
ContextDev::WebExtractParams::Action::Scroll
|
|
319
|
-
)
|
|
320
|
-
end
|
|
321
|
-
|
|
322
|
-
class Wait < ContextDev::Internal::Type::BaseModel
|
|
323
|
-
OrHash =
|
|
324
|
-
T.type_alias do
|
|
325
|
-
T.any(
|
|
326
|
-
ContextDev::WebExtractParams::Action::Wait,
|
|
327
|
-
ContextDev::Internal::AnyHash
|
|
328
|
-
)
|
|
329
|
-
end
|
|
330
|
-
|
|
331
|
-
sig { returns(Symbol) }
|
|
332
|
-
attr_accessor :do_
|
|
333
|
-
|
|
334
|
-
sig { returns(Integer) }
|
|
335
|
-
attr_accessor :time_ms
|
|
336
|
-
|
|
337
|
-
# Pause for a fixed number of milliseconds before continuing to the next action.
|
|
338
|
-
sig do
|
|
339
|
-
params(time_ms: Integer, do_: Symbol).returns(T.attached_class)
|
|
340
|
-
end
|
|
341
|
-
def self.new(time_ms:, do_: :wait)
|
|
342
|
-
end
|
|
343
|
-
|
|
344
|
-
sig { override.returns({ do_: Symbol, time_ms: Integer }) }
|
|
345
|
-
def to_hash
|
|
346
|
-
end
|
|
347
|
-
end
|
|
348
|
-
|
|
349
|
-
class Perform < ContextDev::Internal::Type::BaseModel
|
|
350
|
-
OrHash =
|
|
351
|
-
T.type_alias do
|
|
352
|
-
T.any(
|
|
353
|
-
ContextDev::WebExtractParams::Action::Perform,
|
|
354
|
-
ContextDev::Internal::AnyHash
|
|
355
|
-
)
|
|
356
|
-
end
|
|
357
|
-
|
|
358
|
-
sig { returns(String) }
|
|
359
|
-
attr_accessor :action
|
|
360
|
-
|
|
361
|
-
sig { returns(Symbol) }
|
|
362
|
-
attr_accessor :do_
|
|
363
|
-
|
|
364
|
-
# Resolve and perform one natural-language browser action.
|
|
365
|
-
sig { params(action: String, do_: Symbol).returns(T.attached_class) }
|
|
366
|
-
def self.new(action:, do_: :perform)
|
|
367
|
-
end
|
|
368
|
-
|
|
369
|
-
sig { override.returns({ action: String, do_: Symbol }) }
|
|
370
|
-
def to_hash
|
|
371
|
-
end
|
|
372
|
-
end
|
|
373
|
-
|
|
374
|
-
class Scroll < ContextDev::Internal::Type::BaseModel
|
|
375
|
-
OrHash =
|
|
376
|
-
T.type_alias do
|
|
377
|
-
T.any(
|
|
378
|
-
ContextDev::WebExtractParams::Action::Scroll,
|
|
379
|
-
ContextDev::Internal::AnyHash
|
|
380
|
-
)
|
|
381
|
-
end
|
|
382
|
-
|
|
383
|
-
sig { returns(Symbol) }
|
|
384
|
-
attr_accessor :do_
|
|
385
|
-
|
|
386
|
-
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
387
|
-
# Defaults to viewport.
|
|
388
|
-
sig do
|
|
389
|
-
returns(
|
|
390
|
-
T.nilable(
|
|
391
|
-
T.any(
|
|
392
|
-
Integer,
|
|
393
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::OrSymbol
|
|
394
|
-
)
|
|
395
|
-
)
|
|
396
|
-
)
|
|
397
|
-
end
|
|
398
|
-
attr_reader :amount
|
|
399
|
-
|
|
400
|
-
sig do
|
|
401
|
-
params(
|
|
402
|
-
amount:
|
|
403
|
-
T.any(
|
|
404
|
-
Integer,
|
|
405
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::OrSymbol
|
|
406
|
-
)
|
|
407
|
-
).void
|
|
408
|
-
end
|
|
409
|
-
attr_writer :amount
|
|
410
|
-
|
|
411
|
-
# CSS selector for the first matching scroll container. Defaults to the page.
|
|
412
|
-
sig { returns(T.nilable(String)) }
|
|
413
|
-
attr_reader :container
|
|
414
|
-
|
|
415
|
-
sig { params(container: String).void }
|
|
416
|
-
attr_writer :container
|
|
417
|
-
|
|
418
|
-
# Direction to scroll. Defaults to down.
|
|
419
|
-
sig do
|
|
420
|
-
returns(
|
|
421
|
-
T.nilable(
|
|
422
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::OrSymbol
|
|
423
|
-
)
|
|
424
|
-
)
|
|
425
|
-
end
|
|
426
|
-
attr_reader :direction
|
|
427
|
-
|
|
428
|
-
sig do
|
|
429
|
-
params(
|
|
430
|
-
direction:
|
|
431
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::OrSymbol
|
|
432
|
-
).void
|
|
433
|
-
end
|
|
434
|
-
attr_writer :direction
|
|
435
|
-
|
|
436
|
-
# Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
|
|
437
|
-
# changing. Defaults to 1.
|
|
438
|
-
sig { returns(T.nilable(Integer)) }
|
|
439
|
-
attr_reader :max_scrolls
|
|
440
|
-
|
|
441
|
-
sig { params(max_scrolls: Integer).void }
|
|
442
|
-
attr_writer :max_scrolls
|
|
443
|
-
|
|
444
|
-
# Scroll the page or a selected scrollable container, waiting adaptively for
|
|
445
|
-
# content and dimensions to settle after each iteration.
|
|
446
|
-
sig do
|
|
447
|
-
params(
|
|
448
|
-
amount:
|
|
449
|
-
T.any(
|
|
450
|
-
Integer,
|
|
451
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::OrSymbol
|
|
452
|
-
),
|
|
453
|
-
container: String,
|
|
454
|
-
direction:
|
|
455
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::OrSymbol,
|
|
456
|
-
max_scrolls: Integer,
|
|
457
|
-
do_: Symbol
|
|
458
|
-
).returns(T.attached_class)
|
|
459
|
-
end
|
|
460
|
-
def self.new(
|
|
461
|
-
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
462
|
-
# Defaults to viewport.
|
|
463
|
-
amount: nil,
|
|
464
|
-
# CSS selector for the first matching scroll container. Defaults to the page.
|
|
465
|
-
container: nil,
|
|
466
|
-
# Direction to scroll. Defaults to down.
|
|
467
|
-
direction: nil,
|
|
468
|
-
# Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
|
|
469
|
-
# changing. Defaults to 1.
|
|
470
|
-
max_scrolls: nil,
|
|
471
|
-
do_: :scroll
|
|
472
|
-
)
|
|
473
|
-
end
|
|
474
|
-
|
|
475
|
-
sig do
|
|
476
|
-
override.returns(
|
|
477
|
-
{
|
|
478
|
-
do_: Symbol,
|
|
479
|
-
amount:
|
|
480
|
-
T.any(
|
|
481
|
-
Integer,
|
|
482
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::OrSymbol
|
|
483
|
-
),
|
|
484
|
-
container: String,
|
|
485
|
-
direction:
|
|
486
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::OrSymbol,
|
|
487
|
-
max_scrolls: Integer
|
|
488
|
-
}
|
|
489
|
-
)
|
|
490
|
-
end
|
|
491
|
-
def to_hash
|
|
492
|
-
end
|
|
493
|
-
|
|
494
|
-
# Pixels per scroll, one visible viewport, or the current scroll boundary.
|
|
495
|
-
# Defaults to viewport.
|
|
496
|
-
module Amount
|
|
497
|
-
extend ContextDev::Internal::Type::Union
|
|
498
|
-
|
|
499
|
-
Variants =
|
|
500
|
-
T.type_alias do
|
|
501
|
-
T.any(
|
|
502
|
-
Integer,
|
|
503
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::TaggedSymbol
|
|
504
|
-
)
|
|
505
|
-
end
|
|
506
|
-
|
|
507
|
-
sig do
|
|
508
|
-
override.returns(
|
|
509
|
-
T::Array[
|
|
510
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::Variants
|
|
511
|
-
]
|
|
512
|
-
)
|
|
513
|
-
end
|
|
514
|
-
def self.variants
|
|
515
|
-
end
|
|
516
|
-
|
|
517
|
-
TaggedSymbol =
|
|
518
|
-
T.type_alias do
|
|
519
|
-
T.all(
|
|
520
|
-
Symbol,
|
|
521
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount
|
|
522
|
-
)
|
|
523
|
-
end
|
|
524
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
525
|
-
|
|
526
|
-
VIEWPORT =
|
|
527
|
-
T.let(
|
|
528
|
-
:viewport,
|
|
529
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::TaggedSymbol
|
|
530
|
-
)
|
|
531
|
-
MAX =
|
|
532
|
-
T.let(
|
|
533
|
-
:max,
|
|
534
|
-
ContextDev::WebExtractParams::Action::Scroll::Amount::TaggedSymbol
|
|
535
|
-
)
|
|
536
|
-
end
|
|
537
|
-
|
|
538
|
-
# Direction to scroll. Defaults to down.
|
|
539
|
-
module Direction
|
|
540
|
-
extend ContextDev::Internal::Type::Enum
|
|
541
|
-
|
|
542
|
-
TaggedSymbol =
|
|
543
|
-
T.type_alias do
|
|
544
|
-
T.all(
|
|
545
|
-
Symbol,
|
|
546
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction
|
|
547
|
-
)
|
|
548
|
-
end
|
|
549
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
550
|
-
|
|
551
|
-
UP =
|
|
552
|
-
T.let(
|
|
553
|
-
:up,
|
|
554
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::TaggedSymbol
|
|
555
|
-
)
|
|
556
|
-
DOWN =
|
|
557
|
-
T.let(
|
|
558
|
-
:down,
|
|
559
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::TaggedSymbol
|
|
560
|
-
)
|
|
561
|
-
LEFT =
|
|
562
|
-
T.let(
|
|
563
|
-
:left,
|
|
564
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::TaggedSymbol
|
|
565
|
-
)
|
|
566
|
-
RIGHT =
|
|
567
|
-
T.let(
|
|
568
|
-
:right,
|
|
569
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::TaggedSymbol
|
|
570
|
-
)
|
|
571
|
-
|
|
572
|
-
sig do
|
|
573
|
-
override.returns(
|
|
574
|
-
T::Array[
|
|
575
|
-
ContextDev::WebExtractParams::Action::Scroll::Direction::TaggedSymbol
|
|
576
|
-
]
|
|
577
|
-
)
|
|
578
|
-
end
|
|
579
|
-
def self.values
|
|
580
|
-
end
|
|
581
|
-
end
|
|
582
|
-
end
|
|
583
|
-
|
|
584
|
-
sig do
|
|
585
|
-
override.returns(
|
|
586
|
-
T::Array[ContextDev::WebExtractParams::Action::Variants]
|
|
587
|
-
)
|
|
588
|
-
end
|
|
589
|
-
def self.variants
|
|
590
|
-
end
|
|
591
|
-
end
|
|
592
|
-
|
|
593
|
-
class Pdf < ContextDev::Internal::Type::BaseModel
|
|
594
|
-
OrHash =
|
|
595
|
-
T.type_alias do
|
|
596
|
-
T.any(
|
|
597
|
-
ContextDev::WebExtractParams::Pdf,
|
|
598
|
-
ContextDev::Internal::AnyHash
|
|
599
|
-
)
|
|
600
|
-
end
|
|
601
|
-
|
|
602
|
-
# Last 1-based PDF page to parse. Must be greater than or equal to start when both
|
|
603
|
-
# are provided.
|
|
604
|
-
sig { returns(T.nilable(Integer)) }
|
|
605
|
-
attr_reader :end_
|
|
606
|
-
|
|
607
|
-
sig { params(end_: Integer).void }
|
|
608
|
-
attr_writer :end_
|
|
609
|
-
|
|
610
|
-
# When true, PDF pages are fetched and parsed. When false, PDF pages are skipped.
|
|
611
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
612
|
-
attr_reader :should_parse
|
|
613
|
-
|
|
614
|
-
sig { params(should_parse: T::Boolean).void }
|
|
615
|
-
attr_writer :should_parse
|
|
616
|
-
|
|
617
|
-
# First 1-based PDF page to parse.
|
|
618
|
-
sig { returns(T.nilable(Integer)) }
|
|
619
|
-
attr_reader :start
|
|
620
|
-
|
|
621
|
-
sig { params(start: Integer).void }
|
|
622
|
-
attr_writer :start
|
|
623
|
-
|
|
624
|
-
sig do
|
|
625
|
-
params(
|
|
626
|
-
end_: Integer,
|
|
627
|
-
should_parse: T::Boolean,
|
|
628
|
-
start: Integer
|
|
629
|
-
).returns(T.attached_class)
|
|
630
|
-
end
|
|
631
|
-
def self.new(
|
|
632
|
-
# Last 1-based PDF page to parse. Must be greater than or equal to start when both
|
|
633
|
-
# are provided.
|
|
634
|
-
end_: nil,
|
|
635
|
-
# When true, PDF pages are fetched and parsed. When false, PDF pages are skipped.
|
|
636
|
-
should_parse: nil,
|
|
637
|
-
# First 1-based PDF page to parse.
|
|
638
|
-
start: nil
|
|
639
|
-
)
|
|
640
|
-
end
|
|
641
|
-
|
|
642
|
-
sig do
|
|
643
|
-
override.returns(
|
|
644
|
-
{ end_: Integer, should_parse: T::Boolean, start: Integer }
|
|
645
|
-
)
|
|
646
|
-
end
|
|
647
|
-
def to_hash
|
|
648
|
-
end
|
|
649
|
-
end
|
|
650
|
-
|
|
651
|
-
class TimeoutOpts < ContextDev::Internal::Type::BaseModel
|
|
652
|
-
OrHash =
|
|
653
|
-
T.type_alias do
|
|
654
|
-
T.any(
|
|
655
|
-
ContextDev::WebExtractParams::TimeoutOpts,
|
|
656
|
-
ContextDev::Internal::AnyHash
|
|
657
|
-
)
|
|
658
|
-
end
|
|
659
|
-
|
|
660
|
-
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
661
|
-
sig { returns(Integer) }
|
|
662
|
-
attr_accessor :milliseconds
|
|
663
|
-
|
|
664
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
665
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
666
|
-
# available, the request still fails without charging credits. Partial results are
|
|
667
|
-
# not cached as complete results.
|
|
668
|
-
sig do
|
|
669
|
-
returns(
|
|
670
|
-
T.nilable(
|
|
671
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::OrSymbol
|
|
672
|
-
)
|
|
673
|
-
)
|
|
674
|
-
end
|
|
675
|
-
attr_reader :behavior
|
|
676
|
-
|
|
677
|
-
sig do
|
|
678
|
-
params(
|
|
679
|
-
behavior:
|
|
680
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::OrSymbol
|
|
681
|
-
).void
|
|
682
|
-
end
|
|
683
|
-
attr_writer :behavior
|
|
684
|
-
|
|
685
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
686
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
687
|
-
# timeoutOpts object.
|
|
688
|
-
sig do
|
|
689
|
-
params(
|
|
690
|
-
milliseconds: Integer,
|
|
691
|
-
behavior:
|
|
692
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::OrSymbol
|
|
693
|
-
).returns(T.attached_class)
|
|
694
|
-
end
|
|
695
|
-
def self.new(
|
|
696
|
-
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
697
|
-
milliseconds:,
|
|
698
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
699
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
700
|
-
# available, the request still fails without charging credits. Partial results are
|
|
701
|
-
# not cached as complete results.
|
|
702
|
-
behavior: nil
|
|
703
|
-
)
|
|
704
|
-
end
|
|
705
|
-
|
|
706
|
-
sig do
|
|
707
|
-
override.returns(
|
|
708
|
-
{
|
|
709
|
-
milliseconds: Integer,
|
|
710
|
-
behavior:
|
|
711
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::OrSymbol
|
|
712
|
-
}
|
|
713
|
-
)
|
|
714
|
-
end
|
|
715
|
-
def to_hash
|
|
716
|
-
end
|
|
717
|
-
|
|
718
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
719
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
720
|
-
# available, the request still fails without charging credits. Partial results are
|
|
721
|
-
# not cached as complete results.
|
|
722
|
-
module Behavior
|
|
723
|
-
extend ContextDev::Internal::Type::Enum
|
|
724
|
-
|
|
725
|
-
TaggedSymbol =
|
|
726
|
-
T.type_alias do
|
|
727
|
-
T.all(Symbol, ContextDev::WebExtractParams::TimeoutOpts::Behavior)
|
|
728
|
-
end
|
|
729
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
730
|
-
|
|
731
|
-
FAIL =
|
|
732
|
-
T.let(
|
|
733
|
-
:fail,
|
|
734
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::TaggedSymbol
|
|
735
|
-
)
|
|
736
|
-
RETURN_PARTIAL =
|
|
737
|
-
T.let(
|
|
738
|
-
:"return-partial",
|
|
739
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::TaggedSymbol
|
|
740
|
-
)
|
|
741
|
-
|
|
742
|
-
sig do
|
|
743
|
-
override.returns(
|
|
744
|
-
T::Array[
|
|
745
|
-
ContextDev::WebExtractParams::TimeoutOpts::Behavior::TaggedSymbol
|
|
746
|
-
]
|
|
747
|
-
)
|
|
748
|
-
end
|
|
749
|
-
def self.values
|
|
750
|
-
end
|
|
751
|
-
end
|
|
752
|
-
end
|
|
753
|
-
|
|
754
|
-
# Set to enabled to bypass shared caches and omit request and response content
|
|
755
|
-
# from retained usage logs. Asset uploads are skipped, so hosted image URLs are
|
|
756
|
-
# omitted. Requires zero data retention to be enabled for your organization
|
|
757
|
-
# (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
|
|
758
|
-
# Successful ZDR responses include X-Context-ZDR: true.
|
|
759
|
-
module Zdr
|
|
760
|
-
extend ContextDev::Internal::Type::Enum
|
|
761
|
-
|
|
762
|
-
TaggedSymbol =
|
|
763
|
-
T.type_alias { T.all(Symbol, ContextDev::WebExtractParams::Zdr) }
|
|
764
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
765
|
-
|
|
766
|
-
ENABLED =
|
|
767
|
-
T.let(:enabled, ContextDev::WebExtractParams::Zdr::TaggedSymbol)
|
|
768
|
-
DISABLED =
|
|
769
|
-
T.let(:disabled, ContextDev::WebExtractParams::Zdr::TaggedSymbol)
|
|
770
|
-
|
|
771
|
-
sig do
|
|
772
|
-
override.returns(
|
|
773
|
-
T::Array[ContextDev::WebExtractParams::Zdr::TaggedSymbol]
|
|
774
|
-
)
|
|
775
|
-
end
|
|
776
|
-
def self.values
|
|
777
|
-
end
|
|
778
|
-
end
|
|
779
|
-
end
|
|
780
|
-
end
|
|
781
|
-
end
|