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,424 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class BatchCancelResponse < ContextDev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ContextDev::Models::BatchCancelResponse,
10
+ ContextDev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Batch ID.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The crawl controls as submitted, so the limits requested can be compared against
19
+ # what the crawl reached.
20
+ sig { returns(T.nilable(ContextDev::CrawlControls)) }
21
+ attr_reader :crawl
22
+
23
+ sig { params(crawl: T.nilable(ContextDev::CrawlControls::OrHash)).void }
24
+ attr_writer :crawl
25
+
26
+ # What this batch cost so far.
27
+ sig { returns(ContextDev::Models::BatchCancelResponse::Credits) }
28
+ attr_reader :credits
29
+
30
+ sig do
31
+ params(
32
+ credits: ContextDev::Models::BatchCancelResponse::Credits::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :credits
36
+
37
+ # What each page is returned as.
38
+ sig do
39
+ returns(ContextDev::Models::BatchCancelResponse::Format::TaggedSymbol)
40
+ end
41
+ attr_accessor :format_
42
+
43
+ # What submission took in, and what it charged for.
44
+ sig { returns(ContextDev::Intake) }
45
+ attr_reader :input
46
+
47
+ sig { params(input: ContextDev::Intake::OrHash).void }
48
+ attr_writer :input
49
+
50
+ # How pages were selected.
51
+ sig do
52
+ returns(ContextDev::Models::BatchCancelResponse::Mode::TaggedSymbol)
53
+ end
54
+ attr_accessor :mode
55
+
56
+ # Page failures so far, grouped by error code and sorted by count.
57
+ sig { returns(T::Array[ContextDev::PageErrorCount]) }
58
+ attr_accessor :page_errors
59
+
60
+ # How far the batch got before cancellation.
61
+ sig { returns(ContextDev::Models::BatchCancelResponse::Progress) }
62
+ attr_reader :progress
63
+
64
+ sig do
65
+ params(
66
+ progress: ContextDev::Models::BatchCancelResponse::Progress::OrHash
67
+ ).void
68
+ end
69
+ attr_writer :progress
70
+
71
+ # Always `cancelling`. Work already in flight finishes; the batch reaches
72
+ # `cancelled` shortly after.
73
+ sig do
74
+ returns(ContextDev::Models::BatchCancelResponse::Status::TaggedSymbol)
75
+ end
76
+ attr_accessor :status
77
+
78
+ # Tags stored on the batch at submission.
79
+ sig { returns(T::Array[String]) }
80
+ attr_accessor :tags
81
+
82
+ # There is no finish time yet — the batch is still winding down.
83
+ sig { returns(ContextDev::Models::BatchCancelResponse::Timing) }
84
+ attr_reader :timing
85
+
86
+ sig do
87
+ params(
88
+ timing: ContextDev::Models::BatchCancelResponse::Timing::OrHash
89
+ ).void
90
+ end
91
+ attr_writer :timing
92
+
93
+ # API key usage for this request.
94
+ sig do
95
+ returns(T.nilable(ContextDev::Models::BatchCancelResponse::KeyMetadata))
96
+ end
97
+ attr_reader :key_metadata
98
+
99
+ sig do
100
+ params(
101
+ key_metadata:
102
+ ContextDev::Models::BatchCancelResponse::KeyMetadata::OrHash
103
+ ).void
104
+ end
105
+ attr_writer :key_metadata
106
+
107
+ sig do
108
+ params(
109
+ id: String,
110
+ crawl: T.nilable(ContextDev::CrawlControls::OrHash),
111
+ credits: ContextDev::Models::BatchCancelResponse::Credits::OrHash,
112
+ format_: ContextDev::Models::BatchCancelResponse::Format::OrSymbol,
113
+ input: ContextDev::Intake::OrHash,
114
+ mode: ContextDev::Models::BatchCancelResponse::Mode::OrSymbol,
115
+ page_errors: T::Array[ContextDev::PageErrorCount::OrHash],
116
+ progress: ContextDev::Models::BatchCancelResponse::Progress::OrHash,
117
+ status: ContextDev::Models::BatchCancelResponse::Status::OrSymbol,
118
+ tags: T::Array[String],
119
+ timing: ContextDev::Models::BatchCancelResponse::Timing::OrHash,
120
+ key_metadata:
121
+ ContextDev::Models::BatchCancelResponse::KeyMetadata::OrHash
122
+ ).returns(T.attached_class)
123
+ end
124
+ def self.new(
125
+ # Batch ID.
126
+ id:,
127
+ # The crawl controls as submitted, so the limits requested can be compared against
128
+ # what the crawl reached.
129
+ crawl:,
130
+ # What this batch cost so far.
131
+ credits:,
132
+ # What each page is returned as.
133
+ format_:,
134
+ # What submission took in, and what it charged for.
135
+ input:,
136
+ # How pages were selected.
137
+ mode:,
138
+ # Page failures so far, grouped by error code and sorted by count.
139
+ page_errors:,
140
+ # How far the batch got before cancellation.
141
+ progress:,
142
+ # Always `cancelling`. Work already in flight finishes; the batch reaches
143
+ # `cancelled` shortly after.
144
+ status:,
145
+ # Tags stored on the batch at submission.
146
+ tags:,
147
+ # There is no finish time yet — the batch is still winding down.
148
+ timing:,
149
+ # API key usage for this request.
150
+ key_metadata: nil
151
+ )
152
+ end
153
+
154
+ sig do
155
+ override.returns(
156
+ {
157
+ id: String,
158
+ crawl: T.nilable(ContextDev::CrawlControls),
159
+ credits: ContextDev::Models::BatchCancelResponse::Credits,
160
+ format_:
161
+ ContextDev::Models::BatchCancelResponse::Format::TaggedSymbol,
162
+ input: ContextDev::Intake,
163
+ mode: ContextDev::Models::BatchCancelResponse::Mode::TaggedSymbol,
164
+ page_errors: T::Array[ContextDev::PageErrorCount],
165
+ progress: ContextDev::Models::BatchCancelResponse::Progress,
166
+ status:
167
+ ContextDev::Models::BatchCancelResponse::Status::TaggedSymbol,
168
+ tags: T::Array[String],
169
+ timing: ContextDev::Models::BatchCancelResponse::Timing,
170
+ key_metadata: ContextDev::Models::BatchCancelResponse::KeyMetadata
171
+ }
172
+ )
173
+ end
174
+ def to_hash
175
+ end
176
+
177
+ class Credits < ContextDev::Internal::Type::BaseModel
178
+ OrHash =
179
+ T.type_alias do
180
+ T.any(
181
+ ContextDev::Models::BatchCancelResponse::Credits,
182
+ ContextDev::Internal::AnyHash
183
+ )
184
+ end
185
+
186
+ # Credits debited at submission. The unspent remainder is refunded once the batch
187
+ # settles — read `credits.refunded` from GET /batch/{batch_id} then.
188
+ sig { returns(Integer) }
189
+ attr_accessor :reserved
190
+
191
+ # What this batch cost so far.
192
+ sig { params(reserved: Integer).returns(T.attached_class) }
193
+ def self.new(
194
+ # Credits debited at submission. The unspent remainder is refunded once the batch
195
+ # settles — read `credits.refunded` from GET /batch/{batch_id} then.
196
+ reserved:
197
+ )
198
+ end
199
+
200
+ sig { override.returns({ reserved: Integer }) }
201
+ def to_hash
202
+ end
203
+ end
204
+
205
+ # What each page is returned as.
206
+ module Format
207
+ extend ContextDev::Internal::Type::Enum
208
+
209
+ TaggedSymbol =
210
+ T.type_alias do
211
+ T.all(Symbol, ContextDev::Models::BatchCancelResponse::Format)
212
+ end
213
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
214
+
215
+ MARKDOWN =
216
+ T.let(
217
+ :markdown,
218
+ ContextDev::Models::BatchCancelResponse::Format::TaggedSymbol
219
+ )
220
+ HTML =
221
+ T.let(
222
+ :html,
223
+ ContextDev::Models::BatchCancelResponse::Format::TaggedSymbol
224
+ )
225
+
226
+ sig do
227
+ override.returns(
228
+ T::Array[
229
+ ContextDev::Models::BatchCancelResponse::Format::TaggedSymbol
230
+ ]
231
+ )
232
+ end
233
+ def self.values
234
+ end
235
+ end
236
+
237
+ # How pages were selected.
238
+ module Mode
239
+ extend ContextDev::Internal::Type::Enum
240
+
241
+ TaggedSymbol =
242
+ T.type_alias do
243
+ T.all(Symbol, ContextDev::Models::BatchCancelResponse::Mode)
244
+ end
245
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
246
+
247
+ SCRAPE =
248
+ T.let(
249
+ :scrape,
250
+ ContextDev::Models::BatchCancelResponse::Mode::TaggedSymbol
251
+ )
252
+ CRAWL =
253
+ T.let(
254
+ :crawl,
255
+ ContextDev::Models::BatchCancelResponse::Mode::TaggedSymbol
256
+ )
257
+
258
+ sig do
259
+ override.returns(
260
+ T::Array[
261
+ ContextDev::Models::BatchCancelResponse::Mode::TaggedSymbol
262
+ ]
263
+ )
264
+ end
265
+ def self.values
266
+ end
267
+ end
268
+
269
+ class Progress < ContextDev::Internal::Type::BaseModel
270
+ OrHash =
271
+ T.type_alias do
272
+ T.any(
273
+ ContextDev::Models::BatchCancelResponse::Progress,
274
+ ContextDev::Internal::AnyHash
275
+ )
276
+ end
277
+
278
+ # Pages that could not be scraped before the request landed.
279
+ sig { returns(Integer) }
280
+ attr_accessor :failed
281
+
282
+ # Reserved pages that will now be skipped, and refunded when the batch settles.
283
+ sig { returns(Integer) }
284
+ attr_accessor :pending
285
+
286
+ # Pages scraped successfully before the request landed.
287
+ sig { returns(Integer) }
288
+ attr_accessor :succeeded
289
+
290
+ # How far the batch got before cancellation.
291
+ sig do
292
+ params(failed: Integer, pending: Integer, succeeded: Integer).returns(
293
+ T.attached_class
294
+ )
295
+ end
296
+ def self.new(
297
+ # Pages that could not be scraped before the request landed.
298
+ failed:,
299
+ # Reserved pages that will now be skipped, and refunded when the batch settles.
300
+ pending:,
301
+ # Pages scraped successfully before the request landed.
302
+ succeeded:
303
+ )
304
+ end
305
+
306
+ sig do
307
+ override.returns(
308
+ { failed: Integer, pending: Integer, succeeded: Integer }
309
+ )
310
+ end
311
+ def to_hash
312
+ end
313
+ end
314
+
315
+ # Always `cancelling`. Work already in flight finishes; the batch reaches
316
+ # `cancelled` shortly after.
317
+ module Status
318
+ extend ContextDev::Internal::Type::Enum
319
+
320
+ TaggedSymbol =
321
+ T.type_alias do
322
+ T.all(Symbol, ContextDev::Models::BatchCancelResponse::Status)
323
+ end
324
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
325
+
326
+ CANCELLING =
327
+ T.let(
328
+ :cancelling,
329
+ ContextDev::Models::BatchCancelResponse::Status::TaggedSymbol
330
+ )
331
+
332
+ sig do
333
+ override.returns(
334
+ T::Array[
335
+ ContextDev::Models::BatchCancelResponse::Status::TaggedSymbol
336
+ ]
337
+ )
338
+ end
339
+ def self.values
340
+ end
341
+ end
342
+
343
+ class Timing < ContextDev::Internal::Type::BaseModel
344
+ OrHash =
345
+ T.type_alias do
346
+ T.any(
347
+ ContextDev::Models::BatchCancelResponse::Timing,
348
+ ContextDev::Internal::AnyHash
349
+ )
350
+ end
351
+
352
+ # When the batch was created.
353
+ sig { returns(String) }
354
+ attr_accessor :created_at
355
+
356
+ # When processing started. Null if it was cancelled while still queued.
357
+ sig { returns(T.nilable(String)) }
358
+ attr_accessor :started_at
359
+
360
+ # There is no finish time yet — the batch is still winding down.
361
+ sig do
362
+ params(created_at: String, started_at: T.nilable(String)).returns(
363
+ T.attached_class
364
+ )
365
+ end
366
+ def self.new(
367
+ # When the batch was created.
368
+ created_at:,
369
+ # When processing started. Null if it was cancelled while still queued.
370
+ started_at:
371
+ )
372
+ end
373
+
374
+ sig do
375
+ override.returns(
376
+ { created_at: String, started_at: T.nilable(String) }
377
+ )
378
+ end
379
+ def to_hash
380
+ end
381
+ end
382
+
383
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
384
+ OrHash =
385
+ T.type_alias do
386
+ T.any(
387
+ ContextDev::Models::BatchCancelResponse::KeyMetadata,
388
+ ContextDev::Internal::AnyHash
389
+ )
390
+ end
391
+
392
+ # The number of credits consumed by this request.
393
+ sig { returns(Integer) }
394
+ attr_accessor :credits_consumed
395
+
396
+ # The number of credits remaining for your organization after this request.
397
+ sig { returns(Integer) }
398
+ attr_accessor :credits_remaining
399
+
400
+ # API key usage for this request.
401
+ sig do
402
+ params(credits_consumed: Integer, credits_remaining: Integer).returns(
403
+ T.attached_class
404
+ )
405
+ end
406
+ def self.new(
407
+ # The number of credits consumed by this request.
408
+ credits_consumed:,
409
+ # The number of credits remaining for your organization after this request.
410
+ credits_remaining:
411
+ )
412
+ end
413
+
414
+ sig do
415
+ override.returns(
416
+ { credits_consumed: Integer, credits_remaining: Integer }
417
+ )
418
+ end
419
+ def to_hash
420
+ end
421
+ end
422
+ end
423
+ end
424
+ end
@@ -0,0 +1,70 @@
1
+ # typed: strong
2
+
3
+ module ContextDev
4
+ module Models
5
+ class BatchGetResultsParams < ContextDev::Internal::Type::BaseModel
6
+ extend ContextDev::Internal::Type::RequestParameters::Converter
7
+ include ContextDev::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ContextDev::BatchGetResultsParams,
13
+ ContextDev::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # ID of the batch to retrieve or cancel.
18
+ sig { returns(String) }
19
+ attr_accessor :batch_id
20
+
21
+ # next_cursor from the previous page.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :cursor
24
+
25
+ sig { params(cursor: String).void }
26
+ attr_writer :cursor
27
+
28
+ # Records per page. Defaults to 25. A page can close early so its payload stays
29
+ # under ~8 MB; rely on next_cursor rather than counting records.
30
+ sig { returns(T.nilable(Integer)) }
31
+ attr_reader :limit
32
+
33
+ sig { params(limit: Integer).void }
34
+ attr_writer :limit
35
+
36
+ sig do
37
+ params(
38
+ batch_id: String,
39
+ cursor: String,
40
+ limit: Integer,
41
+ request_options: ContextDev::RequestOptions::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # ID of the batch to retrieve or cancel.
46
+ batch_id:,
47
+ # next_cursor from the previous page.
48
+ cursor: nil,
49
+ # Records per page. Defaults to 25. A page can close early so its payload stays
50
+ # under ~8 MB; rely on next_cursor rather than counting records.
51
+ limit: nil,
52
+ request_options: {}
53
+ )
54
+ end
55
+
56
+ sig do
57
+ override.returns(
58
+ {
59
+ batch_id: String,
60
+ cursor: String,
61
+ limit: Integer,
62
+ request_options: ContextDev::RequestOptions
63
+ }
64
+ )
65
+ end
66
+ def to_hash
67
+ end
68
+ end
69
+ end
70
+ end