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
@@ -0,0 +1,116 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class BatchDeleteResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::BatchDeleteResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # ID of the deleted batch.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :id
17
+
18
+ sig { params(id: String).void }
19
+ attr_writer :id
20
+
21
+ # Always true on success.
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_reader :deleted
24
+
25
+ sig { params(deleted: T::Boolean).void }
26
+ attr_writer :deleted
27
+
28
+ # Metadata about the API key used for the request. Included in every response
29
+ # whenever a valid API key is provided, even when the response status is not 200.
30
+ sig do
31
+ returns(T.nilable(ContextDev::Models::BatchDeleteResponse::KeyMetadata))
32
+ end
33
+ attr_reader :key_metadata
34
+
35
+ sig do
36
+ params(
37
+ key_metadata:
38
+ ContextDev::Models::BatchDeleteResponse::KeyMetadata::OrHash
39
+ ).void
40
+ end
41
+ attr_writer :key_metadata
42
+
43
+ sig do
44
+ params(
45
+ id: String,
46
+ deleted: T::Boolean,
47
+ key_metadata:
48
+ ContextDev::Models::BatchDeleteResponse::KeyMetadata::OrHash
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ # ID of the deleted batch.
53
+ id: nil,
54
+ # Always true on success.
55
+ deleted: nil,
56
+ # Metadata about the API key used for the request. Included in every response
57
+ # whenever a valid API key is provided, even when the response status is not 200.
58
+ key_metadata: nil
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ id: String,
66
+ deleted: T::Boolean,
67
+ key_metadata: ContextDev::Models::BatchDeleteResponse::KeyMetadata
68
+ }
69
+ )
70
+ end
71
+ def to_hash
72
+ end
73
+
74
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
75
+ OrHash =
76
+ T.type_alias do
77
+ T.any(
78
+ ContextDev::Models::BatchDeleteResponse::KeyMetadata,
79
+ ContextDev::Internal::AnyHash
80
+ )
81
+ end
82
+
83
+ # The number of credits consumed by this request.
84
+ sig { returns(Integer) }
85
+ attr_accessor :credits_consumed
86
+
87
+ # The number of credits remaining for your organization after this request.
88
+ sig { returns(Integer) }
89
+ attr_accessor :credits_remaining
90
+
91
+ # Metadata about the API key used for the request. Included in every response
92
+ # whenever a valid API key is provided, even when the response status is not 200.
93
+ sig do
94
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
95
+ T.attached_class
96
+ )
97
+ end
98
+ def self.new(
99
+ # The number of credits consumed by this request.
100
+ credits_consumed:,
101
+ # The number of credits remaining for your organization after this request.
102
+ credits_remaining:
103
+ )
104
+ end
105
+
106
+ sig do
107
+ override.returns(
108
+ { credits_consumed: Integer, credits_remaining: Integer }
109
+ )
110
+ end
111
+ def to_hash
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -162,7 +162,8 @@ module ContextDev
162
162
  sig { returns(String) }
163
163
  attr_accessor :url
164
164
 
165
- # Raw page HTML. Present on html batches.
165
+ # Page HTML. Present on html batches, and on markdown batches submitted with
166
+ # `options.includeHTML`.
166
167
  sig { returns(T.nilable(String)) }
167
168
  attr_reader :html
168
169
 
@@ -190,6 +191,14 @@ module ContextDev
190
191
  sig { params(meta: T::Hash[Symbol, T.anything]).void }
191
192
  attr_writer :meta
192
193
 
194
+ # PDF pages of this document recovered by OCR (pdf.ocr=true). Each recovered page
195
+ # bills 1 credit on top of the page base credit; absent when no OCR ran.
196
+ sig { returns(T.nilable(Integer)) }
197
+ attr_reader :ocr_pages
198
+
199
+ sig { params(ocr_pages: Integer).void }
200
+ attr_writer :ocr_pages
201
+
193
202
  # A page the batch fetched successfully.
194
203
  sig do
195
204
  params(
@@ -202,6 +211,7 @@ module ContextDev
202
211
  item_id: String,
203
212
  markdown: String,
204
213
  meta: T::Hash[Symbol, T.anything],
214
+ ocr_pages: Integer,
205
215
  status: Symbol
206
216
  ).returns(T.attached_class)
207
217
  end
@@ -214,7 +224,8 @@ module ContextDev
214
224
  metadata:,
215
225
  # URL as submitted, or as discovered by the crawl.
216
226
  url:,
217
- # Raw page HTML. Present on html batches.
227
+ # Page HTML. Present on html batches, and on markdown batches submitted with
228
+ # `options.includeHTML`.
218
229
  html: nil,
219
230
  # Caller-supplied identifier echoed from submission.
220
231
  item_id: nil,
@@ -222,6 +233,9 @@ module ContextDev
222
233
  markdown: nil,
223
234
  # Caller-supplied metadata echoed from submission.
224
235
  meta: nil,
236
+ # PDF pages of this document recovered by OCR (pdf.ocr=true). Each recovered page
237
+ # bills 1 credit on top of the page base credit; absent when no OCR ran.
238
+ ocr_pages: nil,
225
239
  # The page was scraped.
226
240
  status: :ok
227
241
  )
@@ -239,7 +253,8 @@ module ContextDev
239
253
  html: String,
240
254
  item_id: String,
241
255
  markdown: String,
242
- meta: T::Hash[Symbol, T.anything]
256
+ meta: T::Hash[Symbol, T.anything],
257
+ ocr_pages: Integer
243
258
  }
244
259
  )
245
260
  end
@@ -338,6 +353,29 @@ module ContextDev
338
353
  sig { params(favicon: String).void }
339
354
  attr_writer :favicon
340
355
 
356
+ # Page headings (h1–h6) in document order, extracted from the unfiltered document.
357
+ # Capped at the first 500 headings. Omitted when the page has none.
358
+ sig do
359
+ returns(
360
+ T.nilable(
361
+ T::Array[
362
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading
363
+ ]
364
+ )
365
+ )
366
+ end
367
+ attr_reader :headings
368
+
369
+ sig do
370
+ params(
371
+ headings:
372
+ T::Array[
373
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading::OrHash
374
+ ]
375
+ ).void
376
+ end
377
+ attr_writer :headings
378
+
341
379
  # Primary resolved preview image from Open Graph, Twitter, or image metadata.
342
380
  sig { returns(T.nilable(String)) }
343
381
  attr_reader :image
@@ -467,6 +505,10 @@ module ContextDev
467
505
  canonical_url: String,
468
506
  description: String,
469
507
  favicon: String,
508
+ headings:
509
+ T::Array[
510
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading::OrHash
511
+ ],
470
512
  image: String,
471
513
  json_ld: T::Array[T::Hash[Symbol, T.anything]],
472
514
  keywords: T::Array[String],
@@ -506,6 +548,9 @@ module ContextDev
506
548
  description: nil,
507
549
  # Resolved favicon URL, when present.
508
550
  favicon: nil,
551
+ # Page headings (h1–h6) in document order, extracted from the unfiltered document.
552
+ # Capped at the first 500 headings. Omitted when the page has none.
553
+ headings: nil,
509
554
  # Primary resolved preview image from Open Graph, Twitter, or image metadata.
510
555
  image: nil,
511
556
  # JSON-LD structured data blocks parsed from the page.
@@ -549,6 +594,10 @@ module ContextDev
549
594
  canonical_url: String,
550
595
  description: String,
551
596
  favicon: String,
597
+ headings:
598
+ T::Array[
599
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading
600
+ ],
552
601
  image: String,
553
602
  json_ld: T::Array[T::Hash[Symbol, T.anything]],
554
603
  keywords: T::Array[String],
@@ -664,6 +713,39 @@ module ContextDev
664
713
  end
665
714
  end
666
715
 
716
+ class Heading < ContextDev::Internal::Type::BaseModel
717
+ OrHash =
718
+ T.type_alias do
719
+ T.any(
720
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Heading,
721
+ ContextDev::Internal::AnyHash
722
+ )
723
+ end
724
+
725
+ # Heading level, 1–6 (from h1–h6).
726
+ sig { returns(Integer) }
727
+ attr_accessor :level
728
+
729
+ # Heading text with whitespace collapsed, truncated to 1000 characters.
730
+ sig { returns(String) }
731
+ attr_accessor :text
732
+
733
+ sig do
734
+ params(level: Integer, text: String).returns(T.attached_class)
735
+ end
736
+ def self.new(
737
+ # Heading level, 1–6 (from h1–h6).
738
+ level:,
739
+ # Heading text with whitespace collapsed, truncated to 1000 characters.
740
+ text:
741
+ )
742
+ end
743
+
744
+ sig { override.returns({ level: Integer, text: String }) }
745
+ def to_hash
746
+ end
747
+ end
748
+
667
749
  module OpenGraph
668
750
  extend ContextDev::Internal::Type::Union
669
751
 
@@ -304,11 +304,16 @@ module ContextDev
304
304
  )
305
305
  end
306
306
 
307
- # `reserved` minus `refunded` — what the batch has cost so far. Equal to
308
- # `reserved` until the batch settles.
307
+ # `reserved` minus `refunded` plus `ocr_charged` — what the batch has cost so far.
308
+ # Equal to `reserved` until the batch settles.
309
309
  sig { returns(Integer) }
310
310
  attr_accessor :net
311
311
 
312
+ # Credits charged for PDF pages recovered by OCR (pdf.ocr=true), 1 per recovered
313
+ # page, on top of `reserved`. Stays 0 until the batch settles.
314
+ sig { returns(Integer) }
315
+ attr_accessor :ocr_charged
316
+
312
317
  # Credits returned for pages that did not succeed. Stays 0 until the batch reaches
313
318
  # a final status, then settles in one movement.
314
319
  sig { returns(Integer) }
@@ -321,14 +326,20 @@ module ContextDev
321
326
 
322
327
  # What this batch has done to your credit balance.
323
328
  sig do
324
- params(net: Integer, refunded: Integer, reserved: Integer).returns(
325
- T.attached_class
326
- )
329
+ params(
330
+ net: Integer,
331
+ ocr_charged: Integer,
332
+ refunded: Integer,
333
+ reserved: Integer
334
+ ).returns(T.attached_class)
327
335
  end
328
336
  def self.new(
329
- # `reserved` minus `refunded` — what the batch has cost so far. Equal to
330
- # `reserved` until the batch settles.
337
+ # `reserved` minus `refunded` plus `ocr_charged` — what the batch has cost so far.
338
+ # Equal to `reserved` until the batch settles.
331
339
  net:,
340
+ # Credits charged for PDF pages recovered by OCR (pdf.ocr=true), 1 per recovered
341
+ # page, on top of `reserved`. Stays 0 until the batch settles.
342
+ ocr_charged:,
332
343
  # Credits returned for pages that did not succeed. Stays 0 until the batch reaches
333
344
  # a final status, then settles in one movement.
334
345
  refunded:,
@@ -340,7 +351,12 @@ module ContextDev
340
351
 
341
352
  sig do
342
353
  override.returns(
343
- { net: Integer, refunded: Integer, reserved: Integer }
354
+ {
355
+ net: Integer,
356
+ ocr_charged: Integer,
357
+ refunded: Integer,
358
+ reserved: Integer
359
+ }
344
360
  )
345
361
  end
346
362
  def to_hash
@@ -238,11 +238,16 @@ module ContextDev
238
238
  )
239
239
  end
240
240
 
241
- # `reserved` minus `refunded` — what the batch has cost so far. Equal to
242
- # `reserved` until the batch settles.
241
+ # `reserved` minus `refunded` plus `ocr_charged` — what the batch has cost so far.
242
+ # Equal to `reserved` until the batch settles.
243
243
  sig { returns(Integer) }
244
244
  attr_accessor :net
245
245
 
246
+ # Credits charged for PDF pages recovered by OCR (pdf.ocr=true), 1 per recovered
247
+ # page, on top of `reserved`. Stays 0 until the batch settles.
248
+ sig { returns(Integer) }
249
+ attr_accessor :ocr_charged
250
+
246
251
  # Credits returned for pages that did not succeed. Stays 0 until the batch reaches
247
252
  # a final status, then settles in one movement.
248
253
  sig { returns(Integer) }
@@ -255,14 +260,20 @@ module ContextDev
255
260
 
256
261
  # What this batch has done to your credit balance.
257
262
  sig do
258
- params(net: Integer, refunded: Integer, reserved: Integer).returns(
259
- T.attached_class
260
- )
263
+ params(
264
+ net: Integer,
265
+ ocr_charged: Integer,
266
+ refunded: Integer,
267
+ reserved: Integer
268
+ ).returns(T.attached_class)
261
269
  end
262
270
  def self.new(
263
- # `reserved` minus `refunded` — what the batch has cost so far. Equal to
264
- # `reserved` until the batch settles.
271
+ # `reserved` minus `refunded` plus `ocr_charged` — what the batch has cost so far.
272
+ # Equal to `reserved` until the batch settles.
265
273
  net:,
274
+ # Credits charged for PDF pages recovered by OCR (pdf.ocr=true), 1 per recovered
275
+ # page, on top of `reserved`. Stays 0 until the batch settles.
276
+ ocr_charged:,
266
277
  # Credits returned for pages that did not succeed. Stays 0 until the batch reaches
267
278
  # a final status, then settles in one movement.
268
279
  refunded:,
@@ -274,7 +285,12 @@ module ContextDev
274
285
 
275
286
  sig do
276
287
  override.returns(
277
- { net: Integer, refunded: Integer, reserved: Integer }
288
+ {
289
+ net: Integer,
290
+ ocr_charged: Integer,
291
+ refunded: Integer,
292
+ reserved: Integer
293
+ }
278
294
  )
279
295
  end
280
296
  def to_hash