@cosmocoder/mcp-web-docs 2.1.10 → 2.2.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/build/crawler/crawlee-crawler.d.ts +13 -7
- package/build/crawler/crawlee-crawler.js +87 -48
- package/build/crawler/crawlee-crawler.js.map +1 -1
- package/build/crawler/crawlee-crawler.test.js +248 -85
- package/build/crawler/crawlee-crawler.test.js.map +1 -1
- package/build/crawler/docs-crawler.d.ts +3 -0
- package/build/crawler/docs-crawler.js +7 -0
- package/build/crawler/docs-crawler.js.map +1 -1
- package/build/crawler/docs-crawler.test.js +37 -0
- package/build/crawler/docs-crawler.test.js.map +1 -1
- package/build/crawler/login-page-signals.d.ts +6 -7
- package/build/crawler/login-page-signals.js +4 -16
- package/build/crawler/login-page-signals.js.map +1 -1
- package/build/crawler/login-page-signals.test.js +13 -32
- package/build/crawler/login-page-signals.test.js.map +1 -1
- package/build/index.test.js +38 -2
- package/build/index.test.js.map +1 -1
- package/build/indexing/status.d.ts +1 -7
- package/build/indexing/status.js +38 -3
- package/build/indexing/status.js.map +1 -1
- package/build/indexing/status.test.js +69 -0
- package/build/indexing/status.test.js.map +1 -1
- package/build/indexing/workflow.d.ts +1 -1
- package/build/indexing/workflow.js +26 -6
- package/build/indexing/workflow.js.map +1 -1
- package/build/indexing/workflow.test.js +52 -5
- package/build/indexing/workflow.test.js.map +1 -1
- package/build/server.js +10 -2
- package/build/server.js.map +1 -1
- package/build/server.test.js +19 -0
- package/build/server.test.js.map +1 -1
- package/build/types.d.ts +4 -0
- package/build/util/security.d.ts +9 -0
- package/build/util/security.js +29 -0
- package/build/util/security.js.map +1 -1
- package/build/util/security.test.js +21 -1
- package/build/util/security.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,14 +6,20 @@ export declare class CrawleeCrawler extends BaseCrawler {
|
|
|
6
6
|
private queueManager;
|
|
7
7
|
private storageState?;
|
|
8
8
|
private sessionExpiredError;
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Whether each URL the check looked at turned out to be a login wall, in the order they were first
|
|
11
|
+
* seen. Keyed by the requested URL, so a page the crawl retried is one page and a wall reached by
|
|
12
|
+
* redirect from several URLs is several.
|
|
13
|
+
*/
|
|
14
|
+
private wallByRequestedUrl;
|
|
12
15
|
private expectedUrl;
|
|
13
16
|
/** The allowed hostname for crawling - pages outside this domain are skipped */
|
|
14
17
|
private allowedHostname;
|
|
15
18
|
/** Track pages skipped due to domain mismatch */
|
|
16
19
|
private skippedExternalPages;
|
|
20
|
+
private skippedLoginUrls;
|
|
21
|
+
/** Login walls this crawl left out of the index. Only meaningful once crawl() has finished. */
|
|
22
|
+
get skippedLoginPageUrls(): string[];
|
|
17
23
|
/** Optional path prefix to restrict crawling */
|
|
18
24
|
private pathPrefix?;
|
|
19
25
|
private terminalRootFailure?;
|
|
@@ -36,9 +42,9 @@ export declare class CrawleeCrawler extends BaseCrawler {
|
|
|
36
42
|
* @returns true if the URL is within the allowed domain
|
|
37
43
|
*/
|
|
38
44
|
private isWithinAllowedDomain;
|
|
45
|
+
private loginPageMessage;
|
|
39
46
|
/**
|
|
40
|
-
*
|
|
41
|
-
* consulted when we authenticated, so a login page here means the session died.
|
|
47
|
+
* What to do with this page: nothing, keep it out of the index, or stop the crawl.
|
|
42
48
|
*
|
|
43
49
|
* Scored on content alone: a URL match is worth three of the detector's six indicators, enough on
|
|
44
50
|
* its own, so every /oauth or /sso documentation page would score as a login page, as would every
|
|
@@ -46,8 +52,8 @@ export declare class CrawleeCrawler extends BaseCrawler {
|
|
|
46
52
|
*/
|
|
47
53
|
private checkForLoginPage;
|
|
48
54
|
/**
|
|
49
|
-
* A crawl can end before
|
|
50
|
-
*
|
|
55
|
+
* A crawl can end before the window fills - a short site, or a session that died near the end. Walls
|
|
56
|
+
* being most of what the crawl saw at all says the same thing after the fact.
|
|
51
57
|
*/
|
|
52
58
|
private sessionExpiredAcrossCrawl;
|
|
53
59
|
/**
|
|
@@ -5,8 +5,8 @@ import { QueueManager } from './queue-manager.js';
|
|
|
5
5
|
import { getBrowserConfig } from './browser-config.js';
|
|
6
6
|
import { cleanContent } from './content-utils.js';
|
|
7
7
|
import { logger } from '../util/logger.js';
|
|
8
|
-
import {
|
|
9
|
-
import { detectLoginPage, SessionExpiredError } from '../util/security.js';
|
|
8
|
+
import { isLoginWall, LOGIN_PAGE_CONFIDENCE, readLoginPageSignals } from './login-page-signals.js';
|
|
9
|
+
import { detectLoginPage, redactUrlSecrets, SessionExpiredError } from '../util/security.js';
|
|
10
10
|
import { BlockedOutboundRequestError, classifyOutboundFailure, getOutboundResponseError, isNavigationCancellationError, OutboundRequestFailedError, } from '../util/outbound-request.js';
|
|
11
11
|
function normalizeOutboundFailure(error, seen = new Set()) {
|
|
12
12
|
if (error instanceof OutboundRequestFailedError) {
|
|
@@ -35,25 +35,36 @@ function normalizeQueuedUrl(url) {
|
|
|
35
35
|
const MIN_TOLERATED_FAILED_PAGES = 5;
|
|
36
36
|
const MAX_TOLERATED_FAILED_PAGE_RATIO = 0.02;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
38
|
+
* A session that has died answers page after page with a wall, so what gives it away is a run of them
|
|
39
|
+
* among the pages the crawl is currently seeing - not one page, which a public site's own /login also
|
|
40
|
+
* is, and not a total spread over a whole crawl, which a handful of scattered sign-up pages would
|
|
41
|
+
* reach on a large site. Five of the last eight means a wall is most of what the crawl can still see.
|
|
40
42
|
*/
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
const LOGIN_WALL_WINDOW = 8;
|
|
44
|
+
const LOGIN_WALLS_IN_WINDOW_BEFORE_SESSION_EXPIRED = 5;
|
|
45
|
+
/** A crawl too short to fill the window says the same thing by proportion. Two, or /login alone counts. */
|
|
46
|
+
const MIN_WALLS_FOR_MOSTLY_WALLS = 2;
|
|
44
47
|
export class CrawleeCrawler extends BaseCrawler {
|
|
45
48
|
crawler = null;
|
|
46
49
|
queueManager = new QueueManager();
|
|
47
50
|
storageState;
|
|
48
51
|
sessionExpiredError = null;
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Whether each URL the check looked at turned out to be a login wall, in the order they were first
|
|
54
|
+
* seen. Keyed by the requested URL, so a page the crawl retried is one page and a wall reached by
|
|
55
|
+
* redirect from several URLs is several.
|
|
56
|
+
*/
|
|
57
|
+
wallByRequestedUrl = new Map();
|
|
52
58
|
expectedUrl = '';
|
|
53
59
|
/** The allowed hostname for crawling - pages outside this domain are skipped */
|
|
54
60
|
allowedHostname = '';
|
|
55
61
|
/** Track pages skipped due to domain mismatch */
|
|
56
62
|
skippedExternalPages = 0;
|
|
63
|
+
skippedLoginUrls = [];
|
|
64
|
+
/** Login walls this crawl left out of the index. Only meaningful once crawl() has finished. */
|
|
65
|
+
get skippedLoginPageUrls() {
|
|
66
|
+
return [...this.skippedLoginUrls];
|
|
67
|
+
}
|
|
57
68
|
/** Optional path prefix to restrict crawling */
|
|
58
69
|
pathPrefix;
|
|
59
70
|
terminalRootFailure;
|
|
@@ -105,16 +116,20 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
105
116
|
return false;
|
|
106
117
|
}
|
|
107
118
|
}
|
|
119
|
+
loginPageMessage(what) {
|
|
120
|
+
return this.storageState ? `Authentication session expired during the crawl - ${what}` : `This site requires authentication - ${what}`;
|
|
121
|
+
}
|
|
108
122
|
/**
|
|
109
|
-
*
|
|
110
|
-
* consulted when we authenticated, so a login page here means the session died.
|
|
123
|
+
* What to do with this page: nothing, keep it out of the index, or stop the crawl.
|
|
111
124
|
*
|
|
112
125
|
* Scored on content alone: a URL match is worth three of the detector's six indicators, enough on
|
|
113
126
|
* its own, so every /oauth or /sso documentation page would score as a login page, as would every
|
|
114
127
|
* page on a host like auth.example.com.
|
|
115
128
|
*/
|
|
116
|
-
async checkForLoginPage(page, isEntryPage) {
|
|
117
|
-
|
|
129
|
+
async checkForLoginPage(page, requestedUrl, isEntryPage) {
|
|
130
|
+
// Recorded before anything can return: the rules below count walls among the pages the crawl
|
|
131
|
+
// looked at, not among the ones that got this far. Set() keeps a retried URL where it first was.
|
|
132
|
+
this.wallByRequestedUrl.set(requestedUrl, this.wallByRequestedUrl.get(requestedUrl) ?? false);
|
|
118
133
|
let observed;
|
|
119
134
|
let detection;
|
|
120
135
|
try {
|
|
@@ -134,41 +149,51 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
134
149
|
if (detection.confidence < LOGIN_PAGE_CONFIDENCE) {
|
|
135
150
|
return null;
|
|
136
151
|
}
|
|
137
|
-
|
|
152
|
+
// With a session, a login page where documentation was asked for means the session is dead in
|
|
153
|
+
// whatever shape it arrives - an SSO wall can be a branded button with no password field. Without
|
|
154
|
+
// one it has to be a wall: a code sample containing type="password" is worth two of the detector's
|
|
155
|
+
// six indicators, so an article about building login forms would fail the crawl.
|
|
156
|
+
if (isEntryPage && (this.storageState || isLoginWall(observed))) {
|
|
138
157
|
logger.warn(`[CrawleeCrawler] First page appears to be a login page (confidence: ${detection.confidence.toFixed(2)})`);
|
|
139
158
|
logger.debug(`[CrawleeCrawler] Detection reasons: ${detection.reasons.join(', ')}`);
|
|
140
|
-
return new SessionExpiredError(
|
|
159
|
+
return new SessionExpiredError(this.loginPageMessage('the page the crawl was asked for is a login page'), this.expectedUrl, page.url(), detection);
|
|
141
160
|
}
|
|
142
|
-
//
|
|
143
|
-
//
|
|
144
|
-
if (!observed
|
|
161
|
+
// Anything the detector flagged that is not a wall is left alone: a sign-in box in the site's
|
|
162
|
+
// furniture reads as a login page on wording, and so does documentation about signing in.
|
|
163
|
+
if (!isLoginWall(observed)) {
|
|
145
164
|
return null;
|
|
146
165
|
}
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
166
|
+
// Deleted first so the wall takes the position the crawl found it in: a page recorded by an
|
|
167
|
+
// earlier attempt that could not be read would otherwise sit outside every window that follows.
|
|
168
|
+
this.wallByRequestedUrl.delete(requestedUrl);
|
|
169
|
+
this.wallByRequestedUrl.set(requestedUrl, true);
|
|
170
|
+
// Never indexed - it is not documentation.
|
|
171
|
+
//
|
|
172
|
+
// This rule and the proportion rule below are both for a crawl that authenticated. Without a session
|
|
173
|
+
// nothing can have expired, and a public site has login pages in it by design - a /login, a /signup,
|
|
174
|
+
// one per gated area, all hanging off the same nav and so arriving together. Only the entry rule
|
|
175
|
+
// above fails such a crawl; every other wall is kept out of the index and reported.
|
|
176
|
+
const recent = [...this.wallByRequestedUrl.values()].slice(-LOGIN_WALL_WINDOW);
|
|
177
|
+
const walls = recent.filter(Boolean).length;
|
|
178
|
+
if (walls < LOGIN_WALLS_IN_WINDOW_BEFORE_SESSION_EXPIRED || !this.storageState) {
|
|
179
|
+
return 'skip';
|
|
157
180
|
}
|
|
158
|
-
logger.warn(`[CrawleeCrawler]
|
|
159
|
-
return new SessionExpiredError(
|
|
181
|
+
logger.warn(`[CrawleeCrawler] ${walls} of the last ${recent.length} pages were login walls - the session expired mid-crawl`);
|
|
182
|
+
return new SessionExpiredError(this.loginPageMessage(`${walls} of the last ${recent.length} pages the crawl saw were login walls`), this.expectedUrl, page.url(), detection);
|
|
160
183
|
}
|
|
161
184
|
/**
|
|
162
|
-
* A crawl can end before
|
|
163
|
-
*
|
|
185
|
+
* A crawl can end before the window fills - a short site, or a session that died near the end. Walls
|
|
186
|
+
* being most of what the crawl saw at all says the same thing after the fact.
|
|
164
187
|
*/
|
|
165
188
|
sessionExpiredAcrossCrawl() {
|
|
166
|
-
const
|
|
167
|
-
|
|
189
|
+
const checked = this.wallByRequestedUrl.size;
|
|
190
|
+
const walls = [...this.wallByRequestedUrl.values()].filter(Boolean).length;
|
|
191
|
+
// A crawl that authenticated, for the reason given at the window rule
|
|
192
|
+
if (!this.storageState || walls < MIN_WALLS_FOR_MOSTLY_WALLS || walls * 2 < checked) {
|
|
168
193
|
return null;
|
|
169
194
|
}
|
|
170
|
-
logger.warn(`[CrawleeCrawler]
|
|
171
|
-
return new SessionExpiredError(
|
|
195
|
+
logger.warn(`[CrawleeCrawler] ${walls} of ${checked} crawled pages were login walls`);
|
|
196
|
+
return new SessionExpiredError(this.loginPageMessage(`${walls} of the ${checked} pages the crawl saw were login walls`), this.expectedUrl, this.expectedUrl, { isLoginPage: true, confidence: 1, reasons: [`${walls} of ${checked} crawled pages were login walls`] });
|
|
172
197
|
}
|
|
173
198
|
/**
|
|
174
199
|
* Wait for the page to fully stabilize after navigation, handling:
|
|
@@ -325,14 +350,14 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
325
350
|
logger.debug(`[${this.constructor.name}] Starting crawl of: ${url}`);
|
|
326
351
|
// Reset state for this crawl
|
|
327
352
|
this.sessionExpiredError = null;
|
|
328
|
-
this.
|
|
329
|
-
this.pagesChecked = 0;
|
|
353
|
+
this.wallByRequestedUrl.clear();
|
|
330
354
|
this.terminalRootFailure = undefined;
|
|
331
355
|
this.rootPageFailed = false;
|
|
332
356
|
this.failedPages = 0;
|
|
333
357
|
this.navigationAttempts = new WeakMap();
|
|
334
358
|
this.expectedUrl = normalizeQueuedUrl(url);
|
|
335
359
|
this.skippedExternalPages = 0;
|
|
360
|
+
this.skippedLoginUrls = [];
|
|
336
361
|
// Extract and store the allowed hostname from the initial URL
|
|
337
362
|
try {
|
|
338
363
|
this.allowedHostname = new URL(url).hostname;
|
|
@@ -529,18 +554,17 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
529
554
|
else {
|
|
530
555
|
// Subsequent page redirected outside domain - skip it
|
|
531
556
|
this.skippedExternalPages++;
|
|
532
|
-
|
|
557
|
+
logger.warn(`[CrawleeCrawler] Skipping page that redirected outside domain: ${request.url} → ${actualUrl} (skipped ${this.skippedExternalPages} external pages)`);
|
|
533
558
|
return;
|
|
534
559
|
}
|
|
535
560
|
}
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
}
|
|
561
|
+
// Every crawl, not only an authenticated one: indexing the wall as documentation is the bug
|
|
562
|
+
const verdict = await this.checkForLoginPage(page, normalizeQueuedUrl(request.url), isEntryPage);
|
|
563
|
+
if (verdict instanceof SessionExpiredError) {
|
|
564
|
+
this.sessionExpiredError = verdict;
|
|
565
|
+
logger.error(`[CrawleeCrawler] ${verdict.message}. Aborting crawl.`);
|
|
566
|
+
this.abort();
|
|
567
|
+
return;
|
|
544
568
|
}
|
|
545
569
|
// Detect site type and get extractor
|
|
546
570
|
for (const rule of siteRules) {
|
|
@@ -549,6 +573,17 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
549
573
|
await rule.prepare(page, log);
|
|
550
574
|
}
|
|
551
575
|
await this.queueManager.handleQueueAndLinks(enqueueLinks, log, rule);
|
|
576
|
+
// After the links, not before: a page skipped by mistake would otherwise take the whole
|
|
577
|
+
// section under it out of the crawl, and the sparse nav of a small section is exactly the
|
|
578
|
+
// page most likely to be mistaken for a wall.
|
|
579
|
+
if (verdict === 'skip') {
|
|
580
|
+
// Redacted once here, because the same string goes to the client and to stderr, and
|
|
581
|
+
// the logger's own redaction covers fewer parameter names than this one
|
|
582
|
+
const skipped = redactUrlSecrets(normalizeQueuedUrl(request.url));
|
|
583
|
+
this.skippedLoginUrls.push(skipped);
|
|
584
|
+
logger.warn(`[CrawleeCrawler] Not indexing ${skipped}: it asks for a password and has no content of its own`);
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
552
587
|
const pageTitle = await page.title();
|
|
553
588
|
const { content, contentFormat, extractorUsed, title } = await this.extractContent(page, rule.type, rule.extractor);
|
|
554
589
|
const result = {
|
|
@@ -594,6 +629,10 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
594
629
|
if (this.skippedExternalPages > 0) {
|
|
595
630
|
logger.warn(`[CrawleeCrawler] Skipped ${this.skippedExternalPages} pages that redirected outside the allowed domain (${this.allowedHostname})`);
|
|
596
631
|
}
|
|
632
|
+
if (this.skippedLoginUrls.length > 0) {
|
|
633
|
+
logger.warn(`[CrawleeCrawler] Left ${this.skippedLoginUrls.length} login ${this.skippedLoginUrls.length === 1 ? 'page' : 'pages'} out of the index; ` +
|
|
634
|
+
'they had no content of their own');
|
|
635
|
+
}
|
|
597
636
|
// Check if we detected an expired session during crawling
|
|
598
637
|
const sessionExpired = this.sessionExpiredError ?? this.sessionExpiredAcrossCrawl();
|
|
599
638
|
if (sessionExpired) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawlee-crawler.js","sourceRoot":"","sources":["../../src/crawler/crawlee-crawler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crawlee-crawler.js","sourceRoot":"","sources":["../../src/crawler/crawlee-crawler.ts"],"names":[],"mappings":"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"}
|