context.dev 1.32.0 → 1.35.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 +29 -0
- data/README.md +1 -1
- data/lib/context_dev/internal/transport/base_client.rb +4 -1
- data/lib/context_dev/models/web_screenshot_params.rb +14 -1
- data/lib/context_dev/models/web_web_crawl_md_response.rb +238 -5
- data/lib/context_dev/models/web_web_scrape_html_response.rb +258 -1
- data/lib/context_dev/models/web_web_scrape_md_response.rb +256 -1
- data/lib/context_dev/resources/web.rb +4 -1
- data/lib/context_dev/version.rb +1 -1
- data/rbi/context_dev/models/web_screenshot_params.rbi +21 -0
- data/rbi/context_dev/models/web_web_crawl_md_response.rbi +426 -7
- data/rbi/context_dev/models/web_web_scrape_html_response.rbi +485 -0
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +474 -0
- data/rbi/context_dev/resources/web.rbi +8 -0
- data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
- data/sig/context_dev/models/web_web_crawl_md_response.rbs +198 -3
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +232 -1
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +219 -0
- data/sig/context_dev/resources/web.rbs +1 -0
- metadata +2 -2
|
@@ -15,6 +15,17 @@ module ContextDev
|
|
|
15
15
|
sig { returns(String) }
|
|
16
16
|
attr_accessor :markdown
|
|
17
17
|
|
|
18
|
+
# Metadata extracted from the scraped page HTML.
|
|
19
|
+
sig { returns(ContextDev::Models::WebWebScrapeMdResponse::Metadata) }
|
|
20
|
+
attr_reader :metadata
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
metadata: ContextDev::Models::WebWebScrapeMdResponse::Metadata::OrHash
|
|
25
|
+
).void
|
|
26
|
+
end
|
|
27
|
+
attr_writer :metadata
|
|
28
|
+
|
|
18
29
|
# Indicates success
|
|
19
30
|
sig do
|
|
20
31
|
returns(
|
|
@@ -47,6 +58,8 @@ module ContextDev
|
|
|
47
58
|
sig do
|
|
48
59
|
params(
|
|
49
60
|
markdown: String,
|
|
61
|
+
metadata:
|
|
62
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::OrHash,
|
|
50
63
|
success:
|
|
51
64
|
ContextDev::Models::WebWebScrapeMdResponse::Success::OrBoolean,
|
|
52
65
|
url: String,
|
|
@@ -57,6 +70,8 @@ module ContextDev
|
|
|
57
70
|
def self.new(
|
|
58
71
|
# Page content converted to GitHub Flavored Markdown
|
|
59
72
|
markdown:,
|
|
73
|
+
# Metadata extracted from the scraped page HTML.
|
|
74
|
+
metadata:,
|
|
60
75
|
# Indicates success
|
|
61
76
|
success:,
|
|
62
77
|
# The URL that was scraped
|
|
@@ -71,6 +86,7 @@ module ContextDev
|
|
|
71
86
|
override.returns(
|
|
72
87
|
{
|
|
73
88
|
markdown: String,
|
|
89
|
+
metadata: ContextDev::Models::WebWebScrapeMdResponse::Metadata,
|
|
74
90
|
success:
|
|
75
91
|
ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean,
|
|
76
92
|
url: String,
|
|
@@ -82,6 +98,464 @@ module ContextDev
|
|
|
82
98
|
def to_hash
|
|
83
99
|
end
|
|
84
100
|
|
|
101
|
+
class Metadata < ContextDev::Internal::Type::BaseModel
|
|
102
|
+
OrHash =
|
|
103
|
+
T.type_alias do
|
|
104
|
+
T.any(
|
|
105
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata,
|
|
106
|
+
ContextDev::Internal::AnyHash
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Final URL scraped after redirects or scraper fallback, when known. Falls back to
|
|
111
|
+
# sourceUrl when unavailable.
|
|
112
|
+
sig { returns(String) }
|
|
113
|
+
attr_accessor :final_url
|
|
114
|
+
|
|
115
|
+
# Original URL requested by the caller.
|
|
116
|
+
sig { returns(String) }
|
|
117
|
+
attr_accessor :source_url
|
|
118
|
+
|
|
119
|
+
# Additional non-social meta tags not promoted to top-level metadata fields.
|
|
120
|
+
sig do
|
|
121
|
+
returns(
|
|
122
|
+
T.nilable(
|
|
123
|
+
T::Hash[
|
|
124
|
+
Symbol,
|
|
125
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
|
|
126
|
+
]
|
|
127
|
+
)
|
|
128
|
+
)
|
|
129
|
+
end
|
|
130
|
+
attr_reader :additional_meta
|
|
131
|
+
|
|
132
|
+
sig do
|
|
133
|
+
params(
|
|
134
|
+
additional_meta:
|
|
135
|
+
T::Hash[
|
|
136
|
+
Symbol,
|
|
137
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
|
|
138
|
+
]
|
|
139
|
+
).void
|
|
140
|
+
end
|
|
141
|
+
attr_writer :additional_meta
|
|
142
|
+
|
|
143
|
+
# Resolved alternate links from link rel=alternate tags.
|
|
144
|
+
sig do
|
|
145
|
+
returns(
|
|
146
|
+
T.nilable(
|
|
147
|
+
T::Array[
|
|
148
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate
|
|
149
|
+
]
|
|
150
|
+
)
|
|
151
|
+
)
|
|
152
|
+
end
|
|
153
|
+
attr_reader :alternates
|
|
154
|
+
|
|
155
|
+
sig do
|
|
156
|
+
params(
|
|
157
|
+
alternates:
|
|
158
|
+
T::Array[
|
|
159
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate::OrHash
|
|
160
|
+
]
|
|
161
|
+
).void
|
|
162
|
+
end
|
|
163
|
+
attr_writer :alternates
|
|
164
|
+
|
|
165
|
+
# Author metadata, when present.
|
|
166
|
+
sig { returns(T.nilable(String)) }
|
|
167
|
+
attr_reader :author
|
|
168
|
+
|
|
169
|
+
sig { params(author: String).void }
|
|
170
|
+
attr_writer :author
|
|
171
|
+
|
|
172
|
+
# Resolved canonical URL, when present.
|
|
173
|
+
sig { returns(T.nilable(String)) }
|
|
174
|
+
attr_reader :canonical_url
|
|
175
|
+
|
|
176
|
+
sig { params(canonical_url: String).void }
|
|
177
|
+
attr_writer :canonical_url
|
|
178
|
+
|
|
179
|
+
# Best description extracted from standard, Open Graph, or Twitter metadata.
|
|
180
|
+
sig { returns(T.nilable(String)) }
|
|
181
|
+
attr_reader :description
|
|
182
|
+
|
|
183
|
+
sig { params(description: String).void }
|
|
184
|
+
attr_writer :description
|
|
185
|
+
|
|
186
|
+
# Resolved favicon URL, when present.
|
|
187
|
+
sig { returns(T.nilable(String)) }
|
|
188
|
+
attr_reader :favicon
|
|
189
|
+
|
|
190
|
+
sig { params(favicon: String).void }
|
|
191
|
+
attr_writer :favicon
|
|
192
|
+
|
|
193
|
+
# Primary resolved preview image from Open Graph, Twitter, or image metadata.
|
|
194
|
+
sig { returns(T.nilable(String)) }
|
|
195
|
+
attr_reader :image
|
|
196
|
+
|
|
197
|
+
sig { params(image: String).void }
|
|
198
|
+
attr_writer :image
|
|
199
|
+
|
|
200
|
+
# JSON-LD structured data blocks parsed from the page.
|
|
201
|
+
sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
|
|
202
|
+
attr_reader :json_ld
|
|
203
|
+
|
|
204
|
+
sig { params(json_ld: T::Array[T::Hash[Symbol, T.anything]]).void }
|
|
205
|
+
attr_writer :json_ld
|
|
206
|
+
|
|
207
|
+
# Keywords extracted from the page's keywords meta tag.
|
|
208
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
209
|
+
attr_reader :keywords
|
|
210
|
+
|
|
211
|
+
sig { params(keywords: T::Array[String]).void }
|
|
212
|
+
attr_writer :keywords
|
|
213
|
+
|
|
214
|
+
# Language extracted from html lang or language meta tags.
|
|
215
|
+
sig { returns(T.nilable(String)) }
|
|
216
|
+
attr_reader :language
|
|
217
|
+
|
|
218
|
+
sig { params(language: String).void }
|
|
219
|
+
attr_writer :language
|
|
220
|
+
|
|
221
|
+
# Modified timestamp/date from page metadata, when present.
|
|
222
|
+
sig { returns(T.nilable(String)) }
|
|
223
|
+
attr_reader :modified_time
|
|
224
|
+
|
|
225
|
+
sig { params(modified_time: String).void }
|
|
226
|
+
attr_writer :modified_time
|
|
227
|
+
|
|
228
|
+
# Open Graph metadata with the og: prefix removed and keys camel-cased.
|
|
229
|
+
sig do
|
|
230
|
+
returns(
|
|
231
|
+
T.nilable(
|
|
232
|
+
T::Hash[
|
|
233
|
+
Symbol,
|
|
234
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
|
|
235
|
+
]
|
|
236
|
+
)
|
|
237
|
+
)
|
|
238
|
+
end
|
|
239
|
+
attr_reader :open_graph
|
|
240
|
+
|
|
241
|
+
sig do
|
|
242
|
+
params(
|
|
243
|
+
open_graph:
|
|
244
|
+
T::Hash[
|
|
245
|
+
Symbol,
|
|
246
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
|
|
247
|
+
]
|
|
248
|
+
).void
|
|
249
|
+
end
|
|
250
|
+
attr_writer :open_graph
|
|
251
|
+
|
|
252
|
+
# Published timestamp/date from page metadata, when present.
|
|
253
|
+
sig { returns(T.nilable(String)) }
|
|
254
|
+
attr_reader :published_time
|
|
255
|
+
|
|
256
|
+
sig { params(published_time: String).void }
|
|
257
|
+
attr_writer :published_time
|
|
258
|
+
|
|
259
|
+
# Robots meta directive, when present.
|
|
260
|
+
sig { returns(T.nilable(String)) }
|
|
261
|
+
attr_reader :robots
|
|
262
|
+
|
|
263
|
+
sig { params(robots: String).void }
|
|
264
|
+
attr_writer :robots
|
|
265
|
+
|
|
266
|
+
# Site or application name from page metadata.
|
|
267
|
+
sig { returns(T.nilable(String)) }
|
|
268
|
+
attr_reader :site_name
|
|
269
|
+
|
|
270
|
+
sig { params(site_name: String).void }
|
|
271
|
+
attr_writer :site_name
|
|
272
|
+
|
|
273
|
+
# Best title extracted from the page.
|
|
274
|
+
sig { returns(T.nilable(String)) }
|
|
275
|
+
attr_reader :title
|
|
276
|
+
|
|
277
|
+
sig { params(title: String).void }
|
|
278
|
+
attr_writer :title
|
|
279
|
+
|
|
280
|
+
# Twitter card metadata with the twitter: prefix removed and keys camel-cased.
|
|
281
|
+
sig do
|
|
282
|
+
returns(
|
|
283
|
+
T.nilable(
|
|
284
|
+
T::Hash[
|
|
285
|
+
Symbol,
|
|
286
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
|
|
287
|
+
]
|
|
288
|
+
)
|
|
289
|
+
)
|
|
290
|
+
end
|
|
291
|
+
attr_reader :twitter
|
|
292
|
+
|
|
293
|
+
sig do
|
|
294
|
+
params(
|
|
295
|
+
twitter:
|
|
296
|
+
T::Hash[
|
|
297
|
+
Symbol,
|
|
298
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
|
|
299
|
+
]
|
|
300
|
+
).void
|
|
301
|
+
end
|
|
302
|
+
attr_writer :twitter
|
|
303
|
+
|
|
304
|
+
# Metadata extracted from the scraped page HTML.
|
|
305
|
+
sig do
|
|
306
|
+
params(
|
|
307
|
+
final_url: String,
|
|
308
|
+
source_url: String,
|
|
309
|
+
additional_meta:
|
|
310
|
+
T::Hash[
|
|
311
|
+
Symbol,
|
|
312
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
|
|
313
|
+
],
|
|
314
|
+
alternates:
|
|
315
|
+
T::Array[
|
|
316
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate::OrHash
|
|
317
|
+
],
|
|
318
|
+
author: String,
|
|
319
|
+
canonical_url: String,
|
|
320
|
+
description: String,
|
|
321
|
+
favicon: String,
|
|
322
|
+
image: String,
|
|
323
|
+
json_ld: T::Array[T::Hash[Symbol, T.anything]],
|
|
324
|
+
keywords: T::Array[String],
|
|
325
|
+
language: String,
|
|
326
|
+
modified_time: String,
|
|
327
|
+
open_graph:
|
|
328
|
+
T::Hash[
|
|
329
|
+
Symbol,
|
|
330
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
|
|
331
|
+
],
|
|
332
|
+
published_time: String,
|
|
333
|
+
robots: String,
|
|
334
|
+
site_name: String,
|
|
335
|
+
title: String,
|
|
336
|
+
twitter:
|
|
337
|
+
T::Hash[
|
|
338
|
+
Symbol,
|
|
339
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
|
|
340
|
+
]
|
|
341
|
+
).returns(T.attached_class)
|
|
342
|
+
end
|
|
343
|
+
def self.new(
|
|
344
|
+
# Final URL scraped after redirects or scraper fallback, when known. Falls back to
|
|
345
|
+
# sourceUrl when unavailable.
|
|
346
|
+
final_url:,
|
|
347
|
+
# Original URL requested by the caller.
|
|
348
|
+
source_url:,
|
|
349
|
+
# Additional non-social meta tags not promoted to top-level metadata fields.
|
|
350
|
+
additional_meta: nil,
|
|
351
|
+
# Resolved alternate links from link rel=alternate tags.
|
|
352
|
+
alternates: nil,
|
|
353
|
+
# Author metadata, when present.
|
|
354
|
+
author: nil,
|
|
355
|
+
# Resolved canonical URL, when present.
|
|
356
|
+
canonical_url: nil,
|
|
357
|
+
# Best description extracted from standard, Open Graph, or Twitter metadata.
|
|
358
|
+
description: nil,
|
|
359
|
+
# Resolved favicon URL, when present.
|
|
360
|
+
favicon: nil,
|
|
361
|
+
# Primary resolved preview image from Open Graph, Twitter, or image metadata.
|
|
362
|
+
image: nil,
|
|
363
|
+
# JSON-LD structured data blocks parsed from the page.
|
|
364
|
+
json_ld: nil,
|
|
365
|
+
# Keywords extracted from the page's keywords meta tag.
|
|
366
|
+
keywords: nil,
|
|
367
|
+
# Language extracted from html lang or language meta tags.
|
|
368
|
+
language: nil,
|
|
369
|
+
# Modified timestamp/date from page metadata, when present.
|
|
370
|
+
modified_time: nil,
|
|
371
|
+
# Open Graph metadata with the og: prefix removed and keys camel-cased.
|
|
372
|
+
open_graph: nil,
|
|
373
|
+
# Published timestamp/date from page metadata, when present.
|
|
374
|
+
published_time: nil,
|
|
375
|
+
# Robots meta directive, when present.
|
|
376
|
+
robots: nil,
|
|
377
|
+
# Site or application name from page metadata.
|
|
378
|
+
site_name: nil,
|
|
379
|
+
# Best title extracted from the page.
|
|
380
|
+
title: nil,
|
|
381
|
+
# Twitter card metadata with the twitter: prefix removed and keys camel-cased.
|
|
382
|
+
twitter: nil
|
|
383
|
+
)
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
sig do
|
|
387
|
+
override.returns(
|
|
388
|
+
{
|
|
389
|
+
final_url: String,
|
|
390
|
+
source_url: String,
|
|
391
|
+
additional_meta:
|
|
392
|
+
T::Hash[
|
|
393
|
+
Symbol,
|
|
394
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
|
|
395
|
+
],
|
|
396
|
+
alternates:
|
|
397
|
+
T::Array[
|
|
398
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate
|
|
399
|
+
],
|
|
400
|
+
author: String,
|
|
401
|
+
canonical_url: String,
|
|
402
|
+
description: String,
|
|
403
|
+
favicon: String,
|
|
404
|
+
image: String,
|
|
405
|
+
json_ld: T::Array[T::Hash[Symbol, T.anything]],
|
|
406
|
+
keywords: T::Array[String],
|
|
407
|
+
language: String,
|
|
408
|
+
modified_time: String,
|
|
409
|
+
open_graph:
|
|
410
|
+
T::Hash[
|
|
411
|
+
Symbol,
|
|
412
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
|
|
413
|
+
],
|
|
414
|
+
published_time: String,
|
|
415
|
+
robots: String,
|
|
416
|
+
site_name: String,
|
|
417
|
+
title: String,
|
|
418
|
+
twitter:
|
|
419
|
+
T::Hash[
|
|
420
|
+
Symbol,
|
|
421
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
|
|
422
|
+
]
|
|
423
|
+
}
|
|
424
|
+
)
|
|
425
|
+
end
|
|
426
|
+
def to_hash
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
module AdditionalMeta
|
|
430
|
+
extend ContextDev::Internal::Type::Union
|
|
431
|
+
|
|
432
|
+
Variants = T.type_alias { T.any(String, T::Array[String]) }
|
|
433
|
+
|
|
434
|
+
sig do
|
|
435
|
+
override.returns(
|
|
436
|
+
T::Array[
|
|
437
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::AdditionalMeta::Variants
|
|
438
|
+
]
|
|
439
|
+
)
|
|
440
|
+
end
|
|
441
|
+
def self.variants
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
StringArray =
|
|
445
|
+
T.let(
|
|
446
|
+
ContextDev::Internal::Type::ArrayOf[String],
|
|
447
|
+
ContextDev::Internal::Type::Converter
|
|
448
|
+
)
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
class Alternate < ContextDev::Internal::Type::BaseModel
|
|
452
|
+
OrHash =
|
|
453
|
+
T.type_alias do
|
|
454
|
+
T.any(
|
|
455
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Alternate,
|
|
456
|
+
ContextDev::Internal::AnyHash
|
|
457
|
+
)
|
|
458
|
+
end
|
|
459
|
+
|
|
460
|
+
# Resolved alternate URL.
|
|
461
|
+
sig { returns(String) }
|
|
462
|
+
attr_accessor :href
|
|
463
|
+
|
|
464
|
+
# Language or locale for the alternate URL, when present.
|
|
465
|
+
sig { returns(T.nilable(String)) }
|
|
466
|
+
attr_reader :hreflang
|
|
467
|
+
|
|
468
|
+
sig { params(hreflang: String).void }
|
|
469
|
+
attr_writer :hreflang
|
|
470
|
+
|
|
471
|
+
# Alternate resource title, when present.
|
|
472
|
+
sig { returns(T.nilable(String)) }
|
|
473
|
+
attr_reader :title
|
|
474
|
+
|
|
475
|
+
sig { params(title: String).void }
|
|
476
|
+
attr_writer :title
|
|
477
|
+
|
|
478
|
+
# Alternate resource MIME type, when present.
|
|
479
|
+
sig { returns(T.nilable(String)) }
|
|
480
|
+
attr_reader :type
|
|
481
|
+
|
|
482
|
+
sig { params(type: String).void }
|
|
483
|
+
attr_writer :type
|
|
484
|
+
|
|
485
|
+
sig do
|
|
486
|
+
params(
|
|
487
|
+
href: String,
|
|
488
|
+
hreflang: String,
|
|
489
|
+
title: String,
|
|
490
|
+
type: String
|
|
491
|
+
).returns(T.attached_class)
|
|
492
|
+
end
|
|
493
|
+
def self.new(
|
|
494
|
+
# Resolved alternate URL.
|
|
495
|
+
href:,
|
|
496
|
+
# Language or locale for the alternate URL, when present.
|
|
497
|
+
hreflang: nil,
|
|
498
|
+
# Alternate resource title, when present.
|
|
499
|
+
title: nil,
|
|
500
|
+
# Alternate resource MIME type, when present.
|
|
501
|
+
type: nil
|
|
502
|
+
)
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
sig do
|
|
506
|
+
override.returns(
|
|
507
|
+
{ href: String, hreflang: String, title: String, type: String }
|
|
508
|
+
)
|
|
509
|
+
end
|
|
510
|
+
def to_hash
|
|
511
|
+
end
|
|
512
|
+
end
|
|
513
|
+
|
|
514
|
+
module OpenGraph
|
|
515
|
+
extend ContextDev::Internal::Type::Union
|
|
516
|
+
|
|
517
|
+
Variants = T.type_alias { T.any(String, T::Array[String]) }
|
|
518
|
+
|
|
519
|
+
sig do
|
|
520
|
+
override.returns(
|
|
521
|
+
T::Array[
|
|
522
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::OpenGraph::Variants
|
|
523
|
+
]
|
|
524
|
+
)
|
|
525
|
+
end
|
|
526
|
+
def self.variants
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
StringArray =
|
|
530
|
+
T.let(
|
|
531
|
+
ContextDev::Internal::Type::ArrayOf[String],
|
|
532
|
+
ContextDev::Internal::Type::Converter
|
|
533
|
+
)
|
|
534
|
+
end
|
|
535
|
+
|
|
536
|
+
module Twitter
|
|
537
|
+
extend ContextDev::Internal::Type::Union
|
|
538
|
+
|
|
539
|
+
Variants = T.type_alias { T.any(String, T::Array[String]) }
|
|
540
|
+
|
|
541
|
+
sig do
|
|
542
|
+
override.returns(
|
|
543
|
+
T::Array[
|
|
544
|
+
ContextDev::Models::WebWebScrapeMdResponse::Metadata::Twitter::Variants
|
|
545
|
+
]
|
|
546
|
+
)
|
|
547
|
+
end
|
|
548
|
+
def self.variants
|
|
549
|
+
end
|
|
550
|
+
|
|
551
|
+
StringArray =
|
|
552
|
+
T.let(
|
|
553
|
+
ContextDev::Internal::Type::ArrayOf[String],
|
|
554
|
+
ContextDev::Internal::Type::Converter
|
|
555
|
+
)
|
|
556
|
+
end
|
|
557
|
+
end
|
|
558
|
+
|
|
85
559
|
# Indicates success
|
|
86
560
|
module Success
|
|
87
561
|
extend ContextDev::Internal::Type::Enum
|
|
@@ -170,6 +170,7 @@ module ContextDev
|
|
|
170
170
|
ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol,
|
|
171
171
|
max_age_ms: Integer,
|
|
172
172
|
page: ContextDev::WebScreenshotParams::Page::OrSymbol,
|
|
173
|
+
scroll_offset: Integer,
|
|
173
174
|
timeout_ms: Integer,
|
|
174
175
|
viewport: ContextDev::WebScreenshotParams::Viewport::OrHash,
|
|
175
176
|
wait_for_ms: Integer,
|
|
@@ -203,6 +204,13 @@ module ContextDev
|
|
|
203
204
|
# provided, screenshots the main domain landing page. Only applicable when using
|
|
204
205
|
# 'domain', not 'directUrl'.
|
|
205
206
|
page: nil,
|
|
207
|
+
# Optional vertical scroll offset in pixels for capturing a long page in
|
|
208
|
+
# viewport-sized chunks. When provided, the full page is captured once and the
|
|
209
|
+
# returned image is the viewport-sized slice that begins at this Y offset (e.g.
|
|
210
|
+
# request scrollOffset=0, then 1080, then 2160 to walk a 1920x1080 landing page
|
|
211
|
+
# top to bottom). The final slice may be shorter than the viewport height. Takes
|
|
212
|
+
# precedence over fullScreenshot. Max: 100000.
|
|
213
|
+
scroll_offset: nil,
|
|
206
214
|
# Optional timeout in milliseconds for the request. If the request takes longer
|
|
207
215
|
# than this value, it will be aborted with a 408 status code. Maximum allowed
|
|
208
216
|
# value is 300000ms (5 minutes).
|
|
@@ -8,6 +8,7 @@ module ContextDev
|
|
|
8
8
|
handle_cookie_popup: ContextDev::Models::WebScreenshotParams::handle_cookie_popup,
|
|
9
9
|
max_age_ms: Integer,
|
|
10
10
|
page: ContextDev::Models::WebScreenshotParams::page,
|
|
11
|
+
scroll_offset: Integer,
|
|
11
12
|
timeout_ms: Integer,
|
|
12
13
|
viewport: ContextDev::WebScreenshotParams::Viewport,
|
|
13
14
|
wait_for_ms: Integer
|
|
@@ -48,6 +49,10 @@ module ContextDev
|
|
|
48
49
|
ContextDev::Models::WebScreenshotParams::page
|
|
49
50
|
) -> ContextDev::Models::WebScreenshotParams::page
|
|
50
51
|
|
|
52
|
+
attr_reader scroll_offset: Integer?
|
|
53
|
+
|
|
54
|
+
def scroll_offset=: (Integer) -> Integer
|
|
55
|
+
|
|
51
56
|
attr_reader timeout_ms: Integer?
|
|
52
57
|
|
|
53
58
|
def timeout_ms=: (Integer) -> Integer
|
|
@@ -69,6 +74,7 @@ module ContextDev
|
|
|
69
74
|
?handle_cookie_popup: ContextDev::Models::WebScreenshotParams::handle_cookie_popup,
|
|
70
75
|
?max_age_ms: Integer,
|
|
71
76
|
?page: ContextDev::Models::WebScreenshotParams::page,
|
|
77
|
+
?scroll_offset: Integer,
|
|
72
78
|
?timeout_ms: Integer,
|
|
73
79
|
?viewport: ContextDev::WebScreenshotParams::Viewport,
|
|
74
80
|
?wait_for_ms: Integer,
|
|
@@ -82,6 +88,7 @@ module ContextDev
|
|
|
82
88
|
handle_cookie_popup: ContextDev::Models::WebScreenshotParams::handle_cookie_popup,
|
|
83
89
|
max_age_ms: Integer,
|
|
84
90
|
page: ContextDev::Models::WebScreenshotParams::page,
|
|
91
|
+
scroll_offset: Integer,
|
|
85
92
|
timeout_ms: Integer,
|
|
86
93
|
viewport: ContextDev::WebScreenshotParams::Viewport,
|
|
87
94
|
wait_for_ms: Integer,
|