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
@@ -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(
@@ -27,21 +38,47 @@ module ContextDev
27
38
  sig { returns(String) }
28
39
  attr_accessor :url
29
40
 
41
+ # Metadata about the API key used for the request. Included in every response
42
+ # whenever a valid API key is provided, even when the response status is not 200.
43
+ sig do
44
+ returns(
45
+ T.nilable(ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata)
46
+ )
47
+ end
48
+ attr_reader :key_metadata
49
+
50
+ sig do
51
+ params(
52
+ key_metadata:
53
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata::OrHash
54
+ ).void
55
+ end
56
+ attr_writer :key_metadata
57
+
30
58
  sig do
31
59
  params(
32
60
  markdown: String,
61
+ metadata:
62
+ ContextDev::Models::WebWebScrapeMdResponse::Metadata::OrHash,
33
63
  success:
34
64
  ContextDev::Models::WebWebScrapeMdResponse::Success::OrBoolean,
35
- url: String
65
+ url: String,
66
+ key_metadata:
67
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata::OrHash
36
68
  ).returns(T.attached_class)
37
69
  end
38
70
  def self.new(
39
71
  # Page content converted to GitHub Flavored Markdown
40
72
  markdown:,
73
+ # Metadata extracted from the scraped page HTML.
74
+ metadata:,
41
75
  # Indicates success
42
76
  success:,
43
77
  # The URL that was scraped
44
- url:
78
+ url:,
79
+ # Metadata about the API key used for the request. Included in every response
80
+ # whenever a valid API key is provided, even when the response status is not 200.
81
+ key_metadata: nil
45
82
  )
46
83
  end
47
84
 
@@ -49,15 +86,476 @@ module ContextDev
49
86
  override.returns(
50
87
  {
51
88
  markdown: String,
89
+ metadata: ContextDev::Models::WebWebScrapeMdResponse::Metadata,
52
90
  success:
53
91
  ContextDev::Models::WebWebScrapeMdResponse::Success::TaggedBoolean,
54
- url: String
92
+ url: String,
93
+ key_metadata:
94
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata
55
95
  }
56
96
  )
57
97
  end
58
98
  def to_hash
59
99
  end
60
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
+
61
559
  # Indicates success
62
560
  module Success
63
561
  extend ContextDev::Internal::Type::Enum
@@ -87,6 +585,47 @@ module ContextDev
87
585
  def self.values
88
586
  end
89
587
  end
588
+
589
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
590
+ OrHash =
591
+ T.type_alias do
592
+ T.any(
593
+ ContextDev::Models::WebWebScrapeMdResponse::KeyMetadata,
594
+ ContextDev::Internal::AnyHash
595
+ )
596
+ end
597
+
598
+ # The number of credits consumed by this request.
599
+ sig { returns(Integer) }
600
+ attr_accessor :credits_consumed
601
+
602
+ # The number of credits remaining for your organization after this request.
603
+ sig { returns(Integer) }
604
+ attr_accessor :credits_remaining
605
+
606
+ # Metadata about the API key used for the request. Included in every response
607
+ # whenever a valid API key is provided, even when the response status is not 200.
608
+ sig do
609
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
610
+ T.attached_class
611
+ )
612
+ end
613
+ def self.new(
614
+ # The number of credits consumed by this request.
615
+ credits_consumed:,
616
+ # The number of credits remaining for your organization after this request.
617
+ credits_remaining:
618
+ )
619
+ end
620
+
621
+ sig do
622
+ override.returns(
623
+ { credits_consumed: Integer, credits_remaining: Integer }
624
+ )
625
+ end
626
+ def to_hash
627
+ end
628
+ end
90
629
  end
91
630
  end
92
631
  end
@@ -38,13 +38,34 @@ module ContextDev
38
38
  sig { returns(T::Array[String]) }
39
39
  attr_accessor :urls
40
40
 
41
+ # Metadata about the API key used for the request. Included in every response
42
+ # whenever a valid API key is provided, even when the response status is not 200.
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata
47
+ )
48
+ )
49
+ end
50
+ attr_reader :key_metadata
51
+
52
+ sig do
53
+ params(
54
+ key_metadata:
55
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata::OrHash
56
+ ).void
57
+ end
58
+ attr_writer :key_metadata
59
+
41
60
  sig do
42
61
  params(
43
62
  domain: String,
44
63
  meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta::OrHash,
45
64
  success:
46
65
  ContextDev::Models::WebWebScrapeSitemapResponse::Success::OrBoolean,
47
- urls: T::Array[String]
66
+ urls: T::Array[String],
67
+ key_metadata:
68
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata::OrHash
48
69
  ).returns(T.attached_class)
49
70
  end
50
71
  def self.new(
@@ -55,7 +76,10 @@ module ContextDev
55
76
  # Indicates success
56
77
  success:,
57
78
  # Array of discovered page URLs from the sitemap (max 500)
58
- urls:
79
+ urls:,
80
+ # Metadata about the API key used for the request. Included in every response
81
+ # whenever a valid API key is provided, even when the response status is not 200.
82
+ key_metadata: nil
59
83
  )
60
84
  end
61
85
 
@@ -66,7 +90,9 @@ module ContextDev
66
90
  meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta,
67
91
  success:
68
92
  ContextDev::Models::WebWebScrapeSitemapResponse::Success::TaggedBoolean,
69
- urls: T::Array[String]
93
+ urls: T::Array[String],
94
+ key_metadata:
95
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata
70
96
  }
71
97
  )
72
98
  end
@@ -162,6 +188,47 @@ module ContextDev
162
188
  def self.values
163
189
  end
164
190
  end
191
+
192
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
193
+ OrHash =
194
+ T.type_alias do
195
+ T.any(
196
+ ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata,
197
+ ContextDev::Internal::AnyHash
198
+ )
199
+ end
200
+
201
+ # The number of credits consumed by this request.
202
+ sig { returns(Integer) }
203
+ attr_accessor :credits_consumed
204
+
205
+ # The number of credits remaining for your organization after this request.
206
+ sig { returns(Integer) }
207
+ attr_accessor :credits_remaining
208
+
209
+ # Metadata about the API key used for the request. Included in every response
210
+ # whenever a valid API key is provided, even when the response status is not 200.
211
+ sig do
212
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
213
+ T.attached_class
214
+ )
215
+ end
216
+ def self.new(
217
+ # The number of credits consumed by this request.
218
+ credits_consumed:,
219
+ # The number of credits remaining for your organization after this request.
220
+ credits_remaining:
221
+ )
222
+ end
223
+
224
+ sig do
225
+ override.returns(
226
+ { credits_consumed: Integer, credits_remaining: Integer }
227
+ )
228
+ end
229
+ def to_hash
230
+ end
231
+ end
165
232
  end
166
233
  end
167
234
  end
@@ -14,6 +14,8 @@ module ContextDev
14
14
  include_frames: T::Boolean,
15
15
  instructions: String,
16
16
  max_age_ms: Integer,
17
+ max_depth: Integer,
18
+ max_pages: Integer,
17
19
  pdf: ContextDev::WebExtractParams::Pdf::OrHash,
18
20
  stop_after_ms: Integer,
19
21
  timeout_ms: Integer,
@@ -46,6 +48,11 @@ module ContextDev
46
48
  # Return cached scrape results if a prior scrape for the same parameters is
47
49
  # younger than this many milliseconds. Defaults to 7 days (604800000 ms).
48
50
  max_age_ms: nil,
51
+ # Optional maximum link depth from the starting URL (0 = only the starting page).
52
+ # If omitted, there is no crawl depth limit.
53
+ max_depth: nil,
54
+ # Maximum number of pages to analyze for extraction. Hard cap: 50. Defaults to 5.
55
+ max_pages: nil,
49
56
  pdf: nil,
50
57
  # Soft time budget for the crawl in milliseconds. Min: 10000 (10s). Max: 110000
51
58
  # (110s). Default: 80000 (80s).