context.dev 2.16.0 → 2.17.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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/models/ai_extract_product_params.rb +53 -8
  5. data/lib/context_dev/models/ai_extract_product_response.rb +10 -1
  6. data/lib/context_dev/models/ai_extract_products_params.rb +116 -16
  7. data/lib/context_dev/models/ai_extract_products_response.rb +11 -1
  8. data/lib/context_dev/models/brand_retrieve_params.rb +355 -60
  9. data/lib/context_dev/models/brand_retrieve_response.rb +10 -1
  10. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
  11. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +10 -1
  12. data/lib/context_dev/models/industry_retrieve_naics_params.rb +53 -8
  13. data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -1
  14. data/lib/context_dev/models/industry_retrieve_sic_params.rb +53 -8
  15. data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -1
  16. data/lib/context_dev/models/monitor_create_params.rb +27 -3
  17. data/lib/context_dev/models/monitor_create_response.rb +30 -5
  18. data/lib/context_dev/models/monitor_list_response.rb +30 -5
  19. data/lib/context_dev/models/monitor_retrieve_response.rb +30 -5
  20. data/lib/context_dev/models/monitor_update_params.rb +27 -3
  21. data/lib/context_dev/models/monitor_update_response.rb +30 -5
  22. data/lib/context_dev/models/person_enrich_params.rb +53 -8
  23. data/lib/context_dev/models/person_enrich_response.rb +10 -1
  24. data/lib/context_dev/models/utility_prefetch_params.rb +48 -8
  25. data/lib/context_dev/models/web_answers_params.rb +124 -0
  26. data/lib/context_dev/models/web_answers_response.rb +68 -0
  27. data/lib/context_dev/models/web_extract_competitors_params.rb +53 -8
  28. data/lib/context_dev/models/web_extract_competitors_response.rb +10 -1
  29. data/lib/context_dev/models/web_extract_fonts_params.rb +58 -11
  30. data/lib/context_dev/models/web_extract_fonts_response.rb +32 -1
  31. data/lib/context_dev/models/web_extract_params.rb +53 -8
  32. data/lib/context_dev/models/web_extract_response.rb +10 -1
  33. data/lib/context_dev/models/web_extract_styleguide_params.rb +58 -11
  34. data/lib/context_dev/models/web_extract_styleguide_response.rb +32 -1
  35. data/lib/context_dev/models/web_screenshot_params.rb +58 -10
  36. data/lib/context_dev/models/web_screenshot_response.rb +32 -1
  37. data/lib/context_dev/models/web_search_params.rb +112 -16
  38. data/lib/context_dev/models/web_search_response.rb +43 -2
  39. data/lib/context_dev/models/web_web_crawl_md_params.rb +53 -8
  40. data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -1
  41. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +344 -0
  42. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +135 -0
  43. data/lib/context_dev/models/web_web_scrape_html_params.rb +57 -10
  44. data/lib/context_dev/models/web_web_scrape_html_response.rb +32 -1
  45. data/lib/context_dev/models/web_web_scrape_images_params.rb +57 -10
  46. data/lib/context_dev/models/web_web_scrape_images_response.rb +42 -1
  47. data/lib/context_dev/models/web_web_scrape_md_params.rb +57 -10
  48. data/lib/context_dev/models/web_web_scrape_md_response.rb +32 -1
  49. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +53 -8
  50. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +11 -1
  51. data/lib/context_dev/models.rb +4 -0
  52. data/lib/context_dev/resources/ai.rb +2 -2
  53. data/lib/context_dev/resources/brand.rb +3 -3
  54. data/lib/context_dev/resources/industry.rb +6 -6
  55. data/lib/context_dev/resources/people.rb +2 -2
  56. data/lib/context_dev/resources/utility.rb +2 -2
  57. data/lib/context_dev/resources/web.rb +119 -33
  58. data/lib/context_dev/version.rb +1 -1
  59. data/lib/context_dev.rb +4 -0
  60. data/rbi/context_dev/models/ai_extract_product_params.rbi +125 -13
  61. data/rbi/context_dev/models/ai_extract_product_response.rbi +13 -0
  62. data/rbi/context_dev/models/ai_extract_products_params.rbi +264 -26
  63. data/rbi/context_dev/models/ai_extract_products_response.rbi +15 -0
  64. data/rbi/context_dev/models/brand_retrieve_params.rbi +816 -102
  65. data/rbi/context_dev/models/brand_retrieve_response.rbi +13 -0
  66. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
  67. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +13 -0
  68. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +127 -13
  69. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +13 -0
  70. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +127 -13
  71. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +13 -0
  72. data/rbi/context_dev/models/monitor_create_params.rbi +40 -2
  73. data/rbi/context_dev/models/monitor_create_response.rbi +44 -4
  74. data/rbi/context_dev/models/monitor_list_response.rbi +44 -4
  75. data/rbi/context_dev/models/monitor_retrieve_response.rbi +44 -4
  76. data/rbi/context_dev/models/monitor_update_params.rbi +40 -2
  77. data/rbi/context_dev/models/monitor_update_response.rbi +44 -4
  78. data/rbi/context_dev/models/person_enrich_params.rbi +123 -13
  79. data/rbi/context_dev/models/person_enrich_response.rbi +16 -3
  80. data/rbi/context_dev/models/utility_prefetch_params.rbi +112 -13
  81. data/rbi/context_dev/models/web_answers_params.rbi +234 -0
  82. data/rbi/context_dev/models/web_answers_response.rbi +122 -0
  83. data/rbi/context_dev/models/web_extract_competitors_params.rbi +127 -13
  84. data/rbi/context_dev/models/web_extract_competitors_response.rbi +16 -3
  85. data/rbi/context_dev/models/web_extract_fonts_params.rbi +132 -19
  86. data/rbi/context_dev/models/web_extract_fonts_response.rbi +71 -0
  87. data/rbi/context_dev/models/web_extract_params.rbi +120 -13
  88. data/rbi/context_dev/models/web_extract_response.rbi +16 -3
  89. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +136 -19
  90. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +71 -0
  91. data/rbi/context_dev/models/web_screenshot_params.rbi +132 -17
  92. data/rbi/context_dev/models/web_screenshot_response.rbi +71 -0
  93. data/rbi/context_dev/models/web_search_params.rbi +253 -26
  94. data/rbi/context_dev/models/web_search_response.rbi +92 -6
  95. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +123 -13
  96. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +19 -3
  97. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +699 -0
  98. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +238 -0
  99. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +132 -17
  100. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +61 -0
  101. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +134 -17
  102. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +89 -3
  103. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +130 -17
  104. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +61 -0
  105. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +127 -13
  106. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +18 -3
  107. data/rbi/context_dev/models.rbi +4 -0
  108. data/rbi/context_dev/resources/ai.rbi +5 -5
  109. data/rbi/context_dev/resources/brand.rbi +9 -8
  110. data/rbi/context_dev/resources/industry.rbi +12 -10
  111. data/rbi/context_dev/resources/people.rbi +5 -5
  112. data/rbi/context_dev/resources/utility.rbi +5 -5
  113. data/rbi/context_dev/resources/web.rbi +170 -72
  114. data/sig/context_dev/models/ai_extract_product_params.rbs +44 -5
  115. data/sig/context_dev/models/ai_extract_product_response.rbs +7 -0
  116. data/sig/context_dev/models/ai_extract_products_params.rbs +88 -10
  117. data/sig/context_dev/models/ai_extract_products_response.rbs +7 -0
  118. data/sig/context_dev/models/brand_retrieve_params.rbs +264 -30
  119. data/sig/context_dev/models/brand_retrieve_response.rbs +7 -0
  120. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
  121. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +7 -0
  122. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +44 -5
  123. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +7 -0
  124. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +44 -5
  125. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +7 -0
  126. data/sig/context_dev/models/monitor_create_params.rbs +14 -0
  127. data/sig/context_dev/models/monitor_create_response.rbs +14 -0
  128. data/sig/context_dev/models/monitor_list_response.rbs +14 -0
  129. data/sig/context_dev/models/monitor_retrieve_response.rbs +14 -0
  130. data/sig/context_dev/models/monitor_update_params.rbs +14 -0
  131. data/sig/context_dev/models/monitor_update_response.rbs +14 -0
  132. data/sig/context_dev/models/person_enrich_params.rbs +44 -5
  133. data/sig/context_dev/models/person_enrich_response.rbs +10 -3
  134. data/sig/context_dev/models/utility_prefetch_params.rbs +43 -5
  135. data/sig/context_dev/models/web_answers_params.rbs +106 -0
  136. data/sig/context_dev/models/web_answers_response.rbs +60 -0
  137. data/sig/context_dev/models/web_extract_competitors_params.rbs +44 -5
  138. data/sig/context_dev/models/web_extract_competitors_response.rbs +10 -3
  139. data/sig/context_dev/models/web_extract_fonts_params.rbs +44 -5
  140. data/sig/context_dev/models/web_extract_fonts_response.rbs +20 -0
  141. data/sig/context_dev/models/web_extract_params.rbs +44 -5
  142. data/sig/context_dev/models/web_extract_response.rbs +10 -3
  143. data/sig/context_dev/models/web_extract_styleguide_params.rbs +44 -5
  144. data/sig/context_dev/models/web_extract_styleguide_response.rbs +20 -0
  145. data/sig/context_dev/models/web_screenshot_params.rbs +44 -5
  146. data/sig/context_dev/models/web_screenshot_response.rbs +20 -0
  147. data/sig/context_dev/models/web_search_params.rbs +88 -10
  148. data/sig/context_dev/models/web_search_response.rbs +33 -6
  149. data/sig/context_dev/models/web_web_crawl_md_params.rbs +44 -5
  150. data/sig/context_dev/models/web_web_crawl_md_response.rbs +10 -3
  151. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +531 -0
  152. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +108 -0
  153. data/sig/context_dev/models/web_web_scrape_html_params.rbs +44 -5
  154. data/sig/context_dev/models/web_web_scrape_html_response.rbs +16 -0
  155. data/sig/context_dev/models/web_web_scrape_images_params.rbs +44 -5
  156. data/sig/context_dev/models/web_web_scrape_images_response.rbs +30 -3
  157. data/sig/context_dev/models/web_web_scrape_md_params.rbs +44 -5
  158. data/sig/context_dev/models/web_web_scrape_md_response.rbs +16 -0
  159. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +44 -5
  160. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +10 -3
  161. data/sig/context_dev/models.rbs +4 -0
  162. data/sig/context_dev/resources/ai.rbs +1 -1
  163. data/sig/context_dev/resources/brand.rbs +1 -1
  164. data/sig/context_dev/resources/industry.rbs +2 -2
  165. data/sig/context_dev/resources/people.rbs +1 -1
  166. data/sig/context_dev/resources/utility.rbs +1 -1
  167. data/sig/context_dev/resources/web.rbs +30 -11
  168. metadata +14 -2
@@ -0,0 +1,344 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_bytes
6
+ class WebWebScrapeBytesParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ # Full HTTP(S) URL of the resource to download, such as an image, PDF, or page.
12
+ #
13
+ # @return [String]
14
+ required :url, String
15
+
16
+ # @!attribute country
17
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
18
+ # alpha-2).
19
+ #
20
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Country, nil]
21
+ optional :country, enum: -> { ContextDev::WebWebScrapeBytesParams::Country }
22
+
23
+ # @!attribute headers
24
+ # Optional outbound HTTP headers, such as Referer, Cookie, or Authorization. Send
25
+ # as a JSON object or deep-object query params such as
26
+ # headers[Referer]=https://example.com/. Host, Content-Length, and hop-by-hop
27
+ # transport headers are rejected. Authorization and cookies are removed when a
28
+ # redirect changes origin.
29
+ #
30
+ # @return [Hash{Symbol=>String}, nil]
31
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
32
+
33
+ # @!attribute tags
34
+ # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
35
+ # characters.
36
+ #
37
+ # @return [Array<String>, nil]
38
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
39
+
40
+ # @!attribute timeout_opts
41
+ # Optional request deadline and behavior on timeout. For GET requests, use
42
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
43
+ # timeoutOpts object.
44
+ #
45
+ # @return [ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts, nil]
46
+ optional :timeout_opts, -> { ContextDev::WebWebScrapeBytesParams::TimeoutOpts }
47
+
48
+ # @!attribute zdr
49
+ # Set to enabled to bypass shared caches and omit request and response content
50
+ # from retained usage logs. Requires zero data retention to be enabled for your
51
+ # organization (contact support@context.dev), otherwise the request fails with
52
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
53
+ #
54
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Zdr, nil]
55
+ optional :zdr, enum: -> { ContextDev::WebWebScrapeBytesParams::Zdr }
56
+
57
+ # @!method initialize(url:, country: nil, headers: nil, tags: nil, timeout_opts: nil, zdr: nil, request_options: {})
58
+ # Some parameter documentations has been truncated, see
59
+ # {ContextDev::Models::WebWebScrapeBytesParams} for more details.
60
+ #
61
+ # @param url [String] Full HTTP(S) URL of the resource to download, such as an image, PDF, or page.
62
+ #
63
+ # @param country [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Country] Fetch the target page through a residential proxy in this country (ISO 3166-1 al
64
+ #
65
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers, such as Referer, Cookie, or Authorization. Send
66
+ #
67
+ # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
68
+ #
69
+ # @param timeout_opts [ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
70
+ #
71
+ # @param zdr [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
72
+ #
73
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
74
+
75
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
76
+ # alpha-2).
77
+ module Country
78
+ extend ContextDev::Internal::Type::Enum
79
+
80
+ AD = :ad
81
+ AE = :ae
82
+ AF = :af
83
+ AG = :ag
84
+ AI = :ai
85
+ AL = :al
86
+ AM = :am
87
+ AO = :ao
88
+ AR = :ar
89
+ AT = :at
90
+ AU = :au
91
+ AW = :aw
92
+ AZ = :az
93
+ BA = :ba
94
+ BB = :bb
95
+ BD = :bd
96
+ BE = :be
97
+ BF = :bf
98
+ BG = :bg
99
+ BH = :bh
100
+ BI = :bi
101
+ BJ = :bj
102
+ BM = :bm
103
+ BN = :bn
104
+ BO = :bo
105
+ BQ = :bq
106
+ BR = :br
107
+ BS = :bs
108
+ BW = :bw
109
+ BY = :by
110
+ BZ = :bz
111
+ CA = :ca
112
+ CD = :cd
113
+ CF = :cf
114
+ CG = :cg
115
+ CH = :ch
116
+ CI = :ci
117
+ CL = :cl
118
+ CM = :cm
119
+ CN = :cn
120
+ CO = :co
121
+ CR = :cr
122
+ CV = :cv
123
+ CW = :cw
124
+ CY = :cy
125
+ CZ = :cz
126
+ DE = :de
127
+ DJ = :dj
128
+ DK = :dk
129
+ DM = :dm
130
+ DO = :do
131
+ DZ = :dz
132
+ EC = :ec
133
+ EE = :ee
134
+ EG = :eg
135
+ ES = :es
136
+ ET = :et
137
+ FI = :fi
138
+ FJ = :fj
139
+ FR = :fr
140
+ GA = :ga
141
+ GB = :gb
142
+ GD = :gd
143
+ GE = :ge
144
+ GF = :gf
145
+ GG = :gg
146
+ GH = :gh
147
+ GM = :gm
148
+ GN = :gn
149
+ GP = :gp
150
+ GQ = :gq
151
+ GR = :gr
152
+ GT = :gt
153
+ GU = :gu
154
+ GW = :gw
155
+ GY = :gy
156
+ HK = :hk
157
+ HN = :hn
158
+ HR = :hr
159
+ HT = :ht
160
+ HU = :hu
161
+ ID = :id
162
+ IE = :ie
163
+ IL = :il
164
+ IM = :im
165
+ IN = :in
166
+ IQ = :iq
167
+ IR = :ir
168
+ IS = :is
169
+ IT = :it
170
+ JE = :je
171
+ JM = :jm
172
+ JO = :jo
173
+ JP = :jp
174
+ KE = :ke
175
+ KG = :kg
176
+ KH = :kh
177
+ KN = :kn
178
+ KR = :kr
179
+ KW = :kw
180
+ KY = :ky
181
+ KZ = :kz
182
+ LA = :la
183
+ LB = :lb
184
+ LC = :lc
185
+ LK = :lk
186
+ LR = :lr
187
+ LS = :ls
188
+ LT = :lt
189
+ LU = :lu
190
+ LV = :lv
191
+ LY = :ly
192
+ MA = :ma
193
+ MC = :mc
194
+ MD = :md
195
+ ME = :me
196
+ MF = :mf
197
+ MG = :mg
198
+ MK = :mk
199
+ ML = :ml
200
+ MM = :mm
201
+ MN = :mn
202
+ MO = :mo
203
+ MQ = :mq
204
+ MR = :mr
205
+ MT = :mt
206
+ MU = :mu
207
+ MV = :mv
208
+ MW = :mw
209
+ MX = :mx
210
+ MY = :my
211
+ MZ = :mz
212
+ NA = :na
213
+ NC = :nc
214
+ NE = :ne
215
+ NG = :ng
216
+ NI = :ni
217
+ NL = :nl
218
+ NO = :no
219
+ NP = :np
220
+ NZ = :nz
221
+ OM = :om
222
+ PA = :pa
223
+ PE = :pe
224
+ PF = :pf
225
+ PG = :pg
226
+ PH = :ph
227
+ PK = :pk
228
+ PL = :pl
229
+ PR = :pr
230
+ PS = :ps
231
+ PT = :pt
232
+ PY = :py
233
+ QA = :qa
234
+ RE = :re
235
+ RO = :ro
236
+ RS = :rs
237
+ RU = :ru
238
+ RW = :rw
239
+ SA = :sa
240
+ SC = :sc
241
+ SD = :sd
242
+ SE = :se
243
+ SG = :sg
244
+ SI = :si
245
+ SK = :sk
246
+ SL = :sl
247
+ SM = :sm
248
+ SN = :sn
249
+ SO = :so
250
+ SR = :sr
251
+ SS = :ss
252
+ ST = :st
253
+ SV = :sv
254
+ SX = :sx
255
+ SY = :sy
256
+ SZ = :sz
257
+ TC = :tc
258
+ TD = :td
259
+ TG = :tg
260
+ TH = :th
261
+ TJ = :tj
262
+ TL = :tl
263
+ TM = :tm
264
+ TN = :tn
265
+ TR = :tr
266
+ TT = :tt
267
+ TW = :tw
268
+ TZ = :tz
269
+ UA = :ua
270
+ UG = :ug
271
+ US = :us
272
+ UY = :uy
273
+ UZ = :uz
274
+ VC = :vc
275
+ VE = :ve
276
+ VG = :vg
277
+ VI = :vi
278
+ VN = :vn
279
+ YE = :ye
280
+ YT = :yt
281
+ ZA = :za
282
+ ZM = :zm
283
+ ZW = :zw
284
+
285
+ # @!method self.values
286
+ # @return [Array<Symbol>]
287
+ end
288
+
289
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
290
+ # @!attribute milliseconds
291
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
292
+ #
293
+ # @return [Integer]
294
+ required :milliseconds, Integer
295
+
296
+ # @!attribute behavior
297
+ # What to do at the deadline. This endpoint supports "fail": return 408
298
+ # REQUEST_TIMEOUT without charging credits.
299
+ #
300
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts::Behavior, nil]
301
+ optional :behavior, enum: -> { ContextDev::WebWebScrapeBytesParams::TimeoutOpts::Behavior }
302
+
303
+ # @!method initialize(milliseconds:, behavior: nil)
304
+ # Some parameter documentations has been truncated, see
305
+ # {ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts} for more details.
306
+ #
307
+ # Optional request deadline and behavior on timeout. For GET requests, use
308
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
309
+ # timeoutOpts object.
310
+ #
311
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
312
+ #
313
+ # @param behavior [Symbol, ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts::Behavior] What to do at the deadline. This endpoint supports "fail": return 408 REQUEST_TI
314
+
315
+ # What to do at the deadline. This endpoint supports "fail": return 408
316
+ # REQUEST_TIMEOUT without charging credits.
317
+ #
318
+ # @see ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts#behavior
319
+ module Behavior
320
+ extend ContextDev::Internal::Type::Enum
321
+
322
+ FAIL = :fail
323
+
324
+ # @!method self.values
325
+ # @return [Array<Symbol>]
326
+ end
327
+ end
328
+
329
+ # Set to enabled to bypass shared caches and omit request and response content
330
+ # from retained usage logs. Requires zero data retention to be enabled for your
331
+ # organization (contact support@context.dev), otherwise the request fails with
332
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
333
+ module Zdr
334
+ extend ContextDev::Internal::Type::Enum
335
+
336
+ ENABLED = :enabled
337
+ DISABLED = :disabled
338
+
339
+ # @!method self.values
340
+ # @return [Array<Symbol>]
341
+ end
342
+ end
343
+ end
344
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_bytes
6
+ class WebWebScrapeBytesResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute bytes
8
+ # Base64-encoded resource bytes, without a data URI prefix. Decode this field to
9
+ # recover the downloaded file.
10
+ #
11
+ # @return [String]
12
+ required :bytes, String
13
+
14
+ # @!attribute content_length
15
+ # Number of decoded resource bytes, before base64 encoding.
16
+ #
17
+ # @return [Integer]
18
+ required :content_length, Integer, api_name: :contentLength
19
+
20
+ # @!attribute content_type
21
+ # The Content-Type returned by the origin, including any charset. Defaults to
22
+ # application/octet-stream when absent.
23
+ #
24
+ # @return [String]
25
+ required :content_type, String, api_name: :contentType
26
+
27
+ # @!attribute encoding
28
+ #
29
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesResponse::Encoding]
30
+ required :encoding, enum: -> { ContextDev::Models::WebWebScrapeBytesResponse::Encoding }
31
+
32
+ # @!attribute final_url
33
+ # The resource URL after redirects.
34
+ #
35
+ # @return [String]
36
+ required :final_url, String, api_name: :finalUrl
37
+
38
+ # @!attribute request_id
39
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
40
+ # it when contacting support about a failed request.
41
+ #
42
+ # @return [String]
43
+ required :request_id, String
44
+
45
+ # @!attribute status_code
46
+ # HTTP status returned by the origin.
47
+ #
48
+ # @return [Integer]
49
+ required :status_code, Integer, api_name: :statusCode
50
+
51
+ # @!attribute success
52
+ #
53
+ # @return [Boolean, ContextDev::Models::WebWebScrapeBytesResponse::Success]
54
+ required :success, enum: -> { ContextDev::Models::WebWebScrapeBytesResponse::Success }
55
+
56
+ # @!attribute url
57
+ # The requested resource URL.
58
+ #
59
+ # @return [String]
60
+ required :url, String
61
+
62
+ # @!attribute key_metadata
63
+ # Credit usage, included whenever a valid API key is provided.
64
+ #
65
+ # @return [ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata, nil]
66
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata }
67
+
68
+ # @!method initialize(bytes:, content_length:, content_type:, encoding:, final_url:, request_id:, status_code:, success:, url:, key_metadata: nil)
69
+ # Some parameter documentations has been truncated, see
70
+ # {ContextDev::Models::WebWebScrapeBytesResponse} for more details.
71
+ #
72
+ # @param bytes [String] Base64-encoded resource bytes, without a data URI prefix. Decode this field to r
73
+ #
74
+ # @param content_length [Integer] Number of decoded resource bytes, before base64 encoding.
75
+ #
76
+ # @param content_type [String] The Content-Type returned by the origin, including any charset. Defaults to appl
77
+ #
78
+ # @param encoding [Symbol, ContextDev::Models::WebWebScrapeBytesResponse::Encoding]
79
+ #
80
+ # @param final_url [String] The resource URL after redirects.
81
+ #
82
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
83
+ #
84
+ # @param status_code [Integer] HTTP status returned by the origin.
85
+ #
86
+ # @param success [Boolean, ContextDev::Models::WebWebScrapeBytesResponse::Success]
87
+ #
88
+ # @param url [String] The requested resource URL.
89
+ #
90
+ # @param key_metadata [ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
91
+
92
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#encoding
93
+ module Encoding
94
+ extend ContextDev::Internal::Type::Enum
95
+
96
+ BASE64 = :base64
97
+
98
+ # @!method self.values
99
+ # @return [Array<Symbol>]
100
+ end
101
+
102
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#success
103
+ module Success
104
+ extend ContextDev::Internal::Type::Enum
105
+
106
+ TRUE = true
107
+
108
+ # @!method self.values
109
+ # @return [Array<Boolean>]
110
+ end
111
+
112
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#key_metadata
113
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
114
+ # @!attribute credits_consumed
115
+ # Credits used by this request.
116
+ #
117
+ # @return [Integer]
118
+ required :credits_consumed, Integer
119
+
120
+ # @!attribute credits_remaining
121
+ # Credits remaining for your organization.
122
+ #
123
+ # @return [Integer]
124
+ required :credits_remaining, Integer
125
+
126
+ # @!method initialize(credits_consumed:, credits_remaining:)
127
+ # Credit usage, included whenever a valid API key is provided.
128
+ #
129
+ # @param credits_consumed [Integer] Credits used by this request.
130
+ #
131
+ # @param credits_remaining [Integer] Credits remaining for your organization.
132
+ end
133
+ end
134
+ end
135
+ end
@@ -90,13 +90,13 @@ module ContextDev
90
90
  # @return [Array<String>, nil]
91
91
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
92
92
 
93
- # @!attribute timeout_ms
94
- # Optional timeout in milliseconds for the request. If the request takes longer
95
- # than this value, it will be aborted with a 408 status code. Maximum allowed
96
- # value is 300000ms (5 minutes).
93
+ # @!attribute timeout_opts
94
+ # Optional request deadline and behavior on timeout. For GET requests, use
95
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
96
+ # timeoutOpts object.
97
97
  #
98
- # @return [Integer, nil]
99
- optional :timeout_ms, Integer
98
+ # @return [ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts, nil]
99
+ optional :timeout_opts, -> { ContextDev::WebWebScrapeHTMLParams::TimeoutOpts }
100
100
 
101
101
  # @!attribute use_main_content_only
102
102
  # When true, return only the page's main content in the HTML response, excluding
@@ -107,8 +107,8 @@ module ContextDev
107
107
 
108
108
  # @!attribute wait_for_ms
109
109
  # Optional browser wait time in milliseconds after initial page load. Min: 0. Max:
110
- # 30000 (30 seconds). When combined with timeoutMS, timeoutMS must be at least
111
- # waitForMs + 10000 ms; a shorter deadline is rejected with 400
110
+ # 30000 (30 seconds). When combined with timeoutOpts, timeoutOpts.milliseconds
111
+ # must be at least waitForMs + 10000 ms; a shorter deadline is rejected with 400
112
112
  # TIMEOUT_TOO_SHORT_FOR_WAIT.
113
113
  #
114
114
  # @return [Integer, nil]
@@ -123,7 +123,7 @@ module ContextDev
123
123
  # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::Zdr, nil]
124
124
  optional :zdr, enum: -> { ContextDev::WebWebScrapeHTMLParams::Zdr }
125
125
 
126
- # @!method initialize(url:, actions: nil, country: nil, exclude_selectors: nil, headers: nil, include_frames: nil, include_selectors: nil, max_age_ms: nil, pdf: nil, settle_animations: nil, tags: nil, timeout_ms: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
126
+ # @!method initialize(url:, actions: nil, country: nil, exclude_selectors: nil, headers: nil, include_frames: nil, include_selectors: nil, max_age_ms: nil, pdf: nil, settle_animations: nil, tags: nil, timeout_opts: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
127
127
  # Some parameter documentations has been truncated, see
128
128
  # {ContextDev::Models::WebWebScrapeHTMLParams} for more details.
129
129
  #
@@ -149,7 +149,7 @@ module ContextDev
149
149
  #
150
150
  # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
151
151
  #
152
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
152
+ # @param timeout_opts [ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
153
153
  #
154
154
  # @param use_main_content_only [Boolean] When true, return only the page's main content in the HTML response, excluding h
155
155
  #
@@ -568,6 +568,53 @@ module ContextDev
568
568
  # @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
569
569
  end
570
570
 
571
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
572
+ # @!attribute milliseconds
573
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
574
+ #
575
+ # @return [Integer]
576
+ required :milliseconds, Integer
577
+
578
+ # @!attribute behavior
579
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
580
+ # credits. "return-partial" returns usable results collected so far; if none are
581
+ # available, the request still fails without charging credits. Partial results are
582
+ # not cached as complete results. "return-partial" requires milliseconds of at
583
+ # least 15000.
584
+ #
585
+ # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts::Behavior, nil]
586
+ optional :behavior, enum: -> { ContextDev::WebWebScrapeHTMLParams::TimeoutOpts::Behavior }
587
+
588
+ # @!method initialize(milliseconds:, behavior: nil)
589
+ # Some parameter documentations has been truncated, see
590
+ # {ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts} for more details.
591
+ #
592
+ # Optional request deadline and behavior on timeout. For GET requests, use
593
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
594
+ # timeoutOpts object.
595
+ #
596
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
597
+ #
598
+ # @param behavior [Symbol, ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
599
+
600
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
601
+ # credits. "return-partial" returns usable results collected so far; if none are
602
+ # available, the request still fails without charging credits. Partial results are
603
+ # not cached as complete results. "return-partial" requires milliseconds of at
604
+ # least 15000.
605
+ #
606
+ # @see ContextDev::Models::WebWebScrapeHTMLParams::TimeoutOpts#behavior
607
+ module Behavior
608
+ extend ContextDev::Internal::Type::Enum
609
+
610
+ FAIL = :fail
611
+ RETURN_PARTIAL = :"return-partial"
612
+
613
+ # @!method self.values
614
+ # @return [Array<Symbol>]
615
+ end
616
+ end
617
+
571
618
  # Set to enabled to bypass shared caches and omit request and response content
572
619
  # from retained usage logs. Requires zero data retention to be enabled for your
573
620
  # organization (contact support@context.dev), otherwise the request fails with
@@ -12,6 +12,18 @@ module ContextDev
12
12
  # @return [ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata]
13
13
  required :cache_metadata, -> { ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata }
14
14
 
15
+ # @!attribute final_dom_state
16
+ # How complete the returned content is. `loaded` means the page finished the waits
17
+ # the request asked for. `still-loading` only occurs with
18
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
19
+ # reached first, so the content reflects the DOM at that moment and late-rendering
20
+ # parts may be missing. Partial results are billed at the base request cost.
21
+ #
22
+ # @return [Symbol, ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState]
23
+ required :final_dom_state,
24
+ enum: -> { ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState },
25
+ api_name: :finalDOMState
26
+
15
27
  # @!attribute html
16
28
  # The scraped content of the page. For normal pages this is the raw HTML. When the
17
29
  # page is a sitemap or feed served behind an XSL stylesheet (which browsers render
@@ -75,12 +87,14 @@ module ContextDev
75
87
  # @return [ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata, nil]
76
88
  optional :key_metadata, -> { ContextDev::Models::WebWebScrapeHTMLResponse::KeyMetadata }
77
89
 
78
- # @!method initialize(cache_metadata:, html:, metadata:, request_id:, success:, type:, url:, actions_applied: nil, actions_html_stale: nil, key_metadata: nil)
90
+ # @!method initialize(cache_metadata:, final_dom_state:, html:, metadata:, request_id:, success:, type:, url:, actions_applied: nil, actions_html_stale: nil, key_metadata: nil)
79
91
  # Some parameter documentations has been truncated, see
80
92
  # {ContextDev::Models::WebWebScrapeHTMLResponse} for more details.
81
93
  #
82
94
  # @param cache_metadata [ContextDev::Models::WebWebScrapeHTMLResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
83
95
  #
96
+ # @param final_dom_state [Symbol, ContextDev::Models::WebWebScrapeHTMLResponse::FinalDomState] How complete the returned content is. `loaded` means the page finished the waits
97
+ #
84
98
  # @param html [String] The scraped content of the page. For normal pages this is the raw HTML. When the
85
99
  #
86
100
  # @param metadata [ContextDev::Models::WebWebScrapeHTMLResponse::Metadata] Metadata extracted from the scraped page HTML.
@@ -142,6 +156,23 @@ module ContextDev
142
156
  end
143
157
  end
144
158
 
159
+ # How complete the returned content is. `loaded` means the page finished the waits
160
+ # the request asked for. `still-loading` only occurs with
161
+ # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
162
+ # reached first, so the content reflects the DOM at that moment and late-rendering
163
+ # parts may be missing. Partial results are billed at the base request cost.
164
+ #
165
+ # @see ContextDev::Models::WebWebScrapeHTMLResponse#final_dom_state
166
+ module FinalDomState
167
+ extend ContextDev::Internal::Type::Enum
168
+
169
+ LOADED = :loaded
170
+ STILL_LOADING = :"still-loading"
171
+
172
+ # @!method self.values
173
+ # @return [Array<Symbol>]
174
+ end
175
+
145
176
  # @see ContextDev::Models::WebWebScrapeHTMLResponse#metadata
146
177
  class Metadata < ContextDev::Internal::Type::BaseModel
147
178
  # @!attribute final_url