context.dev 2.18.0 → 2.19.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  6. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  7. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  8. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  9. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
  10. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  11. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  13. data/lib/context_dev/models/web_screenshot_params.rb +15 -1
  14. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  15. data/lib/context_dev/models.rb +8 -22
  16. data/lib/context_dev/resources/brand.rb +0 -36
  17. data/lib/context_dev/resources/monitors.rb +47 -0
  18. data/lib/context_dev/resources/web.rb +106 -486
  19. data/lib/context_dev/version.rb +1 -1
  20. data/lib/context_dev.rb +8 -23
  21. data/rbi/context_dev/client.rbi +0 -3
  22. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  23. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  24. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  25. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  26. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
  27. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  28. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  29. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +539 -510
  30. data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
  31. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  32. data/rbi/context_dev/models.rbi +9 -24
  33. data/rbi/context_dev/resources/brand.rbi +0 -35
  34. data/rbi/context_dev/resources/monitors.rbi +24 -0
  35. data/rbi/context_dev/resources/web.rbi +135 -654
  36. data/sig/context_dev/client.rbs +0 -2
  37. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  38. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  39. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  40. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  41. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  42. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  43. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  45. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  46. data/sig/context_dev/models.rbs +8 -22
  47. data/sig/context_dev/resources/brand.rbs +0 -9
  48. data/sig/context_dev/resources/monitors.rbs +11 -0
  49. data/sig/context_dev/resources/web.rbs +30 -128
  50. metadata +26 -71
  51. data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
  52. data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
  53. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  54. data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
  55. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  56. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  57. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  58. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  59. data/lib/context_dev/models/web_extract_params.rb +0 -419
  60. data/lib/context_dev/models/web_extract_response.rb +0 -287
  61. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
  62. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  63. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
  64. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
  65. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
  66. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  67. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
  68. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  69. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
  70. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
  71. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  72. data/lib/context_dev/resources/ai.rb +0 -71
  73. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
  74. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
  75. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  76. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
  77. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  78. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  79. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  80. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  81. data/rbi/context_dev/models/web_extract_params.rbi +0 -781
  82. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  83. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
  84. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  85. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
  86. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  87. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  88. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  89. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  90. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  92. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  93. data/rbi/context_dev/resources/ai.rbi +0 -63
  94. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  95. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  96. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  97. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  98. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  99. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  100. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  101. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  102. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  103. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  104. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  105. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  106. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  107. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  108. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  109. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  110. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  111. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  112. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  113. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  114. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  115. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -1,728 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class WebWebScrapeImagesParams < 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::WebWebScrapeImagesParams,
13
- ContextDev::Internal::AnyHash
14
- )
15
- end
16
-
17
- # Page URL to inspect. Must include http:// or https://.
18
- sig { returns(String) }
19
- attr_accessor :url
20
-
21
- # Optional browser actions executed in array order after the page loads and before
22
- # content is captured. Requires a paid plan. Send a JSON array in the query
23
- # parameter. Maximum: 5 actions.
24
- sig do
25
- returns(
26
- T.nilable(
27
- T::Array[
28
- T.any(
29
- ContextDev::WebWebScrapeImagesParams::Action::Wait,
30
- ContextDev::WebWebScrapeImagesParams::Action::Perform,
31
- ContextDev::WebWebScrapeImagesParams::Action::Scroll
32
- )
33
- ]
34
- )
35
- )
36
- end
37
- attr_accessor :actions
38
-
39
- # When true, visually duplicate images are removed: every image is loaded and
40
- # perceptually hashed, and only the highest-resolution copy of each duplicate
41
- # group is kept. Images that cannot be downloaded or hashed are kept. Default:
42
- # false.
43
- sig { returns(T.nilable(T::Boolean)) }
44
- attr_reader :dedupe
45
-
46
- sig { params(dedupe: T::Boolean).void }
47
- attr_writer :dedupe
48
-
49
- # Optional per-image processing, sent as deep-object query params such as
50
- # enrichment[resolution]=true.
51
- sig do
52
- returns(T.nilable(ContextDev::WebWebScrapeImagesParams::Enrichment))
53
- end
54
- attr_reader :enrichment
55
-
56
- sig do
57
- params(
58
- enrichment:
59
- T.nilable(ContextDev::WebWebScrapeImagesParams::Enrichment::OrHash)
60
- ).void
61
- end
62
- attr_writer :enrichment
63
-
64
- # Optional outbound HTTP headers forwarded only to the target URL, sent as
65
- # deep-object query params such as headers[X-Custom]=value. When provided, caching
66
- # is bypassed: the result is neither read from nor written to cache.
67
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
68
- attr_reader :headers
69
-
70
- sig { params(headers: T::Hash[Symbol, String]).void }
71
- attr_writer :headers
72
-
73
- # Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
74
- # day). Set to 0 to bypass cache. Maximum: 2592000000 (30 days).
75
- sig { returns(T.nilable(Integer)) }
76
- attr_accessor :max_age_ms
77
-
78
- # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
79
- # characters.
80
- sig { returns(T.nilable(T::Array[String])) }
81
- attr_reader :tags
82
-
83
- sig { params(tags: T::Array[String]).void }
84
- attr_writer :tags
85
-
86
- # Optional request deadline and behavior on timeout. For GET requests, use
87
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
88
- # timeoutOpts object.
89
- sig do
90
- returns(T.nilable(ContextDev::WebWebScrapeImagesParams::TimeoutOpts))
91
- end
92
- attr_reader :timeout_opts
93
-
94
- sig do
95
- params(
96
- timeout_opts:
97
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::OrHash
98
- ).void
99
- end
100
- attr_writer :timeout_opts
101
-
102
- # Optional browser wait time in milliseconds after initial page load before
103
- # collecting images. Min: 0. Max: 30000 (30 seconds). When combined with
104
- # timeoutOpts, timeoutOpts.milliseconds must be at least waitForMs + 10000 ms; a
105
- # shorter deadline is rejected with 400 TIMEOUT_TOO_SHORT_FOR_WAIT.
106
- sig { returns(T.nilable(Integer)) }
107
- attr_accessor :wait_for_ms
108
-
109
- # Set to enabled to bypass shared caches and omit request and response content
110
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
111
- # omitted. Requires zero data retention to be enabled for your organization
112
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
113
- # Successful ZDR responses include X-Context-ZDR: true.
114
- sig do
115
- returns(T.nilable(ContextDev::WebWebScrapeImagesParams::Zdr::OrSymbol))
116
- end
117
- attr_reader :zdr
118
-
119
- sig do
120
- params(zdr: ContextDev::WebWebScrapeImagesParams::Zdr::OrSymbol).void
121
- end
122
- attr_writer :zdr
123
-
124
- sig do
125
- params(
126
- url: String,
127
- actions:
128
- T.nilable(
129
- T::Array[
130
- T.any(
131
- ContextDev::WebWebScrapeImagesParams::Action::Wait::OrHash,
132
- ContextDev::WebWebScrapeImagesParams::Action::Perform::OrHash,
133
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::OrHash
134
- )
135
- ]
136
- ),
137
- dedupe: T::Boolean,
138
- enrichment:
139
- T.nilable(ContextDev::WebWebScrapeImagesParams::Enrichment::OrHash),
140
- headers: T::Hash[Symbol, String],
141
- max_age_ms: T.nilable(Integer),
142
- tags: T::Array[String],
143
- timeout_opts:
144
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::OrHash,
145
- wait_for_ms: T.nilable(Integer),
146
- zdr: ContextDev::WebWebScrapeImagesParams::Zdr::OrSymbol,
147
- request_options: ContextDev::RequestOptions::OrHash
148
- ).returns(T.attached_class)
149
- end
150
- def self.new(
151
- # Page URL to inspect. Must include http:// or https://.
152
- url:,
153
- # Optional browser actions executed in array order after the page loads and before
154
- # content is captured. Requires a paid plan. Send a JSON array in the query
155
- # parameter. Maximum: 5 actions.
156
- actions: nil,
157
- # When true, visually duplicate images are removed: every image is loaded and
158
- # perceptually hashed, and only the highest-resolution copy of each duplicate
159
- # group is kept. Images that cannot be downloaded or hashed are kept. Default:
160
- # false.
161
- dedupe: nil,
162
- # Optional per-image processing, sent as deep-object query params such as
163
- # enrichment[resolution]=true.
164
- enrichment: nil,
165
- # Optional outbound HTTP headers forwarded only to the target URL, sent as
166
- # deep-object query params such as headers[X-Custom]=value. When provided, caching
167
- # is bypassed: the result is neither read from nor written to cache.
168
- headers: nil,
169
- # Reuse a cached result this many milliseconds old or newer. Default: 86400000 (1
170
- # day). Set to 0 to bypass cache. Maximum: 2592000000 (30 days).
171
- max_age_ms: nil,
172
- # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
173
- # characters.
174
- tags: nil,
175
- # Optional request deadline and behavior on timeout. For GET requests, use
176
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
177
- # timeoutOpts object.
178
- timeout_opts: nil,
179
- # Optional browser wait time in milliseconds after initial page load before
180
- # collecting images. Min: 0. Max: 30000 (30 seconds). When combined with
181
- # timeoutOpts, timeoutOpts.milliseconds must be at least waitForMs + 10000 ms; a
182
- # shorter deadline is rejected with 400 TIMEOUT_TOO_SHORT_FOR_WAIT.
183
- wait_for_ms: nil,
184
- # Set to enabled to bypass shared caches and omit request and response content
185
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
186
- # omitted. Requires zero data retention to be enabled for your organization
187
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
188
- # Successful ZDR responses include X-Context-ZDR: true.
189
- zdr: nil,
190
- request_options: {}
191
- )
192
- end
193
-
194
- sig do
195
- override.returns(
196
- {
197
- url: String,
198
- actions:
199
- T.nilable(
200
- T::Array[
201
- T.any(
202
- ContextDev::WebWebScrapeImagesParams::Action::Wait,
203
- ContextDev::WebWebScrapeImagesParams::Action::Perform,
204
- ContextDev::WebWebScrapeImagesParams::Action::Scroll
205
- )
206
- ]
207
- ),
208
- dedupe: T::Boolean,
209
- enrichment:
210
- T.nilable(ContextDev::WebWebScrapeImagesParams::Enrichment),
211
- headers: T::Hash[Symbol, String],
212
- max_age_ms: T.nilable(Integer),
213
- tags: T::Array[String],
214
- timeout_opts: ContextDev::WebWebScrapeImagesParams::TimeoutOpts,
215
- wait_for_ms: T.nilable(Integer),
216
- zdr: ContextDev::WebWebScrapeImagesParams::Zdr::OrSymbol,
217
- request_options: ContextDev::RequestOptions
218
- }
219
- )
220
- end
221
- def to_hash
222
- end
223
-
224
- # Browser action discriminated by `do`. Each variant exposes only its applicable
225
- # fields.
226
- module Action
227
- extend ContextDev::Internal::Type::Union
228
-
229
- Variants =
230
- T.type_alias do
231
- T.any(
232
- ContextDev::WebWebScrapeImagesParams::Action::Wait,
233
- ContextDev::WebWebScrapeImagesParams::Action::Perform,
234
- ContextDev::WebWebScrapeImagesParams::Action::Scroll
235
- )
236
- end
237
-
238
- class Wait < ContextDev::Internal::Type::BaseModel
239
- OrHash =
240
- T.type_alias do
241
- T.any(
242
- ContextDev::WebWebScrapeImagesParams::Action::Wait,
243
- ContextDev::Internal::AnyHash
244
- )
245
- end
246
-
247
- sig { returns(Symbol) }
248
- attr_accessor :do_
249
-
250
- sig { returns(Integer) }
251
- attr_accessor :time_ms
252
-
253
- # Pause for a fixed number of milliseconds before continuing to the next action.
254
- sig do
255
- params(time_ms: Integer, do_: Symbol).returns(T.attached_class)
256
- end
257
- def self.new(time_ms:, do_: :wait)
258
- end
259
-
260
- sig { override.returns({ do_: Symbol, time_ms: Integer }) }
261
- def to_hash
262
- end
263
- end
264
-
265
- class Perform < ContextDev::Internal::Type::BaseModel
266
- OrHash =
267
- T.type_alias do
268
- T.any(
269
- ContextDev::WebWebScrapeImagesParams::Action::Perform,
270
- ContextDev::Internal::AnyHash
271
- )
272
- end
273
-
274
- sig { returns(String) }
275
- attr_accessor :action
276
-
277
- sig { returns(Symbol) }
278
- attr_accessor :do_
279
-
280
- # Resolve and perform one natural-language browser action.
281
- sig { params(action: String, do_: Symbol).returns(T.attached_class) }
282
- def self.new(action:, do_: :perform)
283
- end
284
-
285
- sig { override.returns({ action: String, do_: Symbol }) }
286
- def to_hash
287
- end
288
- end
289
-
290
- class Scroll < ContextDev::Internal::Type::BaseModel
291
- OrHash =
292
- T.type_alias do
293
- T.any(
294
- ContextDev::WebWebScrapeImagesParams::Action::Scroll,
295
- ContextDev::Internal::AnyHash
296
- )
297
- end
298
-
299
- sig { returns(Symbol) }
300
- attr_accessor :do_
301
-
302
- # Pixels per scroll, one visible viewport, or the current scroll boundary.
303
- # Defaults to viewport.
304
- sig do
305
- returns(
306
- T.nilable(
307
- T.any(
308
- Integer,
309
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
310
- )
311
- )
312
- )
313
- end
314
- attr_reader :amount
315
-
316
- sig do
317
- params(
318
- amount:
319
- T.any(
320
- Integer,
321
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
322
- )
323
- ).void
324
- end
325
- attr_writer :amount
326
-
327
- # CSS selector for the first matching scroll container. Defaults to the page.
328
- sig { returns(T.nilable(String)) }
329
- attr_reader :container
330
-
331
- sig { params(container: String).void }
332
- attr_writer :container
333
-
334
- # Direction to scroll. Defaults to down.
335
- sig do
336
- returns(
337
- T.nilable(
338
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol
339
- )
340
- )
341
- end
342
- attr_reader :direction
343
-
344
- sig do
345
- params(
346
- direction:
347
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol
348
- ).void
349
- end
350
- attr_writer :direction
351
-
352
- # Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
353
- # changing. Defaults to 1.
354
- sig { returns(T.nilable(Integer)) }
355
- attr_reader :max_scrolls
356
-
357
- sig { params(max_scrolls: Integer).void }
358
- attr_writer :max_scrolls
359
-
360
- # Scroll the page or a selected scrollable container, waiting adaptively for
361
- # content and dimensions to settle after each iteration.
362
- sig do
363
- params(
364
- amount:
365
- T.any(
366
- Integer,
367
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
368
- ),
369
- container: String,
370
- direction:
371
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol,
372
- max_scrolls: Integer,
373
- do_: Symbol
374
- ).returns(T.attached_class)
375
- end
376
- def self.new(
377
- # Pixels per scroll, one visible viewport, or the current scroll boundary.
378
- # Defaults to viewport.
379
- amount: nil,
380
- # CSS selector for the first matching scroll container. Defaults to the page.
381
- container: nil,
382
- # Direction to scroll. Defaults to down.
383
- direction: nil,
384
- # Maximum scroll iterations. Stops early when scrolling and scrollable extent stop
385
- # changing. Defaults to 1.
386
- max_scrolls: nil,
387
- do_: :scroll
388
- )
389
- end
390
-
391
- sig do
392
- override.returns(
393
- {
394
- do_: Symbol,
395
- amount:
396
- T.any(
397
- Integer,
398
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::OrSymbol
399
- ),
400
- container: String,
401
- direction:
402
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::OrSymbol,
403
- max_scrolls: Integer
404
- }
405
- )
406
- end
407
- def to_hash
408
- end
409
-
410
- # Pixels per scroll, one visible viewport, or the current scroll boundary.
411
- # Defaults to viewport.
412
- module Amount
413
- extend ContextDev::Internal::Type::Union
414
-
415
- Variants =
416
- T.type_alias do
417
- T.any(
418
- Integer,
419
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::TaggedSymbol
420
- )
421
- end
422
-
423
- sig do
424
- override.returns(
425
- T::Array[
426
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::Variants
427
- ]
428
- )
429
- end
430
- def self.variants
431
- end
432
-
433
- TaggedSymbol =
434
- T.type_alias do
435
- T.all(
436
- Symbol,
437
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount
438
- )
439
- end
440
- OrSymbol = T.type_alias { T.any(Symbol, String) }
441
-
442
- VIEWPORT =
443
- T.let(
444
- :viewport,
445
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::TaggedSymbol
446
- )
447
- MAX =
448
- T.let(
449
- :max,
450
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Amount::TaggedSymbol
451
- )
452
- end
453
-
454
- # Direction to scroll. Defaults to down.
455
- module Direction
456
- extend ContextDev::Internal::Type::Enum
457
-
458
- TaggedSymbol =
459
- T.type_alias do
460
- T.all(
461
- Symbol,
462
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction
463
- )
464
- end
465
- OrSymbol = T.type_alias { T.any(Symbol, String) }
466
-
467
- UP =
468
- T.let(
469
- :up,
470
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
471
- )
472
- DOWN =
473
- T.let(
474
- :down,
475
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
476
- )
477
- LEFT =
478
- T.let(
479
- :left,
480
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
481
- )
482
- RIGHT =
483
- T.let(
484
- :right,
485
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
486
- )
487
-
488
- sig do
489
- override.returns(
490
- T::Array[
491
- ContextDev::WebWebScrapeImagesParams::Action::Scroll::Direction::TaggedSymbol
492
- ]
493
- )
494
- end
495
- def self.values
496
- end
497
- end
498
- end
499
-
500
- sig do
501
- override.returns(
502
- T::Array[ContextDev::WebWebScrapeImagesParams::Action::Variants]
503
- )
504
- end
505
- def self.variants
506
- end
507
- end
508
-
509
- class Enrichment < ContextDev::Internal::Type::BaseModel
510
- OrHash =
511
- T.type_alias do
512
- T.any(
513
- ContextDev::WebWebScrapeImagesParams::Enrichment,
514
- ContextDev::Internal::AnyHash
515
- )
516
- end
517
-
518
- # Classify each image by visual asset type.
519
- sig { returns(T.nilable(T::Boolean)) }
520
- attr_reader :classification
521
-
522
- sig { params(classification: T::Boolean).void }
523
- attr_writer :classification
524
-
525
- # Host materializable images on the Brand.dev CDN and return their URL and MIME
526
- # type. Ignored when zero data retention is enabled.
527
- sig { returns(T.nilable(T::Boolean)) }
528
- attr_reader :hosted_url
529
-
530
- sig { params(hosted_url: T::Boolean).void }
531
- attr_writer :hosted_url
532
-
533
- # Per-image enrichment timeout in milliseconds. Default: 30000. Maximum: 60000.
534
- sig { returns(T.nilable(Integer)) }
535
- attr_reader :max_time_per_ms
536
-
537
- sig { params(max_time_per_ms: Integer).void }
538
- attr_writer :max_time_per_ms
539
-
540
- # Measure image width and height when possible.
541
- sig { returns(T.nilable(T::Boolean)) }
542
- attr_reader :resolution
543
-
544
- sig { params(resolution: T::Boolean).void }
545
- attr_writer :resolution
546
-
547
- # Optional per-image processing, sent as deep-object query params such as
548
- # enrichment[resolution]=true.
549
- sig do
550
- params(
551
- classification: T::Boolean,
552
- hosted_url: T::Boolean,
553
- max_time_per_ms: Integer,
554
- resolution: T::Boolean
555
- ).returns(T.attached_class)
556
- end
557
- def self.new(
558
- # Classify each image by visual asset type.
559
- classification: nil,
560
- # Host materializable images on the Brand.dev CDN and return their URL and MIME
561
- # type. Ignored when zero data retention is enabled.
562
- hosted_url: nil,
563
- # Per-image enrichment timeout in milliseconds. Default: 30000. Maximum: 60000.
564
- max_time_per_ms: nil,
565
- # Measure image width and height when possible.
566
- resolution: nil
567
- )
568
- end
569
-
570
- sig do
571
- override.returns(
572
- {
573
- classification: T::Boolean,
574
- hosted_url: T::Boolean,
575
- max_time_per_ms: Integer,
576
- resolution: T::Boolean
577
- }
578
- )
579
- end
580
- def to_hash
581
- end
582
- end
583
-
584
- class TimeoutOpts < ContextDev::Internal::Type::BaseModel
585
- OrHash =
586
- T.type_alias do
587
- T.any(
588
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts,
589
- ContextDev::Internal::AnyHash
590
- )
591
- end
592
-
593
- # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
594
- sig { returns(Integer) }
595
- attr_accessor :milliseconds
596
-
597
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
598
- # credits. "return-partial" returns usable results collected so far; if none are
599
- # available, the request still fails without charging credits. Partial results are
600
- # not cached as complete results. "return-partial" requires milliseconds of at
601
- # least 5000.
602
- sig do
603
- returns(
604
- T.nilable(
605
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::OrSymbol
606
- )
607
- )
608
- end
609
- attr_reader :behavior
610
-
611
- sig do
612
- params(
613
- behavior:
614
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::OrSymbol
615
- ).void
616
- end
617
- attr_writer :behavior
618
-
619
- # Optional request deadline and behavior on timeout. For GET requests, use
620
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
621
- # timeoutOpts object.
622
- sig do
623
- params(
624
- milliseconds: Integer,
625
- behavior:
626
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::OrSymbol
627
- ).returns(T.attached_class)
628
- end
629
- def self.new(
630
- # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
631
- milliseconds:,
632
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
633
- # credits. "return-partial" returns usable results collected so far; if none are
634
- # available, the request still fails without charging credits. Partial results are
635
- # not cached as complete results. "return-partial" requires milliseconds of at
636
- # least 5000.
637
- behavior: nil
638
- )
639
- end
640
-
641
- sig do
642
- override.returns(
643
- {
644
- milliseconds: Integer,
645
- behavior:
646
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::OrSymbol
647
- }
648
- )
649
- end
650
- def to_hash
651
- end
652
-
653
- # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
654
- # credits. "return-partial" returns usable results collected so far; if none are
655
- # available, the request still fails without charging credits. Partial results are
656
- # not cached as complete results. "return-partial" requires milliseconds of at
657
- # least 5000.
658
- module Behavior
659
- extend ContextDev::Internal::Type::Enum
660
-
661
- TaggedSymbol =
662
- T.type_alias do
663
- T.all(
664
- Symbol,
665
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior
666
- )
667
- end
668
- OrSymbol = T.type_alias { T.any(Symbol, String) }
669
-
670
- FAIL =
671
- T.let(
672
- :fail,
673
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::TaggedSymbol
674
- )
675
- RETURN_PARTIAL =
676
- T.let(
677
- :"return-partial",
678
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::TaggedSymbol
679
- )
680
-
681
- sig do
682
- override.returns(
683
- T::Array[
684
- ContextDev::WebWebScrapeImagesParams::TimeoutOpts::Behavior::TaggedSymbol
685
- ]
686
- )
687
- end
688
- def self.values
689
- end
690
- end
691
- end
692
-
693
- # Set to enabled to bypass shared caches and omit request and response content
694
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
695
- # omitted. Requires zero data retention to be enabled for your organization
696
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
697
- # Successful ZDR responses include X-Context-ZDR: true.
698
- module Zdr
699
- extend ContextDev::Internal::Type::Enum
700
-
701
- TaggedSymbol =
702
- T.type_alias do
703
- T.all(Symbol, ContextDev::WebWebScrapeImagesParams::Zdr)
704
- end
705
- OrSymbol = T.type_alias { T.any(Symbol, String) }
706
-
707
- ENABLED =
708
- T.let(
709
- :enabled,
710
- ContextDev::WebWebScrapeImagesParams::Zdr::TaggedSymbol
711
- )
712
- DISABLED =
713
- T.let(
714
- :disabled,
715
- ContextDev::WebWebScrapeImagesParams::Zdr::TaggedSymbol
716
- )
717
-
718
- sig do
719
- override.returns(
720
- T::Array[ContextDev::WebWebScrapeImagesParams::Zdr::TaggedSymbol]
721
- )
722
- end
723
- def self.values
724
- end
725
- end
726
- end
727
- end
728
- end