context.dev 2.18.0 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/client.rb +0 -4
  5. data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
  6. data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
  7. data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
  8. data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
  9. data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
  10. data/lib/context_dev/models/web_map_urls_response.rb +123 -0
  11. data/lib/context_dev/models/web_scrape_params.rb +906 -0
  12. data/lib/context_dev/models/web_scrape_response.rb +659 -0
  13. data/lib/context_dev/models/web_screenshot_params.rb +15 -1
  14. data/lib/context_dev/models/web_screenshot_response.rb +3 -3
  15. data/lib/context_dev/models.rb +8 -22
  16. data/lib/context_dev/resources/brand.rb +0 -36
  17. data/lib/context_dev/resources/monitors.rb +47 -0
  18. data/lib/context_dev/resources/web.rb +106 -486
  19. data/lib/context_dev/version.rb +1 -1
  20. data/lib/context_dev.rb +8 -23
  21. data/rbi/context_dev/client.rbi +0 -3
  22. data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
  23. data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
  24. data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
  25. data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
  26. data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
  27. data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
  28. data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
  29. data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +539 -510
  30. data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
  31. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
  32. data/rbi/context_dev/models.rbi +9 -24
  33. data/rbi/context_dev/resources/brand.rbi +0 -35
  34. data/rbi/context_dev/resources/monitors.rbi +24 -0
  35. data/rbi/context_dev/resources/web.rbi +135 -654
  36. data/sig/context_dev/client.rbs +0 -2
  37. data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
  38. data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
  39. data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
  40. data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
  41. data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
  42. data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
  43. data/sig/context_dev/models/web_scrape_params.rbs +834 -0
  44. data/sig/context_dev/models/web_scrape_response.rbs +552 -0
  45. data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
  46. data/sig/context_dev/models.rbs +8 -22
  47. data/sig/context_dev/resources/brand.rbs +0 -9
  48. data/sig/context_dev/resources/monitors.rbs +11 -0
  49. data/sig/context_dev/resources/web.rbs +30 -128
  50. metadata +26 -71
  51. data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
  52. data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
  53. data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
  54. data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
  55. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
  56. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
  57. data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
  58. data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
  59. data/lib/context_dev/models/web_extract_params.rb +0 -419
  60. data/lib/context_dev/models/web_extract_response.rb +0 -287
  61. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
  62. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
  63. data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
  64. data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
  65. data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
  66. data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
  67. data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
  68. data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
  69. data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
  70. data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
  71. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
  72. data/lib/context_dev/resources/ai.rb +0 -71
  73. data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
  74. data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
  75. data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
  76. data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
  77. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
  78. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
  79. data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
  80. data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
  81. data/rbi/context_dev/models/web_extract_params.rbi +0 -781
  82. data/rbi/context_dev/models/web_extract_response.rbi +0 -512
  83. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
  84. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
  85. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
  86. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
  87. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
  88. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
  89. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
  90. data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
  91. data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
  92. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
  93. data/rbi/context_dev/resources/ai.rbi +0 -63
  94. data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
  95. data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
  96. data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
  97. data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
  98. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
  99. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
  100. data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
  101. data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
  102. data/sig/context_dev/models/web_extract_params.rbs +0 -324
  103. data/sig/context_dev/models/web_extract_response.rbs +0 -239
  104. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
  105. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
  106. data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
  107. data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
  108. data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
  109. data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
  110. data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
  111. data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
  112. data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
  113. data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
  114. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
  115. data/sig/context_dev/resources/ai.rbs +0 -21
@@ -1,332 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class WebWebScrapeScreenshotResponse < ContextDev::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- ContextDev::Models::WebWebScrapeScreenshotResponse,
10
- ContextDev::Internal::AnyHash
11
- )
12
- end
13
-
14
- # Cache outcome for this response. Composite responses are hits only when every
15
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
16
- # oldest contributing hit.
17
- sig do
18
- returns(
19
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata
20
- )
21
- end
22
- attr_reader :cache_metadata
23
-
24
- sig do
25
- params(
26
- cache_metadata:
27
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::OrHash
28
- ).void
29
- end
30
- attr_writer :cache_metadata
31
-
32
- # Height of the returned image in pixels.
33
- sig { returns(Integer) }
34
- attr_accessor :height
35
-
36
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
37
- # it when contacting support about a failed request.
38
- sig { returns(String) }
39
- attr_accessor :request_id
40
-
41
- # Public image URL for standard requests, or an in-memory data URL when ZDR is
42
- # enabled.
43
- sig { returns(String) }
44
- attr_accessor :screenshot
45
-
46
- # The requested page URL.
47
- sig { returns(String) }
48
- attr_accessor :url
49
-
50
- # Width of the returned image in pixels.
51
- sig { returns(Integer) }
52
- attr_accessor :width
53
-
54
- # How complete the returned content is. `loaded` means the page finished the waits
55
- # the request asked for. `still-loading` only occurs with
56
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
57
- # reached first, so the content reflects the DOM at that moment and late-rendering
58
- # parts may be missing. Partial results are billed at the base request cost.
59
- sig do
60
- returns(
61
- T.nilable(
62
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::TaggedSymbol
63
- )
64
- )
65
- end
66
- attr_reader :final_dom_state
67
-
68
- sig do
69
- params(
70
- final_dom_state:
71
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::OrSymbol
72
- ).void
73
- end
74
- attr_writer :final_dom_state
75
-
76
- # Credit usage, included whenever a valid API key is provided.
77
- sig do
78
- returns(
79
- T.nilable(
80
- ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata
81
- )
82
- )
83
- end
84
- attr_reader :key_metadata
85
-
86
- sig do
87
- params(
88
- key_metadata:
89
- ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata::OrHash
90
- ).void
91
- end
92
- attr_writer :key_metadata
93
-
94
- sig do
95
- params(
96
- cache_metadata:
97
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::OrHash,
98
- height: Integer,
99
- request_id: String,
100
- screenshot: String,
101
- url: String,
102
- width: Integer,
103
- final_dom_state:
104
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::OrSymbol,
105
- key_metadata:
106
- ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata::OrHash
107
- ).returns(T.attached_class)
108
- end
109
- def self.new(
110
- # Cache outcome for this response. Composite responses are hits only when every
111
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
112
- # oldest contributing hit.
113
- cache_metadata:,
114
- # Height of the returned image in pixels.
115
- height:,
116
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
117
- # it when contacting support about a failed request.
118
- request_id:,
119
- # Public image URL for standard requests, or an in-memory data URL when ZDR is
120
- # enabled.
121
- screenshot:,
122
- # The requested page URL.
123
- url:,
124
- # Width of the returned image in pixels.
125
- width:,
126
- # How complete the returned content is. `loaded` means the page finished the waits
127
- # the request asked for. `still-loading` only occurs with
128
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
129
- # reached first, so the content reflects the DOM at that moment and late-rendering
130
- # parts may be missing. Partial results are billed at the base request cost.
131
- final_dom_state: nil,
132
- # Credit usage, included whenever a valid API key is provided.
133
- key_metadata: nil
134
- )
135
- end
136
-
137
- sig do
138
- override.returns(
139
- {
140
- cache_metadata:
141
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata,
142
- height: Integer,
143
- request_id: String,
144
- screenshot: String,
145
- url: String,
146
- width: Integer,
147
- final_dom_state:
148
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::TaggedSymbol,
149
- key_metadata:
150
- ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata
151
- }
152
- )
153
- end
154
- def to_hash
155
- end
156
-
157
- class CacheMetadata < ContextDev::Internal::Type::BaseModel
158
- OrHash =
159
- T.type_alias do
160
- T.any(
161
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata,
162
- ContextDev::Internal::AnyHash
163
- )
164
- end
165
-
166
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
167
- sig { returns(Integer) }
168
- attr_accessor :age_ms
169
-
170
- # Whether the response was served from cache, required fresh work, or honored
171
- # zero-data-retention cache bypass.
172
- sig do
173
- returns(
174
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::TaggedSymbol
175
- )
176
- end
177
- attr_accessor :status
178
-
179
- # Cache outcome for this response. Composite responses are hits only when every
180
- # cache-controlled fetch contributing to the output was a hit; age_ms is the
181
- # oldest contributing hit.
182
- sig do
183
- params(
184
- age_ms: Integer,
185
- status:
186
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::OrSymbol
187
- ).returns(T.attached_class)
188
- end
189
- def self.new(
190
- # Age of the cached data in milliseconds. Zero for miss and zdr responses.
191
- age_ms:,
192
- # Whether the response was served from cache, required fresh work, or honored
193
- # zero-data-retention cache bypass.
194
- status:
195
- )
196
- end
197
-
198
- sig do
199
- override.returns(
200
- {
201
- age_ms: Integer,
202
- status:
203
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::TaggedSymbol
204
- }
205
- )
206
- end
207
- def to_hash
208
- end
209
-
210
- # Whether the response was served from cache, required fresh work, or honored
211
- # zero-data-retention cache bypass.
212
- module Status
213
- extend ContextDev::Internal::Type::Enum
214
-
215
- TaggedSymbol =
216
- T.type_alias do
217
- T.all(
218
- Symbol,
219
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status
220
- )
221
- end
222
- OrSymbol = T.type_alias { T.any(Symbol, String) }
223
-
224
- HIT =
225
- T.let(
226
- :hit,
227
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::TaggedSymbol
228
- )
229
- MISS =
230
- T.let(
231
- :miss,
232
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::TaggedSymbol
233
- )
234
- ZDR =
235
- T.let(
236
- :zdr,
237
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::TaggedSymbol
238
- )
239
-
240
- sig do
241
- override.returns(
242
- T::Array[
243
- ContextDev::Models::WebWebScrapeScreenshotResponse::CacheMetadata::Status::TaggedSymbol
244
- ]
245
- )
246
- end
247
- def self.values
248
- end
249
- end
250
- end
251
-
252
- # How complete the returned content is. `loaded` means the page finished the waits
253
- # the request asked for. `still-loading` only occurs with
254
- # timeoutOpts.behavior=return-partial: the timeoutOpts.milliseconds deadline was
255
- # reached first, so the content reflects the DOM at that moment and late-rendering
256
- # parts may be missing. Partial results are billed at the base request cost.
257
- module FinalDomState
258
- extend ContextDev::Internal::Type::Enum
259
-
260
- TaggedSymbol =
261
- T.type_alias do
262
- T.all(
263
- Symbol,
264
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState
265
- )
266
- end
267
- OrSymbol = T.type_alias { T.any(Symbol, String) }
268
-
269
- LOADED =
270
- T.let(
271
- :loaded,
272
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::TaggedSymbol
273
- )
274
- STILL_LOADING =
275
- T.let(
276
- :"still-loading",
277
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::TaggedSymbol
278
- )
279
-
280
- sig do
281
- override.returns(
282
- T::Array[
283
- ContextDev::Models::WebWebScrapeScreenshotResponse::FinalDomState::TaggedSymbol
284
- ]
285
- )
286
- end
287
- def self.values
288
- end
289
- end
290
-
291
- class KeyMetadata < ContextDev::Internal::Type::BaseModel
292
- OrHash =
293
- T.type_alias do
294
- T.any(
295
- ContextDev::Models::WebWebScrapeScreenshotResponse::KeyMetadata,
296
- ContextDev::Internal::AnyHash
297
- )
298
- end
299
-
300
- # Credits used by this request.
301
- sig { returns(Integer) }
302
- attr_accessor :credits_consumed
303
-
304
- # Credits remaining for your organization.
305
- sig { returns(Integer) }
306
- attr_accessor :credits_remaining
307
-
308
- # Credit usage, included whenever a valid API key is provided.
309
- sig do
310
- params(credits_consumed: Integer, credits_remaining: Integer).returns(
311
- T.attached_class
312
- )
313
- end
314
- def self.new(
315
- # Credits used by this request.
316
- credits_consumed:,
317
- # Credits remaining for your organization.
318
- credits_remaining:
319
- )
320
- end
321
-
322
- sig do
323
- override.returns(
324
- { credits_consumed: Integer, credits_remaining: Integer }
325
- )
326
- end
327
- def to_hash
328
- end
329
- end
330
- end
331
- end
332
- end
@@ -1,258 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Models
5
- class WebWebScrapeSitemapResponse < ContextDev::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- ContextDev::Models::WebWebScrapeSitemapResponse,
10
- ContextDev::Internal::AnyHash
11
- )
12
- end
13
-
14
- # The normalized domain that was crawled
15
- sig { returns(String) }
16
- attr_accessor :domain
17
-
18
- # Metadata about the sitemap crawl operation
19
- sig { returns(ContextDev::Models::WebWebScrapeSitemapResponse::Meta) }
20
- attr_reader :meta
21
-
22
- sig do
23
- params(
24
- meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta::OrHash
25
- ).void
26
- end
27
- attr_writer :meta
28
-
29
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
30
- # it when contacting support about a failed request.
31
- sig { returns(String) }
32
- attr_accessor :request_id
33
-
34
- # Indicates success
35
- sig do
36
- returns(
37
- ContextDev::Models::WebWebScrapeSitemapResponse::Success::TaggedBoolean
38
- )
39
- end
40
- attr_accessor :success
41
-
42
- # Discovered page URLs from the sitemap, up to `maxLinks`. When `search` is set
43
- # these are only the matching pages, most relevant first.
44
- sig { returns(T::Array[String]) }
45
- attr_accessor :urls
46
-
47
- # Credit usage, included whenever a valid API key is provided.
48
- sig do
49
- returns(
50
- T.nilable(
51
- ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata
52
- )
53
- )
54
- end
55
- attr_reader :key_metadata
56
-
57
- sig do
58
- params(
59
- key_metadata:
60
- ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata::OrHash
61
- ).void
62
- end
63
- attr_writer :key_metadata
64
-
65
- # True when timeoutOpts.behavior=return-partial returned the usable results
66
- # collected before the deadline. Partial collections are not cached as complete
67
- # results.
68
- sig { returns(T.nilable(T::Boolean)) }
69
- attr_reader :partial
70
-
71
- sig { params(partial: T::Boolean).void }
72
- attr_writer :partial
73
-
74
- sig do
75
- params(
76
- domain: String,
77
- meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta::OrHash,
78
- request_id: String,
79
- success:
80
- ContextDev::Models::WebWebScrapeSitemapResponse::Success::OrBoolean,
81
- urls: T::Array[String],
82
- key_metadata:
83
- ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata::OrHash,
84
- partial: T::Boolean
85
- ).returns(T.attached_class)
86
- end
87
- def self.new(
88
- # The normalized domain that was crawled
89
- domain:,
90
- # Metadata about the sitemap crawl operation
91
- meta:,
92
- # Unique id of this API call, also sent in the X-Request-Id response header. Quote
93
- # it when contacting support about a failed request.
94
- request_id:,
95
- # Indicates success
96
- success:,
97
- # Discovered page URLs from the sitemap, up to `maxLinks`. When `search` is set
98
- # these are only the matching pages, most relevant first.
99
- urls:,
100
- # Credit usage, included whenever a valid API key is provided.
101
- key_metadata: nil,
102
- # True when timeoutOpts.behavior=return-partial returned the usable results
103
- # collected before the deadline. Partial collections are not cached as complete
104
- # results.
105
- partial: nil
106
- )
107
- end
108
-
109
- sig do
110
- override.returns(
111
- {
112
- domain: String,
113
- meta: ContextDev::Models::WebWebScrapeSitemapResponse::Meta,
114
- request_id: String,
115
- success:
116
- ContextDev::Models::WebWebScrapeSitemapResponse::Success::TaggedBoolean,
117
- urls: T::Array[String],
118
- key_metadata:
119
- ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata,
120
- partial: T::Boolean
121
- }
122
- )
123
- end
124
- def to_hash
125
- end
126
-
127
- class Meta < ContextDev::Internal::Type::BaseModel
128
- OrHash =
129
- T.type_alias do
130
- T.any(
131
- ContextDev::Models::WebWebScrapeSitemapResponse::Meta,
132
- ContextDev::Internal::AnyHash
133
- )
134
- end
135
-
136
- # Number of errors encountered during crawling
137
- sig { returns(Integer) }
138
- attr_accessor :errors
139
-
140
- # Total number of sitemap files discovered
141
- sig { returns(Integer) }
142
- attr_accessor :sitemaps_discovered
143
-
144
- # Number of sitemap files successfully fetched and parsed
145
- sig { returns(Integer) }
146
- attr_accessor :sitemaps_fetched
147
-
148
- # Number of sitemap files skipped (due to errors, timeouts, or limits)
149
- sig { returns(Integer) }
150
- attr_accessor :sitemaps_skipped
151
-
152
- # Metadata about the sitemap crawl operation
153
- sig do
154
- params(
155
- errors: Integer,
156
- sitemaps_discovered: Integer,
157
- sitemaps_fetched: Integer,
158
- sitemaps_skipped: Integer
159
- ).returns(T.attached_class)
160
- end
161
- def self.new(
162
- # Number of errors encountered during crawling
163
- errors:,
164
- # Total number of sitemap files discovered
165
- sitemaps_discovered:,
166
- # Number of sitemap files successfully fetched and parsed
167
- sitemaps_fetched:,
168
- # Number of sitemap files skipped (due to errors, timeouts, or limits)
169
- sitemaps_skipped:
170
- )
171
- end
172
-
173
- sig do
174
- override.returns(
175
- {
176
- errors: Integer,
177
- sitemaps_discovered: Integer,
178
- sitemaps_fetched: Integer,
179
- sitemaps_skipped: Integer
180
- }
181
- )
182
- end
183
- def to_hash
184
- end
185
- end
186
-
187
- # Indicates success
188
- module Success
189
- extend ContextDev::Internal::Type::Enum
190
-
191
- TaggedBoolean =
192
- T.type_alias do
193
- T.all(
194
- T::Boolean,
195
- ContextDev::Models::WebWebScrapeSitemapResponse::Success
196
- )
197
- end
198
- OrBoolean = T.type_alias { T::Boolean }
199
-
200
- TRUE =
201
- T.let(
202
- true,
203
- ContextDev::Models::WebWebScrapeSitemapResponse::Success::TaggedBoolean
204
- )
205
-
206
- sig do
207
- override.returns(
208
- T::Array[
209
- ContextDev::Models::WebWebScrapeSitemapResponse::Success::TaggedBoolean
210
- ]
211
- )
212
- end
213
- def self.values
214
- end
215
- end
216
-
217
- class KeyMetadata < ContextDev::Internal::Type::BaseModel
218
- OrHash =
219
- T.type_alias do
220
- T.any(
221
- ContextDev::Models::WebWebScrapeSitemapResponse::KeyMetadata,
222
- ContextDev::Internal::AnyHash
223
- )
224
- end
225
-
226
- # Credits used by this request.
227
- sig { returns(Integer) }
228
- attr_accessor :credits_consumed
229
-
230
- # Credits remaining for your organization.
231
- sig { returns(Integer) }
232
- attr_accessor :credits_remaining
233
-
234
- # Credit usage, included whenever a valid API key is provided.
235
- sig do
236
- params(credits_consumed: Integer, credits_remaining: Integer).returns(
237
- T.attached_class
238
- )
239
- end
240
- def self.new(
241
- # Credits used by this request.
242
- credits_consumed:,
243
- # Credits remaining for your organization.
244
- credits_remaining:
245
- )
246
- end
247
-
248
- sig do
249
- override.returns(
250
- { credits_consumed: Integer, credits_remaining: Integer }
251
- )
252
- end
253
- def to_hash
254
- end
255
- end
256
- end
257
- end
258
- end
@@ -1,63 +0,0 @@
1
- # typed: strong
2
-
3
- module ContextDev
4
- module Resources
5
- class AI
6
- # Given a single URL, determines if it is a product page and extracts the product
7
- # information.
8
- sig do
9
- params(
10
- url: String,
11
- max_age_ms: Integer,
12
- tags: T::Array[String],
13
- timeout_opts: ContextDev::AIExtractProductParams::TimeoutOpts::OrHash,
14
- zdr: ContextDev::AIExtractProductParams::Zdr::OrSymbol,
15
- request_options: ContextDev::RequestOptions::OrHash
16
- ).returns(ContextDev::Models::AIExtractProductResponse)
17
- end
18
- def extract_product(
19
- # The product page URL to extract product data from.
20
- url:,
21
- # Return a cached result if a prior scrape for the same parameters exists and is
22
- # younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
23
- # omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
24
- max_age_ms: nil,
25
- # Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
26
- tags: nil,
27
- # Optional request deadline and behavior on timeout. For GET requests, use
28
- # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
29
- # timeoutOpts object.
30
- timeout_opts: nil,
31
- # Set to enabled to bypass shared caches and omit request and response content
32
- # from retained usage logs. Asset uploads are skipped, so hosted image URLs are
33
- # omitted. Requires zero data retention to be enabled for your organization
34
- # (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED.
35
- # Successful ZDR responses include X-Context-ZDR: true.
36
- zdr: nil,
37
- request_options: {}
38
- )
39
- end
40
-
41
- # Extract product information from a brand's website. We will analyze the website
42
- # and return a list of products with details such as name, description, image,
43
- # pricing, features, and more.
44
- sig do
45
- params(
46
- body:
47
- T.any(
48
- ContextDev::AIExtractProductsParams::Body::ByDomain::OrHash,
49
- ContextDev::AIExtractProductsParams::Body::ByDirectURL::OrHash
50
- ),
51
- request_options: ContextDev::RequestOptions::OrHash
52
- ).returns(ContextDev::Models::AIExtractProductsResponse)
53
- end
54
- def extract_products(body:, request_options: {})
55
- end
56
-
57
- # @api private
58
- sig { params(client: ContextDev::Client).returns(T.attached_class) }
59
- def self.new(client:)
60
- end
61
- end
62
- end
63
- end