@eko-ai/eko-nodejs 4.0.2 → 4.0.4

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,23 @@ 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
+ private autoLoadLocalStorage;
55
+ protected loadCookiesWithUrl(url: string): Promise<Array<{
56
+ name: string;
57
+ value: string;
58
+ url?: string;
59
+ domain?: string;
60
+ path?: string;
61
+ expires?: number;
62
+ httpOnly?: boolean;
63
+ secure?: boolean;
64
+ sameSite?: "Strict" | "Lax" | "None";
65
+ partitionKey?: string;
66
+ }>>;
67
+ protected loadLocalStorageWithUrl(url: string): Promise<Record<string, string>>;
68
+ protected getChromiumArgs(): string[];
69
+ protected getUserAgent(): string | undefined;
43
70
  protected initScript(): Promise<{
44
71
  path?: string;
45
72
  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,22 @@ 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);
149
+ await this.autoLoadLocalStorage(page, url);
262
150
  await page.goto(url, {
263
- waitUntil: "networkidle",
151
+ waitUntil: "domcontentloaded",
264
152
  timeout: 10000,
265
153
  });
266
- await page.waitForLoadState("load", { timeout: 8000 });
154
+ await page.waitForLoadState("networkidle", { timeout: 5000 });
267
155
  }
268
156
  catch (e) {
269
157
  if ((e + "").indexOf("Timeout") == -1) {
@@ -277,7 +165,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
277
165
  if (this.current_page == null) {
278
166
  throw new Error("There is no page, please call navigate_to first");
279
167
  }
280
- let page = this.current_page;
168
+ const page = this.current_page;
281
169
  try {
282
170
  await page.waitForLoadState("domcontentloaded", { timeout: 10000 });
283
171
  }
@@ -285,7 +173,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
285
173
  return page;
286
174
  }
287
175
  async get_element(index, findInput) {
288
- let page = await this.currentPage();
176
+ const page = await this.currentPage();
289
177
  return await page.evaluateHandle((params) => {
290
178
  let element = window.get_highlight_element(params.index);
291
179
  if (element && params.findInput) {
@@ -309,88 +197,120 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
309
197
  this.current_page = null;
310
198
  this.browser_context = null;
311
199
  if (this.cdpWsEndpoint) {
312
- this.browser = await playwright.chromium.connectOverCDP(this.cdpWsEndpoint, this.options);
313
- this.browser_context = await this.browser.newContext();
200
+ this.browser = (await playwrightExtra.chromium.connectOverCDP(this.cdpWsEndpoint, this.options));
201
+ this.browser_context = await this.browser.newContext({
202
+ userAgent: this.getUserAgent(),
203
+ viewport: { width: 1536, height: 864 },
204
+ });
314
205
  }
315
206
  else if (this.userDataDir) {
316
- this.browser_context = await playwright.chromium.launchPersistentContext(this.userDataDir, {
207
+ this.browser_context = (await playwrightExtra.chromium.launchPersistentContext(this.userDataDir, {
317
208
  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
- ],
209
+ channel: "chrome",
210
+ args: this.getChromiumArgs(),
330
211
  ...this.options,
331
- });
212
+ }));
332
213
  }
333
214
  else {
334
- this.browser = await playwright.chromium.launch({
215
+ this.browser = (await playwrightExtra.chromium.launch({
335
216
  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
- ],
217
+ args: this.getChromiumArgs(),
347
218
  ...this.options,
219
+ }));
220
+ this.browser_context = await this.browser.newContext({
221
+ userAgent: this.getUserAgent(),
222
+ viewport: { width: 1536, height: 864 },
348
223
  });
349
- this.browser_context = await this.browser.newContext();
350
224
  }
351
225
  // Anti-crawling detection website:
352
226
  // https://bot.sannysoft.com/
353
- let init_script = await this.initScript();
354
- this.browser_context.addInitScript(init_script);
227
+ // https://www.browserscan.net/
228
+ playwrightExtra.chromium.use(StealthPlugin());
229
+ const init_script = await this.initScript();
230
+ if (init_script.content || init_script.path) {
231
+ this.browser_context.addInitScript(init_script);
232
+ }
233
+ this.browser_context.on("page", async (page) => {
234
+ page.on("framenavigated", async (frame) => {
235
+ if (frame === page.mainFrame()) {
236
+ const url = frame.url();
237
+ if (url.startsWith("http")) {
238
+ await this.autoLoadCookies(url);
239
+ await this.autoLoadLocalStorage(page, url);
240
+ }
241
+ }
242
+ });
243
+ });
244
+ }
245
+ if (this.cookies) {
246
+ this.browser_context?.addCookies(this.cookies);
355
247
  }
356
248
  return this.browser_context;
357
249
  }
250
+ async autoLoadCookies(url) {
251
+ try {
252
+ const cookies = await this.loadCookiesWithUrl(url);
253
+ if (cookies && cookies.length > 0) {
254
+ await this.browser_context?.clearCookies();
255
+ await this.browser_context?.addCookies(cookies);
256
+ }
257
+ }
258
+ catch (e) {
259
+ eko.Log.error("Failed to auto load cookies: " + url, e);
260
+ }
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
+ }
280
+ async loadCookiesWithUrl(url) {
281
+ return [];
282
+ }
283
+ async loadLocalStorageWithUrl(url) {
284
+ return {};
285
+ }
286
+ getChromiumArgs() {
287
+ return [
288
+ "--no-sandbox",
289
+ "--remote-allow-origins=*",
290
+ "--disable-dev-shm-usage",
291
+ "--disable-popup-blocking",
292
+ "--ignore-ssl-errors",
293
+ "--ignore-certificate-errors",
294
+ "--ignore-certificate-errors-spki-list",
295
+ "--disable-blink-features=AutomationControlled",
296
+ "--disable-infobars",
297
+ "--disable-notifications",
298
+ "--disable-web-security",
299
+ "--disable-features=IsolateOrigins,site-per-process",
300
+ ];
301
+ }
302
+ getUserAgent() {
303
+ // const userAgents = [
304
+ // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
305
+ // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
306
+ // "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",
307
+ // "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",
308
+ // ];
309
+ // return userAgents[Math.floor(Math.random() * userAgents.length)];
310
+ return undefined;
311
+ }
358
312
  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
- };
313
+ return {};
394
314
  }
395
315
  }
396
316
 
@@ -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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"}