context.dev 1.31.0 → 1.34.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 +30 -0
- data/README.md +1 -1
- data/lib/context_dev/internal/transport/base_client.rb +4 -1
- data/lib/context_dev/models/ai_ai_query_response.rb +36 -1
- data/lib/context_dev/models/ai_extract_product_response.rb +36 -1
- data/lib/context_dev/models/ai_extract_products_response.rb +36 -1
- data/lib/context_dev/models/brand_identify_from_transaction_response.rb +36 -1
- data/lib/context_dev/models/brand_retrieve_by_email_response.rb +36 -1
- data/lib/context_dev/models/brand_retrieve_by_isin_response.rb +36 -1
- data/lib/context_dev/models/brand_retrieve_by_name_response.rb +36 -1
- data/lib/context_dev/models/brand_retrieve_by_ticker_response.rb +36 -1
- data/lib/context_dev/models/brand_retrieve_response.rb +36 -1
- data/lib/context_dev/models/brand_retrieve_simplified_response.rb +36 -1
- data/lib/context_dev/models/industry_retrieve_naics_response.rb +36 -1
- data/lib/context_dev/models/industry_retrieve_sic_response.rb +33 -1
- data/lib/context_dev/models/utility_prefetch_by_email_response.rb +36 -1
- data/lib/context_dev/models/utility_prefetch_response.rb +36 -1
- data/lib/context_dev/models/web_extract_competitors_response.rb +36 -1
- data/lib/context_dev/models/web_extract_fonts_response.rb +33 -1
- data/lib/context_dev/models/web_extract_params.rb +18 -1
- data/lib/context_dev/models/web_extract_response.rb +36 -1
- data/lib/context_dev/models/web_extract_styleguide_response.rb +36 -1
- data/lib/context_dev/models/web_screenshot_response.rb +36 -1
- data/lib/context_dev/models/web_search_response.rb +36 -1
- data/lib/context_dev/models/web_web_crawl_md_response.rb +275 -6
- data/lib/context_dev/models/web_web_scrape_html_response.rb +290 -1
- data/lib/context_dev/models/web_web_scrape_images_response.rb +36 -1
- data/lib/context_dev/models/web_web_scrape_md_response.rb +291 -1
- data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +36 -1
- data/lib/context_dev/resources/web.rb +5 -1
- data/lib/context_dev/version.rb +1 -1
- data/rbi/context_dev/models/ai_ai_query_response.rbi +62 -0
- data/rbi/context_dev/models/ai_extract_product_response.rbi +65 -0
- data/rbi/context_dev/models/ai_extract_products_response.rbi +65 -0
- data/rbi/context_dev/models/brand_identify_from_transaction_response.rbi +67 -0
- data/rbi/context_dev/models/brand_retrieve_by_email_response.rbi +67 -0
- data/rbi/context_dev/models/brand_retrieve_by_isin_response.rbi +67 -0
- data/rbi/context_dev/models/brand_retrieve_by_name_response.rbi +67 -0
- data/rbi/context_dev/models/brand_retrieve_by_ticker_response.rbi +67 -0
- data/rbi/context_dev/models/brand_retrieve_response.rbi +65 -0
- data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +67 -0
- data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +67 -0
- data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +67 -0
- data/rbi/context_dev/models/utility_prefetch_by_email_response.rbi +79 -4
- data/rbi/context_dev/models/utility_prefetch_response.rbi +77 -4
- data/rbi/context_dev/models/web_extract_competitors_response.rbi +70 -3
- data/rbi/context_dev/models/web_extract_fonts_response.rbi +68 -3
- data/rbi/context_dev/models/web_extract_params.rbi +24 -0
- data/rbi/context_dev/models/web_extract_response.rbi +65 -3
- data/rbi/context_dev/models/web_extract_styleguide_response.rbi +67 -0
- data/rbi/context_dev/models/web_screenshot_response.rbi +65 -0
- data/rbi/context_dev/models/web_search_response.rbi +65 -3
- data/rbi/context_dev/models/web_web_crawl_md_response.rbi +497 -10
- data/rbi/context_dev/models/web_web_scrape_html_response.rbi +553 -3
- data/rbi/context_dev/models/web_web_scrape_images_response.rbi +68 -3
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +542 -3
- data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +70 -3
- data/rbi/context_dev/resources/web.rbi +7 -0
- data/sig/context_dev/models/ai_ai_query_response.rbs +28 -0
- data/sig/context_dev/models/ai_extract_product_response.rbs +28 -0
- data/sig/context_dev/models/ai_extract_products_response.rbs +28 -0
- data/sig/context_dev/models/brand_identify_from_transaction_response.rbs +28 -0
- data/sig/context_dev/models/brand_retrieve_by_email_response.rbs +28 -0
- data/sig/context_dev/models/brand_retrieve_by_isin_response.rbs +28 -0
- data/sig/context_dev/models/brand_retrieve_by_name_response.rbs +28 -0
- data/sig/context_dev/models/brand_retrieve_by_ticker_response.rbs +28 -0
- data/sig/context_dev/models/brand_retrieve_response.rbs +28 -0
- data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +28 -0
- data/sig/context_dev/models/industry_retrieve_naics_response.rbs +28 -0
- data/sig/context_dev/models/industry_retrieve_sic_response.rbs +28 -0
- data/sig/context_dev/models/utility_prefetch_by_email_response.rbs +38 -2
- data/sig/context_dev/models/utility_prefetch_response.rbs +38 -2
- data/sig/context_dev/models/web_extract_competitors_response.rbs +31 -3
- data/sig/context_dev/models/web_extract_fonts_response.rbs +31 -3
- data/sig/context_dev/models/web_extract_params.rbs +14 -0
- data/sig/context_dev/models/web_extract_response.rbs +31 -3
- data/sig/context_dev/models/web_extract_styleguide_response.rbs +28 -0
- data/sig/context_dev/models/web_screenshot_response.rbs +28 -0
- data/sig/context_dev/models/web_search_response.rbs +31 -3
- data/sig/context_dev/models/web_web_crawl_md_response.rbs +229 -6
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +263 -4
- data/sig/context_dev/models/web_web_scrape_images_response.rbs +31 -3
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +250 -3
- data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +31 -3
- data/sig/context_dev/resources/web.rbs +2 -0
- metadata +2 -2
|
@@ -26,21 +26,48 @@ module ContextDev
|
|
|
26
26
|
end
|
|
27
27
|
attr_accessor :results
|
|
28
28
|
|
|
29
|
+
# Metadata about the API key used for the request. Included in every response
|
|
30
|
+
# whenever a valid API key is provided, even when the response status is not 200.
|
|
31
|
+
sig do
|
|
32
|
+
returns(
|
|
33
|
+
T.nilable(ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata)
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
attr_reader :key_metadata
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
key_metadata:
|
|
41
|
+
ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata::OrHash
|
|
42
|
+
).void
|
|
43
|
+
end
|
|
44
|
+
attr_writer :key_metadata
|
|
45
|
+
|
|
29
46
|
sig do
|
|
30
47
|
params(
|
|
31
48
|
metadata: ContextDev::Models::WebWebCrawlMdResponse::Metadata::OrHash,
|
|
32
49
|
results:
|
|
33
|
-
T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result::OrHash]
|
|
50
|
+
T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result::OrHash],
|
|
51
|
+
key_metadata:
|
|
52
|
+
ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata::OrHash
|
|
34
53
|
).returns(T.attached_class)
|
|
35
54
|
end
|
|
36
|
-
def self.new(
|
|
55
|
+
def self.new(
|
|
56
|
+
metadata:,
|
|
57
|
+
results:,
|
|
58
|
+
# Metadata about the API key used for the request. Included in every response
|
|
59
|
+
# whenever a valid API key is provided, even when the response status is not 200.
|
|
60
|
+
key_metadata: nil
|
|
61
|
+
)
|
|
37
62
|
end
|
|
38
63
|
|
|
39
64
|
sig do
|
|
40
65
|
override.returns(
|
|
41
66
|
{
|
|
42
67
|
metadata: ContextDev::Models::WebWebCrawlMdResponse::Metadata,
|
|
43
|
-
results:
|
|
68
|
+
results:
|
|
69
|
+
T::Array[ContextDev::Models::WebWebCrawlMdResponse::Result],
|
|
70
|
+
key_metadata: ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata
|
|
44
71
|
}
|
|
45
72
|
)
|
|
46
73
|
end
|
|
@@ -181,6 +208,15 @@ module ContextDev
|
|
|
181
208
|
sig { returns(Integer) }
|
|
182
209
|
attr_accessor :crawl_depth
|
|
183
210
|
|
|
211
|
+
# Final URL scraped after redirects or scraper fallback, when known. Falls back to
|
|
212
|
+
# sourceUrl when unavailable.
|
|
213
|
+
sig { returns(String) }
|
|
214
|
+
attr_accessor :final_url
|
|
215
|
+
|
|
216
|
+
# Original URL requested by the caller.
|
|
217
|
+
sig { returns(String) }
|
|
218
|
+
attr_accessor :source_url
|
|
219
|
+
|
|
184
220
|
# HTTP status code of the response
|
|
185
221
|
sig { returns(Integer) }
|
|
186
222
|
attr_accessor :status_code
|
|
@@ -189,34 +225,282 @@ module ContextDev
|
|
|
189
225
|
sig { returns(T::Boolean) }
|
|
190
226
|
attr_accessor :success
|
|
191
227
|
|
|
192
|
-
#
|
|
228
|
+
# Best page title extracted from the page (empty string if unavailable).
|
|
193
229
|
sig { returns(String) }
|
|
194
230
|
attr_accessor :title
|
|
195
231
|
|
|
196
|
-
# The URL
|
|
232
|
+
# The crawl URL fetched for this page.
|
|
197
233
|
sig { returns(String) }
|
|
198
234
|
attr_accessor :url
|
|
199
235
|
|
|
236
|
+
# Additional non-social meta tags not promoted to top-level metadata fields.
|
|
237
|
+
sig do
|
|
238
|
+
returns(
|
|
239
|
+
T.nilable(
|
|
240
|
+
T::Hash[
|
|
241
|
+
Symbol,
|
|
242
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::AdditionalMeta::Variants
|
|
243
|
+
]
|
|
244
|
+
)
|
|
245
|
+
)
|
|
246
|
+
end
|
|
247
|
+
attr_reader :additional_meta
|
|
248
|
+
|
|
249
|
+
sig do
|
|
250
|
+
params(
|
|
251
|
+
additional_meta:
|
|
252
|
+
T::Hash[
|
|
253
|
+
Symbol,
|
|
254
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::AdditionalMeta::Variants
|
|
255
|
+
]
|
|
256
|
+
).void
|
|
257
|
+
end
|
|
258
|
+
attr_writer :additional_meta
|
|
259
|
+
|
|
260
|
+
# Resolved alternate links from link rel=alternate tags.
|
|
261
|
+
sig do
|
|
262
|
+
returns(
|
|
263
|
+
T.nilable(
|
|
264
|
+
T::Array[
|
|
265
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Alternate
|
|
266
|
+
]
|
|
267
|
+
)
|
|
268
|
+
)
|
|
269
|
+
end
|
|
270
|
+
attr_reader :alternates
|
|
271
|
+
|
|
272
|
+
sig do
|
|
273
|
+
params(
|
|
274
|
+
alternates:
|
|
275
|
+
T::Array[
|
|
276
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Alternate::OrHash
|
|
277
|
+
]
|
|
278
|
+
).void
|
|
279
|
+
end
|
|
280
|
+
attr_writer :alternates
|
|
281
|
+
|
|
282
|
+
# Author metadata, when present.
|
|
283
|
+
sig { returns(T.nilable(String)) }
|
|
284
|
+
attr_reader :author
|
|
285
|
+
|
|
286
|
+
sig { params(author: String).void }
|
|
287
|
+
attr_writer :author
|
|
288
|
+
|
|
289
|
+
# Resolved canonical URL, when present.
|
|
290
|
+
sig { returns(T.nilable(String)) }
|
|
291
|
+
attr_reader :canonical_url
|
|
292
|
+
|
|
293
|
+
sig { params(canonical_url: String).void }
|
|
294
|
+
attr_writer :canonical_url
|
|
295
|
+
|
|
296
|
+
# Best description extracted from standard, Open Graph, or Twitter metadata.
|
|
297
|
+
sig { returns(T.nilable(String)) }
|
|
298
|
+
attr_reader :description
|
|
299
|
+
|
|
300
|
+
sig { params(description: String).void }
|
|
301
|
+
attr_writer :description
|
|
302
|
+
|
|
303
|
+
# Resolved favicon URL, when present.
|
|
304
|
+
sig { returns(T.nilable(String)) }
|
|
305
|
+
attr_reader :favicon
|
|
306
|
+
|
|
307
|
+
sig { params(favicon: String).void }
|
|
308
|
+
attr_writer :favicon
|
|
309
|
+
|
|
310
|
+
# Primary resolved preview image from Open Graph, Twitter, or image metadata.
|
|
311
|
+
sig { returns(T.nilable(String)) }
|
|
312
|
+
attr_reader :image
|
|
313
|
+
|
|
314
|
+
sig { params(image: String).void }
|
|
315
|
+
attr_writer :image
|
|
316
|
+
|
|
317
|
+
# JSON-LD structured data blocks parsed from the page.
|
|
318
|
+
sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
|
|
319
|
+
attr_reader :json_ld
|
|
320
|
+
|
|
321
|
+
sig { params(json_ld: T::Array[T::Hash[Symbol, T.anything]]).void }
|
|
322
|
+
attr_writer :json_ld
|
|
323
|
+
|
|
324
|
+
# Keywords extracted from the page's keywords meta tag.
|
|
325
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
326
|
+
attr_reader :keywords
|
|
327
|
+
|
|
328
|
+
sig { params(keywords: T::Array[String]).void }
|
|
329
|
+
attr_writer :keywords
|
|
330
|
+
|
|
331
|
+
# Language extracted from html lang or language meta tags.
|
|
332
|
+
sig { returns(T.nilable(String)) }
|
|
333
|
+
attr_reader :language
|
|
334
|
+
|
|
335
|
+
sig { params(language: String).void }
|
|
336
|
+
attr_writer :language
|
|
337
|
+
|
|
338
|
+
# Modified timestamp/date from page metadata, when present.
|
|
339
|
+
sig { returns(T.nilable(String)) }
|
|
340
|
+
attr_reader :modified_time
|
|
341
|
+
|
|
342
|
+
sig { params(modified_time: String).void }
|
|
343
|
+
attr_writer :modified_time
|
|
344
|
+
|
|
345
|
+
# Open Graph metadata with the og: prefix removed and keys camel-cased.
|
|
346
|
+
sig do
|
|
347
|
+
returns(
|
|
348
|
+
T.nilable(
|
|
349
|
+
T::Hash[
|
|
350
|
+
Symbol,
|
|
351
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::OpenGraph::Variants
|
|
352
|
+
]
|
|
353
|
+
)
|
|
354
|
+
)
|
|
355
|
+
end
|
|
356
|
+
attr_reader :open_graph
|
|
357
|
+
|
|
358
|
+
sig do
|
|
359
|
+
params(
|
|
360
|
+
open_graph:
|
|
361
|
+
T::Hash[
|
|
362
|
+
Symbol,
|
|
363
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::OpenGraph::Variants
|
|
364
|
+
]
|
|
365
|
+
).void
|
|
366
|
+
end
|
|
367
|
+
attr_writer :open_graph
|
|
368
|
+
|
|
369
|
+
# Published timestamp/date from page metadata, when present.
|
|
370
|
+
sig { returns(T.nilable(String)) }
|
|
371
|
+
attr_reader :published_time
|
|
372
|
+
|
|
373
|
+
sig { params(published_time: String).void }
|
|
374
|
+
attr_writer :published_time
|
|
375
|
+
|
|
376
|
+
# Robots meta directive, when present.
|
|
377
|
+
sig { returns(T.nilable(String)) }
|
|
378
|
+
attr_reader :robots
|
|
379
|
+
|
|
380
|
+
sig { params(robots: String).void }
|
|
381
|
+
attr_writer :robots
|
|
382
|
+
|
|
383
|
+
# Site or application name from page metadata.
|
|
384
|
+
sig { returns(T.nilable(String)) }
|
|
385
|
+
attr_reader :site_name
|
|
386
|
+
|
|
387
|
+
sig { params(site_name: String).void }
|
|
388
|
+
attr_writer :site_name
|
|
389
|
+
|
|
390
|
+
# Twitter card metadata with the twitter: prefix removed and keys camel-cased.
|
|
391
|
+
sig do
|
|
392
|
+
returns(
|
|
393
|
+
T.nilable(
|
|
394
|
+
T::Hash[
|
|
395
|
+
Symbol,
|
|
396
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Twitter::Variants
|
|
397
|
+
]
|
|
398
|
+
)
|
|
399
|
+
)
|
|
400
|
+
end
|
|
401
|
+
attr_reader :twitter
|
|
402
|
+
|
|
403
|
+
sig do
|
|
404
|
+
params(
|
|
405
|
+
twitter:
|
|
406
|
+
T::Hash[
|
|
407
|
+
Symbol,
|
|
408
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Twitter::Variants
|
|
409
|
+
]
|
|
410
|
+
).void
|
|
411
|
+
end
|
|
412
|
+
attr_writer :twitter
|
|
413
|
+
|
|
200
414
|
sig do
|
|
201
415
|
params(
|
|
202
416
|
crawl_depth: Integer,
|
|
417
|
+
final_url: String,
|
|
418
|
+
source_url: String,
|
|
203
419
|
status_code: Integer,
|
|
204
420
|
success: T::Boolean,
|
|
205
421
|
title: String,
|
|
206
|
-
url: String
|
|
422
|
+
url: String,
|
|
423
|
+
additional_meta:
|
|
424
|
+
T::Hash[
|
|
425
|
+
Symbol,
|
|
426
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::AdditionalMeta::Variants
|
|
427
|
+
],
|
|
428
|
+
alternates:
|
|
429
|
+
T::Array[
|
|
430
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Alternate::OrHash
|
|
431
|
+
],
|
|
432
|
+
author: String,
|
|
433
|
+
canonical_url: String,
|
|
434
|
+
description: String,
|
|
435
|
+
favicon: String,
|
|
436
|
+
image: String,
|
|
437
|
+
json_ld: T::Array[T::Hash[Symbol, T.anything]],
|
|
438
|
+
keywords: T::Array[String],
|
|
439
|
+
language: String,
|
|
440
|
+
modified_time: String,
|
|
441
|
+
open_graph:
|
|
442
|
+
T::Hash[
|
|
443
|
+
Symbol,
|
|
444
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::OpenGraph::Variants
|
|
445
|
+
],
|
|
446
|
+
published_time: String,
|
|
447
|
+
robots: String,
|
|
448
|
+
site_name: String,
|
|
449
|
+
twitter:
|
|
450
|
+
T::Hash[
|
|
451
|
+
Symbol,
|
|
452
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Twitter::Variants
|
|
453
|
+
]
|
|
207
454
|
).returns(T.attached_class)
|
|
208
455
|
end
|
|
209
456
|
def self.new(
|
|
210
457
|
# Depth relative to the start URL. 0 = start URL, 1 = one link away.
|
|
211
458
|
crawl_depth:,
|
|
459
|
+
# Final URL scraped after redirects or scraper fallback, when known. Falls back to
|
|
460
|
+
# sourceUrl when unavailable.
|
|
461
|
+
final_url:,
|
|
462
|
+
# Original URL requested by the caller.
|
|
463
|
+
source_url:,
|
|
212
464
|
# HTTP status code of the response
|
|
213
465
|
status_code:,
|
|
214
466
|
# true if the page was fetched and parsed successfully
|
|
215
467
|
success:,
|
|
216
|
-
#
|
|
468
|
+
# Best page title extracted from the page (empty string if unavailable).
|
|
217
469
|
title:,
|
|
218
|
-
# The URL
|
|
219
|
-
url
|
|
470
|
+
# The crawl URL fetched for this page.
|
|
471
|
+
url:,
|
|
472
|
+
# Additional non-social meta tags not promoted to top-level metadata fields.
|
|
473
|
+
additional_meta: nil,
|
|
474
|
+
# Resolved alternate links from link rel=alternate tags.
|
|
475
|
+
alternates: nil,
|
|
476
|
+
# Author metadata, when present.
|
|
477
|
+
author: nil,
|
|
478
|
+
# Resolved canonical URL, when present.
|
|
479
|
+
canonical_url: nil,
|
|
480
|
+
# Best description extracted from standard, Open Graph, or Twitter metadata.
|
|
481
|
+
description: nil,
|
|
482
|
+
# Resolved favicon URL, when present.
|
|
483
|
+
favicon: nil,
|
|
484
|
+
# Primary resolved preview image from Open Graph, Twitter, or image metadata.
|
|
485
|
+
image: nil,
|
|
486
|
+
# JSON-LD structured data blocks parsed from the page.
|
|
487
|
+
json_ld: nil,
|
|
488
|
+
# Keywords extracted from the page's keywords meta tag.
|
|
489
|
+
keywords: nil,
|
|
490
|
+
# Language extracted from html lang or language meta tags.
|
|
491
|
+
language: nil,
|
|
492
|
+
# Modified timestamp/date from page metadata, when present.
|
|
493
|
+
modified_time: nil,
|
|
494
|
+
# Open Graph metadata with the og: prefix removed and keys camel-cased.
|
|
495
|
+
open_graph: nil,
|
|
496
|
+
# Published timestamp/date from page metadata, when present.
|
|
497
|
+
published_time: nil,
|
|
498
|
+
# Robots meta directive, when present.
|
|
499
|
+
robots: nil,
|
|
500
|
+
# Site or application name from page metadata.
|
|
501
|
+
site_name: nil,
|
|
502
|
+
# Twitter card metadata with the twitter: prefix removed and keys camel-cased.
|
|
503
|
+
twitter: nil
|
|
220
504
|
)
|
|
221
505
|
end
|
|
222
506
|
|
|
@@ -224,15 +508,218 @@ module ContextDev
|
|
|
224
508
|
override.returns(
|
|
225
509
|
{
|
|
226
510
|
crawl_depth: Integer,
|
|
511
|
+
final_url: String,
|
|
512
|
+
source_url: String,
|
|
227
513
|
status_code: Integer,
|
|
228
514
|
success: T::Boolean,
|
|
229
515
|
title: String,
|
|
230
|
-
url: String
|
|
516
|
+
url: String,
|
|
517
|
+
additional_meta:
|
|
518
|
+
T::Hash[
|
|
519
|
+
Symbol,
|
|
520
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::AdditionalMeta::Variants
|
|
521
|
+
],
|
|
522
|
+
alternates:
|
|
523
|
+
T::Array[
|
|
524
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Alternate
|
|
525
|
+
],
|
|
526
|
+
author: String,
|
|
527
|
+
canonical_url: String,
|
|
528
|
+
description: String,
|
|
529
|
+
favicon: String,
|
|
530
|
+
image: String,
|
|
531
|
+
json_ld: T::Array[T::Hash[Symbol, T.anything]],
|
|
532
|
+
keywords: T::Array[String],
|
|
533
|
+
language: String,
|
|
534
|
+
modified_time: String,
|
|
535
|
+
open_graph:
|
|
536
|
+
T::Hash[
|
|
537
|
+
Symbol,
|
|
538
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::OpenGraph::Variants
|
|
539
|
+
],
|
|
540
|
+
published_time: String,
|
|
541
|
+
robots: String,
|
|
542
|
+
site_name: String,
|
|
543
|
+
twitter:
|
|
544
|
+
T::Hash[
|
|
545
|
+
Symbol,
|
|
546
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Twitter::Variants
|
|
547
|
+
]
|
|
231
548
|
}
|
|
232
549
|
)
|
|
233
550
|
end
|
|
234
551
|
def to_hash
|
|
235
552
|
end
|
|
553
|
+
|
|
554
|
+
module AdditionalMeta
|
|
555
|
+
extend ContextDev::Internal::Type::Union
|
|
556
|
+
|
|
557
|
+
Variants = T.type_alias { T.any(String, T::Array[String]) }
|
|
558
|
+
|
|
559
|
+
sig do
|
|
560
|
+
override.returns(
|
|
561
|
+
T::Array[
|
|
562
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::AdditionalMeta::Variants
|
|
563
|
+
]
|
|
564
|
+
)
|
|
565
|
+
end
|
|
566
|
+
def self.variants
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
StringArray =
|
|
570
|
+
T.let(
|
|
571
|
+
ContextDev::Internal::Type::ArrayOf[String],
|
|
572
|
+
ContextDev::Internal::Type::Converter
|
|
573
|
+
)
|
|
574
|
+
end
|
|
575
|
+
|
|
576
|
+
class Alternate < ContextDev::Internal::Type::BaseModel
|
|
577
|
+
OrHash =
|
|
578
|
+
T.type_alias do
|
|
579
|
+
T.any(
|
|
580
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Alternate,
|
|
581
|
+
ContextDev::Internal::AnyHash
|
|
582
|
+
)
|
|
583
|
+
end
|
|
584
|
+
|
|
585
|
+
# Resolved alternate URL.
|
|
586
|
+
sig { returns(String) }
|
|
587
|
+
attr_accessor :href
|
|
588
|
+
|
|
589
|
+
# Language or locale for the alternate URL, when present.
|
|
590
|
+
sig { returns(T.nilable(String)) }
|
|
591
|
+
attr_reader :hreflang
|
|
592
|
+
|
|
593
|
+
sig { params(hreflang: String).void }
|
|
594
|
+
attr_writer :hreflang
|
|
595
|
+
|
|
596
|
+
# Alternate resource title, when present.
|
|
597
|
+
sig { returns(T.nilable(String)) }
|
|
598
|
+
attr_reader :title
|
|
599
|
+
|
|
600
|
+
sig { params(title: String).void }
|
|
601
|
+
attr_writer :title
|
|
602
|
+
|
|
603
|
+
# Alternate resource MIME type, when present.
|
|
604
|
+
sig { returns(T.nilable(String)) }
|
|
605
|
+
attr_reader :type
|
|
606
|
+
|
|
607
|
+
sig { params(type: String).void }
|
|
608
|
+
attr_writer :type
|
|
609
|
+
|
|
610
|
+
sig do
|
|
611
|
+
params(
|
|
612
|
+
href: String,
|
|
613
|
+
hreflang: String,
|
|
614
|
+
title: String,
|
|
615
|
+
type: String
|
|
616
|
+
).returns(T.attached_class)
|
|
617
|
+
end
|
|
618
|
+
def self.new(
|
|
619
|
+
# Resolved alternate URL.
|
|
620
|
+
href:,
|
|
621
|
+
# Language or locale for the alternate URL, when present.
|
|
622
|
+
hreflang: nil,
|
|
623
|
+
# Alternate resource title, when present.
|
|
624
|
+
title: nil,
|
|
625
|
+
# Alternate resource MIME type, when present.
|
|
626
|
+
type: nil
|
|
627
|
+
)
|
|
628
|
+
end
|
|
629
|
+
|
|
630
|
+
sig do
|
|
631
|
+
override.returns(
|
|
632
|
+
{ href: String, hreflang: String, title: String, type: String }
|
|
633
|
+
)
|
|
634
|
+
end
|
|
635
|
+
def to_hash
|
|
636
|
+
end
|
|
637
|
+
end
|
|
638
|
+
|
|
639
|
+
module OpenGraph
|
|
640
|
+
extend ContextDev::Internal::Type::Union
|
|
641
|
+
|
|
642
|
+
Variants = T.type_alias { T.any(String, T::Array[String]) }
|
|
643
|
+
|
|
644
|
+
sig do
|
|
645
|
+
override.returns(
|
|
646
|
+
T::Array[
|
|
647
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::OpenGraph::Variants
|
|
648
|
+
]
|
|
649
|
+
)
|
|
650
|
+
end
|
|
651
|
+
def self.variants
|
|
652
|
+
end
|
|
653
|
+
|
|
654
|
+
StringArray =
|
|
655
|
+
T.let(
|
|
656
|
+
ContextDev::Internal::Type::ArrayOf[String],
|
|
657
|
+
ContextDev::Internal::Type::Converter
|
|
658
|
+
)
|
|
659
|
+
end
|
|
660
|
+
|
|
661
|
+
module Twitter
|
|
662
|
+
extend ContextDev::Internal::Type::Union
|
|
663
|
+
|
|
664
|
+
Variants = T.type_alias { T.any(String, T::Array[String]) }
|
|
665
|
+
|
|
666
|
+
sig do
|
|
667
|
+
override.returns(
|
|
668
|
+
T::Array[
|
|
669
|
+
ContextDev::Models::WebWebCrawlMdResponse::Result::Metadata::Twitter::Variants
|
|
670
|
+
]
|
|
671
|
+
)
|
|
672
|
+
end
|
|
673
|
+
def self.variants
|
|
674
|
+
end
|
|
675
|
+
|
|
676
|
+
StringArray =
|
|
677
|
+
T.let(
|
|
678
|
+
ContextDev::Internal::Type::ArrayOf[String],
|
|
679
|
+
ContextDev::Internal::Type::Converter
|
|
680
|
+
)
|
|
681
|
+
end
|
|
682
|
+
end
|
|
683
|
+
end
|
|
684
|
+
|
|
685
|
+
class KeyMetadata < ContextDev::Internal::Type::BaseModel
|
|
686
|
+
OrHash =
|
|
687
|
+
T.type_alias do
|
|
688
|
+
T.any(
|
|
689
|
+
ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata,
|
|
690
|
+
ContextDev::Internal::AnyHash
|
|
691
|
+
)
|
|
692
|
+
end
|
|
693
|
+
|
|
694
|
+
# The number of credits consumed by this request.
|
|
695
|
+
sig { returns(Integer) }
|
|
696
|
+
attr_accessor :credits_consumed
|
|
697
|
+
|
|
698
|
+
# The number of credits remaining for your organization after this request.
|
|
699
|
+
sig { returns(Integer) }
|
|
700
|
+
attr_accessor :credits_remaining
|
|
701
|
+
|
|
702
|
+
# Metadata about the API key used for the request. Included in every response
|
|
703
|
+
# whenever a valid API key is provided, even when the response status is not 200.
|
|
704
|
+
sig do
|
|
705
|
+
params(credits_consumed: Integer, credits_remaining: Integer).returns(
|
|
706
|
+
T.attached_class
|
|
707
|
+
)
|
|
708
|
+
end
|
|
709
|
+
def self.new(
|
|
710
|
+
# The number of credits consumed by this request.
|
|
711
|
+
credits_consumed:,
|
|
712
|
+
# The number of credits remaining for your organization after this request.
|
|
713
|
+
credits_remaining:
|
|
714
|
+
)
|
|
715
|
+
end
|
|
716
|
+
|
|
717
|
+
sig do
|
|
718
|
+
override.returns(
|
|
719
|
+
{ credits_consumed: Integer, credits_remaining: Integer }
|
|
720
|
+
)
|
|
721
|
+
end
|
|
722
|
+
def to_hash
|
|
236
723
|
end
|
|
237
724
|
end
|
|
238
725
|
end
|