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