webpeel 0.9.0 → 0.11.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.
- package/README.md +39 -4
- package/dist/cli-auth.d.ts +6 -0
- package/dist/cli-auth.d.ts.map +1 -1
- package/dist/cli-auth.js.map +1 -1
- package/dist/cli.js +506 -23
- package/dist/cli.js.map +1 -1
- package/dist/core/challenge-detection.d.ts.map +1 -1
- package/dist/core/challenge-detection.js +39 -6
- package/dist/core/challenge-detection.js.map +1 -1
- package/dist/core/extract-listings.d.ts.map +1 -1
- package/dist/core/extract-listings.js +167 -36
- package/dist/core/extract-listings.js.map +1 -1
- package/dist/core/fetcher.d.ts +14 -1
- package/dist/core/fetcher.d.ts.map +1 -1
- package/dist/core/fetcher.js +176 -14
- package/dist/core/fetcher.js.map +1 -1
- package/dist/core/hotel-search.d.ts +123 -0
- package/dist/core/hotel-search.d.ts.map +1 -0
- package/dist/core/hotel-search.js +383 -0
- package/dist/core/hotel-search.js.map +1 -0
- package/dist/core/llm-extract.d.ts +56 -0
- package/dist/core/llm-extract.d.ts.map +1 -0
- package/dist/core/llm-extract.js +264 -0
- package/dist/core/llm-extract.js.map +1 -0
- package/dist/core/profiles.d.ts +48 -0
- package/dist/core/profiles.d.ts.map +1 -0
- package/dist/core/profiles.js +211 -0
- package/dist/core/profiles.js.map +1 -0
- package/dist/core/schema-extraction.d.ts +67 -0
- package/dist/core/schema-extraction.d.ts.map +1 -0
- package/dist/core/schema-extraction.js +353 -0
- package/dist/core/schema-extraction.js.map +1 -0
- package/dist/core/strategies.d.ts +11 -0
- package/dist/core/strategies.d.ts.map +1 -1
- package/dist/core/strategies.js +17 -5
- package/dist/core/strategies.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +47 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-based extraction using CSS selectors.
|
|
3
|
+
*
|
|
4
|
+
* Each schema defines how to extract listings from a specific domain,
|
|
5
|
+
* inspired by Crawl4AI's JsonCssExtractionStrategy. Unlike generic
|
|
6
|
+
* auto-detection, schemas provide exact selectors for each site's DOM.
|
|
7
|
+
*
|
|
8
|
+
* @module schema-extraction
|
|
9
|
+
*/
|
|
10
|
+
import { load } from 'cheerio';
|
|
11
|
+
/* ------------------------------------------------------------------ */
|
|
12
|
+
/* Bundled schemas (hardcoded to avoid JSON import complications) */
|
|
13
|
+
/* ------------------------------------------------------------------ */
|
|
14
|
+
const BOOKING_COM_SCHEMA = {
|
|
15
|
+
name: 'Booking.com Hotel Search',
|
|
16
|
+
version: '1.0',
|
|
17
|
+
domains: ['booking.com', 'www.booking.com'],
|
|
18
|
+
urlPatterns: ['searchresults'],
|
|
19
|
+
baseSelector: "[data-testid='property-card']",
|
|
20
|
+
fields: [
|
|
21
|
+
{ name: 'title', selector: "[data-testid='title'], .sr-hotel__name, h3 a", type: 'text' },
|
|
22
|
+
{ name: 'price', selector: "[data-testid='price-and-discounted-price'], .bui-price-display__value, [data-testid='price-for-x-nights']", type: 'text', transform: 'trim' },
|
|
23
|
+
{ name: 'rating', selector: "[data-testid='review-score'] div:first-child, .bui-review-score__badge", type: 'text' },
|
|
24
|
+
{ name: 'reviewCount', selector: "[data-testid='review-score'] div:nth-child(2) div:nth-child(2), .bui-review-score__text", type: 'text' },
|
|
25
|
+
{ name: 'location', selector: "[data-testid='address'], .sr_card_address_line", type: 'text' },
|
|
26
|
+
{ name: 'link', selector: "a[data-testid='title-link'], h3 a, a.hotel_name_link", type: 'attribute', attribute: 'href' },
|
|
27
|
+
{ name: 'image', selector: "img[data-testid='image'], img.hotel_image", type: 'attribute', attribute: 'src' },
|
|
28
|
+
{ name: 'stars', selector: "[data-testid='rating-stars'] span, .bui-star-rating .bui-star-rating__star", type: 'text' },
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
const AMAZON_COM_SCHEMA = {
|
|
32
|
+
name: 'Amazon Product Search',
|
|
33
|
+
version: '1.0',
|
|
34
|
+
domains: ['amazon.com', 'www.amazon.com', 'amazon.co.uk', 'amazon.de', 'amazon.fr', 'amazon.ca'],
|
|
35
|
+
urlPatterns: ['/s\\?', '/s/'],
|
|
36
|
+
baseSelector: "[data-component-type='s-search-result']",
|
|
37
|
+
fields: [
|
|
38
|
+
{ name: 'title', selector: 'h2 a span, h2 span a span', type: 'text' },
|
|
39
|
+
{ name: 'price', selector: '.a-price .a-offscreen', type: 'text' },
|
|
40
|
+
{ name: 'originalPrice', selector: '.a-price.a-text-price .a-offscreen', type: 'text' },
|
|
41
|
+
{ name: 'rating', selector: '.a-icon-star-small .a-icon-alt, .a-icon-star-mini .a-icon-alt', type: 'text' },
|
|
42
|
+
{ name: 'reviewCount', selector: "[data-csa-c-func-deps='aui-da-a-popover'] ~ span span, .a-size-base.s-underline-text", type: 'text' },
|
|
43
|
+
{ name: 'link', selector: 'h2 a', type: 'attribute', attribute: 'href' },
|
|
44
|
+
{ name: 'image', selector: '.s-image', type: 'attribute', attribute: 'src' },
|
|
45
|
+
{ name: 'sponsored', selector: '.puis-sponsored-label-text', type: 'exists' },
|
|
46
|
+
{ name: 'asin', selector: '', type: 'attribute', attribute: 'data-asin' },
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
const EBAY_COM_SCHEMA = {
|
|
50
|
+
name: 'eBay Search Results',
|
|
51
|
+
version: '1.0',
|
|
52
|
+
domains: ['ebay.com', 'www.ebay.com'],
|
|
53
|
+
urlPatterns: ['/sch/'],
|
|
54
|
+
baseSelector: '.s-item, [data-viewport]',
|
|
55
|
+
fields: [
|
|
56
|
+
{ name: 'title', selector: '.s-item__title span, .s-item__title', type: 'text' },
|
|
57
|
+
{ name: 'price', selector: '.s-item__price', type: 'text' },
|
|
58
|
+
{ name: 'link', selector: '.s-item__link, a.s-item__link', type: 'attribute', attribute: 'href' },
|
|
59
|
+
{ name: 'image', selector: '.s-item__image-wrapper img, .s-item__image img', type: 'attribute', attribute: 'src' },
|
|
60
|
+
{ name: 'condition', selector: '.SECONDARY_INFO', type: 'text' },
|
|
61
|
+
{ name: 'shipping', selector: '.s-item__shipping, .s-item__freeXDays', type: 'text' },
|
|
62
|
+
{ name: 'seller', selector: '.s-item__seller-info-text', type: 'text' },
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
const YELP_COM_SCHEMA = {
|
|
66
|
+
name: 'Yelp Business Search',
|
|
67
|
+
version: '1.0',
|
|
68
|
+
domains: ['yelp.com', 'www.yelp.com'],
|
|
69
|
+
urlPatterns: ['/search'],
|
|
70
|
+
baseSelector: "[data-testid='serp-ia-card'], li.border-color--default",
|
|
71
|
+
fields: [
|
|
72
|
+
{ name: 'title', selector: "a[href*='/biz/'] span, h3 a span", type: 'text' },
|
|
73
|
+
{ name: 'rating', selector: "[aria-label*='star rating'], .i-stars", type: 'attribute', attribute: 'aria-label' },
|
|
74
|
+
{ name: 'reviewCount', selector: ".reviewCount, span[class*='css-']", type: 'text' },
|
|
75
|
+
{ name: 'price', selector: '.priceRange, span.priceRange', type: 'text' },
|
|
76
|
+
{ name: 'category', selector: ".priceCategory span, p[class*='css-'] a", type: 'text' },
|
|
77
|
+
{ name: 'link', selector: "a[href*='/biz/']", type: 'attribute', attribute: 'href' },
|
|
78
|
+
{ name: 'address', selector: "address, span[class*='css-']", type: 'text' },
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
const WALMART_COM_SCHEMA = {
|
|
82
|
+
name: 'Walmart Product Search',
|
|
83
|
+
version: '1.0',
|
|
84
|
+
domains: ['walmart.com', 'www.walmart.com'],
|
|
85
|
+
urlPatterns: ['/search'],
|
|
86
|
+
baseSelector: "[data-testid='list-view'] > div, [data-item-id]",
|
|
87
|
+
fields: [
|
|
88
|
+
{ name: 'title', selector: "a[link-identifier] span, [data-automation-id='product-title']", type: 'text' },
|
|
89
|
+
{ name: 'price', selector: "[data-automation-id='product-price'] .f2, [itemprop='price']", type: 'text' },
|
|
90
|
+
{ name: 'rating', selector: "[data-testid='product-ratings'] .w_iUH7, .stars-reviews-count", type: 'text' },
|
|
91
|
+
{ name: 'link', selector: "a[link-identifier], a[href*='/ip/']", type: 'attribute', attribute: 'href' },
|
|
92
|
+
{ name: 'image', selector: "img[data-testid='productTileImage'], img[loading]", type: 'attribute', attribute: 'src' },
|
|
93
|
+
{ name: 'seller', selector: "[data-automation-id='fulfillment-badge']", type: 'text' },
|
|
94
|
+
],
|
|
95
|
+
};
|
|
96
|
+
const HACKERNEWS_SCHEMA = {
|
|
97
|
+
name: 'Hacker News',
|
|
98
|
+
version: '1.0',
|
|
99
|
+
domains: ['news.ycombinator.com'],
|
|
100
|
+
baseSelector: 'tr.athing',
|
|
101
|
+
fields: [
|
|
102
|
+
{ name: 'title', selector: '.titleline a', type: 'text' },
|
|
103
|
+
{ name: 'link', selector: '.titleline a', type: 'attribute', attribute: 'href' },
|
|
104
|
+
{ name: 'rank', selector: '.rank', type: 'text' },
|
|
105
|
+
{ name: 'site', selector: '.sitestr', type: 'text' },
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
const EXPEDIA_COM_SCHEMA = {
|
|
109
|
+
name: 'Expedia Hotel Search',
|
|
110
|
+
version: '1.0',
|
|
111
|
+
domains: ['expedia.com', 'www.expedia.com'],
|
|
112
|
+
urlPatterns: ['Hotel-Search', 'hotel-search'],
|
|
113
|
+
baseSelector: "[data-stid='property-listing'], li.uitk-spacing[class*='uitk-spacing'], [data-stid='lodging-card-responsive']",
|
|
114
|
+
fields: [
|
|
115
|
+
{ name: 'title', selector: "[data-stid='content-hotel-title'], .uitk-heading-5, .uitk-heading-6, h3[class*='uitk-heading']", type: 'text' },
|
|
116
|
+
{ name: 'price', selector: "[data-stid='price-summary'] .uitk-type-500, [data-stid='price-summary-message-total'], .uitk-type-500", type: 'text', transform: 'trim' },
|
|
117
|
+
{ name: 'rating', selector: "[data-stid='star-rating-msg'], .uitk-badge-base, [aria-label*='out of']", type: 'text' },
|
|
118
|
+
{ name: 'reviewCount', selector: "[data-stid='review-info-text'], .uitk-type-200", type: 'text' },
|
|
119
|
+
{ name: 'location', selector: "[data-stid='location-info'], [data-stid='neighborhood-name']", type: 'text' },
|
|
120
|
+
{ name: 'link', selector: "a[data-stid='open-hotel-information'], a[href*='/h/'], a.uitk-card-link", type: 'attribute', attribute: 'href' },
|
|
121
|
+
{ name: 'image', selector: "img[data-stid='image'], .uitk-image-media img", type: 'attribute', attribute: 'src' },
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
/** All bundled schemas in priority order */
|
|
125
|
+
const BUNDLED_SCHEMAS = [
|
|
126
|
+
BOOKING_COM_SCHEMA,
|
|
127
|
+
AMAZON_COM_SCHEMA,
|
|
128
|
+
EBAY_COM_SCHEMA,
|
|
129
|
+
YELP_COM_SCHEMA,
|
|
130
|
+
WALMART_COM_SCHEMA,
|
|
131
|
+
HACKERNEWS_SCHEMA,
|
|
132
|
+
EXPEDIA_COM_SCHEMA,
|
|
133
|
+
];
|
|
134
|
+
/* ------------------------------------------------------------------ */
|
|
135
|
+
/* Helpers */
|
|
136
|
+
/* ------------------------------------------------------------------ */
|
|
137
|
+
/**
|
|
138
|
+
* Apply a transform to an extracted string value.
|
|
139
|
+
*/
|
|
140
|
+
function applyTransform(value, transform) {
|
|
141
|
+
if (!transform)
|
|
142
|
+
return value;
|
|
143
|
+
switch (transform) {
|
|
144
|
+
case 'trim':
|
|
145
|
+
return value.trim();
|
|
146
|
+
case 'number': {
|
|
147
|
+
const num = parseFloat(value.replace(/[^\d.]/g, ''));
|
|
148
|
+
return isNaN(num) ? value : num;
|
|
149
|
+
}
|
|
150
|
+
case 'stripCurrency':
|
|
151
|
+
return value.replace(/[^\d.,]/g, '').trim();
|
|
152
|
+
default:
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Resolve a potentially relative URL against a base URL.
|
|
158
|
+
*/
|
|
159
|
+
function resolveUrl(href, baseUrl) {
|
|
160
|
+
if (!href)
|
|
161
|
+
return undefined;
|
|
162
|
+
if (href.startsWith('data:') || href.startsWith('javascript:'))
|
|
163
|
+
return undefined;
|
|
164
|
+
if (!baseUrl)
|
|
165
|
+
return href;
|
|
166
|
+
try {
|
|
167
|
+
return new URL(href, baseUrl).href;
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
return href;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Extract a single field value from a cheerio element.
|
|
175
|
+
*/
|
|
176
|
+
function extractFieldValue($, $el, field, baseUrl) {
|
|
177
|
+
// For empty selector on attribute type, read from the base element itself
|
|
178
|
+
const useBaseEl = field.selector === '' || field.selector.trim() === '';
|
|
179
|
+
if (field.multiple && !useBaseEl) {
|
|
180
|
+
// Collect all matches
|
|
181
|
+
const results = [];
|
|
182
|
+
$el.find(field.selector).each((_, el) => {
|
|
183
|
+
const $match = $(el);
|
|
184
|
+
let val;
|
|
185
|
+
switch (field.type) {
|
|
186
|
+
case 'text':
|
|
187
|
+
val = $match.text().trim();
|
|
188
|
+
break;
|
|
189
|
+
case 'attribute':
|
|
190
|
+
val = field.attribute ? ($match.attr(field.attribute) ?? undefined) : undefined;
|
|
191
|
+
if (field.attribute === 'href' || field.attribute === 'src') {
|
|
192
|
+
val = resolveUrl(val, baseUrl);
|
|
193
|
+
}
|
|
194
|
+
break;
|
|
195
|
+
case 'html':
|
|
196
|
+
val = $match.html() ?? undefined;
|
|
197
|
+
break;
|
|
198
|
+
case 'exists':
|
|
199
|
+
// not meaningful for multiple
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
if (val !== undefined && val !== '')
|
|
203
|
+
results.push(val);
|
|
204
|
+
});
|
|
205
|
+
return results.length > 0 ? results : undefined;
|
|
206
|
+
}
|
|
207
|
+
// Single match mode
|
|
208
|
+
const $target = useBaseEl ? $el : $el.find(field.selector).first();
|
|
209
|
+
switch (field.type) {
|
|
210
|
+
case 'exists':
|
|
211
|
+
return useBaseEl ? true : $el.find(field.selector).length > 0;
|
|
212
|
+
case 'text': {
|
|
213
|
+
if (!useBaseEl && $target.length === 0)
|
|
214
|
+
return undefined;
|
|
215
|
+
const text = $target.text().trim();
|
|
216
|
+
if (text === '')
|
|
217
|
+
return undefined;
|
|
218
|
+
const transformed = applyTransform(text, field.transform);
|
|
219
|
+
return transformed;
|
|
220
|
+
}
|
|
221
|
+
case 'attribute': {
|
|
222
|
+
if (!field.attribute)
|
|
223
|
+
return undefined;
|
|
224
|
+
const attrVal = $target.attr(field.attribute) ?? undefined;
|
|
225
|
+
if (attrVal === undefined)
|
|
226
|
+
return undefined;
|
|
227
|
+
if (field.attribute === 'href' || field.attribute === 'src') {
|
|
228
|
+
const resolved = resolveUrl(attrVal, baseUrl);
|
|
229
|
+
if (!resolved)
|
|
230
|
+
return undefined;
|
|
231
|
+
return applyTransform(resolved, field.transform);
|
|
232
|
+
}
|
|
233
|
+
return applyTransform(attrVal, field.transform);
|
|
234
|
+
}
|
|
235
|
+
case 'html': {
|
|
236
|
+
if (!useBaseEl && $target.length === 0)
|
|
237
|
+
return undefined;
|
|
238
|
+
return $target.html() ?? undefined;
|
|
239
|
+
}
|
|
240
|
+
default:
|
|
241
|
+
return undefined;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/* ------------------------------------------------------------------ */
|
|
245
|
+
/* Public API */
|
|
246
|
+
/* ------------------------------------------------------------------ */
|
|
247
|
+
/**
|
|
248
|
+
* Load all bundled schemas.
|
|
249
|
+
*/
|
|
250
|
+
export function loadBundledSchemas() {
|
|
251
|
+
return [...BUNDLED_SCHEMAS];
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Find a matching schema for a given URL.
|
|
255
|
+
*
|
|
256
|
+
* Matches by domain first, then optionally by URL patterns (regex).
|
|
257
|
+
* Returns the first matching schema or null.
|
|
258
|
+
*/
|
|
259
|
+
export function findSchemaForUrl(url) {
|
|
260
|
+
let parsed;
|
|
261
|
+
try {
|
|
262
|
+
parsed = new URL(url);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
const hostname = parsed.hostname.toLowerCase();
|
|
268
|
+
const fullUrl = url;
|
|
269
|
+
for (const schema of BUNDLED_SCHEMAS) {
|
|
270
|
+
// Check domain match
|
|
271
|
+
const domainMatch = schema.domains.some(domain => {
|
|
272
|
+
const d = domain.toLowerCase();
|
|
273
|
+
return hostname === d || hostname.endsWith('.' + d) || d.endsWith('.' + hostname);
|
|
274
|
+
});
|
|
275
|
+
if (!domainMatch)
|
|
276
|
+
continue;
|
|
277
|
+
// If no urlPatterns, domain match is enough
|
|
278
|
+
if (!schema.urlPatterns || schema.urlPatterns.length === 0) {
|
|
279
|
+
return schema;
|
|
280
|
+
}
|
|
281
|
+
// Check URL patterns against the full URL
|
|
282
|
+
const patternMatch = schema.urlPatterns.some(pattern => {
|
|
283
|
+
try {
|
|
284
|
+
return new RegExp(pattern).test(fullUrl);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
if (patternMatch)
|
|
291
|
+
return schema;
|
|
292
|
+
}
|
|
293
|
+
return null;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Extract listings from HTML using a schema's CSS selectors.
|
|
297
|
+
*
|
|
298
|
+
* @param html - Raw HTML string to parse
|
|
299
|
+
* @param schema - Extraction schema to use
|
|
300
|
+
* @param baseUrl - Optional base URL for resolving relative links
|
|
301
|
+
* @returns Array of extracted items (may be empty)
|
|
302
|
+
*/
|
|
303
|
+
export function extractWithSchema(html, schema, baseUrl) {
|
|
304
|
+
if (!html || html.trim().length === 0)
|
|
305
|
+
return [];
|
|
306
|
+
const $ = load(html);
|
|
307
|
+
const items = [];
|
|
308
|
+
// Find the title/name field to use for filtering empty items
|
|
309
|
+
const titleFieldName = schema.fields.find(f => f.name === 'title' || f.name === 'name')?.name;
|
|
310
|
+
$(schema.baseSelector).each((_, el) => {
|
|
311
|
+
const $el = $(el);
|
|
312
|
+
const item = {};
|
|
313
|
+
for (const field of schema.fields) {
|
|
314
|
+
const value = extractFieldValue($, $el, field, baseUrl);
|
|
315
|
+
if (value !== undefined) {
|
|
316
|
+
item[field.name] = value;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
// Clean title/name field: strip common junk suffixes (e.g., "Opens in new window")
|
|
320
|
+
if (titleFieldName !== undefined && typeof item[titleFieldName] === 'string') {
|
|
321
|
+
let title = item[titleFieldName];
|
|
322
|
+
// Strip "Opens in (a) new window/tab" variants
|
|
323
|
+
title = title.replace(/\s*Opens?\s+in\s+(?:a\s+)?new\s+(?:window|tab)(?:\s+or\s+(?:window|tab))?/gi, '');
|
|
324
|
+
// Strip "New Listing", "Sponsored", "Ad" prefixes
|
|
325
|
+
title = title.replace(/^(?:New\s+Listing|Sponsored|Ad)\s*[-–—:·]?\s*/i, '');
|
|
326
|
+
item[titleFieldName] = title.trim();
|
|
327
|
+
}
|
|
328
|
+
// Skip items with no title/name (likely empty/phantom elements)
|
|
329
|
+
if (titleFieldName !== undefined) {
|
|
330
|
+
const titleVal = item[titleFieldName];
|
|
331
|
+
if (!titleVal || (typeof titleVal === 'string' && titleVal.trim() === '')) {
|
|
332
|
+
return; // skip
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
// Skip completely empty items
|
|
336
|
+
if (Object.keys(item).length === 0)
|
|
337
|
+
return;
|
|
338
|
+
items.push(item);
|
|
339
|
+
});
|
|
340
|
+
// Deduplicate: remove items with identical title + price (common with nested selectors)
|
|
341
|
+
if (titleFieldName) {
|
|
342
|
+
const seen = new Set();
|
|
343
|
+
return items.filter(item => {
|
|
344
|
+
const key = `${String(item[titleFieldName] ?? '')}|${String(item.price ?? '')}`;
|
|
345
|
+
if (seen.has(key))
|
|
346
|
+
return false;
|
|
347
|
+
seen.add(key);
|
|
348
|
+
return true;
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
return items;
|
|
352
|
+
}
|
|
353
|
+
//# sourceMappingURL=schema-extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-extraction.js","sourceRoot":"","sources":["../../src/core/schema-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAiC,MAAM,SAAS,CAAC;AA+C9D,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,MAAM,kBAAkB,GAAqB;IAC3C,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC3C,WAAW,EAAE,CAAC,eAAe,CAAC;IAC9B,YAAY,EAAE,+BAA+B;IAC7C,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;QACzF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,2GAA2G,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;QACzK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,wEAAwE,EAAE,IAAI,EAAE,MAAM,EAAE;QACpH,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,yFAAyF,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1I,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9F,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,sDAAsD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QACxH,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,2CAA2C,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;QAC7G,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,4EAA4E,EAAE,IAAI,EAAE,MAAM,EAAE;KACxH;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAqB;IAC1C,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;IAChG,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IAC7B,YAAY,EAAE,yCAAyC;IACvD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE;QACtE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE;QAClE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;QACvF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,+DAA+D,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3G,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,sFAAsF,EAAE,IAAI,EAAE,MAAM,EAAE;QACvI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QACxE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;QAC5E,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,4BAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7E,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;KAC1E;CACF,CAAC;AAEF,MAAM,eAAe,GAAqB;IACxC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;IACrC,WAAW,EAAE,CAAC,OAAO,CAAC;IACtB,YAAY,EAAE,0BAA0B;IACxC,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;QAChF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,+BAA+B,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QACjG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,gDAAgD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;QAClH,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;QAChE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;QACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE;KACxE;CACF,CAAC;AAEF,MAAM,eAAe,GAAqB;IACxC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;IACrC,WAAW,EAAE,CAAC,SAAS,CAAC;IACxB,YAAY,EAAE,wDAAwD;IACtE,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7E,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,uCAAuC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE;QACjH,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;QACpF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;QACzE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE;QACvF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QACpF,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;KAC5E;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAqB;IAC3C,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC3C,WAAW,EAAE,CAAC,SAAS,CAAC;IACxB,YAAY,EAAE,iDAAiD;IAC/D,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,+DAA+D,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1G,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,8DAA8D,EAAE,IAAI,EAAE,MAAM,EAAE;QACzG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,+DAA+D,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3G,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,qCAAqC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QACvG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,mDAAmD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;QACrH,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;KACvF;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAqB;IAC1C,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,sBAAsB,CAAC;IACjC,YAAY,EAAE,WAAW;IACzB,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE;QACzD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QAChF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;QACjD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;KACrD;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAqB;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC3C,WAAW,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;IAC7C,YAAY,EAAE,+GAA+G;IAC7H,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,gGAAgG,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3I,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,uGAAuG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;QACrK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,yEAAyE,EAAE,IAAI,EAAE,MAAM,EAAE;QACrH,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE;QACjG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,8DAA8D,EAAE,IAAI,EAAE,MAAM,EAAE;QAC5G,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,yEAAyE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;QAC3I,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,+CAA+C,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;KAClH;CACF,CAAC;AAEF,4CAA4C;AAC5C,MAAM,eAAe,GAAuB;IAC1C,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;AAEF,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,SAAmC;IACxE,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,CAAC;QACD,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAwB,EAAE,OAAgB;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IACjF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,CAAa,EACb,GAAqB,EACrB,KAAkB,EAClB,OAAgB;IAEhB,0EAA0E;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAExE,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,sBAAsB;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,GAAuB,CAAC;YAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,MAAM;oBACT,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC3B,MAAM;gBACR,KAAK,WAAW;oBACd,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChF,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;wBAC5D,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM;gBACR,KAAK,MAAM;oBACT,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;oBACjC,MAAM;gBACR,KAAK,QAAQ;oBACX,8BAA8B;oBAC9B,MAAM;YACV,CAAC;YACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAEnE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhE,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YAClC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1D,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,SAAS;gBAAE,OAAO,SAAS,CAAC;YACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;YAC3D,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC5C,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAChC,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAW,CAAC;YAC7D,CAAC;YACD,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAW,CAAC;QAC5D,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzD,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;QACrC,CAAC;QAED;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC;IAEpB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,qBAAqB;QACrB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,QAAQ,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACrD,IAAI,CAAC;gBACH,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY;YAAE,OAAO,MAAM,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,MAAwB,EACxB,OAAgB;IAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,6DAA6D;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAC7C,EAAE,IAAI,CAAC;IAER,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,IAAI,GAAkB,EAAE,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7E,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAW,CAAC;YAC3C,+CAA+C;YAC/C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,6EAA6E,EAAE,EAAE,CAAC,CAAC;YACzG,kDAAkD;YAClD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAED,gEAAgE;QAChE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,OAAO;YACjB,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,wFAAwF;IACxF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAChF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -42,6 +42,17 @@ export interface StrategyOptions {
|
|
|
42
42
|
profileDir?: string;
|
|
43
43
|
/** Launch browser in headed (visible) mode — useful for debugging and profile setup. */
|
|
44
44
|
headed?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Playwright storage state (cookies + localStorage) to inject into the browser context.
|
|
47
|
+
* Loaded from a named profile by the CLI profile system.
|
|
48
|
+
*/
|
|
49
|
+
storageState?: any;
|
|
50
|
+
/**
|
|
51
|
+
* Proxy URL for routing requests through a proxy server.
|
|
52
|
+
* Supports HTTP, HTTPS, and SOCKS5 proxies.
|
|
53
|
+
* Format: protocol://[user:pass@]host:port
|
|
54
|
+
*/
|
|
55
|
+
proxy?: string;
|
|
45
56
|
}
|
|
46
57
|
/**
|
|
47
58
|
* Smart fetch with automatic escalation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/core/strategies.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2H1D,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EACA,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,GACP,OAAO,GACP,iBAAiB,GACjB,YAAY,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/core/strategies.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2H1D,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EACA,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,GACP,OAAO,GACP,iBAAiB,GACjB,YAAY,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0HD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CA4WzB;AAID;;GAEG;AACH,OAAO,EAAE,kBAAkB,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/core/strategies.js
CHANGED
|
@@ -126,7 +126,7 @@ function prefetchDns(url) {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
async function fetchWithBrowserStrategy(url, options) {
|
|
129
|
-
const { userAgent, waitMs, timeoutMs, screenshot, screenshotFullPage, headers, cookies, actions, keepPageOpen, effectiveStealth, signal, profileDir, headed, } = options;
|
|
129
|
+
const { userAgent, waitMs, timeoutMs, screenshot, screenshotFullPage, headers, cookies, actions, keepPageOpen, effectiveStealth, signal, profileDir, headed, storageState, proxy, } = options;
|
|
130
130
|
try {
|
|
131
131
|
const result = await browserFetch(url, {
|
|
132
132
|
userAgent,
|
|
@@ -142,6 +142,8 @@ async function fetchWithBrowserStrategy(url, options) {
|
|
|
142
142
|
signal,
|
|
143
143
|
profileDir,
|
|
144
144
|
headed,
|
|
145
|
+
proxy,
|
|
146
|
+
storageState,
|
|
145
147
|
});
|
|
146
148
|
return {
|
|
147
149
|
...result,
|
|
@@ -167,6 +169,8 @@ async function fetchWithBrowserStrategy(url, options) {
|
|
|
167
169
|
signal,
|
|
168
170
|
profileDir,
|
|
169
171
|
headed,
|
|
172
|
+
storageState,
|
|
173
|
+
proxy,
|
|
170
174
|
});
|
|
171
175
|
return { ...result, method: 'stealth' };
|
|
172
176
|
}
|
|
@@ -187,6 +191,7 @@ async function fetchWithBrowserStrategy(url, options) {
|
|
|
187
191
|
signal,
|
|
188
192
|
profileDir,
|
|
189
193
|
headed,
|
|
194
|
+
proxy,
|
|
190
195
|
});
|
|
191
196
|
return { ...result, method: effectiveStealth ? 'stealth' : 'browser' };
|
|
192
197
|
}
|
|
@@ -201,7 +206,7 @@ async function fetchWithBrowserStrategy(url, options) {
|
|
|
201
206
|
* With premium hooks: SWR cache → domain intel → parallel race → escalation.
|
|
202
207
|
*/
|
|
203
208
|
export async function smartFetch(url, options = {}) {
|
|
204
|
-
const { forceBrowser = false, stealth = false, waitMs = 0, userAgent, timeoutMs = 30000, screenshot = false, screenshotFullPage = false, headers, cookies, actions, keepPageOpen = false, noCache = false, raceTimeoutMs = 2000, profileDir, headed = false, } = options;
|
|
209
|
+
const { forceBrowser = false, stealth = false, waitMs = 0, userAgent, timeoutMs = 30000, screenshot = false, screenshotFullPage = false, headers, cookies, actions, keepPageOpen = false, noCache = false, raceTimeoutMs = 2000, profileDir, headed = false, storageState, proxy, } = options;
|
|
205
210
|
const hooks = getStrategyHooks();
|
|
206
211
|
const fetchStartMs = Date.now();
|
|
207
212
|
const recordMethod = (method) => {
|
|
@@ -232,7 +237,8 @@ export async function smartFetch(url, options = {}) {
|
|
|
232
237
|
!headers &&
|
|
233
238
|
!cookies &&
|
|
234
239
|
waitMs === 0 &&
|
|
235
|
-
!userAgent
|
|
240
|
+
!userAgent &&
|
|
241
|
+
!proxy;
|
|
236
242
|
/* ---- hook-based cache check (premium) -------------------------------- */
|
|
237
243
|
if (canUseCache && hooks.checkCache) {
|
|
238
244
|
const cached = hooks.checkCache(url);
|
|
@@ -241,7 +247,7 @@ export async function smartFetch(url, options = {}) {
|
|
|
241
247
|
// Background revalidation — fire-and-forget
|
|
242
248
|
void (async () => {
|
|
243
249
|
try {
|
|
244
|
-
const fresh = await simpleFetch(url, userAgent, timeoutMs);
|
|
250
|
+
const fresh = await simpleFetch(url, userAgent, timeoutMs, undefined, undefined, proxy);
|
|
245
251
|
if (!looksLikeShellPage(fresh)) {
|
|
246
252
|
hooks.setCache?.(url, { ...fresh, method: 'simple' });
|
|
247
253
|
}
|
|
@@ -267,6 +273,10 @@ export async function smartFetch(url, options = {}) {
|
|
|
267
273
|
if (profileDir) {
|
|
268
274
|
effectiveForceBrowser = true;
|
|
269
275
|
}
|
|
276
|
+
// storageState injection requires a browser context
|
|
277
|
+
if (storageState) {
|
|
278
|
+
effectiveForceBrowser = true;
|
|
279
|
+
}
|
|
270
280
|
const browserOptions = {
|
|
271
281
|
userAgent,
|
|
272
282
|
waitMs,
|
|
@@ -280,11 +290,13 @@ export async function smartFetch(url, options = {}) {
|
|
|
280
290
|
effectiveStealth,
|
|
281
291
|
profileDir,
|
|
282
292
|
headed,
|
|
293
|
+
storageState,
|
|
294
|
+
proxy,
|
|
283
295
|
};
|
|
284
296
|
/* ---- Strategy: simple fetch (with optional race) --------------------- */
|
|
285
297
|
if (!shouldUseBrowser) {
|
|
286
298
|
const simpleAbortController = new AbortController();
|
|
287
|
-
const simplePromise = retryFetch(() => simpleFetch(url, userAgent, timeoutMs, headers, simpleAbortController.signal), 3).then((result) => {
|
|
299
|
+
const simplePromise = retryFetch(() => simpleFetch(url, userAgent, timeoutMs, headers, simpleAbortController.signal, proxy), 3).then((result) => {
|
|
288
300
|
if (looksLikeShellPage(result)) {
|
|
289
301
|
throw new BlockedError('Shell page detected. Browser rendering required.');
|
|
290
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/core/strategies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/core/strategies.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -60,7 +60,7 @@ export async function peel(url, options = {}) {
|
|
|
60
60
|
if (options.format === undefined)
|
|
61
61
|
options.format = 'markdown';
|
|
62
62
|
}
|
|
63
|
-
let { render = false, stealth = false, wait = 0, format = 'markdown', timeout = 30000, userAgent, screenshot = false, screenshotFullPage = false, selector, exclude, includeTags, excludeTags, headers, cookies, raw = false, actions, extract, maxTokens, images: extractImagesFlag = false, location: _location, stream: _stream, profileDir, headed = false, } = options;
|
|
63
|
+
let { render = false, stealth = false, wait = 0, format = 'markdown', timeout = 30000, userAgent, screenshot = false, screenshotFullPage = false, selector, exclude, includeTags, excludeTags, headers, cookies, raw = false, actions, extract, maxTokens, images: extractImagesFlag = false, location: _location, stream: _stream, profileDir, headed = false, storageState, proxy, } = options;
|
|
64
64
|
void _stream;
|
|
65
65
|
// NOTE: PDFs/DOCX are now handled via simpleFetch + document parser.
|
|
66
66
|
// No need to force browser rendering for them.
|
|
@@ -97,6 +97,8 @@ export async function peel(url, options = {}) {
|
|
|
97
97
|
keepPageOpen: needsBranding,
|
|
98
98
|
profileDir,
|
|
99
99
|
headed,
|
|
100
|
+
storageState,
|
|
101
|
+
proxy,
|
|
100
102
|
});
|
|
101
103
|
// Detect content type from the response
|
|
102
104
|
const ct = (fetchResult.contentType || '').toLowerCase();
|