@cosmocoder/mcp-web-docs 2.0.8 → 2.0.9
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 +117 -7
- package/build/crawler/auth.js.map +1 -1
- package/build/crawler/auth.test.js +333 -83
- package/build/crawler/auth.test.js.map +1 -1
- package/build/crawler/browser-config.d.ts +1 -1
- package/build/crawler/browser-config.js +7 -1
- package/build/crawler/browser-config.js.map +1 -1
- package/build/crawler/browser-config.test.js +21 -25
- package/build/crawler/browser-config.test.js.map +1 -1
- package/build/crawler/crawlee-crawler.d.ts +3 -0
- package/build/crawler/crawlee-crawler.js +155 -12
- package/build/crawler/crawlee-crawler.js.map +1 -1
- package/build/crawler/crawlee-crawler.test.js +190 -143
- package/build/crawler/crawlee-crawler.test.js.map +1 -1
- package/build/crawler/github.js +3 -2
- package/build/crawler/github.js.map +1 -1
- package/build/crawler/llms-txt.js +2 -1
- package/build/crawler/llms-txt.js.map +1 -1
- package/build/index.js +13 -8
- package/build/index.js.map +1 -1
- package/build/setupTests.js +44 -0
- package/build/setupTests.js.map +1 -1
- package/build/util/favicon.js +2 -1
- package/build/util/favicon.js.map +1 -1
- package/build/util/favicon.test.js +27 -37
- package/build/util/favicon.test.js.map +1 -1
- package/build/util/outbound-request.d.ts +33 -0
- package/build/util/outbound-request.integration.test.d.ts +1 -0
- package/build/util/outbound-request.integration.test.js +149 -0
- package/build/util/outbound-request.integration.test.js.map +1 -0
- package/build/util/outbound-request.js +367 -0
- package/build/util/outbound-request.js.map +1 -0
- package/build/util/outbound-request.test.d.ts +1 -0
- package/build/util/outbound-request.test.js +224 -0
- package/build/util/outbound-request.test.js.map +1 -0
- package/build/util/security.js +1 -1
- package/build/util/security.js.map +1 -1
- package/build/util/security.test.js +1 -0
- package/build/util/security.test.js.map +1 -1
- package/package.json +8 -6
package/build/crawler/auth.js
CHANGED
|
@@ -3,7 +3,63 @@ import { mkdir, readFile, writeFile, access, chmod } from 'node:fs/promises';
|
|
|
3
3
|
import { join, resolve } from 'node:path';
|
|
4
4
|
import defaultBrowser from 'default-browser';
|
|
5
5
|
import { logger } from '../util/logger.js';
|
|
6
|
-
import { encryptData, decryptData, createSafeRegex, isSafeRegex, StorageStateSchema, StoredSessionSchema, safeJsonParse, detectLoginPage, isLoginPageUrl, SessionExpiredError, } from '../util/security.js';
|
|
6
|
+
import { encryptData, decryptData, createSafeRegex, isSafeRegex, StorageStateSchema, StoredSessionSchema, safeJsonParse, detectLoginPage, isLoginPageUrl, SessionExpiredError, validatePublicUrl, } from '../util/security.js';
|
|
7
|
+
import { BlockedOutboundRequestError, classifyOutboundFailure, getOutboundResponseError, getOutboundProxyUrl, isNavigationCancellationError, OutboundRequestFailedError, } from '../util/outbound-request.js';
|
|
8
|
+
function monitorMainFrameNavigations(page) {
|
|
9
|
+
let navigationError;
|
|
10
|
+
const pendingChecks = new Set();
|
|
11
|
+
const stopPage = (error) => {
|
|
12
|
+
if (!navigationError) {
|
|
13
|
+
navigationError = error;
|
|
14
|
+
void page.close().catch(() => { });
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const onResponse = (response) => {
|
|
18
|
+
const request = response.request();
|
|
19
|
+
if (!request.isNavigationRequest() || request.frame() !== page.mainFrame()) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const check = getOutboundResponseError(response)
|
|
23
|
+
.then((outboundError) => {
|
|
24
|
+
if (outboundError) {
|
|
25
|
+
stopPage(outboundError);
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
.catch((error) => {
|
|
29
|
+
stopPage(error instanceof OutboundRequestFailedError ? error : new OutboundRequestFailedError(String(error)));
|
|
30
|
+
})
|
|
31
|
+
.finally(() => pendingChecks.delete(check));
|
|
32
|
+
pendingChecks.add(check);
|
|
33
|
+
};
|
|
34
|
+
const onRequestFailed = (request) => {
|
|
35
|
+
if (request.isNavigationRequest() && request.frame() === page.mainFrame()) {
|
|
36
|
+
const errorText = request.failure()?.errorText ?? 'unknown network error';
|
|
37
|
+
if (!isNavigationCancellationError(errorText)) {
|
|
38
|
+
const check = classifyOutboundFailure(request.url())
|
|
39
|
+
.then(stopPage)
|
|
40
|
+
.catch(() => stopPage(new OutboundRequestFailedError(`Navigation failed: ${errorText}`)))
|
|
41
|
+
.finally(() => pendingChecks.delete(check));
|
|
42
|
+
pendingChecks.add(check);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
page.on('response', onResponse);
|
|
47
|
+
page.on('requestfailed', onRequestFailed);
|
|
48
|
+
return {
|
|
49
|
+
throwIfError: async () => {
|
|
50
|
+
while (pendingChecks.size > 0) {
|
|
51
|
+
await Promise.all(pendingChecks);
|
|
52
|
+
}
|
|
53
|
+
if (navigationError) {
|
|
54
|
+
throw navigationError;
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
stop: () => {
|
|
58
|
+
page.off('response', onResponse);
|
|
59
|
+
page.off('requestfailed', onRequestFailed);
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
7
63
|
/**
|
|
8
64
|
* Detect the user's default browser from OS settings using the default-browser package
|
|
9
65
|
* https://github.com/sindresorhus/default-browser
|
|
@@ -262,6 +318,7 @@ export class AuthManager {
|
|
|
262
318
|
logger.debug(`[AuthManager] Cookie timestamps look valid, performing browser-based validation...`);
|
|
263
319
|
let browser = null;
|
|
264
320
|
let context = null;
|
|
321
|
+
let navigationMonitor;
|
|
265
322
|
try {
|
|
266
323
|
const launcher = this.getBrowserLauncher(browserType);
|
|
267
324
|
const launchOptions = this.getLaunchOptions(browserType);
|
|
@@ -271,18 +328,27 @@ export class AuthManager {
|
|
|
271
328
|
...launchOptions,
|
|
272
329
|
});
|
|
273
330
|
const storageState = JSON.parse(storageStateJson);
|
|
274
|
-
context = await browser.newContext({
|
|
331
|
+
context = await browser.newContext({
|
|
332
|
+
storageState,
|
|
333
|
+
proxy: { server: await getOutboundProxyUrl(), bypass: '<-loopback>' },
|
|
334
|
+
});
|
|
275
335
|
const page = await context.newPage();
|
|
336
|
+
navigationMonitor = monitorMainFrameNavigations(page);
|
|
276
337
|
// Navigate to the protected URL and check the result
|
|
277
338
|
logger.debug(`[AuthManager] Navigating to ${url} to validate session...`);
|
|
278
339
|
const response = await page.goto(url, {
|
|
279
340
|
waitUntil: 'domcontentloaded',
|
|
280
341
|
timeout: 30000,
|
|
281
342
|
});
|
|
343
|
+
const initialOutboundError = await getOutboundResponseError(response);
|
|
344
|
+
if (initialOutboundError) {
|
|
345
|
+
throw initialOutboundError;
|
|
346
|
+
}
|
|
282
347
|
// Wait for potential JavaScript redirects
|
|
283
348
|
await page.waitForLoadState('networkidle', { timeout: 10000 }).catch(() => { });
|
|
284
349
|
// Additional wait for JS-based auth redirects (GitHub Pages, etc.)
|
|
285
350
|
await page.waitForTimeout(2000);
|
|
351
|
+
await navigationMonitor.throwIfError();
|
|
286
352
|
const finalUrl = page.url();
|
|
287
353
|
logger.debug(`[AuthManager] Final URL after navigation: ${finalUrl}`);
|
|
288
354
|
// Check 1: Were we redirected to a different domain (likely auth)?
|
|
@@ -292,6 +358,7 @@ export class AuthManager {
|
|
|
292
358
|
// Redirected to a different domain - check if it's a login page
|
|
293
359
|
if (isLoginPageUrl(finalUrl)) {
|
|
294
360
|
logger.warn(`[AuthManager] Session appears expired - redirected to login page: ${finalUrl}`);
|
|
361
|
+
await navigationMonitor.throwIfError();
|
|
295
362
|
return {
|
|
296
363
|
isValid: false,
|
|
297
364
|
reason: `Redirected to login page on different domain (${finalDomain})`,
|
|
@@ -304,6 +371,7 @@ export class AuthManager {
|
|
|
304
371
|
const status = response?.status();
|
|
305
372
|
if (status === 401 || status === 403) {
|
|
306
373
|
logger.warn(`[AuthManager] Session appears expired - received HTTP ${status}`);
|
|
374
|
+
await navigationMonitor.throwIfError();
|
|
307
375
|
return {
|
|
308
376
|
isValid: false,
|
|
309
377
|
reason: `Authentication failed with HTTP ${status}`,
|
|
@@ -317,6 +385,7 @@ export class AuthManager {
|
|
|
317
385
|
if (loginDetection.isLoginPage && loginDetection.confidence >= 0.5) {
|
|
318
386
|
logger.warn(`[AuthManager] Session appears expired - login page detected (confidence: ${loginDetection.confidence.toFixed(2)})`);
|
|
319
387
|
logger.debug(`[AuthManager] Login detection reasons: ${loginDetection.reasons.join(', ')}`);
|
|
388
|
+
await navigationMonitor.throwIfError();
|
|
320
389
|
return {
|
|
321
390
|
isValid: false,
|
|
322
391
|
reason: `Login page detected (confidence: ${Math.round(loginDetection.confidence * 100)}%)`,
|
|
@@ -325,10 +394,15 @@ export class AuthManager {
|
|
|
325
394
|
};
|
|
326
395
|
}
|
|
327
396
|
// Session appears valid
|
|
397
|
+
await navigationMonitor.throwIfError();
|
|
328
398
|
logger.info(`[AuthManager] ✓ Session for ${domain} is valid`);
|
|
329
399
|
return { isValid: true, finalUrl };
|
|
330
400
|
}
|
|
331
401
|
catch (error) {
|
|
402
|
+
await navigationMonitor?.throwIfError();
|
|
403
|
+
if (error instanceof BlockedOutboundRequestError || error instanceof OutboundRequestFailedError) {
|
|
404
|
+
throw error;
|
|
405
|
+
}
|
|
332
406
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
333
407
|
logger.error(`[AuthManager] Error validating session: ${errorMsg}`);
|
|
334
408
|
// On error, we can't confirm validity - treat as potentially invalid
|
|
@@ -338,6 +412,7 @@ export class AuthManager {
|
|
|
338
412
|
};
|
|
339
413
|
}
|
|
340
414
|
finally {
|
|
415
|
+
navigationMonitor?.stop();
|
|
341
416
|
if (context) {
|
|
342
417
|
await context.close().catch(() => { });
|
|
343
418
|
}
|
|
@@ -415,6 +490,9 @@ export class AuthManager {
|
|
|
415
490
|
const { browser: initialBrowserType, loginSuccessPattern, loginSuccessSelector, loginUrl, loginTimeoutSecs = 300, // 5 minutes default
|
|
416
491
|
} = options;
|
|
417
492
|
let browserType = initialBrowserType;
|
|
493
|
+
const targetUrl = loginUrl || url;
|
|
494
|
+
validatePublicUrl(url);
|
|
495
|
+
validatePublicUrl(targetUrl);
|
|
418
496
|
logger.info(`[AuthManager] === Starting Interactive Login ===`);
|
|
419
497
|
logger.info(`[AuthManager] Target URL: ${url}`);
|
|
420
498
|
logger.info(`[AuthManager] Options: browser=${browserType || 'auto-detect'}, loginUrl=${loginUrl || 'same as target'}, timeout=${loginTimeoutSecs}s`);
|
|
@@ -425,7 +503,6 @@ export class AuthManager {
|
|
|
425
503
|
}
|
|
426
504
|
logger.info(`[AuthManager] Using browser type: ${browserType}`);
|
|
427
505
|
const domain = new URL(url).hostname;
|
|
428
|
-
const targetUrl = loginUrl || url;
|
|
429
506
|
logger.info(`[AuthManager] Will open ${browserType} browser for authentication to ${domain}`);
|
|
430
507
|
logger.info(`[AuthManager] Please login in the browser window. You have ${loginTimeoutSecs} seconds.`);
|
|
431
508
|
logger.info(`[AuthManager] NOTE: This is a fresh browser - you will need to login manually.`);
|
|
@@ -444,6 +521,7 @@ export class AuthManager {
|
|
|
444
521
|
const domain = new URL(url).hostname;
|
|
445
522
|
const launcher = this.getBrowserLauncher(browserType);
|
|
446
523
|
const launchOptions = this.getLaunchOptions(browserType);
|
|
524
|
+
let stopMonitoring;
|
|
447
525
|
logger.info(`[AuthManager] Launching fresh ${browserType} browser...`);
|
|
448
526
|
logger.debug(`[AuthManager] Launch options:`, launchOptions);
|
|
449
527
|
try {
|
|
@@ -455,13 +533,28 @@ export class AuthManager {
|
|
|
455
533
|
logger.info(`[AuthManager] ✓ Browser launched successfully`);
|
|
456
534
|
this.activeContext = await this.activeBrowser.newContext({
|
|
457
535
|
viewport: { width: 1280, height: 800 },
|
|
536
|
+
proxy: { server: await getOutboundProxyUrl(), bypass: '<-loopback>' },
|
|
458
537
|
});
|
|
459
538
|
logger.debug(`[AuthManager] ✓ Browser context created`);
|
|
460
539
|
const page = await this.activeContext.newPage();
|
|
540
|
+
const navigationMonitor = monitorMainFrameNavigations(page);
|
|
541
|
+
stopMonitoring = navigationMonitor.stop;
|
|
461
542
|
logger.debug(`[AuthManager] ✓ New page created`);
|
|
462
543
|
// Navigate to login page
|
|
463
544
|
logger.info(`[AuthManager] Navigating to: ${targetUrl}`);
|
|
464
|
-
|
|
545
|
+
let response;
|
|
546
|
+
try {
|
|
547
|
+
response = await page.goto(targetUrl, { waitUntil: 'domcontentloaded' });
|
|
548
|
+
}
|
|
549
|
+
catch (error) {
|
|
550
|
+
await navigationMonitor.throwIfError();
|
|
551
|
+
throw error;
|
|
552
|
+
}
|
|
553
|
+
const initialOutboundError = await getOutboundResponseError(response);
|
|
554
|
+
if (initialOutboundError) {
|
|
555
|
+
throw initialOutboundError;
|
|
556
|
+
}
|
|
557
|
+
await navigationMonitor.throwIfError();
|
|
465
558
|
logger.info(`[AuthManager] ✓ Page loaded. Waiting for user to login...`);
|
|
466
559
|
logger.info(`[AuthManager] ⏳ You have ${loginTimeoutSecs} seconds to complete login.`);
|
|
467
560
|
// Wait for successful login
|
|
@@ -470,7 +563,7 @@ export class AuthManager {
|
|
|
470
563
|
successPattern: loginSuccessPattern,
|
|
471
564
|
successSelector: loginSuccessSelector,
|
|
472
565
|
timeoutSecs: loginTimeoutSecs,
|
|
473
|
-
});
|
|
566
|
+
}, navigationMonitor.throwIfError);
|
|
474
567
|
if (!loginSuccess) {
|
|
475
568
|
logger.error(`[AuthManager] ✗ Login timed out after ${loginTimeoutSecs} seconds`);
|
|
476
569
|
throw new Error('Login timed out or was cancelled');
|
|
@@ -478,6 +571,9 @@ export class AuthManager {
|
|
|
478
571
|
logger.info(`[AuthManager] ✓ Login detected!`);
|
|
479
572
|
// Extract and save the storage state
|
|
480
573
|
const storageState = await this.activeContext.storageState();
|
|
574
|
+
await navigationMonitor.throwIfError();
|
|
575
|
+
navigationMonitor.stop();
|
|
576
|
+
stopMonitoring = undefined;
|
|
481
577
|
const storageStateJson = JSON.stringify(storageState);
|
|
482
578
|
logger.debug(`[AuthManager] Storage state captured (${storageStateJson.length} bytes)`);
|
|
483
579
|
await this.saveSession(url, storageStateJson, browserType);
|
|
@@ -485,6 +581,7 @@ export class AuthManager {
|
|
|
485
581
|
return storageStateJson;
|
|
486
582
|
}
|
|
487
583
|
finally {
|
|
584
|
+
stopMonitoring?.();
|
|
488
585
|
await this.cleanup();
|
|
489
586
|
}
|
|
490
587
|
}
|
|
@@ -499,7 +596,7 @@ export class AuthManager {
|
|
|
499
596
|
* For multi-step OAuth flows (e.g., GitHub Pages → GitHub Login → Okta → back),
|
|
500
597
|
* the method tracks when the user returns to the original target domain.
|
|
501
598
|
*/
|
|
502
|
-
async waitForLogin(page, options) {
|
|
599
|
+
async waitForLogin(page, options, throwIfNavigationFailed) {
|
|
503
600
|
const { targetUrl, successPattern, successSelector, timeoutSecs } = options;
|
|
504
601
|
const startTime = Date.now();
|
|
505
602
|
const timeoutMs = timeoutSecs * 1000;
|
|
@@ -527,10 +624,12 @@ export class AuthManager {
|
|
|
527
624
|
logger.info(`[AuthManager] Waiting for URL to match pattern: ${successPattern}`);
|
|
528
625
|
try {
|
|
529
626
|
await page.waitForURL(pattern, { timeout: timeoutMs });
|
|
627
|
+
await throwIfNavigationFailed();
|
|
530
628
|
logger.info(`[AuthManager] ✓ URL matched success pattern`);
|
|
531
629
|
return true;
|
|
532
630
|
}
|
|
533
631
|
catch {
|
|
632
|
+
await throwIfNavigationFailed();
|
|
534
633
|
logger.debug(`[AuthManager] ✗ URL did not match pattern within timeout`);
|
|
535
634
|
return false;
|
|
536
635
|
}
|
|
@@ -539,10 +638,12 @@ export class AuthManager {
|
|
|
539
638
|
logger.info(`[AuthManager] Waiting for element: ${successSelector}`);
|
|
540
639
|
try {
|
|
541
640
|
await page.waitForSelector(successSelector, { timeout: timeoutMs });
|
|
641
|
+
await throwIfNavigationFailed();
|
|
542
642
|
logger.info(`[AuthManager] ✓ Success selector found`);
|
|
543
643
|
return true;
|
|
544
644
|
}
|
|
545
645
|
catch {
|
|
646
|
+
await throwIfNavigationFailed();
|
|
546
647
|
logger.debug(`[AuthManager] ✗ Selector not found within timeout`);
|
|
547
648
|
return false;
|
|
548
649
|
}
|
|
@@ -562,6 +663,7 @@ export class AuthManager {
|
|
|
562
663
|
const loginPagePattern = /login|signin|sign-in|auth|sso|oauth|session|okta|oktapreview|auth0|onelogin|pingone|pingidentity|pingfederate|duosecurity|adfs|saml|idp/i;
|
|
563
664
|
while (Date.now() - startTime < timeoutMs) {
|
|
564
665
|
try {
|
|
666
|
+
await throwIfNavigationFailed();
|
|
565
667
|
const currentUrl = page.url();
|
|
566
668
|
const elapsed = Math.round((Date.now() - startTime) / 1000);
|
|
567
669
|
// Extract current domain
|
|
@@ -604,8 +706,10 @@ export class AuthManager {
|
|
|
604
706
|
const hasUserMenu = (await page.locator('[class*="user"], [class*="avatar"], [class*="profile"]').count()) > 0;
|
|
605
707
|
// Success condition 1: Found logout button or user menu (and not on login page)
|
|
606
708
|
if (!isLoginPage && (hasLogoutButton || hasUserMenu)) {
|
|
709
|
+
await throwIfNavigationFailed();
|
|
607
710
|
logger.info(`[AuthManager] ✓ Login indicators found (logout button or user menu)`);
|
|
608
711
|
await page.waitForTimeout(1000);
|
|
712
|
+
await throwIfNavigationFailed();
|
|
609
713
|
return true;
|
|
610
714
|
}
|
|
611
715
|
// Success condition 2: Returned to target domain after visiting login page(s)
|
|
@@ -628,6 +732,7 @@ export class AuthManager {
|
|
|
628
732
|
finalDomain = '';
|
|
629
733
|
}
|
|
630
734
|
if (finalDomain === targetDomain || finalDomain.endsWith('.' + targetDomain)) {
|
|
735
|
+
await throwIfNavigationFailed();
|
|
631
736
|
logger.info(`[AuthManager] ✓ Confirmed on target domain: ${finalUrl}`);
|
|
632
737
|
return true;
|
|
633
738
|
}
|
|
@@ -640,6 +745,7 @@ export class AuthManager {
|
|
|
640
745
|
await page.waitForTimeout(1000);
|
|
641
746
|
}
|
|
642
747
|
catch (error) {
|
|
748
|
+
await throwIfNavigationFailed();
|
|
643
749
|
// Page might have navigated, which is fine
|
|
644
750
|
logger.debug(`[AuthManager] Error during login check (may be normal during navigation):`, error);
|
|
645
751
|
await page.waitForTimeout(1000);
|
|
@@ -657,6 +763,7 @@ export class AuthManager {
|
|
|
657
763
|
if (!storageStateJson) {
|
|
658
764
|
return null;
|
|
659
765
|
}
|
|
766
|
+
validatePublicUrl(url);
|
|
660
767
|
const launcher = this.getBrowserLauncher(browserType);
|
|
661
768
|
const launchOptions = this.getLaunchOptions(browserType);
|
|
662
769
|
const browser = await launcher.launch({
|
|
@@ -664,7 +771,10 @@ export class AuthManager {
|
|
|
664
771
|
...launchOptions,
|
|
665
772
|
});
|
|
666
773
|
const storageState = JSON.parse(storageStateJson);
|
|
667
|
-
const context = await browser.newContext({
|
|
774
|
+
const context = await browser.newContext({
|
|
775
|
+
storageState,
|
|
776
|
+
proxy: { server: await getOutboundProxyUrl(), bypass: '<-loopback>' },
|
|
777
|
+
});
|
|
668
778
|
return { browser, context };
|
|
669
779
|
}
|
|
670
780
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/crawler/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/crawler/auth.ts"],"names":[],"mappings":"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"}
|