cbrowser 18.18.4 → 18.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
- package/dist/analysis/accessibility-empathy.js +2 -1
- package/dist/analysis/accessibility-empathy.js.map +1 -1
- package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
- package/dist/analysis/agent-ready-audit.js +2 -1
- package/dist/analysis/agent-ready-audit.js.map +1 -1
- package/dist/analysis/competitive-benchmark.d.ts.map +1 -1
- package/dist/analysis/competitive-benchmark.js +2 -1
- package/dist/analysis/competitive-benchmark.js.map +1 -1
- package/dist/browser.d.ts +33 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +218 -25
- package/dist/browser.js.map +1 -1
- package/dist/cli.js +243 -27
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lightpanda.d.ts +136 -0
- package/dist/lightpanda.d.ts.map +1 -0
- package/dist/lightpanda.js +293 -0
- package/dist/lightpanda.js.map +1 -0
- package/dist/remediation/llms-txt.d.ts.map +1 -1
- package/dist/remediation/llms-txt.js +2 -1
- package/dist/remediation/llms-txt.js.map +1 -1
- package/dist/remediation/structured-data.d.ts.map +1 -1
- package/dist/remediation/structured-data.js +2 -1
- package/dist/remediation/structured-data.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* await browser.close();
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
export { CBrowser } from "./browser.js";
|
|
19
|
+
export { CBrowser, launchBrowserWithFallback, isBrowserNotInstalledError, installPlaywrightBrowsers, getBrowserInstallErrorMessage } from "./browser.js";
|
|
20
20
|
export { getDefaultConfig, getPaths, ensureDirectories, mergeConfig } from "./config.js";
|
|
21
21
|
export type { CBrowserConfig, CBrowserPaths, BrowserType } from "./config.js";
|
|
22
22
|
export * from "./types.js";
|
|
@@ -38,4 +38,6 @@ export * from "./values/index.js";
|
|
|
38
38
|
export { registerAllPublicTools, registerBaseTools, registerPersonaCreationTools, registerAskUserTool, registerEnterpriseStubs, registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, registerRemediationTools, registerLlmsTxtTools, } from "./mcp-tools/index.js";
|
|
39
39
|
export type { ToolRegistrationContext } from "./mcp-tools/index.js";
|
|
40
40
|
export * from "./security/index.js";
|
|
41
|
+
export { connectToLightpanda, launchWithLightpandaFallback, getLightpandaStatus, isLightpandaConfigured, shouldUseLightpanda, getLightpandaConfig, LIGHTPANDA_SETUP_GUIDE, LIGHTPANDA_LOCAL_ENDPOINT, LIGHTPANDA_CLOUD_ENDPOINT, } from "./lightpanda.js";
|
|
42
|
+
export type { LightpandaConfig, LightpandaConnectionResult } from "./lightpanda.js";
|
|
41
43
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACzJ,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIvH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,cAAc,oBAAoB,CAAC;AAInC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,4BAA4B,CAAC;AAI3C,cAAc,mBAAmB,CAAC;AAIlC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB,EAEvB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,cAAc,qBAAqB,CAAC;AAIpC,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* await browser.close();
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
export { CBrowser } from "./browser.js";
|
|
19
|
+
export { CBrowser, launchBrowserWithFallback, isBrowserNotInstalledError, installPlaywrightBrowsers, getBrowserInstallErrorMessage } from "./browser.js";
|
|
20
20
|
export { getDefaultConfig, getPaths, ensureDirectories, mergeConfig } from "./config.js";
|
|
21
21
|
export * from "./types.js";
|
|
22
22
|
export { BUILTIN_PERSONAS, registerPersonas } from "./personas.js";
|
|
@@ -56,4 +56,7 @@ export { registerAllPublicTools, registerBaseTools, registerPersonaCreationTools
|
|
|
56
56
|
registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, registerRemediationTools, registerLlmsTxtTools, } from "./mcp-tools/index.js";
|
|
57
57
|
// Security module (v18.0.0) - Request signing and audit logging
|
|
58
58
|
export * from "./security/index.js";
|
|
59
|
+
// Lightpanda Integration (v18.19.0) - High-performance headless browser
|
|
60
|
+
// Uses CDP connection for 11x faster, 9x less memory headless browsing
|
|
61
|
+
export { connectToLightpanda, launchWithLightpandaFallback, getLightpandaStatus, isLightpandaConfigured, shouldUseLightpanda, getLightpandaConfig, LIGHTPANDA_SETUP_GUIDE, LIGHTPANDA_LOCAL_ENDPOINT, LIGHTPANDA_CLOUD_ENDPOINT, } from "./lightpanda.js";
|
|
59
62
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACzJ,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,yEAAyE;AACzE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,+BAA+B;AAC/B,cAAc,wBAAwB,CAAC;AAEvC,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6CAA6C;AAC7C,uDAAuD;AACvD,cAAc,oBAAoB,CAAC;AAEnC,sEAAsE;AACtE,cAAc,4BAA4B,CAAC;AAE3C,2EAA2E;AAC3E,oEAAoE;AACpE,cAAc,mBAAmB,CAAC;AAElC,sDAAsD;AACtD,6DAA6D;AAC7D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB;AACvB,8CAA8C;AAC9C,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,gEAAgE;AAChE,cAAc,qBAAqB,CAAC;AAEpC,wEAAwE;AACxE,uEAAuE;AACvE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBrowser - Cognitive Browser Automation
|
|
3
|
+
* Copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com
|
|
4
|
+
* Learn more at https://cbrowser.ai - MIT License
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Lightpanda Integration
|
|
8
|
+
*
|
|
9
|
+
* Lightpanda is a high-performance headless browser written in Zig.
|
|
10
|
+
* It's 11x faster and uses 9x less memory than Chrome headless.
|
|
11
|
+
*
|
|
12
|
+
* This module provides CDP-based integration with Playwright, allowing
|
|
13
|
+
* CBrowser to use Lightpanda as an alternative browser backend.
|
|
14
|
+
*
|
|
15
|
+
* @see https://lightpanda.io/
|
|
16
|
+
* @since 18.19.0
|
|
17
|
+
*/
|
|
18
|
+
import { chromium, type Browser } from "playwright";
|
|
19
|
+
/**
|
|
20
|
+
* Lightpanda connection configuration
|
|
21
|
+
*/
|
|
22
|
+
export interface LightpandaConfig {
|
|
23
|
+
/** WebSocket endpoint (e.g., ws://127.0.0.1:9222, wss://cloud.lightpanda.io/ws) */
|
|
24
|
+
endpoint?: string;
|
|
25
|
+
/** API token for cloud connections */
|
|
26
|
+
token?: string;
|
|
27
|
+
/** Connection timeout in ms (default: 30000) */
|
|
28
|
+
timeout?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Lightpanda connection result
|
|
32
|
+
*/
|
|
33
|
+
export interface LightpandaConnectionResult {
|
|
34
|
+
success: boolean;
|
|
35
|
+
browser?: Browser;
|
|
36
|
+
endpoint?: string;
|
|
37
|
+
error?: string;
|
|
38
|
+
isCloud: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Default local endpoint for Lightpanda
|
|
42
|
+
*/
|
|
43
|
+
export declare const LIGHTPANDA_LOCAL_ENDPOINT = "ws://127.0.0.1:9222";
|
|
44
|
+
/**
|
|
45
|
+
* Cloud endpoint template
|
|
46
|
+
*/
|
|
47
|
+
export declare const LIGHTPANDA_CLOUD_ENDPOINT = "wss://euwest.cloud.lightpanda.io/ws";
|
|
48
|
+
/**
|
|
49
|
+
* Get Lightpanda configuration from environment variables
|
|
50
|
+
*/
|
|
51
|
+
export declare function getLightpandaConfig(): LightpandaConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Check if Lightpanda is configured and should be used
|
|
54
|
+
*/
|
|
55
|
+
export declare function isLightpandaConfigured(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Check if Lightpanda should be preferred for the current operation
|
|
58
|
+
*
|
|
59
|
+
* Lightpanda is preferred for:
|
|
60
|
+
* - Headless operations (no GUI needed)
|
|
61
|
+
* - Non-visual audits (agent-ready, empathy audit, etc.)
|
|
62
|
+
* - Performance-critical batch operations
|
|
63
|
+
*
|
|
64
|
+
* Lightpanda is NOT suitable for:
|
|
65
|
+
* - Visual regression testing (rendering differences)
|
|
66
|
+
* - Cross-browser testing (only Chromium-compatible)
|
|
67
|
+
* - Operations requiring full browser feature parity
|
|
68
|
+
*/
|
|
69
|
+
export declare function shouldUseLightpanda(options: {
|
|
70
|
+
headless?: boolean;
|
|
71
|
+
requiresVisualAccuracy?: boolean;
|
|
72
|
+
browserType?: string;
|
|
73
|
+
}): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Build the Lightpanda WebSocket URL
|
|
76
|
+
*/
|
|
77
|
+
export declare function buildLightpandaUrl(config: LightpandaConfig): string;
|
|
78
|
+
/**
|
|
79
|
+
* Check if a Lightpanda server is available at the given endpoint
|
|
80
|
+
*
|
|
81
|
+
* Uses Playwright's connectOverCDP with a short timeout to verify connectivity.
|
|
82
|
+
*/
|
|
83
|
+
export declare function checkLightpandaAvailability(endpoint?: string, timeout?: number): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Connect to Lightpanda via CDP
|
|
86
|
+
*
|
|
87
|
+
* Lightpanda exposes a Chrome DevTools Protocol (CDP) interface,
|
|
88
|
+
* which Playwright can connect to using chromium.connectOverCDP().
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* // Local Lightpanda instance
|
|
93
|
+
* const result = await connectToLightpanda({ endpoint: "ws://127.0.0.1:9222" });
|
|
94
|
+
*
|
|
95
|
+
* // Lightpanda Cloud
|
|
96
|
+
* const result = await connectToLightpanda({ token: "your-api-token" });
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare function connectToLightpanda(config?: LightpandaConfig): Promise<LightpandaConnectionResult>;
|
|
100
|
+
/**
|
|
101
|
+
* Launch a browser with Lightpanda fallback
|
|
102
|
+
*
|
|
103
|
+
* Tries Lightpanda first (if configured), then falls back to Playwright.
|
|
104
|
+
* This enables automatic performance optimization when Lightpanda is available.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* // Environment: LIGHTPANDA_ENDPOINT=ws://127.0.0.1:9222
|
|
109
|
+
* const browser = await launchWithLightpandaFallback({ headless: true });
|
|
110
|
+
* // Uses Lightpanda if available, otherwise Playwright Chromium
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function launchWithLightpandaFallback(options: {
|
|
114
|
+
headless?: boolean;
|
|
115
|
+
requiresVisualAccuracy?: boolean;
|
|
116
|
+
browserType?: "chromium" | "firefox" | "webkit";
|
|
117
|
+
launchOptions?: Parameters<typeof chromium.launch>[0];
|
|
118
|
+
}): Promise<{
|
|
119
|
+
browser: Browser;
|
|
120
|
+
isLightpanda: boolean;
|
|
121
|
+
}>;
|
|
122
|
+
/**
|
|
123
|
+
* Get Lightpanda status information
|
|
124
|
+
*/
|
|
125
|
+
export declare function getLightpandaStatus(): Promise<{
|
|
126
|
+
configured: boolean;
|
|
127
|
+
available: boolean;
|
|
128
|
+
endpoint: string;
|
|
129
|
+
isCloud: boolean;
|
|
130
|
+
error?: string;
|
|
131
|
+
}>;
|
|
132
|
+
/**
|
|
133
|
+
* Lightpanda setup instructions
|
|
134
|
+
*/
|
|
135
|
+
export declare const LIGHTPANDA_SETUP_GUIDE = "\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551 Lightpanda Setup - High-Performance Headless Browser \u2551\n\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n\nLightpanda is 11x faster and uses 9x less memory than Chrome headless.\nIt's ideal for AI agents, web scraping, and automated testing.\n\n\u2501\u2501\u2501 Option 1: Local Installation \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nDocker (recommended):\n docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly\n\nBinary (Linux/macOS):\n curl -LO https://github.com/nicecoder/lightpanda/releases/latest/download/lightpanda\n chmod +x lightpanda\n ./lightpanda serve --host 127.0.0.1 --port 9222\n\nThen set environment variable:\n export LIGHTPANDA_ENDPOINT=ws://127.0.0.1:9222\n\n\u2501\u2501\u2501 Option 2: Lightpanda Cloud \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n1. Sign up at https://lightpanda.io/\n2. Get your API token from the dashboard\n3. Set environment variable:\n export LIGHTPANDA_TOKEN=your-api-token\n\n\u2501\u2501\u2501 Verification \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nCheck status:\n npx cbrowser lightpanda-status\n\nTest connection:\n npx cbrowser screenshot https://example.com --lightpanda\n\n\u2501\u2501\u2501 When to Use Lightpanda \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n\u2705 Great for:\n \u2022 Agent-ready audits\n \u2022 Empathy audits\n \u2022 Web scraping\n \u2022 API testing\n \u2022 Performance-critical batch operations\n\n\u274C Not suitable for:\n \u2022 Visual regression testing (use Playwright Chromium)\n \u2022 Cross-browser testing (Firefox/WebKit not supported)\n \u2022 Operations requiring pixel-perfect rendering\n\n\u2501\u2501\u2501 More Information \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nDocumentation: https://lightpanda.io/docs\nGitHub: https://github.com/nicecoder/lightpanda\nCBrowser Integration: https://cbrowser.ai/docs/lightpanda\n";
|
|
136
|
+
//# sourceMappingURL=lightpanda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightpanda.d.ts","sourceRoot":"","sources":["../src/lightpanda.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAMtD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAIhD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAkBV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAmBnE;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,GAAE,MAAkC,EAC5C,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,0BAA0B,CAAC,CA6BrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAwCvD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAmCD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,uoIAuDlC,CAAC"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBrowser - Cognitive Browser Automation
|
|
3
|
+
* Copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com
|
|
4
|
+
* Learn more at https://cbrowser.ai - MIT License
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Lightpanda Integration
|
|
8
|
+
*
|
|
9
|
+
* Lightpanda is a high-performance headless browser written in Zig.
|
|
10
|
+
* It's 11x faster and uses 9x less memory than Chrome headless.
|
|
11
|
+
*
|
|
12
|
+
* This module provides CDP-based integration with Playwright, allowing
|
|
13
|
+
* CBrowser to use Lightpanda as an alternative browser backend.
|
|
14
|
+
*
|
|
15
|
+
* @see https://lightpanda.io/
|
|
16
|
+
* @since 18.19.0
|
|
17
|
+
*/
|
|
18
|
+
import { chromium } from "playwright";
|
|
19
|
+
/**
|
|
20
|
+
* Default local endpoint for Lightpanda
|
|
21
|
+
*/
|
|
22
|
+
export const LIGHTPANDA_LOCAL_ENDPOINT = "ws://127.0.0.1:9222";
|
|
23
|
+
/**
|
|
24
|
+
* Cloud endpoint template
|
|
25
|
+
*/
|
|
26
|
+
export const LIGHTPANDA_CLOUD_ENDPOINT = "wss://euwest.cloud.lightpanda.io/ws";
|
|
27
|
+
/**
|
|
28
|
+
* Get Lightpanda configuration from environment variables
|
|
29
|
+
*/
|
|
30
|
+
export function getLightpandaConfig() {
|
|
31
|
+
return {
|
|
32
|
+
endpoint: process.env.LIGHTPANDA_ENDPOINT,
|
|
33
|
+
token: process.env.LIGHTPANDA_TOKEN,
|
|
34
|
+
timeout: parseInt(process.env.LIGHTPANDA_TIMEOUT || "30000", 10) || 30000,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if Lightpanda is configured and should be used
|
|
39
|
+
*/
|
|
40
|
+
export function isLightpandaConfigured() {
|
|
41
|
+
const config = getLightpandaConfig();
|
|
42
|
+
// Configured if either local endpoint is set, or cloud token is provided
|
|
43
|
+
return !!(config.endpoint || config.token);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Check if Lightpanda should be preferred for the current operation
|
|
47
|
+
*
|
|
48
|
+
* Lightpanda is preferred for:
|
|
49
|
+
* - Headless operations (no GUI needed)
|
|
50
|
+
* - Non-visual audits (agent-ready, empathy audit, etc.)
|
|
51
|
+
* - Performance-critical batch operations
|
|
52
|
+
*
|
|
53
|
+
* Lightpanda is NOT suitable for:
|
|
54
|
+
* - Visual regression testing (rendering differences)
|
|
55
|
+
* - Cross-browser testing (only Chromium-compatible)
|
|
56
|
+
* - Operations requiring full browser feature parity
|
|
57
|
+
*/
|
|
58
|
+
export function shouldUseLightpanda(options) {
|
|
59
|
+
// Only use Lightpanda for headless chromium operations
|
|
60
|
+
if (options.browserType && options.browserType !== "chromium") {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
// Don't use for visual accuracy requirements
|
|
64
|
+
if (options.requiresVisualAccuracy) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
// Only use for headless mode
|
|
68
|
+
if (options.headless === false) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Check if configured
|
|
72
|
+
return isLightpandaConfigured();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Build the Lightpanda WebSocket URL
|
|
76
|
+
*/
|
|
77
|
+
export function buildLightpandaUrl(config) {
|
|
78
|
+
// If explicit endpoint provided, use it
|
|
79
|
+
if (config.endpoint) {
|
|
80
|
+
let url = config.endpoint;
|
|
81
|
+
// Append token if provided and endpoint doesn't have it
|
|
82
|
+
if (config.token && !url.includes("token=")) {
|
|
83
|
+
const separator = url.includes("?") ? "&" : "?";
|
|
84
|
+
url = `${url}${separator}token=${config.token}`;
|
|
85
|
+
}
|
|
86
|
+
return url;
|
|
87
|
+
}
|
|
88
|
+
// If only token provided, use cloud endpoint
|
|
89
|
+
if (config.token) {
|
|
90
|
+
return `${LIGHTPANDA_CLOUD_ENDPOINT}?token=${config.token}`;
|
|
91
|
+
}
|
|
92
|
+
// Default to local endpoint
|
|
93
|
+
return LIGHTPANDA_LOCAL_ENDPOINT;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check if a Lightpanda server is available at the given endpoint
|
|
97
|
+
*
|
|
98
|
+
* Uses Playwright's connectOverCDP with a short timeout to verify connectivity.
|
|
99
|
+
*/
|
|
100
|
+
export async function checkLightpandaAvailability(endpoint = LIGHTPANDA_LOCAL_ENDPOINT, timeout = 5000) {
|
|
101
|
+
try {
|
|
102
|
+
const browser = await chromium.connectOverCDP(endpoint, { timeout });
|
|
103
|
+
await browser.close();
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Connect to Lightpanda via CDP
|
|
112
|
+
*
|
|
113
|
+
* Lightpanda exposes a Chrome DevTools Protocol (CDP) interface,
|
|
114
|
+
* which Playwright can connect to using chromium.connectOverCDP().
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* // Local Lightpanda instance
|
|
119
|
+
* const result = await connectToLightpanda({ endpoint: "ws://127.0.0.1:9222" });
|
|
120
|
+
*
|
|
121
|
+
* // Lightpanda Cloud
|
|
122
|
+
* const result = await connectToLightpanda({ token: "your-api-token" });
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export async function connectToLightpanda(config) {
|
|
126
|
+
const cfg = config || getLightpandaConfig();
|
|
127
|
+
const endpoint = buildLightpandaUrl(cfg);
|
|
128
|
+
const isCloud = endpoint.includes("cloud.lightpanda.io");
|
|
129
|
+
try {
|
|
130
|
+
// Use Playwright's CDP connection
|
|
131
|
+
const browser = await chromium.connectOverCDP(endpoint, {
|
|
132
|
+
timeout: cfg.timeout || 30000,
|
|
133
|
+
});
|
|
134
|
+
console.log(`🐼 Connected to Lightpanda ${isCloud ? "(Cloud)" : "(Local)"}`);
|
|
135
|
+
return {
|
|
136
|
+
success: true,
|
|
137
|
+
browser,
|
|
138
|
+
endpoint,
|
|
139
|
+
isCloud,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
144
|
+
return {
|
|
145
|
+
success: false,
|
|
146
|
+
error: `Failed to connect to Lightpanda at ${endpoint}: ${message}`,
|
|
147
|
+
endpoint,
|
|
148
|
+
isCloud,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Launch a browser with Lightpanda fallback
|
|
154
|
+
*
|
|
155
|
+
* Tries Lightpanda first (if configured), then falls back to Playwright.
|
|
156
|
+
* This enables automatic performance optimization when Lightpanda is available.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* // Environment: LIGHTPANDA_ENDPOINT=ws://127.0.0.1:9222
|
|
161
|
+
* const browser = await launchWithLightpandaFallback({ headless: true });
|
|
162
|
+
* // Uses Lightpanda if available, otherwise Playwright Chromium
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export async function launchWithLightpandaFallback(options) {
|
|
166
|
+
const { headless = true, requiresVisualAccuracy = false, browserType = "chromium", launchOptions = {} } = options;
|
|
167
|
+
// Check if we should try Lightpanda
|
|
168
|
+
if (shouldUseLightpanda({ headless, requiresVisualAccuracy, browserType })) {
|
|
169
|
+
const result = await connectToLightpanda();
|
|
170
|
+
if (result.success && result.browser) {
|
|
171
|
+
return {
|
|
172
|
+
browser: result.browser,
|
|
173
|
+
isLightpanda: true,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// Log fallback reason if verbose
|
|
177
|
+
if (process.env.CBROWSER_VERBOSE === "true") {
|
|
178
|
+
console.log(`⚠️ Lightpanda unavailable: ${result.error}`);
|
|
179
|
+
console.log(" Falling back to Playwright Chromium...");
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Fall back to Playwright
|
|
183
|
+
const { chromium: playwrightChromium, firefox, webkit } = await import("playwright");
|
|
184
|
+
const launchers = {
|
|
185
|
+
chromium: playwrightChromium,
|
|
186
|
+
firefox,
|
|
187
|
+
webkit,
|
|
188
|
+
};
|
|
189
|
+
const launcher = launchers[browserType] || playwrightChromium;
|
|
190
|
+
const browser = await launcher.launch({
|
|
191
|
+
headless,
|
|
192
|
+
...launchOptions,
|
|
193
|
+
});
|
|
194
|
+
return {
|
|
195
|
+
browser,
|
|
196
|
+
isLightpanda: false,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Get Lightpanda status information
|
|
201
|
+
*/
|
|
202
|
+
export async function getLightpandaStatus() {
|
|
203
|
+
const config = getLightpandaConfig();
|
|
204
|
+
const configured = isLightpandaConfigured();
|
|
205
|
+
const endpoint = buildLightpandaUrl(config);
|
|
206
|
+
const isCloud = endpoint.includes("cloud.lightpanda.io");
|
|
207
|
+
if (!configured) {
|
|
208
|
+
return {
|
|
209
|
+
configured: false,
|
|
210
|
+
available: false,
|
|
211
|
+
endpoint: LIGHTPANDA_LOCAL_ENDPOINT,
|
|
212
|
+
isCloud: false,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
// Try to connect
|
|
216
|
+
const result = await connectToLightpanda(config);
|
|
217
|
+
if (result.success && result.browser) {
|
|
218
|
+
await result.browser.close();
|
|
219
|
+
return {
|
|
220
|
+
configured: true,
|
|
221
|
+
available: true,
|
|
222
|
+
endpoint,
|
|
223
|
+
isCloud,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
configured: true,
|
|
228
|
+
available: false,
|
|
229
|
+
endpoint,
|
|
230
|
+
isCloud,
|
|
231
|
+
error: result.error,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Lightpanda setup instructions
|
|
236
|
+
*/
|
|
237
|
+
export const LIGHTPANDA_SETUP_GUIDE = `
|
|
238
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
239
|
+
║ Lightpanda Setup - High-Performance Headless Browser ║
|
|
240
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
241
|
+
|
|
242
|
+
Lightpanda is 11x faster and uses 9x less memory than Chrome headless.
|
|
243
|
+
It's ideal for AI agents, web scraping, and automated testing.
|
|
244
|
+
|
|
245
|
+
━━━ Option 1: Local Installation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
246
|
+
|
|
247
|
+
Docker (recommended):
|
|
248
|
+
docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly
|
|
249
|
+
|
|
250
|
+
Binary (Linux/macOS):
|
|
251
|
+
curl -LO https://github.com/nicecoder/lightpanda/releases/latest/download/lightpanda
|
|
252
|
+
chmod +x lightpanda
|
|
253
|
+
./lightpanda serve --host 127.0.0.1 --port 9222
|
|
254
|
+
|
|
255
|
+
Then set environment variable:
|
|
256
|
+
export LIGHTPANDA_ENDPOINT=ws://127.0.0.1:9222
|
|
257
|
+
|
|
258
|
+
━━━ Option 2: Lightpanda Cloud ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
259
|
+
|
|
260
|
+
1. Sign up at https://lightpanda.io/
|
|
261
|
+
2. Get your API token from the dashboard
|
|
262
|
+
3. Set environment variable:
|
|
263
|
+
export LIGHTPANDA_TOKEN=your-api-token
|
|
264
|
+
|
|
265
|
+
━━━ Verification ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
|
+
|
|
267
|
+
Check status:
|
|
268
|
+
npx cbrowser lightpanda-status
|
|
269
|
+
|
|
270
|
+
Test connection:
|
|
271
|
+
npx cbrowser screenshot https://example.com --lightpanda
|
|
272
|
+
|
|
273
|
+
━━━ When to Use Lightpanda ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
274
|
+
|
|
275
|
+
✅ Great for:
|
|
276
|
+
• Agent-ready audits
|
|
277
|
+
• Empathy audits
|
|
278
|
+
• Web scraping
|
|
279
|
+
• API testing
|
|
280
|
+
• Performance-critical batch operations
|
|
281
|
+
|
|
282
|
+
❌ Not suitable for:
|
|
283
|
+
• Visual regression testing (use Playwright Chromium)
|
|
284
|
+
• Cross-browser testing (Firefox/WebKit not supported)
|
|
285
|
+
• Operations requiring pixel-perfect rendering
|
|
286
|
+
|
|
287
|
+
━━━ More Information ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
288
|
+
|
|
289
|
+
Documentation: https://lightpanda.io/docs
|
|
290
|
+
GitHub: https://github.com/nicecoder/lightpanda
|
|
291
|
+
CBrowser Integration: https://cbrowser.ai/docs/lightpanda
|
|
292
|
+
`;
|
|
293
|
+
//# sourceMappingURL=lightpanda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightpanda.js","sourceRoot":"","sources":["../src/lightpanda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms-txt.d.ts","sourceRoot":"","sources":["../../src/remediation/llms-txt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"llms-txt.d.ts","sourceRoot":"","sources":["../../src/remediation/llms-txt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgRD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CA6DxB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACtD,OAAO,CAAC,aAAa,CAAC,CAOxB"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @since 17.0.0
|
|
14
14
|
*/
|
|
15
15
|
import { chromium } from "playwright";
|
|
16
|
+
import { launchBrowserWithFallback } from "../browser.js";
|
|
16
17
|
/**
|
|
17
18
|
* Extract data from a single page
|
|
18
19
|
*/
|
|
@@ -243,7 +244,7 @@ export async function generateLlmsTxt(options) {
|
|
|
243
244
|
const { url, crawl = false, maxPages = 10, headless = true } = options;
|
|
244
245
|
let browser = null;
|
|
245
246
|
try {
|
|
246
|
-
browser = await chromium
|
|
247
|
+
browser = await launchBrowserWithFallback(chromium, { headless });
|
|
247
248
|
const context = await browser.newContext();
|
|
248
249
|
const page = await context.newPage();
|
|
249
250
|
// Extract main page data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms-txt.js","sourceRoot":"","sources":["../../src/remediation/llms-txt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llms-txt.js","sourceRoot":"","sources":["../../src/remediation/llms-txt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-data.d.ts","sourceRoot":"","sources":["../../src/remediation/structured-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"structured-data.d.ts","sourceRoot":"","sources":["../../src/remediation/structured-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,SAAS,GACT,SAAS,GACT,cAAc,GACd,QAAQ,GACR,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2GD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CA6D3F;AAgHD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAuBR;AAwCD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA+BnC"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* @since 17.0.0
|
|
13
13
|
*/
|
|
14
14
|
import { chromium } from "playwright";
|
|
15
|
+
import { launchBrowserWithFallback } from "../browser.js";
|
|
15
16
|
/**
|
|
16
17
|
* Extract signals from a page for type detection
|
|
17
18
|
*/
|
|
@@ -327,7 +328,7 @@ export async function suggestStructuredData(options) {
|
|
|
327
328
|
const { url, headless = true } = options;
|
|
328
329
|
let browser = null;
|
|
329
330
|
try {
|
|
330
|
-
browser = await chromium
|
|
331
|
+
browser = await launchBrowserWithFallback(chromium, { headless });
|
|
331
332
|
const context = await browser.newContext();
|
|
332
333
|
const page = await context.newPage();
|
|
333
334
|
const signals = await extractPageSignals(page, url);
|