context.dev 2.5.0 → 2.6.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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +4 -0
  5. data/lib/context_dev/models/batch_cancel_params.rb +22 -0
  6. data/lib/context_dev/models/batch_cancel_response.rb +354 -0
  7. data/lib/context_dev/models/batch_get_results_params.rb +42 -0
  8. data/lib/context_dev/models/batch_get_results_response.rb +463 -0
  9. data/lib/context_dev/models/batch_list_params.rb +94 -0
  10. data/lib/context_dev/models/batch_list_response.rb +388 -0
  11. data/lib/context_dev/models/batch_retrieve_params.rb +22 -0
  12. data/lib/context_dev/models/batch_retrieve_response.rb +390 -0
  13. data/lib/context_dev/models/batch_submit_params.rb +56 -0
  14. data/lib/context_dev/models/batch_submit_response.rb +614 -0
  15. data/lib/context_dev/models/error.rb +26 -0
  16. data/lib/context_dev/models/error_count.rb +26 -0
  17. data/lib/context_dev/models/monitor_create_params.rb +141 -127
  18. data/lib/context_dev/models/monitor_create_response.rb +34 -10
  19. data/lib/context_dev/models/monitor_list_response.rb +21 -7
  20. data/lib/context_dev/models/monitor_retrieve_response.rb +21 -7
  21. data/lib/context_dev/models/monitor_update_params.rb +21 -7
  22. data/lib/context_dev/models/monitor_update_response.rb +21 -7
  23. data/lib/context_dev/models/web_web_scrape_html_response.rb +93 -1
  24. data/lib/context_dev/models/web_web_scrape_md_response.rb +93 -1
  25. data/lib/context_dev/models.rb +14 -0
  26. data/lib/context_dev/resources/batch.rb +155 -0
  27. data/lib/context_dev/resources/monitors.rb +5 -5
  28. data/lib/context_dev/version.rb +1 -1
  29. data/lib/context_dev.rb +13 -0
  30. data/rbi/context_dev/client.rbi +3 -0
  31. data/rbi/context_dev/models/batch_cancel_params.rbi +40 -0
  32. data/rbi/context_dev/models/batch_cancel_response.rbi +642 -0
  33. data/rbi/context_dev/models/batch_get_results_params.rbi +70 -0
  34. data/rbi/context_dev/models/batch_get_results_response.rbi +848 -0
  35. data/rbi/context_dev/models/batch_list_params.rbi +166 -0
  36. data/rbi/context_dev/models/batch_list_response.rbi +738 -0
  37. data/rbi/context_dev/models/batch_retrieve_params.rbi +40 -0
  38. data/rbi/context_dev/models/batch_retrieve_response.rbi +707 -0
  39. data/rbi/context_dev/models/batch_submit_params.rbi +105 -0
  40. data/rbi/context_dev/models/batch_submit_response.rbi +1330 -0
  41. data/rbi/context_dev/models/error.rbi +32 -0
  42. data/rbi/context_dev/models/error_count.rbi +34 -0
  43. data/rbi/context_dev/models/monitor_create_params.rbi +274 -242
  44. data/rbi/context_dev/models/monitor_create_response.rbi +38 -7
  45. data/rbi/context_dev/models/monitor_list_response.rbi +24 -5
  46. data/rbi/context_dev/models/monitor_retrieve_response.rbi +24 -5
  47. data/rbi/context_dev/models/monitor_update_params.rbi +24 -5
  48. data/rbi/context_dev/models/monitor_update_response.rbi +24 -5
  49. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +182 -0
  50. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +180 -0
  51. data/rbi/context_dev/models.rbi +14 -0
  52. data/rbi/context_dev/resources/batch.rbi +120 -0
  53. data/rbi/context_dev/resources/monitors.rbi +12 -12
  54. data/sig/context_dev/client.rbs +2 -0
  55. data/sig/context_dev/models/batch_cancel_params.rbs +23 -0
  56. data/sig/context_dev/models/batch_cancel_response.rbs +266 -0
  57. data/sig/context_dev/models/batch_get_results_params.rbs +36 -0
  58. data/sig/context_dev/models/batch_get_results_response.rbs +399 -0
  59. data/sig/context_dev/models/batch_list_params.rbs +94 -0
  60. data/sig/context_dev/models/batch_list_response.rbs +304 -0
  61. data/sig/context_dev/models/batch_retrieve_params.rbs +23 -0
  62. data/sig/context_dev/models/batch_retrieve_response.rbs +290 -0
  63. data/sig/context_dev/models/batch_submit_params.rbs +52 -0
  64. data/sig/context_dev/models/batch_submit_response.rbs +542 -0
  65. data/sig/context_dev/models/error.rbs +15 -0
  66. data/sig/context_dev/models/error_count.rbs +15 -0
  67. data/sig/context_dev/models/monitor_create_params.rbs +117 -97
  68. data/sig/context_dev/models/monitor_create_response.rbs +18 -1
  69. data/sig/context_dev/models/monitor_list_response.rbs +13 -1
  70. data/sig/context_dev/models/monitor_retrieve_response.rbs +13 -1
  71. data/sig/context_dev/models/monitor_update_params.rbs +13 -1
  72. data/sig/context_dev/models/monitor_update_response.rbs +13 -1
  73. data/sig/context_dev/models/web_web_scrape_html_response.rbs +85 -0
  74. data/sig/context_dev/models/web_web_scrape_md_response.rbs +85 -0
  75. data/sig/context_dev/models.rbs +14 -0
  76. data/sig/context_dev/resources/batch.rbs +41 -0
  77. data/sig/context_dev/resources/monitors.rbs +2 -2
  78. metadata +41 -2
@@ -0,0 +1,848 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class BatchGetResultsResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::BatchGetResultsResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Result records on this page.
15
+ sig do
16
+ returns(
17
+ T.nilable(
18
+ T::Array[
19
+ ContextDev::Models::BatchGetResultsResponse::Data::Variants
20
+ ]
21
+ )
22
+ )
23
+ end
24
+ attr_reader :data
25
+
26
+ sig do
27
+ params(
28
+ data:
29
+ T::Array[
30
+ T.any(
31
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::OrHash,
32
+ ContextDev::Models::BatchGetResultsResponse::Data::Error::OrHash
33
+ )
34
+ ]
35
+ ).void
36
+ end
37
+ attr_writer :data
38
+
39
+ # Whether another page is available.
40
+ sig { returns(T.nilable(T::Boolean)) }
41
+ attr_reader :has_more
42
+
43
+ sig { params(has_more: T::Boolean).void }
44
+ attr_writer :has_more
45
+
46
+ # Metadata about the API key used for the request. Included in every response
47
+ # whenever a valid API key is provided, even when the response status is not 200.
48
+ sig do
49
+ returns(
50
+ T.nilable(ContextDev::Models::BatchGetResultsResponse::KeyMetadata)
51
+ )
52
+ end
53
+ attr_reader :key_metadata
54
+
55
+ sig do
56
+ params(
57
+ key_metadata:
58
+ ContextDev::Models::BatchGetResultsResponse::KeyMetadata::OrHash
59
+ ).void
60
+ end
61
+ attr_writer :key_metadata
62
+
63
+ # Cursor for the next page.
64
+ sig { returns(T.nilable(String)) }
65
+ attr_accessor :next_cursor
66
+
67
+ sig do
68
+ params(
69
+ data:
70
+ T::Array[
71
+ T.any(
72
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::OrHash,
73
+ ContextDev::Models::BatchGetResultsResponse::Data::Error::OrHash
74
+ )
75
+ ],
76
+ has_more: T::Boolean,
77
+ key_metadata:
78
+ ContextDev::Models::BatchGetResultsResponse::KeyMetadata::OrHash,
79
+ next_cursor: T.nilable(String)
80
+ ).returns(T.attached_class)
81
+ end
82
+ def self.new(
83
+ # Result records on this page.
84
+ data: nil,
85
+ # Whether another page is available.
86
+ has_more: nil,
87
+ # Metadata about the API key used for the request. Included in every response
88
+ # whenever a valid API key is provided, even when the response status is not 200.
89
+ key_metadata: nil,
90
+ # Cursor for the next page.
91
+ next_cursor: nil
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ data:
99
+ T::Array[
100
+ ContextDev::Models::BatchGetResultsResponse::Data::Variants
101
+ ],
102
+ has_more: T::Boolean,
103
+ key_metadata:
104
+ ContextDev::Models::BatchGetResultsResponse::KeyMetadata,
105
+ next_cursor: T.nilable(String)
106
+ }
107
+ )
108
+ end
109
+ def to_hash
110
+ end
111
+
112
+ # One page outcome from a finished batch.
113
+ module Data
114
+ extend ContextDev::Internal::Type::Union
115
+
116
+ Variants =
117
+ T.type_alias do
118
+ T.any(
119
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok,
120
+ ContextDev::Models::BatchGetResultsResponse::Data::Error
121
+ )
122
+ end
123
+
124
+ class Ok < ContextDev::Internal::Type::BaseModel
125
+ OrHash =
126
+ T.type_alias do
127
+ T.any(
128
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok,
129
+ ContextDev::Internal::AnyHash
130
+ )
131
+ end
132
+
133
+ # URL the content was read from, after redirects.
134
+ sig { returns(String) }
135
+ attr_accessor :final_url
136
+
137
+ # HTTP status of the final response, when known.
138
+ sig { returns(T.nilable(Integer)) }
139
+ attr_accessor :http_status
140
+
141
+ # Metadata extracted from the scraped page HTML.
142
+ sig do
143
+ returns(
144
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata
145
+ )
146
+ end
147
+ attr_reader :metadata
148
+
149
+ sig do
150
+ params(
151
+ metadata:
152
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OrHash
153
+ ).void
154
+ end
155
+ attr_writer :metadata
156
+
157
+ # The page was scraped.
158
+ sig { returns(Symbol) }
159
+ attr_accessor :status
160
+
161
+ # URL as submitted, or as discovered by the crawl.
162
+ sig { returns(String) }
163
+ attr_accessor :url
164
+
165
+ # Raw page HTML. Present on html batches.
166
+ sig { returns(T.nilable(String)) }
167
+ attr_reader :html
168
+
169
+ sig { params(html: String).void }
170
+ attr_writer :html
171
+
172
+ # Caller-supplied identifier echoed from submission.
173
+ sig { returns(T.nilable(String)) }
174
+ attr_reader :item_id
175
+
176
+ sig { params(item_id: String).void }
177
+ attr_writer :item_id
178
+
179
+ # Page content as Markdown. Present on markdown batches.
180
+ sig { returns(T.nilable(String)) }
181
+ attr_reader :markdown
182
+
183
+ sig { params(markdown: String).void }
184
+ attr_writer :markdown
185
+
186
+ # Caller-supplied metadata echoed from submission.
187
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
188
+ attr_reader :meta
189
+
190
+ sig { params(meta: T::Hash[Symbol, T.anything]).void }
191
+ attr_writer :meta
192
+
193
+ # A page the batch fetched successfully.
194
+ sig do
195
+ params(
196
+ final_url: String,
197
+ http_status: T.nilable(Integer),
198
+ metadata:
199
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OrHash,
200
+ url: String,
201
+ html: String,
202
+ item_id: String,
203
+ markdown: String,
204
+ meta: T::Hash[Symbol, T.anything],
205
+ status: Symbol
206
+ ).returns(T.attached_class)
207
+ end
208
+ def self.new(
209
+ # URL the content was read from, after redirects.
210
+ final_url:,
211
+ # HTTP status of the final response, when known.
212
+ http_status:,
213
+ # Metadata extracted from the scraped page HTML.
214
+ metadata:,
215
+ # URL as submitted, or as discovered by the crawl.
216
+ url:,
217
+ # Raw page HTML. Present on html batches.
218
+ html: nil,
219
+ # Caller-supplied identifier echoed from submission.
220
+ item_id: nil,
221
+ # Page content as Markdown. Present on markdown batches.
222
+ markdown: nil,
223
+ # Caller-supplied metadata echoed from submission.
224
+ meta: nil,
225
+ # The page was scraped.
226
+ status: :ok
227
+ )
228
+ end
229
+
230
+ sig do
231
+ override.returns(
232
+ {
233
+ final_url: String,
234
+ http_status: T.nilable(Integer),
235
+ metadata:
236
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata,
237
+ status: Symbol,
238
+ url: String,
239
+ html: String,
240
+ item_id: String,
241
+ markdown: String,
242
+ meta: T::Hash[Symbol, T.anything]
243
+ }
244
+ )
245
+ end
246
+ def to_hash
247
+ end
248
+
249
+ class Metadata < ContextDev::Internal::Type::BaseModel
250
+ OrHash =
251
+ T.type_alias do
252
+ T.any(
253
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata,
254
+ ContextDev::Internal::AnyHash
255
+ )
256
+ end
257
+
258
+ # Final URL scraped after redirects or scraper fallback, when known. Falls back to
259
+ # sourceUrl when unavailable.
260
+ sig { returns(String) }
261
+ attr_accessor :final_url
262
+
263
+ # Original URL requested by the caller.
264
+ sig { returns(String) }
265
+ attr_accessor :source_url
266
+
267
+ # Additional non-social meta tags not promoted to top-level metadata fields.
268
+ sig do
269
+ returns(
270
+ T.nilable(
271
+ T::Hash[
272
+ Symbol,
273
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::AdditionalMeta::Variants
274
+ ]
275
+ )
276
+ )
277
+ end
278
+ attr_reader :additional_meta
279
+
280
+ sig do
281
+ params(
282
+ additional_meta:
283
+ T::Hash[
284
+ Symbol,
285
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::AdditionalMeta::Variants
286
+ ]
287
+ ).void
288
+ end
289
+ attr_writer :additional_meta
290
+
291
+ # Resolved alternate links from link rel=alternate tags.
292
+ sig do
293
+ returns(
294
+ T.nilable(
295
+ T::Array[
296
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Alternate
297
+ ]
298
+ )
299
+ )
300
+ end
301
+ attr_reader :alternates
302
+
303
+ sig do
304
+ params(
305
+ alternates:
306
+ T::Array[
307
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Alternate::OrHash
308
+ ]
309
+ ).void
310
+ end
311
+ attr_writer :alternates
312
+
313
+ # Author metadata, when present.
314
+ sig { returns(T.nilable(String)) }
315
+ attr_reader :author
316
+
317
+ sig { params(author: String).void }
318
+ attr_writer :author
319
+
320
+ # Resolved canonical URL, when present.
321
+ sig { returns(T.nilable(String)) }
322
+ attr_reader :canonical_url
323
+
324
+ sig { params(canonical_url: String).void }
325
+ attr_writer :canonical_url
326
+
327
+ # Best description extracted from standard, Open Graph, or Twitter metadata.
328
+ sig { returns(T.nilable(String)) }
329
+ attr_reader :description
330
+
331
+ sig { params(description: String).void }
332
+ attr_writer :description
333
+
334
+ # Resolved favicon URL, when present.
335
+ sig { returns(T.nilable(String)) }
336
+ attr_reader :favicon
337
+
338
+ sig { params(favicon: String).void }
339
+ attr_writer :favicon
340
+
341
+ # Primary resolved preview image from Open Graph, Twitter, or image metadata.
342
+ sig { returns(T.nilable(String)) }
343
+ attr_reader :image
344
+
345
+ sig { params(image: String).void }
346
+ attr_writer :image
347
+
348
+ # JSON-LD structured data blocks parsed from the page.
349
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
350
+ attr_reader :json_ld
351
+
352
+ sig { params(json_ld: T::Array[T::Hash[Symbol, T.anything]]).void }
353
+ attr_writer :json_ld
354
+
355
+ # Keywords extracted from the page's keywords meta tag.
356
+ sig { returns(T.nilable(T::Array[String])) }
357
+ attr_reader :keywords
358
+
359
+ sig { params(keywords: T::Array[String]).void }
360
+ attr_writer :keywords
361
+
362
+ # Language extracted from html lang or language meta tags.
363
+ sig { returns(T.nilable(String)) }
364
+ attr_reader :language
365
+
366
+ sig { params(language: String).void }
367
+ attr_writer :language
368
+
369
+ # Modified timestamp/date from page metadata, when present.
370
+ sig { returns(T.nilable(String)) }
371
+ attr_reader :modified_time
372
+
373
+ sig { params(modified_time: String).void }
374
+ attr_writer :modified_time
375
+
376
+ # Open Graph metadata with the og: prefix removed and keys camel-cased.
377
+ sig do
378
+ returns(
379
+ T.nilable(
380
+ T::Hash[
381
+ Symbol,
382
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OpenGraph::Variants
383
+ ]
384
+ )
385
+ )
386
+ end
387
+ attr_reader :open_graph
388
+
389
+ sig do
390
+ params(
391
+ open_graph:
392
+ T::Hash[
393
+ Symbol,
394
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OpenGraph::Variants
395
+ ]
396
+ ).void
397
+ end
398
+ attr_writer :open_graph
399
+
400
+ # Published timestamp/date from page metadata, when present.
401
+ sig { returns(T.nilable(String)) }
402
+ attr_reader :published_time
403
+
404
+ sig { params(published_time: String).void }
405
+ attr_writer :published_time
406
+
407
+ # Robots meta directive, when present.
408
+ sig { returns(T.nilable(String)) }
409
+ attr_reader :robots
410
+
411
+ sig { params(robots: String).void }
412
+ attr_writer :robots
413
+
414
+ # Site or application name from page metadata.
415
+ sig { returns(T.nilable(String)) }
416
+ attr_reader :site_name
417
+
418
+ sig { params(site_name: String).void }
419
+ attr_writer :site_name
420
+
421
+ # Best title extracted from the page.
422
+ sig { returns(T.nilable(String)) }
423
+ attr_reader :title
424
+
425
+ sig { params(title: String).void }
426
+ attr_writer :title
427
+
428
+ # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
429
+ sig do
430
+ returns(
431
+ T.nilable(
432
+ T::Hash[
433
+ Symbol,
434
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Twitter::Variants
435
+ ]
436
+ )
437
+ )
438
+ end
439
+ attr_reader :twitter
440
+
441
+ sig do
442
+ params(
443
+ twitter:
444
+ T::Hash[
445
+ Symbol,
446
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Twitter::Variants
447
+ ]
448
+ ).void
449
+ end
450
+ attr_writer :twitter
451
+
452
+ # Metadata extracted from the scraped page HTML.
453
+ sig do
454
+ params(
455
+ final_url: String,
456
+ source_url: String,
457
+ additional_meta:
458
+ T::Hash[
459
+ Symbol,
460
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::AdditionalMeta::Variants
461
+ ],
462
+ alternates:
463
+ T::Array[
464
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Alternate::OrHash
465
+ ],
466
+ author: String,
467
+ canonical_url: String,
468
+ description: String,
469
+ favicon: String,
470
+ image: String,
471
+ json_ld: T::Array[T::Hash[Symbol, T.anything]],
472
+ keywords: T::Array[String],
473
+ language: String,
474
+ modified_time: String,
475
+ open_graph:
476
+ T::Hash[
477
+ Symbol,
478
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OpenGraph::Variants
479
+ ],
480
+ published_time: String,
481
+ robots: String,
482
+ site_name: String,
483
+ title: String,
484
+ twitter:
485
+ T::Hash[
486
+ Symbol,
487
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Twitter::Variants
488
+ ]
489
+ ).returns(T.attached_class)
490
+ end
491
+ def self.new(
492
+ # Final URL scraped after redirects or scraper fallback, when known. Falls back to
493
+ # sourceUrl when unavailable.
494
+ final_url:,
495
+ # Original URL requested by the caller.
496
+ source_url:,
497
+ # Additional non-social meta tags not promoted to top-level metadata fields.
498
+ additional_meta: nil,
499
+ # Resolved alternate links from link rel=alternate tags.
500
+ alternates: nil,
501
+ # Author metadata, when present.
502
+ author: nil,
503
+ # Resolved canonical URL, when present.
504
+ canonical_url: nil,
505
+ # Best description extracted from standard, Open Graph, or Twitter metadata.
506
+ description: nil,
507
+ # Resolved favicon URL, when present.
508
+ favicon: nil,
509
+ # Primary resolved preview image from Open Graph, Twitter, or image metadata.
510
+ image: nil,
511
+ # JSON-LD structured data blocks parsed from the page.
512
+ json_ld: nil,
513
+ # Keywords extracted from the page's keywords meta tag.
514
+ keywords: nil,
515
+ # Language extracted from html lang or language meta tags.
516
+ language: nil,
517
+ # Modified timestamp/date from page metadata, when present.
518
+ modified_time: nil,
519
+ # Open Graph metadata with the og: prefix removed and keys camel-cased.
520
+ open_graph: nil,
521
+ # Published timestamp/date from page metadata, when present.
522
+ published_time: nil,
523
+ # Robots meta directive, when present.
524
+ robots: nil,
525
+ # Site or application name from page metadata.
526
+ site_name: nil,
527
+ # Best title extracted from the page.
528
+ title: nil,
529
+ # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
530
+ twitter: nil
531
+ )
532
+ end
533
+
534
+ sig do
535
+ override.returns(
536
+ {
537
+ final_url: String,
538
+ source_url: String,
539
+ additional_meta:
540
+ T::Hash[
541
+ Symbol,
542
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::AdditionalMeta::Variants
543
+ ],
544
+ alternates:
545
+ T::Array[
546
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Alternate
547
+ ],
548
+ author: String,
549
+ canonical_url: String,
550
+ description: String,
551
+ favicon: String,
552
+ image: String,
553
+ json_ld: T::Array[T::Hash[Symbol, T.anything]],
554
+ keywords: T::Array[String],
555
+ language: String,
556
+ modified_time: String,
557
+ open_graph:
558
+ T::Hash[
559
+ Symbol,
560
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OpenGraph::Variants
561
+ ],
562
+ published_time: String,
563
+ robots: String,
564
+ site_name: String,
565
+ title: String,
566
+ twitter:
567
+ T::Hash[
568
+ Symbol,
569
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Twitter::Variants
570
+ ]
571
+ }
572
+ )
573
+ end
574
+ def to_hash
575
+ end
576
+
577
+ module AdditionalMeta
578
+ extend ContextDev::Internal::Type::Union
579
+
580
+ Variants = T.type_alias { T.any(String, T::Array[String]) }
581
+
582
+ sig do
583
+ override.returns(
584
+ T::Array[
585
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::AdditionalMeta::Variants
586
+ ]
587
+ )
588
+ end
589
+ def self.variants
590
+ end
591
+
592
+ StringArray =
593
+ T.let(
594
+ ContextDev::Internal::Type::ArrayOf[String],
595
+ ContextDev::Internal::Type::Converter
596
+ )
597
+ end
598
+
599
+ class Alternate < ContextDev::Internal::Type::BaseModel
600
+ OrHash =
601
+ T.type_alias do
602
+ T.any(
603
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Alternate,
604
+ ContextDev::Internal::AnyHash
605
+ )
606
+ end
607
+
608
+ # Resolved alternate URL.
609
+ sig { returns(String) }
610
+ attr_accessor :href
611
+
612
+ # Language or locale for the alternate URL, when present.
613
+ sig { returns(T.nilable(String)) }
614
+ attr_reader :hreflang
615
+
616
+ sig { params(hreflang: String).void }
617
+ attr_writer :hreflang
618
+
619
+ # Alternate resource title, when present.
620
+ sig { returns(T.nilable(String)) }
621
+ attr_reader :title
622
+
623
+ sig { params(title: String).void }
624
+ attr_writer :title
625
+
626
+ # Alternate resource MIME type, when present.
627
+ sig { returns(T.nilable(String)) }
628
+ attr_reader :type
629
+
630
+ sig { params(type: String).void }
631
+ attr_writer :type
632
+
633
+ sig do
634
+ params(
635
+ href: String,
636
+ hreflang: String,
637
+ title: String,
638
+ type: String
639
+ ).returns(T.attached_class)
640
+ end
641
+ def self.new(
642
+ # Resolved alternate URL.
643
+ href:,
644
+ # Language or locale for the alternate URL, when present.
645
+ hreflang: nil,
646
+ # Alternate resource title, when present.
647
+ title: nil,
648
+ # Alternate resource MIME type, when present.
649
+ type: nil
650
+ )
651
+ end
652
+
653
+ sig do
654
+ override.returns(
655
+ {
656
+ href: String,
657
+ hreflang: String,
658
+ title: String,
659
+ type: String
660
+ }
661
+ )
662
+ end
663
+ def to_hash
664
+ end
665
+ end
666
+
667
+ module OpenGraph
668
+ extend ContextDev::Internal::Type::Union
669
+
670
+ Variants = T.type_alias { T.any(String, T::Array[String]) }
671
+
672
+ sig do
673
+ override.returns(
674
+ T::Array[
675
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::OpenGraph::Variants
676
+ ]
677
+ )
678
+ end
679
+ def self.variants
680
+ end
681
+
682
+ StringArray =
683
+ T.let(
684
+ ContextDev::Internal::Type::ArrayOf[String],
685
+ ContextDev::Internal::Type::Converter
686
+ )
687
+ end
688
+
689
+ module Twitter
690
+ extend ContextDev::Internal::Type::Union
691
+
692
+ Variants = T.type_alias { T.any(String, T::Array[String]) }
693
+
694
+ sig do
695
+ override.returns(
696
+ T::Array[
697
+ ContextDev::Models::BatchGetResultsResponse::Data::Ok::Metadata::Twitter::Variants
698
+ ]
699
+ )
700
+ end
701
+ def self.variants
702
+ end
703
+
704
+ StringArray =
705
+ T.let(
706
+ ContextDev::Internal::Type::ArrayOf[String],
707
+ ContextDev::Internal::Type::Converter
708
+ )
709
+ end
710
+ end
711
+ end
712
+
713
+ class Error < ContextDev::Internal::Type::BaseModel
714
+ OrHash =
715
+ T.type_alias do
716
+ T.any(
717
+ ContextDev::Models::BatchGetResultsResponse::Data::Error,
718
+ ContextDev::Internal::AnyHash
719
+ )
720
+ end
721
+
722
+ # Why the page failed.
723
+ sig { returns(String) }
724
+ attr_accessor :error_code
725
+
726
+ # Human-readable failure detail.
727
+ sig { returns(String) }
728
+ attr_accessor :message
729
+
730
+ # The page could not be scraped.
731
+ sig { returns(Symbol) }
732
+ attr_accessor :status
733
+
734
+ # URL as submitted, or as discovered by the crawl.
735
+ sig { returns(String) }
736
+ attr_accessor :url
737
+
738
+ # Caller-supplied identifier echoed from submission.
739
+ sig { returns(T.nilable(String)) }
740
+ attr_reader :item_id
741
+
742
+ sig { params(item_id: String).void }
743
+ attr_writer :item_id
744
+
745
+ # Caller-supplied metadata echoed from submission.
746
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
747
+ attr_reader :meta
748
+
749
+ sig { params(meta: T::Hash[Symbol, T.anything]).void }
750
+ attr_writer :meta
751
+
752
+ # A page the batch could not fetch.
753
+ sig do
754
+ params(
755
+ error_code: String,
756
+ message: String,
757
+ url: String,
758
+ item_id: String,
759
+ meta: T::Hash[Symbol, T.anything],
760
+ status: Symbol
761
+ ).returns(T.attached_class)
762
+ end
763
+ def self.new(
764
+ # Why the page failed.
765
+ error_code:,
766
+ # Human-readable failure detail.
767
+ message:,
768
+ # URL as submitted, or as discovered by the crawl.
769
+ url:,
770
+ # Caller-supplied identifier echoed from submission.
771
+ item_id: nil,
772
+ # Caller-supplied metadata echoed from submission.
773
+ meta: nil,
774
+ # The page could not be scraped.
775
+ status: :error
776
+ )
777
+ end
778
+
779
+ sig do
780
+ override.returns(
781
+ {
782
+ error_code: String,
783
+ message: String,
784
+ status: Symbol,
785
+ url: String,
786
+ item_id: String,
787
+ meta: T::Hash[Symbol, T.anything]
788
+ }
789
+ )
790
+ end
791
+ def to_hash
792
+ end
793
+ end
794
+
795
+ sig do
796
+ override.returns(
797
+ T::Array[
798
+ ContextDev::Models::BatchGetResultsResponse::Data::Variants
799
+ ]
800
+ )
801
+ end
802
+ def self.variants
803
+ end
804
+ end
805
+
806
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
807
+ OrHash =
808
+ T.type_alias do
809
+ T.any(
810
+ ContextDev::Models::BatchGetResultsResponse::KeyMetadata,
811
+ ContextDev::Internal::AnyHash
812
+ )
813
+ end
814
+
815
+ # The number of credits consumed by this request.
816
+ sig { returns(Integer) }
817
+ attr_accessor :credits_consumed
818
+
819
+ # The number of credits remaining for your organization after this request.
820
+ sig { returns(Integer) }
821
+ attr_accessor :credits_remaining
822
+
823
+ # Metadata about the API key used for the request. Included in every response
824
+ # whenever a valid API key is provided, even when the response status is not 200.
825
+ sig do
826
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
827
+ T.attached_class
828
+ )
829
+ end
830
+ def self.new(
831
+ # The number of credits consumed by this request.
832
+ credits_consumed:,
833
+ # The number of credits remaining for your organization after this request.
834
+ credits_remaining:
835
+ )
836
+ end
837
+
838
+ sig do
839
+ override.returns(
840
+ { credits_consumed: Integer, credits_remaining: Integer }
841
+ )
842
+ end
843
+ def to_hash
844
+ end
845
+ end
846
+ end
847
+ end
848
+ end