@eko-ai/eko-nodejs 4.0.2 → 4.0.3

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/README.md CHANGED
@@ -147,7 +147,7 @@ Configure your API key in the extension options before running the automation ta
147
147
  ```bash
148
148
  cd example/nodejs
149
149
  pnpm install
150
- pnpm run playwright # first time only, installs browsers
150
+ pnpm playwright install # first time only, installs browsers
151
151
  pnpm run build
152
152
  OPENAI_API_KEY=... ANTHROPIC_API_KEY=... pnpm run start
153
153
  ```
package/dist/browser.d.ts CHANGED
@@ -1,16 +1,26 @@
1
1
  import { AgentContext, BaseBrowserLabelsAgent } from "@eko-ai/eko";
2
- import { Browser, Page, BrowserContext } from "playwright";
2
+ import { Page, Browser, BrowserContext } from "playwright";
3
3
  export default class BrowserAgent extends BaseBrowserLabelsAgent {
4
4
  private cdpWsEndpoint?;
5
5
  private userDataDir?;
6
6
  private options?;
7
+ private cookies?;
7
8
  protected browser: Browser | null;
8
9
  private browser_context;
9
10
  private current_page;
10
11
  private headless;
11
12
  setHeadless(headless: boolean): void;
12
13
  setCdpWsEndpoint(cdpWsEndpoint: string): void;
13
- initUserDataDir(userDataDir?: string): string | undefined;
14
+ initUserDataDir(userDataDir: string): string | undefined;
15
+ setCookies(cookies: Array<{
16
+ name: string;
17
+ value: string;
18
+ url?: string;
19
+ domain?: string;
20
+ path?: string;
21
+ expires?: number;
22
+ httpOnly?: boolean;
23
+ }>): void;
14
24
  setOptions(options?: Record<string, any>): void;
15
25
  protected screenshot(agentContext: AgentContext): Promise<{
16
26
  imageBase64: string;
@@ -40,6 +50,21 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
40
50
  private get_element;
41
51
  private sleep;
42
52
  protected getBrowserContext(): Promise<BrowserContext>;
53
+ private autoLoadCookies;
54
+ protected loadCookiesWithUrl(url: string): Promise<Array<{
55
+ name: string;
56
+ value: string;
57
+ url?: string;
58
+ domain?: string;
59
+ path?: string;
60
+ expires?: number;
61
+ httpOnly?: boolean;
62
+ secure?: boolean;
63
+ sameSite?: "Strict" | "Lax" | "None";
64
+ partitionKey?: string;
65
+ }>>;
66
+ protected getChromiumArgs(): string[];
67
+ protected getUserAgent(): string | undefined;
43
68
  protected initScript(): Promise<{
44
69
  path?: string;
45
70
  content?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAEL,OAAO,EACP,IAAI,EAEJ,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,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,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,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IASzD,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;cAaC,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;cAuBN,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAW9B,WAAW;IA0BzB,OAAO,CAAC,KAAK;cAIG,iBAAiB;cAwDjB,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAqC3E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs.js CHANGED
@@ -1,33 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var fs = require('fs');
4
- var os = require('os');
5
- var path = require('path');
3
+ require('fs');
4
+ require('os');
5
+ require('path');
6
6
  var eko = require('@eko-ai/eko');
7
- var playwright = require('playwright');
7
+ var playwrightExtra = require('playwright-extra');
8
+ var StealthPlugin = require('puppeteer-extra-plugin-stealth');
8
9
  var child_process = require('child_process');
9
10
 
10
- function _interopNamespaceDefault(e) {
11
- var n = Object.create(null);
12
- if (e) {
13
- Object.keys(e).forEach(function (k) {
14
- if (k !== 'default') {
15
- var d = Object.getOwnPropertyDescriptor(e, k);
16
- Object.defineProperty(n, k, d.get ? d : {
17
- enumerable: true,
18
- get: function () { return e[k]; }
19
- });
20
- }
21
- });
22
- }
23
- n.default = e;
24
- return Object.freeze(n);
25
- }
26
-
27
- var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
28
- var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
29
- var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
30
-
31
11
  async function getCdpWsEndpoint(port) {
32
12
  // Example => ws://localhost:9222/devtools/browser/{session-id}
33
13
  const response = await fetch(`http://localhost:${port}/json/version`);
@@ -35,104 +15,6 @@ async function getCdpWsEndpoint(port) {
35
15
  eko.Log.info("browserInfo: ", browserInfo);
36
16
  return browserInfo.webSocketDebuggerUrl;
37
17
  }
38
- function getDefaultChromeUserDataDir(copyToTempDir = false) {
39
- const platform = os__namespace.platform();
40
- const homeDir = os__namespace.homedir();
41
- let defaultPath;
42
- switch (platform) {
43
- case "win32":
44
- // Windows: %LOCALAPPDATA%\Google\Chrome\User Data
45
- const localAppData = process.env.LOCALAPPDATA || path__namespace.join(homeDir, "AppData", "Local");
46
- defaultPath = path__namespace.join(localAppData, "Google", "Chrome", "User Data");
47
- break;
48
- case "darwin":
49
- // macOS: ~/Library/Application Support/Google/Chrome
50
- defaultPath = path__namespace.join(homeDir, "Library", "Application Support", "Google", "Chrome");
51
- break;
52
- case "linux":
53
- // Linux: ~/.config/google-chrome
54
- defaultPath = path__namespace.join(homeDir, ".config", "google-chrome");
55
- break;
56
- }
57
- if (defaultPath && fs__namespace.existsSync(defaultPath)) {
58
- if (copyToTempDir) {
59
- const tempDir = os__namespace.tmpdir();
60
- const tempPath = path__namespace.join(tempDir, "chrome-user-data");
61
- if (fs__namespace.existsSync(tempPath)) {
62
- eko.Log.info(`Removing existing temp directory: ${tempPath}`);
63
- fs__namespace.rmSync(tempPath, { recursive: true, force: true });
64
- }
65
- fs__namespace.cpSync(defaultPath, tempPath, { recursive: true });
66
- // Delete all Chrome locked files and directories to prevent startup conflicts.
67
- removeLockFiles(tempPath);
68
- const defaultProfilePath = path__namespace.join(tempPath, "Default");
69
- if (fs__namespace.existsSync(defaultProfilePath)) {
70
- removeLockFiles(defaultProfilePath);
71
- }
72
- eko.Log.info(`Created clean Chrome user data directory: ${tempPath}`);
73
- return tempPath;
74
- }
75
- else {
76
- return defaultPath;
77
- }
78
- }
79
- return undefined;
80
- }
81
- function removeLockFiles(dirPath) {
82
- try {
83
- const items = fs__namespace.readdirSync(dirPath);
84
- items.forEach((item) => {
85
- const itemPath = path__namespace.join(dirPath, item);
86
- try {
87
- const stat = fs__namespace.statSync(itemPath);
88
- if (stat.isDirectory()) {
89
- removeLockFiles(itemPath);
90
- }
91
- const shouldDelete = item === "SingletonLock" ||
92
- item === "lockfile" ||
93
- item === "RunningChromeVersion" ||
94
- item === "SingletonCookie" ||
95
- item === "SingletonSocket" ||
96
- item === "chrome_debug.log" ||
97
- item === "LOCK" ||
98
- item === "LOG" ||
99
- item === "LOG.old" ||
100
- item.includes(".lock") ||
101
- item.includes("Lock") ||
102
- item.includes("LOCK") ||
103
- item.includes(".tmp") ||
104
- item.includes("Temp") ||
105
- item.endsWith(".pid") ||
106
- item.endsWith(".log") ||
107
- item.includes("chrome_shutdown_ms.txt") ||
108
- item.includes("Crashpad") ||
109
- (stat.isDirectory() &&
110
- (item.includes("CrashReports") ||
111
- item.includes("ShaderCache") ||
112
- item.includes("crashpad_database")));
113
- if (shouldDelete) {
114
- fs__namespace.rmSync(itemPath, { recursive: true, force: true });
115
- }
116
- }
117
- catch (statError) {
118
- if (item.includes("Lock") ||
119
- item.includes("lock") ||
120
- item.includes("LOCK")) {
121
- try {
122
- eko.Log.info(`Force deleting suspected lock file: ${itemPath}`);
123
- fs__namespace.rmSync(itemPath, { recursive: true, force: true });
124
- }
125
- catch (deleteError) {
126
- eko.Log.warn(`Failed to force delete ${itemPath}:`, deleteError);
127
- }
128
- }
129
- }
130
- });
131
- }
132
- catch (error) {
133
- eko.Log.warn(`Error while removing lock files from ${dirPath}:`, error);
134
- }
135
- }
136
18
 
137
19
  class BrowserAgent extends eko.BaseBrowserLabelsAgent {
138
20
  constructor() {
@@ -149,32 +31,30 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
149
31
  this.cdpWsEndpoint = cdpWsEndpoint;
150
32
  }
151
33
  initUserDataDir(userDataDir) {
152
- if (userDataDir) {
153
- this.userDataDir = userDataDir;
154
- }
155
- else {
156
- this.userDataDir = getDefaultChromeUserDataDir(true);
157
- }
34
+ this.userDataDir = userDataDir;
158
35
  return this.userDataDir;
159
36
  }
37
+ setCookies(cookies) {
38
+ this.cookies = cookies;
39
+ }
160
40
  setOptions(options) {
161
41
  this.options = options;
162
42
  }
163
43
  async screenshot(agentContext) {
164
- let page = await this.currentPage();
165
- let screenshotBuffer = await page.screenshot({
44
+ const page = await this.currentPage();
45
+ const screenshotBuffer = await page.screenshot({
166
46
  fullPage: false,
167
47
  type: "jpeg",
168
48
  quality: 60,
169
49
  });
170
- let base64 = screenshotBuffer.toString("base64");
50
+ const base64 = screenshotBuffer.toString("base64");
171
51
  return {
172
52
  imageType: "image/jpeg",
173
53
  imageBase64: base64,
174
54
  };
175
55
  }
176
56
  async navigate_to(agentContext, url) {
177
- let page = await this.open_url(agentContext, url);
57
+ const page = await this.open_url(agentContext, url);
178
58
  await this.sleep(200);
179
59
  return {
180
60
  url: page.url(),
@@ -185,7 +65,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
185
65
  if (!this.browser_context) {
186
66
  return [];
187
67
  }
188
- let result = [];
68
+ const result = [];
189
69
  const pages = await this.browser_context.pages();
190
70
  for (let i = 0; i < pages.length; i++) {
191
71
  let page = pages[i];
@@ -215,7 +95,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
215
95
  }
216
96
  async input_text(agentContext, index, text, enter) {
217
97
  try {
218
- let elementHandle = await this.get_element(index, true);
98
+ const elementHandle = await this.get_element(index, true);
219
99
  await elementHandle.fill("");
220
100
  await elementHandle.fill(text);
221
101
  if (enter) {
@@ -229,11 +109,17 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
229
109
  }
230
110
  async click_element(agentContext, index, num_clicks, button) {
231
111
  try {
232
- let elementHandle = await this.get_element(index, true);
112
+ const elementHandle = await this.get_element(index, true);
113
+ const box = await elementHandle.boundingBox();
114
+ if (box) {
115
+ const page = await this.currentPage();
116
+ page.mouse.move(box.x + box.width / 2 + (Math.random() * 10 - 5), box.y + box.height / 2 + (Math.random() * 10 - 5), { steps: Math.floor(Math.random() * 5) + 3 });
117
+ }
233
118
  await elementHandle.click({
234
119
  button,
235
120
  clickCount: num_clicks,
236
- force: true,
121
+ force: false,
122
+ delay: Math.random() * 50 + 20,
237
123
  });
238
124
  }
239
125
  catch (e) {
@@ -242,7 +128,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
242
128
  }
243
129
  async hover_to_element(agentContext, index) {
244
130
  try {
245
- let elementHandle = await this.get_element(index, true);
131
+ const elementHandle = await this.get_element(index, true);
246
132
  elementHandle.hover({ force: true });
247
133
  }
248
134
  catch (e) {
@@ -250,20 +136,21 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
250
136
  }
251
137
  }
252
138
  async execute_script(agentContext, func, args) {
253
- let page = await this.currentPage();
139
+ const page = await this.currentPage();
254
140
  return await page.evaluate(func, ...args);
255
141
  }
256
142
  async open_url(agentContext, url) {
257
- let browser_context = await this.getBrowserContext();
143
+ const browser_context = await this.getBrowserContext();
258
144
  const page = await browser_context.newPage();
259
145
  // await page.setViewportSize({ width: 1920, height: 1080 });
260
146
  await page.setViewportSize({ width: 1536, height: 864 });
261
147
  try {
148
+ await this.autoLoadCookies(url);
262
149
  await page.goto(url, {
263
- waitUntil: "networkidle",
150
+ waitUntil: "domcontentloaded",
264
151
  timeout: 10000,
265
152
  });
266
- await page.waitForLoadState("load", { timeout: 8000 });
153
+ await page.waitForLoadState("networkidle", { timeout: 5000 });
267
154
  }
268
155
  catch (e) {
269
156
  if ((e + "").indexOf("Timeout") == -1) {
@@ -277,7 +164,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
277
164
  if (this.current_page == null) {
278
165
  throw new Error("There is no page, please call navigate_to first");
279
166
  }
280
- let page = this.current_page;
167
+ const page = this.current_page;
281
168
  try {
282
169
  await page.waitForLoadState("domcontentloaded", { timeout: 10000 });
283
170
  }
@@ -285,7 +172,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
285
172
  return page;
286
173
  }
287
174
  async get_element(index, findInput) {
288
- let page = await this.currentPage();
175
+ const page = await this.currentPage();
289
176
  return await page.evaluateHandle((params) => {
290
177
  let element = window.get_highlight_element(params.index);
291
178
  if (element && params.findInput) {
@@ -309,88 +196,97 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
309
196
  this.current_page = null;
310
197
  this.browser_context = null;
311
198
  if (this.cdpWsEndpoint) {
312
- this.browser = await playwright.chromium.connectOverCDP(this.cdpWsEndpoint, this.options);
313
- this.browser_context = await this.browser.newContext();
199
+ this.browser = (await playwrightExtra.chromium.connectOverCDP(this.cdpWsEndpoint, this.options));
200
+ this.browser_context = await this.browser.newContext({
201
+ userAgent: this.getUserAgent(),
202
+ viewport: { width: 1536, height: 864 },
203
+ });
314
204
  }
315
205
  else if (this.userDataDir) {
316
- this.browser_context = await playwright.chromium.launchPersistentContext(this.userDataDir, {
206
+ this.browser_context = (await playwrightExtra.chromium.launchPersistentContext(this.userDataDir, {
317
207
  headless: this.headless,
318
- // channel: 'chrome',
319
- args: [
320
- "--no-sandbox",
321
- "--remote-allow-origins=*",
322
- "--disable-dev-shm-usage",
323
- "--disable-popup-blocking",
324
- "--enable-automation",
325
- "--ignore-ssl-errors",
326
- "--ignore-certificate-errors",
327
- "--ignore-certificate-errors-spki-list",
328
- "--disable-blink-features=AutomationControlled",
329
- ],
208
+ channel: "chrome",
209
+ args: this.getChromiumArgs(),
330
210
  ...this.options,
331
- });
211
+ }));
332
212
  }
333
213
  else {
334
- this.browser = await playwright.chromium.launch({
214
+ this.browser = (await playwrightExtra.chromium.launch({
335
215
  headless: this.headless,
336
- args: [
337
- "--no-sandbox",
338
- "--remote-allow-origins=*",
339
- "--disable-dev-shm-usage",
340
- "--disable-popup-blocking",
341
- "--enable-automation",
342
- "--ignore-ssl-errors",
343
- "--ignore-certificate-errors",
344
- "--ignore-certificate-errors-spki-list",
345
- "--disable-blink-features=AutomationControlled",
346
- ],
216
+ args: this.getChromiumArgs(),
347
217
  ...this.options,
218
+ }));
219
+ this.browser_context = await this.browser.newContext({
220
+ userAgent: this.getUserAgent(),
221
+ viewport: { width: 1536, height: 864 },
348
222
  });
349
- this.browser_context = await this.browser.newContext();
350
223
  }
351
224
  // Anti-crawling detection website:
352
225
  // https://bot.sannysoft.com/
353
- let init_script = await this.initScript();
354
- this.browser_context.addInitScript(init_script);
226
+ // https://www.browserscan.net/
227
+ playwrightExtra.chromium.use(StealthPlugin());
228
+ const init_script = await this.initScript();
229
+ if (init_script.content || init_script.path) {
230
+ this.browser_context.addInitScript(init_script);
231
+ }
232
+ this.browser_context.on("page", async (page) => {
233
+ page.on("framenavigated", async (frame) => {
234
+ if (frame === page.mainFrame()) {
235
+ const url = frame.url();
236
+ if (url.startsWith("http")) {
237
+ await this.autoLoadCookies(url);
238
+ }
239
+ }
240
+ });
241
+ });
242
+ }
243
+ if (this.cookies) {
244
+ this.browser_context?.addCookies(this.cookies);
355
245
  }
356
246
  return this.browser_context;
357
247
  }
248
+ async autoLoadCookies(url) {
249
+ try {
250
+ const cookies = await this.loadCookiesWithUrl(url);
251
+ if (cookies && cookies.length > 0) {
252
+ this.browser_context?.addCookies(cookies);
253
+ }
254
+ }
255
+ catch (e) {
256
+ eko.Log.error("Failed to auto load cookies: " + url, e);
257
+ }
258
+ }
259
+ async loadCookiesWithUrl(url) {
260
+ return [];
261
+ }
262
+ getChromiumArgs() {
263
+ return [
264
+ "--no-sandbox",
265
+ "--remote-allow-origins=*",
266
+ "--disable-dev-shm-usage",
267
+ "--disable-popup-blocking",
268
+ "--ignore-ssl-errors",
269
+ "--ignore-certificate-errors",
270
+ "--ignore-certificate-errors-spki-list",
271
+ "--disable-blink-features=AutomationControlled",
272
+ "--disable-infobars",
273
+ "--disable-notifications",
274
+ "--disable-web-security",
275
+ "--disable-features=IsolateOrigins,site-per-process",
276
+ ];
277
+ }
278
+ getUserAgent() {
279
+ // const userAgents = [
280
+ // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
281
+ // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
282
+ // "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
283
+ // "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",
284
+ // ];
285
+ // return userAgents[Math.floor(Math.random() * userAgents.length)];
286
+ return undefined;
287
+ }
358
288
  async initScript() {
359
- return {
360
- content: `
361
- // Webdriver property
362
- Object.defineProperty(navigator, 'webdriver', {
363
- get: () => undefined
364
- });
365
-
366
- // Languages
367
- Object.defineProperty(navigator, 'languages', {
368
- get: () => ['en-US']
369
- });
370
-
371
- // Plugins
372
- Object.defineProperty(navigator, 'plugins', {
373
- get: () => [{name:"1"}, {name:"2"}, {name:"3"}, {name:"4"}, {name:"5"}]
374
- });
375
-
376
- // Chrome runtime
377
- window.chrome = { runtime: {} };
378
-
379
- // Permissions
380
- const originalQuery = window.navigator.permissions.query;
381
- window.navigator.permissions.query = (parameters) => (
382
- parameters.name === 'notifications' ?
383
- Promise.resolve({ state: Notification.permission }) :
384
- originalQuery(parameters)
385
- );
386
- (function () {
387
- const originalAttachShadow = Element.prototype.attachShadow;
388
- Element.prototype.attachShadow = function attachShadow(options) {
389
- return originalAttachShadow.call(this, { ...options, mode: "open" });
390
- };
391
- })();
392
- `,
393
- };
289
+ return {};
394
290
  }
395
291
  }
396
292
 
@@ -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","os","path","fs","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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"}