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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +1 -1
- data/lib/context_dev/client.rb +0 -4
- data/lib/context_dev/models/monitor_retrieve_run_params.rb +26 -0
- data/lib/context_dev/models/monitor_retrieve_run_response.rb +232 -0
- data/lib/context_dev/models/monitor_rotate_webhook_secret_params.rb +20 -0
- data/lib/context_dev/models/monitor_rotate_webhook_secret_response.rb +765 -0
- data/lib/context_dev/models/{web_web_scrape_sitemap_params.rb → web_map_urls_params.rb} +14 -14
- data/lib/context_dev/models/web_map_urls_response.rb +123 -0
- data/lib/context_dev/models/web_scrape_params.rb +906 -0
- data/lib/context_dev/models/web_scrape_response.rb +659 -0
- data/lib/context_dev/models/web_screenshot_params.rb +15 -1
- data/lib/context_dev/models/web_screenshot_response.rb +3 -3
- data/lib/context_dev/models.rb +8 -22
- data/lib/context_dev/resources/brand.rb +0 -36
- data/lib/context_dev/resources/monitors.rb +47 -0
- data/lib/context_dev/resources/web.rb +106 -486
- data/lib/context_dev/version.rb +1 -1
- data/lib/context_dev.rb +8 -23
- data/rbi/context_dev/client.rbi +0 -3
- data/rbi/context_dev/models/monitor_retrieve_run_params.rbi +46 -0
- data/rbi/context_dev/models/monitor_retrieve_run_response.rbi +452 -0
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_params.rbi +38 -0
- data/rbi/context_dev/models/monitor_rotate_webhook_secret_response.rbi +1367 -0
- data/rbi/context_dev/models/{web_web_scrape_sitemap_params.rbi → web_map_urls_params.rbi} +23 -45
- data/rbi/context_dev/models/web_map_urls_response.rbi +226 -0
- data/rbi/context_dev/models/web_scrape_params.rbi +2000 -0
- data/rbi/context_dev/models/{web_web_scrape_html_response.rbi → web_scrape_response.rbi} +539 -510
- data/rbi/context_dev/models/web_screenshot_params.rbi +23 -0
- data/rbi/context_dev/models/web_screenshot_response.rbi +4 -4
- data/rbi/context_dev/models.rbi +9 -24
- data/rbi/context_dev/resources/brand.rbi +0 -35
- data/rbi/context_dev/resources/monitors.rbi +24 -0
- data/rbi/context_dev/resources/web.rbi +135 -654
- data/sig/context_dev/client.rbs +0 -2
- data/sig/context_dev/models/monitor_retrieve_run_params.rbs +28 -0
- data/sig/context_dev/models/monitor_retrieve_run_response.rbs +182 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_params.rbs +23 -0
- data/sig/context_dev/models/monitor_rotate_webhook_secret_response.rbs +545 -0
- data/sig/context_dev/models/{web_web_scrape_sitemap_params.rbs → web_map_urls_params.rbs} +22 -22
- data/sig/context_dev/models/web_map_urls_response.rbs +125 -0
- data/sig/context_dev/models/web_scrape_params.rbs +834 -0
- data/sig/context_dev/models/web_scrape_response.rbs +552 -0
- data/sig/context_dev/models/web_screenshot_params.rbs +7 -0
- data/sig/context_dev/models.rbs +8 -22
- data/sig/context_dev/resources/brand.rbs +0 -9
- data/sig/context_dev/resources/monitors.rbs +11 -0
- data/sig/context_dev/resources/web.rbs +30 -128
- metadata +26 -71
- data/lib/context_dev/models/ai_extract_product_params.rb +0 -125
- data/lib/context_dev/models/ai_extract_product_response.rb +0 -402
- data/lib/context_dev/models/ai_extract_products_params.rb +0 -233
- data/lib/context_dev/models/ai_extract_products_response.rb +0 -370
- data/lib/context_dev/models/brand_retrieve_simplified_params.rb +0 -120
- data/lib/context_dev/models/brand_retrieve_simplified_response.rb +0 -441
- data/lib/context_dev/models/web_extract_fonts_params.rb +0 -114
- data/lib/context_dev/models/web_extract_fonts_response.rb +0 -291
- data/lib/context_dev/models/web_extract_params.rb +0 -419
- data/lib/context_dev/models/web_extract_response.rb +0 -287
- data/lib/context_dev/models/web_web_scrape_bytes_params.rb +0 -346
- data/lib/context_dev/models/web_web_scrape_bytes_response.rb +0 -135
- data/lib/context_dev/models/web_web_scrape_html_params.rb +0 -812
- data/lib/context_dev/models/web_web_scrape_html_response.rb +0 -628
- data/lib/context_dev/models/web_web_scrape_images_params.rb +0 -373
- data/lib/context_dev/models/web_web_scrape_images_response.rb +0 -409
- data/lib/context_dev/models/web_web_scrape_md_params.rb +0 -670
- data/lib/context_dev/models/web_web_scrape_md_response.rb +0 -567
- data/lib/context_dev/models/web_web_scrape_screenshot_params.rb +0 -471
- data/lib/context_dev/models/web_web_scrape_screenshot_response.rb +0 -169
- data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +0 -144
- data/lib/context_dev/resources/ai.rb +0 -71
- data/rbi/context_dev/models/ai_extract_product_params.rbi +0 -253
- data/rbi/context_dev/models/ai_extract_product_response.rbi +0 -791
- data/rbi/context_dev/models/ai_extract_products_params.rbi +0 -490
- data/rbi/context_dev/models/ai_extract_products_response.rbi +0 -718
- data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +0 -256
- data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +0 -1040
- data/rbi/context_dev/models/web_extract_fonts_params.rbi +0 -223
- data/rbi/context_dev/models/web_extract_fonts_response.rbi +0 -563
- data/rbi/context_dev/models/web_extract_params.rbi +0 -781
- data/rbi/context_dev/models/web_extract_response.rbi +0 -512
- data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +0 -702
- data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +0 -238
- data/rbi/context_dev/models/web_web_scrape_html_params.rbi +0 -1690
- data/rbi/context_dev/models/web_web_scrape_images_params.rbi +0 -728
- data/rbi/context_dev/models/web_web_scrape_images_response.rbi +0 -910
- data/rbi/context_dev/models/web_web_scrape_md_params.rbi +0 -1052
- data/rbi/context_dev/models/web_web_scrape_md_response.rbi +0 -1088
- data/rbi/context_dev/models/web_web_scrape_screenshot_params.rbi +0 -1580
- data/rbi/context_dev/models/web_web_scrape_screenshot_response.rbi +0 -332
- data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +0 -258
- data/rbi/context_dev/resources/ai.rbi +0 -63
- data/sig/context_dev/models/ai_extract_product_params.rbs +0 -106
- data/sig/context_dev/models/ai_extract_product_response.rbs +0 -314
- data/sig/context_dev/models/ai_extract_products_params.rbs +0 -202
- data/sig/context_dev/models/ai_extract_products_response.rbs +0 -293
- data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +0 -104
- data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +0 -413
- data/sig/context_dev/models/web_extract_fonts_params.rbs +0 -93
- data/sig/context_dev/models/web_extract_fonts_response.rbs +0 -230
- data/sig/context_dev/models/web_extract_params.rbs +0 -324
- data/sig/context_dev/models/web_extract_response.rbs +0 -239
- data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +0 -531
- data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +0 -108
- data/sig/context_dev/models/web_web_scrape_html_params.rbs +0 -878
- data/sig/context_dev/models/web_web_scrape_html_response.rbs +0 -525
- data/sig/context_dev/models/web_web_scrape_images_params.rbs +0 -281
- data/sig/context_dev/models/web_web_scrape_images_response.rbs +0 -371
- data/sig/context_dev/models/web_web_scrape_md_params.rbs +0 -758
- data/sig/context_dev/models/web_web_scrape_md_response.rbs +0 -465
- data/sig/context_dev/models/web_web_scrape_screenshot_params.rbs +0 -619
- data/sig/context_dev/models/web_web_scrape_screenshot_response.rbs +0 -127
- data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +0 -117
- data/sig/context_dev/resources/ai.rbs +0 -21
|
@@ -1,490 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module ContextDev
|
|
4
|
-
module Models
|
|
5
|
-
class AIExtractProductsParams < ContextDev::Internal::Type::BaseModel
|
|
6
|
-
extend ContextDev::Internal::Type::RequestParameters::Converter
|
|
7
|
-
include ContextDev::Internal::Type::RequestParameters
|
|
8
|
-
|
|
9
|
-
OrHash =
|
|
10
|
-
T.type_alias do
|
|
11
|
-
T.any(
|
|
12
|
-
ContextDev::AIExtractProductsParams,
|
|
13
|
-
ContextDev::Internal::AnyHash
|
|
14
|
-
)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
sig do
|
|
18
|
-
returns(
|
|
19
|
-
T.any(
|
|
20
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain,
|
|
21
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL
|
|
22
|
-
)
|
|
23
|
-
)
|
|
24
|
-
end
|
|
25
|
-
attr_accessor :body
|
|
26
|
-
|
|
27
|
-
sig do
|
|
28
|
-
params(
|
|
29
|
-
body:
|
|
30
|
-
T.any(
|
|
31
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::OrHash,
|
|
32
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::OrHash
|
|
33
|
-
),
|
|
34
|
-
request_options: ContextDev::RequestOptions::OrHash
|
|
35
|
-
).returns(T.attached_class)
|
|
36
|
-
end
|
|
37
|
-
def self.new(body:, request_options: {})
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
sig do
|
|
41
|
-
override.returns(
|
|
42
|
-
{
|
|
43
|
-
body:
|
|
44
|
-
T.any(
|
|
45
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain,
|
|
46
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL
|
|
47
|
-
),
|
|
48
|
-
request_options: ContextDev::RequestOptions
|
|
49
|
-
}
|
|
50
|
-
)
|
|
51
|
-
end
|
|
52
|
-
def to_hash
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
module Body
|
|
56
|
-
extend ContextDev::Internal::Type::Union
|
|
57
|
-
|
|
58
|
-
Variants =
|
|
59
|
-
T.type_alias do
|
|
60
|
-
T.any(
|
|
61
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain,
|
|
62
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL
|
|
63
|
-
)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
class ByDomain < ContextDev::Internal::Type::BaseModel
|
|
67
|
-
OrHash =
|
|
68
|
-
T.type_alias do
|
|
69
|
-
T.any(
|
|
70
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain,
|
|
71
|
-
ContextDev::Internal::AnyHash
|
|
72
|
-
)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# The domain name to analyze.
|
|
76
|
-
sig { returns(String) }
|
|
77
|
-
attr_accessor :domain
|
|
78
|
-
|
|
79
|
-
# Return a cached result if a prior scrape for the same parameters exists and is
|
|
80
|
-
# younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
|
|
81
|
-
# omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
|
|
82
|
-
sig { returns(T.nilable(Integer)) }
|
|
83
|
-
attr_reader :max_age_ms
|
|
84
|
-
|
|
85
|
-
sig { params(max_age_ms: Integer).void }
|
|
86
|
-
attr_writer :max_age_ms
|
|
87
|
-
|
|
88
|
-
# Maximum number of products to extract.
|
|
89
|
-
sig { returns(T.nilable(Integer)) }
|
|
90
|
-
attr_reader :max_products
|
|
91
|
-
|
|
92
|
-
sig { params(max_products: Integer).void }
|
|
93
|
-
attr_writer :max_products
|
|
94
|
-
|
|
95
|
-
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
96
|
-
sig { returns(T.nilable(T::Array[String])) }
|
|
97
|
-
attr_reader :tags
|
|
98
|
-
|
|
99
|
-
sig { params(tags: T::Array[String]).void }
|
|
100
|
-
attr_writer :tags
|
|
101
|
-
|
|
102
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
103
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
104
|
-
# timeoutOpts object.
|
|
105
|
-
sig do
|
|
106
|
-
returns(
|
|
107
|
-
T.nilable(
|
|
108
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts
|
|
109
|
-
)
|
|
110
|
-
)
|
|
111
|
-
end
|
|
112
|
-
attr_reader :timeout_opts
|
|
113
|
-
|
|
114
|
-
sig do
|
|
115
|
-
params(
|
|
116
|
-
timeout_opts:
|
|
117
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::OrHash
|
|
118
|
-
).void
|
|
119
|
-
end
|
|
120
|
-
attr_writer :timeout_opts
|
|
121
|
-
|
|
122
|
-
sig do
|
|
123
|
-
params(
|
|
124
|
-
domain: String,
|
|
125
|
-
max_age_ms: Integer,
|
|
126
|
-
max_products: Integer,
|
|
127
|
-
tags: T::Array[String],
|
|
128
|
-
timeout_opts:
|
|
129
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::OrHash
|
|
130
|
-
).returns(T.attached_class)
|
|
131
|
-
end
|
|
132
|
-
def self.new(
|
|
133
|
-
# The domain name to analyze.
|
|
134
|
-
domain:,
|
|
135
|
-
# Return a cached result if a prior scrape for the same parameters exists and is
|
|
136
|
-
# younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
|
|
137
|
-
# omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
|
|
138
|
-
max_age_ms: nil,
|
|
139
|
-
# Maximum number of products to extract.
|
|
140
|
-
max_products: nil,
|
|
141
|
-
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
142
|
-
tags: nil,
|
|
143
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
144
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
145
|
-
# timeoutOpts object.
|
|
146
|
-
timeout_opts: nil
|
|
147
|
-
)
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
sig do
|
|
151
|
-
override.returns(
|
|
152
|
-
{
|
|
153
|
-
domain: String,
|
|
154
|
-
max_age_ms: Integer,
|
|
155
|
-
max_products: Integer,
|
|
156
|
-
tags: T::Array[String],
|
|
157
|
-
timeout_opts:
|
|
158
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts
|
|
159
|
-
}
|
|
160
|
-
)
|
|
161
|
-
end
|
|
162
|
-
def to_hash
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
class TimeoutOpts < ContextDev::Internal::Type::BaseModel
|
|
166
|
-
OrHash =
|
|
167
|
-
T.type_alias do
|
|
168
|
-
T.any(
|
|
169
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts,
|
|
170
|
-
ContextDev::Internal::AnyHash
|
|
171
|
-
)
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
175
|
-
sig { returns(Integer) }
|
|
176
|
-
attr_accessor :milliseconds
|
|
177
|
-
|
|
178
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
179
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
180
|
-
# available, the request still fails without charging credits. Partial results are
|
|
181
|
-
# not cached as complete results.
|
|
182
|
-
sig do
|
|
183
|
-
returns(
|
|
184
|
-
T.nilable(
|
|
185
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
186
|
-
)
|
|
187
|
-
)
|
|
188
|
-
end
|
|
189
|
-
attr_reader :behavior
|
|
190
|
-
|
|
191
|
-
sig do
|
|
192
|
-
params(
|
|
193
|
-
behavior:
|
|
194
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
195
|
-
).void
|
|
196
|
-
end
|
|
197
|
-
attr_writer :behavior
|
|
198
|
-
|
|
199
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
200
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
201
|
-
# timeoutOpts object.
|
|
202
|
-
sig do
|
|
203
|
-
params(
|
|
204
|
-
milliseconds: Integer,
|
|
205
|
-
behavior:
|
|
206
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
207
|
-
).returns(T.attached_class)
|
|
208
|
-
end
|
|
209
|
-
def self.new(
|
|
210
|
-
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
211
|
-
milliseconds:,
|
|
212
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
213
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
214
|
-
# available, the request still fails without charging credits. Partial results are
|
|
215
|
-
# not cached as complete results.
|
|
216
|
-
behavior: nil
|
|
217
|
-
)
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
sig do
|
|
221
|
-
override.returns(
|
|
222
|
-
{
|
|
223
|
-
milliseconds: Integer,
|
|
224
|
-
behavior:
|
|
225
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::OrSymbol
|
|
226
|
-
}
|
|
227
|
-
)
|
|
228
|
-
end
|
|
229
|
-
def to_hash
|
|
230
|
-
end
|
|
231
|
-
|
|
232
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
233
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
234
|
-
# available, the request still fails without charging credits. Partial results are
|
|
235
|
-
# not cached as complete results.
|
|
236
|
-
module Behavior
|
|
237
|
-
extend ContextDev::Internal::Type::Enum
|
|
238
|
-
|
|
239
|
-
TaggedSymbol =
|
|
240
|
-
T.type_alias do
|
|
241
|
-
T.all(
|
|
242
|
-
Symbol,
|
|
243
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior
|
|
244
|
-
)
|
|
245
|
-
end
|
|
246
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
247
|
-
|
|
248
|
-
FAIL =
|
|
249
|
-
T.let(
|
|
250
|
-
:fail,
|
|
251
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::TaggedSymbol
|
|
252
|
-
)
|
|
253
|
-
RETURN_PARTIAL =
|
|
254
|
-
T.let(
|
|
255
|
-
:"return-partial",
|
|
256
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::TaggedSymbol
|
|
257
|
-
)
|
|
258
|
-
|
|
259
|
-
sig do
|
|
260
|
-
override.returns(
|
|
261
|
-
T::Array[
|
|
262
|
-
ContextDev::AIExtractProductsParams::Body::ByDomain::TimeoutOpts::Behavior::TaggedSymbol
|
|
263
|
-
]
|
|
264
|
-
)
|
|
265
|
-
end
|
|
266
|
-
def self.values
|
|
267
|
-
end
|
|
268
|
-
end
|
|
269
|
-
end
|
|
270
|
-
end
|
|
271
|
-
|
|
272
|
-
class ByDirectURL < ContextDev::Internal::Type::BaseModel
|
|
273
|
-
OrHash =
|
|
274
|
-
T.type_alias do
|
|
275
|
-
T.any(
|
|
276
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL,
|
|
277
|
-
ContextDev::Internal::AnyHash
|
|
278
|
-
)
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
# A specific URL to use directly as the starting point for extraction without
|
|
282
|
-
# domain resolution.
|
|
283
|
-
sig { returns(String) }
|
|
284
|
-
attr_accessor :direct_url
|
|
285
|
-
|
|
286
|
-
# Return a cached result if a prior scrape for the same parameters exists and is
|
|
287
|
-
# younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
|
|
288
|
-
# omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
|
|
289
|
-
sig { returns(T.nilable(Integer)) }
|
|
290
|
-
attr_reader :max_age_ms
|
|
291
|
-
|
|
292
|
-
sig { params(max_age_ms: Integer).void }
|
|
293
|
-
attr_writer :max_age_ms
|
|
294
|
-
|
|
295
|
-
# Maximum number of products to extract.
|
|
296
|
-
sig { returns(T.nilable(Integer)) }
|
|
297
|
-
attr_reader :max_products
|
|
298
|
-
|
|
299
|
-
sig { params(max_products: Integer).void }
|
|
300
|
-
attr_writer :max_products
|
|
301
|
-
|
|
302
|
-
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
303
|
-
sig { returns(T.nilable(T::Array[String])) }
|
|
304
|
-
attr_reader :tags
|
|
305
|
-
|
|
306
|
-
sig { params(tags: T::Array[String]).void }
|
|
307
|
-
attr_writer :tags
|
|
308
|
-
|
|
309
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
310
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
311
|
-
# timeoutOpts object.
|
|
312
|
-
sig do
|
|
313
|
-
returns(
|
|
314
|
-
T.nilable(
|
|
315
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts
|
|
316
|
-
)
|
|
317
|
-
)
|
|
318
|
-
end
|
|
319
|
-
attr_reader :timeout_opts
|
|
320
|
-
|
|
321
|
-
sig do
|
|
322
|
-
params(
|
|
323
|
-
timeout_opts:
|
|
324
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::OrHash
|
|
325
|
-
).void
|
|
326
|
-
end
|
|
327
|
-
attr_writer :timeout_opts
|
|
328
|
-
|
|
329
|
-
sig do
|
|
330
|
-
params(
|
|
331
|
-
direct_url: String,
|
|
332
|
-
max_age_ms: Integer,
|
|
333
|
-
max_products: Integer,
|
|
334
|
-
tags: T::Array[String],
|
|
335
|
-
timeout_opts:
|
|
336
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::OrHash
|
|
337
|
-
).returns(T.attached_class)
|
|
338
|
-
end
|
|
339
|
-
def self.new(
|
|
340
|
-
# A specific URL to use directly as the starting point for extraction without
|
|
341
|
-
# domain resolution.
|
|
342
|
-
direct_url:,
|
|
343
|
-
# Return a cached result if a prior scrape for the same parameters exists and is
|
|
344
|
-
# younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
|
|
345
|
-
# omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
|
|
346
|
-
max_age_ms: nil,
|
|
347
|
-
# Maximum number of products to extract.
|
|
348
|
-
max_products: nil,
|
|
349
|
-
# Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
|
|
350
|
-
tags: nil,
|
|
351
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
352
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
353
|
-
# timeoutOpts object.
|
|
354
|
-
timeout_opts: nil
|
|
355
|
-
)
|
|
356
|
-
end
|
|
357
|
-
|
|
358
|
-
sig do
|
|
359
|
-
override.returns(
|
|
360
|
-
{
|
|
361
|
-
direct_url: String,
|
|
362
|
-
max_age_ms: Integer,
|
|
363
|
-
max_products: Integer,
|
|
364
|
-
tags: T::Array[String],
|
|
365
|
-
timeout_opts:
|
|
366
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts
|
|
367
|
-
}
|
|
368
|
-
)
|
|
369
|
-
end
|
|
370
|
-
def to_hash
|
|
371
|
-
end
|
|
372
|
-
|
|
373
|
-
class TimeoutOpts < ContextDev::Internal::Type::BaseModel
|
|
374
|
-
OrHash =
|
|
375
|
-
T.type_alias do
|
|
376
|
-
T.any(
|
|
377
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts,
|
|
378
|
-
ContextDev::Internal::AnyHash
|
|
379
|
-
)
|
|
380
|
-
end
|
|
381
|
-
|
|
382
|
-
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
383
|
-
sig { returns(Integer) }
|
|
384
|
-
attr_accessor :milliseconds
|
|
385
|
-
|
|
386
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
387
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
388
|
-
# available, the request still fails without charging credits. Partial results are
|
|
389
|
-
# not cached as complete results.
|
|
390
|
-
sig do
|
|
391
|
-
returns(
|
|
392
|
-
T.nilable(
|
|
393
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
394
|
-
)
|
|
395
|
-
)
|
|
396
|
-
end
|
|
397
|
-
attr_reader :behavior
|
|
398
|
-
|
|
399
|
-
sig do
|
|
400
|
-
params(
|
|
401
|
-
behavior:
|
|
402
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
403
|
-
).void
|
|
404
|
-
end
|
|
405
|
-
attr_writer :behavior
|
|
406
|
-
|
|
407
|
-
# Optional request deadline and behavior on timeout. For GET requests, use
|
|
408
|
-
# timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
|
|
409
|
-
# timeoutOpts object.
|
|
410
|
-
sig do
|
|
411
|
-
params(
|
|
412
|
-
milliseconds: Integer,
|
|
413
|
-
behavior:
|
|
414
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
415
|
-
).returns(T.attached_class)
|
|
416
|
-
end
|
|
417
|
-
def self.new(
|
|
418
|
-
# Request deadline in milliseconds. Maximum: 300000 (5 minutes).
|
|
419
|
-
milliseconds:,
|
|
420
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
421
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
422
|
-
# available, the request still fails without charging credits. Partial results are
|
|
423
|
-
# not cached as complete results.
|
|
424
|
-
behavior: nil
|
|
425
|
-
)
|
|
426
|
-
end
|
|
427
|
-
|
|
428
|
-
sig do
|
|
429
|
-
override.returns(
|
|
430
|
-
{
|
|
431
|
-
milliseconds: Integer,
|
|
432
|
-
behavior:
|
|
433
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::OrSymbol
|
|
434
|
-
}
|
|
435
|
-
)
|
|
436
|
-
end
|
|
437
|
-
def to_hash
|
|
438
|
-
end
|
|
439
|
-
|
|
440
|
-
# What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
|
|
441
|
-
# credits. "return-partial" returns usable results collected so far; if none are
|
|
442
|
-
# available, the request still fails without charging credits. Partial results are
|
|
443
|
-
# not cached as complete results.
|
|
444
|
-
module Behavior
|
|
445
|
-
extend ContextDev::Internal::Type::Enum
|
|
446
|
-
|
|
447
|
-
TaggedSymbol =
|
|
448
|
-
T.type_alias do
|
|
449
|
-
T.all(
|
|
450
|
-
Symbol,
|
|
451
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior
|
|
452
|
-
)
|
|
453
|
-
end
|
|
454
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
455
|
-
|
|
456
|
-
FAIL =
|
|
457
|
-
T.let(
|
|
458
|
-
:fail,
|
|
459
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::TaggedSymbol
|
|
460
|
-
)
|
|
461
|
-
RETURN_PARTIAL =
|
|
462
|
-
T.let(
|
|
463
|
-
:"return-partial",
|
|
464
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::TaggedSymbol
|
|
465
|
-
)
|
|
466
|
-
|
|
467
|
-
sig do
|
|
468
|
-
override.returns(
|
|
469
|
-
T::Array[
|
|
470
|
-
ContextDev::AIExtractProductsParams::Body::ByDirectURL::TimeoutOpts::Behavior::TaggedSymbol
|
|
471
|
-
]
|
|
472
|
-
)
|
|
473
|
-
end
|
|
474
|
-
def self.values
|
|
475
|
-
end
|
|
476
|
-
end
|
|
477
|
-
end
|
|
478
|
-
end
|
|
479
|
-
|
|
480
|
-
sig do
|
|
481
|
-
override.returns(
|
|
482
|
-
T::Array[ContextDev::AIExtractProductsParams::Body::Variants]
|
|
483
|
-
)
|
|
484
|
-
end
|
|
485
|
-
def self.variants
|
|
486
|
-
end
|
|
487
|
-
end
|
|
488
|
-
end
|
|
489
|
-
end
|
|
490
|
-
end
|