@eko-ai/eko-nodejs 4.0.3 → 4.0.5
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/browser.d.ts +2 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/index.cjs.js +25 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +25 -1
- package/dist/index.esm.js.map +1 -1
- package/package.json +2 -2
package/dist/browser.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
51
51
|
private sleep;
|
|
52
52
|
protected getBrowserContext(): Promise<BrowserContext>;
|
|
53
53
|
private autoLoadCookies;
|
|
54
|
+
private autoLoadLocalStorage;
|
|
54
55
|
protected loadCookiesWithUrl(url: string): Promise<Array<{
|
|
55
56
|
name: string;
|
|
56
57
|
value: string;
|
|
@@ -63,6 +64,7 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
63
64
|
sameSite?: "Strict" | "Lax" | "None";
|
|
64
65
|
partitionKey?: string;
|
|
65
66
|
}>>;
|
|
67
|
+
protected loadLocalStorageWithUrl(url: string): Promise<Record<string, string>>;
|
|
66
68
|
protected getChromiumArgs(): string[];
|
|
67
69
|
protected getUserAgent(): string | undefined;
|
|
68
70
|
protected initScript(): Promise<{
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAO,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,sBAAsB;IAC9D,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IACzC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAkB;IAE3B,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI7B,gBAAgB,CAAC,aAAa,EAAE,MAAM;IAItC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKxD,UAAU,CACf,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAKG,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;cAI/B,UAAU,CACxB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,WAAW,CAAA;KAAE,CAAC;cAc1D,WAAW,CACzB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;cASc,YAAY,CAC1B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;cAiBhD,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;cAiBzC,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,GAAG,CAAC;cAcC,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAClC,OAAO,CAAC,GAAG,CAAC;cAuBC,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;cASA,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAC9B,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,GAAG,CAAC;YAKD,QAAQ;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -146,6 +146,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
146
146
|
await page.setViewportSize({ width: 1536, height: 864 });
|
|
147
147
|
try {
|
|
148
148
|
await this.autoLoadCookies(url);
|
|
149
|
+
await this.autoLoadLocalStorage(page, url);
|
|
149
150
|
await page.goto(url, {
|
|
150
151
|
waitUntil: "domcontentloaded",
|
|
151
152
|
timeout: 10000,
|
|
@@ -235,6 +236,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
235
236
|
const url = frame.url();
|
|
236
237
|
if (url.startsWith("http")) {
|
|
237
238
|
await this.autoLoadCookies(url);
|
|
239
|
+
await this.autoLoadLocalStorage(page, url);
|
|
238
240
|
}
|
|
239
241
|
}
|
|
240
242
|
});
|
|
@@ -249,16 +251,38 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
249
251
|
try {
|
|
250
252
|
const cookies = await this.loadCookiesWithUrl(url);
|
|
251
253
|
if (cookies && cookies.length > 0) {
|
|
252
|
-
this.browser_context?.
|
|
254
|
+
await this.browser_context?.clearCookies();
|
|
255
|
+
await this.browser_context?.addCookies(cookies);
|
|
253
256
|
}
|
|
254
257
|
}
|
|
255
258
|
catch (e) {
|
|
256
259
|
eko.Log.error("Failed to auto load cookies: " + url, e);
|
|
257
260
|
}
|
|
258
261
|
}
|
|
262
|
+
async autoLoadLocalStorage(page, url) {
|
|
263
|
+
try {
|
|
264
|
+
const localStorageData = await this.loadLocalStorageWithUrl(url);
|
|
265
|
+
await page.addInitScript((storage) => {
|
|
266
|
+
try {
|
|
267
|
+
for (const [key, value] of Object.entries(storage)) {
|
|
268
|
+
localStorage.setItem(key, value);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch (e) {
|
|
272
|
+
eko.Log.error("Failed to inject localStorage: " + url, e);
|
|
273
|
+
}
|
|
274
|
+
}, localStorageData);
|
|
275
|
+
}
|
|
276
|
+
catch (e) {
|
|
277
|
+
eko.Log.error("Failed to auto load localStorage: " + url, e);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
259
280
|
async loadCookiesWithUrl(url) {
|
|
260
281
|
return [];
|
|
261
282
|
}
|
|
283
|
+
async loadLocalStorageWithUrl(url) {
|
|
284
|
+
return {};
|
|
285
|
+
}
|
|
262
286
|
getChromiumArgs() {
|
|
263
287
|
return [
|
|
264
288
|
"--no-sandbox",
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/utils.ts","../src/browser.ts","../src/mcp/stdio.ts"],"sourcesContent":[null,null,null],"names":["Log","BaseBrowserLabelsAgent","chromium","spawn","uuidv4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/utils.ts","../src/browser.ts","../src/mcp/stdio.ts"],"sourcesContent":[null,null,null],"names":["Log","BaseBrowserLabelsAgent","chromium","spawn","uuidv4"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -2538,6 +2538,7 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2538
2538
|
await page.setViewportSize({ width: 1536, height: 864 });
|
|
2539
2539
|
try {
|
|
2540
2540
|
await this.autoLoadCookies(url);
|
|
2541
|
+
await this.autoLoadLocalStorage(page, url);
|
|
2541
2542
|
await page.goto(url, {
|
|
2542
2543
|
waitUntil: "domcontentloaded",
|
|
2543
2544
|
timeout: 10000,
|
|
@@ -2627,6 +2628,7 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2627
2628
|
const url = frame.url();
|
|
2628
2629
|
if (url.startsWith("http")) {
|
|
2629
2630
|
await this.autoLoadCookies(url);
|
|
2631
|
+
await this.autoLoadLocalStorage(page, url);
|
|
2630
2632
|
}
|
|
2631
2633
|
}
|
|
2632
2634
|
});
|
|
@@ -2641,16 +2643,38 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2641
2643
|
try {
|
|
2642
2644
|
const cookies = await this.loadCookiesWithUrl(url);
|
|
2643
2645
|
if (cookies && cookies.length > 0) {
|
|
2644
|
-
this.browser_context?.
|
|
2646
|
+
await this.browser_context?.clearCookies();
|
|
2647
|
+
await this.browser_context?.addCookies(cookies);
|
|
2645
2648
|
}
|
|
2646
2649
|
}
|
|
2647
2650
|
catch (e) {
|
|
2648
2651
|
Log.error("Failed to auto load cookies: " + url, e);
|
|
2649
2652
|
}
|
|
2650
2653
|
}
|
|
2654
|
+
async autoLoadLocalStorage(page, url) {
|
|
2655
|
+
try {
|
|
2656
|
+
const localStorageData = await this.loadLocalStorageWithUrl(url);
|
|
2657
|
+
await page.addInitScript((storage) => {
|
|
2658
|
+
try {
|
|
2659
|
+
for (const [key, value] of Object.entries(storage)) {
|
|
2660
|
+
localStorage.setItem(key, value);
|
|
2661
|
+
}
|
|
2662
|
+
}
|
|
2663
|
+
catch (e) {
|
|
2664
|
+
Log.error("Failed to inject localStorage: " + url, e);
|
|
2665
|
+
}
|
|
2666
|
+
}, localStorageData);
|
|
2667
|
+
}
|
|
2668
|
+
catch (e) {
|
|
2669
|
+
Log.error("Failed to auto load localStorage: " + url, e);
|
|
2670
|
+
}
|
|
2671
|
+
}
|
|
2651
2672
|
async loadCookiesWithUrl(url) {
|
|
2652
2673
|
return [];
|
|
2653
2674
|
}
|
|
2675
|
+
async loadLocalStorageWithUrl(url) {
|
|
2676
|
+
return {};
|
|
2677
|
+
}
|
|
2654
2678
|
getChromiumArgs() {
|
|
2655
2679
|
return [
|
|
2656
2680
|
"--no-sandbox",
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/utils.ts","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/common.js","../../../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/browser.js","../../../node_modules/.pnpm/playwright-extra@4.3.6_playwright-core@1.57.0_playwright@1.57.0/node_modules/playwright-extra/dist/index.esm.js","../../../node_modules/.pnpm/puppeteer-extra-plugin@3.2.3_playwright-extra@4.3.6_playwright-core@1.57.0_playwright@1.57.0_/node_modules/puppeteer-extra-plugin/dist/index.esm.js","../../../node_modules/.pnpm/puppeteer-extra-plugin-stealth@2.11.2_playwright-extra@4.3.6_playwright-core@1.57.0_playwright@1.57.0_/node_modules/puppeteer-extra-plugin-stealth/index.js","../src/browser.ts","../src/mcp/stdio.ts"],"sourcesContent":[null,"/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","/*!\n * playwright-extra v4.3.5 by berstend\n * https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra#readme\n * @license MIT\n */\nimport Debug from 'debug';\n\n/** Node.js module loader helper */\r\nclass Loader {\r\n constructor(moduleName, packageNames) {\r\n this.moduleName = moduleName;\r\n this.packageNames = packageNames;\r\n }\r\n /**\r\n * Lazy load a top level export from another module by wrapping it in a JS proxy.\r\n *\r\n * This allows us to re-export e.g. `devices` from `playwright` while redirecting direct calls\r\n * to it to the module version the user has installed, rather than shipping with a hardcoded version.\r\n *\r\n * If we don't do this and the user doesn't have the target module installed we'd throw immediately when our code is imported.\r\n *\r\n * We use a \"super\" Proxy defining all traps, so calls like `Object.keys(playwright.devices).length` will return the correct value.\r\n */\r\n lazyloadExportOrDie(exportName) {\r\n const that = this;\r\n const trapHandler = Object.fromEntries(Object.getOwnPropertyNames(Reflect).map((name) => [\r\n name,\r\n function (target, ...args) {\r\n const moduleExport = that.loadModuleOrDie()[exportName];\r\n const customTarget = moduleExport;\r\n const result = Reflect[name](customTarget || target, ...args);\r\n return result;\r\n }\r\n ]));\r\n return new Proxy({}, trapHandler);\r\n }\r\n /** Load the module if possible */\r\n loadModule() {\r\n return requirePackages(this.packageNames);\r\n }\r\n /** Load the module if possible or throw */\r\n loadModuleOrDie() {\r\n const module = requirePackages(this.packageNames);\r\n if (module) {\r\n return module;\r\n }\r\n throw this.requireError;\r\n }\r\n get requireError() {\r\n const moduleNamePretty = this.moduleName.charAt(0).toUpperCase() + this.moduleName.slice(1);\r\n return new Error(`\n ${moduleNamePretty} is missing. :-)\n\n I've tried loading ${this.packageNames\r\n .map(p => `\"${p}\"`)\r\n .join(', ')} - no luck.\n\n Make sure you install one of those packages or use the named 'addExtra' export,\n to patch a specific (and maybe non-standard) implementation of ${moduleNamePretty}.\n\n To get the latest stable version of ${moduleNamePretty} run:\n 'yarn add ${this.moduleName}' or 'npm i ${this.moduleName}'\n `);\r\n }\r\n}\r\nfunction requirePackages(packageNames) {\r\n for (const name of packageNames) {\r\n try {\r\n return require(name);\r\n }\r\n catch (_) {\r\n continue; // noop\r\n }\r\n }\r\n return;\r\n}\r\n/** Playwright specific module loader */\r\nconst playwrightLoader = new Loader('playwright', [\r\n 'playwright-core',\r\n 'playwright'\r\n]);\n\nconst debug = Debug('playwright-extra:puppeteer-compat');\r\nconst isPlaywrightPage = (obj) => {\r\n return 'unroute' in obj;\r\n};\r\nconst isPlaywrightFrame = (obj) => {\r\n return ['parentFrame', 'frameLocator'].every(x => x in obj);\r\n};\r\nconst isPlaywrightBrowser = (obj) => {\r\n return 'newContext' in obj;\r\n};\r\nconst isPuppeteerCompat = (obj) => {\r\n return !!obj && typeof obj === 'object' && !!obj.isCompatShim;\r\n};\r\nconst cache = {\r\n objectToShim: new Map(),\r\n cdpSession: {\r\n page: new Map(),\r\n browser: new Map()\r\n }\r\n};\r\n/** Augment a Playwright object with compatibility with certain Puppeteer methods */\r\nfunction addPuppeteerCompat(object) {\r\n if (!object || typeof object !== 'object') {\r\n return object;\r\n }\r\n if (cache.objectToShim.has(object)) {\r\n return cache.objectToShim.get(object);\r\n }\r\n if (isPuppeteerCompat(object)) {\r\n return object;\r\n }\r\n debug('addPuppeteerCompat', cache.objectToShim.size);\r\n if (isPlaywrightPage(object) || isPlaywrightFrame(object)) {\r\n const shim = createPageShim(object);\r\n cache.objectToShim.set(object, shim);\r\n return shim;\r\n }\r\n if (isPlaywrightBrowser(object)) {\r\n const shim = createBrowserShim(object);\r\n cache.objectToShim.set(object, shim);\r\n return shim;\r\n }\r\n debug('Received unknown object:', Reflect.ownKeys(object));\r\n return object;\r\n}\r\n// Only chromium browsers support CDP\r\nconst dummyCDPClient = {\r\n send: async (...args) => {\r\n debug('dummy CDP client called', 'send', args);\r\n },\r\n on: (...args) => {\r\n debug('dummy CDP client called', 'on', args);\r\n }\r\n};\r\nasync function getPageCDPSession(page) {\r\n let session = cache.cdpSession.page.get(page);\r\n if (session) {\r\n debug('getPageCDPSession: use existing');\r\n return session;\r\n }\r\n debug('getPageCDPSession: use new');\r\n const context = isPlaywrightFrame(page)\r\n ? page.page().context()\r\n : page.context();\r\n try {\r\n session = await context.newCDPSession(page);\r\n cache.cdpSession.page.set(page, session);\r\n return session;\r\n }\r\n catch (err) {\r\n debug('getPageCDPSession: error while creating session:', err.message);\r\n debug('getPageCDPSession: Unable create CDP session (most likely a different browser than chromium) - returning a dummy');\r\n }\r\n return dummyCDPClient;\r\n}\r\nasync function getBrowserCDPSession(browser) {\r\n let session = cache.cdpSession.browser.get(browser);\r\n if (session) {\r\n debug('getBrowserCDPSession: use existing');\r\n return session;\r\n }\r\n debug('getBrowserCDPSession: use new');\r\n try {\r\n session = await browser.newBrowserCDPSession();\r\n cache.cdpSession.browser.set(browser, session);\r\n return session;\r\n }\r\n catch (err) {\r\n debug('getBrowserCDPSession: error while creating session:', err.message);\r\n debug('getBrowserCDPSession: Unable create CDP session (most likely a different browser than chromium) - returning a dummy');\r\n }\r\n return dummyCDPClient;\r\n}\r\nfunction createPageShim(page) {\r\n const objId = Math.random().toString(36).substring(2, 7);\r\n const shim = new Proxy(page, {\r\n get(target, prop) {\r\n if (prop === 'isCompatShim' || prop === 'isPlaywright') {\r\n return true;\r\n }\r\n debug('page - get', objId, prop);\r\n if (prop === '_client') {\r\n return () => ({\r\n send: async (method, params) => {\r\n const session = await getPageCDPSession(page);\r\n return await session.send(method, params);\r\n },\r\n on: (event, listener) => {\r\n getPageCDPSession(page).then(session => {\r\n session.on(event, listener);\r\n });\r\n }\r\n });\r\n }\r\n if (prop === 'setBypassCSP') {\r\n return async (enabled) => {\r\n const session = await getPageCDPSession(page);\r\n return await session.send('Page.setBypassCSP', {\r\n enabled\r\n });\r\n };\r\n }\r\n if (prop === 'setUserAgent') {\r\n return async (userAgent, userAgentMetadata) => {\r\n const session = await getPageCDPSession(page);\r\n return await session.send('Emulation.setUserAgentOverride', {\r\n userAgent,\r\n userAgentMetadata\r\n });\r\n };\r\n }\r\n if (prop === 'browser') {\r\n if (isPlaywrightPage(page)) {\r\n return () => {\r\n let browser = page.context().browser();\r\n if (!browser) {\r\n debug('page.browser() - not available, most likely due to launchPersistentContext');\r\n // Use a page shim as quick drop-in (so browser.userAgent() still works)\r\n browser = page;\r\n }\r\n return addPuppeteerCompat(browser);\r\n };\r\n }\r\n }\r\n if (prop === 'evaluateOnNewDocument') {\r\n if (isPlaywrightPage(page)) {\r\n return async function (pageFunction, ...args) {\r\n return await page.addInitScript(pageFunction, args[0]);\r\n };\r\n }\r\n }\r\n // Only relevant when page is being used a pseudo stand-in for the browser object (launchPersistentContext)\r\n if (prop === 'userAgent') {\r\n return async (enabled) => {\r\n const session = await getPageCDPSession(page);\r\n const data = await session.send('Browser.getVersion');\r\n return data.userAgent;\r\n };\r\n }\r\n return Reflect.get(target, prop);\r\n }\r\n });\r\n return shim;\r\n}\r\nfunction createBrowserShim(browser) {\r\n const objId = Math.random().toString(36).substring(2, 7);\r\n const shim = new Proxy(browser, {\r\n get(target, prop) {\r\n if (prop === 'isCompatShim' || prop === 'isPlaywright') {\r\n return true;\r\n }\r\n debug('browser - get', objId, prop);\r\n if (prop === 'pages') {\r\n return () => browser\r\n .contexts()\r\n .flatMap(c => c.pages().map(page => addPuppeteerCompat(page)));\r\n }\r\n if (prop === 'userAgent') {\r\n return async () => {\r\n const session = await getBrowserCDPSession(browser);\r\n const data = await session.send('Browser.getVersion');\r\n return data.userAgent;\r\n };\r\n }\r\n return Reflect.get(target, prop);\r\n }\r\n });\r\n return shim;\r\n}\n\nconst debug$1 = Debug('playwright-extra:plugins');\r\nclass PluginList {\r\n constructor() {\r\n this._plugins = [];\r\n this._dependencyDefaults = new Map();\r\n this._dependencyResolution = new Map();\r\n }\r\n /**\r\n * Get a list of all registered plugins.\r\n */\r\n get list() {\r\n return this._plugins;\r\n }\r\n /**\r\n * Get the names of all registered plugins.\r\n */\r\n get names() {\r\n return this._plugins.map(p => p.name);\r\n }\r\n /**\r\n * Add a new plugin to the list (after checking if it's well-formed).\r\n *\r\n * @param plugin\r\n * @internal\r\n */\r\n add(plugin) {\r\n var _a;\r\n if (!this.isValidPluginInstance(plugin)) {\r\n return false;\r\n }\r\n if (!!plugin.onPluginRegistered) {\r\n plugin.onPluginRegistered({ framework: 'playwright' });\r\n }\r\n // PuppeteerExtraPlugin: Populate `_childClassMembers` list containing methods defined by the plugin\r\n if (!!plugin._registerChildClassMembers) {\r\n plugin._registerChildClassMembers(Object.getPrototypeOf(plugin));\r\n }\r\n if ((_a = plugin.requirements) === null || _a === void 0 ? void 0 : _a.has('dataFromPlugins')) {\r\n plugin.getDataFromPlugins = this.getData.bind(this);\r\n }\r\n this._plugins.push(plugin);\r\n return true;\r\n }\r\n /** Check if the shape of a plugin is correct or warn */\r\n isValidPluginInstance(plugin) {\r\n if (!plugin ||\r\n typeof plugin !== 'object' ||\r\n !plugin._isPuppeteerExtraPlugin) {\r\n console.error(`Warning: Plugin is not derived from PuppeteerExtraPlugin, ignoring.`, plugin);\r\n return false;\r\n }\r\n if (!plugin.name) {\r\n console.error(`Warning: Plugin with no name registering, ignoring.`, plugin);\r\n return false;\r\n }\r\n return true;\r\n }\r\n /** Error callback in case calling a plugin method throws an error. Can be overwritten. */\r\n onPluginError(plugin, method, err) {\r\n console.warn(`An error occured while executing \"${method}\" in plugin \"${plugin.name}\":`, err);\r\n }\r\n /**\r\n * Define default values for plugins implicitly required through the `dependencies` plugin stanza.\r\n *\r\n * @param dependencyPath - The string by which the dependency is listed (not the plugin name)\r\n *\r\n * @example\r\n * chromium.use(stealth)\r\n * chromium.plugins.setDependencyDefaults('stealth/evasions/webgl.vendor', { vendor: 'Bob', renderer: 'Alice' })\r\n */\r\n setDependencyDefaults(dependencyPath, opts) {\r\n this._dependencyDefaults.set(dependencyPath, opts);\r\n return this;\r\n }\r\n /**\r\n * Define custom plugin modules for plugins implicitly required through the `dependencies` plugin stanza.\r\n *\r\n * Using this will prevent dynamic imports from being used, which JS bundlers often have issues with.\r\n *\r\n * @example\r\n * chromium.use(stealth)\r\n * chromium.plugins.setDependencyResolution('stealth/evasions/webgl.vendor', VendorPlugin)\r\n */\r\n setDependencyResolution(dependencyPath, pluginModule) {\r\n this._dependencyResolution.set(dependencyPath, pluginModule);\r\n return this;\r\n }\r\n /**\r\n * Prepare plugins to be used (resolve dependencies, ordering)\r\n * @internal\r\n */\r\n prepare() {\r\n this.resolveDependencies();\r\n this.order();\r\n }\r\n /** Return all plugins using the supplied method */\r\n filterByMethod(methodName) {\r\n return this._plugins.filter(plugin => {\r\n // PuppeteerExtraPlugin: The base class will already define all methods, hence we need to do a different check\r\n if (!!plugin._childClassMembers &&\r\n Array.isArray(plugin._childClassMembers)) {\r\n return plugin._childClassMembers.includes(methodName);\r\n }\r\n return methodName in plugin;\r\n });\r\n }\r\n /** Conditionally add puppeteer compatibility to values provided to the plugins */\r\n _addPuppeteerCompatIfNeeded(plugin, method, args) {\r\n const canUseShim = plugin._isPuppeteerExtraPlugin && !plugin.noPuppeteerShim;\r\n const methodWhitelist = [\r\n 'onBrowser',\r\n 'onPageCreated',\r\n 'onPageClose',\r\n 'afterConnect',\r\n 'afterLaunch'\r\n ];\r\n const shouldUseShim = methodWhitelist.includes(method);\r\n if (!canUseShim || !shouldUseShim) {\r\n return args;\r\n }\r\n debug$1('add puppeteer compatibility', plugin.name, method);\r\n return [...args.map(arg => addPuppeteerCompat(arg))];\r\n }\r\n /**\r\n * Dispatch plugin lifecycle events in a typesafe way.\r\n * Only Plugins that expose the supplied property will be called.\r\n *\r\n * Will not await results to dispatch events as fast as possible to all plugins.\r\n *\r\n * @param method - The lifecycle method name\r\n * @param args - Optional: Any arguments to be supplied to the plugin methods\r\n * @internal\r\n */\r\n dispatch(method, ...args) {\r\n var _a, _b;\r\n const plugins = this.filterByMethod(method);\r\n debug$1('dispatch', method, {\r\n all: this._plugins.length,\r\n filteredByMethod: plugins.length\r\n });\r\n for (const plugin of plugins) {\r\n try {\r\n args = this._addPuppeteerCompatIfNeeded.bind(this)(plugin, method, args);\r\n const fnType = (_b = (_a = plugin[method]) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name;\r\n debug$1('dispatch to plugin', {\r\n plugin: plugin.name,\r\n method,\r\n fnType\r\n });\r\n if (fnType === 'AsyncFunction') {\r\n ;\r\n plugin[method](...args).catch((err) => this.onPluginError(plugin, method, err));\r\n }\r\n else {\r\n ;\r\n plugin[method](...args);\r\n }\r\n }\r\n catch (err) {\r\n this.onPluginError(plugin, method, err);\r\n }\r\n }\r\n }\r\n /**\r\n * Dispatch plugin lifecycle events in a typesafe way.\r\n * Only Plugins that expose the supplied property will be called.\r\n *\r\n * Can also be used to get a definite return value after passing it to plugins:\r\n * Calls plugins sequentially and passes on a value (waterfall style).\r\n *\r\n * The plugins can either modify the value or return an updated one.\r\n * Will return the latest, updated value which ran through all plugins.\r\n *\r\n * By convention only the first argument will be used as the updated value.\r\n *\r\n * @param method - The lifecycle method name\r\n * @param args - Optional: Any arguments to be supplied to the plugin methods\r\n * @internal\r\n */\r\n async dispatchBlocking(method, ...args) {\r\n const plugins = this.filterByMethod(method);\r\n debug$1('dispatchBlocking', method, {\r\n all: this._plugins.length,\r\n filteredByMethod: plugins.length\r\n });\r\n let retValue = null;\r\n for (const plugin of plugins) {\r\n try {\r\n args = this._addPuppeteerCompatIfNeeded.bind(this)(plugin, method, args);\r\n retValue = await plugin[method](...args);\r\n // In case we got a return value use that as new first argument for followup function calls\r\n if (retValue !== undefined) {\r\n args[0] = retValue;\r\n }\r\n }\r\n catch (err) {\r\n this.onPluginError(plugin, method, err);\r\n return retValue;\r\n }\r\n }\r\n return retValue;\r\n }\r\n /**\r\n * Order plugins that have expressed a special placement requirement.\r\n *\r\n * This is useful/necessary for e.g. plugins that depend on the data from other plugins.\r\n *\r\n * @private\r\n */\r\n order() {\r\n debug$1('order:before', this.names);\r\n const runLast = this._plugins\r\n .filter(p => { var _a; return (_a = p.requirements) === null || _a === void 0 ? void 0 : _a.has('runLast'); })\r\n .map(p => p.name);\r\n for (const name of runLast) {\r\n const index = this._plugins.findIndex(p => p.name === name);\r\n this._plugins.push(this._plugins.splice(index, 1)[0]);\r\n }\r\n debug$1('order:after', this.names);\r\n }\r\n /**\r\n * Collects the exposed `data` property of all registered plugins.\r\n * Will be reduced/flattened to a single array.\r\n *\r\n * Can be accessed by plugins that listed the `dataFromPlugins` requirement.\r\n *\r\n * Implemented mainly for plugins that need data from other plugins (e.g. `user-preferences`).\r\n *\r\n * @see [PuppeteerExtraPlugin]/data\r\n * @param name - Filter data by optional name\r\n *\r\n * @private\r\n */\r\n getData(name) {\r\n const data = this._plugins\r\n .filter((p) => !!p.data)\r\n .map((p) => (Array.isArray(p.data) ? p.data : [p.data]))\r\n .reduce((acc, arr) => [...acc, ...arr], []);\r\n return name ? data.filter((d) => d.name === name) : data;\r\n }\r\n /**\r\n * Handle `plugins` stanza (already instantiated plugins that don't require dynamic imports)\r\n */\r\n resolvePluginsStanza() {\r\n debug$1('resolvePluginsStanza');\r\n const pluginNames = new Set(this.names);\r\n this._plugins\r\n .filter(p => !!p.plugins && p.plugins.length)\r\n .filter(p => !pluginNames.has(p.name)) // TBD: Do we want to filter out existing?\r\n .forEach(parent => {\r\n (parent.plugins || []).forEach(p => {\r\n debug$1(parent.name, 'adding missing plugin', p.name);\r\n this.add(p);\r\n });\r\n });\r\n }\r\n /**\r\n * Handle `dependencies` stanza (which requires dynamic imports)\r\n *\r\n * Plugins can define `dependencies` as a Set or Array of dependency paths, or a Map with additional opts\r\n *\r\n * @note\r\n * - The default opts for implicit dependencies can be defined using `setDependencyDefaults()`\r\n * - Dynamic imports can be avoided by providing plugin modules with `setDependencyResolution()`\r\n */\r\n resolveDependenciesStanza() {\r\n debug$1('resolveDependenciesStanza');\r\n /** Attempt to dynamically require a plugin module */\r\n const requireDependencyOrDie = (parentName, dependencyPath) => {\r\n // If the user provided the plugin module already we use that\r\n if (this._dependencyResolution.has(dependencyPath)) {\r\n return this._dependencyResolution.get(dependencyPath);\r\n }\r\n const possiblePrefixes = ['puppeteer-extra-plugin-']; // could be extended later\r\n const isAlreadyPrefixed = possiblePrefixes.some(prefix => dependencyPath.startsWith(prefix));\r\n const packagePaths = [];\r\n // If the dependency is not already prefixed we attempt to require all possible combinations to find one that works\r\n if (!isAlreadyPrefixed) {\r\n packagePaths.push(...possiblePrefixes.map(prefix => prefix + dependencyPath));\r\n }\r\n // We always attempt to require the path verbatim (as a last resort)\r\n packagePaths.push(dependencyPath);\r\n const pluginModule = requirePackages(packagePaths);\r\n if (pluginModule) {\r\n return pluginModule;\r\n }\r\n const explanation = `\nThe plugin '${parentName}' listed '${dependencyPath}' as dependency,\nwhich could not be found. Please install it:\n\n${packagePaths\r\n .map(packagePath => `yarn add ${packagePath.split('/')[0]}`)\r\n .join(`\\n or:\\n`)}\n\nNote: You don't need to require the plugin yourself,\nunless you want to modify it's default settings.\n\nIf your bundler has issues with dynamic imports take a look at '.plugins.setDependencyResolution()'.\n `;\r\n console.warn(explanation);\r\n throw new Error('Plugin dependency not found');\r\n };\r\n const existingPluginNames = new Set(this.names);\r\n const recursivelyLoadMissingDependencies = ({ name: parentName, dependencies }) => {\r\n if (!dependencies) {\r\n return;\r\n }\r\n const processDependency = (dependencyPath, opts) => {\r\n const pluginModule = requireDependencyOrDie(parentName, dependencyPath);\r\n opts = opts || this._dependencyDefaults.get(dependencyPath) || {};\r\n const plugin = pluginModule(opts);\r\n if (existingPluginNames.has(plugin.name)) {\r\n debug$1(parentName, '=> dependency already exists:', plugin.name);\r\n return;\r\n }\r\n existingPluginNames.add(plugin.name);\r\n debug$1(parentName, '=> adding new dependency:', plugin.name, opts);\r\n this.add(plugin);\r\n return recursivelyLoadMissingDependencies(plugin);\r\n };\r\n if (dependencies instanceof Set || Array.isArray(dependencies)) {\r\n return [...dependencies].forEach(dependencyPath => processDependency(dependencyPath));\r\n }\r\n if (dependencies instanceof Map) {\r\n // Note: `k,v => v,k` (Map + forEach will reverse the order)\r\n return dependencies.forEach((v, k) => processDependency(k, v));\r\n }\r\n };\r\n this.list.forEach(recursivelyLoadMissingDependencies);\r\n }\r\n /**\r\n * Lightweight plugin dependency management to require plugins and code mods on demand.\r\n * @private\r\n */\r\n resolveDependencies() {\r\n debug$1('resolveDependencies');\r\n this.resolvePluginsStanza();\r\n this.resolveDependenciesStanza();\r\n }\r\n}\n\nconst debug$2 = Debug('playwright-extra');\r\n/**\r\n * Modular plugin framework to teach `playwright` new tricks.\r\n */\r\nclass PlaywrightExtraClass {\r\n constructor(_launcher) {\r\n this._launcher = _launcher;\r\n this.plugins = new PluginList();\r\n }\r\n /**\r\n * The **main interface** to register plugins.\r\n *\r\n * Can be called multiple times to enable multiple plugins.\r\n *\r\n * Plugins derived from `PuppeteerExtraPlugin` will be used with a compatiblity layer.\r\n *\r\n * @example\r\n * chromium.use(plugin1).use(plugin2)\r\n * firefox.use(plugin1).use(plugin2)\r\n *\r\n * @see [PuppeteerExtraPlugin]\r\n *\r\n * @return The same `PlaywrightExtra` instance (for optional chaining)\r\n */\r\n use(plugin) {\r\n const isValid = plugin && 'name' in plugin;\r\n if (!isValid) {\r\n throw new Error('A plugin must be provided to .use()');\r\n }\r\n if (this.plugins.add(plugin)) {\r\n debug$2('Plugin registered', plugin.name);\r\n }\r\n return this;\r\n }\r\n /**\r\n * In order to support a default export which will require vanilla playwright automatically,\r\n * as well as `addExtra` to patch a provided launcher, we need to so some gymnastics here.\r\n *\r\n * Otherwise this would throw immediately, even when only using the `addExtra` export with an arbitrary compatible launcher.\r\n *\r\n * The solution is to make the vanilla launcher optional and only throw once we try to effectively use and can't find it.\r\n *\r\n * @internal\r\n */\r\n get launcher() {\r\n if (!this._launcher) {\r\n throw playwrightLoader.requireError;\r\n }\r\n return this._launcher;\r\n }\r\n async launch(...args) {\r\n if (!this.launcher.launch) {\r\n throw new Error('Launcher does not support \"launch\"');\r\n }\r\n let [options] = args;\r\n options = Object.assign({ args: [] }, (options || {})); // Initialize args array\r\n debug$2('launch', options);\r\n this.plugins.prepare();\r\n // Give plugins the chance to modify the options before continuing\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeLaunch', options)) || options;\r\n debug$2('launch with options', options);\r\n if ('userDataDir' in options) {\r\n debug$2(\"A plugin defined userDataDir during .launch, which isn't supported by playwright - ignoring\");\r\n delete options.userDataDir;\r\n }\r\n const browser = await this.launcher['launch'](options);\r\n await this.plugins.dispatchBlocking('onBrowser', browser);\r\n await this._bindBrowserEvents(browser);\r\n await this.plugins.dispatchBlocking('afterLaunch', browser);\r\n return browser;\r\n }\r\n async launchPersistentContext(...args) {\r\n if (!this.launcher.launchPersistentContext) {\r\n throw new Error('Launcher does not support \"launchPersistentContext\"');\r\n }\r\n let [userDataDir, options] = args;\r\n options = Object.assign({ args: [] }, (options || {})); // Initialize args array\r\n debug$2('launchPersistentContext', options);\r\n this.plugins.prepare();\r\n // Give plugins the chance to modify the options before continuing\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeLaunch', options)) || options;\r\n const context = await this.launcher['launchPersistentContext'](userDataDir, options);\r\n await this.plugins.dispatchBlocking('afterLaunch', context);\r\n this._bindBrowserContextEvents(context);\r\n return context;\r\n }\r\n async connect(wsEndpointOrOptions, wsOptions = {}) {\r\n if (!this.launcher.connect) {\r\n throw new Error('Launcher does not support \"connect\"');\r\n }\r\n this.plugins.prepare();\r\n // Playwright currently supports two function signatures for .connect\r\n let options = {};\r\n let wsEndpointAsString = false;\r\n if (typeof wsEndpointOrOptions === 'object') {\r\n options = Object.assign(Object.assign({}, wsEndpointOrOptions), wsOptions);\r\n }\r\n else {\r\n wsEndpointAsString = true;\r\n options = Object.assign({ wsEndpoint: wsEndpointOrOptions }, wsOptions);\r\n }\r\n debug$2('connect', options);\r\n // Give plugins the chance to modify the options before launch/connect\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeConnect', options)) || options;\r\n // Follow call signature of end user\r\n const args = [];\r\n const wsEndpoint = options.wsEndpoint;\r\n if (wsEndpointAsString) {\r\n delete options.wsEndpoint;\r\n args.push(wsEndpoint, options);\r\n }\r\n else {\r\n args.push(options);\r\n }\r\n const browser = (await this.launcher['connect'](...args));\r\n await this.plugins.dispatchBlocking('onBrowser', browser);\r\n await this._bindBrowserEvents(browser);\r\n await this.plugins.dispatchBlocking('afterConnect', browser);\r\n return browser;\r\n }\r\n async connectOverCDP(wsEndpointOrOptions, wsOptions = {}) {\r\n if (!this.launcher.connectOverCDP) {\r\n throw new Error(`Launcher does not implement 'connectOverCDP'`);\r\n }\r\n this.plugins.prepare();\r\n // Playwright currently supports two function signatures for .connectOverCDP\r\n let options = {};\r\n let wsEndpointAsString = false;\r\n if (typeof wsEndpointOrOptions === 'object') {\r\n options = Object.assign(Object.assign({}, wsEndpointOrOptions), wsOptions);\r\n }\r\n else {\r\n wsEndpointAsString = true;\r\n options = Object.assign({ endpointURL: wsEndpointOrOptions }, wsOptions);\r\n }\r\n debug$2('connectOverCDP'), options;\r\n // Give plugins the chance to modify the options before launch/connect\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeConnect', options)) || options;\r\n // Follow call signature of end user\r\n const args = [];\r\n const endpointURL = options.endpointURL;\r\n if (wsEndpointAsString) {\r\n delete options.endpointURL;\r\n args.push(endpointURL, options);\r\n }\r\n else {\r\n args.push(options);\r\n }\r\n const browser = (await this.launcher['connectOverCDP'](...args));\r\n await this.plugins.dispatchBlocking('onBrowser', browser);\r\n await this._bindBrowserEvents(browser);\r\n await this.plugins.dispatchBlocking('afterConnect', browser);\r\n return browser;\r\n }\r\n async _bindBrowserContextEvents(context, contextOptions) {\r\n debug$2('_bindBrowserContextEvents');\r\n this.plugins.dispatch('onContextCreated', context, contextOptions);\r\n // Make sure things like `addInitScript` show an effect on the very first page as well\r\n context.newPage = ((originalMethod, ctx) => {\r\n return async () => {\r\n const page = await originalMethod.call(ctx);\r\n await page.goto('about:blank');\r\n return page;\r\n };\r\n })(context.newPage, context);\r\n context.on('close', () => {\r\n // When using `launchPersistentContext` context closing is the same as browser closing\r\n if (!context.browser()) {\r\n this.plugins.dispatch('onDisconnected');\r\n }\r\n });\r\n context.on('page', page => {\r\n this.plugins.dispatch('onPageCreated', page);\r\n page.on('close', () => {\r\n this.plugins.dispatch('onPageClose', page);\r\n });\r\n });\r\n }\r\n async _bindBrowserEvents(browser) {\r\n debug$2('_bindPlaywrightBrowserEvents');\r\n browser.on('disconnected', () => {\r\n this.plugins.dispatch('onDisconnected', browser);\r\n });\r\n // Note: `browser.newPage` will implicitly call `browser.newContext` as well\r\n browser.newContext = ((originalMethod, ctx) => {\r\n return async (options = {}) => {\r\n const contextOptions = (await this.plugins.dispatchBlocking('beforeContext', options, browser)) || options;\r\n const context = await originalMethod.call(ctx, contextOptions);\r\n this._bindBrowserContextEvents(context, contextOptions);\r\n return context;\r\n };\r\n })(browser.newContext, browser);\r\n }\r\n}\r\n/**\r\n * PlaywrightExtra class with additional launcher methods.\r\n *\r\n * Augments the class with an instance proxy to pass on methods that are not augmented to the original target.\r\n *\r\n */\r\nconst PlaywrightExtra = new Proxy(PlaywrightExtraClass, {\r\n construct(classTarget, args) {\r\n debug$2(`create instance of ${classTarget.name}`);\r\n const result = Reflect.construct(classTarget, args);\r\n return new Proxy(result, {\r\n get(target, prop) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop);\r\n }\r\n debug$2('proxying property to original launcher: ', prop);\r\n return Reflect.get(target.launcher, prop);\r\n }\r\n });\r\n }\r\n});\n\n/**\r\n * Augment the provided Playwright browser launcher with plugin functionality.\r\n *\r\n * Using `addExtra` will always create a fresh PlaywrightExtra instance.\r\n *\r\n * @example\r\n * import playwright from 'playwright'\r\n * import { addExtra } from 'playwright-extra'\r\n *\r\n * const chromium = addExtra(playwright.chromium)\r\n * chromium.use(plugin)\r\n *\r\n * @param launcher - Playwright (or compatible) browser launcher\r\n */\r\nconst addExtra = (launcher) => new PlaywrightExtra(launcher);\r\n/**\r\n * This object can be used to launch or connect to Chromium with plugin functionality.\r\n *\r\n * This default export will behave exactly the same as the regular playwright\r\n * (just with extra plugin functionality) and can be used as a drop-in replacement.\r\n *\r\n * Behind the scenes it will try to require either the `playwright-core`\r\n * or `playwright` module from the installed dependencies.\r\n *\r\n * @note\r\n * Due to Node.js import caching this will result in a single\r\n * PlaywrightExtra instance, even when used in different files. If you need multiple\r\n * instances with different plugins please use `addExtra`.\r\n *\r\n * @example\r\n * // javascript import\r\n * const { chromium } = require('playwright-extra')\r\n *\r\n * // typescript/es6 module import\r\n * import { chromium } from 'playwright-extra'\r\n *\r\n * // Add plugins\r\n * chromium.use(...)\r\n */\r\nconst chromium = addExtra((playwrightLoader.loadModule() || {}).chromium);\r\n/**\r\n * This object can be used to launch or connect to Firefox with plugin functionality\r\n * @note This export will always return the same instance, if you wish to use multiple instances with different plugins use `addExtra`\r\n */\r\nconst firefox = addExtra((playwrightLoader.loadModule() || {}).firefox);\r\n/**\r\n * This object can be used to launch or connect to Webkit with plugin functionality\r\n * @note This export will always return the same instance, if you wish to use multiple instances with different plugins use `addExtra`\r\n */\r\nconst webkit = addExtra((playwrightLoader.loadModule() || {}).webkit);\r\n// Other playwright module exports we simply re-export with lazy loading\r\nconst _android = playwrightLoader.lazyloadExportOrDie('_android');\r\nconst _electron = playwrightLoader.lazyloadExportOrDie('_electron');\r\nconst request = playwrightLoader.lazyloadExportOrDie('request');\r\nconst selectors = playwrightLoader.lazyloadExportOrDie('selectors');\r\nconst devices = playwrightLoader.lazyloadExportOrDie('devices');\r\nconst errors = playwrightLoader.lazyloadExportOrDie('errors');\r\n/** Playwright with plugin functionality */\r\nconst moduleExports = {\r\n // custom exports\r\n PlaywrightExtra,\r\n PlaywrightExtraClass,\r\n PluginList,\r\n addExtra,\r\n chromium,\r\n firefox,\r\n webkit,\r\n // vanilla exports\r\n _android,\r\n _electron,\r\n request,\r\n selectors,\r\n devices,\r\n errors\r\n};\n\nexport default moduleExports;\nexport { PlaywrightExtra, PlaywrightExtraClass, PluginList, _android, _electron, addExtra, chromium, devices, errors, firefox, request, selectors, webkit };\n//# sourceMappingURL=index.esm.js.map\n","/*!\n * puppeteer-extra-plugin v3.2.2 by berstend\n * https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin\n * @license MIT\n */\nimport debug from 'debug';\n\n/** @private */\r\nconst merge = require('merge-deep');\r\n/**\r\n * Base class for `puppeteer-extra` plugins.\r\n *\r\n * Provides convenience methods to avoid boilerplate.\r\n *\r\n * All common `puppeteer` browser events will be bound to\r\n * the plugin instance, if a respectively named class member is found.\r\n *\r\n * Please refer to the [puppeteer API documentation](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md) as well.\r\n *\r\n * @example\r\n * // hello-world-plugin.js\r\n * const { PuppeteerExtraPlugin } = require('puppeteer-extra-plugin')\r\n *\r\n * class Plugin extends PuppeteerExtraPlugin {\r\n * constructor (opts = { }) { super(opts) }\r\n *\r\n * get name () { return 'hello-world' }\r\n *\r\n * async onPageCreated (page) {\r\n * this.debug('page created', page.url())\r\n * const ua = await page.browser().userAgent()\r\n * this.debug('user agent', ua)\r\n * }\r\n * }\r\n *\r\n * module.exports = function (pluginConfig) { return new Plugin(pluginConfig) }\r\n *\r\n *\r\n * // foo.js\r\n * const puppeteer = require('puppeteer-extra')\r\n * puppeteer.use(require('./hello-world-plugin')())\r\n *\r\n * ;(async () => {\r\n * const browser = await puppeteer.launch({headless: false})\r\n * const page = await browser.newPage()\r\n * await page.goto('http://example.com', {waitUntil: 'domcontentloaded'})\r\n * await browser.close()\r\n * })()\r\n *\r\n */\r\nclass PuppeteerExtraPlugin {\r\n constructor(opts) {\r\n this._debugBase = debug(`puppeteer-extra-plugin:base:${this.name}`);\r\n this._childClassMembers = [];\r\n this._opts = merge(this.defaults, opts || {});\r\n this._debugBase('Initialized.');\r\n }\r\n /**\r\n * Plugin name (required).\r\n *\r\n * Convention:\r\n * - Package: `puppeteer-extra-plugin-anonymize-ua`\r\n * - Name: `anonymize-ua`\r\n *\r\n * @example\r\n * get name () { return 'anonymize-ua' }\r\n */\r\n get name() {\r\n throw new Error('Plugin must override \"name\"');\r\n }\r\n /**\r\n * Plugin defaults (optional).\r\n *\r\n * If defined will be ([deep-](https://github.com/jonschlinkert/merge-deep))merged with the (optional) user supplied options (supplied during plugin instantiation).\r\n *\r\n * The result of merging defaults with user supplied options can be accessed through `this.opts`.\r\n *\r\n * @see [[opts]]\r\n *\r\n * @example\r\n * get defaults () {\r\n * return {\r\n * stripHeadless: true,\r\n * makeWindows: true,\r\n * customFn: null\r\n * }\r\n * }\r\n *\r\n * // Users can overwrite plugin defaults during instantiation:\r\n * puppeteer.use(require('puppeteer-extra-plugin-foobar')({ makeWindows: false }))\r\n */\r\n get defaults() {\r\n return {};\r\n }\r\n /**\r\n * Plugin requirements (optional).\r\n *\r\n * Signal certain plugin requirements to the base class and the user.\r\n *\r\n * Currently supported:\r\n * - `launch`\r\n * - If the plugin only supports locally created browser instances (no `puppeteer.connect()`),\r\n * will output a warning to the user.\r\n * - `headful`\r\n * - If the plugin doesn't work in `headless: true` mode,\r\n * will output a warning to the user.\r\n * - `dataFromPlugins`\r\n * - In case the plugin requires data from other plugins.\r\n * will enable usage of `this.getDataFromPlugins()`.\r\n * - `runLast`\r\n * - In case the plugin prefers to run after the others.\r\n * Useful when the plugin needs data from others.\r\n *\r\n * @example\r\n * get requirements () {\r\n * return new Set(['runLast', 'dataFromPlugins'])\r\n * }\r\n */\r\n get requirements() {\r\n return new Set([]);\r\n }\r\n /**\r\n * Plugin dependencies (optional).\r\n *\r\n * Missing plugins will be required() by puppeteer-extra.\r\n *\r\n * @example\r\n * get dependencies () {\r\n * return new Set(['user-preferences'])\r\n * }\r\n * // Will ensure the 'puppeteer-extra-plugin-user-preferences' plugin is loaded.\r\n */\r\n get dependencies() {\r\n return new Set([]);\r\n }\r\n /**\r\n * Plugin data (optional).\r\n *\r\n * Plugins can expose data (an array of objects), which in turn can be consumed by other plugins,\r\n * that list the `dataFromPlugins` requirement (by using `this.getDataFromPlugins()`).\r\n *\r\n * Convention: `[ {name: 'Any name', value: 'Any value'} ]`\r\n *\r\n * @see [[getDataFromPlugins]]\r\n *\r\n * @example\r\n * // plugin1.js\r\n * get data () {\r\n * return [\r\n * {\r\n * name: 'userPreferences',\r\n * value: { foo: 'bar' }\r\n * },\r\n * {\r\n * name: 'userPreferences',\r\n * value: { hello: 'world' }\r\n * }\r\n * ]\r\n *\r\n * // plugin2.js\r\n * get requirements () { return new Set(['dataFromPlugins']) }\r\n *\r\n * async beforeLaunch () {\r\n * const prefs = this.getDataFromPlugins('userPreferences').map(d => d.value)\r\n * this.debug(prefs) // => [ { foo: 'bar' }, { hello: 'world' } ]\r\n * }\r\n */\r\n get data() {\r\n return [];\r\n }\r\n /**\r\n * Access the plugin options (usually the `defaults` merged with user defined options)\r\n *\r\n * To skip the auto-merging of defaults with user supplied opts don't define a `defaults`\r\n * property and set the `this._opts` Object in your plugin constructor directly.\r\n *\r\n * @see [[defaults]]\r\n *\r\n * @example\r\n * get defaults () { return { foo: \"bar\" } }\r\n *\r\n * async onPageCreated (page) {\r\n * this.debug(this.opts.foo) // => bar\r\n * }\r\n */\r\n get opts() {\r\n return this._opts;\r\n }\r\n /**\r\n * Convenience debug logger based on the [debug] module.\r\n * Will automatically namespace the logging output to the plugin package name.\r\n * [debug]: https://www.npmjs.com/package/debug\r\n *\r\n * ```bash\r\n * # toggle output using environment variables\r\n * DEBUG=puppeteer-extra-plugin:<plugin_name> node foo.js\r\n * # to debug all the things:\r\n * DEBUG=puppeteer-extra,puppeteer-extra-plugin:* node foo.js\r\n * ```\r\n *\r\n * @example\r\n * this.debug('hello world')\r\n * // will output e.g. 'puppeteer-extra-plugin:anonymize-ua hello world'\r\n */\r\n get debug() {\r\n return debug(`puppeteer-extra-plugin:${this.name}`);\r\n }\r\n /**\r\n * Before a new browser instance is created/launched.\r\n *\r\n * Can be used to modify the puppeteer launch options by modifying or returning them.\r\n *\r\n * Plugins using this method will be called in sequence to each\r\n * be able to update the launch options.\r\n *\r\n * @example\r\n * async beforeLaunch (options) {\r\n * if (this.opts.flashPluginPath) {\r\n * options.args.push(`--ppapi-flash-path=${this.opts.flashPluginPath}`)\r\n * }\r\n * }\r\n *\r\n * @param options - Puppeteer launch options\r\n */\r\n async beforeLaunch(options) {\r\n // noop\r\n }\r\n /**\r\n * After the browser has launched.\r\n *\r\n * Note: Don't assume that there will only be a single browser instance during the lifecycle of a plugin.\r\n * It's possible that `pupeeteer.launch` will be called multiple times and more than one browser created.\r\n * In order to make the plugins as stateless as possible don't store a reference to the browser instance\r\n * in the plugin but rather consider alternatives.\r\n *\r\n * E.g. when using `onPageCreated` you can get a browser reference by using `page.browser()`.\r\n *\r\n * Alternatively you could expose a class method that takes a browser instance as a parameter to work with:\r\n *\r\n * ```es6\r\n * const fancyPlugin = require('puppeteer-extra-plugin-fancy')()\r\n * puppeteer.use(fancyPlugin)\r\n * const browser = await puppeteer.launch()\r\n * await fancyPlugin.killBrowser(browser)\r\n * ```\r\n *\r\n * @param browser - The `puppeteer` browser instance.\r\n * @param opts.options - Puppeteer launch options used.\r\n *\r\n * @example\r\n * async afterLaunch (browser, opts) {\r\n * this.debug('browser has been launched', opts.options)\r\n * }\r\n */\r\n async afterLaunch(browser, opts = { options: {} }) {\r\n // noop\r\n }\r\n /**\r\n * Before connecting to an existing browser instance.\r\n *\r\n * Can be used to modify the puppeteer connect options by modifying or returning them.\r\n *\r\n * Plugins using this method will be called in sequence to each\r\n * be able to update the launch options.\r\n *\r\n * @param {Object} options - Puppeteer connect options\r\n * @return {Object=}\r\n */\r\n async beforeConnect(options) {\r\n // noop\r\n }\r\n /**\r\n * After connecting to an existing browser instance.\r\n *\r\n * > Note: Don't assume that there will only be a single browser instance during the lifecycle of a plugin.\r\n *\r\n * @param browser - The `puppeteer` browser instance.\r\n * @param {Object} opts\r\n * @param {Object} opts.options - Puppeteer connect options used.\r\n *\r\n */\r\n async afterConnect(browser, opts = {}) {\r\n // noop\r\n }\r\n /**\r\n * Called when a browser instance is available.\r\n *\r\n * This applies to both `puppeteer.launch()` and `puppeteer.connect()`.\r\n *\r\n * Convenience method created for plugins that need access to a browser instance\r\n * and don't mind if it has been created through `launch` or `connect`.\r\n *\r\n * > Note: Don't assume that there will only be a single browser instance during the lifecycle of a plugin.\r\n *\r\n * @param browser - The `puppeteer` browser instance.\r\n */\r\n async onBrowser(browser, opts) {\r\n // noop\r\n }\r\n /**\r\n * Called when a target is created, for example when a new page is opened by window.open or browser.newPage.\r\n *\r\n * > Note: This includes target creations in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n */\r\n async onTargetCreated(target) {\r\n // noop\r\n }\r\n /**\r\n * Same as `onTargetCreated` but prefiltered to only contain Pages, for convenience.\r\n *\r\n * > Note: This includes page creations in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n *\r\n * @example\r\n * async onPageCreated (page) {\r\n * let ua = await page.browser().userAgent()\r\n * if (this.opts.stripHeadless) {\r\n * ua = ua.replace('HeadlessChrome/', 'Chrome/')\r\n * }\r\n * this.debug('new ua', ua)\r\n * await page.setUserAgent(ua)\r\n * }\r\n */\r\n async onPageCreated(page) {\r\n // noop\r\n }\r\n /**\r\n * Called when the url of a target changes.\r\n *\r\n * > Note: This includes target changes in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n */\r\n async onTargetChanged(target) {\r\n // noop\r\n }\r\n /**\r\n * Called when a target is destroyed, for example when a page is closed.\r\n *\r\n * > Note: This includes target destructions in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n */\r\n async onTargetDestroyed(target) {\r\n // noop\r\n }\r\n /**\r\n * Called when Puppeteer gets disconnected from the Chromium instance.\r\n *\r\n * This might happen because of one of the following:\r\n * - Chromium is closed or crashed\r\n * - The `browser.disconnect` method was called\r\n */\r\n async onDisconnected() {\r\n // noop\r\n }\r\n /**\r\n * **Deprecated:** Since puppeteer v1.6.0 `onDisconnected` has been improved\r\n * and should be used instead of `onClose`.\r\n *\r\n * In puppeteer < v1.6.0 `onDisconnected` was not catching all exit scenarios.\r\n * In order for plugins to clean up properly (e.g. deleting temporary files)\r\n * the `onClose` method had been introduced.\r\n *\r\n * > Note: Might be called multiple times on exit.\r\n *\r\n * > Note: This only includes browser instances created through `.launch()`.\r\n */\r\n async onClose() {\r\n // noop\r\n }\r\n /**\r\n * After the plugin has been registered in `puppeteer-extra`.\r\n *\r\n * Normally right after `puppeteer.use(plugin)` is called\r\n */\r\n async onPluginRegistered() {\r\n // noop\r\n }\r\n /**\r\n * Helper method to retrieve `data` objects from other plugins.\r\n *\r\n * A plugin needs to state the `dataFromPlugins` requirement\r\n * in order to use this method. Will be mapped to `puppeteer.getPluginData`.\r\n *\r\n * @param name - Filter data by `name` property\r\n *\r\n * @see [data]\r\n * @see [requirements]\r\n */\r\n getDataFromPlugins(name) {\r\n return [];\r\n }\r\n /**\r\n * Will match plugin dependencies against all currently registered plugins.\r\n * Is being called by `puppeteer-extra` and used to require missing dependencies.\r\n *\r\n * @param {Array<Object>} plugins\r\n * @return {Set} - list of missing plugin names\r\n *\r\n * @private\r\n */\r\n _getMissingDependencies(plugins) {\r\n const pluginNames = new Set(plugins.map((p) => p.name));\r\n const missing = new Set(Array.from(this.dependencies.values()).filter(x => !pluginNames.has(x)));\r\n return missing;\r\n }\r\n /**\r\n * Conditionally bind browser/process events to class members.\r\n * The idea is to reduce event binding boilerplate in plugins.\r\n *\r\n * For efficiency we make sure the plugin is using the respective event\r\n * by checking the child class members before registering the listener.\r\n *\r\n * @param {<Puppeteer.Browser>} browser\r\n * @param {Object} opts - Options\r\n * @param {string} opts.context - Puppeteer context (launch/connect)\r\n * @param {Object} [opts.options] - Puppeteer launch or connect options\r\n * @param {Array<string>} [opts.defaultArgs] - The default flags that Chromium will be launched with\r\n *\r\n * @private\r\n */\r\n async _bindBrowserEvents(browser, opts = {}) {\r\n if (this._hasChildClassMember('onTargetCreated') ||\r\n this._hasChildClassMember('onPageCreated')) {\r\n browser.on('targetcreated', this._onTargetCreated.bind(this));\r\n }\r\n if (this._hasChildClassMember('onTargetChanged') && this.onTargetChanged) {\r\n browser.on('targetchanged', this.onTargetChanged.bind(this));\r\n }\r\n if (this._hasChildClassMember('onTargetDestroyed') &&\r\n this.onTargetDestroyed) {\r\n browser.on('targetdestroyed', this.onTargetDestroyed.bind(this));\r\n }\r\n if (this._hasChildClassMember('onDisconnected') && this.onDisconnected) {\r\n browser.on('disconnected', this.onDisconnected.bind(this));\r\n }\r\n if (opts.context === 'launch' && this._hasChildClassMember('onClose')) {\r\n // The disconnect event has been improved since puppeteer v1.6.0\r\n // onClose is being kept mostly for legacy reasons\r\n if (this.onClose) {\r\n process.on('exit', this.onClose.bind(this));\r\n browser.on('disconnected', this.onClose.bind(this));\r\n if (opts.options.handleSIGINT !== false) {\r\n process.on('SIGINT', this.onClose.bind(this));\r\n }\r\n if (opts.options.handleSIGTERM !== false) {\r\n process.on('SIGTERM', this.onClose.bind(this));\r\n }\r\n if (opts.options.handleSIGHUP !== false) {\r\n process.on('SIGHUP', this.onClose.bind(this));\r\n }\r\n }\r\n }\r\n if (opts.context === 'launch' && this.afterLaunch) {\r\n await this.afterLaunch(browser, opts);\r\n }\r\n if (opts.context === 'connect' && this.afterConnect) {\r\n await this.afterConnect(browser, opts);\r\n }\r\n if (this.onBrowser)\r\n await this.onBrowser(browser, opts);\r\n }\r\n /**\r\n * @private\r\n */\r\n async _onTargetCreated(target) {\r\n if (this.onTargetCreated)\r\n await this.onTargetCreated(target);\r\n // Pre filter pages for plugin developers convenience\r\n if (target.type() === 'page') {\r\n try {\r\n const page = await target.page();\r\n if (!page) {\r\n return;\r\n }\r\n const validPage = 'isClosed' in page && !page.isClosed();\r\n if (this.onPageCreated && validPage) {\r\n await this.onPageCreated(page);\r\n }\r\n }\r\n catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n }\r\n /**\r\n * @private\r\n */\r\n _register(prototype) {\r\n this._registerChildClassMembers(prototype);\r\n if (this.onPluginRegistered)\r\n this.onPluginRegistered();\r\n }\r\n /**\r\n * @private\r\n */\r\n _registerChildClassMembers(prototype) {\r\n this._childClassMembers = Object.getOwnPropertyNames(prototype);\r\n }\r\n /**\r\n * @private\r\n */\r\n _hasChildClassMember(name) {\r\n return !!this._childClassMembers.includes(name);\r\n }\r\n /**\r\n * @private\r\n */\r\n get _isPuppeteerExtraPlugin() {\r\n return true;\r\n }\r\n}\n\nexport { PuppeteerExtraPlugin };\n//# sourceMappingURL=index.esm.js.map\n","'use strict'\n\nconst { PuppeteerExtraPlugin } = require('puppeteer-extra-plugin')\n\n/**\n * Stealth mode: Applies various techniques to make detection of headless puppeteer harder. 💯\n *\n * ### Purpose\n * There are a couple of ways the use of puppeteer can easily be detected by a target website.\n * The addition of `HeadlessChrome` to the user-agent being only the most obvious one.\n *\n * The goal of this plugin is to be the definite companion to puppeteer to avoid\n * detection, applying new techniques as they surface.\n *\n * As this cat & mouse game is in it's infancy and fast-paced the plugin\n * is kept as flexibile as possible, to support quick testing and iterations.\n *\n * ### Modularity\n * This plugin uses `puppeteer-extra`'s dependency system to only require\n * code mods for evasions that have been enabled, to keep things modular and efficient.\n *\n * The `stealth` plugin is a convenience wrapper that requires multiple [evasion techniques](./evasions/)\n * automatically and comes with defaults. You could also bypass the main module and require\n * specific evasion plugins yourself, if you whish to do so (as they're standalone `puppeteer-extra` plugins):\n *\n * ```es6\n * // bypass main module and require a specific stealth plugin directly:\n * puppeteer.use(require('puppeteer-extra-plugin-stealth/evasions/console.debug')())\n * ```\n *\n * ### Contributing\n * PRs are welcome, if you want to add a new evasion technique I suggest you\n * look at the [template](./evasions/_template) to kickstart things.\n *\n * ### Kudos\n * Thanks to [Evan Sangaline](https://intoli.com/blog/not-possible-to-block-chrome-headless/) and [Paul Irish](https://github.com/paulirish/headless-cat-n-mouse) for kickstarting the discussion!\n *\n * ---\n *\n * @todo\n * - white-/blacklist with url globs (make this a generic plugin method?)\n * - dynamic whitelist based on function evaluation\n *\n * @example\n * const puppeteer = require('puppeteer-extra')\n * // Enable stealth plugin with all evasions\n * puppeteer.use(require('puppeteer-extra-plugin-stealth')())\n *\n *\n * ;(async () => {\n * // Launch the browser in headless mode and set up a page.\n * const browser = await puppeteer.launch({ args: ['--no-sandbox'], headless: true })\n * const page = await browser.newPage()\n *\n * // Navigate to the page that will perform the tests.\n * const testUrl = 'https://intoli.com/blog/' +\n * 'not-possible-to-block-chrome-headless/chrome-headless-test.html'\n * await page.goto(testUrl)\n *\n * // Save a screenshot of the results.\n * const screenshotPath = '/tmp/headless-test-result.png'\n * await page.screenshot({path: screenshotPath})\n * console.log('have a look at the screenshot:', screenshotPath)\n *\n * await browser.close()\n * })()\n *\n * @param {Object} [opts] - Options\n * @param {Set<string>} [opts.enabledEvasions] - Specify which evasions to use (by default all)\n *\n */\nclass StealthPlugin extends PuppeteerExtraPlugin {\n constructor(opts = {}) {\n super(opts)\n }\n\n get name() {\n return 'stealth'\n }\n\n get defaults() {\n const availableEvasions = new Set([\n 'chrome.app',\n 'chrome.csi',\n 'chrome.loadTimes',\n 'chrome.runtime',\n 'defaultArgs',\n 'iframe.contentWindow',\n 'media.codecs',\n 'navigator.hardwareConcurrency',\n 'navigator.languages',\n 'navigator.permissions',\n 'navigator.plugins',\n 'navigator.webdriver',\n 'sourceurl',\n 'user-agent-override',\n 'webgl.vendor',\n 'window.outerdimensions'\n ])\n return {\n availableEvasions,\n // Enable all available evasions by default\n enabledEvasions: new Set([...availableEvasions])\n }\n }\n\n /**\n * Requires evasion techniques dynamically based on configuration.\n *\n * @private\n */\n get dependencies() {\n return new Set(\n [...this.opts.enabledEvasions].map(e => `${this.name}/evasions/${e}`)\n )\n }\n\n /**\n * Get all available evasions.\n *\n * Please look into the [evasions directory](./evasions/) for an up to date list.\n *\n * @type {Set<string>} - A Set of all available evasions.\n *\n * @example\n * const pluginStealth = require('puppeteer-extra-plugin-stealth')()\n * console.log(pluginStealth.availableEvasions) // => Set { 'user-agent', 'console.debug' }\n * puppeteer.use(pluginStealth)\n */\n get availableEvasions() {\n return this.defaults.availableEvasions\n }\n\n /**\n * Get all enabled evasions.\n *\n * Enabled evasions can be configured either through `opts` or by modifying this property.\n *\n * @type {Set<string>} - A Set of all enabled evasions.\n *\n * @example\n * // Remove specific evasion from enabled ones dynamically\n * const pluginStealth = require('puppeteer-extra-plugin-stealth')()\n * pluginStealth.enabledEvasions.delete('console.debug')\n * puppeteer.use(pluginStealth)\n */\n get enabledEvasions() {\n return this.opts.enabledEvasions\n }\n\n /**\n * @private\n */\n set enabledEvasions(evasions) {\n this.opts.enabledEvasions = evasions\n }\n\n async onBrowser(browser) {\n if (browser && browser.setMaxListeners) {\n // Increase event emitter listeners to prevent MaxListenersExceededWarning\n browser.setMaxListeners(30)\n }\n }\n}\n\n/**\n * Default export, PuppeteerExtraStealthPlugin\n *\n * @param {Object} [opts] - Options\n * @param {Set<string>} [opts.enabledEvasions] - Specify which evasions to use (by default all)\n */\nconst defaultExport = opts => new StealthPlugin(opts)\nmodule.exports = defaultExport\n\n// const moduleExport = defaultExport\n// moduleExport.StealthPlugin = StealthPlugin\n// module.exports = moduleExport\n",null,null],"names":["require$$0","Debug","debug"],"mappings":"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;AACA,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACvD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAOA,OAAK,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;AACvD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;AAC3C;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;AACnC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC,IAAI,EAAE;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,CAAC,MAAM,EAAE;AACpC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[1,2,3,4,5,6]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/utils.ts","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/common.js","../../../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/browser.js","../../../node_modules/.pnpm/playwright-extra@4.3.6_playwright-core@1.57.0_playwright@1.57.0/node_modules/playwright-extra/dist/index.esm.js","../../../node_modules/.pnpm/puppeteer-extra-plugin@3.2.3_playwright-extra@4.3.6_playwright-core@1.57.0_playwright@1.57.0_/node_modules/puppeteer-extra-plugin/dist/index.esm.js","../../../node_modules/.pnpm/puppeteer-extra-plugin-stealth@2.11.2_playwright-extra@4.3.6_playwright-core@1.57.0_playwright@1.57.0_/node_modules/puppeteer-extra-plugin-stealth/index.js","../src/browser.ts","../src/mcp/stdio.ts"],"sourcesContent":[null,"/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","/*!\n * playwright-extra v4.3.5 by berstend\n * https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra#readme\n * @license MIT\n */\nimport Debug from 'debug';\n\n/** Node.js module loader helper */\r\nclass Loader {\r\n constructor(moduleName, packageNames) {\r\n this.moduleName = moduleName;\r\n this.packageNames = packageNames;\r\n }\r\n /**\r\n * Lazy load a top level export from another module by wrapping it in a JS proxy.\r\n *\r\n * This allows us to re-export e.g. `devices` from `playwright` while redirecting direct calls\r\n * to it to the module version the user has installed, rather than shipping with a hardcoded version.\r\n *\r\n * If we don't do this and the user doesn't have the target module installed we'd throw immediately when our code is imported.\r\n *\r\n * We use a \"super\" Proxy defining all traps, so calls like `Object.keys(playwright.devices).length` will return the correct value.\r\n */\r\n lazyloadExportOrDie(exportName) {\r\n const that = this;\r\n const trapHandler = Object.fromEntries(Object.getOwnPropertyNames(Reflect).map((name) => [\r\n name,\r\n function (target, ...args) {\r\n const moduleExport = that.loadModuleOrDie()[exportName];\r\n const customTarget = moduleExport;\r\n const result = Reflect[name](customTarget || target, ...args);\r\n return result;\r\n }\r\n ]));\r\n return new Proxy({}, trapHandler);\r\n }\r\n /** Load the module if possible */\r\n loadModule() {\r\n return requirePackages(this.packageNames);\r\n }\r\n /** Load the module if possible or throw */\r\n loadModuleOrDie() {\r\n const module = requirePackages(this.packageNames);\r\n if (module) {\r\n return module;\r\n }\r\n throw this.requireError;\r\n }\r\n get requireError() {\r\n const moduleNamePretty = this.moduleName.charAt(0).toUpperCase() + this.moduleName.slice(1);\r\n return new Error(`\n ${moduleNamePretty} is missing. :-)\n\n I've tried loading ${this.packageNames\r\n .map(p => `\"${p}\"`)\r\n .join(', ')} - no luck.\n\n Make sure you install one of those packages or use the named 'addExtra' export,\n to patch a specific (and maybe non-standard) implementation of ${moduleNamePretty}.\n\n To get the latest stable version of ${moduleNamePretty} run:\n 'yarn add ${this.moduleName}' or 'npm i ${this.moduleName}'\n `);\r\n }\r\n}\r\nfunction requirePackages(packageNames) {\r\n for (const name of packageNames) {\r\n try {\r\n return require(name);\r\n }\r\n catch (_) {\r\n continue; // noop\r\n }\r\n }\r\n return;\r\n}\r\n/** Playwright specific module loader */\r\nconst playwrightLoader = new Loader('playwright', [\r\n 'playwright-core',\r\n 'playwright'\r\n]);\n\nconst debug = Debug('playwright-extra:puppeteer-compat');\r\nconst isPlaywrightPage = (obj) => {\r\n return 'unroute' in obj;\r\n};\r\nconst isPlaywrightFrame = (obj) => {\r\n return ['parentFrame', 'frameLocator'].every(x => x in obj);\r\n};\r\nconst isPlaywrightBrowser = (obj) => {\r\n return 'newContext' in obj;\r\n};\r\nconst isPuppeteerCompat = (obj) => {\r\n return !!obj && typeof obj === 'object' && !!obj.isCompatShim;\r\n};\r\nconst cache = {\r\n objectToShim: new Map(),\r\n cdpSession: {\r\n page: new Map(),\r\n browser: new Map()\r\n }\r\n};\r\n/** Augment a Playwright object with compatibility with certain Puppeteer methods */\r\nfunction addPuppeteerCompat(object) {\r\n if (!object || typeof object !== 'object') {\r\n return object;\r\n }\r\n if (cache.objectToShim.has(object)) {\r\n return cache.objectToShim.get(object);\r\n }\r\n if (isPuppeteerCompat(object)) {\r\n return object;\r\n }\r\n debug('addPuppeteerCompat', cache.objectToShim.size);\r\n if (isPlaywrightPage(object) || isPlaywrightFrame(object)) {\r\n const shim = createPageShim(object);\r\n cache.objectToShim.set(object, shim);\r\n return shim;\r\n }\r\n if (isPlaywrightBrowser(object)) {\r\n const shim = createBrowserShim(object);\r\n cache.objectToShim.set(object, shim);\r\n return shim;\r\n }\r\n debug('Received unknown object:', Reflect.ownKeys(object));\r\n return object;\r\n}\r\n// Only chromium browsers support CDP\r\nconst dummyCDPClient = {\r\n send: async (...args) => {\r\n debug('dummy CDP client called', 'send', args);\r\n },\r\n on: (...args) => {\r\n debug('dummy CDP client called', 'on', args);\r\n }\r\n};\r\nasync function getPageCDPSession(page) {\r\n let session = cache.cdpSession.page.get(page);\r\n if (session) {\r\n debug('getPageCDPSession: use existing');\r\n return session;\r\n }\r\n debug('getPageCDPSession: use new');\r\n const context = isPlaywrightFrame(page)\r\n ? page.page().context()\r\n : page.context();\r\n try {\r\n session = await context.newCDPSession(page);\r\n cache.cdpSession.page.set(page, session);\r\n return session;\r\n }\r\n catch (err) {\r\n debug('getPageCDPSession: error while creating session:', err.message);\r\n debug('getPageCDPSession: Unable create CDP session (most likely a different browser than chromium) - returning a dummy');\r\n }\r\n return dummyCDPClient;\r\n}\r\nasync function getBrowserCDPSession(browser) {\r\n let session = cache.cdpSession.browser.get(browser);\r\n if (session) {\r\n debug('getBrowserCDPSession: use existing');\r\n return session;\r\n }\r\n debug('getBrowserCDPSession: use new');\r\n try {\r\n session = await browser.newBrowserCDPSession();\r\n cache.cdpSession.browser.set(browser, session);\r\n return session;\r\n }\r\n catch (err) {\r\n debug('getBrowserCDPSession: error while creating session:', err.message);\r\n debug('getBrowserCDPSession: Unable create CDP session (most likely a different browser than chromium) - returning a dummy');\r\n }\r\n return dummyCDPClient;\r\n}\r\nfunction createPageShim(page) {\r\n const objId = Math.random().toString(36).substring(2, 7);\r\n const shim = new Proxy(page, {\r\n get(target, prop) {\r\n if (prop === 'isCompatShim' || prop === 'isPlaywright') {\r\n return true;\r\n }\r\n debug('page - get', objId, prop);\r\n if (prop === '_client') {\r\n return () => ({\r\n send: async (method, params) => {\r\n const session = await getPageCDPSession(page);\r\n return await session.send(method, params);\r\n },\r\n on: (event, listener) => {\r\n getPageCDPSession(page).then(session => {\r\n session.on(event, listener);\r\n });\r\n }\r\n });\r\n }\r\n if (prop === 'setBypassCSP') {\r\n return async (enabled) => {\r\n const session = await getPageCDPSession(page);\r\n return await session.send('Page.setBypassCSP', {\r\n enabled\r\n });\r\n };\r\n }\r\n if (prop === 'setUserAgent') {\r\n return async (userAgent, userAgentMetadata) => {\r\n const session = await getPageCDPSession(page);\r\n return await session.send('Emulation.setUserAgentOverride', {\r\n userAgent,\r\n userAgentMetadata\r\n });\r\n };\r\n }\r\n if (prop === 'browser') {\r\n if (isPlaywrightPage(page)) {\r\n return () => {\r\n let browser = page.context().browser();\r\n if (!browser) {\r\n debug('page.browser() - not available, most likely due to launchPersistentContext');\r\n // Use a page shim as quick drop-in (so browser.userAgent() still works)\r\n browser = page;\r\n }\r\n return addPuppeteerCompat(browser);\r\n };\r\n }\r\n }\r\n if (prop === 'evaluateOnNewDocument') {\r\n if (isPlaywrightPage(page)) {\r\n return async function (pageFunction, ...args) {\r\n return await page.addInitScript(pageFunction, args[0]);\r\n };\r\n }\r\n }\r\n // Only relevant when page is being used a pseudo stand-in for the browser object (launchPersistentContext)\r\n if (prop === 'userAgent') {\r\n return async (enabled) => {\r\n const session = await getPageCDPSession(page);\r\n const data = await session.send('Browser.getVersion');\r\n return data.userAgent;\r\n };\r\n }\r\n return Reflect.get(target, prop);\r\n }\r\n });\r\n return shim;\r\n}\r\nfunction createBrowserShim(browser) {\r\n const objId = Math.random().toString(36).substring(2, 7);\r\n const shim = new Proxy(browser, {\r\n get(target, prop) {\r\n if (prop === 'isCompatShim' || prop === 'isPlaywright') {\r\n return true;\r\n }\r\n debug('browser - get', objId, prop);\r\n if (prop === 'pages') {\r\n return () => browser\r\n .contexts()\r\n .flatMap(c => c.pages().map(page => addPuppeteerCompat(page)));\r\n }\r\n if (prop === 'userAgent') {\r\n return async () => {\r\n const session = await getBrowserCDPSession(browser);\r\n const data = await session.send('Browser.getVersion');\r\n return data.userAgent;\r\n };\r\n }\r\n return Reflect.get(target, prop);\r\n }\r\n });\r\n return shim;\r\n}\n\nconst debug$1 = Debug('playwright-extra:plugins');\r\nclass PluginList {\r\n constructor() {\r\n this._plugins = [];\r\n this._dependencyDefaults = new Map();\r\n this._dependencyResolution = new Map();\r\n }\r\n /**\r\n * Get a list of all registered plugins.\r\n */\r\n get list() {\r\n return this._plugins;\r\n }\r\n /**\r\n * Get the names of all registered plugins.\r\n */\r\n get names() {\r\n return this._plugins.map(p => p.name);\r\n }\r\n /**\r\n * Add a new plugin to the list (after checking if it's well-formed).\r\n *\r\n * @param plugin\r\n * @internal\r\n */\r\n add(plugin) {\r\n var _a;\r\n if (!this.isValidPluginInstance(plugin)) {\r\n return false;\r\n }\r\n if (!!plugin.onPluginRegistered) {\r\n plugin.onPluginRegistered({ framework: 'playwright' });\r\n }\r\n // PuppeteerExtraPlugin: Populate `_childClassMembers` list containing methods defined by the plugin\r\n if (!!plugin._registerChildClassMembers) {\r\n plugin._registerChildClassMembers(Object.getPrototypeOf(plugin));\r\n }\r\n if ((_a = plugin.requirements) === null || _a === void 0 ? void 0 : _a.has('dataFromPlugins')) {\r\n plugin.getDataFromPlugins = this.getData.bind(this);\r\n }\r\n this._plugins.push(plugin);\r\n return true;\r\n }\r\n /** Check if the shape of a plugin is correct or warn */\r\n isValidPluginInstance(plugin) {\r\n if (!plugin ||\r\n typeof plugin !== 'object' ||\r\n !plugin._isPuppeteerExtraPlugin) {\r\n console.error(`Warning: Plugin is not derived from PuppeteerExtraPlugin, ignoring.`, plugin);\r\n return false;\r\n }\r\n if (!plugin.name) {\r\n console.error(`Warning: Plugin with no name registering, ignoring.`, plugin);\r\n return false;\r\n }\r\n return true;\r\n }\r\n /** Error callback in case calling a plugin method throws an error. Can be overwritten. */\r\n onPluginError(plugin, method, err) {\r\n console.warn(`An error occured while executing \"${method}\" in plugin \"${plugin.name}\":`, err);\r\n }\r\n /**\r\n * Define default values for plugins implicitly required through the `dependencies` plugin stanza.\r\n *\r\n * @param dependencyPath - The string by which the dependency is listed (not the plugin name)\r\n *\r\n * @example\r\n * chromium.use(stealth)\r\n * chromium.plugins.setDependencyDefaults('stealth/evasions/webgl.vendor', { vendor: 'Bob', renderer: 'Alice' })\r\n */\r\n setDependencyDefaults(dependencyPath, opts) {\r\n this._dependencyDefaults.set(dependencyPath, opts);\r\n return this;\r\n }\r\n /**\r\n * Define custom plugin modules for plugins implicitly required through the `dependencies` plugin stanza.\r\n *\r\n * Using this will prevent dynamic imports from being used, which JS bundlers often have issues with.\r\n *\r\n * @example\r\n * chromium.use(stealth)\r\n * chromium.plugins.setDependencyResolution('stealth/evasions/webgl.vendor', VendorPlugin)\r\n */\r\n setDependencyResolution(dependencyPath, pluginModule) {\r\n this._dependencyResolution.set(dependencyPath, pluginModule);\r\n return this;\r\n }\r\n /**\r\n * Prepare plugins to be used (resolve dependencies, ordering)\r\n * @internal\r\n */\r\n prepare() {\r\n this.resolveDependencies();\r\n this.order();\r\n }\r\n /** Return all plugins using the supplied method */\r\n filterByMethod(methodName) {\r\n return this._plugins.filter(plugin => {\r\n // PuppeteerExtraPlugin: The base class will already define all methods, hence we need to do a different check\r\n if (!!plugin._childClassMembers &&\r\n Array.isArray(plugin._childClassMembers)) {\r\n return plugin._childClassMembers.includes(methodName);\r\n }\r\n return methodName in plugin;\r\n });\r\n }\r\n /** Conditionally add puppeteer compatibility to values provided to the plugins */\r\n _addPuppeteerCompatIfNeeded(plugin, method, args) {\r\n const canUseShim = plugin._isPuppeteerExtraPlugin && !plugin.noPuppeteerShim;\r\n const methodWhitelist = [\r\n 'onBrowser',\r\n 'onPageCreated',\r\n 'onPageClose',\r\n 'afterConnect',\r\n 'afterLaunch'\r\n ];\r\n const shouldUseShim = methodWhitelist.includes(method);\r\n if (!canUseShim || !shouldUseShim) {\r\n return args;\r\n }\r\n debug$1('add puppeteer compatibility', plugin.name, method);\r\n return [...args.map(arg => addPuppeteerCompat(arg))];\r\n }\r\n /**\r\n * Dispatch plugin lifecycle events in a typesafe way.\r\n * Only Plugins that expose the supplied property will be called.\r\n *\r\n * Will not await results to dispatch events as fast as possible to all plugins.\r\n *\r\n * @param method - The lifecycle method name\r\n * @param args - Optional: Any arguments to be supplied to the plugin methods\r\n * @internal\r\n */\r\n dispatch(method, ...args) {\r\n var _a, _b;\r\n const plugins = this.filterByMethod(method);\r\n debug$1('dispatch', method, {\r\n all: this._plugins.length,\r\n filteredByMethod: plugins.length\r\n });\r\n for (const plugin of plugins) {\r\n try {\r\n args = this._addPuppeteerCompatIfNeeded.bind(this)(plugin, method, args);\r\n const fnType = (_b = (_a = plugin[method]) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name;\r\n debug$1('dispatch to plugin', {\r\n plugin: plugin.name,\r\n method,\r\n fnType\r\n });\r\n if (fnType === 'AsyncFunction') {\r\n ;\r\n plugin[method](...args).catch((err) => this.onPluginError(plugin, method, err));\r\n }\r\n else {\r\n ;\r\n plugin[method](...args);\r\n }\r\n }\r\n catch (err) {\r\n this.onPluginError(plugin, method, err);\r\n }\r\n }\r\n }\r\n /**\r\n * Dispatch plugin lifecycle events in a typesafe way.\r\n * Only Plugins that expose the supplied property will be called.\r\n *\r\n * Can also be used to get a definite return value after passing it to plugins:\r\n * Calls plugins sequentially and passes on a value (waterfall style).\r\n *\r\n * The plugins can either modify the value or return an updated one.\r\n * Will return the latest, updated value which ran through all plugins.\r\n *\r\n * By convention only the first argument will be used as the updated value.\r\n *\r\n * @param method - The lifecycle method name\r\n * @param args - Optional: Any arguments to be supplied to the plugin methods\r\n * @internal\r\n */\r\n async dispatchBlocking(method, ...args) {\r\n const plugins = this.filterByMethod(method);\r\n debug$1('dispatchBlocking', method, {\r\n all: this._plugins.length,\r\n filteredByMethod: plugins.length\r\n });\r\n let retValue = null;\r\n for (const plugin of plugins) {\r\n try {\r\n args = this._addPuppeteerCompatIfNeeded.bind(this)(plugin, method, args);\r\n retValue = await plugin[method](...args);\r\n // In case we got a return value use that as new first argument for followup function calls\r\n if (retValue !== undefined) {\r\n args[0] = retValue;\r\n }\r\n }\r\n catch (err) {\r\n this.onPluginError(plugin, method, err);\r\n return retValue;\r\n }\r\n }\r\n return retValue;\r\n }\r\n /**\r\n * Order plugins that have expressed a special placement requirement.\r\n *\r\n * This is useful/necessary for e.g. plugins that depend on the data from other plugins.\r\n *\r\n * @private\r\n */\r\n order() {\r\n debug$1('order:before', this.names);\r\n const runLast = this._plugins\r\n .filter(p => { var _a; return (_a = p.requirements) === null || _a === void 0 ? void 0 : _a.has('runLast'); })\r\n .map(p => p.name);\r\n for (const name of runLast) {\r\n const index = this._plugins.findIndex(p => p.name === name);\r\n this._plugins.push(this._plugins.splice(index, 1)[0]);\r\n }\r\n debug$1('order:after', this.names);\r\n }\r\n /**\r\n * Collects the exposed `data` property of all registered plugins.\r\n * Will be reduced/flattened to a single array.\r\n *\r\n * Can be accessed by plugins that listed the `dataFromPlugins` requirement.\r\n *\r\n * Implemented mainly for plugins that need data from other plugins (e.g. `user-preferences`).\r\n *\r\n * @see [PuppeteerExtraPlugin]/data\r\n * @param name - Filter data by optional name\r\n *\r\n * @private\r\n */\r\n getData(name) {\r\n const data = this._plugins\r\n .filter((p) => !!p.data)\r\n .map((p) => (Array.isArray(p.data) ? p.data : [p.data]))\r\n .reduce((acc, arr) => [...acc, ...arr], []);\r\n return name ? data.filter((d) => d.name === name) : data;\r\n }\r\n /**\r\n * Handle `plugins` stanza (already instantiated plugins that don't require dynamic imports)\r\n */\r\n resolvePluginsStanza() {\r\n debug$1('resolvePluginsStanza');\r\n const pluginNames = new Set(this.names);\r\n this._plugins\r\n .filter(p => !!p.plugins && p.plugins.length)\r\n .filter(p => !pluginNames.has(p.name)) // TBD: Do we want to filter out existing?\r\n .forEach(parent => {\r\n (parent.plugins || []).forEach(p => {\r\n debug$1(parent.name, 'adding missing plugin', p.name);\r\n this.add(p);\r\n });\r\n });\r\n }\r\n /**\r\n * Handle `dependencies` stanza (which requires dynamic imports)\r\n *\r\n * Plugins can define `dependencies` as a Set or Array of dependency paths, or a Map with additional opts\r\n *\r\n * @note\r\n * - The default opts for implicit dependencies can be defined using `setDependencyDefaults()`\r\n * - Dynamic imports can be avoided by providing plugin modules with `setDependencyResolution()`\r\n */\r\n resolveDependenciesStanza() {\r\n debug$1('resolveDependenciesStanza');\r\n /** Attempt to dynamically require a plugin module */\r\n const requireDependencyOrDie = (parentName, dependencyPath) => {\r\n // If the user provided the plugin module already we use that\r\n if (this._dependencyResolution.has(dependencyPath)) {\r\n return this._dependencyResolution.get(dependencyPath);\r\n }\r\n const possiblePrefixes = ['puppeteer-extra-plugin-']; // could be extended later\r\n const isAlreadyPrefixed = possiblePrefixes.some(prefix => dependencyPath.startsWith(prefix));\r\n const packagePaths = [];\r\n // If the dependency is not already prefixed we attempt to require all possible combinations to find one that works\r\n if (!isAlreadyPrefixed) {\r\n packagePaths.push(...possiblePrefixes.map(prefix => prefix + dependencyPath));\r\n }\r\n // We always attempt to require the path verbatim (as a last resort)\r\n packagePaths.push(dependencyPath);\r\n const pluginModule = requirePackages(packagePaths);\r\n if (pluginModule) {\r\n return pluginModule;\r\n }\r\n const explanation = `\nThe plugin '${parentName}' listed '${dependencyPath}' as dependency,\nwhich could not be found. Please install it:\n\n${packagePaths\r\n .map(packagePath => `yarn add ${packagePath.split('/')[0]}`)\r\n .join(`\\n or:\\n`)}\n\nNote: You don't need to require the plugin yourself,\nunless you want to modify it's default settings.\n\nIf your bundler has issues with dynamic imports take a look at '.plugins.setDependencyResolution()'.\n `;\r\n console.warn(explanation);\r\n throw new Error('Plugin dependency not found');\r\n };\r\n const existingPluginNames = new Set(this.names);\r\n const recursivelyLoadMissingDependencies = ({ name: parentName, dependencies }) => {\r\n if (!dependencies) {\r\n return;\r\n }\r\n const processDependency = (dependencyPath, opts) => {\r\n const pluginModule = requireDependencyOrDie(parentName, dependencyPath);\r\n opts = opts || this._dependencyDefaults.get(dependencyPath) || {};\r\n const plugin = pluginModule(opts);\r\n if (existingPluginNames.has(plugin.name)) {\r\n debug$1(parentName, '=> dependency already exists:', plugin.name);\r\n return;\r\n }\r\n existingPluginNames.add(plugin.name);\r\n debug$1(parentName, '=> adding new dependency:', plugin.name, opts);\r\n this.add(plugin);\r\n return recursivelyLoadMissingDependencies(plugin);\r\n };\r\n if (dependencies instanceof Set || Array.isArray(dependencies)) {\r\n return [...dependencies].forEach(dependencyPath => processDependency(dependencyPath));\r\n }\r\n if (dependencies instanceof Map) {\r\n // Note: `k,v => v,k` (Map + forEach will reverse the order)\r\n return dependencies.forEach((v, k) => processDependency(k, v));\r\n }\r\n };\r\n this.list.forEach(recursivelyLoadMissingDependencies);\r\n }\r\n /**\r\n * Lightweight plugin dependency management to require plugins and code mods on demand.\r\n * @private\r\n */\r\n resolveDependencies() {\r\n debug$1('resolveDependencies');\r\n this.resolvePluginsStanza();\r\n this.resolveDependenciesStanza();\r\n }\r\n}\n\nconst debug$2 = Debug('playwright-extra');\r\n/**\r\n * Modular plugin framework to teach `playwright` new tricks.\r\n */\r\nclass PlaywrightExtraClass {\r\n constructor(_launcher) {\r\n this._launcher = _launcher;\r\n this.plugins = new PluginList();\r\n }\r\n /**\r\n * The **main interface** to register plugins.\r\n *\r\n * Can be called multiple times to enable multiple plugins.\r\n *\r\n * Plugins derived from `PuppeteerExtraPlugin` will be used with a compatiblity layer.\r\n *\r\n * @example\r\n * chromium.use(plugin1).use(plugin2)\r\n * firefox.use(plugin1).use(plugin2)\r\n *\r\n * @see [PuppeteerExtraPlugin]\r\n *\r\n * @return The same `PlaywrightExtra` instance (for optional chaining)\r\n */\r\n use(plugin) {\r\n const isValid = plugin && 'name' in plugin;\r\n if (!isValid) {\r\n throw new Error('A plugin must be provided to .use()');\r\n }\r\n if (this.plugins.add(plugin)) {\r\n debug$2('Plugin registered', plugin.name);\r\n }\r\n return this;\r\n }\r\n /**\r\n * In order to support a default export which will require vanilla playwright automatically,\r\n * as well as `addExtra` to patch a provided launcher, we need to so some gymnastics here.\r\n *\r\n * Otherwise this would throw immediately, even when only using the `addExtra` export with an arbitrary compatible launcher.\r\n *\r\n * The solution is to make the vanilla launcher optional and only throw once we try to effectively use and can't find it.\r\n *\r\n * @internal\r\n */\r\n get launcher() {\r\n if (!this._launcher) {\r\n throw playwrightLoader.requireError;\r\n }\r\n return this._launcher;\r\n }\r\n async launch(...args) {\r\n if (!this.launcher.launch) {\r\n throw new Error('Launcher does not support \"launch\"');\r\n }\r\n let [options] = args;\r\n options = Object.assign({ args: [] }, (options || {})); // Initialize args array\r\n debug$2('launch', options);\r\n this.plugins.prepare();\r\n // Give plugins the chance to modify the options before continuing\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeLaunch', options)) || options;\r\n debug$2('launch with options', options);\r\n if ('userDataDir' in options) {\r\n debug$2(\"A plugin defined userDataDir during .launch, which isn't supported by playwright - ignoring\");\r\n delete options.userDataDir;\r\n }\r\n const browser = await this.launcher['launch'](options);\r\n await this.plugins.dispatchBlocking('onBrowser', browser);\r\n await this._bindBrowserEvents(browser);\r\n await this.plugins.dispatchBlocking('afterLaunch', browser);\r\n return browser;\r\n }\r\n async launchPersistentContext(...args) {\r\n if (!this.launcher.launchPersistentContext) {\r\n throw new Error('Launcher does not support \"launchPersistentContext\"');\r\n }\r\n let [userDataDir, options] = args;\r\n options = Object.assign({ args: [] }, (options || {})); // Initialize args array\r\n debug$2('launchPersistentContext', options);\r\n this.plugins.prepare();\r\n // Give plugins the chance to modify the options before continuing\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeLaunch', options)) || options;\r\n const context = await this.launcher['launchPersistentContext'](userDataDir, options);\r\n await this.plugins.dispatchBlocking('afterLaunch', context);\r\n this._bindBrowserContextEvents(context);\r\n return context;\r\n }\r\n async connect(wsEndpointOrOptions, wsOptions = {}) {\r\n if (!this.launcher.connect) {\r\n throw new Error('Launcher does not support \"connect\"');\r\n }\r\n this.plugins.prepare();\r\n // Playwright currently supports two function signatures for .connect\r\n let options = {};\r\n let wsEndpointAsString = false;\r\n if (typeof wsEndpointOrOptions === 'object') {\r\n options = Object.assign(Object.assign({}, wsEndpointOrOptions), wsOptions);\r\n }\r\n else {\r\n wsEndpointAsString = true;\r\n options = Object.assign({ wsEndpoint: wsEndpointOrOptions }, wsOptions);\r\n }\r\n debug$2('connect', options);\r\n // Give plugins the chance to modify the options before launch/connect\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeConnect', options)) || options;\r\n // Follow call signature of end user\r\n const args = [];\r\n const wsEndpoint = options.wsEndpoint;\r\n if (wsEndpointAsString) {\r\n delete options.wsEndpoint;\r\n args.push(wsEndpoint, options);\r\n }\r\n else {\r\n args.push(options);\r\n }\r\n const browser = (await this.launcher['connect'](...args));\r\n await this.plugins.dispatchBlocking('onBrowser', browser);\r\n await this._bindBrowserEvents(browser);\r\n await this.plugins.dispatchBlocking('afterConnect', browser);\r\n return browser;\r\n }\r\n async connectOverCDP(wsEndpointOrOptions, wsOptions = {}) {\r\n if (!this.launcher.connectOverCDP) {\r\n throw new Error(`Launcher does not implement 'connectOverCDP'`);\r\n }\r\n this.plugins.prepare();\r\n // Playwright currently supports two function signatures for .connectOverCDP\r\n let options = {};\r\n let wsEndpointAsString = false;\r\n if (typeof wsEndpointOrOptions === 'object') {\r\n options = Object.assign(Object.assign({}, wsEndpointOrOptions), wsOptions);\r\n }\r\n else {\r\n wsEndpointAsString = true;\r\n options = Object.assign({ endpointURL: wsEndpointOrOptions }, wsOptions);\r\n }\r\n debug$2('connectOverCDP'), options;\r\n // Give plugins the chance to modify the options before launch/connect\r\n options =\r\n (await this.plugins.dispatchBlocking('beforeConnect', options)) || options;\r\n // Follow call signature of end user\r\n const args = [];\r\n const endpointURL = options.endpointURL;\r\n if (wsEndpointAsString) {\r\n delete options.endpointURL;\r\n args.push(endpointURL, options);\r\n }\r\n else {\r\n args.push(options);\r\n }\r\n const browser = (await this.launcher['connectOverCDP'](...args));\r\n await this.plugins.dispatchBlocking('onBrowser', browser);\r\n await this._bindBrowserEvents(browser);\r\n await this.plugins.dispatchBlocking('afterConnect', browser);\r\n return browser;\r\n }\r\n async _bindBrowserContextEvents(context, contextOptions) {\r\n debug$2('_bindBrowserContextEvents');\r\n this.plugins.dispatch('onContextCreated', context, contextOptions);\r\n // Make sure things like `addInitScript` show an effect on the very first page as well\r\n context.newPage = ((originalMethod, ctx) => {\r\n return async () => {\r\n const page = await originalMethod.call(ctx);\r\n await page.goto('about:blank');\r\n return page;\r\n };\r\n })(context.newPage, context);\r\n context.on('close', () => {\r\n // When using `launchPersistentContext` context closing is the same as browser closing\r\n if (!context.browser()) {\r\n this.plugins.dispatch('onDisconnected');\r\n }\r\n });\r\n context.on('page', page => {\r\n this.plugins.dispatch('onPageCreated', page);\r\n page.on('close', () => {\r\n this.plugins.dispatch('onPageClose', page);\r\n });\r\n });\r\n }\r\n async _bindBrowserEvents(browser) {\r\n debug$2('_bindPlaywrightBrowserEvents');\r\n browser.on('disconnected', () => {\r\n this.plugins.dispatch('onDisconnected', browser);\r\n });\r\n // Note: `browser.newPage` will implicitly call `browser.newContext` as well\r\n browser.newContext = ((originalMethod, ctx) => {\r\n return async (options = {}) => {\r\n const contextOptions = (await this.plugins.dispatchBlocking('beforeContext', options, browser)) || options;\r\n const context = await originalMethod.call(ctx, contextOptions);\r\n this._bindBrowserContextEvents(context, contextOptions);\r\n return context;\r\n };\r\n })(browser.newContext, browser);\r\n }\r\n}\r\n/**\r\n * PlaywrightExtra class with additional launcher methods.\r\n *\r\n * Augments the class with an instance proxy to pass on methods that are not augmented to the original target.\r\n *\r\n */\r\nconst PlaywrightExtra = new Proxy(PlaywrightExtraClass, {\r\n construct(classTarget, args) {\r\n debug$2(`create instance of ${classTarget.name}`);\r\n const result = Reflect.construct(classTarget, args);\r\n return new Proxy(result, {\r\n get(target, prop) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop);\r\n }\r\n debug$2('proxying property to original launcher: ', prop);\r\n return Reflect.get(target.launcher, prop);\r\n }\r\n });\r\n }\r\n});\n\n/**\r\n * Augment the provided Playwright browser launcher with plugin functionality.\r\n *\r\n * Using `addExtra` will always create a fresh PlaywrightExtra instance.\r\n *\r\n * @example\r\n * import playwright from 'playwright'\r\n * import { addExtra } from 'playwright-extra'\r\n *\r\n * const chromium = addExtra(playwright.chromium)\r\n * chromium.use(plugin)\r\n *\r\n * @param launcher - Playwright (or compatible) browser launcher\r\n */\r\nconst addExtra = (launcher) => new PlaywrightExtra(launcher);\r\n/**\r\n * This object can be used to launch or connect to Chromium with plugin functionality.\r\n *\r\n * This default export will behave exactly the same as the regular playwright\r\n * (just with extra plugin functionality) and can be used as a drop-in replacement.\r\n *\r\n * Behind the scenes it will try to require either the `playwright-core`\r\n * or `playwright` module from the installed dependencies.\r\n *\r\n * @note\r\n * Due to Node.js import caching this will result in a single\r\n * PlaywrightExtra instance, even when used in different files. If you need multiple\r\n * instances with different plugins please use `addExtra`.\r\n *\r\n * @example\r\n * // javascript import\r\n * const { chromium } = require('playwright-extra')\r\n *\r\n * // typescript/es6 module import\r\n * import { chromium } from 'playwright-extra'\r\n *\r\n * // Add plugins\r\n * chromium.use(...)\r\n */\r\nconst chromium = addExtra((playwrightLoader.loadModule() || {}).chromium);\r\n/**\r\n * This object can be used to launch or connect to Firefox with plugin functionality\r\n * @note This export will always return the same instance, if you wish to use multiple instances with different plugins use `addExtra`\r\n */\r\nconst firefox = addExtra((playwrightLoader.loadModule() || {}).firefox);\r\n/**\r\n * This object can be used to launch or connect to Webkit with plugin functionality\r\n * @note This export will always return the same instance, if you wish to use multiple instances with different plugins use `addExtra`\r\n */\r\nconst webkit = addExtra((playwrightLoader.loadModule() || {}).webkit);\r\n// Other playwright module exports we simply re-export with lazy loading\r\nconst _android = playwrightLoader.lazyloadExportOrDie('_android');\r\nconst _electron = playwrightLoader.lazyloadExportOrDie('_electron');\r\nconst request = playwrightLoader.lazyloadExportOrDie('request');\r\nconst selectors = playwrightLoader.lazyloadExportOrDie('selectors');\r\nconst devices = playwrightLoader.lazyloadExportOrDie('devices');\r\nconst errors = playwrightLoader.lazyloadExportOrDie('errors');\r\n/** Playwright with plugin functionality */\r\nconst moduleExports = {\r\n // custom exports\r\n PlaywrightExtra,\r\n PlaywrightExtraClass,\r\n PluginList,\r\n addExtra,\r\n chromium,\r\n firefox,\r\n webkit,\r\n // vanilla exports\r\n _android,\r\n _electron,\r\n request,\r\n selectors,\r\n devices,\r\n errors\r\n};\n\nexport default moduleExports;\nexport { PlaywrightExtra, PlaywrightExtraClass, PluginList, _android, _electron, addExtra, chromium, devices, errors, firefox, request, selectors, webkit };\n//# sourceMappingURL=index.esm.js.map\n","/*!\n * puppeteer-extra-plugin v3.2.2 by berstend\n * https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin\n * @license MIT\n */\nimport debug from 'debug';\n\n/** @private */\r\nconst merge = require('merge-deep');\r\n/**\r\n * Base class for `puppeteer-extra` plugins.\r\n *\r\n * Provides convenience methods to avoid boilerplate.\r\n *\r\n * All common `puppeteer` browser events will be bound to\r\n * the plugin instance, if a respectively named class member is found.\r\n *\r\n * Please refer to the [puppeteer API documentation](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md) as well.\r\n *\r\n * @example\r\n * // hello-world-plugin.js\r\n * const { PuppeteerExtraPlugin } = require('puppeteer-extra-plugin')\r\n *\r\n * class Plugin extends PuppeteerExtraPlugin {\r\n * constructor (opts = { }) { super(opts) }\r\n *\r\n * get name () { return 'hello-world' }\r\n *\r\n * async onPageCreated (page) {\r\n * this.debug('page created', page.url())\r\n * const ua = await page.browser().userAgent()\r\n * this.debug('user agent', ua)\r\n * }\r\n * }\r\n *\r\n * module.exports = function (pluginConfig) { return new Plugin(pluginConfig) }\r\n *\r\n *\r\n * // foo.js\r\n * const puppeteer = require('puppeteer-extra')\r\n * puppeteer.use(require('./hello-world-plugin')())\r\n *\r\n * ;(async () => {\r\n * const browser = await puppeteer.launch({headless: false})\r\n * const page = await browser.newPage()\r\n * await page.goto('http://example.com', {waitUntil: 'domcontentloaded'})\r\n * await browser.close()\r\n * })()\r\n *\r\n */\r\nclass PuppeteerExtraPlugin {\r\n constructor(opts) {\r\n this._debugBase = debug(`puppeteer-extra-plugin:base:${this.name}`);\r\n this._childClassMembers = [];\r\n this._opts = merge(this.defaults, opts || {});\r\n this._debugBase('Initialized.');\r\n }\r\n /**\r\n * Plugin name (required).\r\n *\r\n * Convention:\r\n * - Package: `puppeteer-extra-plugin-anonymize-ua`\r\n * - Name: `anonymize-ua`\r\n *\r\n * @example\r\n * get name () { return 'anonymize-ua' }\r\n */\r\n get name() {\r\n throw new Error('Plugin must override \"name\"');\r\n }\r\n /**\r\n * Plugin defaults (optional).\r\n *\r\n * If defined will be ([deep-](https://github.com/jonschlinkert/merge-deep))merged with the (optional) user supplied options (supplied during plugin instantiation).\r\n *\r\n * The result of merging defaults with user supplied options can be accessed through `this.opts`.\r\n *\r\n * @see [[opts]]\r\n *\r\n * @example\r\n * get defaults () {\r\n * return {\r\n * stripHeadless: true,\r\n * makeWindows: true,\r\n * customFn: null\r\n * }\r\n * }\r\n *\r\n * // Users can overwrite plugin defaults during instantiation:\r\n * puppeteer.use(require('puppeteer-extra-plugin-foobar')({ makeWindows: false }))\r\n */\r\n get defaults() {\r\n return {};\r\n }\r\n /**\r\n * Plugin requirements (optional).\r\n *\r\n * Signal certain plugin requirements to the base class and the user.\r\n *\r\n * Currently supported:\r\n * - `launch`\r\n * - If the plugin only supports locally created browser instances (no `puppeteer.connect()`),\r\n * will output a warning to the user.\r\n * - `headful`\r\n * - If the plugin doesn't work in `headless: true` mode,\r\n * will output a warning to the user.\r\n * - `dataFromPlugins`\r\n * - In case the plugin requires data from other plugins.\r\n * will enable usage of `this.getDataFromPlugins()`.\r\n * - `runLast`\r\n * - In case the plugin prefers to run after the others.\r\n * Useful when the plugin needs data from others.\r\n *\r\n * @example\r\n * get requirements () {\r\n * return new Set(['runLast', 'dataFromPlugins'])\r\n * }\r\n */\r\n get requirements() {\r\n return new Set([]);\r\n }\r\n /**\r\n * Plugin dependencies (optional).\r\n *\r\n * Missing plugins will be required() by puppeteer-extra.\r\n *\r\n * @example\r\n * get dependencies () {\r\n * return new Set(['user-preferences'])\r\n * }\r\n * // Will ensure the 'puppeteer-extra-plugin-user-preferences' plugin is loaded.\r\n */\r\n get dependencies() {\r\n return new Set([]);\r\n }\r\n /**\r\n * Plugin data (optional).\r\n *\r\n * Plugins can expose data (an array of objects), which in turn can be consumed by other plugins,\r\n * that list the `dataFromPlugins` requirement (by using `this.getDataFromPlugins()`).\r\n *\r\n * Convention: `[ {name: 'Any name', value: 'Any value'} ]`\r\n *\r\n * @see [[getDataFromPlugins]]\r\n *\r\n * @example\r\n * // plugin1.js\r\n * get data () {\r\n * return [\r\n * {\r\n * name: 'userPreferences',\r\n * value: { foo: 'bar' }\r\n * },\r\n * {\r\n * name: 'userPreferences',\r\n * value: { hello: 'world' }\r\n * }\r\n * ]\r\n *\r\n * // plugin2.js\r\n * get requirements () { return new Set(['dataFromPlugins']) }\r\n *\r\n * async beforeLaunch () {\r\n * const prefs = this.getDataFromPlugins('userPreferences').map(d => d.value)\r\n * this.debug(prefs) // => [ { foo: 'bar' }, { hello: 'world' } ]\r\n * }\r\n */\r\n get data() {\r\n return [];\r\n }\r\n /**\r\n * Access the plugin options (usually the `defaults` merged with user defined options)\r\n *\r\n * To skip the auto-merging of defaults with user supplied opts don't define a `defaults`\r\n * property and set the `this._opts` Object in your plugin constructor directly.\r\n *\r\n * @see [[defaults]]\r\n *\r\n * @example\r\n * get defaults () { return { foo: \"bar\" } }\r\n *\r\n * async onPageCreated (page) {\r\n * this.debug(this.opts.foo) // => bar\r\n * }\r\n */\r\n get opts() {\r\n return this._opts;\r\n }\r\n /**\r\n * Convenience debug logger based on the [debug] module.\r\n * Will automatically namespace the logging output to the plugin package name.\r\n * [debug]: https://www.npmjs.com/package/debug\r\n *\r\n * ```bash\r\n * # toggle output using environment variables\r\n * DEBUG=puppeteer-extra-plugin:<plugin_name> node foo.js\r\n * # to debug all the things:\r\n * DEBUG=puppeteer-extra,puppeteer-extra-plugin:* node foo.js\r\n * ```\r\n *\r\n * @example\r\n * this.debug('hello world')\r\n * // will output e.g. 'puppeteer-extra-plugin:anonymize-ua hello world'\r\n */\r\n get debug() {\r\n return debug(`puppeteer-extra-plugin:${this.name}`);\r\n }\r\n /**\r\n * Before a new browser instance is created/launched.\r\n *\r\n * Can be used to modify the puppeteer launch options by modifying or returning them.\r\n *\r\n * Plugins using this method will be called in sequence to each\r\n * be able to update the launch options.\r\n *\r\n * @example\r\n * async beforeLaunch (options) {\r\n * if (this.opts.flashPluginPath) {\r\n * options.args.push(`--ppapi-flash-path=${this.opts.flashPluginPath}`)\r\n * }\r\n * }\r\n *\r\n * @param options - Puppeteer launch options\r\n */\r\n async beforeLaunch(options) {\r\n // noop\r\n }\r\n /**\r\n * After the browser has launched.\r\n *\r\n * Note: Don't assume that there will only be a single browser instance during the lifecycle of a plugin.\r\n * It's possible that `pupeeteer.launch` will be called multiple times and more than one browser created.\r\n * In order to make the plugins as stateless as possible don't store a reference to the browser instance\r\n * in the plugin but rather consider alternatives.\r\n *\r\n * E.g. when using `onPageCreated` you can get a browser reference by using `page.browser()`.\r\n *\r\n * Alternatively you could expose a class method that takes a browser instance as a parameter to work with:\r\n *\r\n * ```es6\r\n * const fancyPlugin = require('puppeteer-extra-plugin-fancy')()\r\n * puppeteer.use(fancyPlugin)\r\n * const browser = await puppeteer.launch()\r\n * await fancyPlugin.killBrowser(browser)\r\n * ```\r\n *\r\n * @param browser - The `puppeteer` browser instance.\r\n * @param opts.options - Puppeteer launch options used.\r\n *\r\n * @example\r\n * async afterLaunch (browser, opts) {\r\n * this.debug('browser has been launched', opts.options)\r\n * }\r\n */\r\n async afterLaunch(browser, opts = { options: {} }) {\r\n // noop\r\n }\r\n /**\r\n * Before connecting to an existing browser instance.\r\n *\r\n * Can be used to modify the puppeteer connect options by modifying or returning them.\r\n *\r\n * Plugins using this method will be called in sequence to each\r\n * be able to update the launch options.\r\n *\r\n * @param {Object} options - Puppeteer connect options\r\n * @return {Object=}\r\n */\r\n async beforeConnect(options) {\r\n // noop\r\n }\r\n /**\r\n * After connecting to an existing browser instance.\r\n *\r\n * > Note: Don't assume that there will only be a single browser instance during the lifecycle of a plugin.\r\n *\r\n * @param browser - The `puppeteer` browser instance.\r\n * @param {Object} opts\r\n * @param {Object} opts.options - Puppeteer connect options used.\r\n *\r\n */\r\n async afterConnect(browser, opts = {}) {\r\n // noop\r\n }\r\n /**\r\n * Called when a browser instance is available.\r\n *\r\n * This applies to both `puppeteer.launch()` and `puppeteer.connect()`.\r\n *\r\n * Convenience method created for plugins that need access to a browser instance\r\n * and don't mind if it has been created through `launch` or `connect`.\r\n *\r\n * > Note: Don't assume that there will only be a single browser instance during the lifecycle of a plugin.\r\n *\r\n * @param browser - The `puppeteer` browser instance.\r\n */\r\n async onBrowser(browser, opts) {\r\n // noop\r\n }\r\n /**\r\n * Called when a target is created, for example when a new page is opened by window.open or browser.newPage.\r\n *\r\n * > Note: This includes target creations in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n */\r\n async onTargetCreated(target) {\r\n // noop\r\n }\r\n /**\r\n * Same as `onTargetCreated` but prefiltered to only contain Pages, for convenience.\r\n *\r\n * > Note: This includes page creations in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n *\r\n * @example\r\n * async onPageCreated (page) {\r\n * let ua = await page.browser().userAgent()\r\n * if (this.opts.stripHeadless) {\r\n * ua = ua.replace('HeadlessChrome/', 'Chrome/')\r\n * }\r\n * this.debug('new ua', ua)\r\n * await page.setUserAgent(ua)\r\n * }\r\n */\r\n async onPageCreated(page) {\r\n // noop\r\n }\r\n /**\r\n * Called when the url of a target changes.\r\n *\r\n * > Note: This includes target changes in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n */\r\n async onTargetChanged(target) {\r\n // noop\r\n }\r\n /**\r\n * Called when a target is destroyed, for example when a page is closed.\r\n *\r\n * > Note: This includes target destructions in incognito browser contexts.\r\n *\r\n * > Note: This includes browser instances created through `.launch()` as well as `.connect()`.\r\n *\r\n * @param {Puppeteer.Target} target\r\n */\r\n async onTargetDestroyed(target) {\r\n // noop\r\n }\r\n /**\r\n * Called when Puppeteer gets disconnected from the Chromium instance.\r\n *\r\n * This might happen because of one of the following:\r\n * - Chromium is closed or crashed\r\n * - The `browser.disconnect` method was called\r\n */\r\n async onDisconnected() {\r\n // noop\r\n }\r\n /**\r\n * **Deprecated:** Since puppeteer v1.6.0 `onDisconnected` has been improved\r\n * and should be used instead of `onClose`.\r\n *\r\n * In puppeteer < v1.6.0 `onDisconnected` was not catching all exit scenarios.\r\n * In order for plugins to clean up properly (e.g. deleting temporary files)\r\n * the `onClose` method had been introduced.\r\n *\r\n * > Note: Might be called multiple times on exit.\r\n *\r\n * > Note: This only includes browser instances created through `.launch()`.\r\n */\r\n async onClose() {\r\n // noop\r\n }\r\n /**\r\n * After the plugin has been registered in `puppeteer-extra`.\r\n *\r\n * Normally right after `puppeteer.use(plugin)` is called\r\n */\r\n async onPluginRegistered() {\r\n // noop\r\n }\r\n /**\r\n * Helper method to retrieve `data` objects from other plugins.\r\n *\r\n * A plugin needs to state the `dataFromPlugins` requirement\r\n * in order to use this method. Will be mapped to `puppeteer.getPluginData`.\r\n *\r\n * @param name - Filter data by `name` property\r\n *\r\n * @see [data]\r\n * @see [requirements]\r\n */\r\n getDataFromPlugins(name) {\r\n return [];\r\n }\r\n /**\r\n * Will match plugin dependencies against all currently registered plugins.\r\n * Is being called by `puppeteer-extra` and used to require missing dependencies.\r\n *\r\n * @param {Array<Object>} plugins\r\n * @return {Set} - list of missing plugin names\r\n *\r\n * @private\r\n */\r\n _getMissingDependencies(plugins) {\r\n const pluginNames = new Set(plugins.map((p) => p.name));\r\n const missing = new Set(Array.from(this.dependencies.values()).filter(x => !pluginNames.has(x)));\r\n return missing;\r\n }\r\n /**\r\n * Conditionally bind browser/process events to class members.\r\n * The idea is to reduce event binding boilerplate in plugins.\r\n *\r\n * For efficiency we make sure the plugin is using the respective event\r\n * by checking the child class members before registering the listener.\r\n *\r\n * @param {<Puppeteer.Browser>} browser\r\n * @param {Object} opts - Options\r\n * @param {string} opts.context - Puppeteer context (launch/connect)\r\n * @param {Object} [opts.options] - Puppeteer launch or connect options\r\n * @param {Array<string>} [opts.defaultArgs] - The default flags that Chromium will be launched with\r\n *\r\n * @private\r\n */\r\n async _bindBrowserEvents(browser, opts = {}) {\r\n if (this._hasChildClassMember('onTargetCreated') ||\r\n this._hasChildClassMember('onPageCreated')) {\r\n browser.on('targetcreated', this._onTargetCreated.bind(this));\r\n }\r\n if (this._hasChildClassMember('onTargetChanged') && this.onTargetChanged) {\r\n browser.on('targetchanged', this.onTargetChanged.bind(this));\r\n }\r\n if (this._hasChildClassMember('onTargetDestroyed') &&\r\n this.onTargetDestroyed) {\r\n browser.on('targetdestroyed', this.onTargetDestroyed.bind(this));\r\n }\r\n if (this._hasChildClassMember('onDisconnected') && this.onDisconnected) {\r\n browser.on('disconnected', this.onDisconnected.bind(this));\r\n }\r\n if (opts.context === 'launch' && this._hasChildClassMember('onClose')) {\r\n // The disconnect event has been improved since puppeteer v1.6.0\r\n // onClose is being kept mostly for legacy reasons\r\n if (this.onClose) {\r\n process.on('exit', this.onClose.bind(this));\r\n browser.on('disconnected', this.onClose.bind(this));\r\n if (opts.options.handleSIGINT !== false) {\r\n process.on('SIGINT', this.onClose.bind(this));\r\n }\r\n if (opts.options.handleSIGTERM !== false) {\r\n process.on('SIGTERM', this.onClose.bind(this));\r\n }\r\n if (opts.options.handleSIGHUP !== false) {\r\n process.on('SIGHUP', this.onClose.bind(this));\r\n }\r\n }\r\n }\r\n if (opts.context === 'launch' && this.afterLaunch) {\r\n await this.afterLaunch(browser, opts);\r\n }\r\n if (opts.context === 'connect' && this.afterConnect) {\r\n await this.afterConnect(browser, opts);\r\n }\r\n if (this.onBrowser)\r\n await this.onBrowser(browser, opts);\r\n }\r\n /**\r\n * @private\r\n */\r\n async _onTargetCreated(target) {\r\n if (this.onTargetCreated)\r\n await this.onTargetCreated(target);\r\n // Pre filter pages for plugin developers convenience\r\n if (target.type() === 'page') {\r\n try {\r\n const page = await target.page();\r\n if (!page) {\r\n return;\r\n }\r\n const validPage = 'isClosed' in page && !page.isClosed();\r\n if (this.onPageCreated && validPage) {\r\n await this.onPageCreated(page);\r\n }\r\n }\r\n catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n }\r\n /**\r\n * @private\r\n */\r\n _register(prototype) {\r\n this._registerChildClassMembers(prototype);\r\n if (this.onPluginRegistered)\r\n this.onPluginRegistered();\r\n }\r\n /**\r\n * @private\r\n */\r\n _registerChildClassMembers(prototype) {\r\n this._childClassMembers = Object.getOwnPropertyNames(prototype);\r\n }\r\n /**\r\n * @private\r\n */\r\n _hasChildClassMember(name) {\r\n return !!this._childClassMembers.includes(name);\r\n }\r\n /**\r\n * @private\r\n */\r\n get _isPuppeteerExtraPlugin() {\r\n return true;\r\n }\r\n}\n\nexport { PuppeteerExtraPlugin };\n//# sourceMappingURL=index.esm.js.map\n","'use strict'\n\nconst { PuppeteerExtraPlugin } = require('puppeteer-extra-plugin')\n\n/**\n * Stealth mode: Applies various techniques to make detection of headless puppeteer harder. 💯\n *\n * ### Purpose\n * There are a couple of ways the use of puppeteer can easily be detected by a target website.\n * The addition of `HeadlessChrome` to the user-agent being only the most obvious one.\n *\n * The goal of this plugin is to be the definite companion to puppeteer to avoid\n * detection, applying new techniques as they surface.\n *\n * As this cat & mouse game is in it's infancy and fast-paced the plugin\n * is kept as flexibile as possible, to support quick testing and iterations.\n *\n * ### Modularity\n * This plugin uses `puppeteer-extra`'s dependency system to only require\n * code mods for evasions that have been enabled, to keep things modular and efficient.\n *\n * The `stealth` plugin is a convenience wrapper that requires multiple [evasion techniques](./evasions/)\n * automatically and comes with defaults. You could also bypass the main module and require\n * specific evasion plugins yourself, if you whish to do so (as they're standalone `puppeteer-extra` plugins):\n *\n * ```es6\n * // bypass main module and require a specific stealth plugin directly:\n * puppeteer.use(require('puppeteer-extra-plugin-stealth/evasions/console.debug')())\n * ```\n *\n * ### Contributing\n * PRs are welcome, if you want to add a new evasion technique I suggest you\n * look at the [template](./evasions/_template) to kickstart things.\n *\n * ### Kudos\n * Thanks to [Evan Sangaline](https://intoli.com/blog/not-possible-to-block-chrome-headless/) and [Paul Irish](https://github.com/paulirish/headless-cat-n-mouse) for kickstarting the discussion!\n *\n * ---\n *\n * @todo\n * - white-/blacklist with url globs (make this a generic plugin method?)\n * - dynamic whitelist based on function evaluation\n *\n * @example\n * const puppeteer = require('puppeteer-extra')\n * // Enable stealth plugin with all evasions\n * puppeteer.use(require('puppeteer-extra-plugin-stealth')())\n *\n *\n * ;(async () => {\n * // Launch the browser in headless mode and set up a page.\n * const browser = await puppeteer.launch({ args: ['--no-sandbox'], headless: true })\n * const page = await browser.newPage()\n *\n * // Navigate to the page that will perform the tests.\n * const testUrl = 'https://intoli.com/blog/' +\n * 'not-possible-to-block-chrome-headless/chrome-headless-test.html'\n * await page.goto(testUrl)\n *\n * // Save a screenshot of the results.\n * const screenshotPath = '/tmp/headless-test-result.png'\n * await page.screenshot({path: screenshotPath})\n * console.log('have a look at the screenshot:', screenshotPath)\n *\n * await browser.close()\n * })()\n *\n * @param {Object} [opts] - Options\n * @param {Set<string>} [opts.enabledEvasions] - Specify which evasions to use (by default all)\n *\n */\nclass StealthPlugin extends PuppeteerExtraPlugin {\n constructor(opts = {}) {\n super(opts)\n }\n\n get name() {\n return 'stealth'\n }\n\n get defaults() {\n const availableEvasions = new Set([\n 'chrome.app',\n 'chrome.csi',\n 'chrome.loadTimes',\n 'chrome.runtime',\n 'defaultArgs',\n 'iframe.contentWindow',\n 'media.codecs',\n 'navigator.hardwareConcurrency',\n 'navigator.languages',\n 'navigator.permissions',\n 'navigator.plugins',\n 'navigator.webdriver',\n 'sourceurl',\n 'user-agent-override',\n 'webgl.vendor',\n 'window.outerdimensions'\n ])\n return {\n availableEvasions,\n // Enable all available evasions by default\n enabledEvasions: new Set([...availableEvasions])\n }\n }\n\n /**\n * Requires evasion techniques dynamically based on configuration.\n *\n * @private\n */\n get dependencies() {\n return new Set(\n [...this.opts.enabledEvasions].map(e => `${this.name}/evasions/${e}`)\n )\n }\n\n /**\n * Get all available evasions.\n *\n * Please look into the [evasions directory](./evasions/) for an up to date list.\n *\n * @type {Set<string>} - A Set of all available evasions.\n *\n * @example\n * const pluginStealth = require('puppeteer-extra-plugin-stealth')()\n * console.log(pluginStealth.availableEvasions) // => Set { 'user-agent', 'console.debug' }\n * puppeteer.use(pluginStealth)\n */\n get availableEvasions() {\n return this.defaults.availableEvasions\n }\n\n /**\n * Get all enabled evasions.\n *\n * Enabled evasions can be configured either through `opts` or by modifying this property.\n *\n * @type {Set<string>} - A Set of all enabled evasions.\n *\n * @example\n * // Remove specific evasion from enabled ones dynamically\n * const pluginStealth = require('puppeteer-extra-plugin-stealth')()\n * pluginStealth.enabledEvasions.delete('console.debug')\n * puppeteer.use(pluginStealth)\n */\n get enabledEvasions() {\n return this.opts.enabledEvasions\n }\n\n /**\n * @private\n */\n set enabledEvasions(evasions) {\n this.opts.enabledEvasions = evasions\n }\n\n async onBrowser(browser) {\n if (browser && browser.setMaxListeners) {\n // Increase event emitter listeners to prevent MaxListenersExceededWarning\n browser.setMaxListeners(30)\n }\n }\n}\n\n/**\n * Default export, PuppeteerExtraStealthPlugin\n *\n * @param {Object} [opts] - Options\n * @param {Set<string>} [opts.enabledEvasions] - Specify which evasions to use (by default all)\n */\nconst defaultExport = opts => new StealthPlugin(opts)\nmodule.exports = defaultExport\n\n// const moduleExport = defaultExport\n// moduleExport.StealthPlugin = StealthPlugin\n// module.exports = moduleExport\n",null,null],"names":["require$$0","Debug","debug"],"mappings":"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;AACA,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACvD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAOA,OAAK,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;AACvD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;AAC3C;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;AACnC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC,IAAI,EAAE;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,CAAC,MAAM,EAAE;AACpC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[1,2,3,4,5,6]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eko-ai/eko-nodejs",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.5",
|
|
4
4
|
"description": "Empowering language to transform human words into action.",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"playwright": "^1.57.0",
|
|
41
41
|
"playwright-extra": "^4.3.6",
|
|
42
42
|
"puppeteer-extra-plugin-stealth": "^2.11.2",
|
|
43
|
-
"@eko-ai/eko": "4.0.
|
|
43
|
+
"@eko-ai/eko": "4.0.5"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@rollup/plugin-commonjs": "^28.0.3",
|