@cosmocoder/mcp-web-docs 2.1.5 → 2.1.7
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/auth.js +18 -3
- package/build/crawler/auth.js.map +1 -1
- package/build/crawler/auth.test.js +88 -2
- package/build/crawler/auth.test.js.map +1 -1
- package/build/crawler/crawlee-crawler.d.ts +14 -3
- package/build/crawler/crawlee-crawler.js +82 -39
- package/build/crawler/crawlee-crawler.js.map +1 -1
- package/build/crawler/crawlee-crawler.test.js +173 -0
- package/build/crawler/crawlee-crawler.test.js.map +1 -1
- package/build/crawler/login-page-signals.d.ts +20 -0
- package/build/crawler/login-page-signals.js +34 -0
- package/build/crawler/login-page-signals.js.map +1 -0
- package/build/crawler/login-page-signals.test.d.ts +1 -0
- package/build/crawler/login-page-signals.test.js +91 -0
- package/build/crawler/login-page-signals.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -5,7 +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 {
|
|
8
|
+
import { LOGIN_PAGE_CONFIDENCE, pageIdentity, readLoginPageSignals } from './login-page-signals.js';
|
|
9
|
+
import { detectLoginPage, SessionExpiredError } from '../util/security.js';
|
|
9
10
|
import { BlockedOutboundRequestError, classifyOutboundFailure, getOutboundResponseError, isNavigationCancellationError, OutboundRequestFailedError, } from '../util/outbound-request.js';
|
|
10
11
|
function normalizeOutboundFailure(error, seen = new Set()) {
|
|
11
12
|
if (error instanceof OutboundRequestFailedError) {
|
|
@@ -33,12 +34,21 @@ function normalizeQueuedUrl(url) {
|
|
|
33
34
|
*/
|
|
34
35
|
const MIN_TOLERATED_FAILED_PAGES = 5;
|
|
35
36
|
const MAX_TOLERATED_FAILED_PAGE_RATIO = 0.02;
|
|
37
|
+
/**
|
|
38
|
+
* How many times one login page must come back before the session is called dead. One is not enough:
|
|
39
|
+
* documentation about signing in scores the same. What it does not do is answer several URLs alike.
|
|
40
|
+
*/
|
|
41
|
+
const REPEATED_LOGIN_PAGES_BEFORE_SESSION_EXPIRED = 3;
|
|
42
|
+
/** At one, a two-page site whose second page documents signing in would be "mostly login pages" */
|
|
43
|
+
const MIN_REPEATS_FOR_MOSTLY_LOGIN_PAGES = 2;
|
|
36
44
|
export class CrawleeCrawler extends BaseCrawler {
|
|
37
45
|
crawler = null;
|
|
38
46
|
queueManager = new QueueManager();
|
|
39
47
|
storageState;
|
|
40
|
-
isFirstPage = true;
|
|
41
48
|
sessionExpiredError = null;
|
|
49
|
+
/** How many pages each distinct login page has answered, and how many pages were checked at all */
|
|
50
|
+
loginPageCounts = new Map();
|
|
51
|
+
pagesChecked = 0;
|
|
42
52
|
expectedUrl = '';
|
|
43
53
|
/** The allowed hostname for crawling - pages outside this domain are skipped */
|
|
44
54
|
allowedHostname = '';
|
|
@@ -96,37 +106,69 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
96
106
|
}
|
|
97
107
|
}
|
|
98
108
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
109
|
+
* The error to fail the crawl with if this page shows the session has expired, else null. Only
|
|
110
|
+
* consulted when we authenticated, so a login page here means the session died.
|
|
111
|
+
*
|
|
112
|
+
* Scored on content alone: a URL match is worth three of the detector's six indicators, enough on
|
|
113
|
+
* its own, so every /oauth or /sso documentation page would score as a login page, as would every
|
|
114
|
+
* page on a host like auth.example.com.
|
|
101
115
|
*/
|
|
102
|
-
async checkForLoginPage(page,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
// Check URL pattern first (fast)
|
|
109
|
-
if (isLoginPageUrl(currentUrl)) {
|
|
110
|
-
logger.warn(`[CrawleeCrawler] First page URL matches login pattern: ${currentUrl}`);
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
// Check page content
|
|
116
|
+
async checkForLoginPage(page, isEntryPage) {
|
|
117
|
+
this.pagesChecked++;
|
|
118
|
+
let observed;
|
|
119
|
+
let detection;
|
|
114
120
|
try {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
// Store the error for throwing later (can't throw from request handler)
|
|
122
|
-
this.sessionExpiredError = new SessionExpiredError(`Authentication session has expired - crawled page is a login page`, this.expectedUrl, currentUrl, detection);
|
|
123
|
-
return true;
|
|
121
|
+
observed = await page.evaluate(readLoginPageSignals);
|
|
122
|
+
// Serializing the DOM of every page is the expensive part, so it is skipped for pages showing
|
|
123
|
+
// no sign of a login. Never for the entry page - one page.content() per crawl - because an SSO
|
|
124
|
+
// wall can be a branded button, with nothing in its text and its form in a frame.
|
|
125
|
+
if (!isEntryPage && detectLoginPage(observed.text, '').confidence === 0 && !observed.hasPasswordInput) {
|
|
126
|
+
return null;
|
|
124
127
|
}
|
|
128
|
+
detection = detectLoginPage(observed.text + (await page.content()), '');
|
|
125
129
|
}
|
|
126
130
|
catch (error) {
|
|
127
131
|
logger.debug(`[CrawleeCrawler] Error checking for login page:`, error);
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
if (detection.confidence < LOGIN_PAGE_CONFIDENCE) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
if (isEntryPage) {
|
|
138
|
+
logger.warn(`[CrawleeCrawler] First page appears to be a login page (confidence: ${detection.confidence.toFixed(2)})`);
|
|
139
|
+
logger.debug(`[CrawleeCrawler] Detection reasons: ${detection.reasons.join(', ')}`);
|
|
140
|
+
return new SessionExpiredError(`Authentication session has expired - crawled page is a login page`, this.expectedUrl, page.url(), detection);
|
|
128
141
|
}
|
|
129
|
-
|
|
142
|
+
// Only a page actually asking for credentials counts as a login page coming back. Shape alone
|
|
143
|
+
// gives genuinely different documentation pages one identity; none of them ask for a password.
|
|
144
|
+
if (!observed.hasPasswordInput) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
// Counted per distinct page rather than in a row: handlers run concurrently, so "in a row"
|
|
148
|
+
// would mean "in the order five lanes happened to finish"
|
|
149
|
+
const identity = pageIdentity(observed.headings, observed.text, page.url());
|
|
150
|
+
if (identity === null) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
const timesServed = (this.loginPageCounts.get(identity) ?? 0) + 1;
|
|
154
|
+
this.loginPageCounts.set(identity, timesServed);
|
|
155
|
+
if (timesServed < REPEATED_LOGIN_PAGES_BEFORE_SESSION_EXPIRED) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
logger.warn(`[CrawleeCrawler] One login page has answered ${timesServed} URLs - the session expired mid-crawl`);
|
|
159
|
+
return new SessionExpiredError(`Authentication session expired during the crawl - one login page answered ${timesServed} different URLs`, this.expectedUrl, page.url(), detection);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* A crawl can end before any login page repeats often enough to be caught above - a short site, or
|
|
163
|
+
* a session that died near the end. One login page being most of what the crawl saw says the same.
|
|
164
|
+
*/
|
|
165
|
+
sessionExpiredAcrossCrawl() {
|
|
166
|
+
const timesServed = Math.max(0, ...this.loginPageCounts.values());
|
|
167
|
+
if (timesServed < MIN_REPEATS_FOR_MOSTLY_LOGIN_PAGES || timesServed * 2 < this.pagesChecked) {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
logger.warn(`[CrawleeCrawler] One login page answered ${timesServed} of ${this.pagesChecked} crawled URLs`);
|
|
171
|
+
return new SessionExpiredError(`Authentication session expired during the crawl - one login page answered ${timesServed} of ${this.pagesChecked} URLs`, this.expectedUrl, this.expectedUrl, { isLoginPage: true, confidence: 1, reasons: [`${timesServed} of ${this.pagesChecked} crawled pages were one login page`] });
|
|
130
172
|
}
|
|
131
173
|
/**
|
|
132
174
|
* Wait for the page to fully stabilize after navigation, handling:
|
|
@@ -282,8 +324,9 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
282
324
|
async *crawl(url) {
|
|
283
325
|
logger.debug(`[${this.constructor.name}] Starting crawl of: ${url}`);
|
|
284
326
|
// Reset state for this crawl
|
|
285
|
-
this.isFirstPage = true;
|
|
286
327
|
this.sessionExpiredError = null;
|
|
328
|
+
this.loginPageCounts.clear();
|
|
329
|
+
this.pagesChecked = 0;
|
|
287
330
|
this.terminalRootFailure = undefined;
|
|
288
331
|
this.rootPageFailed = false;
|
|
289
332
|
this.failedPages = 0;
|
|
@@ -459,11 +502,14 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
459
502
|
}
|
|
460
503
|
// Get the actual URL after any redirects
|
|
461
504
|
const actualUrl = page.url();
|
|
505
|
+
// The request the crawl was asked for, not whichever handler happens to run first: five
|
|
506
|
+
// run at once, so a mutable "have we done one yet" flag is true for several of them
|
|
507
|
+
const isEntryPage = normalizeQueuedUrl(request.url) === this.expectedUrl;
|
|
462
508
|
// Check if the page redirected outside the allowed domain
|
|
463
509
|
if (!this.isWithinAllowedDomain(actualUrl)) {
|
|
464
510
|
const requestedHostname = new URL(request.url).hostname;
|
|
465
511
|
const actualHostname = new URL(actualUrl).hostname;
|
|
466
|
-
if (
|
|
512
|
+
if (isEntryPage) {
|
|
467
513
|
// First page redirected outside domain - likely auth redirect (session expired)
|
|
468
514
|
logger.warn(`[CrawleeCrawler] First page redirected outside allowed domain: ${requestedHostname} → ${actualHostname}`);
|
|
469
515
|
if (this.storageState) {
|
|
@@ -487,18 +533,14 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
487
533
|
return;
|
|
488
534
|
}
|
|
489
535
|
}
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
log.error('Session appears expired -
|
|
536
|
+
if (this.storageState) {
|
|
537
|
+
const expired = await this.checkForLoginPage(page, isEntryPage);
|
|
538
|
+
if (expired) {
|
|
539
|
+
this.sessionExpiredError = expired;
|
|
540
|
+
log.error('Session appears expired - the crawl is being served login pages. Aborting crawl.');
|
|
495
541
|
this.abort();
|
|
496
542
|
return;
|
|
497
543
|
}
|
|
498
|
-
this.isFirstPage = false;
|
|
499
|
-
}
|
|
500
|
-
else if (this.isFirstPage) {
|
|
501
|
-
this.isFirstPage = false;
|
|
502
544
|
}
|
|
503
545
|
// Detect site type and get extractor
|
|
504
546
|
for (const rule of siteRules) {
|
|
@@ -553,8 +595,9 @@ export class CrawleeCrawler extends BaseCrawler {
|
|
|
553
595
|
logger.warn(`[CrawleeCrawler] Skipped ${this.skippedExternalPages} pages that redirected outside the allowed domain (${this.allowedHostname})`);
|
|
554
596
|
}
|
|
555
597
|
// Check if we detected an expired session during crawling
|
|
556
|
-
|
|
557
|
-
|
|
598
|
+
const sessionExpired = this.sessionExpiredError ?? this.sessionExpiredAcrossCrawl();
|
|
599
|
+
if (sessionExpired) {
|
|
600
|
+
throw sessionExpired;
|
|
558
601
|
}
|
|
559
602
|
if (finalStatistics.requestsFailed > 0) {
|
|
560
603
|
// Losing the entry point is terminal however well the rest of the crawl went, and it is
|
|
@@ -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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAA8B,MAAM,qBAAqB,CAAC;AACvG,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAErC,SAAS,wBAAwB,CAAC,KAAc,EAAE,OAAO,IAAI,GAAG,EAAU;IACxE,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,KAA+D,CAAC;IAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAChD,OAAO,IAAI,0BAA0B,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAE7C;;;GAGG;AACH,MAAM,2CAA2C,GAAG,CAAC,CAAC;AAEtD,mGAAmG;AACnG,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAQ7C,MAAM,OAAO,cAAe,SAAQ,WAAW;IACrC,OAAO,GAA6B,IAAI,CAAC;IACzC,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAChD,YAAY,CAAyB;IACrC,mBAAmB,GAA+B,IAAI,CAAC;IAC/D,mGAAmG;IAC3F,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACjD,YAAY,GAAW,CAAC,CAAC;IACzB,WAAW,GAAW,EAAE,CAAC;IACjC,gFAAgF;IACxE,eAAe,GAAW,EAAE,CAAC;IACrC,iDAAiD;IACzC,oBAAoB,GAAW,CAAC,CAAC;IACzC,gDAAgD;IACxC,UAAU,CAAU;IACpB,mBAAmB,CAA8B;IACzD,qGAAqG;IAC7F,cAAc,GAAY,KAAK,CAAC;IAChC,WAAW,GAAW,CAAC,CAAC;IAEhC,0FAA0F;IAC1F,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACO,kBAAkB,GAAG,IAAI,OAAO,EAA6B,CAAC;IAE9D,yBAAyB,CAAC,OAAe;QAC/C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAA4B;QAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAAC,GAAW;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC,4BAA4B;QAC3C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YAEnD,cAAc;YACd,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wEAAwE;YACxE,2EAA2E;YAC3E,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,iBAAiB,CAAC,IAAU,EAAE,WAAoB;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC;QACb,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACrD,8FAA8F;YAC9F,+FAA+F;YAC/F,kFAAkF;YAClF,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBACtG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,GAAG,qBAAqB,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,uEAAuE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvH,MAAM,CAAC,KAAK,CAAC,uCAAuC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpF,OAAO,IAAI,mBAAmB,CAC5B,mEAAmE,EACnE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,EAAE,EACV,SAAS,CACV,CAAC;QACJ,CAAC;QAED,8FAA8F;QAC9F,+FAA+F;QAC/F,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,WAAW,GAAG,2CAA2C,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,gDAAgD,WAAW,uCAAuC,CAAC,CAAC;QAChH,OAAO,IAAI,mBAAmB,CAC5B,6EAA6E,WAAW,iBAAiB,EACzG,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,EAAE,EACV,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,IAAI,WAAW,GAAG,kCAAkC,IAAI,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,4CAA4C,WAAW,OAAO,IAAI,CAAC,YAAY,eAAe,CAAC,CAAC;QAC5G,OAAO,IAAI,mBAAmB,CAC5B,6EAA6E,WAAW,OAAO,IAAI,CAAC,YAAY,OAAO,EACvH,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW,OAAO,IAAI,CAAC,YAAY,oCAAoC,CAAC,EAAE,CAC5H,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,wBAAwB,CAAC,IAAU;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE9B,2FAA2F;QAC3F,wFAAwF;QACxF,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;gBACzE,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC3B,MAAM,iBAAiB,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;gBAChF,MAAM,gBAAgB,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,kDAAkD,CAAC,CAAC;gBACrG,OAAO,iBAAiB,IAAI,gBAAgB,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC;YACL,yEAAyE;YACzE,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,sDAAsD,UAAU,6BAA6B,CAAC,CAAC;YAC5G,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5E,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;iBACzE,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,wCAAwC,UAAU,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,CAAC;gBACL,MAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;gBAClD,MAAM,gBAAgB,GACpB,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC;oBAC1C,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;oBACzC,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;gBACrD,MAAM,mBAAmB,GACvB,QAAQ,CAAC,aAAa,CAAC,6EAA6E,CAAC,KAAK,IAAI,CAAC;gBACjH,OAAO,gBAAgB,IAAI,mBAAmB,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;gBACzF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CACxB,GAAG,EAAE;wBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;wBAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;wBAC/G,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,gEAAgE,CAAC,KAAK,IAAI,CAAC;wBAC9H,OAAO,CAAC,cAAc,IAAI,CAAC,mBAAmB,CAAC;oBACjD,CAAC,EACD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;oBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;oBAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC9E,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,CAAC;oBACL,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC;YACL,sFAAsF;YACtF,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAU;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,KAAK;qBAC3B,QAAQ,CAAC,GAAG,EAAE;oBACb,OAAO,QAAQ,CAAC,aAAa,CAAC,6DAA6D,CAAC,KAAK,IAAI,CAAC;gBACxG,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAEtB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,OAAO,CAAC,GAAG,CAAC;wBAChB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;wBAC1C,KAAK;6BACF,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6BAClD,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;qBAC/E,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,OAAqB,EACrB,SAA2B;QAE3B,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;YAC7C,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/F,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,IAAU,EACV,QAAgB,EAChB,SAA2B;QAE3B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,aAAa,GAAkB,MAAM,CAAC;QAC1C,IAAI,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/C,IAAI,KAAyB,CAAC;QAE9B,IAAI,CAAC;YACH,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,mBAAmB;gBACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACV,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAED,wBAAwB;gBACxB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,MAAM,CAAC;YACL,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC7E,aAAa,GAAG,MAAM,CAAC;YACvB,aAAa,GAAG,eAAe,CAAC;YAChC,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAc;QAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,iDAAiD,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,CAAC,KAAK,CAAC,GAAW;QACtB,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAErE,6BAA6B;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,8DAA8D;QAC9D,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,+DAA+D,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,CAAC;YACL,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzD,qEAAqE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE7C,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,SAAS,CAAC,CAAC;QAEhG,6EAA6E;QAC7E,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,qDAAqD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;YACnH,cAAc,CAAC,kBAAkB,GAAG;gBAClC,GAAG,cAAc,CAAC,kBAAkB;gBACpC,cAAc,EAAE;oBACd,KAAK,EAAE,MAAM,EAAE,EAAE;wBACf,0DAA0D;wBAC1D,MAAM,CAAC,KAAK,CAAC,+CAA+C,MAAM,EAAE,CAAC,CAAC;oBACxE,CAAC;iBACF;aACF,CAAC;YACF,qCAAqC;YACrC,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC9D,cAAc,CAAC,kBAAkB,GAAG;gBAClC,GAAG,aAAa;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;oBACjB,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;wBAC/B,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC;wBACvG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,0BAA0B,GAAG,cAAc,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC3E,cAAc,CAAC,kBAAkB,GAAG;YAClC,GAAG,0BAA0B;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC1B,MAAM,UAAU,GAAG,OAAiB,CAAC;gBACrC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAsB,EAAE,CAAC;gBACtC,MAAM,eAAe,GAAG,CAAC,aAAgC,EAAE,EAAE;oBAC3D,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC;oBAC3D,IAAI,aAAa,CAAC,mBAAmB,EAAE,IAAI,aAAa,CAAC,KAAK,EAAE,KAAK,SAAS,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC5H,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;oBAC1C,CAAC;gBACH,CAAC,CAAC;gBACF,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBAC1C,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBACnE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC;YACnC,GAAG,cAAc;YACjB,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBACrC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAiB,CAAC;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACpC,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAC/G,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,eAAe,YAAY,2BAA2B,EAAE,CAAC;oBAC3D,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC;wBACO,CAAC;oBACP,IAAI,eAAe,YAAY,2BAA2B,EAAE,CAAC;wBAC3D,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBACjC,CAAC;oBACD,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAiB,CAAC;gBAC7C,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;gBACrC,MAAM,eAAe,GACnB,OAAO,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvH,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjE,oFAAoF;oBACpF,2EAA2E;oBAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,eAAe,YAAY,0BAA0B,EAAE,CAAC;wBAC1D,IAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,cAAc,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,cAAc,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE;gBACvE,MAAM,UAAU,GAAG,OAAiB,CAAC;gBACrC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,uBAAuB,GAAG,QAAQ,CAAC;gBACvC,IAAI,wBAA8F,CAAC;gBACnG,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAiB,CAAC;gBACzD,MAAM,sBAAsB,GAAG,CAAC,YAA6B,EAAE,EAAE;oBAC/D,MAAM,WAAW,GAAG,YAAY,EAAE,OAAO,EAAE,CAAC;oBAC5C,IAAI,WAAW,EAAE,mBAAmB,EAAE,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBACnF,kBAAkB,EAAE,CAAC;wBACrB,uBAAuB,GAAG,YAAY,CAAC;wBACvC,wBAAwB,GAAG,SAAS,CAAC;oBACvC,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,qBAAqB,GAAG,CAAC,aAAgC,EAAE,EAAE;oBACjE,IACE,aAAa,CAAC,mBAAmB,EAAE;wBACnC,aAAa,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;wBAC1C,CAAC,6BAA6B,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,EACxE,CAAC;wBACD,MAAM,eAAe,GAAG,EAAE,kBAAkB,CAAC;wBAC7C,MAAM,KAAK,GAAG,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;6BACvD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;4BACd,IAAI,kBAAkB,KAAK,eAAe,EAAE,CAAC;gCAC3C,wBAAwB,GAAG,KAAK,CAAC;4BACnC,CAAC;wBACH,CAAC,CAAC;6BACD,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBACxD,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC;gBACF,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;gBAC5C,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;gBAChD,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;oBACtC,MAAM,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBAC3C,IAAI,wBAAwB,EAAE,CAAC;wBAC7B,IAAI,wBAAwB,YAAY,2BAA2B,EAAE,CAAC;4BACpE,GAAG,CAAC,OAAO,CAAC,0CAA0C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;4BACrE,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,MAAM,wBAAwB,CAAC;oBACjC,CAAC;oBACD,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,uBAAuB,CAAC,CAAC;oBAC9E,IAAI,aAAa,YAAY,2BAA2B,EAAE,CAAC;wBACzD,GAAG,CAAC,OAAO,CAAC,0CAA0C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;wBACrE,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,aAAa,CAAC;oBACtB,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;gBAEF,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;wBAC3B,OAAO;oBACT,CAAC;oBAED,IAAI,MAAM,oBAAoB,EAAE,EAAE,CAAC;wBACjC,OAAO;oBACT,CAAC;oBAED,6BAA6B;oBAC7B,MAAM,OAAO,CAAC,GAAG,CAAC;wBAChB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;wBACzC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;qBAC3H,CAAC,CAAC;oBAEH,sEAAsE;oBACtE,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,MAAM,oBAAoB,EAAE,EAAE,CAAC;wBACjC,OAAO;oBACT,CAAC;oBAED,yCAAyC;oBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC7B,wFAAwF;oBACxF,oFAAoF;oBACpF,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC;oBAEzE,0DAA0D;oBAC1D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;wBACxD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;wBAEnD,IAAI,WAAW,EAAE,CAAC;4BAChB,gFAAgF;4BAChF,MAAM,CAAC,IAAI,CAAC,kEAAkE,iBAAiB,MAAM,cAAc,EAAE,CAAC,CAAC;4BAEvH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gCACtB,mDAAmD;gCACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAChD,4EAA4E,cAAc,GAAG,EAC7F,IAAI,CAAC,WAAW,EAChB,SAAS,EACT,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,mBAAmB,iBAAiB,OAAO,cAAc,EAAE,CAAC,EAAE,CAC/G,CAAC;gCACF,GAAG,CAAC,KAAK,CAAC,oDAAoD,cAAc,mBAAmB,CAAC,CAAC;gCACjG,IAAI,CAAC,KAAK,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;iCACI,CAAC;gCACJ,0DAA0D;gCAC1D,GAAG,CAAC,KAAK,CAAC,6CAA6C,cAAc,mBAAmB,CAAC,CAAC;gCAC1F,IAAI,CAAC,KAAK,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;wBACH,CAAC;6BACI,CAAC;4BACJ,sDAAsD;4BACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC5B,GAAG,CAAC,OAAO,CACT,iDAAiD,OAAO,CAAC,GAAG,MAAM,SAAS,aAAa,IAAI,CAAC,oBAAoB,kBAAkB,CACpI,CAAC;4BACF,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAChE,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;4BACnC,GAAG,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;4BAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;4BACb,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,qCAAqC;oBACrC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC5B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gCACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BAChC,CAAC;4BAED,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;4BAErE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;4BACrC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;4BAEpH,MAAM,MAAM,GAAgB;gCAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gCAChB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;gCACjE,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gCACnE,aAAa;gCACb,KAAK,EAAE,KAAK,IAAI,SAAS;gCACzB,aAAa;6BACd,CAAC;4BAEF,IAAI,MAAM,oBAAoB,EAAE,EAAE,CAAC;gCACjC,OAAO;4BACT,CAAC;4BACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;4BACpC,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;wBACO,CAAC;oBACP,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;oBAC7C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAE1C,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,+EAA+E;gBAC/E,2EAA2E;gBAC3E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;oBACtD,MAAM,MAAM,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3H,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC;YAC7C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACjC,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAEjC,4CAA4C;YAC5C,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CACT,4BAA4B,IAAI,CAAC,oBAAoB,sDAAsD,IAAI,CAAC,eAAe,GAAG,CACnI,CAAC;YACJ,CAAC;YAED,0DAA0D;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACpF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC;YACvB,CAAC;YAED,IAAI,eAAe,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBACvC,wFAAwF;gBACxF,kFAAkF;gBAClF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,WAAW,sBAAsB,CAAC,CAAC;gBACzF,CAAC;gBAED,sFAAsF;gBACtF,uFAAuF;gBACvF,+EAA+E;gBAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,eAAe,CAAC,aAAa,GAAG,+BAA+B,CAAC,CAAC;gBACxH,IAAI,eAAe,CAAC,cAAc,GAAG,SAAS,IAAI,eAAe,CAAC,cAAc,GAAG,CAAC,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;oBACtH,MAAM,IAAI,KAAK,CAAC,oBAAoB,eAAe,CAAC,cAAc,OAAO,eAAe,CAAC,aAAa,sBAAsB,CAAC,CAAC;gBAChI,CAAC;gBACD,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC;gBAClD,MAAM,CAAC,IAAI,CACT,qDAAqD,eAAe,CAAC,cAAc,OAAO,eAAe,CAAC,aAAa,6BAA6B,CACrJ,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;gBACtD,MAAM,MAAM,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,wCAAwC;YACxC,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;gBACO,CAAC;YACP,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SessionExpiredError } from '../util/security.js';
|
|
1
2
|
const mockQueueManager = {
|
|
2
3
|
initialize: vi.fn().mockResolvedValue(undefined),
|
|
3
4
|
seedFromLlmsTxt: vi.fn().mockResolvedValue(0),
|
|
@@ -55,6 +56,7 @@ vi.mock('crawlee', () => ({
|
|
|
55
56
|
// Import after mocking
|
|
56
57
|
import { logger } from '../util/logger.js';
|
|
57
58
|
import { CrawleeCrawler } from './crawlee-crawler.js';
|
|
59
|
+
import { readLoginPageSignals } from './login-page-signals.js';
|
|
58
60
|
function getRequestHandler() {
|
|
59
61
|
return globalThis.__requestHandler;
|
|
60
62
|
}
|
|
@@ -391,6 +393,177 @@ describe('CrawleeCrawler', () => {
|
|
|
391
393
|
expect(mockQueueManager.addResult).toHaveBeenCalledTimes(allowed ? 1 : 0);
|
|
392
394
|
});
|
|
393
395
|
});
|
|
396
|
+
describe('session expiry', () => {
|
|
397
|
+
// Four indicators of the detector's six, so it clears the confidence bar on content alone
|
|
398
|
+
const LOGIN_BODY = 'Sign in with your username and password. Forgot password?';
|
|
399
|
+
function authenticatedPage({ url, bodyText, html = '', headings = [], asksForPassword = false }) {
|
|
400
|
+
const { page } = navigationPage(url, () => { }, vi.fn(async (fn) => fn === readLoginPageSignals
|
|
401
|
+
? {
|
|
402
|
+
text: bodyText,
|
|
403
|
+
hasPasswordInput: asksForPassword || html.includes('type="password"'),
|
|
404
|
+
headings,
|
|
405
|
+
frameSources: [],
|
|
406
|
+
}
|
|
407
|
+
: false));
|
|
408
|
+
return Object.assign(page, { content: vi.fn().mockResolvedValue(`<html><body>${bodyText}${html}</body></html>`) });
|
|
409
|
+
}
|
|
410
|
+
// The check only runs on a crawl that authenticated, so every case here starts from one
|
|
411
|
+
beforeEach(() => {
|
|
412
|
+
crawler.setStorageState({ cookies: [{ name: 'auth', value: 'token', domain: 'example.com', path: '/' }] });
|
|
413
|
+
});
|
|
414
|
+
async function crawlPages(pages, entry = 'https://example.com/docs') {
|
|
415
|
+
mockCrawlerRun.mockImplementationOnce(async () => {
|
|
416
|
+
for (const spec of pages) {
|
|
417
|
+
await runRequestHandler(authenticatedPage(spec), spec.url);
|
|
418
|
+
}
|
|
419
|
+
return successfulRunStats;
|
|
420
|
+
});
|
|
421
|
+
await collect(crawler, entry);
|
|
422
|
+
}
|
|
423
|
+
const docsPage = (n) => ({
|
|
424
|
+
url: `https://example.com/docs/${n}`,
|
|
425
|
+
bodyText: `Ordinary content about topic ${n}`,
|
|
426
|
+
headings: [`Topic ${n}`],
|
|
427
|
+
});
|
|
428
|
+
// One login page, whatever URL it was asked for
|
|
429
|
+
const loginPage = (n) => ({
|
|
430
|
+
url: `https://example.com/docs/${n}`,
|
|
431
|
+
bodyText: LOGIN_BODY,
|
|
432
|
+
headings: ['Sign in'],
|
|
433
|
+
asksForPassword: true,
|
|
434
|
+
});
|
|
435
|
+
it('fails the crawl when the first page is a login page', async () => {
|
|
436
|
+
await expect(crawlPages([{ url: 'https://example.com/docs', bodyText: LOGIN_BODY }])).rejects.toThrow(SessionExpiredError);
|
|
437
|
+
});
|
|
438
|
+
// A URL match is worth three of the detector's six indicators, so scoring the URL would make
|
|
439
|
+
// every page of this host a login page and no authenticated crawl of it possible. The wording
|
|
440
|
+
// has to reach the scored line - one indicator, which is past the cost gate and short of the
|
|
441
|
+
// confidence bar - and one page has to be the entry page, where a login page fails at once.
|
|
442
|
+
it('crawls a documentation site hosted on an auth subdomain', async () => {
|
|
443
|
+
const pages = ['', '/install', '/usage'].map((slug) => ({
|
|
444
|
+
url: `https://auth.example.com/docs${slug}`,
|
|
445
|
+
bodyText: `Signing in is covered elsewhere. This page is about ${slug || 'the basics'}.`,
|
|
446
|
+
}));
|
|
447
|
+
await expect(crawlPages(pages, 'https://auth.example.com/docs')).resolves.toBeUndefined();
|
|
448
|
+
expect(mockQueueManager.addResult).toHaveBeenCalledTimes(3);
|
|
449
|
+
});
|
|
450
|
+
// Same outcome whichever order they finish in, which "in a row" could never give
|
|
451
|
+
it.each([
|
|
452
|
+
['one login page answers several URLs', [docsPage(1), loginPage(2), loginPage(3), loginPage(4)]],
|
|
453
|
+
['real pages are interleaved with it', [docsPage(1), loginPage(2), docsPage(3), loginPage(4), docsPage(5), loginPage(6)]],
|
|
454
|
+
])('fails the crawl when %s', async (_label, pages) => {
|
|
455
|
+
await expect(crawlPages(pages)).rejects.toThrow(/one login page answered 3 different URLs/i);
|
|
456
|
+
});
|
|
457
|
+
// Too short for any one login page to come back three times, but they were still most of it
|
|
458
|
+
it('fails a short crawl that was mostly one login page', async () => {
|
|
459
|
+
await expect(crawlPages([docsPage(1), loginPage(2), loginPage(3)])).rejects.toThrow(/answered 2 of 3 URLs/i);
|
|
460
|
+
});
|
|
461
|
+
// Two indicators is the detector's bar but half of ours, or any page mentioning a username counts
|
|
462
|
+
it('ignores pages that only just trip the detector', async () => {
|
|
463
|
+
const pages = [1, 2, 3].map((n) => ({ ...loginPage(n), bodyText: 'Log in with your username.' }));
|
|
464
|
+
await expect(crawlPages([docsPage(0), ...pages])).resolves.toBeUndefined();
|
|
465
|
+
});
|
|
466
|
+
// Too small a share of the crawl for the after-the-fact rule; only the repeat count catches it
|
|
467
|
+
it('fails a long crawl where the session died near the end', async () => {
|
|
468
|
+
const tail = [1, 2, 3].map((n) => ({ ...loginPage(n), url: `https://example.com/docs/late-${n}` }));
|
|
469
|
+
await expect(crawlPages([...[1, 2, 3, 4, 5, 6, 7, 8].map(docsPage), ...tail])).rejects.toThrow(/one login page answered 3 different URLs/i);
|
|
470
|
+
});
|
|
471
|
+
// One branded button, with the only real evidence in the markup
|
|
472
|
+
it.each([
|
|
473
|
+
['a branded SSO button', 'Continue with SSO', '<form action="/login"><input type="password" name="p"></form>'],
|
|
474
|
+
['an almost wordless login shell', 'Continue', '<iframe src="/idp"></iframe><input type="password">'],
|
|
475
|
+
])('detects %s', async (_label, bodyText, html) => {
|
|
476
|
+
const pages = [1, 2, 3].map((n) => ({ url: `https://example.com/docs/${n}`, bodyText, html }));
|
|
477
|
+
await expect(crawlPages([docsPage(0), ...pages])).rejects.toThrow(SessionExpiredError);
|
|
478
|
+
});
|
|
479
|
+
// One page is documentation about signing in; the rule needs a page that came back
|
|
480
|
+
it('keeps crawling a two-page site whose second page is about signing in', async () => {
|
|
481
|
+
await expect(crawlPages([docsPage(1), { ...loginPage(2), url: 'https://example.com/docs/auth' }])).resolves.toBeUndefined();
|
|
482
|
+
});
|
|
483
|
+
// Exactly half, which "most of the crawl" has to include - otherwise a session dying at the
|
|
484
|
+
// midpoint of a short crawl passes
|
|
485
|
+
it('fails a crawl that was exactly half one login page', async () => {
|
|
486
|
+
await expect(crawlPages([docsPage(1), loginPage(2), docsPage(3), loginPage(4)])).rejects.toThrow(/answered 2 of 4 URLs/i);
|
|
487
|
+
});
|
|
488
|
+
// By arrival order, one ordinary page reading as a login page would fail the crawl on its own,
|
|
489
|
+
// with none of the repetition the rule is built on
|
|
490
|
+
it('does not treat whichever page finishes first as the entry page', async () => {
|
|
491
|
+
await expect(crawlPages([
|
|
492
|
+
{ url: 'https://example.com/docs/signing-in', bodyText: LOGIN_BODY },
|
|
493
|
+
{ url: 'https://example.com/docs', bodyText: 'Ordinary content on the page the crawl asked for' },
|
|
494
|
+
])).resolves.toBeUndefined();
|
|
495
|
+
});
|
|
496
|
+
// A login page's wording varies per request - a return parameter, a csrf token, an attempt
|
|
497
|
+
// counter - so the identity cannot rest on it. The form it puts in front of you does not vary.
|
|
498
|
+
it('fails the crawl when the login page varies by the text it carries', async () => {
|
|
499
|
+
const pages = [1, 2, 3].map((n) => ({ ...loginPage(n), bodyText: `${LOGIN_BODY} next=%2Fdocs%2F${n} token=a${n}f9c${n}` }));
|
|
500
|
+
await expect(crawlPages([docsPage(0), ...pages])).rejects.toThrow(/one login page answered 3 different URLs/i);
|
|
501
|
+
});
|
|
502
|
+
it('does not serialize the markup of a page with no sign of a login', async () => {
|
|
503
|
+
const ordinary = authenticatedPage(docsPage(1));
|
|
504
|
+
mockCrawlerRun.mockImplementationOnce(async () => {
|
|
505
|
+
await runRequestHandler(ordinary, docsPage(1).url);
|
|
506
|
+
return successfulRunStats;
|
|
507
|
+
});
|
|
508
|
+
await collect(crawler, 'https://example.com/docs');
|
|
509
|
+
expect(ordinary.content).not.toHaveBeenCalled();
|
|
510
|
+
});
|
|
511
|
+
// Shape alone cannot tell pages apart, so it never counts on its own
|
|
512
|
+
it.each([
|
|
513
|
+
['a theme that renders no headings', [1, 2, 3].map((n) => ({ ...docsPage(n), headings: [] }))],
|
|
514
|
+
[
|
|
515
|
+
'a reference template with fixed headings',
|
|
516
|
+
[1, 2, 3].map((n) => ({ ...docsPage(n), headings: ['Authentication', 'Request', 'Response'] })),
|
|
517
|
+
],
|
|
518
|
+
])('keeps crawling documentation pages that share %s', async (_label, pages) => {
|
|
519
|
+
const aboutSigningIn = pages.map((page) => ({ ...page, bodyText: LOGIN_BODY }));
|
|
520
|
+
await expect(crawlPages([docsPage(0), ...aboutSigningIn])).resolves.toBeUndefined();
|
|
521
|
+
expect(mockQueueManager.addResult).toHaveBeenCalledTimes(4);
|
|
522
|
+
});
|
|
523
|
+
// A sign-in box in the page furniture. What still differs is what each page is about.
|
|
524
|
+
it('keeps crawling a site whose every page carries a sign-in box', async () => {
|
|
525
|
+
const pages = [1, 2, 3].map((n) => ({ ...loginPage(n), bodyText: `${LOGIN_BODY} Topic ${n}`, headings: [`Topic ${n}`] }));
|
|
526
|
+
await expect(crawlPages([docsPage(0), ...pages])).resolves.toBeUndefined();
|
|
527
|
+
expect(mockQueueManager.addResult).toHaveBeenCalledTimes(4);
|
|
528
|
+
});
|
|
529
|
+
// A sign-in box and no headings: neither half is enough to call these one page
|
|
530
|
+
it('keeps crawling a heading-less site whose every page carries a sign-in box', async () => {
|
|
531
|
+
const pages = [1, 2, 3].map((n) => ({
|
|
532
|
+
...loginPage(n),
|
|
533
|
+
bodyText: `${LOGIN_BODY} ${'Ordinary content about topic '.repeat(8)}${n}`,
|
|
534
|
+
headings: [],
|
|
535
|
+
}));
|
|
536
|
+
await expect(crawlPages([docsPage(0), ...pages])).resolves.toBeUndefined();
|
|
537
|
+
expect(mockQueueManager.addResult).toHaveBeenCalledTimes(4);
|
|
538
|
+
});
|
|
539
|
+
// The heading of a login page names where it is sending you back to
|
|
540
|
+
it('fails the crawl when the login page heading names the URL it turned away', async () => {
|
|
541
|
+
const pages = [1, 2, 3].map((n) => ({
|
|
542
|
+
...loginPage(n),
|
|
543
|
+
headings: [`Sign in to continue to /docs/${n}`],
|
|
544
|
+
}));
|
|
545
|
+
await expect(crawlPages([docsPage(0), ...pages])).rejects.toThrow(/one login page answered 3 different URLs/i);
|
|
546
|
+
});
|
|
547
|
+
// At two, a site with two pages about signing in fails a crawl that is otherwise fine
|
|
548
|
+
it('keeps crawling when one login page has only answered twice', async () => {
|
|
549
|
+
await expect(crawlPages([...[1, 2, 3, 4, 5, 6].map(docsPage), loginPage(7), loginPage(8)])).resolves.toBeUndefined();
|
|
550
|
+
});
|
|
551
|
+
// Nothing in its text and no password field in the page, so the markup is the only evidence -
|
|
552
|
+
// and reading the markup is what the crawl skips for a page showing no sign of a login
|
|
553
|
+
it('fails the crawl when the entry page is a wordless login wall', async () => {
|
|
554
|
+
const wall = {
|
|
555
|
+
url: 'https://example.com/docs',
|
|
556
|
+
bodyText: 'Redirecting',
|
|
557
|
+
html: '<form action="/login"><input name="username"><img alt="Continue with Okta"></form>',
|
|
558
|
+
};
|
|
559
|
+
await expect(crawlPages([wall])).rejects.toThrow(SessionExpiredError);
|
|
560
|
+
});
|
|
561
|
+
// The beforeEach above authenticated, and this crawl must not have
|
|
562
|
+
it('does not check for login pages when the crawl never authenticated', async () => {
|
|
563
|
+
crawler = new CrawleeCrawler();
|
|
564
|
+
await expect(crawlPages([loginPage(1), loginPage(2), loginPage(3)])).resolves.toBeUndefined();
|
|
565
|
+
});
|
|
566
|
+
});
|
|
394
567
|
describe('authentication', () => {
|
|
395
568
|
it('should configure crawler with storage state when set', async () => {
|
|
396
569
|
const state = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawlee-crawler.test.js","sourceRoot":"","sources":["../../src/crawler/crawlee-crawler.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crawlee-crawler.test.js","sourceRoot":"","sources":["../../src/crawler/crawlee-crawler.test.ts"],"names":[],"mappings":"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"}
|