context.dev 2.17.0 → 2.18.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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/models/ai_extract_product_params.rb +28 -1
  5. data/lib/context_dev/models/ai_extract_product_response.rb +51 -1
  6. data/lib/context_dev/models/ai_extract_products_response.rb +51 -1
  7. data/lib/context_dev/models/brand_retrieve_response.rb +65 -65
  8. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +66 -66
  9. data/lib/context_dev/models/industry_retrieve_naics_params.rb +28 -1
  10. data/lib/context_dev/models/industry_retrieve_sic_params.rb +28 -1
  11. data/lib/context_dev/models/parse_handle_params.rb +8 -6
  12. data/lib/context_dev/models/person_enrich_params.rb +28 -1
  13. data/lib/context_dev/models/web_answers_params.rb +28 -1
  14. data/lib/context_dev/models/web_extract_competitors_params.rb +28 -1
  15. data/lib/context_dev/models/web_extract_fonts_params.rb +2 -2
  16. data/lib/context_dev/models/web_extract_params.rb +28 -1
  17. data/lib/context_dev/models/web_extract_styleguide_params.rb +30 -3
  18. data/lib/context_dev/models/web_screenshot_params.rb +10 -8
  19. data/lib/context_dev/models/web_search_params.rb +30 -3
  20. data/lib/context_dev/models/web_search_response.rb +6 -2
  21. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +8 -6
  22. data/lib/context_dev/models/web_web_scrape_html_params.rb +188 -9
  23. data/lib/context_dev/models/web_web_scrape_html_response.rb +41 -1
  24. data/lib/context_dev/models/web_web_scrape_images_params.rb +31 -4
  25. data/lib/context_dev/models/web_web_scrape_md_params.rb +10 -8
  26. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +471 -0
  27. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +169 -0
  28. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +8 -6
  29. data/lib/context_dev/models.rb +2 -0
  30. data/lib/context_dev/resources/ai.rb +3 -1
  31. data/lib/context_dev/resources/industry.rb +6 -2
  32. data/lib/context_dev/resources/people.rb +3 -1
  33. data/lib/context_dev/resources/web.rb +96 -13
  34. data/lib/context_dev/version.rb +1 -1
  35. data/lib/context_dev.rb +2 -0
  36. data/rbi/context_dev/models/ai_extract_product_params.rbi +54 -0
  37. data/rbi/context_dev/models/ai_extract_product_response.rbi +98 -3
  38. data/rbi/context_dev/models/ai_extract_products_response.rbi +98 -3
  39. data/rbi/context_dev/models/brand_retrieve_response.rbi +128 -136
  40. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +132 -140
  41. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +59 -0
  42. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +57 -0
  43. data/rbi/context_dev/models/parse_handle_params.rbi +12 -9
  44. data/rbi/context_dev/models/person_enrich_params.rbi +45 -0
  45. data/rbi/context_dev/models/web_answers_params.rbi +45 -0
  46. data/rbi/context_dev/models/web_extract_competitors_params.rbi +59 -0
  47. data/rbi/context_dev/models/web_extract_fonts_params.rbi +3 -3
  48. data/rbi/context_dev/models/web_extract_params.rbi +45 -0
  49. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +62 -3
  50. data/rbi/context_dev/models/web_screenshot_params.rbi +15 -12
  51. data/rbi/context_dev/models/web_search_params.rbi +48 -3
  52. data/rbi/context_dev/models/web_search_response.rbi +4 -2
  53. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +12 -9
  54. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +485 -12
  55. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +103 -0
  56. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +62 -5
  57. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +15 -12
  58. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +1580 -0
  59. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +332 -0
  60. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +12 -9
  61. data/rbi/context_dev/models.rbi +3 -0
  62. data/rbi/context_dev/resources/ai.rbi +7 -0
  63. data/rbi/context_dev/resources/industry.rbi +14 -0
  64. data/rbi/context_dev/resources/parse.rbi +4 -4
  65. data/rbi/context_dev/resources/people.rbi +7 -0
  66. data/rbi/context_dev/resources/web.rbi +173 -21
  67. data/sig/context_dev/models/ai_extract_product_params.rbs +21 -1
  68. data/sig/context_dev/models/ai_extract_product_response.rbs +44 -3
  69. data/sig/context_dev/models/ai_extract_products_response.rbs +44 -3
  70. data/sig/context_dev/models/brand_retrieve_response.rbs +51 -59
  71. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +51 -59
  72. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +21 -1
  73. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +21 -1
  74. data/sig/context_dev/models/person_enrich_params.rbs +21 -1
  75. data/sig/context_dev/models/web_answers_params.rbs +21 -1
  76. data/sig/context_dev/models/web_extract_competitors_params.rbs +21 -1
  77. data/sig/context_dev/models/web_extract_params.rbs +21 -1
  78. data/sig/context_dev/models/web_extract_styleguide_params.rbs +21 -1
  79. data/sig/context_dev/models/web_search_params.rbs +21 -1
  80. data/sig/context_dev/models/web_web_scrape_html_params.rbs +148 -0
  81. data/sig/context_dev/models/web_web_scrape_html_response.rbs +30 -0
  82. data/sig/context_dev/models/web_web_scrape_images_params.rbs +21 -1
  83. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +619 -0
  84. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +127 -0
  85. data/sig/context_dev/models.rbs +2 -0
  86. data/sig/context_dev/resources/ai.rbs +1 -0
  87. data/sig/context_dev/resources/industry.rbs +2 -0
  88. data/sig/context_dev/resources/people.rbs +1 -0
  89. data/sig/context_dev/resources/web.rbs +24 -0
  90. metadata +8 -2
@@ -0,0 +1,471 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_screenshot
6
+ class WebWebScrapeScreenshotParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ #
12
+ # @return [String]
13
+ required :url, String
14
+
15
+ # @!attribute clear_popups
16
+ # Optional parameter for comprehensive popup cleanup. If 'true', the browser
17
+ # dismisses detected cookie/consent UI and clears other detected obstructive
18
+ # popups and overlays before capture. If 'false' or not provided, this parameter
19
+ # requests no cleanup; handleCookiePopup can still request cookie/consent handling
20
+ # independently.
21
+ #
22
+ # @return [Boolean, nil]
23
+ optional :clear_popups, ContextDev::Internal::Type::Boolean
24
+
25
+ # @!attribute color_scheme
26
+ # Optional parameter to choose the site's visual theme in the screenshot. Use
27
+ # 'light' or 'dark' when the site offers both appearances.
28
+ #
29
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::ColorScheme, nil]
30
+ optional :color_scheme, enum: -> { ContextDev::WebWebScrapeScreenshotParams::ColorScheme }
31
+
32
+ # @!attribute country
33
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
34
+ # alpha-2).
35
+ #
36
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::Country, nil]
37
+ optional :country, enum: -> { ContextDev::WebWebScrapeScreenshotParams::Country }
38
+
39
+ # @!attribute full_screenshot
40
+ # Optional parameter to determine screenshot type. If 'true', takes a full page
41
+ # screenshot capturing all content. If 'false' or not provided, takes a viewport
42
+ # screenshot (standard browser view).
43
+ #
44
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::FullScreenshot, nil]
45
+ optional :full_screenshot, enum: -> { ContextDev::WebWebScrapeScreenshotParams::FullScreenshot }
46
+
47
+ # @!attribute handle_cookie_popup
48
+ # Optional parameter to control cookie/consent popup handling. If 'true', we
49
+ # dismiss cookie banner before capture. If 'false' or not provided, captures the
50
+ # page without that step.
51
+ #
52
+ # @return [Boolean, nil]
53
+ optional :handle_cookie_popup, ContextDev::Internal::Type::Boolean
54
+
55
+ # @!attribute max_age_ms
56
+ # Return a cached screenshot if a prior screenshot for the same parameters exists
57
+ # and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
58
+ # omitted. Max is 30 days (2592000000 ms). Set to 0 to always capture fresh.
59
+ #
60
+ # @return [Integer, nil]
61
+ optional :max_age_ms, Integer, nil?: true
62
+
63
+ # @!attribute scroll_offset
64
+ # Optional vertical scroll offset in pixels for capturing a long page in
65
+ # viewport-sized chunks. When provided, the full page is captured once and the
66
+ # returned image is the viewport-sized slice that begins at this Y offset (e.g.
67
+ # request scrollOffset=0, then 1080, then 2160 to walk a 1920x1080 landing page
68
+ # top to bottom). The final slice may be shorter than the viewport height. Takes
69
+ # precedence over fullScreenshot. Max: 100000.
70
+ #
71
+ # @return [Integer, nil]
72
+ optional :scroll_offset, Integer, nil?: true
73
+
74
+ # @!attribute tags
75
+ # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
76
+ # characters.
77
+ #
78
+ # @return [Array<String>, nil]
79
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
80
+
81
+ # @!attribute timeout_opts
82
+ # Optional request deadline and behavior on timeout. For GET requests, use
83
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
84
+ # timeoutOpts object.
85
+ #
86
+ # @return [ContextDev::Models::WebWebScrapeScreenshotParams::TimeoutOpts, nil]
87
+ optional :timeout_opts, -> { ContextDev::WebWebScrapeScreenshotParams::TimeoutOpts }
88
+
89
+ # @!attribute viewport
90
+ # Optional browser viewport dimensions for the screenshot. Defaults to 1920x1080.
91
+ #
92
+ # @return [ContextDev::Models::WebWebScrapeScreenshotParams::Viewport, nil]
93
+ optional :viewport, -> { ContextDev::WebWebScrapeScreenshotParams::Viewport }
94
+
95
+ # @!attribute wait_for_ms
96
+ # Optional browser wait time in milliseconds after initial page load before taking
97
+ # the screenshot. Min: 0. Max: 30000 (30 seconds). Defaults to 3000 ms when
98
+ # omitted. When combined with timeoutOpts, timeoutOpts.milliseconds must be at
99
+ # least waitForMs + 10000 ms; a shorter deadline is rejected with 400
100
+ # TIMEOUT_TOO_SHORT_FOR_WAIT.
101
+ #
102
+ # @return [Integer, nil]
103
+ optional :wait_for_ms, Integer, nil?: true
104
+
105
+ # @!attribute zdr
106
+ # Set to enabled to bypass shared caches and omit request and response content
107
+ # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
108
+ # omitted. Requires zero data retention to be enabled for your organization
109
+ # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
110
+ # Successful ZDR responses include X-Context-ZDR: true.
111
+ #
112
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::Zdr, nil]
113
+ optional :zdr, enum: -> { ContextDev::WebWebScrapeScreenshotParams::Zdr }
114
+
115
+ # @!method initialize(url:, clear_popups: nil, color_scheme: nil, country: nil, full_screenshot: nil, handle_cookie_popup: nil, max_age_ms: nil, scroll_offset: nil, tags: nil, timeout_opts: nil, viewport: nil, wait_for_ms: nil, zdr: nil, request_options: {})
116
+ # Some parameter documentations has been truncated, see
117
+ # {ContextDev::Models::WebWebScrapeScreenshotParams} for more details.
118
+ #
119
+ # @param url [String]
120
+ #
121
+ # @param clear_popups [Boolean] Optional parameter for comprehensive popup cleanup. If 'true', the browser dismi
122
+ #
123
+ # @param color_scheme [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::ColorScheme] Optional parameter to choose the site's visual theme in the screenshot. Use 'lig
124
+ #
125
+ # @param country [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::Country] Fetch the target page through a residential proxy in this country (ISO 3166-1 al
126
+ #
127
+ # @param full_screenshot [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::FullScreenshot] Optional parameter to determine screenshot type. If 'true', takes a full page sc
128
+ #
129
+ # @param handle_cookie_popup [Boolean] Optional parameter to control cookie/consent popup handling. If 'true', we dismi
130
+ #
131
+ # @param max_age_ms [Integer, nil] Return a cached screenshot if a prior screenshot for the same parameters exists
132
+ #
133
+ # @param scroll_offset [Integer, nil] Optional vertical scroll offset in pixels for capturing a long page in viewport-
134
+ #
135
+ # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
136
+ #
137
+ # @param timeout_opts [ContextDev::Models::WebWebScrapeScreenshotParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
138
+ #
139
+ # @param viewport [ContextDev::Models::WebWebScrapeScreenshotParams::Viewport] Optional browser viewport dimensions for the screenshot. Defaults to 1920x1080.
140
+ #
141
+ # @param wait_for_ms [Integer, nil] Optional browser wait time in milliseconds after initial page load before taking
142
+ #
143
+ # @param zdr [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
144
+ #
145
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
146
+
147
+ # Optional parameter to choose the site's visual theme in the screenshot. Use
148
+ # 'light' or 'dark' when the site offers both appearances.
149
+ module ColorScheme
150
+ extend ContextDev::Internal::Type::Enum
151
+
152
+ LIGHT = :light
153
+ DARK = :dark
154
+
155
+ # @!method self.values
156
+ # @return [Array<Symbol>]
157
+ end
158
+
159
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
160
+ # alpha-2).
161
+ module Country
162
+ extend ContextDev::Internal::Type::Enum
163
+
164
+ AD = :ad
165
+ AE = :ae
166
+ AF = :af
167
+ AG = :ag
168
+ AI = :ai
169
+ AL = :al
170
+ AM = :am
171
+ AO = :ao
172
+ AR = :ar
173
+ AT = :at
174
+ AU = :au
175
+ AW = :aw
176
+ AZ = :az
177
+ BA = :ba
178
+ BB = :bb
179
+ BD = :bd
180
+ BE = :be
181
+ BF = :bf
182
+ BG = :bg
183
+ BH = :bh
184
+ BI = :bi
185
+ BJ = :bj
186
+ BM = :bm
187
+ BN = :bn
188
+ BO = :bo
189
+ BQ = :bq
190
+ BR = :br
191
+ BS = :bs
192
+ BW = :bw
193
+ BY = :by
194
+ BZ = :bz
195
+ CA = :ca
196
+ CD = :cd
197
+ CF = :cf
198
+ CG = :cg
199
+ CH = :ch
200
+ CI = :ci
201
+ CL = :cl
202
+ CM = :cm
203
+ CN = :cn
204
+ CO = :co
205
+ CR = :cr
206
+ CV = :cv
207
+ CW = :cw
208
+ CY = :cy
209
+ CZ = :cz
210
+ DE = :de
211
+ DJ = :dj
212
+ DK = :dk
213
+ DM = :dm
214
+ DO = :do
215
+ DZ = :dz
216
+ EC = :ec
217
+ EE = :ee
218
+ EG = :eg
219
+ ES = :es
220
+ ET = :et
221
+ FI = :fi
222
+ FJ = :fj
223
+ FR = :fr
224
+ GA = :ga
225
+ GB = :gb
226
+ GD = :gd
227
+ GE = :ge
228
+ GF = :gf
229
+ GG = :gg
230
+ GH = :gh
231
+ GM = :gm
232
+ GN = :gn
233
+ GP = :gp
234
+ GQ = :gq
235
+ GR = :gr
236
+ GT = :gt
237
+ GU = :gu
238
+ GW = :gw
239
+ GY = :gy
240
+ HK = :hk
241
+ HN = :hn
242
+ HR = :hr
243
+ HT = :ht
244
+ HU = :hu
245
+ ID = :id
246
+ IE = :ie
247
+ IL = :il
248
+ IM = :im
249
+ IN = :in
250
+ IQ = :iq
251
+ IR = :ir
252
+ IS = :is
253
+ IT = :it
254
+ JE = :je
255
+ JM = :jm
256
+ JO = :jo
257
+ JP = :jp
258
+ KE = :ke
259
+ KG = :kg
260
+ KH = :kh
261
+ KN = :kn
262
+ KR = :kr
263
+ KW = :kw
264
+ KY = :ky
265
+ KZ = :kz
266
+ LA = :la
267
+ LB = :lb
268
+ LC = :lc
269
+ LK = :lk
270
+ LR = :lr
271
+ LS = :ls
272
+ LT = :lt
273
+ LU = :lu
274
+ LV = :lv
275
+ LY = :ly
276
+ MA = :ma
277
+ MC = :mc
278
+ MD = :md
279
+ ME = :me
280
+ MF = :mf
281
+ MG = :mg
282
+ MK = :mk
283
+ ML = :ml
284
+ MM = :mm
285
+ MN = :mn
286
+ MO = :mo
287
+ MQ = :mq
288
+ MR = :mr
289
+ MT = :mt
290
+ MU = :mu
291
+ MV = :mv
292
+ MW = :mw
293
+ MX = :mx
294
+ MY = :my
295
+ MZ = :mz
296
+ NA = :na
297
+ NC = :nc
298
+ NE = :ne
299
+ NG = :ng
300
+ NI = :ni
301
+ NL = :nl
302
+ NO = :no
303
+ NP = :np
304
+ NZ = :nz
305
+ OM = :om
306
+ PA = :pa
307
+ PE = :pe
308
+ PF = :pf
309
+ PG = :pg
310
+ PH = :ph
311
+ PK = :pk
312
+ PL = :pl
313
+ PR = :pr
314
+ PS = :ps
315
+ PT = :pt
316
+ PY = :py
317
+ QA = :qa
318
+ RE = :re
319
+ RO = :ro
320
+ RS = :rs
321
+ RU = :ru
322
+ RW = :rw
323
+ SA = :sa
324
+ SC = :sc
325
+ SD = :sd
326
+ SE = :se
327
+ SG = :sg
328
+ SI = :si
329
+ SK = :sk
330
+ SL = :sl
331
+ SM = :sm
332
+ SN = :sn
333
+ SO = :so
334
+ SR = :sr
335
+ SS = :ss
336
+ ST = :st
337
+ SV = :sv
338
+ SX = :sx
339
+ SY = :sy
340
+ SZ = :sz
341
+ TC = :tc
342
+ TD = :td
343
+ TG = :tg
344
+ TH = :th
345
+ TJ = :tj
346
+ TL = :tl
347
+ TM = :tm
348
+ TN = :tn
349
+ TR = :tr
350
+ TT = :tt
351
+ TW = :tw
352
+ TZ = :tz
353
+ UA = :ua
354
+ UG = :ug
355
+ US = :us
356
+ UY = :uy
357
+ UZ = :uz
358
+ VC = :vc
359
+ VE = :ve
360
+ VG = :vg
361
+ VI = :vi
362
+ VN = :vn
363
+ YE = :ye
364
+ YT = :yt
365
+ ZA = :za
366
+ ZM = :zm
367
+ ZW = :zw
368
+
369
+ # @!method self.values
370
+ # @return [Array<Symbol>]
371
+ end
372
+
373
+ # Optional parameter to determine screenshot type. If 'true', takes a full page
374
+ # screenshot capturing all content. If 'false' or not provided, takes a viewport
375
+ # screenshot (standard browser view).
376
+ module FullScreenshot
377
+ extend ContextDev::Internal::Type::Enum
378
+
379
+ TRUE = :true
380
+ FALSE = :false
381
+
382
+ # @!method self.values
383
+ # @return [Array<Symbol>]
384
+ end
385
+
386
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
387
+ # @!attribute milliseconds
388
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
389
+ #
390
+ # @return [Integer]
391
+ required :milliseconds, Integer
392
+
393
+ # @!attribute behavior
394
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
395
+ # credits. "return-partial" returns usable results collected so far; if none are
396
+ # available, the request still fails without charging credits. Partial results are
397
+ # not cached as complete results. "return-partial" requires milliseconds of at
398
+ # least 5000.
399
+ #
400
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::TimeoutOpts::Behavior, nil]
401
+ optional :behavior, enum: -> { ContextDev::WebWebScrapeScreenshotParams::TimeoutOpts::Behavior }
402
+
403
+ # @!method initialize(milliseconds:, behavior: nil)
404
+ # Some parameter documentations has been truncated, see
405
+ # {ContextDev::Models::WebWebScrapeScreenshotParams::TimeoutOpts} for more
406
+ # details.
407
+ #
408
+ # Optional request deadline and behavior on timeout. For GET requests, use
409
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
410
+ # timeoutOpts object.
411
+ #
412
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
413
+ #
414
+ # @param behavior [Symbol, ContextDev::Models::WebWebScrapeScreenshotParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
415
+
416
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
417
+ # credits. "return-partial" returns usable results collected so far; if none are
418
+ # available, the request still fails without charging credits. Partial results are
419
+ # not cached as complete results. "return-partial" requires milliseconds of at
420
+ # least 5000.
421
+ #
422
+ # @see ContextDev::Models::WebWebScrapeScreenshotParams::TimeoutOpts#behavior
423
+ module Behavior
424
+ extend ContextDev::Internal::Type::Enum
425
+
426
+ FAIL = :fail
427
+ RETURN_PARTIAL = :"return-partial"
428
+
429
+ # @!method self.values
430
+ # @return [Array<Symbol>]
431
+ end
432
+ end
433
+
434
+ class Viewport < ContextDev::Internal::Type::BaseModel
435
+ # @!attribute height
436
+ # Viewport height in pixels.
437
+ #
438
+ # @return [Integer, nil]
439
+ optional :height, Integer
440
+
441
+ # @!attribute width
442
+ # Viewport width in pixels.
443
+ #
444
+ # @return [Integer, nil]
445
+ optional :width, Integer
446
+
447
+ # @!method initialize(height: nil, width: nil)
448
+ # Optional browser viewport dimensions for the screenshot. Defaults to 1920x1080.
449
+ #
450
+ # @param height [Integer] Viewport height in pixels.
451
+ #
452
+ # @param width [Integer] Viewport width in pixels.
453
+ end
454
+
455
+ # Set to enabled to bypass shared caches and omit request and response content
456
+ # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
457
+ # omitted. Requires zero data retention to be enabled for your organization
458
+ # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
459
+ # Successful ZDR responses include X-Context-ZDR: true.
460
+ module Zdr
461
+ extend ContextDev::Internal::Type::Enum
462
+
463
+ ENABLED = :enabled
464
+ DISABLED = :disabled
465
+
466
+ # @!method self.values
467
+ # @return [Array<Symbol>]
468
+ end
469
+ end
470
+ end
471
+ end
@@ -0,0 +1,169 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_screenshot
6
+ class WebWebScrapeScreenshotResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute cache_metadata
8
+ # Cache outcome for this response. Composite responses are hits only when every
9
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
10
+ # oldest contributing hit.
11
+ #
12
+ # @return [ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata]
13
+ required :cache_metadata, -> { ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata }
14
+
15
+ # @!attribute height
16
+ # Height of the returned image in pixels.
17
+ #
18
+ # @return [Integer]
19
+ required :height, Integer
20
+
21
+ # @!attribute request_id
22
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
23
+ # it when contacting support about a failed request.
24
+ #
25
+ # @return [String]
26
+ required :request_id, String
27
+
28
+ # @!attribute screenshot
29
+ # Public image URL for standard requests, or an in-memory data URL when ZDR is
30
+ # enabled.
31
+ #
32
+ # @return [String]
33
+ required :screenshot, String
34
+
35
+ # @!attribute url
36
+ # The requested page URL.
37
+ #
38
+ # @return [String]
39
+ required :url, String
40
+
41
+ # @!attribute width
42
+ # Width of the returned image in pixels.
43
+ #
44
+ # @return [Integer]
45
+ required :width, Integer
46
+
47
+ # @!attribute final_dom_state
48
+ # How complete the returned content is. `loaded` means the page finished the waits
49
+ # the request asked for. `still-loading` only occurs with
50
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
51
+ # reached first, so the content reflects the DOM at that moment and late-rendering
52
+ # parts may be missing. Partial results are billed at the base request cost.
53
+ #
54
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState, nil]
55
+ optional :final_dom_state,
56
+ enum: -> { ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState },
57
+ api_name: :finalDOMState
58
+
59
+ # @!attribute key_metadata
60
+ # Credit usage, included whenever a valid API key is provided.
61
+ #
62
+ # @return [ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata, nil]
63
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata }
64
+
65
+ # @!method initialize(cache_metadata:, height:, request_id:, screenshot:, url:, width:, final_dom_state: nil, key_metadata: nil)
66
+ # Some parameter documentations has been truncated, see
67
+ # {ContextDev::Models::WebWebScrapeScreenshotResponse} for more details.
68
+ #
69
+ # @param cache_metadata [ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
70
+ #
71
+ # @param height [Integer] Height of the returned image in pixels.
72
+ #
73
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
74
+ #
75
+ # @param screenshot [String] Public image URL for standard requests, or an in-memory data URL when ZDR is ena
76
+ #
77
+ # @param url [String] The requested page URL.
78
+ #
79
+ # @param width [Integer] Width of the returned image in pixels.
80
+ #
81
+ # @param final_dom_state [Symbol, ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState] How complete the returned content is. `loaded` means the page finished the waits
82
+ #
83
+ # @param key_metadata [ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
84
+
85
+ # @see ContextDev::Models::WebWebScrapeScreenshotResponse#cache_metadata
86
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
87
+ # @!attribute age_ms
88
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
89
+ #
90
+ # @return [Integer]
91
+ required :age_ms, Integer
92
+
93
+ # @!attribute status
94
+ # Whether the response was served from cache, required fresh work, or honored
95
+ # zero-data-retention cache bypass.
96
+ #
97
+ # @return [Symbol, ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status]
98
+ required :status, enum: -> { ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status }
99
+
100
+ # @!method initialize(age_ms:, status:)
101
+ # Some parameter documentations has been truncated, see
102
+ # {ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata} for more
103
+ # details.
104
+ #
105
+ # Cache outcome for this response. Composite responses are hits only when every
106
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
107
+ # oldest contributing hit.
108
+ #
109
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
110
+ #
111
+ # @param status [Symbol, ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
112
+
113
+ # Whether the response was served from cache, required fresh work, or honored
114
+ # zero-data-retention cache bypass.
115
+ #
116
+ # @see ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata#status
117
+ module Status
118
+ extend ContextDev::Internal::Type::Enum
119
+
120
+ HIT = :hit
121
+ MISS = :miss
122
+ ZDR = :zdr
123
+
124
+ # @!method self.values
125
+ # @return [Array<Symbol>]
126
+ end
127
+ end
128
+
129
+ # How complete the returned content is. `loaded` means the page finished the waits
130
+ # the request asked for. `still-loading` only occurs with
131
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
132
+ # reached first, so the content reflects the DOM at that moment and late-rendering
133
+ # parts may be missing. Partial results are billed at the base request cost.
134
+ #
135
+ # @see ContextDev::Models::WebWebScrapeScreenshotResponse#final_dom_state
136
+ module FinalDomState
137
+ extend ContextDev::Internal::Type::Enum
138
+
139
+ LOADED = :loaded
140
+ STILL_LOADING = :"still-loading"
141
+
142
+ # @!method self.values
143
+ # @return [Array<Symbol>]
144
+ end
145
+
146
+ # @see ContextDev::Models::WebWebScrapeScreenshotResponse#key_metadata
147
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
148
+ # @!attribute credits_consumed
149
+ # Credits used by this request.
150
+ #
151
+ # @return [Integer]
152
+ required :credits_consumed, Integer
153
+
154
+ # @!attribute credits_remaining
155
+ # Credits remaining for your organization.
156
+ #
157
+ # @return [Integer]
158
+ required :credits_remaining, Integer
159
+
160
+ # @!method initialize(credits_consumed:, credits_remaining:)
161
+ # Credit usage, included whenever a valid API key is provided.
162
+ #
163
+ # @param credits_consumed [Integer] Credits used by this request.
164
+ #
165
+ # @param credits_remaining [Integer] Credits remaining for your organization.
166
+ end
167
+ end
168
+ end
169
+ end
@@ -74,9 +74,10 @@ module ContextDev
74
74
 
75
75
  # @!attribute zdr
76
76
  # Set to enabled to bypass shared caches and omit request and response content
77
- # from retained usage logs. Requires zero data retention to be enabled for your
78
- # organization (contact support@context.dev), otherwise the request fails with
79
- # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
77
+ # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
78
+ # omitted. Requires zero data retention to be enabled for your organization
79
+ # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
80
+ # Successful ZDR responses include X-Context-ZDR: true.
80
81
  #
81
82
  # @return [Symbol, ContextDev::Models::WebWebScrapeSitemapParams::Zdr, nil]
82
83
  optional :zdr, enum: -> { ContextDev::WebWebScrapeSitemapParams::Zdr }
@@ -153,9 +154,10 @@ module ContextDev
153
154
  end
154
155
 
155
156
  # Set to enabled to bypass shared caches and omit request and response content
156
- # from retained usage logs. Requires zero data retention to be enabled for your
157
- # organization (contact support@context.dev), otherwise the request fails with
158
- # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
157
+ # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
158
+ # omitted. Requires zero data retention to be enabled for your organization
159
+ # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
160
+ # Successful ZDR responses include X-Context-ZDR: true.
159
161
  module Zdr
160
162
  extend ContextDev::Internal::Type::Enum
161
163
 
@@ -141,5 +141,7 @@ module ContextDev
141
141
 
142
142
  WebWebScrapeMdParams = ContextDev::Models::WebWebScrapeMdParams
143
143
 
144
+ WebWebScrapeScreenshotParams = ContextDev::Models::WebWebScrapeScreenshotParams
145
+
144
146
  WebWebScrapeSitemapParams = ContextDev::Models::WebWebScrapeSitemapParams
145
147
  end
@@ -9,7 +9,7 @@ module ContextDev
9
9
  # Given a single URL, determines if it is a product page and extracts the product
10
10
  # information.
11
11
  #
12
- # @overload extract_product(url:, max_age_ms: nil, tags: nil, timeout_opts: nil, request_options: {})
12
+ # @overload extract_product(url:, max_age_ms: nil, tags: nil, timeout_opts: nil, zdr: nil, request_options: {})
13
13
  #
14
14
  # @param url [String] The product page URL to extract product data from.
15
15
  #
@@ -19,6 +19,8 @@ module ContextDev
19
19
  #
20
20
  # @param timeout_opts [ContextDev::Models::AIExtractProductParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
21
21
  #
22
+ # @param zdr [Symbol, ContextDev::Models::AIExtractProductParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
23
+ #
22
24
  # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}, nil]
23
25
  #
24
26
  # @return [ContextDev::Models::AIExtractProductResponse]