webpeel 0.16.0 → 0.17.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/LICENSE +11 -657
- package/README.md +246 -325
- package/dist/cli.js +330 -73
- package/dist/cli.js.map +1 -1
- package/dist/core/browser-fetch.d.ts +12 -0
- package/dist/core/browser-fetch.d.ts.map +1 -1
- package/dist/core/browser-fetch.js +70 -17
- package/dist/core/browser-fetch.js.map +1 -1
- package/dist/core/cf-worker-proxy.d.ts +33 -0
- package/dist/core/cf-worker-proxy.d.ts.map +1 -0
- package/dist/core/cf-worker-proxy.js +88 -0
- package/dist/core/cf-worker-proxy.js.map +1 -0
- package/dist/core/chunker.d.ts +47 -0
- package/dist/core/chunker.d.ts.map +1 -0
- package/dist/core/chunker.js +250 -0
- package/dist/core/chunker.js.map +1 -0
- package/dist/core/cloak-fetch.d.ts +43 -0
- package/dist/core/cloak-fetch.d.ts.map +1 -0
- package/dist/core/cloak-fetch.js +141 -0
- package/dist/core/cloak-fetch.js.map +1 -0
- package/dist/core/crawl-checkpoint.d.ts +55 -0
- package/dist/core/crawl-checkpoint.d.ts.map +1 -0
- package/dist/core/crawl-checkpoint.js +105 -0
- package/dist/core/crawl-checkpoint.js.map +1 -0
- package/dist/core/crawler.d.ts +5 -1
- package/dist/core/crawler.d.ts.map +1 -1
- package/dist/core/crawler.js +60 -5
- package/dist/core/crawler.js.map +1 -1
- package/dist/core/cycle-fetch.d.ts +27 -0
- package/dist/core/cycle-fetch.d.ts.map +1 -0
- package/dist/core/cycle-fetch.js +99 -0
- package/dist/core/cycle-fetch.js.map +1 -0
- package/dist/core/domain-extractors.d.ts.map +1 -1
- package/dist/core/domain-extractors.js +754 -14
- package/dist/core/domain-extractors.js.map +1 -1
- package/dist/core/google-cache.d.ts +30 -0
- package/dist/core/google-cache.d.ts.map +1 -0
- package/dist/core/google-cache.js +181 -0
- package/dist/core/google-cache.js.map +1 -0
- package/dist/core/markdown.d.ts +11 -0
- package/dist/core/markdown.d.ts.map +1 -1
- package/dist/core/markdown.js +43 -0
- package/dist/core/markdown.js.map +1 -1
- package/dist/core/peel-tls.d.ts +26 -0
- package/dist/core/peel-tls.d.ts.map +1 -0
- package/dist/core/peel-tls.js +221 -0
- package/dist/core/peel-tls.js.map +1 -0
- package/dist/core/pipeline.d.ts +5 -1
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +269 -21
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/schema-postprocess.d.ts +33 -0
- package/dist/core/schema-postprocess.d.ts.map +1 -0
- package/dist/core/schema-postprocess.js +470 -0
- package/dist/core/schema-postprocess.js.map +1 -0
- package/dist/core/schema-templates.d.ts +20 -0
- package/dist/core/schema-templates.d.ts.map +1 -0
- package/dist/core/schema-templates.js +131 -0
- package/dist/core/schema-templates.js.map +1 -0
- package/dist/core/search-fallback.d.ts +28 -0
- package/dist/core/search-fallback.d.ts.map +1 -0
- package/dist/core/search-fallback.js +185 -0
- package/dist/core/search-fallback.js.map +1 -0
- package/dist/core/search-provider.d.ts +47 -4
- package/dist/core/search-provider.d.ts.map +1 -1
- package/dist/core/search-provider.js +278 -7
- package/dist/core/search-provider.js.map +1 -1
- package/dist/core/stealth-patches.d.ts +58 -0
- package/dist/core/stealth-patches.d.ts.map +1 -0
- package/dist/core/stealth-patches.js +340 -0
- package/dist/core/stealth-patches.js.map +1 -0
- package/dist/core/strategies.d.ts +20 -0
- package/dist/core/strategies.d.ts.map +1 -1
- package/dist/core/strategies.js +284 -48
- package/dist/core/strategies.js.map +1 -1
- package/dist/core/strategy-hooks.d.ts +1 -1
- package/dist/core/strategy-hooks.d.ts.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -15
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +109 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +29 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/middleware/rate-limit.d.ts +2 -1
- package/dist/server/middleware/rate-limit.d.ts.map +1 -1
- package/dist/server/middleware/rate-limit.js +24 -8
- package/dist/server/middleware/rate-limit.js.map +1 -1
- package/dist/server/routes/agent.d.ts +4 -0
- package/dist/server/routes/agent.d.ts.map +1 -1
- package/dist/server/routes/agent.js +196 -9
- package/dist/server/routes/agent.js.map +1 -1
- package/dist/server/routes/batch.js +5 -5
- package/dist/server/routes/batch.js.map +1 -1
- package/dist/server/routes/compat.d.ts.map +1 -1
- package/dist/server/routes/compat.js +1 -0
- package/dist/server/routes/compat.js.map +1 -1
- package/dist/server/routes/fetch.d.ts.map +1 -1
- package/dist/server/routes/fetch.js +60 -6
- package/dist/server/routes/fetch.js.map +1 -1
- package/dist/server/routes/mcp.d.ts.map +1 -1
- package/dist/server/routes/mcp.js +103 -2
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/routes/search.js +1 -1
- package/dist/server/routes/search.js.map +1 -1
- package/dist/types.d.ts +55 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/llms.txt +55 -125
- package/package.json +15 -1
package/dist/core/pipeline.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { createHash } from 'crypto';
|
|
8
8
|
import { smartFetch } from './strategies.js';
|
|
9
|
-
import { htmlToMarkdown, htmlToText, estimateTokens, selectContent, detectMainContent, calculateQuality, truncateToTokenBudget, filterByTags, } from './markdown.js';
|
|
9
|
+
import { htmlToMarkdown, htmlToText, cleanForAI, estimateTokens, selectContent, detectMainContent, calculateQuality, truncateToTokenBudget, filterByTags, cleanMarkdownNoise, } from './markdown.js';
|
|
10
10
|
import { pruneContent } from './content-pruner.js';
|
|
11
11
|
import { distillToBudget } from './budget.js';
|
|
12
12
|
import { extractMetadata, extractLinks, extractImages } from './metadata.js';
|
|
@@ -18,6 +18,8 @@ import { extractDomainData, getDomainExtractor } from './domain-extractors.js';
|
|
|
18
18
|
import { extractReadableContent } from './readability.js';
|
|
19
19
|
import { quickAnswer as runQuickAnswer } from './quick-answer.js';
|
|
20
20
|
import { Timer } from './timing.js';
|
|
21
|
+
import { chunkContent } from './chunker.js';
|
|
22
|
+
import { BlockedError } from '../types.js';
|
|
21
23
|
/** Create the initial PipelineContext with defaults */
|
|
22
24
|
export function createContext(url, options) {
|
|
23
25
|
return {
|
|
@@ -61,6 +63,10 @@ export function createContext(url, options) {
|
|
|
61
63
|
quality: 0,
|
|
62
64
|
// Link count — filled by parseContent() / buildResult
|
|
63
65
|
linkCount: 0,
|
|
66
|
+
// Domain API first-pass flag
|
|
67
|
+
domainApiHandled: false,
|
|
68
|
+
// Warnings accumulator
|
|
69
|
+
warnings: [],
|
|
64
70
|
};
|
|
65
71
|
}
|
|
66
72
|
// ---------------------------------------------------------------------------
|
|
@@ -202,24 +208,136 @@ export async function handleYouTube(ctx) {
|
|
|
202
208
|
export async function fetchContent(ctx) {
|
|
203
209
|
const needsBranding = ctx.options.branding && ctx.render;
|
|
204
210
|
const needsAutoScroll = !!ctx.autoScrollOpts && ctx.render;
|
|
211
|
+
// Try API-based domain extraction first (Reddit, GitHub, HN use APIs, not HTML)
|
|
212
|
+
// This avoids expensive browser fetches that often get blocked
|
|
213
|
+
if (getDomainExtractor(ctx.url)) {
|
|
214
|
+
try {
|
|
215
|
+
ctx.timer.mark('domainApiFirst');
|
|
216
|
+
const ddResult = await extractDomainData('', ctx.url);
|
|
217
|
+
ctx.timer.end('domainApiFirst');
|
|
218
|
+
if (ddResult && ddResult.cleanContent.length > 50) {
|
|
219
|
+
ctx.domainData = ddResult;
|
|
220
|
+
ctx.content = ddResult.cleanContent;
|
|
221
|
+
// Create minimal fetchResult so downstream stages don't crash
|
|
222
|
+
ctx.fetchResult = {
|
|
223
|
+
html: ddResult.cleanContent,
|
|
224
|
+
url: ctx.url,
|
|
225
|
+
status: 200,
|
|
226
|
+
contentType: 'text/html',
|
|
227
|
+
method: 'domain-api',
|
|
228
|
+
};
|
|
229
|
+
ctx.title = ddResult.structured?.title || '';
|
|
230
|
+
ctx.quality = 0.95; // High quality — structured API data
|
|
231
|
+
// Compute basic metadata so downstream stages have wordCount etc.
|
|
232
|
+
const domainWordCount = ddResult.cleanContent.split(/\s+/).filter(Boolean).length;
|
|
233
|
+
ctx.metadata = {
|
|
234
|
+
...(ctx.metadata || {}),
|
|
235
|
+
title: ddResult.structured?.title || ctx.title,
|
|
236
|
+
description: ddResult.structured?.description || ddResult.structured?.extract || '',
|
|
237
|
+
wordCount: domainWordCount,
|
|
238
|
+
language: ddResult.structured?.language || 'en',
|
|
239
|
+
};
|
|
240
|
+
ctx.domainApiHandled = true;
|
|
241
|
+
return; // Skip browser fetch entirely
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
catch (e) {
|
|
245
|
+
// Domain API failed — fall through to normal fetch
|
|
246
|
+
if (process.env.DEBUG)
|
|
247
|
+
console.debug('[webpeel]', 'domain API first-pass failed, falling back to fetch:', e instanceof Error ? e.message : e);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
205
250
|
ctx.timer.mark('fetch');
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
251
|
+
let fetchResult;
|
|
252
|
+
try {
|
|
253
|
+
fetchResult = await smartFetch(ctx.url, {
|
|
254
|
+
forceBrowser: ctx.render,
|
|
255
|
+
stealth: ctx.stealth,
|
|
256
|
+
waitMs: ctx.wait,
|
|
257
|
+
userAgent: ctx.userAgent,
|
|
258
|
+
timeoutMs: ctx.timeout,
|
|
259
|
+
screenshot: ctx.screenshot,
|
|
260
|
+
screenshotFullPage: ctx.screenshotFullPage,
|
|
261
|
+
headers: ctx.headers,
|
|
262
|
+
cookies: ctx.cookies,
|
|
263
|
+
actions: ctx.actions,
|
|
264
|
+
keepPageOpen: needsBranding || needsAutoScroll,
|
|
265
|
+
profileDir: ctx.profileDir,
|
|
266
|
+
headed: ctx.headed,
|
|
267
|
+
storageState: ctx.storageState,
|
|
268
|
+
proxy: ctx.proxy,
|
|
269
|
+
proxies: ctx.options.proxies,
|
|
270
|
+
device: ctx.options.device,
|
|
271
|
+
viewportWidth: ctx.options.viewportWidth,
|
|
272
|
+
viewportHeight: ctx.options.viewportHeight,
|
|
273
|
+
waitUntil: ctx.options.waitUntil,
|
|
274
|
+
waitSelector: ctx.options.waitSelector,
|
|
275
|
+
blockResources: ctx.options.blockResources,
|
|
276
|
+
cloaked: ctx.options.cloaked,
|
|
277
|
+
cycle: ctx.options.cycle,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
catch (fetchError) {
|
|
281
|
+
// If fetch failed but we have a domain extractor, try it as fallback
|
|
282
|
+
if (getDomainExtractor(ctx.url)) {
|
|
283
|
+
try {
|
|
284
|
+
const ddResult = await extractDomainData('', ctx.url);
|
|
285
|
+
if (ddResult && ddResult.cleanContent.length > 50) {
|
|
286
|
+
ctx.timer.end('fetch');
|
|
287
|
+
ctx.domainData = ddResult;
|
|
288
|
+
ctx.content = ddResult.cleanContent;
|
|
289
|
+
ctx.fetchResult = {
|
|
290
|
+
html: ddResult.cleanContent,
|
|
291
|
+
url: ctx.url,
|
|
292
|
+
status: 200,
|
|
293
|
+
contentType: 'text/html',
|
|
294
|
+
method: 'domain-api-fallback',
|
|
295
|
+
};
|
|
296
|
+
ctx.title = ddResult.structured?.title || '';
|
|
297
|
+
ctx.quality = 0.90;
|
|
298
|
+
const fallbackWordCount = ddResult.cleanContent.split(/\s+/).filter(Boolean).length;
|
|
299
|
+
ctx.metadata = { ...(ctx.metadata || {}), title: ddResult.structured?.title || ctx.title, wordCount: fallbackWordCount, language: 'en' };
|
|
300
|
+
ctx.domainApiHandled = true;
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
catch (e) {
|
|
305
|
+
// Domain API also failed — throw original error
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Search-as-proxy fallback for blocked requests (BlockedError before pipeline)
|
|
309
|
+
// When all fetch strategies fail with a bot-protection block, try DDG search
|
|
310
|
+
// to get the title/snippet from the search engine's cached version.
|
|
311
|
+
if (fetchError instanceof BlockedError) {
|
|
312
|
+
try {
|
|
313
|
+
const { searchFallback } = await import('./search-fallback.js');
|
|
314
|
+
const searchResult = await searchFallback(ctx.url);
|
|
315
|
+
if (searchResult.cachedContent && searchResult.cachedContent.length > 50) {
|
|
316
|
+
ctx.timer.end('fetch');
|
|
317
|
+
ctx.content = searchResult.cachedContent;
|
|
318
|
+
ctx.title = searchResult.title || ctx.title;
|
|
319
|
+
ctx.quality = 0.4;
|
|
320
|
+
ctx.warnings.push('Content retrieved from search engine cache because the original page blocked direct access. Results may be incomplete.');
|
|
321
|
+
ctx.fetchResult = {
|
|
322
|
+
html: searchResult.cachedContent,
|
|
323
|
+
url: ctx.url,
|
|
324
|
+
status: 0,
|
|
325
|
+
contentType: 'text/markdown',
|
|
326
|
+
method: 'search-fallback',
|
|
327
|
+
};
|
|
328
|
+
ctx.metadata = {
|
|
329
|
+
...(ctx.metadata || {}),
|
|
330
|
+
title: searchResult.title || ctx.title,
|
|
331
|
+
blocked: true,
|
|
332
|
+
fallbackSource: searchResult.source,
|
|
333
|
+
};
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
catch { /* Search fallback also failed — rethrow original BlockedError */ }
|
|
338
|
+
}
|
|
339
|
+
throw fetchError;
|
|
340
|
+
}
|
|
223
341
|
ctx.timer.end('fetch');
|
|
224
342
|
// Auto-scroll to load lazy content, then grab fresh HTML
|
|
225
343
|
if (needsAutoScroll && fetchResult.page) {
|
|
@@ -252,6 +370,10 @@ export async function fetchContent(ctx) {
|
|
|
252
370
|
}
|
|
253
371
|
}
|
|
254
372
|
ctx.fetchResult = fetchResult;
|
|
373
|
+
// Warn when a challenge/CAPTCHA page was detected
|
|
374
|
+
if (fetchResult.challengeDetected) {
|
|
375
|
+
ctx.warnings.push('Challenge/CAPTCHA page detected. Content may be incomplete or from a bot-detection page.');
|
|
376
|
+
}
|
|
255
377
|
}
|
|
256
378
|
// ---------------------------------------------------------------------------
|
|
257
379
|
// Stage 4: detectContentType
|
|
@@ -260,6 +382,9 @@ export async function fetchContent(ctx) {
|
|
|
260
382
|
* Detect and set ctx.contentType based on response headers and content.
|
|
261
383
|
*/
|
|
262
384
|
export function detectContentType(ctx) {
|
|
385
|
+
// Skip HTML parsing stages — domain API already provided clean content
|
|
386
|
+
if (ctx.domainApiHandled)
|
|
387
|
+
return;
|
|
263
388
|
const fetchResult = ctx.fetchResult;
|
|
264
389
|
const ct = (fetchResult.contentType || '').toLowerCase();
|
|
265
390
|
const urlLower = fetchResult.url.toLowerCase();
|
|
@@ -280,15 +405,20 @@ export function detectContentType(ctx) {
|
|
|
280
405
|
* Sets ctx.content, ctx.title, ctx.metadata, ctx.links, ctx.quality, ctx.prunedPercent.
|
|
281
406
|
*/
|
|
282
407
|
export async function parseContent(ctx) {
|
|
408
|
+
// Skip HTML parsing stages — domain API already provided clean content
|
|
409
|
+
if (ctx.domainApiHandled)
|
|
410
|
+
return;
|
|
283
411
|
const fetchResult = ctx.fetchResult;
|
|
284
412
|
const { contentType, format, fullPage, raw, selector, exclude, includeTags, excludeTags } = ctx;
|
|
285
413
|
const hasBuffer = !!fetchResult.buffer;
|
|
286
414
|
if (contentType === 'document' && hasBuffer) {
|
|
287
415
|
// Document parsing pipeline (PDF/DOCX)
|
|
416
|
+
// 'clean' maps to 'markdown' for extraction; cleanForAI is applied in buildResult
|
|
417
|
+
const docFormat = format === 'clean' ? 'markdown' : format;
|
|
288
418
|
const docResult = await extractDocumentToFormat(fetchResult.buffer, {
|
|
289
419
|
url: fetchResult.url,
|
|
290
420
|
contentType: fetchResult.contentType,
|
|
291
|
-
format,
|
|
421
|
+
format: docFormat,
|
|
292
422
|
});
|
|
293
423
|
ctx.content = docResult.content;
|
|
294
424
|
ctx.title = docResult.metadata.title;
|
|
@@ -311,6 +441,9 @@ export async function parseContent(ctx) {
|
|
|
311
441
|
case 'text':
|
|
312
442
|
ctx.content = htmlToText(liteHtml);
|
|
313
443
|
break;
|
|
444
|
+
case 'clean':
|
|
445
|
+
ctx.content = cleanForAI(htmlToMarkdown(liteHtml, { raw, prune: false }));
|
|
446
|
+
break;
|
|
314
447
|
default:
|
|
315
448
|
ctx.content = htmlToMarkdown(liteHtml, { raw, prune: false });
|
|
316
449
|
break;
|
|
@@ -434,6 +567,12 @@ export async function parseContent(ctx) {
|
|
|
434
567
|
case 'text':
|
|
435
568
|
converted = htmlToText(htmlForConvert);
|
|
436
569
|
break;
|
|
570
|
+
case 'clean': {
|
|
571
|
+
// First convert to markdown, then strip link syntax
|
|
572
|
+
const md = htmlToMarkdown(htmlForConvert, { raw, prune: false });
|
|
573
|
+
converted = cleanForAI(md);
|
|
574
|
+
break;
|
|
575
|
+
}
|
|
437
576
|
case 'markdown':
|
|
438
577
|
default:
|
|
439
578
|
// prune:false — already pruned above; avoid double-pruning in htmlToMarkdown
|
|
@@ -465,6 +604,9 @@ export async function parseContent(ctx) {
|
|
|
465
604
|
case 'text':
|
|
466
605
|
retryConverted = htmlToText(contentHtml);
|
|
467
606
|
break;
|
|
607
|
+
case 'clean':
|
|
608
|
+
retryConverted = cleanForAI(htmlToMarkdown(contentHtml, { raw, prune: false }));
|
|
609
|
+
break;
|
|
468
610
|
case 'markdown':
|
|
469
611
|
default:
|
|
470
612
|
retryConverted = htmlToMarkdown(contentHtml, { raw, prune: false });
|
|
@@ -473,6 +615,10 @@ export async function parseContent(ctx) {
|
|
|
473
615
|
ctx.timer.end('convert-retry');
|
|
474
616
|
ctx.content = retryConverted;
|
|
475
617
|
}
|
|
618
|
+
// Clean up markdown noise (empty links, excess newlines, trailing spaces)
|
|
619
|
+
if (format === 'markdown') {
|
|
620
|
+
ctx.content = cleanMarkdownNoise(ctx.content);
|
|
621
|
+
}
|
|
476
622
|
ctx.quality = calculateQuality(ctx.content, fetchResult.html);
|
|
477
623
|
}
|
|
478
624
|
else if (contentType === 'json') {
|
|
@@ -643,6 +789,7 @@ export async function postProcess(ctx) {
|
|
|
643
789
|
}
|
|
644
790
|
budgetedContent = truncated;
|
|
645
791
|
ctx.budgetFallback = true;
|
|
792
|
+
ctx.warnings.push('Content was truncated to fit budget using head truncation (BM25 distillation produced insufficient content)');
|
|
646
793
|
if (process.env.DEBUG) {
|
|
647
794
|
console.debug('[webpeel]', `budget distillation fallback: BM25 produced ${budgetedContent.length} chars (< 10% of ${originalContent.length}), using head truncation`);
|
|
648
795
|
}
|
|
@@ -651,7 +798,7 @@ export async function postProcess(ctx) {
|
|
|
651
798
|
}
|
|
652
799
|
// Domain-aware structured extraction (Twitter, Reddit, GitHub, HN)
|
|
653
800
|
// Fires when URL matches a known domain. Replaces content with clean markdown.
|
|
654
|
-
if (getDomainExtractor(fetchResult.url)) {
|
|
801
|
+
if (getDomainExtractor(fetchResult.url) && !ctx.domainApiHandled) {
|
|
655
802
|
try {
|
|
656
803
|
ctx.timer.mark('domainExtract');
|
|
657
804
|
const ddResult = await extractDomainData(fetchResult.html, fetchResult.url);
|
|
@@ -667,9 +814,63 @@ export async function postProcess(ctx) {
|
|
|
667
814
|
console.debug('[webpeel]', 'domain extraction failed:', e instanceof Error ? e.message : e);
|
|
668
815
|
}
|
|
669
816
|
}
|
|
817
|
+
// === Challenge / bot-protection page detection ===
|
|
818
|
+
// If the extracted content looks like a challenge page (not real content),
|
|
819
|
+
// mark it and try the search-as-proxy fallback to get the real info.
|
|
820
|
+
if (ctx.content && ctx.content.length < 2000) {
|
|
821
|
+
const lowerContent = ctx.content.toLowerCase();
|
|
822
|
+
const challengeSignals = [
|
|
823
|
+
'please verify you are a human',
|
|
824
|
+
'access denied',
|
|
825
|
+
'enable javascript and cookies',
|
|
826
|
+
'checking your browser',
|
|
827
|
+
'cloudflare',
|
|
828
|
+
'just a moment',
|
|
829
|
+
'ray id',
|
|
830
|
+
'attention required',
|
|
831
|
+
'please wait while we verify',
|
|
832
|
+
'bot protection',
|
|
833
|
+
'are you a robot',
|
|
834
|
+
'captcha',
|
|
835
|
+
'page not found',
|
|
836
|
+
'not found',
|
|
837
|
+
'forbidden',
|
|
838
|
+
'error 403',
|
|
839
|
+
'error 404',
|
|
840
|
+
'403 forbidden',
|
|
841
|
+
'404 not found',
|
|
842
|
+
'sorry, this page',
|
|
843
|
+
'blocked',
|
|
844
|
+
];
|
|
845
|
+
const isChallengeContent = challengeSignals.some(s => lowerContent.includes(s))
|
|
846
|
+
|| (ctx.content.length < 100 && (ctx.stealth || ctx.fetchResult?.method === 'stealth' || ctx.fetchResult?.method === 'browser'));
|
|
847
|
+
if (isChallengeContent) {
|
|
848
|
+
ctx.warnings.push('Bot protection detected. Content is a challenge page, not the actual page content.');
|
|
849
|
+
if (ctx.metadata) {
|
|
850
|
+
ctx.metadata.blocked = true;
|
|
851
|
+
ctx.metadata.challengeDetected = true;
|
|
852
|
+
}
|
|
853
|
+
// Try search fallback for the real content
|
|
854
|
+
try {
|
|
855
|
+
const { searchFallback } = await import('./search-fallback.js');
|
|
856
|
+
const searchResult = await searchFallback(ctx.url);
|
|
857
|
+
if (searchResult.cachedContent && searchResult.cachedContent.length > 50) {
|
|
858
|
+
ctx.content = searchResult.cachedContent;
|
|
859
|
+
ctx.title = searchResult.title || ctx.title;
|
|
860
|
+
ctx.quality = 0.4;
|
|
861
|
+
ctx.warnings.push('Content retrieved from search engine cache because the original page blocked direct access. Results may be incomplete.');
|
|
862
|
+
if (ctx.metadata) {
|
|
863
|
+
ctx.metadata.fallbackSource = searchResult.source;
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
catch { /* Search fallback failed — continue with challenge page content */ }
|
|
868
|
+
}
|
|
869
|
+
}
|
|
670
870
|
// === Zero-token safety net ===
|
|
671
871
|
// NEVER return empty content. If pipeline produced nothing, fall back.
|
|
672
872
|
if (!ctx.content || ctx.content.trim().length === 0) {
|
|
873
|
+
ctx.warnings.push('Primary extraction failed; content sourced from fallback (meta description or raw HTML)');
|
|
673
874
|
// Try 1: JSON-LD (may not have been tried if selector/raw was used)
|
|
674
875
|
if (fetchResult.html) {
|
|
675
876
|
const { extractJsonLd } = await import('./json-ld.js');
|
|
@@ -705,6 +906,24 @@ export async function postProcess(ctx) {
|
|
|
705
906
|
return;
|
|
706
907
|
}
|
|
707
908
|
}
|
|
909
|
+
// Try 4: Search-as-proxy fallback (when page appears blocked)
|
|
910
|
+
// Search engines already crawled this page — use their cached snippet.
|
|
911
|
+
try {
|
|
912
|
+
const { searchFallback } = await import('./search-fallback.js');
|
|
913
|
+
const searchResult = await searchFallback(ctx.url);
|
|
914
|
+
if (searchResult.cachedContent && searchResult.cachedContent.length > 50) {
|
|
915
|
+
ctx.content = searchResult.cachedContent;
|
|
916
|
+
ctx.title = searchResult.title || ctx.title;
|
|
917
|
+
ctx.quality = 0.4; // Low quality — it's a search snippet, not the full page
|
|
918
|
+
ctx.warnings.push('Content retrieved from search engine cache because the original page blocked direct access. Results may be incomplete.');
|
|
919
|
+
if (ctx.metadata) {
|
|
920
|
+
ctx.metadata.blocked = true;
|
|
921
|
+
ctx.metadata.fallbackSource = searchResult.source;
|
|
922
|
+
}
|
|
923
|
+
return;
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
catch { /* Search fallback failed — continue to final empty handler */ }
|
|
708
927
|
}
|
|
709
928
|
}
|
|
710
929
|
// ---------------------------------------------------------------------------
|
|
@@ -801,7 +1020,33 @@ export function buildResult(ctx) {
|
|
|
801
1020
|
warning = 'Budget distillation was unable to identify key content. Showing first portion of page instead. This may be a listing or index page — try fetching without a budget for full content.';
|
|
802
1021
|
}
|
|
803
1022
|
else if (contentLen < 50) {
|
|
804
|
-
|
|
1023
|
+
// Check if this looks like a blocked request
|
|
1024
|
+
const fetchMethod = ctx.fetchResult?.method || 'unknown';
|
|
1025
|
+
const triedStealth = fetchMethod === 'stealth' || ctx.options.stealth;
|
|
1026
|
+
const triedBrowser = fetchMethod === 'browser' || ctx.options.render;
|
|
1027
|
+
if (triedStealth || triedBrowser) {
|
|
1028
|
+
warning = 'This site appears to use bot protection (Cloudflare, Akamai, PerimeterX). Try: --cloaked flag, a residential proxy (--proxy), or check if the URL requires authentication.';
|
|
1029
|
+
// Set blocked flag in metadata
|
|
1030
|
+
if (ctx.metadata) {
|
|
1031
|
+
ctx.metadata.blocked = true;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
else {
|
|
1035
|
+
warning = 'Very little content extracted. The page may require JavaScript rendering (try --render), be behind a login wall, or use bot protection.';
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
// Apply clean format if requested (after all other processing)
|
|
1039
|
+
if (ctx.format === 'clean' && ctx.content) {
|
|
1040
|
+
ctx.content = cleanForAI(ctx.content);
|
|
1041
|
+
}
|
|
1042
|
+
// Chunking for RAG pipelines
|
|
1043
|
+
let ragChunks;
|
|
1044
|
+
if (ctx.options.chunk) {
|
|
1045
|
+
const chunkOpts = typeof ctx.options.chunk === 'object'
|
|
1046
|
+
? ctx.options.chunk
|
|
1047
|
+
: {};
|
|
1048
|
+
const chunkResult = chunkContent(ctx.content, chunkOpts);
|
|
1049
|
+
ragChunks = chunkResult.chunks;
|
|
805
1050
|
}
|
|
806
1051
|
return {
|
|
807
1052
|
url: fetchResult.url,
|
|
@@ -824,12 +1069,15 @@ export function buildResult(ctx) {
|
|
|
824
1069
|
linkCount: ctx.links.length,
|
|
825
1070
|
freshness,
|
|
826
1071
|
...(warning !== undefined ? { warning } : {}),
|
|
1072
|
+
...(ctx.metadata && ctx.metadata.blocked ? { blocked: true } : {}),
|
|
827
1073
|
...(ctx.prunedPercent !== undefined ? { prunedPercent: ctx.prunedPercent } : {}),
|
|
828
1074
|
...(ctx.domainData !== undefined ? { domainData: ctx.domainData } : {}),
|
|
829
1075
|
...(ctx.readabilityResult !== undefined ? { readability: ctx.readabilityResult } : {}),
|
|
830
1076
|
...(ctx.quickAnswerResult !== undefined ? { quickAnswer: ctx.quickAnswerResult } : {}),
|
|
831
1077
|
timing: ctx.timer.toTiming(),
|
|
832
1078
|
...(ctx.jsonLdType !== undefined ? { jsonLdType: ctx.jsonLdType } : {}),
|
|
1079
|
+
...(ctx.warnings.length > 0 ? { warnings: ctx.warnings } : {}),
|
|
1080
|
+
...(ragChunks !== undefined ? { chunks: ragChunks } : {}),
|
|
833
1081
|
};
|
|
834
1082
|
}
|
|
835
1083
|
//# sourceMappingURL=pipeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-process BM25 quickAnswer passages to extract specific values.
|
|
3
|
+
*
|
|
4
|
+
* BM25 finds relevant passages but can't extract values. This module
|
|
5
|
+
* applies field-type-aware regex extraction to pull the actual value
|
|
6
|
+
* from the passage.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Post-process a BM25 passage to extract the actual value for a given field name.
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractValueFromPassage(passage: string, fieldName: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Smart schema extraction that uses structural signals before falling back to BM25.
|
|
14
|
+
*
|
|
15
|
+
* For title/name: uses the page title or first heading
|
|
16
|
+
* For author: scans first 1000 chars for "by X" patterns
|
|
17
|
+
* For date: scans first 1000 chars for date patterns
|
|
18
|
+
* For price/email/phone/url: regex scan of full content
|
|
19
|
+
* For everything else: BM25 quickAnswer + post-processing
|
|
20
|
+
*/
|
|
21
|
+
export declare function smartExtractSchemaFields(content: string, templateFields: Record<string, string>, quickAnswerFn: (opts: {
|
|
22
|
+
content: string;
|
|
23
|
+
question: string;
|
|
24
|
+
url?: string;
|
|
25
|
+
}) => {
|
|
26
|
+
answer: string;
|
|
27
|
+
confidence: number;
|
|
28
|
+
}, options?: {
|
|
29
|
+
pageTitle?: string;
|
|
30
|
+
pageUrl?: string;
|
|
31
|
+
metadata?: Record<string, any>;
|
|
32
|
+
}): Record<string, string>;
|
|
33
|
+
//# sourceMappingURL=schema-postprocess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-postprocess.d.ts","sourceRoot":"","sources":["../../src/core/schema-postprocess.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkLH;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAuBlF;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,aAAa,EAAE,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACpH,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,GACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2OxB"}
|