@cosmocoder/mcp-web-docs 2.2.0 → 2.2.1

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.
@@ -1,7 +1,8 @@
1
1
  import { log } from 'crawlee';
2
2
  import { getOutboundProxyUrl } from '../util/outbound-request.js';
3
- // Suppress Crawlee's stdout logging for MCP compatibility
4
- // MCP servers must only output JSON-RPC messages to stdout
3
+ // MCP servers must write nothing but JSON-RPC to stdout, and Crawlee's logger sends its info and
4
+ // debug lines there. Off rather than raised to warning, because this project logs through
5
+ // util/logger, which writes to stderr - a Crawlee line would be a second, unprefixed channel.
5
6
  log.setLevel(log.LEVELS.OFF);
6
7
  export const getBrowserConfig = async (requestQueue) => ({
7
8
  maxRequestsPerCrawl: 1000,
@@ -1 +1 @@
1
- {"version":3,"file":"browser-config.js","sourceRoot":"","sources":["../../src/crawler/browser-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,GAAG,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,0DAA0D;AAC1D,2DAA2D;AAC3D,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAAsD,EACV,EAAE,CAAC,CAAC;IAChD,mBAAmB,EAAE,IAAI;IACzB,YAAY;IACZ,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,GAAG;IACzB,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,EAAE;IACzB,yBAAyB,EAAE,EAAE;IAC7B,aAAa,EAAE;QACb,aAAa,EAAE;YACb,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,mBAAmB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SACtE;KACF;IACD,kBAAkB,EAAE;QAClB,sBAAsB,EAAE,CAAC;QACzB,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,EAAE;QACxB,6BAA6B,EAAE,EAAE;KAClC;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,iBAAiB,EAAE,gBAAgB;gBACnC,MAAM,EAAE,4EAA4E;aACrF,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"browser-config.js","sourceRoot":"","sources":["../../src/crawler/browser-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,GAAG,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,iGAAiG;AACjG,0FAA0F;AAC1F,8FAA8F;AAC9F,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAAsD,EACV,EAAE,CAAC,CAAC;IAChD,mBAAmB,EAAE,IAAI;IACzB,YAAY;IACZ,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,GAAG;IACzB,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,EAAE;IACzB,yBAAyB,EAAE,EAAE;IAC7B,aAAa,EAAE;QACb,aAAa,EAAE;YACb,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,mBAAmB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SACtE;KACF;IACD,kBAAkB,EAAE;QAClB,sBAAsB,EAAE,CAAC;QACzB,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,EAAE;QACxB,6BAA6B,EAAE,EAAE;KAClC;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,iBAAiB,EAAE,gBAAgB;gBACnC,MAAM,EAAE,4EAA4E;aACrF,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -5,7 +5,7 @@ export declare class CrawleeCrawler extends BaseCrawler {
5
5
  private crawler;
6
6
  private queueManager;
7
7
  private storageState?;
8
- private sessionExpiredError;
8
+ private loginPageError;
9
9
  /**
10
10
  * Whether each URL the check looked at turned out to be a login wall, in the order they were first
11
11
  * seen. Keyed by the requested URL, so a page the crawl retried is one page and a wall reached by
@@ -55,7 +55,7 @@ export declare class CrawleeCrawler extends BaseCrawler {
55
55
  * A crawl can end before the window fills - a short site, or a session that died near the end. Walls
56
56
  * being most of what the crawl saw at all says the same thing after the fact.
57
57
  */
58
- private sessionExpiredAcrossCrawl;
58
+ private loginPageErrorAcrossCrawl;
59
59
  /**
60
60
  * Wait for the page to fully stabilize after navigation, handling:
61
61
  * - Client-side redirects (meta-refresh, JavaScript location changes) common in Docusaurus
@@ -6,7 +6,7 @@ import { getBrowserConfig } from './browser-config.js';
6
6
  import { cleanContent } from './content-utils.js';
7
7
  import { logger } from '../util/logger.js';
8
8
  import { isLoginWall, LOGIN_PAGE_CONFIDENCE, readLoginPageSignals } from './login-page-signals.js';
9
- import { detectLoginPage, redactUrlSecrets, SessionExpiredError } from '../util/security.js';
9
+ import { detectLoginPage, redactUrlSecrets, LoginPageServedError } 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) {
@@ -48,7 +48,7 @@ export class CrawleeCrawler extends BaseCrawler {
48
48
  crawler = null;
49
49
  queueManager = new QueueManager();
50
50
  storageState;
51
- sessionExpiredError = null;
51
+ loginPageError = null;
52
52
  /**
53
53
  * Whether each URL the check looked at turned out to be a login wall, in the order they were first
54
54
  * seen. Keyed by the requested URL, so a page the crawl retried is one page and a wall reached by
@@ -156,7 +156,7 @@ export class CrawleeCrawler extends BaseCrawler {
156
156
  if (isEntryPage && (this.storageState || isLoginWall(observed))) {
157
157
  logger.warn(`[CrawleeCrawler] First page appears to be a login page (confidence: ${detection.confidence.toFixed(2)})`);
158
158
  logger.debug(`[CrawleeCrawler] Detection reasons: ${detection.reasons.join(', ')}`);
159
- return new SessionExpiredError(this.loginPageMessage('the page the crawl was asked for is a login page'), this.expectedUrl, page.url(), detection);
159
+ return new LoginPageServedError(this.loginPageMessage('the page the crawl was asked for is a login page'), this.expectedUrl, page.url(), detection);
160
160
  }
161
161
  // Anything the detector flagged that is not a wall is left alone: a sign-in box in the site's
162
162
  // furniture reads as a login page on wording, and so does documentation about signing in.
@@ -179,13 +179,13 @@ export class CrawleeCrawler extends BaseCrawler {
179
179
  return 'skip';
180
180
  }
181
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);
182
+ return new LoginPageServedError(this.loginPageMessage(`${walls} of the last ${recent.length} pages the crawl saw were login walls`), this.expectedUrl, page.url(), detection);
183
183
  }
184
184
  /**
185
185
  * A crawl can end before the window fills - a short site, or a session that died near the end. Walls
186
186
  * being most of what the crawl saw at all says the same thing after the fact.
187
187
  */
188
- sessionExpiredAcrossCrawl() {
188
+ loginPageErrorAcrossCrawl() {
189
189
  const checked = this.wallByRequestedUrl.size;
190
190
  const walls = [...this.wallByRequestedUrl.values()].filter(Boolean).length;
191
191
  // A crawl that authenticated, for the reason given at the window rule
@@ -193,7 +193,7 @@ export class CrawleeCrawler extends BaseCrawler {
193
193
  return null;
194
194
  }
195
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`] });
196
+ return new LoginPageServedError(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`] });
197
197
  }
198
198
  /**
199
199
  * Wait for the page to fully stabilize after navigation, handling:
@@ -349,7 +349,7 @@ export class CrawleeCrawler extends BaseCrawler {
349
349
  async *crawl(url) {
350
350
  logger.debug(`[${this.constructor.name}] Starting crawl of: ${url}`);
351
351
  // Reset state for this crawl
352
- this.sessionExpiredError = null;
352
+ this.loginPageError = null;
353
353
  this.wallByRequestedUrl.clear();
354
354
  this.terminalRootFailure = undefined;
355
355
  this.rootPageFailed = false;
@@ -455,7 +455,7 @@ export class CrawleeCrawler extends BaseCrawler {
455
455
  this.navigationAttempts.delete(requestKey);
456
456
  await crawlerOptions.failedRequestHandler?.(context, error);
457
457
  },
458
- requestHandler: async ({ request, response, page, enqueueLinks, log }) => {
458
+ requestHandler: async ({ request, response, page, enqueueLinks }) => {
459
459
  const requestKey = request;
460
460
  this.cleanupNavigationListener(requestKey);
461
461
  this.navigationAttempts.delete(requestKey);
@@ -492,14 +492,14 @@ export class CrawleeCrawler extends BaseCrawler {
492
492
  await Promise.all(pendingNavigationChecks);
493
493
  if (mainFrameNavigationError) {
494
494
  if (mainFrameNavigationError instanceof BlockedOutboundRequestError) {
495
- log.warning(`Skipping blocked outbound destination: ${request.url}`);
495
+ logger.warn(`[CrawleeCrawler] Skipping blocked outbound destination: ${redactUrlSecrets(request.url)}`);
496
496
  return true;
497
497
  }
498
498
  throw mainFrameNavigationError;
499
499
  }
500
500
  const outboundError = await getOutboundResponseError(latestMainFrameResponse);
501
501
  if (outboundError instanceof BlockedOutboundRequestError) {
502
- log.warning(`Skipping blocked outbound destination: ${request.url}`);
502
+ logger.warn(`[CrawleeCrawler] Skipping blocked outbound destination: ${redactUrlSecrets(request.url)}`);
503
503
  return true;
504
504
  }
505
505
  if (outboundError) {
@@ -509,7 +509,7 @@ export class CrawleeCrawler extends BaseCrawler {
509
509
  };
510
510
  try {
511
511
  if (this.isAborting) {
512
- log.debug('Crawl aborted');
512
+ logger.debug('[CrawleeCrawler] Crawl aborted');
513
513
  return;
514
514
  }
515
515
  if (await shouldSkipNavigation()) {
@@ -518,7 +518,9 @@ export class CrawleeCrawler extends BaseCrawler {
518
518
  // Wait for initial page load
519
519
  await Promise.all([
520
520
  page.waitForLoadState('domcontentloaded'),
521
- page.waitForLoadState('networkidle', { timeout: 5000 }).catch(() => log.debug('Network idle timeout - continuing anyway')),
521
+ page
522
+ .waitForLoadState('networkidle', { timeout: 5000 })
523
+ .catch(() => logger.debug('[CrawleeCrawler] Network idle timeout - continuing anyway')),
522
524
  ]);
523
525
  // Handle client-side redirects (Docusaurus) and Cloudflare challenges
524
526
  await this.waitForPageStabilization(page);
@@ -535,18 +537,16 @@ export class CrawleeCrawler extends BaseCrawler {
535
537
  const requestedHostname = new URL(request.url).hostname;
536
538
  const actualHostname = new URL(actualUrl).hostname;
537
539
  if (isEntryPage) {
538
- // First page redirected outside domain - likely auth redirect (session expired)
539
540
  logger.warn(`[CrawleeCrawler] First page redirected outside allowed domain: ${requestedHostname} → ${actualHostname}`);
540
541
  if (this.storageState) {
541
- // We had auth but got redirected - session expired
542
- this.sessionExpiredError = new SessionExpiredError(`Authentication session has expired - page redirected to external domain (${actualHostname})`, this.expectedUrl, actualUrl, { isLoginPage: true, confidence: 1.0, reasons: [`Redirected from ${requestedHostname} to ${actualHostname}`] });
543
- log.error(`Session expired - redirected to external domain: ${actualHostname}. Aborting crawl.`);
542
+ this.loginPageError = new LoginPageServedError(`Authentication session has expired - page redirected to external domain (${actualHostname})`, this.expectedUrl, actualUrl, { isLoginPage: true, confidence: 1.0, reasons: [`Redirected from ${requestedHostname} to ${actualHostname}`] });
543
+ logger.error(`[CrawleeCrawler] Session expired - redirected to external domain: ${actualHostname}. Aborting crawl.`);
544
544
  this.abort();
545
545
  return;
546
546
  }
547
547
  else {
548
548
  // No auth but redirected - might be site misconfiguration
549
- log.error(`First page redirected to external domain: ${actualHostname}. Aborting crawl.`);
549
+ logger.error(`[CrawleeCrawler] First page redirected to external domain: ${actualHostname}. Aborting crawl.`);
550
550
  this.abort();
551
551
  return;
552
552
  }
@@ -560,8 +560,8 @@ export class CrawleeCrawler extends BaseCrawler {
560
560
  }
561
561
  // Every crawl, not only an authenticated one: indexing the wall as documentation is the bug
562
562
  const verdict = await this.checkForLoginPage(page, normalizeQueuedUrl(request.url), isEntryPage);
563
- if (verdict instanceof SessionExpiredError) {
564
- this.sessionExpiredError = verdict;
563
+ if (verdict instanceof LoginPageServedError) {
564
+ this.loginPageError = verdict;
565
565
  logger.error(`[CrawleeCrawler] ${verdict.message}. Aborting crawl.`);
566
566
  this.abort();
567
567
  return;
@@ -570,9 +570,9 @@ export class CrawleeCrawler extends BaseCrawler {
570
570
  for (const rule of siteRules) {
571
571
  if (await rule.detect(page)) {
572
572
  if (rule.prepare) {
573
- await rule.prepare(page, log);
573
+ await rule.prepare(page);
574
574
  }
575
- await this.queueManager.handleQueueAndLinks(enqueueLinks, log, rule);
575
+ await this.queueManager.handleQueueAndLinks(enqueueLinks, rule);
576
576
  // After the links, not before: a page skipped by mistake would otherwise take the whole
577
577
  // section under it out of the crawl, and the sparse nav of a small section is exactly the
578
578
  // page most likely to be mistaken for a wall.
@@ -633,10 +633,9 @@ export class CrawleeCrawler extends BaseCrawler {
633
633
  logger.warn(`[CrawleeCrawler] Left ${this.skippedLoginUrls.length} login ${this.skippedLoginUrls.length === 1 ? 'page' : 'pages'} out of the index; ` +
634
634
  'they had no content of their own');
635
635
  }
636
- // Check if we detected an expired session during crawling
637
- const sessionExpired = this.sessionExpiredError ?? this.sessionExpiredAcrossCrawl();
638
- if (sessionExpired) {
639
- throw sessionExpired;
636
+ const loginPage = this.loginPageError ?? this.loginPageErrorAcrossCrawl();
637
+ if (loginPage) {
638
+ throw loginPage;
640
639
  }
641
640
  if (finalStatistics.requestsFailed > 0) {
642
641
  // Losing the entry point is terminal however well the rest of the crawl went, and it is
@@ -659,8 +658,7 @@ export class CrawleeCrawler extends BaseCrawler {
659
658
  }
660
659
  }
661
660
  catch (error) {
662
- // Re-throw session expired errors as-is
663
- if (error instanceof SessionExpiredError) {
661
+ if (error instanceof LoginPageServedError) {
664
662
  throw error;
665
663
  }
666
664
  logger.debug('Crawler error:', error);
@@ -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,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AAC1H,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;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,4CAA4C,GAAG,CAAC,CAAC;AAEvD,2GAA2G;AAC3G,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAQrC,MAAM,OAAO,cAAe,SAAQ,WAAW;IACrC,OAAO,GAA6B,IAAI,CAAC;IACzC,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAChD,YAAY,CAAyB;IACrC,cAAc,GAAgC,IAAI,CAAC;IAC3D;;;;OAIG;IACK,kBAAkB,GAAyB,IAAI,GAAG,EAAE,CAAC;IACrD,WAAW,GAAW,EAAE,CAAC;IACjC,gFAAgF;IACxE,eAAe,GAAW,EAAE,CAAC;IACrC,iDAAiD;IACzC,oBAAoB,GAAW,CAAC,CAAC;IACjC,gBAAgB,GAAa,EAAE,CAAC;IAExC,+FAA+F;IAC/F,IAAI,oBAAoB;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,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;IAEO,gBAAgB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC,CAAC,uCAAuC,IAAI,EAAE,CAAC;IACzI,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,iBAAiB,CAAC,IAAU,EAAE,YAAoB,EAAE,WAAoB;QACpF,6FAA6F;QAC7F,iGAAiG;QACjG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,CAAC;QAC9F,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,8FAA8F;QAC9F,kGAAkG;QAClG,mGAAmG;QACnG,iFAAiF;QACjF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAChE,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,oBAAoB,CAC7B,IAAI,CAAC,gBAAgB,CAAC,kDAAkD,CAAC,EACzE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,EAAE,EACV,SAAS,CACV,CAAC;QACJ,CAAC;QAED,8FAA8F;QAC9F,0FAA0F;QAC1F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,4FAA4F;QAC5F,gGAAgG;QAChG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEhD,2CAA2C;QAC3C,EAAE;QACF,qGAAqG;QACrG,qGAAqG;QACrG,iGAAiG;QACjG,oFAAoF;QACpF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC5C,IAAI,KAAK,GAAG,4CAA4C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,gBAAgB,MAAM,CAAC,MAAM,yDAAyD,CAAC,CAAC;QAC7H,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,gBAAgB,MAAM,CAAC,MAAM,uCAAuC,CAAC,EACnG,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,EAAE,EACV,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC3E,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,GAAG,0BAA0B,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,OAAO,OAAO,iCAAiC,CAAC,CAAC;QACtF,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,WAAW,OAAO,uCAAuC,CAAC,EACxF,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,OAAO,OAAO,iCAAiC,CAAC,EAAE,CACzG,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,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,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;QAC9B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,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,EAAE,EAAE;gBAClE,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,MAAM,CAAC,IAAI,CAAC,2DAA2D,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACxG,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,MAAM,CAAC,IAAI,CAAC,2DAA2D,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACxG,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,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,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;6BACD,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6BAClD,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;qBAC1F,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,MAAM,CAAC,IAAI,CAAC,kEAAkE,iBAAiB,MAAM,cAAc,EAAE,CAAC,CAAC;4BAEvH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gCACtB,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAC5C,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,MAAM,CAAC,KAAK,CAAC,qEAAqE,cAAc,mBAAmB,CAAC,CAAC;gCACrH,IAAI,CAAC,KAAK,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;iCACI,CAAC;gCACJ,0DAA0D;gCAC1D,MAAM,CAAC,KAAK,CAAC,8DAA8D,cAAc,mBAAmB,CAAC,CAAC;gCAC9G,IAAI,CAAC,KAAK,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;wBACH,CAAC;6BACI,CAAC;4BACJ,sDAAsD;4BACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC5B,MAAM,CAAC,IAAI,CACT,kEAAkE,OAAO,CAAC,GAAG,MAAM,SAAS,aAAa,IAAI,CAAC,oBAAoB,kBAAkB,CACrJ,CAAC;4BACF,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,4FAA4F;oBAC5F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;oBACjG,IAAI,OAAO,YAAY,oBAAoB,EAAE,CAAC;wBAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;wBAC9B,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC;wBACrE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,OAAO;oBACT,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,CAAC,CAAC;4BAC3B,CAAC;4BAED,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;4BAEhE,wFAAwF;4BACxF,0FAA0F;4BAC1F,8CAA8C;4BAC9C,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gCACvB,oFAAoF;gCACpF,wEAAwE;gCACxE,MAAM,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gCAClE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCACpC,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,wDAAwD,CAAC,CAAC;gCAC9G,OAAO;4BACT,CAAC;4BAED,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;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CACT,yBAAyB,IAAI,CAAC,gBAAgB,CAAC,MAAM,UAAU,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,qBAAqB;oBACvI,kCAAkC,CACrC,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC1E,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC;YAClB,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,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;gBAC1C,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,4 +1,4 @@
1
- import { SessionExpiredError } from '../util/security.js';
1
+ import { LoginPageServedError } from '../util/security.js';
2
2
  const mockQueueManager = {
3
3
  initialize: vi.fn().mockResolvedValue(undefined),
4
4
  seedFromLlmsTxt: vi.fn().mockResolvedValue(0),
@@ -106,13 +106,12 @@ function navigationPage(url, onLoad, evaluate = vi.fn().mockResolvedValue(false)
106
106
  };
107
107
  return { page, listeners, mainFrame };
108
108
  }
109
- async function runRequestHandler(page, url, initialResponse = response(), warning = vi.fn()) {
109
+ async function runRequestHandler(page, url, initialResponse = response()) {
110
110
  await getRequestHandler()({
111
111
  request: { url },
112
112
  response: initialResponse,
113
113
  page,
114
114
  enqueueLinks: vi.fn(),
115
- log: { debug: vi.fn(), error: vi.fn(), warning },
116
115
  });
117
116
  }
118
117
  async function emitPreNavigationFailure(request, failedUrl) {
@@ -247,45 +246,43 @@ describe('CrawleeCrawler', () => {
247
246
  on: vi.fn(),
248
247
  off: vi.fn(),
249
248
  };
250
- const warning = vi.fn();
251
249
  mockCrawlerRun.mockImplementationOnce(async () => {
252
- await runRequestHandler(page, 'https://example.com/private', response(403, true), warning);
250
+ await runRequestHandler(page, 'https://example.com/private?session=abc123', response(403, true));
253
251
  });
254
252
  await collect(crawler, 'https://example.com/private');
255
- expect(warning).toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination'));
253
+ // The logger's own redaction leaves session, sid and passwd values alone, so the URL is
254
+ // redacted before it gets there
255
+ expect(logger.warn).toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination: https://example.com/private?session=[REDACTED]'));
256
256
  expect(page.waitForLoadState).not.toHaveBeenCalled();
257
257
  expect(mockQueueManager.addResult).not.toHaveBeenCalled();
258
258
  });
259
259
  it('does not index a client-side navigation blocked after the initial response', async () => {
260
260
  const { page, listeners } = navigationPage('https://example.com/docs', (emit) => emit.response(403, true));
261
- const warning = vi.fn();
262
261
  mockCrawlerRun.mockImplementationOnce(async () => {
263
- await runRequestHandler(page, 'https://example.com/docs', response(), warning);
262
+ await runRequestHandler(page, 'https://example.com/docs', response());
264
263
  });
265
264
  await collect(crawler, 'https://example.com/docs');
266
- expect(warning).toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination'));
265
+ expect(logger.warn).toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination'));
267
266
  expect(mockQueueManager.addResult).not.toHaveBeenCalled();
268
267
  expect(page.off).toHaveBeenCalledWith('response', listeners.response);
269
268
  });
270
269
  it('rethrows a later main-frame navigation failure for Crawlee to retry', async () => {
271
270
  const { page, listeners } = navigationPage('https://8.8.8.8/docs', (emit) => emit.failure('net::ERR_CONNECTION_REFUSED', 'https://8.8.8.8/docs'));
272
- const warning = vi.fn();
273
271
  mockCrawlerRun.mockImplementationOnce(async () => {
274
- await runRequestHandler(page, 'https://8.8.8.8/docs', response(), warning);
272
+ await runRequestHandler(page, 'https://8.8.8.8/docs', response());
275
273
  });
276
274
  await expect(collect(crawler, 'https://8.8.8.8/docs')).rejects.toThrow('Outbound destination unavailable');
277
- expect(warning).not.toHaveBeenCalled();
275
+ expect(logger.warn).not.toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination'));
278
276
  expect(mockQueueManager.addResult).not.toHaveBeenCalled();
279
277
  expect(page.off).toHaveBeenCalledWith('requestfailed', listeners.requestfailed);
280
278
  });
281
279
  it('treats a policy-blocked later navigation as handled without retry', async () => {
282
280
  const { page } = navigationPage('https://example.com/docs', (emit) => emit.failure('net::ERR_TUNNEL_CONNECTION_FAILED', 'http://127.0.0.1/docs'));
283
- const warning = vi.fn();
284
281
  mockCrawlerRun.mockImplementationOnce(async () => {
285
- await runRequestHandler(page, 'https://example.com/docs', response(), warning);
282
+ await runRequestHandler(page, 'https://example.com/docs', response());
286
283
  });
287
284
  await collect(crawler, 'https://example.com/docs');
288
- expect(warning).toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination'));
285
+ expect(logger.warn).toHaveBeenCalledWith(expect.stringContaining('blocked outbound destination'));
289
286
  expect(mockQueueManager.addResult).not.toHaveBeenCalled();
290
287
  });
291
288
  it('extracts a later successful page without altering Markdown after superseded navigation failures', async () => {
@@ -392,6 +389,24 @@ describe('CrawleeCrawler', () => {
392
389
  await collect(crawler, 'https://example.com/docs');
393
390
  expect(mockQueueManager.addResult).toHaveBeenCalledTimes(allowed ? 1 : 0);
394
391
  });
392
+ // The entry page leaving the site is where a crawl ends with nothing, so the reason has to reach
393
+ // stderr. Which reason it is depends on whether there was a session to lose.
394
+ it.each([
395
+ ['a crawl with a session blames the session', true, /Session expired - redirected to external domain/],
396
+ ['a crawl without one does not', false, /First page redirected to external domain/],
397
+ ])('%s when the entry page redirects off the site', async (_label, authenticated, expected) => {
398
+ if (authenticated) {
399
+ crawler.setStorageState({ cookies: [] });
400
+ }
401
+ const { page } = navigationPage('https://example.net/login', () => { });
402
+ mockCrawlerRun.mockImplementationOnce(async () => {
403
+ await runRequestHandler(page, 'https://example.com/docs');
404
+ return successfulRunStats;
405
+ });
406
+ // Only the authenticated branch has an error to throw; both abort, and both have to say why
407
+ await collect(crawler, 'https://example.com/docs').catch(() => undefined);
408
+ expect(logger.error).toHaveBeenCalledWith(expect.stringMatching(expected));
409
+ });
395
410
  });
396
411
  describe('session expiry', () => {
397
412
  // Four indicators of the detector's six, so it clears the confidence bar on content alone
@@ -504,7 +519,7 @@ describe('CrawleeCrawler', () => {
504
519
  ['an almost wordless login shell', 'Continue', '<iframe src="/idp"></iframe><input type="password">'],
505
520
  ])('detects %s', async (_label, bodyText, html) => {
506
521
  const pages = [1, 2, 3].map((n) => ({ url: `https://example.com/docs/${n}`, bodyText, html }));
507
- await expect(crawlPages([docsPage(0), ...pages])).rejects.toThrow(SessionExpiredError);
522
+ await expect(crawlPages([docsPage(0), ...pages])).rejects.toThrow(LoginPageServedError);
508
523
  });
509
524
  // What a documentation site does that reads like a login page. Both clear the detector's own bar;
510
525
  // what keeps them in the index is the wall rule, which needs a page with only the form on it.