@eko-ai/eko-nodejs 4.0.9 → 4.1.1
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 +25 -8
- package/dist/browser.d.ts.map +1 -1
- package/dist/{index.cjs.js → index.cjs} +85 -45
- package/dist/index.cjs.map +1 -0
- package/dist/index.esm.js +79 -43
- package/dist/index.esm.js.map +1 -1
- package/package.json +8 -7
- package/dist/index.cjs.js.map +0 -1
package/dist/browser.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { AgentContext, BaseBrowserLabelsAgent } from
|
|
2
|
-
import { Page, Browser, BrowserContext } from
|
|
3
|
-
|
|
1
|
+
import { AgentContext, BaseBrowserLabelsAgent } from '@eko-ai/eko';
|
|
2
|
+
import { Page, Browser, BrowserContext } from 'playwright';
|
|
3
|
+
type PageInfo = {
|
|
4
|
+
tabId: number;
|
|
5
|
+
lastAccessed: number;
|
|
6
|
+
};
|
|
7
|
+
export declare class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
4
8
|
private cdpWsEndpoint?;
|
|
5
9
|
private userDataDir?;
|
|
6
10
|
private options?;
|
|
@@ -9,6 +13,8 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
9
13
|
private browser_context;
|
|
10
14
|
private current_page;
|
|
11
15
|
private headless;
|
|
16
|
+
private pageMap;
|
|
17
|
+
private activePage;
|
|
12
18
|
setHeadless(headless: boolean): void;
|
|
13
19
|
setCdpWsEndpoint(cdpWsEndpoint: string): void;
|
|
14
20
|
initUserDataDir(userDataDir: string): string | undefined;
|
|
@@ -24,17 +30,27 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
24
30
|
setOptions(options?: Record<string, any>): void;
|
|
25
31
|
protected screenshot(agentContext: AgentContext): Promise<{
|
|
26
32
|
imageBase64: string;
|
|
27
|
-
imageType:
|
|
33
|
+
imageType: 'image/jpeg' | 'image/png';
|
|
28
34
|
}>;
|
|
29
35
|
protected navigate_to(agentContext: AgentContext, url: string): Promise<{
|
|
30
36
|
url: string;
|
|
31
37
|
title?: string;
|
|
32
38
|
tabId?: number;
|
|
33
39
|
}>;
|
|
34
|
-
|
|
40
|
+
loadTabs(): Promise<{
|
|
35
41
|
tabId: number;
|
|
36
42
|
url: string;
|
|
37
43
|
title: string;
|
|
44
|
+
lastAccessed?: number;
|
|
45
|
+
active: boolean;
|
|
46
|
+
}[]>;
|
|
47
|
+
getPageMap(): Map<Page, PageInfo>;
|
|
48
|
+
protected get_all_tabs(agentContext?: AgentContext): Promise<Array<{
|
|
49
|
+
tabId: number;
|
|
50
|
+
url: string;
|
|
51
|
+
title: string;
|
|
52
|
+
lastAccessed?: number;
|
|
53
|
+
active: boolean;
|
|
38
54
|
}>>;
|
|
39
55
|
protected switch_tab(agentContext: AgentContext, tabId: number): Promise<{
|
|
40
56
|
tabId: number;
|
|
@@ -42,7 +58,7 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
42
58
|
title: string;
|
|
43
59
|
}>;
|
|
44
60
|
protected input_text(agentContext: AgentContext, index: number, text: string, enter: boolean): Promise<any>;
|
|
45
|
-
protected click_element(agentContext: AgentContext, index: number, num_clicks: number, button:
|
|
61
|
+
protected click_element(agentContext: AgentContext, index: number, num_clicks: number, button: 'left' | 'right' | 'middle'): Promise<any>;
|
|
46
62
|
protected hover_to_element(agentContext: AgentContext, index: number): Promise<void>;
|
|
47
63
|
protected execute_script(agentContext: AgentContext, func: (...args: any[]) => void, args: any[]): Promise<any>;
|
|
48
64
|
private open_url;
|
|
@@ -61,7 +77,7 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
61
77
|
expires?: number;
|
|
62
78
|
httpOnly?: boolean;
|
|
63
79
|
secure?: boolean;
|
|
64
|
-
sameSite?:
|
|
80
|
+
sameSite?: 'Strict' | 'Lax' | 'None';
|
|
65
81
|
partitionKey?: string;
|
|
66
82
|
}>>;
|
|
67
83
|
protected loadLocalStorageWithUrl(url: string): Promise<Record<string, string>>;
|
|
@@ -71,6 +87,7 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
71
87
|
path?: string;
|
|
72
88
|
content?: string;
|
|
73
89
|
}>;
|
|
90
|
+
getActivePage(): Promise<Page | null>;
|
|
74
91
|
}
|
|
75
|
-
export
|
|
92
|
+
export default BrowserAgent;
|
|
76
93
|
//# sourceMappingURL=browser.d.ts.map
|
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;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ var playwrightExtra = require('playwright-extra');
|
|
|
8
8
|
var StealthPlugin = require('puppeteer-extra-plugin-stealth');
|
|
9
9
|
var child_process = require('child_process');
|
|
10
10
|
|
|
11
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
|
|
13
|
+
var StealthPlugin__default = /*#__PURE__*/_interopDefault(StealthPlugin);
|
|
14
|
+
|
|
11
15
|
async function getCdpWsEndpoint(port) {
|
|
12
16
|
// Example => ws://localhost:9222/devtools/browser/{session-id}
|
|
13
17
|
const response = await fetch(`http://localhost:${port}/json/version`);
|
|
@@ -16,6 +20,7 @@ async function getCdpWsEndpoint(port) {
|
|
|
16
20
|
return browserInfo.webSocketDebuggerUrl;
|
|
17
21
|
}
|
|
18
22
|
|
|
23
|
+
var tabId = 1000;
|
|
19
24
|
class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
20
25
|
constructor() {
|
|
21
26
|
super(...arguments);
|
|
@@ -23,6 +28,8 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
23
28
|
this.browser_context = null;
|
|
24
29
|
this.current_page = null;
|
|
25
30
|
this.headless = false;
|
|
31
|
+
this.pageMap = new Map();
|
|
32
|
+
this.activePage = null;
|
|
26
33
|
}
|
|
27
34
|
setHeadless(headless) {
|
|
28
35
|
this.headless = headless;
|
|
@@ -44,12 +51,12 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
44
51
|
const page = await this.currentPage();
|
|
45
52
|
const screenshotBuffer = await page.screenshot({
|
|
46
53
|
fullPage: false,
|
|
47
|
-
type:
|
|
54
|
+
type: 'jpeg',
|
|
48
55
|
quality: 60,
|
|
49
56
|
});
|
|
50
|
-
const base64 = screenshotBuffer.toString(
|
|
57
|
+
const base64 = screenshotBuffer.toString('base64');
|
|
51
58
|
return {
|
|
52
|
-
imageType:
|
|
59
|
+
imageType: 'image/jpeg',
|
|
53
60
|
imageBase64: base64,
|
|
54
61
|
};
|
|
55
62
|
}
|
|
@@ -61,45 +68,67 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
61
68
|
title: await page.title(),
|
|
62
69
|
};
|
|
63
70
|
}
|
|
71
|
+
async loadTabs() {
|
|
72
|
+
return await this.get_all_tabs(undefined);
|
|
73
|
+
}
|
|
74
|
+
getPageMap() {
|
|
75
|
+
return this.pageMap;
|
|
76
|
+
}
|
|
64
77
|
async get_all_tabs(agentContext) {
|
|
65
78
|
if (!this.browser_context) {
|
|
66
79
|
return [];
|
|
67
80
|
}
|
|
68
81
|
const result = [];
|
|
69
|
-
const pages =
|
|
82
|
+
const pages = this.browser_context.pages();
|
|
70
83
|
for (let i = 0; i < pages.length; i++) {
|
|
71
84
|
let page = pages[i];
|
|
85
|
+
let pageInfo = this.pageMap.get(page);
|
|
86
|
+
if (!pageInfo) {
|
|
87
|
+
pageInfo = {
|
|
88
|
+
tabId: tabId++,
|
|
89
|
+
lastAccessed: Date.now(),
|
|
90
|
+
};
|
|
91
|
+
this.pageMap.set(page, pageInfo);
|
|
92
|
+
}
|
|
72
93
|
result.push({
|
|
73
|
-
tabId:
|
|
94
|
+
tabId: pageInfo.tabId,
|
|
74
95
|
url: page.url(),
|
|
75
96
|
title: await page.title(),
|
|
97
|
+
lastAccessed: pageInfo.lastAccessed,
|
|
98
|
+
active: page === this.activePage,
|
|
76
99
|
});
|
|
77
100
|
}
|
|
78
101
|
return result;
|
|
79
102
|
}
|
|
80
103
|
async switch_tab(agentContext, tabId) {
|
|
81
104
|
if (!this.browser_context) {
|
|
82
|
-
throw new Error(
|
|
105
|
+
throw new Error('tabId does not exist: ' + tabId);
|
|
83
106
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
107
|
+
let switchPage = null;
|
|
108
|
+
this.pageMap.forEach((pageInfo, page) => {
|
|
109
|
+
if (pageInfo.tabId === tabId) {
|
|
110
|
+
switchPage = page;
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
if (!switchPage) {
|
|
115
|
+
throw new Error('tabId does not exist: ' + tabId);
|
|
88
116
|
}
|
|
89
|
-
this.current_page =
|
|
117
|
+
this.current_page = switchPage;
|
|
118
|
+
this.activePage = switchPage;
|
|
90
119
|
return {
|
|
91
120
|
tabId: tabId,
|
|
92
|
-
url:
|
|
93
|
-
title: await
|
|
121
|
+
url: switchPage.url(),
|
|
122
|
+
title: await switchPage.title(),
|
|
94
123
|
};
|
|
95
124
|
}
|
|
96
125
|
async input_text(agentContext, index, text, enter) {
|
|
97
126
|
try {
|
|
98
127
|
const elementHandle = await this.get_element(index, true);
|
|
99
|
-
await elementHandle.fill(
|
|
128
|
+
await elementHandle.fill('');
|
|
100
129
|
await elementHandle.fill(text);
|
|
101
130
|
if (enter) {
|
|
102
|
-
await elementHandle.press(
|
|
131
|
+
await elementHandle.press('Enter');
|
|
103
132
|
await this.sleep(200);
|
|
104
133
|
}
|
|
105
134
|
}
|
|
@@ -148,13 +177,13 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
148
177
|
await this.autoLoadCookies(url);
|
|
149
178
|
await this.autoLoadLocalStorage(page, url);
|
|
150
179
|
await page.goto(url, {
|
|
151
|
-
waitUntil:
|
|
180
|
+
waitUntil: 'domcontentloaded',
|
|
152
181
|
timeout: 10000,
|
|
153
182
|
});
|
|
154
|
-
await page.waitForLoadState(
|
|
183
|
+
await page.waitForLoadState('networkidle', { timeout: 5000 });
|
|
155
184
|
}
|
|
156
185
|
catch (e) {
|
|
157
|
-
if ((e +
|
|
186
|
+
if ((e + '').indexOf('Timeout') == -1) {
|
|
158
187
|
throw e;
|
|
159
188
|
}
|
|
160
189
|
}
|
|
@@ -163,11 +192,11 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
163
192
|
}
|
|
164
193
|
async currentPage() {
|
|
165
194
|
if (this.current_page == null) {
|
|
166
|
-
throw new Error(
|
|
195
|
+
throw new Error('There is no page, please call navigate_to first');
|
|
167
196
|
}
|
|
168
197
|
const page = this.current_page;
|
|
169
198
|
try {
|
|
170
|
-
await page.waitForLoadState(
|
|
199
|
+
await page.waitForLoadState('domcontentloaded', { timeout: 10000 });
|
|
171
200
|
}
|
|
172
201
|
catch (e) { }
|
|
173
202
|
return page;
|
|
@@ -177,12 +206,12 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
177
206
|
return await page.evaluateHandle((params) => {
|
|
178
207
|
let element = window.get_highlight_element(params.index);
|
|
179
208
|
if (element && params.findInput) {
|
|
180
|
-
if (element.tagName !=
|
|
181
|
-
element.tagName !=
|
|
209
|
+
if (element.tagName != 'INPUT' &&
|
|
210
|
+
element.tagName != 'TEXTAREA' &&
|
|
182
211
|
element.childElementCount != 0) {
|
|
183
212
|
element =
|
|
184
|
-
element.querySelector(
|
|
185
|
-
element.querySelector(
|
|
213
|
+
element.querySelector('input') ||
|
|
214
|
+
element.querySelector('textarea') ||
|
|
186
215
|
element;
|
|
187
216
|
}
|
|
188
217
|
}
|
|
@@ -206,7 +235,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
206
235
|
else if (this.userDataDir) {
|
|
207
236
|
this.browser_context = (await playwrightExtra.chromium.launchPersistentContext(this.userDataDir, {
|
|
208
237
|
headless: this.headless,
|
|
209
|
-
channel:
|
|
238
|
+
channel: 'chrome',
|
|
210
239
|
args: this.getChromiumArgs(),
|
|
211
240
|
...this.options,
|
|
212
241
|
}));
|
|
@@ -225,21 +254,29 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
225
254
|
// Anti-crawling detection website:
|
|
226
255
|
// https://bot.sannysoft.com/
|
|
227
256
|
// https://www.browserscan.net/
|
|
228
|
-
playwrightExtra.chromium.use(
|
|
257
|
+
playwrightExtra.chromium.use(StealthPlugin__default.default());
|
|
229
258
|
const init_script = await this.initScript();
|
|
230
259
|
if (init_script.content || init_script.path) {
|
|
231
260
|
this.browser_context.addInitScript(init_script);
|
|
232
261
|
}
|
|
233
|
-
this.browser_context.on(
|
|
234
|
-
|
|
262
|
+
this.browser_context.on('page', async (page) => {
|
|
263
|
+
this.activePage = page;
|
|
264
|
+
this.pageMap.set(page, {
|
|
265
|
+
tabId: tabId++,
|
|
266
|
+
lastAccessed: Date.now(),
|
|
267
|
+
});
|
|
268
|
+
page.on('framenavigated', async (frame) => {
|
|
235
269
|
if (frame === page.mainFrame()) {
|
|
236
270
|
const url = frame.url();
|
|
237
|
-
if (url.startsWith(
|
|
271
|
+
if (url.startsWith('http')) {
|
|
238
272
|
await this.autoLoadCookies(url);
|
|
239
273
|
await this.autoLoadLocalStorage(page, url);
|
|
240
274
|
}
|
|
241
275
|
}
|
|
242
276
|
});
|
|
277
|
+
page.on('close', () => {
|
|
278
|
+
this.pageMap.delete(page);
|
|
279
|
+
});
|
|
243
280
|
});
|
|
244
281
|
}
|
|
245
282
|
if (this.cookies) {
|
|
@@ -256,7 +293,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
256
293
|
}
|
|
257
294
|
}
|
|
258
295
|
catch (e) {
|
|
259
|
-
eko.Log.error(
|
|
296
|
+
eko.Log.error('Failed to auto load cookies: ' + url, e);
|
|
260
297
|
}
|
|
261
298
|
}
|
|
262
299
|
async autoLoadLocalStorage(page, url) {
|
|
@@ -269,12 +306,12 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
269
306
|
}
|
|
270
307
|
}
|
|
271
308
|
catch (e) {
|
|
272
|
-
eko.Log.error(
|
|
309
|
+
eko.Log.error('Failed to inject localStorage: ' + url, e);
|
|
273
310
|
}
|
|
274
311
|
}, localStorageData);
|
|
275
312
|
}
|
|
276
313
|
catch (e) {
|
|
277
|
-
eko.Log.error(
|
|
314
|
+
eko.Log.error('Failed to auto load localStorage: ' + url, e);
|
|
278
315
|
}
|
|
279
316
|
}
|
|
280
317
|
async loadCookiesWithUrl(url) {
|
|
@@ -285,18 +322,18 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
285
322
|
}
|
|
286
323
|
getChromiumArgs() {
|
|
287
324
|
return [
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
325
|
+
'--no-sandbox',
|
|
326
|
+
'--remote-allow-origins=*',
|
|
327
|
+
'--disable-dev-shm-usage',
|
|
328
|
+
'--disable-popup-blocking',
|
|
329
|
+
'--ignore-ssl-errors',
|
|
330
|
+
'--ignore-certificate-errors',
|
|
331
|
+
'--ignore-certificate-errors-spki-list',
|
|
332
|
+
'--disable-blink-features=AutomationControlled',
|
|
333
|
+
'--disable-infobars',
|
|
334
|
+
'--disable-notifications',
|
|
335
|
+
'--disable-web-security',
|
|
336
|
+
'--disable-features=IsolateOrigins,site-per-process',
|
|
300
337
|
];
|
|
301
338
|
}
|
|
302
339
|
getUserAgent() {
|
|
@@ -312,6 +349,9 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
312
349
|
async initScript() {
|
|
313
350
|
return {};
|
|
314
351
|
}
|
|
352
|
+
async getActivePage() {
|
|
353
|
+
return this.activePage;
|
|
354
|
+
}
|
|
315
355
|
}
|
|
316
356
|
|
|
317
357
|
class SimpleStdioMcpClient {
|
|
@@ -437,4 +477,4 @@ class SimpleStdioMcpClient {
|
|
|
437
477
|
exports.BrowserAgent = BrowserAgent;
|
|
438
478
|
exports.SimpleStdioMcpClient = SimpleStdioMcpClient;
|
|
439
479
|
exports.getCdpWsEndpoint = getCdpWsEndpoint;
|
|
440
|
-
//# sourceMappingURL=index.cjs.
|
|
480
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/utils.ts","../src/browser.ts","../src/mcp/stdio.ts"],"sourcesContent":[null,null,null],"names":["Log","BaseBrowserLabelsAgent","chromium","StealthPlugin","spawn","uuidv4"],"mappings":"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"}
|