context.dev 2.17.1 → 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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/industry_retrieve_naics_params.rb +28 -1
  6. data/lib/context_dev/models/industry_retrieve_sic_params.rb +28 -1
  7. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  8. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  9. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  10. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  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_styleguide_params.rb +30 -3
  16. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +22 -20
  17. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  18. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  19. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  20. data/lib/context_dev/models/web_screenshot_params.rb +25 -9
  21. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  22. data/lib/context_dev/models/web_search_params.rb +30 -3
  23. data/lib/context_dev/models.rb +8 -20
  24. data/lib/context_dev/resources/brand.rb +0 -36
  25. data/lib/context_dev/resources/industry.rb +6 -2
  26. data/lib/context_dev/resources/monitors.rb +47 -0
  27. data/lib/context_dev/resources/people.rb +3 -1
  28. data/lib/context_dev/resources/web.rb +116 -413
  29. data/lib/context_dev/version.rb +1 -1
  30. data/lib/context_dev.rb +8 -21
  31. data/rbi/context_dev/client.rbi +0 -3
  32. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +59 -0
  33. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +57 -0
  34. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  35. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  36. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  37. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  38. data/rbi/context_dev/models/parse_handle_params.rbi +12 -9
  39. data/rbi/context_dev/models/person_enrich_params.rbi +45 -0
  40. data/rbi/context_dev/models/web_answers_params.rbi +45 -0
  41. data/rbi/context_dev/models/web_extract_competitors_params.rbi +59 -0
  42. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +62 -3
  43. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +35 -54
  44. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  45. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  46. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +550 -418
  47. data/rbi/context_dev/models/web_screenshot_params.rbi +38 -12
  48. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  49. data/rbi/context_dev/models/web_search_params.rbi +48 -3
  50. data/rbi/context_dev/models.rbi +9 -21
  51. data/rbi/context_dev/resources/brand.rbi +0 -35
  52. data/rbi/context_dev/resources/industry.rbi +14 -0
  53. data/rbi/context_dev/resources/monitors.rbi +24 -0
  54. data/rbi/context_dev/resources/parse.rbi +4 -4
  55. data/rbi/context_dev/resources/people.rbi +7 -0
  56. data/rbi/context_dev/resources/web.rbi +166 -533
  57. data/sig/context_dev/client.rbs +0 -2
  58. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +21 -1
  59. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +21 -1
  60. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  61. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  62. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  63. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  64. data/sig/context_dev/models/person_enrich_params.rbs +21 -1
  65. data/sig/context_dev/models/web_answers_params.rbs +21 -1
  66. data/sig/context_dev/models/web_extract_competitors_params.rbs +21 -1
  67. data/sig/context_dev/models/web_extract_styleguide_params.rbs +21 -1
  68. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  69. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  70. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  71. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  72. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  73. data/sig/context_dev/models/web_search_params.rbs +21 -1
  74. data/sig/context_dev/models.rbs +8 -20
  75. data/sig/context_dev/resources/brand.rbs +0 -9
  76. data/sig/context_dev/resources/industry.rbs +2 -0
  77. data/sig/context_dev/resources/monitors.rbs +11 -0
  78. data/sig/context_dev/resources/people.rbs +1 -0
  79. data/sig/context_dev/resources/web.rbs +34 -108
  80. metadata +26 -65
  81. data/lib/context_dev/models/ai_extract_product_params.rb +0 -98
  82. data/lib/context_dev/models/ai_extract_product_response.rb +0 -352
  83. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  84. data/lib/context_dev/models/ai_extract_products_response.rb +0 -320
  85. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  86. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  87. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  88. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  89. data/lib/context_dev/models/web_extract_params.rb +0 -392
  90. data/lib/context_dev/models/web_extract_response.rb +0 -287
  91. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -344
  92. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  93. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -633
  94. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -588
  95. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -346
  96. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  97. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -668
  98. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  99. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  100. data/lib/context_dev/resources/ai.rb +0 -69
  101. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -199
  102. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -696
  103. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  104. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -623
  105. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  106. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  107. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  108. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  109. data/rbi/context_dev/models/web_extract_params.rbi +0 -736
  110. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  111. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -699
  112. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  113. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1217
  114. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -671
  115. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  116. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1049
  117. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  118. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  119. data/rbi/context_dev/resources/ai.rbi +0 -56
  120. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -86
  121. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -273
  122. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  123. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -252
  124. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  125. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  126. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  127. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  128. data/sig/context_dev/models/web_extract_params.rbs +0 -304
  129. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  130. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  131. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  132. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -730
  133. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -495
  134. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -261
  135. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  136. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  137. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  138. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  139. data/sig/context_dev/resources/ai.rbs +0 -20
@@ -0,0 +1,659 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#scrape
6
+ class WebScrapeResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute bytes
8
+ # Original HTTP response body. Waiting, actions, and content filters never change
9
+ # it.
10
+ #
11
+ # @return [ContextDev::Models::WebScrapeResponse::Bytes]
12
+ required :bytes, -> { ContextDev::Models::WebScrapeResponse::Bytes }
13
+
14
+ # @!attribute cache_metadata
15
+ # Cache outcome for this response. Composite responses are hits only when every
16
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
17
+ # oldest contributing hit.
18
+ #
19
+ # @return [ContextDev::Models::WebScrapeResponse::CacheMetadata]
20
+ required :cache_metadata, -> { ContextDev::Models::WebScrapeResponse::CacheMetadata }
21
+
22
+ # @!attribute html
23
+ # Rendered HTML after content filters.
24
+ #
25
+ # @return [ContextDev::Models::WebScrapeResponse::HTML]
26
+ required :html, -> { ContextDev::Models::WebScrapeResponse::HTML }
27
+
28
+ # @!attribute images
29
+ # Images after content filters. Empty when none are found.
30
+ #
31
+ # @return [ContextDev::Models::WebScrapeResponse::Images]
32
+ required :images, -> { ContextDev::Models::WebScrapeResponse::Images }
33
+
34
+ # @!attribute markdown
35
+ # Markdown after content filters.
36
+ #
37
+ # @return [ContextDev::Models::WebScrapeResponse::Markdown]
38
+ required :markdown, -> { ContextDev::Models::WebScrapeResponse::Markdown }
39
+
40
+ # @!attribute metadata
41
+ # Page details, when available.
42
+ #
43
+ # @return [ContextDev::Models::WebScrapeResponse::Metadata]
44
+ required :metadata, -> { ContextDev::Models::WebScrapeResponse::Metadata }
45
+
46
+ # @!attribute parsed
47
+ # Fields produced by parseParams.rules, after shared content filters.
48
+ #
49
+ # @return [ContextDev::Models::WebScrapeResponse::Parsed]
50
+ required :parsed, -> { ContextDev::Models::WebScrapeResponse::Parsed }
51
+
52
+ # @!attribute request_id
53
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
54
+ # it when contacting support about a failed request.
55
+ #
56
+ # @return [String]
57
+ required :request_id, String
58
+
59
+ # @!attribute screenshot
60
+ # An image data URL. Use directly as an image src.
61
+ #
62
+ # @return [ContextDev::Models::WebScrapeResponse::Screenshot]
63
+ required :screenshot, -> { ContextDev::Models::WebScrapeResponse::Screenshot }
64
+
65
+ # @!attribute url
66
+ # Final URL after redirects and browser actions.
67
+ #
68
+ # @return [String]
69
+ required :url, String
70
+
71
+ # @!attribute is_partial
72
+ # Present when return-partial captures a page that is still loading or returns
73
+ # images before image processing finishes. Partial responses are not cached.
74
+ #
75
+ # @return [Boolean, ContextDev::Models::WebScrapeResponse::IsPartial, nil]
76
+ optional :is_partial, enum: -> { ContextDev::Models::WebScrapeResponse::IsPartial }, api_name: :isPartial
77
+
78
+ # @!attribute key_metadata
79
+ # Credit usage, included whenever a valid API key is provided.
80
+ #
81
+ # @return [ContextDev::Models::WebScrapeResponse::KeyMetadata, nil]
82
+ optional :key_metadata, -> { ContextDev::Models::WebScrapeResponse::KeyMetadata }
83
+
84
+ # @!method initialize(bytes:, cache_metadata:, html:, images:, markdown:, metadata:, parsed:, request_id:, screenshot:, url:, is_partial: nil, key_metadata: nil)
85
+ # Some parameter documentations has been truncated, see
86
+ # {ContextDev::Models::WebScrapeResponse} for more details.
87
+ #
88
+ # @param bytes [ContextDev::Models::WebScrapeResponse::Bytes] Original HTTP response body. Waiting, actions, and content filters never change
89
+ #
90
+ # @param cache_metadata [ContextDev::Models::WebScrapeResponse::CacheMetadata] Cache outcome for this response. Composite responses are hits only when every ca
91
+ #
92
+ # @param html [ContextDev::Models::WebScrapeResponse::HTML] Rendered HTML after content filters.
93
+ #
94
+ # @param images [ContextDev::Models::WebScrapeResponse::Images] Images after content filters. Empty when none are found.
95
+ #
96
+ # @param markdown [ContextDev::Models::WebScrapeResponse::Markdown] Markdown after content filters.
97
+ #
98
+ # @param metadata [ContextDev::Models::WebScrapeResponse::Metadata] Page details, when available.
99
+ #
100
+ # @param parsed [ContextDev::Models::WebScrapeResponse::Parsed] Fields produced by parseParams.rules, after shared content filters.
101
+ #
102
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
103
+ #
104
+ # @param screenshot [ContextDev::Models::WebScrapeResponse::Screenshot] An image data URL. Use directly as an image src.
105
+ #
106
+ # @param url [String] Final URL after redirects and browser actions.
107
+ #
108
+ # @param is_partial [Boolean, ContextDev::Models::WebScrapeResponse::IsPartial] Present when return-partial captures a page that is still loading or returns ima
109
+ #
110
+ # @param key_metadata [ContextDev::Models::WebScrapeResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
111
+
112
+ # @see ContextDev::Models::WebScrapeResponse#bytes
113
+ class Bytes < ContextDev::Internal::Type::BaseModel
114
+ # @!attribute data
115
+ #
116
+ # @return [ContextDev::Models::WebScrapeResponse::Bytes::Data, nil]
117
+ required :data, -> { ContextDev::Models::WebScrapeResponse::Bytes::Data }, nil?: true
118
+
119
+ # @!attribute requested
120
+ #
121
+ # @return [Boolean]
122
+ required :requested, ContextDev::Internal::Type::Boolean
123
+
124
+ # @!method initialize(data:, requested:)
125
+ # Original HTTP response body. Waiting, actions, and content filters never change
126
+ # it.
127
+ #
128
+ # @param data [ContextDev::Models::WebScrapeResponse::Bytes::Data, nil]
129
+ # @param requested [Boolean]
130
+
131
+ # @see ContextDev::Models::WebScrapeResponse::Bytes#data
132
+ class Data < ContextDev::Internal::Type::BaseModel
133
+ # @!attribute base64
134
+ # Original response body as base64, after HTTP decompression. Maximum decoded
135
+ # size: 20 MiB.
136
+ #
137
+ # @return [String]
138
+ required :base64, String
139
+
140
+ # @!attribute content_type
141
+ #
142
+ # @return [String]
143
+ required :content_type, String, api_name: :contentType
144
+
145
+ # @!method initialize(base64:, content_type:)
146
+ # Some parameter documentations has been truncated, see
147
+ # {ContextDev::Models::WebScrapeResponse::Bytes::Data} for more details.
148
+ #
149
+ # @param base64 [String] Original response body as base64, after HTTP decompression. Maximum decoded size
150
+ #
151
+ # @param content_type [String]
152
+ end
153
+ end
154
+
155
+ # @see ContextDev::Models::WebScrapeResponse#cache_metadata
156
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
157
+ # @!attribute age_ms
158
+ # Age of the cached data in milliseconds. Zero for miss and zdr responses.
159
+ #
160
+ # @return [Integer]
161
+ required :age_ms, Integer
162
+
163
+ # @!attribute status
164
+ # Whether the response was served from cache, required fresh work, or honored
165
+ # zero-data-retention cache bypass.
166
+ #
167
+ # @return [Symbol, ContextDev::Models::WebScrapeResponse::CacheMetadata::Status]
168
+ required :status, enum: -> { ContextDev::Models::WebScrapeResponse::CacheMetadata::Status }
169
+
170
+ # @!method initialize(age_ms:, status:)
171
+ # Some parameter documentations has been truncated, see
172
+ # {ContextDev::Models::WebScrapeResponse::CacheMetadata} for more details.
173
+ #
174
+ # Cache outcome for this response. Composite responses are hits only when every
175
+ # cache-controlled fetch contributing to the output was a hit; age_ms is the
176
+ # oldest contributing hit.
177
+ #
178
+ # @param age_ms [Integer] Age of the cached data in milliseconds. Zero for miss and zdr responses.
179
+ #
180
+ # @param status [Symbol, ContextDev::Models::WebScrapeResponse::CacheMetadata::Status] Whether the response was served from cache, required fresh work, or honored zero
181
+
182
+ # Whether the response was served from cache, required fresh work, or honored
183
+ # zero-data-retention cache bypass.
184
+ #
185
+ # @see ContextDev::Models::WebScrapeResponse::CacheMetadata#status
186
+ module Status
187
+ extend ContextDev::Internal::Type::Enum
188
+
189
+ HIT = :hit
190
+ MISS = :miss
191
+ ZDR = :zdr
192
+
193
+ # @!method self.values
194
+ # @return [Array<Symbol>]
195
+ end
196
+ end
197
+
198
+ # @see ContextDev::Models::WebScrapeResponse#html
199
+ class HTML < ContextDev::Internal::Type::BaseModel
200
+ # @!attribute data
201
+ #
202
+ # @return [String, nil]
203
+ required :data, String, nil?: true
204
+
205
+ # @!attribute requested
206
+ #
207
+ # @return [Boolean]
208
+ required :requested, ContextDev::Internal::Type::Boolean
209
+
210
+ # @!method initialize(data:, requested:)
211
+ # Rendered HTML after content filters.
212
+ #
213
+ # @param data [String, nil]
214
+ # @param requested [Boolean]
215
+ end
216
+
217
+ # @see ContextDev::Models::WebScrapeResponse#images
218
+ class Images < ContextDev::Internal::Type::BaseModel
219
+ # @!attribute data
220
+ #
221
+ # @return [Array<ContextDev::Models::WebScrapeResponse::Images::Data>, nil]
222
+ required :data,
223
+ -> { ContextDev::Internal::Type::ArrayOf[ContextDev::Models::WebScrapeResponse::Images::Data] },
224
+ nil?: true
225
+
226
+ # @!attribute requested
227
+ #
228
+ # @return [Boolean]
229
+ required :requested, ContextDev::Internal::Type::Boolean
230
+
231
+ # @!method initialize(data:, requested:)
232
+ # Images after content filters. Empty when none are found.
233
+ #
234
+ # @param data [Array<ContextDev::Models::WebScrapeResponse::Images::Data>, nil]
235
+ # @param requested [Boolean]
236
+
237
+ class Data < ContextDev::Internal::Type::BaseModel
238
+ # @!attribute alt
239
+ # Alt text, if present.
240
+ #
241
+ # @return [String, nil]
242
+ required :alt, String, nil?: true
243
+
244
+ # @!attribute url
245
+ # Image URL, or a data URI for inline images.
246
+ #
247
+ # @return [String]
248
+ required :url, String
249
+
250
+ # @!attribute classification
251
+ #
252
+ # @return [Symbol, ContextDev::Models::WebScrapeResponse::Images::Data::Classification, nil]
253
+ optional :classification, enum: -> { ContextDev::Models::WebScrapeResponse::Images::Data::Classification }
254
+
255
+ # @!attribute file_url
256
+ # Hosted copy when file enrichment is requested and zdr is disabled. Valid for 24
257
+ # hours from the original capture.
258
+ #
259
+ # @return [String, nil]
260
+ optional :file_url, String, api_name: :fileUrl
261
+
262
+ # @!attribute height
263
+ #
264
+ # @return [Integer, nil]
265
+ optional :height, Integer
266
+
267
+ # @!attribute width
268
+ #
269
+ # @return [Integer, nil]
270
+ optional :width, Integer
271
+
272
+ # @!method initialize(alt:, url:, classification: nil, file_url: nil, height: nil, width: nil)
273
+ # Some parameter documentations has been truncated, see
274
+ # {ContextDev::Models::WebScrapeResponse::Images::Data} for more details.
275
+ #
276
+ # @param alt [String, nil] Alt text, if present.
277
+ #
278
+ # @param url [String] Image URL, or a data URI for inline images.
279
+ #
280
+ # @param classification [Symbol, ContextDev::Models::WebScrapeResponse::Images::Data::Classification]
281
+ #
282
+ # @param file_url [String] Hosted copy when file enrichment is requested and zdr is disabled. Valid for 24
283
+ #
284
+ # @param height [Integer]
285
+ #
286
+ # @param width [Integer]
287
+
288
+ # @see ContextDev::Models::WebScrapeResponse::Images::Data#classification
289
+ module Classification
290
+ extend ContextDev::Internal::Type::Enum
291
+
292
+ PHOTOGRAPHY = :photography
293
+ ILLUSTRATION = :illustration
294
+ LOGO = :logo
295
+ WORDMARK = :wordmark
296
+ ICON = :icon
297
+ PATTERN = :pattern
298
+ GRAPHIC = :graphic
299
+ OTHER = :other
300
+
301
+ # @!method self.values
302
+ # @return [Array<Symbol>]
303
+ end
304
+ end
305
+ end
306
+
307
+ # @see ContextDev::Models::WebScrapeResponse#markdown
308
+ class Markdown < ContextDev::Internal::Type::BaseModel
309
+ # @!attribute data
310
+ #
311
+ # @return [String, nil]
312
+ required :data, String, nil?: true
313
+
314
+ # @!attribute requested
315
+ #
316
+ # @return [Boolean]
317
+ required :requested, ContextDev::Internal::Type::Boolean
318
+
319
+ # @!method initialize(data:, requested:)
320
+ # Markdown after content filters.
321
+ #
322
+ # @param data [String, nil]
323
+ # @param requested [Boolean]
324
+ end
325
+
326
+ # @see ContextDev::Models::WebScrapeResponse#metadata
327
+ class Metadata < ContextDev::Internal::Type::BaseModel
328
+ # @!attribute additional_meta
329
+ # Additional non-social meta tags not promoted to top-level metadata fields.
330
+ #
331
+ # @return [Hash{Symbol=>String, Array<String>}, nil]
332
+ optional :additional_meta,
333
+ -> { ContextDev::Internal::Type::HashOf[union: ContextDev::Models::WebScrapeResponse::Metadata::AdditionalMeta] },
334
+ api_name: :additionalMeta
335
+
336
+ # @!attribute alternates
337
+ # Resolved alternate links from link rel=alternate tags.
338
+ #
339
+ # @return [Array<ContextDev::Models::WebScrapeResponse::Metadata::Alternate>, nil]
340
+ optional :alternates,
341
+ -> { ContextDev::Internal::Type::ArrayOf[ContextDev::Models::WebScrapeResponse::Metadata::Alternate] }
342
+
343
+ # @!attribute author
344
+ # Author metadata, when present.
345
+ #
346
+ # @return [String, nil]
347
+ optional :author, String
348
+
349
+ # @!attribute canonical_url
350
+ # Resolved canonical URL, when present.
351
+ #
352
+ # @return [String, nil]
353
+ optional :canonical_url, String, api_name: :canonicalUrl
354
+
355
+ # @!attribute description
356
+ # Best description extracted from standard, Open Graph, or Twitter metadata.
357
+ #
358
+ # @return [String, nil]
359
+ optional :description, String
360
+
361
+ # @!attribute favicon
362
+ # Resolved favicon URL, when present.
363
+ #
364
+ # @return [String, nil]
365
+ optional :favicon, String
366
+
367
+ # @!attribute headings
368
+ # Page headings (h1–h6) in document order, extracted from the unfiltered document.
369
+ # Capped at the first 500 headings. Omitted when the page has none.
370
+ #
371
+ # @return [Array<ContextDev::Models::WebScrapeResponse::Metadata::Heading>, nil]
372
+ optional :headings,
373
+ -> { ContextDev::Internal::Type::ArrayOf[ContextDev::Models::WebScrapeResponse::Metadata::Heading] }
374
+
375
+ # @!attribute image
376
+ # Primary resolved preview image from Open Graph, Twitter, or image metadata.
377
+ #
378
+ # @return [String, nil]
379
+ optional :image, String
380
+
381
+ # @!attribute json_ld
382
+ # JSON-LD structured data blocks parsed from the page.
383
+ #
384
+ # @return [Array<Hash{Symbol=>Object}>, nil]
385
+ optional :json_ld,
386
+ ContextDev::Internal::Type::ArrayOf[ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown]],
387
+ api_name: :jsonLd
388
+
389
+ # @!attribute keywords
390
+ # Keywords extracted from the page's keywords meta tag.
391
+ #
392
+ # @return [Array<String>, nil]
393
+ optional :keywords, ContextDev::Internal::Type::ArrayOf[String]
394
+
395
+ # @!attribute language
396
+ # Language extracted from html lang or language meta tags.
397
+ #
398
+ # @return [String, nil]
399
+ optional :language, String
400
+
401
+ # @!attribute modified_time
402
+ # Modified timestamp/date from page metadata, when present.
403
+ #
404
+ # @return [String, nil]
405
+ optional :modified_time, String, api_name: :modifiedTime
406
+
407
+ # @!attribute open_graph
408
+ # Open Graph metadata with the og: prefix removed and keys camel-cased.
409
+ #
410
+ # @return [Hash{Symbol=>String, Array<String>}, nil]
411
+ optional :open_graph,
412
+ -> { ContextDev::Internal::Type::HashOf[union: ContextDev::Models::WebScrapeResponse::Metadata::OpenGraph] },
413
+ api_name: :openGraph
414
+
415
+ # @!attribute published_time
416
+ # Published timestamp/date from page metadata, when present.
417
+ #
418
+ # @return [String, nil]
419
+ optional :published_time, String, api_name: :publishedTime
420
+
421
+ # @!attribute robots
422
+ # Robots meta directive, when present.
423
+ #
424
+ # @return [String, nil]
425
+ optional :robots, String
426
+
427
+ # @!attribute site_name
428
+ # Site or application name from page metadata.
429
+ #
430
+ # @return [String, nil]
431
+ optional :site_name, String, api_name: :siteName
432
+
433
+ # @!attribute title
434
+ # Best title extracted from the page.
435
+ #
436
+ # @return [String, nil]
437
+ optional :title, String
438
+
439
+ # @!attribute twitter
440
+ # Twitter card metadata with the twitter: prefix removed and keys camel-cased.
441
+ #
442
+ # @return [Hash{Symbol=>String, Array<String>}, nil]
443
+ optional :twitter,
444
+ -> { ContextDev::Internal::Type::HashOf[union: ContextDev::Models::WebScrapeResponse::Metadata::Twitter] }
445
+
446
+ # @!method initialize(additional_meta: nil, alternates: nil, author: nil, canonical_url: nil, description: nil, favicon: nil, headings: nil, image: nil, json_ld: nil, keywords: nil, language: nil, modified_time: nil, open_graph: nil, published_time: nil, robots: nil, site_name: nil, title: nil, twitter: nil)
447
+ # Some parameter documentations has been truncated, see
448
+ # {ContextDev::Models::WebScrapeResponse::Metadata} for more details.
449
+ #
450
+ # Page details, when available.
451
+ #
452
+ # @param additional_meta [Hash{Symbol=>String, Array<String>}] Additional non-social meta tags not promoted to top-level metadata fields.
453
+ #
454
+ # @param alternates [Array<ContextDev::Models::WebScrapeResponse::Metadata::Alternate>] Resolved alternate links from link rel=alternate tags.
455
+ #
456
+ # @param author [String] Author metadata, when present.
457
+ #
458
+ # @param canonical_url [String] Resolved canonical URL, when present.
459
+ #
460
+ # @param description [String] Best description extracted from standard, Open Graph, or Twitter metadata.
461
+ #
462
+ # @param favicon [String] Resolved favicon URL, when present.
463
+ #
464
+ # @param headings [Array<ContextDev::Models::WebScrapeResponse::Metadata::Heading>] Page headings (h1–h6) in document order, extracted from the unfiltered document.
465
+ #
466
+ # @param image [String] Primary resolved preview image from Open Graph, Twitter, or image metadata.
467
+ #
468
+ # @param json_ld [Array<Hash{Symbol=>Object}>] JSON-LD structured data blocks parsed from the page.
469
+ #
470
+ # @param keywords [Array<String>] Keywords extracted from the page's keywords meta tag.
471
+ #
472
+ # @param language [String] Language extracted from html lang or language meta tags.
473
+ #
474
+ # @param modified_time [String] Modified timestamp/date from page metadata, when present.
475
+ #
476
+ # @param open_graph [Hash{Symbol=>String, Array<String>}] Open Graph metadata with the og: prefix removed and keys camel-cased.
477
+ #
478
+ # @param published_time [String] Published timestamp/date from page metadata, when present.
479
+ #
480
+ # @param robots [String] Robots meta directive, when present.
481
+ #
482
+ # @param site_name [String] Site or application name from page metadata.
483
+ #
484
+ # @param title [String] Best title extracted from the page.
485
+ #
486
+ # @param twitter [Hash{Symbol=>String, Array<String>}] Twitter card metadata with the twitter: prefix removed and keys camel-cased.
487
+
488
+ module AdditionalMeta
489
+ extend ContextDev::Internal::Type::Union
490
+
491
+ variant String
492
+
493
+ variant -> { ContextDev::Models::WebScrapeResponse::Metadata::AdditionalMeta::StringArray }
494
+
495
+ # @!method self.variants
496
+ # @return [Array(String, Array<String>)]
497
+
498
+ # @type [ContextDev::Internal::Type::Converter]
499
+ StringArray = ContextDev::Internal::Type::ArrayOf[String]
500
+ end
501
+
502
+ class Alternate < ContextDev::Internal::Type::BaseModel
503
+ # @!attribute href
504
+ # Resolved alternate URL.
505
+ #
506
+ # @return [String]
507
+ required :href, String
508
+
509
+ # @!attribute hreflang
510
+ # Language or locale for the alternate URL, when present.
511
+ #
512
+ # @return [String, nil]
513
+ optional :hreflang, String
514
+
515
+ # @!attribute title
516
+ # Alternate resource title, when present.
517
+ #
518
+ # @return [String, nil]
519
+ optional :title, String
520
+
521
+ # @!attribute type
522
+ # Alternate resource MIME type, when present.
523
+ #
524
+ # @return [String, nil]
525
+ optional :type, String
526
+
527
+ # @!method initialize(href:, hreflang: nil, title: nil, type: nil)
528
+ # @param href [String] Resolved alternate URL.
529
+ #
530
+ # @param hreflang [String] Language or locale for the alternate URL, when present.
531
+ #
532
+ # @param title [String] Alternate resource title, when present.
533
+ #
534
+ # @param type [String] Alternate resource MIME type, when present.
535
+ end
536
+
537
+ class Heading < ContextDev::Internal::Type::BaseModel
538
+ # @!attribute level
539
+ # Heading level, 1–6 (from h1–h6).
540
+ #
541
+ # @return [Integer]
542
+ required :level, Integer
543
+
544
+ # @!attribute text
545
+ # Heading text with whitespace collapsed, truncated to 1000 characters.
546
+ #
547
+ # @return [String]
548
+ required :text, String
549
+
550
+ # @!method initialize(level:, text:)
551
+ # @param level [Integer] Heading level, 1–6 (from h1–h6).
552
+ #
553
+ # @param text [String] Heading text with whitespace collapsed, truncated to 1000 characters.
554
+ end
555
+
556
+ module OpenGraph
557
+ extend ContextDev::Internal::Type::Union
558
+
559
+ variant String
560
+
561
+ variant -> { ContextDev::Models::WebScrapeResponse::Metadata::OpenGraph::StringArray }
562
+
563
+ # @!method self.variants
564
+ # @return [Array(String, Array<String>)]
565
+
566
+ # @type [ContextDev::Internal::Type::Converter]
567
+ StringArray = ContextDev::Internal::Type::ArrayOf[String]
568
+ end
569
+
570
+ module Twitter
571
+ extend ContextDev::Internal::Type::Union
572
+
573
+ variant String
574
+
575
+ variant -> { ContextDev::Models::WebScrapeResponse::Metadata::Twitter::StringArray }
576
+
577
+ # @!method self.variants
578
+ # @return [Array(String, Array<String>)]
579
+
580
+ # @type [ContextDev::Internal::Type::Converter]
581
+ StringArray = ContextDev::Internal::Type::ArrayOf[String]
582
+ end
583
+ end
584
+
585
+ # @see ContextDev::Models::WebScrapeResponse#parsed
586
+ class Parsed < ContextDev::Internal::Type::BaseModel
587
+ # @!attribute data
588
+ #
589
+ # @return [Hash{Symbol=>Object}, nil]
590
+ required :data, ContextDev::Internal::Type::HashOf[ContextDev::Internal::Type::Unknown], nil?: true
591
+
592
+ # @!attribute requested
593
+ #
594
+ # @return [Boolean]
595
+ required :requested, ContextDev::Internal::Type::Boolean
596
+
597
+ # @!method initialize(data:, requested:)
598
+ # Fields produced by parseParams.rules, after shared content filters.
599
+ #
600
+ # @param data [Hash{Symbol=>Object}, nil]
601
+ # @param requested [Boolean]
602
+ end
603
+
604
+ # @see ContextDev::Models::WebScrapeResponse#screenshot
605
+ class Screenshot < ContextDev::Internal::Type::BaseModel
606
+ # @!attribute data
607
+ #
608
+ # @return [String, nil]
609
+ required :data, String, nil?: true
610
+
611
+ # @!attribute requested
612
+ #
613
+ # @return [Boolean]
614
+ required :requested, ContextDev::Internal::Type::Boolean
615
+
616
+ # @!method initialize(data:, requested:)
617
+ # An image data URL. Use directly as an image src.
618
+ #
619
+ # @param data [String, nil]
620
+ # @param requested [Boolean]
621
+ end
622
+
623
+ # Present when return-partial captures a page that is still loading or returns
624
+ # images before image processing finishes. Partial responses are not cached.
625
+ #
626
+ # @see ContextDev::Models::WebScrapeResponse#is_partial
627
+ module IsPartial
628
+ extend ContextDev::Internal::Type::Enum
629
+
630
+ TRUE = true
631
+
632
+ # @!method self.values
633
+ # @return [Array<Boolean>]
634
+ end
635
+
636
+ # @see ContextDev::Models::WebScrapeResponse#key_metadata
637
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
638
+ # @!attribute credits_consumed
639
+ # Credits used by this request.
640
+ #
641
+ # @return [Integer]
642
+ required :credits_consumed, Integer
643
+
644
+ # @!attribute credits_remaining
645
+ # Credits remaining for your organization.
646
+ #
647
+ # @return [Integer]
648
+ required :credits_remaining, Integer
649
+
650
+ # @!method initialize(credits_consumed:, credits_remaining:)
651
+ # Credit usage, included whenever a valid API key is provided.
652
+ #
653
+ # @param credits_consumed [Integer] Credits used by this request.
654
+ #
655
+ # @param credits_remaining [Integer] Credits remaining for your organization.
656
+ end
657
+ end
658
+ end
659
+ end