context.dev 2.8.0 → 2.10.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +10 -0
  5. data/lib/context_dev/models/batch_delete_params.rb +22 -0
  6. data/lib/context_dev/models/batch_delete_response.rb +60 -0
  7. data/lib/context_dev/models/batch_get_results_response.rb +46 -4
  8. data/lib/context_dev/models/batch_list_response.rb +13 -4
  9. data/lib/context_dev/models/batch_retrieve_response.rb +13 -4
  10. data/lib/context_dev/models/batch_submit_params.rb +2080 -26
  11. data/lib/context_dev/models/batch_submit_response.rb +125 -531
  12. data/lib/context_dev/models/brand_retrieve_response.rb +50 -1
  13. data/lib/context_dev/models/brand_search_params.rb +41 -3
  14. data/lib/context_dev/models/brand_search_response.rb +3 -2
  15. data/lib/context_dev/models/crawl_controls.rb +21 -15
  16. data/lib/context_dev/models/news_search_params.rb +467 -0
  17. data/lib/context_dev/models/news_search_response.rb +238 -0
  18. data/lib/context_dev/models/parse_handle_params.rb +20 -147
  19. data/lib/context_dev/models/person_enrich_params.rb +176 -0
  20. data/lib/context_dev/models/person_enrich_response.rb +641 -0
  21. data/lib/context_dev/models/utility_prefetch_params.rb +19 -16
  22. data/lib/context_dev/models/utility_prefetch_response.rb +4 -5
  23. data/lib/context_dev/models/web_screenshot_params.rb +3 -30
  24. data/lib/context_dev/models/web_search_response.rb +1 -0
  25. data/lib/context_dev/models/web_web_crawl_md_params.rb +5 -4
  26. data/lib/context_dev/models/web_web_crawl_md_response.rb +30 -1
  27. data/lib/context_dev/models/web_web_scrape_html_params.rb +20 -156
  28. data/lib/context_dev/models/web_web_scrape_html_response.rb +30 -1
  29. data/lib/context_dev/models/web_web_scrape_images_params.rb +12 -124
  30. data/lib/context_dev/models/web_web_scrape_md_params.rb +40 -241
  31. data/lib/context_dev/models/web_web_scrape_md_response.rb +41 -2
  32. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +11 -1
  33. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +3 -2
  34. data/lib/context_dev/models.rb +6 -0
  35. data/lib/context_dev/resources/batch.rb +33 -7
  36. data/lib/context_dev/resources/brand.rb +10 -10
  37. data/lib/context_dev/resources/news.rb +51 -0
  38. data/lib/context_dev/resources/parse.rb +5 -5
  39. data/lib/context_dev/resources/people.rb +56 -0
  40. data/lib/context_dev/resources/utility.rb +7 -6
  41. data/lib/context_dev/resources/web.rb +46 -24
  42. data/lib/context_dev/version.rb +1 -1
  43. data/lib/context_dev.rb +8 -0
  44. data/rbi/context_dev/client.rbi +8 -0
  45. data/rbi/context_dev/models/batch_delete_params.rbi +40 -0
  46. data/rbi/context_dev/models/batch_delete_response.rbi +116 -0
  47. data/rbi/context_dev/models/batch_get_results_response.rbi +85 -3
  48. data/rbi/context_dev/models/batch_list_response.rbi +24 -8
  49. data/rbi/context_dev/models/batch_retrieve_response.rbi +24 -8
  50. data/rbi/context_dev/models/batch_submit_params.rbi +6421 -44
  51. data/rbi/context_dev/models/batch_submit_response.rbi +184 -1151
  52. data/rbi/context_dev/models/brand_retrieve_response.rbi +152 -0
  53. data/rbi/context_dev/models/brand_search_params.rbi +71 -2
  54. data/rbi/context_dev/models/brand_search_response.rbi +4 -2
  55. data/rbi/context_dev/models/crawl_controls.rbi +22 -28
  56. data/rbi/context_dev/models/news_search_params.rbi +1294 -0
  57. data/rbi/context_dev/models/news_search_response.rbi +423 -0
  58. data/rbi/context_dev/models/parse_handle_params.rbi +30 -323
  59. data/rbi/context_dev/models/person_enrich_params.rbi +332 -0
  60. data/rbi/context_dev/models/person_enrich_response.rbi +1295 -0
  61. data/rbi/context_dev/models/utility_prefetch_params.rbi +24 -16
  62. data/rbi/context_dev/models/utility_prefetch_response.rbi +8 -6
  63. data/rbi/context_dev/models/web_screenshot_params.rbi +4 -71
  64. data/rbi/context_dev/models/web_search_response.rbi +5 -0
  65. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +8 -6
  66. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +67 -0
  67. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +30 -363
  68. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +65 -0
  69. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +16 -287
  70. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +57 -558
  71. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +80 -0
  72. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +15 -0
  73. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +4 -2
  74. data/rbi/context_dev/models.rbi +6 -0
  75. data/rbi/context_dev/resources/batch.rbi +32 -10
  76. data/rbi/context_dev/resources/brand.rbi +14 -8
  77. data/rbi/context_dev/resources/news.rbi +46 -0
  78. data/rbi/context_dev/resources/parse.rbi +10 -26
  79. data/rbi/context_dev/resources/people.rbi +47 -0
  80. data/rbi/context_dev/resources/utility.rbi +8 -6
  81. data/rbi/context_dev/resources/web.rbi +49 -66
  82. data/sig/context_dev/client.rbs +4 -0
  83. data/sig/context_dev/models/batch_delete_params.rbs +23 -0
  84. data/sig/context_dev/models/batch_delete_response.rbs +57 -0
  85. data/sig/context_dev/models/batch_get_results_response.rbs +30 -2
  86. data/sig/context_dev/models/batch_list_response.rbs +16 -2
  87. data/sig/context_dev/models/batch_retrieve_response.rbs +16 -2
  88. data/sig/context_dev/models/batch_submit_params.rbs +2666 -15
  89. data/sig/context_dev/models/batch_submit_response.rbs +78 -466
  90. data/sig/context_dev/models/brand_retrieve_response.rbs +62 -0
  91. data/sig/context_dev/models/brand_search_params.rbs +38 -1
  92. data/sig/context_dev/models/crawl_controls.rbs +16 -16
  93. data/sig/context_dev/models/news_search_params.rbs +532 -0
  94. data/sig/context_dev/models/news_search_response.rbs +206 -0
  95. data/sig/context_dev/models/parse_handle_params.rbs +25 -90
  96. data/sig/context_dev/models/person_enrich_params.rbs +199 -0
  97. data/sig/context_dev/models/person_enrich_response.rbs +638 -0
  98. data/sig/context_dev/models/utility_prefetch_params.rbs +2 -1
  99. data/sig/context_dev/models/utility_prefetch_response.rbs +2 -1
  100. data/sig/context_dev/models/web_screenshot_params.rbs +5 -18
  101. data/sig/context_dev/models/web_search_response.rbs +2 -0
  102. data/sig/context_dev/models/web_web_crawl_md_response.rbs +21 -0
  103. data/sig/context_dev/models/web_web_scrape_html_params.rbs +24 -94
  104. data/sig/context_dev/models/web_web_scrape_html_response.rbs +21 -0
  105. data/sig/context_dev/models/web_web_scrape_images_params.rbs +20 -72
  106. data/sig/context_dev/models/web_web_scrape_md_params.rbs +46 -148
  107. data/sig/context_dev/models/web_web_scrape_md_response.rbs +28 -0
  108. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +7 -0
  109. data/sig/context_dev/models.rbs +6 -0
  110. data/sig/context_dev/resources/batch.rbs +8 -2
  111. data/sig/context_dev/resources/brand.rbs +3 -0
  112. data/sig/context_dev/resources/news.rbs +17 -0
  113. data/sig/context_dev/resources/parse.rbs +5 -5
  114. data/sig/context_dev/resources/people.rbs +19 -0
  115. data/sig/context_dev/resources/web.rbs +13 -11
  116. metadata +26 -2
@@ -196,11 +196,7 @@ module ContextDev
196
196
  domain: String,
197
197
  full_screenshot:
198
198
  ContextDev::WebScreenshotParams::FullScreenshot::OrSymbol,
199
- handle_cookie_popup:
200
- T.any(
201
- T::Boolean,
202
- ContextDev::WebScreenshotParams::HandleCookiePopup::OrSymbol
203
- ),
199
+ handle_cookie_popup: T::Boolean,
204
200
  max_age_ms: T.nilable(Integer),
205
201
  page: ContextDev::WebScreenshotParams::Page::OrSymbol,
206
202
  scroll_offset: T.nilable(Integer),
@@ -439,26 +435,14 @@ module ContextDev
439
435
  country: ContextDev::WebWebScrapeHTMLParams::Country::OrSymbol,
440
436
  exclude_selectors: T.nilable(T::Array[String]),
441
437
  headers: T::Hash[Symbol, String],
442
- include_frames:
443
- T.any(
444
- T::Boolean,
445
- ContextDev::WebWebScrapeHTMLParams::IncludeFrames::OrSymbol
446
- ),
438
+ include_frames: T::Boolean,
447
439
  include_selectors: T.nilable(T::Array[String]),
448
440
  max_age_ms: T.nilable(Integer),
449
441
  pdf: ContextDev::WebWebScrapeHTMLParams::Pdf::OrHash,
450
- settle_animations:
451
- T.any(
452
- T::Boolean,
453
- ContextDev::WebWebScrapeHTMLParams::SettleAnimations::OrSymbol
454
- ),
442
+ settle_animations: T::Boolean,
455
443
  tags: T::Array[String],
456
444
  timeout_ms: Integer,
457
- use_main_content_only:
458
- T.any(
459
- T::Boolean,
460
- ContextDev::WebWebScrapeHTMLParams::UseMainContentOnly::OrSymbol
461
- ),
445
+ use_main_content_only: T::Boolean,
462
446
  wait_for_ms: T.nilable(Integer),
463
447
  zdr: ContextDev::WebWebScrapeHTMLParams::Zdr::OrSymbol,
464
448
  request_options: ContextDev::RequestOptions::OrHash
@@ -539,11 +523,7 @@ module ContextDev
539
523
  )
540
524
  ]
541
525
  ),
542
- dedupe:
543
- T.any(
544
- T::Boolean,
545
- ContextDev::WebWebScrapeImagesParams::Dedupe::OrSymbol
546
- ),
526
+ dedupe: T::Boolean,
547
527
  enrichment:
548
528
  T.nilable(ContextDev::WebWebScrapeImagesParams::Enrichment::OrHash),
549
529
  headers: T::Hash[Symbol, String],
@@ -595,18 +575,31 @@ module ContextDev
595
575
  # responses from a recognized API key; use error_code to distinguish stable
596
576
  # failure categories.
597
577
  #
578
+ # ### YouTube
579
+ #
580
+ # YouTube URLs return the video or channel itself rather than the surrounding
581
+ # player and navigation chrome. A URL addressing a single video (`/watch`,
582
+ # `youtu.be`, `/shorts`, `/embed`, `/live`) returns its title, channel, duration,
583
+ # view count, keywords, full description, and the transcript when the video has
584
+ # captions that can be retrieved; videos without captions return everything except
585
+ # the transcript. A channel URL (`/channel/UC…`, `/@handle`, `/c/…`, `/user/…`)
586
+ # returns its name, handle, subscriber count, video count, and full description.
587
+ # When `includeImages=true`, video responses also include the thumbnail and
588
+ # channel responses include the avatar. Costs the same as any other scrape.
589
+ #
598
590
  # ### Billing & errors
599
591
  #
600
- # | HTTP status | Billed? | Meaning |
601
- # | ----------- | ----------------------------------------- | ---------------------------------------------------------------------------------------- |
602
- # | 200 | Yes — 1 credit, or 2 credits with actions | Successful scrape, including a zero-length result when includeSelectors matched nothing |
603
- # | 400 | No | Invalid input, skipped PDF, or the page could not be scraped |
604
- # | 401 / 403 | No | Invalid/disabled key, insufficient permissions, or credits exhausted; inspect error_code |
605
- # | 404 | No | Target page returned or fingerprinted as not found |
606
- # | 408 | No | Request timed out |
607
- # | 415 | No | Unsupported content type |
608
- # | 429 | No | Per-minute rate limit exceeded; honor Retry-After |
609
- # | 500 | No | Internal error |
592
+ # | HTTP status | Billed? | Meaning |
593
+ # | ----------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
594
+ # | 200 | Yes — 1 credit, or 2 credits with actions | Successful scrape, including a zero-length result when includeSelectors matched nothing |
595
+ # | 400 | No | Invalid input, skipped PDF, or the page could not be scraped. error_code WEBSITE_BLOCKED specifically means the site answered with an anti-bot challenge, CAPTCHA wall, or login shell instead of the page (even when the site returned HTTP 200) — retrying later or from another country sometimes succeeds |
596
+ # | 401 / 403 | No | Invalid/disabled key, insufficient permissions, or credits exhausted; inspect error_code |
597
+ # | 404 | No | Target page returned or fingerprinted as not found |
598
+ # | 408 | No | Request timed out |
599
+ # | 413 | No | Target content exceeds the maximum supported size (20 MB) |
600
+ # | 415 | No | Unsupported content type |
601
+ # | 429 | No | Per-minute rate limit exceeded; honor Retry-After |
602
+ # | 500 | No | Internal error |
610
603
  sig do
611
604
  params(
612
605
  url: String,
@@ -622,41 +615,18 @@ module ContextDev
622
615
  country: ContextDev::WebWebScrapeMdParams::Country::OrSymbol,
623
616
  exclude_selectors: T.nilable(T::Array[String]),
624
617
  headers: T::Hash[Symbol, String],
625
- include_frames:
626
- T.any(
627
- T::Boolean,
628
- ContextDev::WebWebScrapeMdParams::IncludeFrames::OrSymbol
629
- ),
630
- include_images:
631
- T.any(
632
- T::Boolean,
633
- ContextDev::WebWebScrapeMdParams::IncludeImages::OrSymbol
634
- ),
635
- include_links:
636
- T.any(
637
- T::Boolean,
638
- ContextDev::WebWebScrapeMdParams::IncludeLinks::OrSymbol
639
- ),
618
+ include_frames: T::Boolean,
619
+ include_html: T::Boolean,
620
+ include_images: T::Boolean,
621
+ include_links: T::Boolean,
640
622
  include_selectors: T.nilable(T::Array[String]),
641
623
  max_age_ms: T.nilable(Integer),
642
624
  pdf: ContextDev::WebWebScrapeMdParams::Pdf::OrHash,
643
- settle_animations:
644
- T.any(
645
- T::Boolean,
646
- ContextDev::WebWebScrapeMdParams::SettleAnimations::OrSymbol
647
- ),
648
- shorten_base64_images:
649
- T.any(
650
- T::Boolean,
651
- ContextDev::WebWebScrapeMdParams::ShortenBase64Images::OrSymbol
652
- ),
625
+ settle_animations: T::Boolean,
626
+ shorten_base64_images: T::Boolean,
653
627
  tags: T::Array[String],
654
628
  timeout_ms: Integer,
655
- use_main_content_only:
656
- T.any(
657
- T::Boolean,
658
- ContextDev::WebWebScrapeMdParams::UseMainContentOnly::OrSymbol
659
- ),
629
+ use_main_content_only: T::Boolean,
660
630
  wait_for_ms: T.nilable(Integer),
661
631
  zdr: ContextDev::WebWebScrapeMdParams::Zdr::OrSymbol,
662
632
  request_options: ContextDev::RequestOptions::OrHash
@@ -683,6 +653,10 @@ module ContextDev
683
653
  headers: nil,
684
654
  # When true, the contents of iframes are rendered to Markdown.
685
655
  include_frames: nil,
656
+ # When true, the response also includes an `html` field with the page HTML the
657
+ # Markdown was converted from — the same body the Scrape HTML endpoint returns for
658
+ # the equivalent request.
659
+ include_html: nil,
686
660
  # Include image references in Markdown output
687
661
  include_images: nil,
688
662
  # Preserve hyperlinks in Markdown output
@@ -727,12 +701,17 @@ module ContextDev
727
701
  )
728
702
  end
729
703
 
730
- # Crawl an entire website's sitemap and return all discovered page URLs.
704
+ # Crawl an entire website's sitemap and return all discovered page URLs. Pass
705
+ # `search` to have the crawled sitemap filtered down to the pages about a phrase
706
+ # (for example `pricing and plans` or `api authentication docs`), most relevant
707
+ # first — a searched crawl scans the whole sitemap and costs 2 credits instead
708
+ # of 1.
731
709
  sig do
732
710
  params(
733
711
  domain: String,
734
712
  headers: T::Hash[Symbol, String],
735
713
  max_links: Integer,
714
+ search: String,
736
715
  sitemap_url: String,
737
716
  tags: T::Array[String],
738
717
  timeout_ms: Integer,
@@ -751,6 +730,10 @@ module ContextDev
751
730
  # Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
752
731
  # Minimum is 1, maximum is 100,000.
753
732
  max_links: nil,
733
+ # Optional search phrase. When provided, the crawled sitemap is filtered to the
734
+ # pages whose URLs are about that phrase, most relevant first, and the request
735
+ # costs 2 credits instead of 1.
736
+ search: nil,
754
737
  # Optional explicit sitemap URL. When provided, exactly this sitemap is crawled
755
738
  # instead of discovering the domain's sitemaps.
756
739
  sitemap_url: nil,
@@ -26,6 +26,10 @@ module ContextDev
26
26
 
27
27
  attr_reader batch: ContextDev::Resources::Batch
28
28
 
29
+ attr_reader people: ContextDev::Resources::People
30
+
31
+ attr_reader news: ContextDev::Resources::News
32
+
29
33
  private def auth_headers: -> ::Hash[String, String]
30
34
 
31
35
  def initialize: (
@@ -0,0 +1,23 @@
1
+ module ContextDev
2
+ module Models
3
+ type batch_delete_params =
4
+ { batch_id: String } & ContextDev::Internal::Type::request_parameters
5
+
6
+ class BatchDeleteParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ attr_accessor batch_id: String
11
+
12
+ def initialize: (
13
+ batch_id: String,
14
+ ?request_options: ContextDev::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ batch_id: String,
19
+ request_options: ContextDev::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,57 @@
1
+ module ContextDev
2
+ module Models
3
+ type batch_delete_response =
4
+ {
5
+ id: String,
6
+ deleted: bool,
7
+ key_metadata: ContextDev::Models::BatchDeleteResponse::KeyMetadata
8
+ }
9
+
10
+ class BatchDeleteResponse < ContextDev::Internal::Type::BaseModel
11
+ attr_reader id: String?
12
+
13
+ def id=: (String) -> String
14
+
15
+ attr_reader deleted: bool?
16
+
17
+ def deleted=: (bool) -> bool
18
+
19
+ attr_reader key_metadata: ContextDev::Models::BatchDeleteResponse::KeyMetadata?
20
+
21
+ def key_metadata=: (
22
+ ContextDev::Models::BatchDeleteResponse::KeyMetadata
23
+ ) -> ContextDev::Models::BatchDeleteResponse::KeyMetadata
24
+
25
+ def initialize: (
26
+ ?id: String,
27
+ ?deleted: bool,
28
+ ?key_metadata: ContextDev::Models::BatchDeleteResponse::KeyMetadata
29
+ ) -> void
30
+
31
+ def to_hash: -> {
32
+ id: String,
33
+ deleted: bool,
34
+ key_metadata: ContextDev::Models::BatchDeleteResponse::KeyMetadata
35
+ }
36
+
37
+ type key_metadata =
38
+ { credits_consumed: Integer, credits_remaining: Integer }
39
+
40
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
41
+ attr_accessor credits_consumed: Integer
42
+
43
+ attr_accessor credits_remaining: Integer
44
+
45
+ def initialize: (
46
+ credits_consumed: Integer,
47
+ credits_remaining: Integer
48
+ ) -> void
49
+
50
+ def to_hash: -> {
51
+ credits_consumed: Integer,
52
+ credits_remaining: Integer
53
+ }
54
+ end
55
+ end
56
+ end
57
+ end
@@ -58,7 +58,8 @@ module ContextDev
58
58
  html: String,
59
59
  item_id: String,
60
60
  markdown: String,
61
- meta: ::Hash[Symbol, top]
61
+ meta: ::Hash[Symbol, top],
62
+ ocr_pages: Integer
62
63
  }
63
64
 
64
65
  class Ok < ContextDev::Internal::Type::BaseModel
@@ -88,6 +89,10 @@ module ContextDev
88
89
 
89
90
  def meta=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
90
91
 
92
+ attr_reader ocr_pages: Integer?
93
+
94
+ def ocr_pages=: (Integer) -> Integer
95
+
91
96
  def initialize: (
92
97
  final_url: String,
93
98
  http_status: Integer?,
@@ -97,6 +102,7 @@ module ContextDev
97
102
  ?item_id: String,
98
103
  ?markdown: String,
99
104
  ?meta: ::Hash[Symbol, top],
105
+ ?ocr_pages: Integer,
100
106
  ?status: :ok
101
107
  ) -> void
102
108
 
@@ -109,7 +115,8 @@ module ContextDev
109
115
  html: String,
110
116
  item_id: String,
111
117
  markdown: String,
112
- meta: ::Hash[Symbol, top]
118
+ meta: ::Hash[Symbol, top],
119
+ ocr_pages: Integer
113
120
  }
114
121
 
115
122
  type metadata =
@@ -122,6 +129,7 @@ module ContextDev
122
129
  canonical_url: String,
123
130
  description: String,
124
131
  favicon: String,
132
+ headings: ::Array[ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading],
125
133
  image: String,
126
134
  json_ld: ::Array[::Hash[Symbol, top]],
127
135
  keywords: ::Array[String],
@@ -168,6 +176,12 @@ module ContextDev
168
176
 
169
177
  def favicon=: (String) -> String
170
178
 
179
+ attr_reader headings: ::Array[ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading]?
180
+
181
+ def headings=: (
182
+ ::Array[ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading]
183
+ ) -> ::Array[ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading]
184
+
171
185
  attr_reader image: String?
172
186
 
173
187
  def image=: (String) -> String
@@ -227,6 +241,7 @@ module ContextDev
227
241
  ?canonical_url: String,
228
242
  ?description: String,
229
243
  ?favicon: String,
244
+ ?headings: ::Array[ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading],
230
245
  ?image: String,
231
246
  ?json_ld: ::Array[::Hash[Symbol, top]],
232
247
  ?keywords: ::Array[String],
@@ -249,6 +264,7 @@ module ContextDev
249
264
  canonical_url: String,
250
265
  description: String,
251
266
  favicon: String,
267
+ headings: ::Array[ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading],
252
268
  image: String,
253
269
  json_ld: ::Array[::Hash[Symbol, top]],
254
270
  keywords: ::Array[String],
@@ -305,6 +321,18 @@ module ContextDev
305
321
  }
306
322
  end
307
323
 
324
+ type heading = { level: Integer, text: String }
325
+
326
+ class Heading < ContextDev::Internal::Type::BaseModel
327
+ attr_accessor level: Integer
328
+
329
+ attr_accessor text: String
330
+
331
+ def initialize: (level: Integer, text: String) -> void
332
+
333
+ def to_hash: -> { level: Integer, text: String }
334
+ end
335
+
308
336
  type open_graph = String | ::Array[String]
309
337
 
310
338
  module OpenGraph
@@ -117,22 +117,36 @@ module ContextDev
117
117
  timing: ContextDev::Models::BatchListResponse::Data::Timing
118
118
  }
119
119
 
120
- type credits = { net: Integer, refunded: Integer, reserved: Integer }
120
+ type credits =
121
+ {
122
+ net: Integer,
123
+ ocr_charged: Integer,
124
+ refunded: Integer,
125
+ reserved: Integer
126
+ }
121
127
 
122
128
  class Credits < ContextDev::Internal::Type::BaseModel
123
129
  attr_accessor net: Integer
124
130
 
131
+ attr_accessor ocr_charged: Integer
132
+
125
133
  attr_accessor refunded: Integer
126
134
 
127
135
  attr_accessor reserved: Integer
128
136
 
129
137
  def initialize: (
130
138
  net: Integer,
139
+ ocr_charged: Integer,
131
140
  refunded: Integer,
132
141
  reserved: Integer
133
142
  ) -> void
134
143
 
135
- def to_hash: -> { net: Integer, refunded: Integer, reserved: Integer }
144
+ def to_hash: -> {
145
+ net: Integer,
146
+ ocr_charged: Integer,
147
+ refunded: Integer,
148
+ reserved: Integer
149
+ }
136
150
  end
137
151
 
138
152
  type format_ = :markdown | :html
@@ -90,22 +90,36 @@ module ContextDev
90
90
  key_metadata: ContextDev::Models::BatchRetrieveResponse::KeyMetadata
91
91
  }
92
92
 
93
- type credits = { net: Integer, refunded: Integer, reserved: Integer }
93
+ type credits =
94
+ {
95
+ net: Integer,
96
+ ocr_charged: Integer,
97
+ refunded: Integer,
98
+ reserved: Integer
99
+ }
94
100
 
95
101
  class Credits < ContextDev::Internal::Type::BaseModel
96
102
  attr_accessor net: Integer
97
103
 
104
+ attr_accessor ocr_charged: Integer
105
+
98
106
  attr_accessor refunded: Integer
99
107
 
100
108
  attr_accessor reserved: Integer
101
109
 
102
110
  def initialize: (
103
111
  net: Integer,
112
+ ocr_charged: Integer,
104
113
  refunded: Integer,
105
114
  reserved: Integer
106
115
  ) -> void
107
116
 
108
- def to_hash: -> { net: Integer, refunded: Integer, reserved: Integer }
117
+ def to_hash: -> {
118
+ net: Integer,
119
+ ocr_charged: Integer,
120
+ refunded: Integer,
121
+ reserved: Integer
122
+ }
109
123
  end
110
124
 
111
125
  type format_ = :markdown | :html