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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/internal/transport/base_client.rb +4 -1
  5. data/lib/context_dev/models/ai_ai_query_response.rb +36 -1
  6. data/lib/context_dev/models/ai_extract_product_response.rb +36 -1
  7. data/lib/context_dev/models/ai_extract_products_response.rb +36 -1
  8. data/lib/context_dev/models/brand_identify_from_transaction_response.rb +36 -1
  9. data/lib/context_dev/models/brand_retrieve_by_email_response.rb +36 -1
  10. data/lib/context_dev/models/brand_retrieve_by_isin_response.rb +36 -1
  11. data/lib/context_dev/models/brand_retrieve_by_name_response.rb +36 -1
  12. data/lib/context_dev/models/brand_retrieve_by_ticker_response.rb +36 -1
  13. data/lib/context_dev/models/brand_retrieve_response.rb +36 -1
  14. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +36 -1
  15. data/lib/context_dev/models/industry_retrieve_naics_response.rb +36 -1
  16. data/lib/context_dev/models/industry_retrieve_sic_response.rb +33 -1
  17. data/lib/context_dev/models/utility_prefetch_by_email_response.rb +36 -1
  18. data/lib/context_dev/models/utility_prefetch_response.rb +36 -1
  19. data/lib/context_dev/models/web_extract_competitors_response.rb +36 -1
  20. data/lib/context_dev/models/web_extract_fonts_response.rb +33 -1
  21. data/lib/context_dev/models/web_extract_params.rb +18 -1
  22. data/lib/context_dev/models/web_extract_response.rb +36 -1
  23. data/lib/context_dev/models/web_extract_styleguide_response.rb +36 -1
  24. data/lib/context_dev/models/web_screenshot_response.rb +36 -1
  25. data/lib/context_dev/models/web_search_response.rb +36 -1
  26. data/lib/context_dev/models/web_web_crawl_md_response.rb +275 -6
  27. data/lib/context_dev/models/web_web_scrape_html_response.rb +290 -1
  28. data/lib/context_dev/models/web_web_scrape_images_response.rb +36 -1
  29. data/lib/context_dev/models/web_web_scrape_md_response.rb +291 -1
  30. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +36 -1
  31. data/lib/context_dev/resources/web.rb +5 -1
  32. data/lib/context_dev/version.rb +1 -1
  33. data/rbi/context_dev/models/ai_ai_query_response.rbi +62 -0
  34. data/rbi/context_dev/models/ai_extract_product_response.rbi +65 -0
  35. data/rbi/context_dev/models/ai_extract_products_response.rbi +65 -0
  36. data/rbi/context_dev/models/brand_identify_from_transaction_response.rbi +67 -0
  37. data/rbi/context_dev/models/brand_retrieve_by_email_response.rbi +67 -0
  38. data/rbi/context_dev/models/brand_retrieve_by_isin_response.rbi +67 -0
  39. data/rbi/context_dev/models/brand_retrieve_by_name_response.rbi +67 -0
  40. data/rbi/context_dev/models/brand_retrieve_by_ticker_response.rbi +67 -0
  41. data/rbi/context_dev/models/brand_retrieve_response.rbi +65 -0
  42. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +67 -0
  43. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +67 -0
  44. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +67 -0
  45. data/rbi/context_dev/models/utility_prefetch_by_email_response.rbi +79 -4
  46. data/rbi/context_dev/models/utility_prefetch_response.rbi +77 -4
  47. data/rbi/context_dev/models/web_extract_competitors_response.rbi +70 -3
  48. data/rbi/context_dev/models/web_extract_fonts_response.rbi +68 -3
  49. data/rbi/context_dev/models/web_extract_params.rbi +24 -0
  50. data/rbi/context_dev/models/web_extract_response.rbi +65 -3
  51. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +67 -0
  52. data/rbi/context_dev/models/web_screenshot_response.rbi +65 -0
  53. data/rbi/context_dev/models/web_search_response.rbi +65 -3
  54. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +497 -10
  55. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +553 -3
  56. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +68 -3
  57. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +542 -3
  58. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +70 -3
  59. data/rbi/context_dev/resources/web.rbi +7 -0
  60. data/sig/context_dev/models/ai_ai_query_response.rbs +28 -0
  61. data/sig/context_dev/models/ai_extract_product_response.rbs +28 -0
  62. data/sig/context_dev/models/ai_extract_products_response.rbs +28 -0
  63. data/sig/context_dev/models/brand_identify_from_transaction_response.rbs +28 -0
  64. data/sig/context_dev/models/brand_retrieve_by_email_response.rbs +28 -0
  65. data/sig/context_dev/models/brand_retrieve_by_isin_response.rbs +28 -0
  66. data/sig/context_dev/models/brand_retrieve_by_name_response.rbs +28 -0
  67. data/sig/context_dev/models/brand_retrieve_by_ticker_response.rbs +28 -0
  68. data/sig/context_dev/models/brand_retrieve_response.rbs +28 -0
  69. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +28 -0
  70. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +28 -0
  71. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +28 -0
  72. data/sig/context_dev/models/utility_prefetch_by_email_response.rbs +38 -2
  73. data/sig/context_dev/models/utility_prefetch_response.rbs +38 -2
  74. data/sig/context_dev/models/web_extract_competitors_response.rbs +31 -3
  75. data/sig/context_dev/models/web_extract_fonts_response.rbs +31 -3
  76. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  77. data/sig/context_dev/models/web_extract_response.rbs +31 -3
  78. data/sig/context_dev/models/web_extract_styleguide_response.rbs +28 -0
  79. data/sig/context_dev/models/web_screenshot_response.rbs +28 -0
  80. data/sig/context_dev/models/web_search_response.rbs +31 -3
  81. data/sig/context_dev/models/web_web_crawl_md_response.rbs +229 -6
  82. data/sig/context_dev/models/web_web_scrape_html_response.rbs +263 -4
  83. data/sig/context_dev/models/web_web_scrape_images_response.rbs +31 -3
  84. data/sig/context_dev/models/web_web_scrape_md_response.rbs +250 -3
  85. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +31 -3
  86. data/sig/context_dev/resources/web.rbs +2 -0
  87. metadata +2 -2
@@ -17,6 +17,18 @@ module ContextDev
17
17
  sig { returns(String) }
18
18
  attr_accessor :html
19
19
 
20
+ # Metadata extracted from the scraped page HTML.
21
+ sig { returns(ContextDev::Models::WebWebScrapeHTMLResponse::Metadata) }
22
+ attr_reader :metadata
23
+
24
+ sig do
25
+ params(
26
+ metadata:
27
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OrHash
28
+ ).void
29
+ end
30
+ attr_writer :metadata
31
+
20
32
  # Indicates success
21
33
  sig do
22
34
  returns(
@@ -38,13 +50,34 @@ module ContextDev
38
50
  sig { returns(String) }
39
51
  attr_accessor :url
40
52
 
53
+ # Metadata about the API key used for the request. Included in every response
54
+ # whenever a valid API key is provided, even when the response status is not 200.
55
+ sig do
56
+ returns(
57
+ T.nilable(ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata)
58
+ )
59
+ end
60
+ attr_reader :key_metadata
61
+
62
+ sig do
63
+ params(
64
+ key_metadata:
65
+ ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata::OrHash
66
+ ).void
67
+ end
68
+ attr_writer :key_metadata
69
+
41
70
  sig do
42
71
  params(
43
72
  html: String,
73
+ metadata:
74
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OrHash,
44
75
  success:
45
76
  ContextDev::Models::WebWebScrapeHTMLResponse::Success::OrBoolean,
46
77
  type: ContextDev::Models::WebWebScrapeHTMLResponse::Type::OrSymbol,
47
- url: String
78
+ url: String,
79
+ key_metadata:
80
+ ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata::OrHash
48
81
  ).returns(T.attached_class)
49
82
  end
50
83
  def self.new(
@@ -52,13 +85,18 @@ module ContextDev
52
85
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
53
86
  # into HTML), this is the underlying XML instead — see the `type` field.
54
87
  html:,
88
+ # Metadata extracted from the scraped page HTML.
89
+ metadata:,
55
90
  # Indicates success
56
91
  success:,
57
92
  # Detected content type of the returned `html` field. Sitemaps and feeds are
58
93
  # surfaced as `xml`; ordinary pages are `html`.
59
94
  type:,
60
95
  # The URL that was scraped
61
- url:
96
+ url:,
97
+ # Metadata about the API key used for the request. Included in every response
98
+ # whenever a valid API key is provided, even when the response status is not 200.
99
+ key_metadata: nil
62
100
  )
63
101
  end
64
102
 
@@ -66,17 +104,478 @@ module ContextDev
66
104
  override.returns(
67
105
  {
68
106
  html: String,
107
+ metadata: ContextDev::Models::WebWebScrapeHTMLResponse::Metadata,
69
108
  success:
70
109
  ContextDev::Models::WebWebScrapeHTMLResponse::Success::TaggedBoolean,
71
110
  type:
72
111
  ContextDev::Models::WebWebScrapeHTMLResponse::Type::TaggedSymbol,
73
- url: String
112
+ url: String,
113
+ key_metadata:
114
+ ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata
74
115
  }
75
116
  )
76
117
  end
77
118
  def to_hash
78
119
  end
79
120
 
121
+ class Metadata < ContextDev::Internal::Type::BaseModel
122
+ OrHash =
123
+ T.type_alias do
124
+ T.any(
125
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata,
126
+ ContextDev::Internal::AnyHash
127
+ )
128
+ end
129
+
130
+ # Final URL scraped after redirects or scraper fallback, when known. Falls back to
131
+ # sourceUrl when unavailable.
132
+ sig { returns(String) }
133
+ attr_accessor :final_url
134
+
135
+ # Original URL requested by the caller.
136
+ sig { returns(String) }
137
+ attr_accessor :source_url
138
+
139
+ # Additional non-social meta tags not promoted to top-level metadata fields.
140
+ sig do
141
+ returns(
142
+ T.nilable(
143
+ T::Hash[
144
+ Symbol,
145
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::AdditionalMeta::Variants
146
+ ]
147
+ )
148
+ )
149
+ end
150
+ attr_reader :additional_meta
151
+
152
+ sig do
153
+ params(
154
+ additional_meta:
155
+ T::Hash[
156
+ Symbol,
157
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::AdditionalMeta::Variants
158
+ ]
159
+ ).void
160
+ end
161
+ attr_writer :additional_meta
162
+
163
+ # Resolved alternate links from link rel=alternate tags.
164
+ sig do
165
+ returns(
166
+ T.nilable(
167
+ T::Array[
168
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Alternate
169
+ ]
170
+ )
171
+ )
172
+ end
173
+ attr_reader :alternates
174
+
175
+ sig do
176
+ params(
177
+ alternates:
178
+ T::Array[
179
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Alternate::OrHash
180
+ ]
181
+ ).void
182
+ end
183
+ attr_writer :alternates
184
+
185
+ # Author metadata, when present.
186
+ sig { returns(T.nilable(String)) }
187
+ attr_reader :author
188
+
189
+ sig { params(author: String).void }
190
+ attr_writer :author
191
+
192
+ # Resolved canonical URL, when present.
193
+ sig { returns(T.nilable(String)) }
194
+ attr_reader :canonical_url
195
+
196
+ sig { params(canonical_url: String).void }
197
+ attr_writer :canonical_url
198
+
199
+ # Best description extracted from standard, Open Graph, or Twitter metadata.
200
+ sig { returns(T.nilable(String)) }
201
+ attr_reader :description
202
+
203
+ sig { params(description: String).void }
204
+ attr_writer :description
205
+
206
+ # Resolved favicon URL, when present.
207
+ sig { returns(T.nilable(String)) }
208
+ attr_reader :favicon
209
+
210
+ sig { params(favicon: String).void }
211
+ attr_writer :favicon
212
+
213
+ # Primary resolved preview image from Open Graph, Twitter, or image metadata.
214
+ sig { returns(T.nilable(String)) }
215
+ attr_reader :image
216
+
217
+ sig { params(image: String).void }
218
+ attr_writer :image
219
+
220
+ # JSON-LD structured data blocks parsed from the page.
221
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
222
+ attr_reader :json_ld
223
+
224
+ sig { params(json_ld: T::Array[T::Hash[Symbol, T.anything]]).void }
225
+ attr_writer :json_ld
226
+
227
+ # Keywords extracted from the page's keywords meta tag.
228
+ sig { returns(T.nilable(T::Array[String])) }
229
+ attr_reader :keywords
230
+
231
+ sig { params(keywords: T::Array[String]).void }
232
+ attr_writer :keywords
233
+
234
+ # Language extracted from html lang or language meta tags.
235
+ sig { returns(T.nilable(String)) }
236
+ attr_reader :language
237
+
238
+ sig { params(language: String).void }
239
+ attr_writer :language
240
+
241
+ # Modified timestamp/date from page metadata, when present.
242
+ sig { returns(T.nilable(String)) }
243
+ attr_reader :modified_time
244
+
245
+ sig { params(modified_time: String).void }
246
+ attr_writer :modified_time
247
+
248
+ # Open Graph metadata with the og: prefix removed and keys camel-cased.
249
+ sig do
250
+ returns(
251
+ T.nilable(
252
+ T::Hash[
253
+ Symbol,
254
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OpenGraph::Variants
255
+ ]
256
+ )
257
+ )
258
+ end
259
+ attr_reader :open_graph
260
+
261
+ sig do
262
+ params(
263
+ open_graph:
264
+ T::Hash[
265
+ Symbol,
266
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OpenGraph::Variants
267
+ ]
268
+ ).void
269
+ end
270
+ attr_writer :open_graph
271
+
272
+ # Published timestamp/date from page metadata, when present.
273
+ sig { returns(T.nilable(String)) }
274
+ attr_reader :published_time
275
+
276
+ sig { params(published_time: String).void }
277
+ attr_writer :published_time
278
+
279
+ # Robots meta directive, when present.
280
+ sig { returns(T.nilable(String)) }
281
+ attr_reader :robots
282
+
283
+ sig { params(robots: String).void }
284
+ attr_writer :robots
285
+
286
+ # Site or application name from page metadata.
287
+ sig { returns(T.nilable(String)) }
288
+ attr_reader :site_name
289
+
290
+ sig { params(site_name: String).void }
291
+ attr_writer :site_name
292
+
293
+ # Best title extracted from the page.
294
+ sig { returns(T.nilable(String)) }
295
+ attr_reader :title
296
+
297
+ sig { params(title: String).void }
298
+ attr_writer :title
299
+
300
+ # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
301
+ sig do
302
+ returns(
303
+ T.nilable(
304
+ T::Hash[
305
+ Symbol,
306
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Twitter::Variants
307
+ ]
308
+ )
309
+ )
310
+ end
311
+ attr_reader :twitter
312
+
313
+ sig do
314
+ params(
315
+ twitter:
316
+ T::Hash[
317
+ Symbol,
318
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Twitter::Variants
319
+ ]
320
+ ).void
321
+ end
322
+ attr_writer :twitter
323
+
324
+ # Metadata extracted from the scraped page HTML.
325
+ sig do
326
+ params(
327
+ final_url: String,
328
+ source_url: String,
329
+ additional_meta:
330
+ T::Hash[
331
+ Symbol,
332
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::AdditionalMeta::Variants
333
+ ],
334
+ alternates:
335
+ T::Array[
336
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Alternate::OrHash
337
+ ],
338
+ author: String,
339
+ canonical_url: String,
340
+ description: String,
341
+ favicon: String,
342
+ image: String,
343
+ json_ld: T::Array[T::Hash[Symbol, T.anything]],
344
+ keywords: T::Array[String],
345
+ language: String,
346
+ modified_time: String,
347
+ open_graph:
348
+ T::Hash[
349
+ Symbol,
350
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OpenGraph::Variants
351
+ ],
352
+ published_time: String,
353
+ robots: String,
354
+ site_name: String,
355
+ title: String,
356
+ twitter:
357
+ T::Hash[
358
+ Symbol,
359
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Twitter::Variants
360
+ ]
361
+ ).returns(T.attached_class)
362
+ end
363
+ def self.new(
364
+ # Final URL scraped after redirects or scraper fallback, when known. Falls back to
365
+ # sourceUrl when unavailable.
366
+ final_url:,
367
+ # Original URL requested by the caller.
368
+ source_url:,
369
+ # Additional non-social meta tags not promoted to top-level metadata fields.
370
+ additional_meta: nil,
371
+ # Resolved alternate links from link rel=alternate tags.
372
+ alternates: nil,
373
+ # Author metadata, when present.
374
+ author: nil,
375
+ # Resolved canonical URL, when present.
376
+ canonical_url: nil,
377
+ # Best description extracted from standard, Open Graph, or Twitter metadata.
378
+ description: nil,
379
+ # Resolved favicon URL, when present.
380
+ favicon: nil,
381
+ # Primary resolved preview image from Open Graph, Twitter, or image metadata.
382
+ image: nil,
383
+ # JSON-LD structured data blocks parsed from the page.
384
+ json_ld: nil,
385
+ # Keywords extracted from the page's keywords meta tag.
386
+ keywords: nil,
387
+ # Language extracted from html lang or language meta tags.
388
+ language: nil,
389
+ # Modified timestamp/date from page metadata, when present.
390
+ modified_time: nil,
391
+ # Open Graph metadata with the og: prefix removed and keys camel-cased.
392
+ open_graph: nil,
393
+ # Published timestamp/date from page metadata, when present.
394
+ published_time: nil,
395
+ # Robots meta directive, when present.
396
+ robots: nil,
397
+ # Site or application name from page metadata.
398
+ site_name: nil,
399
+ # Best title extracted from the page.
400
+ title: nil,
401
+ # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
402
+ twitter: nil
403
+ )
404
+ end
405
+
406
+ sig do
407
+ override.returns(
408
+ {
409
+ final_url: String,
410
+ source_url: String,
411
+ additional_meta:
412
+ T::Hash[
413
+ Symbol,
414
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::AdditionalMeta::Variants
415
+ ],
416
+ alternates:
417
+ T::Array[
418
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Alternate
419
+ ],
420
+ author: String,
421
+ canonical_url: String,
422
+ description: String,
423
+ favicon: String,
424
+ image: String,
425
+ json_ld: T::Array[T::Hash[Symbol, T.anything]],
426
+ keywords: T::Array[String],
427
+ language: String,
428
+ modified_time: String,
429
+ open_graph:
430
+ T::Hash[
431
+ Symbol,
432
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OpenGraph::Variants
433
+ ],
434
+ published_time: String,
435
+ robots: String,
436
+ site_name: String,
437
+ title: String,
438
+ twitter:
439
+ T::Hash[
440
+ Symbol,
441
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Twitter::Variants
442
+ ]
443
+ }
444
+ )
445
+ end
446
+ def to_hash
447
+ end
448
+
449
+ module AdditionalMeta
450
+ extend ContextDev::Internal::Type::Union
451
+
452
+ Variants = T.type_alias { T.any(String, T::Array[String]) }
453
+
454
+ sig do
455
+ override.returns(
456
+ T::Array[
457
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::AdditionalMeta::Variants
458
+ ]
459
+ )
460
+ end
461
+ def self.variants
462
+ end
463
+
464
+ StringArray =
465
+ T.let(
466
+ ContextDev::Internal::Type::ArrayOf[String],
467
+ ContextDev::Internal::Type::Converter
468
+ )
469
+ end
470
+
471
+ class Alternate < ContextDev::Internal::Type::BaseModel
472
+ OrHash =
473
+ T.type_alias do
474
+ T.any(
475
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Alternate,
476
+ ContextDev::Internal::AnyHash
477
+ )
478
+ end
479
+
480
+ # Resolved alternate URL.
481
+ sig { returns(String) }
482
+ attr_accessor :href
483
+
484
+ # Language or locale for the alternate URL, when present.
485
+ sig { returns(T.nilable(String)) }
486
+ attr_reader :hreflang
487
+
488
+ sig { params(hreflang: String).void }
489
+ attr_writer :hreflang
490
+
491
+ # Alternate resource title, when present.
492
+ sig { returns(T.nilable(String)) }
493
+ attr_reader :title
494
+
495
+ sig { params(title: String).void }
496
+ attr_writer :title
497
+
498
+ # Alternate resource MIME type, when present.
499
+ sig { returns(T.nilable(String)) }
500
+ attr_reader :type
501
+
502
+ sig { params(type: String).void }
503
+ attr_writer :type
504
+
505
+ sig do
506
+ params(
507
+ href: String,
508
+ hreflang: String,
509
+ title: String,
510
+ type: String
511
+ ).returns(T.attached_class)
512
+ end
513
+ def self.new(
514
+ # Resolved alternate URL.
515
+ href:,
516
+ # Language or locale for the alternate URL, when present.
517
+ hreflang: nil,
518
+ # Alternate resource title, when present.
519
+ title: nil,
520
+ # Alternate resource MIME type, when present.
521
+ type: nil
522
+ )
523
+ end
524
+
525
+ sig do
526
+ override.returns(
527
+ { href: String, hreflang: String, title: String, type: String }
528
+ )
529
+ end
530
+ def to_hash
531
+ end
532
+ end
533
+
534
+ module OpenGraph
535
+ extend ContextDev::Internal::Type::Union
536
+
537
+ Variants = T.type_alias { T.any(String, T::Array[String]) }
538
+
539
+ sig do
540
+ override.returns(
541
+ T::Array[
542
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::OpenGraph::Variants
543
+ ]
544
+ )
545
+ end
546
+ def self.variants
547
+ end
548
+
549
+ StringArray =
550
+ T.let(
551
+ ContextDev::Internal::Type::ArrayOf[String],
552
+ ContextDev::Internal::Type::Converter
553
+ )
554
+ end
555
+
556
+ module Twitter
557
+ extend ContextDev::Internal::Type::Union
558
+
559
+ Variants = T.type_alias { T.any(String, T::Array[String]) }
560
+
561
+ sig do
562
+ override.returns(
563
+ T::Array[
564
+ ContextDev::Models::WebWebScrapeHTMLResponse::Metadata::Twitter::Variants
565
+ ]
566
+ )
567
+ end
568
+ def self.variants
569
+ end
570
+
571
+ StringArray =
572
+ T.let(
573
+ ContextDev::Internal::Type::ArrayOf[String],
574
+ ContextDev::Internal::Type::Converter
575
+ )
576
+ end
577
+ end
578
+
80
579
  # Indicates success
81
580
  module Success
82
581
  extend ContextDev::Internal::Type::Enum
@@ -158,6 +657,16 @@ module ContextDev
158
657
  :pdf,
159
658
  ContextDev::Models::WebWebScrapeHTMLResponse::Type::TaggedSymbol
160
659
  )
660
+ DOCX =
661
+ T.let(
662
+ :docx,
663
+ ContextDev::Models::WebWebScrapeHTMLResponse::Type::TaggedSymbol
664
+ )
665
+ DOC =
666
+ T.let(
667
+ :doc,
668
+ ContextDev::Models::WebWebScrapeHTMLResponse::Type::TaggedSymbol
669
+ )
161
670
 
162
671
  sig do
163
672
  override.returns(
@@ -169,6 +678,47 @@ module ContextDev
169
678
  def self.values
170
679
  end
171
680
  end
681
+
682
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
683
+ OrHash =
684
+ T.type_alias do
685
+ T.any(
686
+ ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata,
687
+ ContextDev::Internal::AnyHash
688
+ )
689
+ end
690
+
691
+ # The number of credits consumed by this request.
692
+ sig { returns(Integer) }
693
+ attr_accessor :credits_consumed
694
+
695
+ # The number of credits remaining for your organization after this request.
696
+ sig { returns(Integer) }
697
+ attr_accessor :credits_remaining
698
+
699
+ # Metadata about the API key used for the request. Included in every response
700
+ # whenever a valid API key is provided, even when the response status is not 200.
701
+ sig do
702
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
703
+ T.attached_class
704
+ )
705
+ end
706
+ def self.new(
707
+ # The number of credits consumed by this request.
708
+ credits_consumed:,
709
+ # The number of credits remaining for your organization after this request.
710
+ credits_remaining:
711
+ )
712
+ end
713
+
714
+ sig do
715
+ override.returns(
716
+ { credits_consumed: Integer, credits_remaining: Integer }
717
+ )
718
+ end
719
+ def to_hash
720
+ end
721
+ end
172
722
  end
173
723
  end
174
724
  end
@@ -29,6 +29,23 @@ module ContextDev
29
29
  sig { returns(String) }
30
30
  attr_accessor :url
31
31
 
32
+ # Metadata about the API key used for the request. Included in every response
33
+ # whenever a valid API key is provided, even when the response status is not 200.
34
+ sig do
35
+ returns(
36
+ T.nilable(ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata)
37
+ )
38
+ end
39
+ attr_reader :key_metadata
40
+
41
+ sig do
42
+ params(
43
+ key_metadata:
44
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata::OrHash
45
+ ).void
46
+ end
47
+ attr_writer :key_metadata
48
+
32
49
  sig do
33
50
  params(
34
51
  images:
@@ -37,7 +54,9 @@ module ContextDev
37
54
  ],
38
55
  success:
39
56
  ContextDev::Models::WebWebScrapeImagesResponse::Success::OrBoolean,
40
- url: String
57
+ url: String,
58
+ key_metadata:
59
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata::OrHash
41
60
  ).returns(T.attached_class)
42
61
  end
43
62
  def self.new(
@@ -46,7 +65,10 @@ module ContextDev
46
65
  # Always true on success.
47
66
  success:,
48
67
  # Page URL that was scraped.
49
- url:
68
+ url:,
69
+ # Metadata about the API key used for the request. Included in every response
70
+ # whenever a valid API key is provided, even when the response status is not 200.
71
+ key_metadata: nil
50
72
  )
51
73
  end
52
74
 
@@ -57,7 +79,9 @@ module ContextDev
57
79
  T::Array[ContextDev::Models::WebWebScrapeImagesResponse::Image],
58
80
  success:
59
81
  ContextDev::Models::WebWebScrapeImagesResponse::Success::TaggedBoolean,
60
- url: String
82
+ url: String,
83
+ key_metadata:
84
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata
61
85
  }
62
86
  )
63
87
  end
@@ -459,6 +483,47 @@ module ContextDev
459
483
  def self.values
460
484
  end
461
485
  end
486
+
487
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
488
+ OrHash =
489
+ T.type_alias do
490
+ T.any(
491
+ ContextDev::Models::WebWebScrapeImagesResponse::KeyMetadata,
492
+ ContextDev::Internal::AnyHash
493
+ )
494
+ end
495
+
496
+ # The number of credits consumed by this request.
497
+ sig { returns(Integer) }
498
+ attr_accessor :credits_consumed
499
+
500
+ # The number of credits remaining for your organization after this request.
501
+ sig { returns(Integer) }
502
+ attr_accessor :credits_remaining
503
+
504
+ # Metadata about the API key used for the request. Included in every response
505
+ # whenever a valid API key is provided, even when the response status is not 200.
506
+ sig do
507
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
508
+ T.attached_class
509
+ )
510
+ end
511
+ def self.new(
512
+ # The number of credits consumed by this request.
513
+ credits_consumed:,
514
+ # The number of credits remaining for your organization after this request.
515
+ credits_remaining:
516
+ )
517
+ end
518
+
519
+ sig do
520
+ override.returns(
521
+ { credits_consumed: Integer, credits_remaining: Integer }
522
+ )
523
+ end
524
+ def to_hash
525
+ end
526
+ end
462
527
  end
463
528
  end
464
529
  end