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,738 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class BatchListResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::BatchListResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Batches on this page.
15
+ sig do
16
+ returns(
17
+ T.nilable(T::Array[ContextDev::Models::BatchListResponse::Data])
18
+ )
19
+ end
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: T::Array[ContextDev::Models::BatchListResponse::Data::OrHash]
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # Whether another page is available.
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :has_more
32
+
33
+ sig { params(has_more: T::Boolean).void }
34
+ attr_writer :has_more
35
+
36
+ # Metadata about the API key used for the request. Included in every response
37
+ # whenever a valid API key is provided, even when the response status is not 200.
38
+ sig do
39
+ returns(T.nilable(ContextDev::Models::BatchListResponse::KeyMetadata))
40
+ end
41
+ attr_reader :key_metadata
42
+
43
+ sig do
44
+ params(
45
+ key_metadata:
46
+ ContextDev::Models::BatchListResponse::KeyMetadata::OrHash
47
+ ).void
48
+ end
49
+ attr_writer :key_metadata
50
+
51
+ # Cursor for the next page.
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :next_cursor
54
+
55
+ sig do
56
+ params(
57
+ data: T::Array[ContextDev::Models::BatchListResponse::Data::OrHash],
58
+ has_more: T::Boolean,
59
+ key_metadata:
60
+ ContextDev::Models::BatchListResponse::KeyMetadata::OrHash,
61
+ next_cursor: T.nilable(String)
62
+ ).returns(T.attached_class)
63
+ end
64
+ def self.new(
65
+ # Batches on this page.
66
+ data: nil,
67
+ # Whether another page is available.
68
+ has_more: nil,
69
+ # Metadata about the API key used for the request. Included in every response
70
+ # whenever a valid API key is provided, even when the response status is not 200.
71
+ key_metadata: nil,
72
+ # Cursor for the next page.
73
+ next_cursor: nil
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ data: T::Array[ContextDev::Models::BatchListResponse::Data],
81
+ has_more: T::Boolean,
82
+ key_metadata: ContextDev::Models::BatchListResponse::KeyMetadata,
83
+ next_cursor: T.nilable(String)
84
+ }
85
+ )
86
+ end
87
+ def to_hash
88
+ end
89
+
90
+ class Data < ContextDev::Internal::Type::BaseModel
91
+ OrHash =
92
+ T.type_alias do
93
+ T.any(
94
+ ContextDev::Models::BatchListResponse::Data,
95
+ ContextDev::Internal::AnyHash
96
+ )
97
+ end
98
+
99
+ # Batch ID used to retrieve or cancel the job.
100
+ sig { returns(String) }
101
+ attr_accessor :id
102
+
103
+ # Reserved and used credits.
104
+ sig { returns(ContextDev::Models::BatchListResponse::Data::Credits) }
105
+ attr_reader :credits
106
+
107
+ sig do
108
+ params(
109
+ credits:
110
+ ContextDev::Models::BatchListResponse::Data::Credits::OrHash
111
+ ).void
112
+ end
113
+ attr_writer :credits
114
+
115
+ # Why the batch failed.
116
+ sig { returns(T.nilable(ContextDev::Error)) }
117
+ attr_reader :error
118
+
119
+ sig { params(error: T.nilable(ContextDev::Error::OrHash)).void }
120
+ attr_writer :error
121
+
122
+ # Page failures grouped by error code.
123
+ sig { returns(T::Array[ContextDev::ErrorCount]) }
124
+ attr_accessor :errors
125
+
126
+ # Submission counts.
127
+ sig { returns(ContextDev::Models::BatchListResponse::Data::Input) }
128
+ attr_reader :input
129
+
130
+ sig do
131
+ params(
132
+ input: ContextDev::Models::BatchListResponse::Data::Input::OrHash
133
+ ).void
134
+ end
135
+ attr_writer :input
136
+
137
+ # How pages are selected.
138
+ sig do
139
+ returns(
140
+ ContextDev::Models::BatchListResponse::Data::Mode::TaggedSymbol
141
+ )
142
+ end
143
+ attr_accessor :mode
144
+
145
+ # Current processing counts. Use `status` to check completion.
146
+ sig { returns(ContextDev::Models::BatchListResponse::Data::Progress) }
147
+ attr_reader :progress
148
+
149
+ sig do
150
+ params(
151
+ progress:
152
+ ContextDev::Models::BatchListResponse::Data::Progress::OrHash
153
+ ).void
154
+ end
155
+ attr_writer :progress
156
+
157
+ # Download links available when the batch finishes. GET /batch/{batch_id}/results
158
+ # serves the same records as paginated JSON.
159
+ sig do
160
+ returns(
161
+ T.nilable(ContextDev::Models::BatchListResponse::Data::Results)
162
+ )
163
+ end
164
+ attr_reader :results
165
+
166
+ sig do
167
+ params(
168
+ results:
169
+ T.nilable(
170
+ ContextDev::Models::BatchListResponse::Data::Results::OrHash
171
+ )
172
+ ).void
173
+ end
174
+ attr_writer :results
175
+
176
+ # Current state. `completed`, `cancelled`, and `failed` are final.
177
+ sig do
178
+ returns(
179
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
180
+ )
181
+ end
182
+ attr_accessor :status
183
+
184
+ # Tags stored on the batch at submission.
185
+ sig { returns(T::Array[String]) }
186
+ attr_accessor :tags
187
+
188
+ sig { returns(ContextDev::Models::BatchListResponse::Data::Timing) }
189
+ attr_reader :timing
190
+
191
+ sig do
192
+ params(
193
+ timing: ContextDev::Models::BatchListResponse::Data::Timing::OrHash
194
+ ).void
195
+ end
196
+ attr_writer :timing
197
+
198
+ # Output format.
199
+ sig do
200
+ returns(
201
+ ContextDev::Models::BatchListResponse::Data::Type::TaggedSymbol
202
+ )
203
+ end
204
+ attr_accessor :type
205
+
206
+ # An asynchronous web scraping job.
207
+ sig do
208
+ params(
209
+ id: String,
210
+ credits:
211
+ ContextDev::Models::BatchListResponse::Data::Credits::OrHash,
212
+ error: T.nilable(ContextDev::Error::OrHash),
213
+ errors: T::Array[ContextDev::ErrorCount::OrHash],
214
+ input: ContextDev::Models::BatchListResponse::Data::Input::OrHash,
215
+ mode: ContextDev::Models::BatchListResponse::Data::Mode::OrSymbol,
216
+ progress:
217
+ ContextDev::Models::BatchListResponse::Data::Progress::OrHash,
218
+ results:
219
+ T.nilable(
220
+ ContextDev::Models::BatchListResponse::Data::Results::OrHash
221
+ ),
222
+ status:
223
+ ContextDev::Models::BatchListResponse::Data::Status::OrSymbol,
224
+ tags: T::Array[String],
225
+ timing: ContextDev::Models::BatchListResponse::Data::Timing::OrHash,
226
+ type: ContextDev::Models::BatchListResponse::Data::Type::OrSymbol
227
+ ).returns(T.attached_class)
228
+ end
229
+ def self.new(
230
+ # Batch ID used to retrieve or cancel the job.
231
+ id:,
232
+ # Reserved and used credits.
233
+ credits:,
234
+ # Why the batch failed.
235
+ error:,
236
+ # Page failures grouped by error code.
237
+ errors:,
238
+ # Submission counts.
239
+ input:,
240
+ # How pages are selected.
241
+ mode:,
242
+ # Current processing counts. Use `status` to check completion.
243
+ progress:,
244
+ # Download links available when the batch finishes. GET /batch/{batch_id}/results
245
+ # serves the same records as paginated JSON.
246
+ results:,
247
+ # Current state. `completed`, `cancelled`, and `failed` are final.
248
+ status:,
249
+ # Tags stored on the batch at submission.
250
+ tags:,
251
+ timing:,
252
+ # Output format.
253
+ type:
254
+ )
255
+ end
256
+
257
+ sig do
258
+ override.returns(
259
+ {
260
+ id: String,
261
+ credits: ContextDev::Models::BatchListResponse::Data::Credits,
262
+ error: T.nilable(ContextDev::Error),
263
+ errors: T::Array[ContextDev::ErrorCount],
264
+ input: ContextDev::Models::BatchListResponse::Data::Input,
265
+ mode:
266
+ ContextDev::Models::BatchListResponse::Data::Mode::TaggedSymbol,
267
+ progress: ContextDev::Models::BatchListResponse::Data::Progress,
268
+ results:
269
+ T.nilable(ContextDev::Models::BatchListResponse::Data::Results),
270
+ status:
271
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol,
272
+ tags: T::Array[String],
273
+ timing: ContextDev::Models::BatchListResponse::Data::Timing,
274
+ type:
275
+ ContextDev::Models::BatchListResponse::Data::Type::TaggedSymbol
276
+ }
277
+ )
278
+ end
279
+ def to_hash
280
+ end
281
+
282
+ class Credits < ContextDev::Internal::Type::BaseModel
283
+ OrHash =
284
+ T.type_alias do
285
+ T.any(
286
+ ContextDev::Models::BatchListResponse::Data::Credits,
287
+ ContextDev::Internal::AnyHash
288
+ )
289
+ end
290
+
291
+ # Credits used by successful pages.
292
+ sig { returns(Integer) }
293
+ attr_accessor :charged
294
+
295
+ # Credits reserved when the batch was accepted.
296
+ sig { returns(Integer) }
297
+ attr_accessor :estimated
298
+
299
+ # Reserved and used credits.
300
+ sig do
301
+ params(charged: Integer, estimated: Integer).returns(
302
+ T.attached_class
303
+ )
304
+ end
305
+ def self.new(
306
+ # Credits used by successful pages.
307
+ charged:,
308
+ # Credits reserved when the batch was accepted.
309
+ estimated:
310
+ )
311
+ end
312
+
313
+ sig { override.returns({ charged: Integer, estimated: Integer }) }
314
+ def to_hash
315
+ end
316
+ end
317
+
318
+ class Input < ContextDev::Internal::Type::BaseModel
319
+ OrHash =
320
+ T.type_alias do
321
+ T.any(
322
+ ContextDev::Models::BatchListResponse::Data::Input,
323
+ ContextDev::Internal::AnyHash
324
+ )
325
+ end
326
+
327
+ # Pages accepted, or the crawl page limit. Credits are reserved for this count.
328
+ sig { returns(Integer) }
329
+ attr_accessor :accepted
330
+
331
+ # Duplicate URL and `itemId` pairs skipped. Always 0 for crawls.
332
+ sig { returns(Integer) }
333
+ attr_accessor :duplicates
334
+
335
+ # Pages rejected during validation.
336
+ sig { returns(Integer) }
337
+ attr_accessor :invalid
338
+
339
+ # Pages submitted before validation. For a crawl, the page limit.
340
+ sig { returns(Integer) }
341
+ attr_accessor :submitted
342
+
343
+ # Submission counts.
344
+ sig do
345
+ params(
346
+ accepted: Integer,
347
+ duplicates: Integer,
348
+ invalid: Integer,
349
+ submitted: Integer
350
+ ).returns(T.attached_class)
351
+ end
352
+ def self.new(
353
+ # Pages accepted, or the crawl page limit. Credits are reserved for this count.
354
+ accepted:,
355
+ # Duplicate URL and `itemId` pairs skipped. Always 0 for crawls.
356
+ duplicates:,
357
+ # Pages rejected during validation.
358
+ invalid:,
359
+ # Pages submitted before validation. For a crawl, the page limit.
360
+ submitted:
361
+ )
362
+ end
363
+
364
+ sig do
365
+ override.returns(
366
+ {
367
+ accepted: Integer,
368
+ duplicates: Integer,
369
+ invalid: Integer,
370
+ submitted: Integer
371
+ }
372
+ )
373
+ end
374
+ def to_hash
375
+ end
376
+ end
377
+
378
+ # How pages are selected.
379
+ module Mode
380
+ extend ContextDev::Internal::Type::Enum
381
+
382
+ TaggedSymbol =
383
+ T.type_alias do
384
+ T.all(Symbol, ContextDev::Models::BatchListResponse::Data::Mode)
385
+ end
386
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
387
+
388
+ SCRAPE =
389
+ T.let(
390
+ :scrape,
391
+ ContextDev::Models::BatchListResponse::Data::Mode::TaggedSymbol
392
+ )
393
+ CRAWL =
394
+ T.let(
395
+ :crawl,
396
+ ContextDev::Models::BatchListResponse::Data::Mode::TaggedSymbol
397
+ )
398
+
399
+ sig do
400
+ override.returns(
401
+ T::Array[
402
+ ContextDev::Models::BatchListResponse::Data::Mode::TaggedSymbol
403
+ ]
404
+ )
405
+ end
406
+ def self.values
407
+ end
408
+ end
409
+
410
+ class Progress < ContextDev::Internal::Type::BaseModel
411
+ OrHash =
412
+ T.type_alias do
413
+ T.any(
414
+ ContextDev::Models::BatchListResponse::Data::Progress,
415
+ ContextDev::Internal::AnyHash
416
+ )
417
+ end
418
+
419
+ # Pages that could not be scraped.
420
+ sig { returns(Integer) }
421
+ attr_accessor :failed
422
+
423
+ # Accepted pages not yet attempted. Always 0 once the batch completes; a crawl can
424
+ # finish under its page limit when the site has no more reachable pages.
425
+ sig { returns(Integer) }
426
+ attr_accessor :pending
427
+
428
+ # Pages scraped successfully.
429
+ sig { returns(Integer) }
430
+ attr_accessor :succeeded
431
+
432
+ # Current processing counts. Use `status` to check completion.
433
+ sig do
434
+ params(
435
+ failed: Integer,
436
+ pending: Integer,
437
+ succeeded: Integer
438
+ ).returns(T.attached_class)
439
+ end
440
+ def self.new(
441
+ # Pages that could not be scraped.
442
+ failed:,
443
+ # Accepted pages not yet attempted. Always 0 once the batch completes; a crawl can
444
+ # finish under its page limit when the site has no more reachable pages.
445
+ pending:,
446
+ # Pages scraped successfully.
447
+ succeeded:
448
+ )
449
+ end
450
+
451
+ sig do
452
+ override.returns(
453
+ { failed: Integer, pending: Integer, succeeded: Integer }
454
+ )
455
+ end
456
+ def to_hash
457
+ end
458
+ end
459
+
460
+ class Results < ContextDev::Internal::Type::BaseModel
461
+ OrHash =
462
+ T.type_alias do
463
+ T.any(
464
+ ContextDev::Models::BatchListResponse::Data::Results,
465
+ ContextDev::Internal::AnyHash
466
+ )
467
+ end
468
+
469
+ # When the download URLs expire.
470
+ sig { returns(String) }
471
+ attr_accessor :expires_at
472
+
473
+ # Result files. Order is not guaranteed.
474
+ sig do
475
+ returns(
476
+ T::Array[
477
+ ContextDev::Models::BatchListResponse::Data::Results::File
478
+ ]
479
+ )
480
+ end
481
+ attr_accessor :files
482
+
483
+ # Download links available when the batch finishes. GET /batch/{batch_id}/results
484
+ # serves the same records as paginated JSON.
485
+ sig do
486
+ params(
487
+ expires_at: String,
488
+ files:
489
+ T::Array[
490
+ ContextDev::Models::BatchListResponse::Data::Results::File::OrHash
491
+ ]
492
+ ).returns(T.attached_class)
493
+ end
494
+ def self.new(
495
+ # When the download URLs expire.
496
+ expires_at:,
497
+ # Result files. Order is not guaranteed.
498
+ files:
499
+ )
500
+ end
501
+
502
+ sig do
503
+ override.returns(
504
+ {
505
+ expires_at: String,
506
+ files:
507
+ T::Array[
508
+ ContextDev::Models::BatchListResponse::Data::Results::File
509
+ ]
510
+ }
511
+ )
512
+ end
513
+ def to_hash
514
+ end
515
+
516
+ class File < ContextDev::Internal::Type::BaseModel
517
+ OrHash =
518
+ T.type_alias do
519
+ T.any(
520
+ ContextDev::Models::BatchListResponse::Data::Results::File,
521
+ ContextDev::Internal::AnyHash
522
+ )
523
+ end
524
+
525
+ # Compressed file size in bytes.
526
+ sig { returns(Integer) }
527
+ attr_accessor :bytes
528
+
529
+ # Results in this file.
530
+ sig { returns(Integer) }
531
+ attr_accessor :items
532
+
533
+ # Temporary URL for a gzipped NDJSON file.
534
+ sig { returns(String) }
535
+ attr_accessor :url
536
+
537
+ sig do
538
+ params(bytes: Integer, items: Integer, url: String).returns(
539
+ T.attached_class
540
+ )
541
+ end
542
+ def self.new(
543
+ # Compressed file size in bytes.
544
+ bytes:,
545
+ # Results in this file.
546
+ items:,
547
+ # Temporary URL for a gzipped NDJSON file.
548
+ url:
549
+ )
550
+ end
551
+
552
+ sig do
553
+ override.returns({ bytes: Integer, items: Integer, url: String })
554
+ end
555
+ def to_hash
556
+ end
557
+ end
558
+ end
559
+
560
+ # Current state. `completed`, `cancelled`, and `failed` are final.
561
+ module Status
562
+ extend ContextDev::Internal::Type::Enum
563
+
564
+ TaggedSymbol =
565
+ T.type_alias do
566
+ T.all(Symbol, ContextDev::Models::BatchListResponse::Data::Status)
567
+ end
568
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
569
+
570
+ QUEUED =
571
+ T.let(
572
+ :queued,
573
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
574
+ )
575
+ RUNNING =
576
+ T.let(
577
+ :running,
578
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
579
+ )
580
+ CANCELLING =
581
+ T.let(
582
+ :cancelling,
583
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
584
+ )
585
+ COMPLETED =
586
+ T.let(
587
+ :completed,
588
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
589
+ )
590
+ CANCELLED =
591
+ T.let(
592
+ :cancelled,
593
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
594
+ )
595
+ FAILED =
596
+ T.let(
597
+ :failed,
598
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
599
+ )
600
+
601
+ sig do
602
+ override.returns(
603
+ T::Array[
604
+ ContextDev::Models::BatchListResponse::Data::Status::TaggedSymbol
605
+ ]
606
+ )
607
+ end
608
+ def self.values
609
+ end
610
+ end
611
+
612
+ class Timing < ContextDev::Internal::Type::BaseModel
613
+ OrHash =
614
+ T.type_alias do
615
+ T.any(
616
+ ContextDev::Models::BatchListResponse::Data::Timing,
617
+ ContextDev::Internal::AnyHash
618
+ )
619
+ end
620
+
621
+ # When processing finished. Null while active.
622
+ sig { returns(T.nilable(String)) }
623
+ attr_accessor :completed_at
624
+
625
+ # When the batch was created.
626
+ sig { returns(String) }
627
+ attr_accessor :created_at
628
+
629
+ # When processing started. Null while queued.
630
+ sig { returns(T.nilable(String)) }
631
+ attr_accessor :started_at
632
+
633
+ sig do
634
+ params(
635
+ completed_at: T.nilable(String),
636
+ created_at: String,
637
+ started_at: T.nilable(String)
638
+ ).returns(T.attached_class)
639
+ end
640
+ def self.new(
641
+ # When processing finished. Null while active.
642
+ completed_at:,
643
+ # When the batch was created.
644
+ created_at:,
645
+ # When processing started. Null while queued.
646
+ started_at:
647
+ )
648
+ end
649
+
650
+ sig do
651
+ override.returns(
652
+ {
653
+ completed_at: T.nilable(String),
654
+ created_at: String,
655
+ started_at: T.nilable(String)
656
+ }
657
+ )
658
+ end
659
+ def to_hash
660
+ end
661
+ end
662
+
663
+ # Output format.
664
+ module Type
665
+ extend ContextDev::Internal::Type::Enum
666
+
667
+ TaggedSymbol =
668
+ T.type_alias do
669
+ T.all(Symbol, ContextDev::Models::BatchListResponse::Data::Type)
670
+ end
671
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
672
+
673
+ MARKDOWN =
674
+ T.let(
675
+ :markdown,
676
+ ContextDev::Models::BatchListResponse::Data::Type::TaggedSymbol
677
+ )
678
+ HTML =
679
+ T.let(
680
+ :html,
681
+ ContextDev::Models::BatchListResponse::Data::Type::TaggedSymbol
682
+ )
683
+
684
+ sig do
685
+ override.returns(
686
+ T::Array[
687
+ ContextDev::Models::BatchListResponse::Data::Type::TaggedSymbol
688
+ ]
689
+ )
690
+ end
691
+ def self.values
692
+ end
693
+ end
694
+ end
695
+
696
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
697
+ OrHash =
698
+ T.type_alias do
699
+ T.any(
700
+ ContextDev::Models::BatchListResponse::KeyMetadata,
701
+ ContextDev::Internal::AnyHash
702
+ )
703
+ end
704
+
705
+ # The number of credits consumed by this request.
706
+ sig { returns(Integer) }
707
+ attr_accessor :credits_consumed
708
+
709
+ # The number of credits remaining for your organization after this request.
710
+ sig { returns(Integer) }
711
+ attr_accessor :credits_remaining
712
+
713
+ # Metadata about the API key used for the request. Included in every response
714
+ # whenever a valid API key is provided, even when the response status is not 200.
715
+ sig do
716
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
717
+ T.attached_class
718
+ )
719
+ end
720
+ def self.new(
721
+ # The number of credits consumed by this request.
722
+ credits_consumed:,
723
+ # The number of credits remaining for your organization after this request.
724
+ credits_remaining:
725
+ )
726
+ end
727
+
728
+ sig do
729
+ override.returns(
730
+ { credits_consumed: Integer, credits_remaining: Integer }
731
+ )
732
+ end
733
+ def to_hash
734
+ end
735
+ end
736
+ end
737
+ end
738
+ end