context.dev 2.18.0 → 2.20.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +220 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  6. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  7. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  8. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  9. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
  10. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  11. data/lib/context_dev/models/web_scrape_params.rb +1035 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +974 -0
  13. data/lib/context_dev/models/web_screenshot_params.rb +15 -1
  14. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  15. data/lib/context_dev/models.rb +8 -22
  16. data/lib/context_dev/resources/brand.rb +0 -36
  17. data/lib/context_dev/resources/monitors.rb +47 -0
  18. data/lib/context_dev/resources/web.rb +118 -486
  19. data/lib/context_dev/version.rb +1 -1
  20. data/lib/context_dev.rb +8 -23
  21. data/rbi/context_dev/client.rbi +0 -3
  22. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  23. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  24. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  25. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  26. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
  27. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  28. data/rbi/context_dev/models/web_scrape_params.rbi +2221 -0
  29. data/rbi/context_dev/models/web_scrape_response.rbi +1874 -0
  30. data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
  31. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  32. data/rbi/context_dev/models.rbi +9 -24
  33. data/rbi/context_dev/resources/brand.rbi +0 -35
  34. data/rbi/context_dev/resources/monitors.rbi +24 -0
  35. data/rbi/context_dev/resources/web.rbi +152 -654
  36. data/sig/context_dev/client.rbs +0 -2
  37. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  38. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  39. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  40. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  41. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  42. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  43. data/sig/context_dev/models/web_scrape_params.rbs +925 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +782 -0
  45. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  46. data/sig/context_dev/models.rbs +8 -22
  47. data/sig/context_dev/resources/brand.rbs +0 -9
  48. data/sig/context_dev/resources/monitors.rbs +11 -0
  49. data/sig/context_dev/resources/web.rbs +33 -128
  50. metadata +26 -71
  51. data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
  52. data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
  53. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  54. data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
  55. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  56. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  57. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  58. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  59. data/lib/context_dev/models/web_extract_params.rb +0 -419
  60. data/lib/context_dev/models/web_extract_response.rb +0 -287
  61. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
  62. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  63. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
  64. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
  65. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
  66. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  67. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
  68. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  69. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
  70. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
  71. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  72. data/lib/context_dev/resources/ai.rb +0 -71
  73. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
  74. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
  75. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  76. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
  77. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  78. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  79. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  80. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  81. data/rbi/context_dev/models/web_extract_params.rbi +0 -781
  82. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  83. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
  84. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  85. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
  86. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +0 -1287
  87. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  88. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  89. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  90. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  92. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  93. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  94. data/rbi/context_dev/resources/ai.rbi +0 -63
  95. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  96. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  97. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  98. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  99. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  100. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  101. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  102. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  103. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  104. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  105. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  106. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  107. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  108. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  109. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  110. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  111. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  112. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  113. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  114. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  115. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  116. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -0,0 +1,782 @@
1
+ module ContextDev
2
+ module Models
3
+ type web_scrape_response =
4
+ {
5
+ bytes: ContextDev::Models::WebScrapeResponse::Bytes,
6
+ cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata,
7
+ highlights: ContextDev::Models::WebScrapeResponse::Highlights,
8
+ html: ContextDev::Models::WebScrapeResponse::HTML,
9
+ images: ContextDev::Models::WebScrapeResponse::Images,
10
+ json: ContextDev::Models::WebScrapeResponse::Json,
11
+ markdown: ContextDev::Models::WebScrapeResponse::Markdown,
12
+ metadata: ContextDev::Models::WebScrapeResponse::Metadata,
13
+ parsed: ContextDev::Models::WebScrapeResponse::Parsed,
14
+ product: ContextDev::Models::WebScrapeResponse::Product,
15
+ request_id: String,
16
+ screenshot: ContextDev::Models::WebScrapeResponse::Screenshot,
17
+ url: String,
18
+ is_partial: ContextDev::Models::WebScrapeResponse::is_partial,
19
+ key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata
20
+ }
21
+
22
+ class WebScrapeResponse < ContextDev::Internal::Type::BaseModel
23
+ attr_accessor bytes: ContextDev::Models::WebScrapeResponse::Bytes
24
+
25
+ attr_accessor cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata
26
+
27
+ attr_accessor highlights: ContextDev::Models::WebScrapeResponse::Highlights
28
+
29
+ attr_accessor html: ContextDev::Models::WebScrapeResponse::HTML
30
+
31
+ attr_accessor images: ContextDev::Models::WebScrapeResponse::Images
32
+
33
+ attr_accessor json: ContextDev::Models::WebScrapeResponse::Json
34
+
35
+ attr_accessor markdown: ContextDev::Models::WebScrapeResponse::Markdown
36
+
37
+ attr_accessor metadata: ContextDev::Models::WebScrapeResponse::Metadata
38
+
39
+ attr_accessor parsed: ContextDev::Models::WebScrapeResponse::Parsed
40
+
41
+ attr_accessor product: ContextDev::Models::WebScrapeResponse::Product
42
+
43
+ attr_accessor request_id: String
44
+
45
+ attr_accessor screenshot: ContextDev::Models::WebScrapeResponse::Screenshot
46
+
47
+ attr_accessor url: String
48
+
49
+ attr_reader is_partial: ContextDev::Models::WebScrapeResponse::is_partial?
50
+
51
+ def is_partial=: (
52
+ ContextDev::Models::WebScrapeResponse::is_partial
53
+ ) -> ContextDev::Models::WebScrapeResponse::is_partial
54
+
55
+ attr_reader key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata?
56
+
57
+ def key_metadata=: (
58
+ ContextDev::Models::WebScrapeResponse::KeyMetadata
59
+ ) -> ContextDev::Models::WebScrapeResponse::KeyMetadata
60
+
61
+ def initialize: (
62
+ bytes: ContextDev::Models::WebScrapeResponse::Bytes,
63
+ cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata,
64
+ highlights: ContextDev::Models::WebScrapeResponse::Highlights,
65
+ html: ContextDev::Models::WebScrapeResponse::HTML,
66
+ images: ContextDev::Models::WebScrapeResponse::Images,
67
+ json: ContextDev::Models::WebScrapeResponse::Json,
68
+ markdown: ContextDev::Models::WebScrapeResponse::Markdown,
69
+ metadata: ContextDev::Models::WebScrapeResponse::Metadata,
70
+ parsed: ContextDev::Models::WebScrapeResponse::Parsed,
71
+ product: ContextDev::Models::WebScrapeResponse::Product,
72
+ request_id: String,
73
+ screenshot: ContextDev::Models::WebScrapeResponse::Screenshot,
74
+ url: String,
75
+ ?is_partial: ContextDev::Models::WebScrapeResponse::is_partial,
76
+ ?key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata
77
+ ) -> void
78
+
79
+ def to_hash: -> {
80
+ bytes: ContextDev::Models::WebScrapeResponse::Bytes,
81
+ cache_metadata: ContextDev::Models::WebScrapeResponse::CacheMetadata,
82
+ highlights: ContextDev::Models::WebScrapeResponse::Highlights,
83
+ html: ContextDev::Models::WebScrapeResponse::HTML,
84
+ images: ContextDev::Models::WebScrapeResponse::Images,
85
+ json: ContextDev::Models::WebScrapeResponse::Json,
86
+ markdown: ContextDev::Models::WebScrapeResponse::Markdown,
87
+ metadata: ContextDev::Models::WebScrapeResponse::Metadata,
88
+ parsed: ContextDev::Models::WebScrapeResponse::Parsed,
89
+ product: ContextDev::Models::WebScrapeResponse::Product,
90
+ request_id: String,
91
+ screenshot: ContextDev::Models::WebScrapeResponse::Screenshot,
92
+ url: String,
93
+ is_partial: ContextDev::Models::WebScrapeResponse::is_partial,
94
+ key_metadata: ContextDev::Models::WebScrapeResponse::KeyMetadata
95
+ }
96
+
97
+ type bytes =
98
+ {
99
+ data: ContextDev::Models::WebScrapeResponse::Bytes::Data?,
100
+ requested: bool
101
+ }
102
+
103
+ class Bytes < ContextDev::Internal::Type::BaseModel
104
+ attr_accessor data: ContextDev::Models::WebScrapeResponse::Bytes::Data?
105
+
106
+ attr_accessor requested: bool
107
+
108
+ def initialize: (
109
+ data: ContextDev::Models::WebScrapeResponse::Bytes::Data?,
110
+ requested: bool
111
+ ) -> void
112
+
113
+ def to_hash: -> {
114
+ data: ContextDev::Models::WebScrapeResponse::Bytes::Data?,
115
+ requested: bool
116
+ }
117
+
118
+ type data = { :base64 => String, content_type: String }
119
+
120
+ class Data < ContextDev::Internal::Type::BaseModel
121
+ attr_accessor base64: String
122
+
123
+ attr_accessor content_type: String
124
+
125
+ def initialize: (base64: String, content_type: String) -> void
126
+
127
+ def to_hash: -> { :base64 => String, content_type: String }
128
+ end
129
+ end
130
+
131
+ type cache_metadata =
132
+ {
133
+ age_ms: Integer,
134
+ status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
135
+ }
136
+
137
+ class CacheMetadata < ContextDev::Internal::Type::BaseModel
138
+ attr_accessor age_ms: Integer
139
+
140
+ attr_accessor status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
141
+
142
+ def initialize: (
143
+ age_ms: Integer,
144
+ status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
145
+ ) -> void
146
+
147
+ def to_hash: -> {
148
+ age_ms: Integer,
149
+ status: ContextDev::Models::WebScrapeResponse::CacheMetadata::status
150
+ }
151
+
152
+ type status = :hit | :miss | :zdr
153
+
154
+ module Status
155
+ extend ContextDev::Internal::Type::Enum
156
+
157
+ HIT: :hit
158
+ MISS: :miss
159
+ ZDR: :zdr
160
+
161
+ def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::CacheMetadata::status]
162
+ end
163
+ end
164
+
165
+ type highlights = { data: ::Array[String]?, requested: bool }
166
+
167
+ class Highlights < ContextDev::Internal::Type::BaseModel
168
+ attr_accessor data: ::Array[String]?
169
+
170
+ attr_accessor requested: bool
171
+
172
+ def initialize: (data: ::Array[String]?, requested: bool) -> void
173
+
174
+ def to_hash: -> { data: ::Array[String]?, requested: bool }
175
+ end
176
+
177
+ type html = { data: String?, requested: bool }
178
+
179
+ class HTML < ContextDev::Internal::Type::BaseModel
180
+ attr_accessor data: String?
181
+
182
+ attr_accessor requested: bool
183
+
184
+ def initialize: (data: String?, requested: bool) -> void
185
+
186
+ def to_hash: -> { data: String?, requested: bool }
187
+ end
188
+
189
+ type images =
190
+ {
191
+ data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?,
192
+ requested: bool
193
+ }
194
+
195
+ class Images < ContextDev::Internal::Type::BaseModel
196
+ attr_accessor data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?
197
+
198
+ attr_accessor requested: bool
199
+
200
+ def initialize: (
201
+ data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?,
202
+ requested: bool
203
+ ) -> void
204
+
205
+ def to_hash: -> {
206
+ data: ::Array[ContextDev::Models::WebScrapeResponse::Images::Data]?,
207
+ requested: bool
208
+ }
209
+
210
+ type data =
211
+ {
212
+ alt: String?,
213
+ url: String,
214
+ classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification,
215
+ file_url: String,
216
+ height: Integer,
217
+ width: Integer
218
+ }
219
+
220
+ class Data < ContextDev::Internal::Type::BaseModel
221
+ attr_accessor alt: String?
222
+
223
+ attr_accessor url: String
224
+
225
+ attr_reader classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification?
226
+
227
+ def classification=: (
228
+ ContextDev::Models::WebScrapeResponse::Images::Data::classification
229
+ ) -> ContextDev::Models::WebScrapeResponse::Images::Data::classification
230
+
231
+ attr_reader file_url: String?
232
+
233
+ def file_url=: (String) -> String
234
+
235
+ attr_reader height: Integer?
236
+
237
+ def height=: (Integer) -> Integer
238
+
239
+ attr_reader width: Integer?
240
+
241
+ def width=: (Integer) -> Integer
242
+
243
+ def initialize: (
244
+ alt: String?,
245
+ url: String,
246
+ ?classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification,
247
+ ?file_url: String,
248
+ ?height: Integer,
249
+ ?width: Integer
250
+ ) -> void
251
+
252
+ def to_hash: -> {
253
+ alt: String?,
254
+ url: String,
255
+ classification: ContextDev::Models::WebScrapeResponse::Images::Data::classification,
256
+ file_url: String,
257
+ height: Integer,
258
+ width: Integer
259
+ }
260
+
261
+ type classification =
262
+ :photography
263
+ | :illustration
264
+ | :logo
265
+ | :wordmark
266
+ | :icon
267
+ | :pattern
268
+ | :graphic
269
+ | :other
270
+
271
+ module Classification
272
+ extend ContextDev::Internal::Type::Enum
273
+
274
+ PHOTOGRAPHY: :photography
275
+ ILLUSTRATION: :illustration
276
+ LOGO: :logo
277
+ WORDMARK: :wordmark
278
+ ICON: :icon
279
+ PATTERN: :pattern
280
+ GRAPHIC: :graphic
281
+ OTHER: :other
282
+
283
+ def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::Images::Data::classification]
284
+ end
285
+ end
286
+ end
287
+
288
+ type json = { data: ::Hash[Symbol, top]?, requested: bool }
289
+
290
+ class Json < ContextDev::Internal::Type::BaseModel
291
+ attr_accessor data: ::Hash[Symbol, top]?
292
+
293
+ attr_accessor requested: bool
294
+
295
+ def initialize: (data: ::Hash[Symbol, top]?, requested: bool) -> void
296
+
297
+ def to_hash: -> { data: ::Hash[Symbol, top]?, requested: bool }
298
+ end
299
+
300
+ type markdown = { data: String?, requested: bool }
301
+
302
+ class Markdown < ContextDev::Internal::Type::BaseModel
303
+ attr_accessor data: String?
304
+
305
+ attr_accessor requested: bool
306
+
307
+ def initialize: (data: String?, requested: bool) -> void
308
+
309
+ def to_hash: -> { data: String?, requested: bool }
310
+ end
311
+
312
+ type metadata =
313
+ {
314
+ additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta],
315
+ alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate],
316
+ author: String,
317
+ canonical_url: String,
318
+ description: String,
319
+ favicon: String,
320
+ headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading],
321
+ image: String,
322
+ json_ld: ::Array[::Hash[Symbol, top]],
323
+ keywords: ::Array[String],
324
+ language: String,
325
+ modified_time: String,
326
+ open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph],
327
+ published_time: String,
328
+ robots: String,
329
+ site_name: String,
330
+ title: String,
331
+ twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
332
+ }
333
+
334
+ class Metadata < ContextDev::Internal::Type::BaseModel
335
+ attr_reader additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]?
336
+
337
+ def additional_meta=: (
338
+ ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]
339
+ ) -> ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]
340
+
341
+ attr_reader alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate]?
342
+
343
+ def alternates=: (
344
+ ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate]
345
+ ) -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate]
346
+
347
+ attr_reader author: String?
348
+
349
+ def author=: (String) -> String
350
+
351
+ attr_reader canonical_url: String?
352
+
353
+ def canonical_url=: (String) -> String
354
+
355
+ attr_reader description: String?
356
+
357
+ def description=: (String) -> String
358
+
359
+ attr_reader favicon: String?
360
+
361
+ def favicon=: (String) -> String
362
+
363
+ attr_reader headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading]?
364
+
365
+ def headings=: (
366
+ ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading]
367
+ ) -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading]
368
+
369
+ attr_reader image: String?
370
+
371
+ def image=: (String) -> String
372
+
373
+ attr_reader json_ld: ::Array[::Hash[Symbol, top]]?
374
+
375
+ def json_ld=: (
376
+ ::Array[::Hash[Symbol, top]]
377
+ ) -> ::Array[::Hash[Symbol, top]]
378
+
379
+ attr_reader keywords: ::Array[String]?
380
+
381
+ def keywords=: (::Array[String]) -> ::Array[String]
382
+
383
+ attr_reader language: String?
384
+
385
+ def language=: (String) -> String
386
+
387
+ attr_reader modified_time: String?
388
+
389
+ def modified_time=: (String) -> String
390
+
391
+ attr_reader open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph]?
392
+
393
+ def open_graph=: (
394
+ ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph]
395
+ ) -> ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph]
396
+
397
+ attr_reader published_time: String?
398
+
399
+ def published_time=: (String) -> String
400
+
401
+ attr_reader robots: String?
402
+
403
+ def robots=: (String) -> String
404
+
405
+ attr_reader site_name: String?
406
+
407
+ def site_name=: (String) -> String
408
+
409
+ attr_reader title: String?
410
+
411
+ def title=: (String) -> String
412
+
413
+ attr_reader twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]?
414
+
415
+ def twitter=: (
416
+ ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
417
+ ) -> ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
418
+
419
+ def initialize: (
420
+ ?additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta],
421
+ ?alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate],
422
+ ?author: String,
423
+ ?canonical_url: String,
424
+ ?description: String,
425
+ ?favicon: String,
426
+ ?headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading],
427
+ ?image: String,
428
+ ?json_ld: ::Array[::Hash[Symbol, top]],
429
+ ?keywords: ::Array[String],
430
+ ?language: String,
431
+ ?modified_time: String,
432
+ ?open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph],
433
+ ?published_time: String,
434
+ ?robots: String,
435
+ ?site_name: String,
436
+ ?title: String,
437
+ ?twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
438
+ ) -> void
439
+
440
+ def to_hash: -> {
441
+ additional_meta: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::additional_meta],
442
+ alternates: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Alternate],
443
+ author: String,
444
+ canonical_url: String,
445
+ description: String,
446
+ favicon: String,
447
+ headings: ::Array[ContextDev::Models::WebScrapeResponse::Metadata::Heading],
448
+ image: String,
449
+ json_ld: ::Array[::Hash[Symbol, top]],
450
+ keywords: ::Array[String],
451
+ language: String,
452
+ modified_time: String,
453
+ open_graph: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::open_graph],
454
+ published_time: String,
455
+ robots: String,
456
+ site_name: String,
457
+ title: String,
458
+ twitter: ::Hash[Symbol, ContextDev::Models::WebScrapeResponse::Metadata::twitter]
459
+ }
460
+
461
+ type additional_meta = String | ::Array[String]
462
+
463
+ module AdditionalMeta
464
+ extend ContextDev::Internal::Type::Union
465
+
466
+ def self?.variants: -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::additional_meta]
467
+
468
+ StringArray: ContextDev::Internal::Type::Converter
469
+ end
470
+
471
+ type alternate =
472
+ { href: String, hreflang: String, title: String, type: String }
473
+
474
+ class Alternate < ContextDev::Internal::Type::BaseModel
475
+ attr_accessor href: String
476
+
477
+ attr_reader hreflang: String?
478
+
479
+ def hreflang=: (String) -> String
480
+
481
+ attr_reader title: String?
482
+
483
+ def title=: (String) -> String
484
+
485
+ attr_reader type: String?
486
+
487
+ def type=: (String) -> String
488
+
489
+ def initialize: (
490
+ href: String,
491
+ ?hreflang: String,
492
+ ?title: String,
493
+ ?type: String
494
+ ) -> void
495
+
496
+ def to_hash: -> {
497
+ href: String,
498
+ hreflang: String,
499
+ title: String,
500
+ type: String
501
+ }
502
+ end
503
+
504
+ type heading = { level: Integer, text: String }
505
+
506
+ class Heading < ContextDev::Internal::Type::BaseModel
507
+ attr_accessor level: Integer
508
+
509
+ attr_accessor text: String
510
+
511
+ def initialize: (level: Integer, text: String) -> void
512
+
513
+ def to_hash: -> { level: Integer, text: String }
514
+ end
515
+
516
+ type open_graph = String | ::Array[String]
517
+
518
+ module OpenGraph
519
+ extend ContextDev::Internal::Type::Union
520
+
521
+ def self?.variants: -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::open_graph]
522
+
523
+ StringArray: ContextDev::Internal::Type::Converter
524
+ end
525
+
526
+ type twitter = String | ::Array[String]
527
+
528
+ module Twitter
529
+ extend ContextDev::Internal::Type::Union
530
+
531
+ def self?.variants: -> ::Array[ContextDev::Models::WebScrapeResponse::Metadata::twitter]
532
+
533
+ StringArray: ContextDev::Internal::Type::Converter
534
+ end
535
+ end
536
+
537
+ type parsed = { data: ::Hash[Symbol, top]?, requested: bool }
538
+
539
+ class Parsed < ContextDev::Internal::Type::BaseModel
540
+ attr_accessor data: ::Hash[Symbol, top]?
541
+
542
+ attr_accessor requested: bool
543
+
544
+ def initialize: (data: ::Hash[Symbol, top]?, requested: bool) -> void
545
+
546
+ def to_hash: -> { data: ::Hash[Symbol, top]?, requested: bool }
547
+ end
548
+
549
+ type product =
550
+ {
551
+ data: ContextDev::Models::WebScrapeResponse::Product::Data?,
552
+ requested: bool
553
+ }
554
+
555
+ class Product < ContextDev::Internal::Type::BaseModel
556
+ attr_accessor data: ContextDev::Models::WebScrapeResponse::Product::Data?
557
+
558
+ attr_accessor requested: bool
559
+
560
+ def initialize: (
561
+ data: ContextDev::Models::WebScrapeResponse::Product::Data?,
562
+ requested: bool
563
+ ) -> void
564
+
565
+ def to_hash: -> {
566
+ data: ContextDev::Models::WebScrapeResponse::Product::Data?,
567
+ requested: bool
568
+ }
569
+
570
+ type data =
571
+ {
572
+ is_product_page: bool,
573
+ product: ContextDev::Models::WebScrapeResponse::Product::Data::Product?
574
+ }
575
+
576
+ class Data < ContextDev::Internal::Type::BaseModel
577
+ attr_accessor is_product_page: bool
578
+
579
+ attr_accessor product: ContextDev::Models::WebScrapeResponse::Product::Data::Product?
580
+
581
+ def initialize: (
582
+ is_product_page: bool,
583
+ product: ContextDev::Models::WebScrapeResponse::Product::Data::Product?
584
+ ) -> void
585
+
586
+ def to_hash: -> {
587
+ is_product_page: bool,
588
+ product: ContextDev::Models::WebScrapeResponse::Product::Data::Product?
589
+ }
590
+
591
+ type product =
592
+ {
593
+ availability: ContextDev::Models::WebScrapeResponse::Product::Data::Product::availability?,
594
+ brand: String?,
595
+ category: String?,
596
+ currency: String?,
597
+ description: String?,
598
+ dimensions: ::Array[String],
599
+ features: ::Array[String],
600
+ images: ::Array[String],
601
+ image_url: String?,
602
+ name: String,
603
+ price: Float?,
604
+ regular_price: Float?,
605
+ sku: String?,
606
+ tags: ::Array[String],
607
+ target_audience: ::Array[String],
608
+ variants: ::Array[ContextDev::Models::WebScrapeResponse::Product::Data::Product::Variant]
609
+ }
610
+
611
+ class Product < ContextDev::Internal::Type::BaseModel
612
+ attr_accessor availability: ContextDev::Models::WebScrapeResponse::Product::Data::Product::availability?
613
+
614
+ attr_accessor brand: String?
615
+
616
+ attr_accessor category: String?
617
+
618
+ attr_accessor currency: String?
619
+
620
+ attr_accessor description: String?
621
+
622
+ attr_accessor dimensions: ::Array[String]
623
+
624
+ attr_accessor features: ::Array[String]
625
+
626
+ attr_accessor images: ::Array[String]
627
+
628
+ attr_accessor image_url: String?
629
+
630
+ attr_accessor name: String
631
+
632
+ attr_accessor price: Float?
633
+
634
+ attr_accessor regular_price: Float?
635
+
636
+ attr_accessor sku: String?
637
+
638
+ attr_accessor tags: ::Array[String]
639
+
640
+ attr_accessor target_audience: ::Array[String]
641
+
642
+ attr_accessor variants: ::Array[ContextDev::Models::WebScrapeResponse::Product::Data::Product::Variant]
643
+
644
+ def initialize: (
645
+ availability: ContextDev::Models::WebScrapeResponse::Product::Data::Product::availability?,
646
+ brand: String?,
647
+ category: String?,
648
+ currency: String?,
649
+ description: String?,
650
+ dimensions: ::Array[String],
651
+ features: ::Array[String],
652
+ images: ::Array[String],
653
+ image_url: String?,
654
+ name: String,
655
+ price: Float?,
656
+ regular_price: Float?,
657
+ sku: String?,
658
+ tags: ::Array[String],
659
+ target_audience: ::Array[String],
660
+ variants: ::Array[ContextDev::Models::WebScrapeResponse::Product::Data::Product::Variant]
661
+ ) -> void
662
+
663
+ def to_hash: -> {
664
+ availability: ContextDev::Models::WebScrapeResponse::Product::Data::Product::availability?,
665
+ brand: String?,
666
+ category: String?,
667
+ currency: String?,
668
+ description: String?,
669
+ dimensions: ::Array[String],
670
+ features: ::Array[String],
671
+ images: ::Array[String],
672
+ image_url: String?,
673
+ name: String,
674
+ price: Float?,
675
+ regular_price: Float?,
676
+ sku: String?,
677
+ tags: ::Array[String],
678
+ target_audience: ::Array[String],
679
+ variants: ::Array[ContextDev::Models::WebScrapeResponse::Product::Data::Product::Variant]
680
+ }
681
+
682
+ type availability =
683
+ :in_stock
684
+ | :out_of_stock
685
+ | :limited_availability
686
+ | :preorder
687
+ | :backorder
688
+ | :made_to_order
689
+ | :discontinued
690
+
691
+ module Availability
692
+ extend ContextDev::Internal::Type::Enum
693
+
694
+ IN_STOCK: :in_stock
695
+ OUT_OF_STOCK: :out_of_stock
696
+ LIMITED_AVAILABILITY: :limited_availability
697
+ PREORDER: :preorder
698
+ BACKORDER: :backorder
699
+ MADE_TO_ORDER: :made_to_order
700
+ DISCONTINUED: :discontinued
701
+
702
+ def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::Product::Data::Product::availability]
703
+ end
704
+
705
+ type variant =
706
+ {
707
+ attributes: ::Hash[Symbol, String],
708
+ images: ::Array[String],
709
+ sku: String?,
710
+ url: String?
711
+ }
712
+
713
+ class Variant < ContextDev::Internal::Type::BaseModel
714
+ attr_accessor attributes: ::Hash[Symbol, String]
715
+
716
+ attr_accessor images: ::Array[String]
717
+
718
+ attr_accessor sku: String?
719
+
720
+ attr_accessor url: String?
721
+
722
+ def initialize: (
723
+ attributes: ::Hash[Symbol, String],
724
+ images: ::Array[String],
725
+ sku: String?,
726
+ url: String?
727
+ ) -> void
728
+
729
+ def to_hash: -> {
730
+ attributes: ::Hash[Symbol, String],
731
+ images: ::Array[String],
732
+ sku: String?,
733
+ url: String?
734
+ }
735
+ end
736
+ end
737
+ end
738
+ end
739
+
740
+ type screenshot = { data: String?, requested: bool }
741
+
742
+ class Screenshot < ContextDev::Internal::Type::BaseModel
743
+ attr_accessor data: String?
744
+
745
+ attr_accessor requested: bool
746
+
747
+ def initialize: (data: String?, requested: bool) -> void
748
+
749
+ def to_hash: -> { data: String?, requested: bool }
750
+ end
751
+
752
+ type is_partial = true
753
+
754
+ module IsPartial
755
+ extend ContextDev::Internal::Type::Enum
756
+
757
+ TRUE: true
758
+
759
+ def self?.values: -> ::Array[ContextDev::Models::WebScrapeResponse::is_partial]
760
+ end
761
+
762
+ type key_metadata =
763
+ { credits_consumed: Integer, credits_remaining: Integer }
764
+
765
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
766
+ attr_accessor credits_consumed: Integer
767
+
768
+ attr_accessor credits_remaining: Integer
769
+
770
+ def initialize: (
771
+ credits_consumed: Integer,
772
+ credits_remaining: Integer
773
+ ) -> void
774
+
775
+ def to_hash: -> {
776
+ credits_consumed: Integer,
777
+ credits_remaining: Integer
778
+ }
779
+ end
780
+ end
781
+ end
782
+ end