@eko-ai/eko-nodejs 4.0.9 → 4.1.1-alpha.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 +26 -6
- package/dist/browser.d.ts.map +1 -1
- package/dist/{index.cjs.js → index.cjs} +99 -29
- package/dist/index.cjs.map +1 -0
- package/dist/index.esm.js +93 -27
- 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,14 +1,20 @@
|
|
|
1
1
|
import { AgentContext, BaseBrowserLabelsAgent } from "@eko-ai/eko";
|
|
2
2
|
import { Page, Browser, BrowserContext } from "playwright";
|
|
3
|
-
|
|
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?;
|
|
7
11
|
private cookies?;
|
|
8
12
|
protected browser: Browser | null;
|
|
9
|
-
private
|
|
10
|
-
private
|
|
13
|
+
private browserContext;
|
|
14
|
+
private activePage;
|
|
11
15
|
private headless;
|
|
16
|
+
private pageMap;
|
|
17
|
+
protected lastSwitchedPage: Page | null;
|
|
12
18
|
setHeadless(headless: boolean): void;
|
|
13
19
|
setCdpWsEndpoint(cdpWsEndpoint: string): void;
|
|
14
20
|
initUserDataDir(userDataDir: string): string | undefined;
|
|
@@ -31,10 +37,20 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
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;
|
|
@@ -48,8 +64,9 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
48
64
|
private open_url;
|
|
49
65
|
protected currentPage(): Promise<Page>;
|
|
50
66
|
private get_element;
|
|
67
|
+
protected go_back(agentContext: AgentContext): Promise<void>;
|
|
51
68
|
private sleep;
|
|
52
|
-
|
|
69
|
+
getBrowserContext(): Promise<BrowserContext>;
|
|
53
70
|
private autoLoadCookies;
|
|
54
71
|
private autoLoadLocalStorage;
|
|
55
72
|
protected loadCookiesWithUrl(url: string): Promise<Array<{
|
|
@@ -71,6 +88,9 @@ export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
71
88
|
path?: string;
|
|
72
89
|
content?: string;
|
|
73
90
|
}>;
|
|
91
|
+
getBrowser(): Promise<Browser | null>;
|
|
92
|
+
getActivePage(): Promise<Page | null>;
|
|
93
|
+
close(): Promise<void>;
|
|
74
94
|
}
|
|
75
|
-
export
|
|
95
|
+
export default BrowserAgent;
|
|
76
96
|
//# 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":"AAEA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAO,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAI1E,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,YAAa,SAAQ,sBAAsB;IACtD,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,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,OAAO,CAA6B;IAC5C,SAAS,CAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAExC,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;IAUW,QAAQ;eAUV,MAAM;aACR,MAAM;eACJ,MAAM;uBACE,MAAM;gBACb,OAAO;;IAVZ,UAAU;cAID,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAChE,KAAK,CAAC;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC,CACH;cAiCe,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;cAuBzC,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;cAyBN,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAW9B,WAAW;cA0BT,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlE,OAAO,CAAC,KAAK;IAIA,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;YAoE3C,eAAe;YAYf,oBAAoB;cAiBlB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CACtD,KAAK,CAAC;QACJ,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;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CACH;cAIe,uBAAuB,CACrC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIlC,SAAS,CAAC,eAAe,IAAI,MAAM,EAAE;IAiBrC,SAAS,CAAC,YAAY,IAAI,MAAM,GAAG,SAAS;cAW5B,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7D,UAAU,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrC,aAAa,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQpC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -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,13 +20,16 @@ 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);
|
|
22
27
|
this.browser = null;
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
28
|
+
this.browserContext = null;
|
|
29
|
+
this.activePage = null;
|
|
25
30
|
this.headless = false;
|
|
31
|
+
this.pageMap = new Map();
|
|
32
|
+
this.lastSwitchedPage = null;
|
|
26
33
|
}
|
|
27
34
|
setHeadless(headless) {
|
|
28
35
|
this.headless = headless;
|
|
@@ -55,42 +62,65 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
55
62
|
}
|
|
56
63
|
async navigate_to(agentContext, url) {
|
|
57
64
|
const page = await this.open_url(agentContext, url);
|
|
65
|
+
this.lastSwitchedPage = page;
|
|
58
66
|
await this.sleep(200);
|
|
59
67
|
return {
|
|
60
68
|
url: page.url(),
|
|
61
69
|
title: await page.title(),
|
|
62
70
|
};
|
|
63
71
|
}
|
|
72
|
+
async loadTabs() {
|
|
73
|
+
return await this.get_all_tabs(undefined);
|
|
74
|
+
}
|
|
75
|
+
getPageMap() {
|
|
76
|
+
return this.pageMap;
|
|
77
|
+
}
|
|
64
78
|
async get_all_tabs(agentContext) {
|
|
65
|
-
if (!this.
|
|
79
|
+
if (!this.browserContext) {
|
|
66
80
|
return [];
|
|
67
81
|
}
|
|
68
82
|
const result = [];
|
|
69
|
-
const pages =
|
|
83
|
+
const pages = this.browserContext.pages();
|
|
70
84
|
for (let i = 0; i < pages.length; i++) {
|
|
71
85
|
let page = pages[i];
|
|
86
|
+
let pageInfo = this.pageMap.get(page);
|
|
87
|
+
if (!pageInfo) {
|
|
88
|
+
pageInfo = {
|
|
89
|
+
tabId: tabId++,
|
|
90
|
+
lastAccessed: Date.now(),
|
|
91
|
+
};
|
|
92
|
+
this.pageMap.set(page, pageInfo);
|
|
93
|
+
}
|
|
72
94
|
result.push({
|
|
73
|
-
tabId:
|
|
95
|
+
tabId: pageInfo.tabId,
|
|
74
96
|
url: page.url(),
|
|
75
97
|
title: await page.title(),
|
|
98
|
+
lastAccessed: pageInfo.lastAccessed,
|
|
99
|
+
active: page === this.activePage,
|
|
76
100
|
});
|
|
77
101
|
}
|
|
78
102
|
return result;
|
|
79
103
|
}
|
|
80
104
|
async switch_tab(agentContext, tabId) {
|
|
81
|
-
if (!this.
|
|
105
|
+
if (!this.browserContext) {
|
|
82
106
|
throw new Error("tabId does not exist: " + tabId);
|
|
83
107
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
108
|
+
let switchPage = null;
|
|
109
|
+
this.pageMap.forEach((pageInfo, page) => {
|
|
110
|
+
if (pageInfo.tabId === tabId) {
|
|
111
|
+
switchPage = page;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
if (!switchPage) {
|
|
87
116
|
throw new Error("tabId does not exist: " + tabId);
|
|
88
117
|
}
|
|
89
|
-
this.
|
|
118
|
+
this.activePage = switchPage;
|
|
119
|
+
this.lastSwitchedPage = switchPage;
|
|
90
120
|
return {
|
|
91
121
|
tabId: tabId,
|
|
92
|
-
url:
|
|
93
|
-
title: await
|
|
122
|
+
url: switchPage.url(),
|
|
123
|
+
title: await switchPage.title(),
|
|
94
124
|
};
|
|
95
125
|
}
|
|
96
126
|
async input_text(agentContext, index, text, enter) {
|
|
@@ -158,14 +188,14 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
158
188
|
throw e;
|
|
159
189
|
}
|
|
160
190
|
}
|
|
161
|
-
this.
|
|
191
|
+
this.activePage = page;
|
|
162
192
|
return page;
|
|
163
193
|
}
|
|
164
194
|
async currentPage() {
|
|
165
|
-
if (this.
|
|
195
|
+
if (this.activePage == null) {
|
|
166
196
|
throw new Error("There is no page, please call navigate_to first");
|
|
167
197
|
}
|
|
168
|
-
const page = this.
|
|
198
|
+
const page = this.activePage;
|
|
169
199
|
try {
|
|
170
200
|
await page.waitForLoadState("domcontentloaded", { timeout: 10000 });
|
|
171
201
|
}
|
|
@@ -189,22 +219,40 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
189
219
|
return element;
|
|
190
220
|
}, { index, findInput });
|
|
191
221
|
}
|
|
222
|
+
async go_back(agentContext) {
|
|
223
|
+
try {
|
|
224
|
+
await this.execute_script(agentContext, async () => {
|
|
225
|
+
await window.navigation.back().finished;
|
|
226
|
+
}, []);
|
|
227
|
+
await this.sleep(100);
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
if (e?.name == "InvalidStateError" && this.lastSwitchedPage) {
|
|
231
|
+
this.activePage && (await this.activePage.close());
|
|
232
|
+
this.activePage = this.lastSwitchedPage;
|
|
233
|
+
this.lastSwitchedPage = null;
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
throw new Error("Cannot go back");
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
192
240
|
sleep(time) {
|
|
193
241
|
return new Promise((resolve) => setTimeout(() => resolve(), time));
|
|
194
242
|
}
|
|
195
243
|
async getBrowserContext() {
|
|
196
|
-
if (!this.
|
|
197
|
-
this.
|
|
198
|
-
this.
|
|
244
|
+
if (!this.browserContext) {
|
|
245
|
+
this.activePage = null;
|
|
246
|
+
this.browserContext = null;
|
|
199
247
|
if (this.cdpWsEndpoint) {
|
|
200
248
|
this.browser = (await playwrightExtra.chromium.connectOverCDP(this.cdpWsEndpoint, this.options));
|
|
201
|
-
this.
|
|
249
|
+
this.browserContext = await this.browser.newContext({
|
|
202
250
|
userAgent: this.getUserAgent(),
|
|
203
251
|
viewport: { width: 1536, height: 864 },
|
|
204
252
|
});
|
|
205
253
|
}
|
|
206
254
|
else if (this.userDataDir) {
|
|
207
|
-
this.
|
|
255
|
+
this.browserContext = (await playwrightExtra.chromium.launchPersistentContext(this.userDataDir, {
|
|
208
256
|
headless: this.headless,
|
|
209
257
|
channel: "chrome",
|
|
210
258
|
args: this.getChromiumArgs(),
|
|
@@ -217,7 +265,7 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
217
265
|
args: this.getChromiumArgs(),
|
|
218
266
|
...this.options,
|
|
219
267
|
}));
|
|
220
|
-
this.
|
|
268
|
+
this.browserContext = await this.browser.newContext({
|
|
221
269
|
userAgent: this.getUserAgent(),
|
|
222
270
|
viewport: { width: 1536, height: 864 },
|
|
223
271
|
});
|
|
@@ -225,12 +273,17 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
225
273
|
// Anti-crawling detection website:
|
|
226
274
|
// https://bot.sannysoft.com/
|
|
227
275
|
// https://www.browserscan.net/
|
|
228
|
-
playwrightExtra.chromium.use(
|
|
276
|
+
playwrightExtra.chromium.use(StealthPlugin__default.default());
|
|
229
277
|
const init_script = await this.initScript();
|
|
230
278
|
if (init_script.content || init_script.path) {
|
|
231
|
-
this.
|
|
279
|
+
this.browserContext.addInitScript(init_script);
|
|
232
280
|
}
|
|
233
|
-
this.
|
|
281
|
+
this.browserContext.on("page", async (page) => {
|
|
282
|
+
this.activePage = page;
|
|
283
|
+
this.pageMap.set(page, {
|
|
284
|
+
tabId: tabId++,
|
|
285
|
+
lastAccessed: Date.now(),
|
|
286
|
+
});
|
|
234
287
|
page.on("framenavigated", async (frame) => {
|
|
235
288
|
if (frame === page.mainFrame()) {
|
|
236
289
|
const url = frame.url();
|
|
@@ -240,19 +293,22 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
240
293
|
}
|
|
241
294
|
}
|
|
242
295
|
});
|
|
296
|
+
page.on("close", () => {
|
|
297
|
+
this.pageMap.delete(page);
|
|
298
|
+
});
|
|
243
299
|
});
|
|
244
300
|
}
|
|
245
301
|
if (this.cookies) {
|
|
246
|
-
this.
|
|
302
|
+
this.browserContext?.addCookies(this.cookies);
|
|
247
303
|
}
|
|
248
|
-
return this.
|
|
304
|
+
return this.browserContext;
|
|
249
305
|
}
|
|
250
306
|
async autoLoadCookies(url) {
|
|
251
307
|
try {
|
|
252
308
|
const cookies = await this.loadCookiesWithUrl(url);
|
|
253
309
|
if (cookies && cookies.length > 0) {
|
|
254
|
-
await this.
|
|
255
|
-
await this.
|
|
310
|
+
await this.browserContext?.clearCookies();
|
|
311
|
+
await this.browserContext?.addCookies(cookies);
|
|
256
312
|
}
|
|
257
313
|
}
|
|
258
314
|
catch (e) {
|
|
@@ -312,6 +368,20 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
312
368
|
async initScript() {
|
|
313
369
|
return {};
|
|
314
370
|
}
|
|
371
|
+
async getBrowser() {
|
|
372
|
+
return this.browser;
|
|
373
|
+
}
|
|
374
|
+
async getActivePage() {
|
|
375
|
+
return this.activePage;
|
|
376
|
+
}
|
|
377
|
+
async close() {
|
|
378
|
+
if (this.browserContext) {
|
|
379
|
+
await this.browserContext.close();
|
|
380
|
+
}
|
|
381
|
+
if (this.browser) {
|
|
382
|
+
await this.browser.close();
|
|
383
|
+
}
|
|
384
|
+
}
|
|
315
385
|
}
|
|
316
386
|
|
|
317
387
|
class SimpleStdioMcpClient {
|
|
@@ -437,4 +507,4 @@ class SimpleStdioMcpClient {
|
|
|
437
507
|
exports.BrowserAgent = BrowserAgent;
|
|
438
508
|
exports.SimpleStdioMcpClient = SimpleStdioMcpClient;
|
|
439
509
|
exports.getCdpWsEndpoint = getCdpWsEndpoint;
|
|
440
|
-
//# sourceMappingURL=index.cjs.
|
|
510
|
+
//# 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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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -2408,13 +2408,16 @@ function requirePuppeteerExtraPluginStealth () {
|
|
|
2408
2408
|
var puppeteerExtraPluginStealthExports = requirePuppeteerExtraPluginStealth();
|
|
2409
2409
|
var StealthPlugin = /*@__PURE__*/getDefaultExportFromCjs(puppeteerExtraPluginStealthExports);
|
|
2410
2410
|
|
|
2411
|
+
var tabId = 1000;
|
|
2411
2412
|
class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
2412
2413
|
constructor() {
|
|
2413
2414
|
super(...arguments);
|
|
2414
2415
|
this.browser = null;
|
|
2415
|
-
this.
|
|
2416
|
-
this.
|
|
2416
|
+
this.browserContext = null;
|
|
2417
|
+
this.activePage = null;
|
|
2417
2418
|
this.headless = false;
|
|
2419
|
+
this.pageMap = new Map();
|
|
2420
|
+
this.lastSwitchedPage = null;
|
|
2418
2421
|
}
|
|
2419
2422
|
setHeadless(headless) {
|
|
2420
2423
|
this.headless = headless;
|
|
@@ -2447,42 +2450,65 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2447
2450
|
}
|
|
2448
2451
|
async navigate_to(agentContext, url) {
|
|
2449
2452
|
const page = await this.open_url(agentContext, url);
|
|
2453
|
+
this.lastSwitchedPage = page;
|
|
2450
2454
|
await this.sleep(200);
|
|
2451
2455
|
return {
|
|
2452
2456
|
url: page.url(),
|
|
2453
2457
|
title: await page.title(),
|
|
2454
2458
|
};
|
|
2455
2459
|
}
|
|
2460
|
+
async loadTabs() {
|
|
2461
|
+
return await this.get_all_tabs(undefined);
|
|
2462
|
+
}
|
|
2463
|
+
getPageMap() {
|
|
2464
|
+
return this.pageMap;
|
|
2465
|
+
}
|
|
2456
2466
|
async get_all_tabs(agentContext) {
|
|
2457
|
-
if (!this.
|
|
2467
|
+
if (!this.browserContext) {
|
|
2458
2468
|
return [];
|
|
2459
2469
|
}
|
|
2460
2470
|
const result = [];
|
|
2461
|
-
const pages =
|
|
2471
|
+
const pages = this.browserContext.pages();
|
|
2462
2472
|
for (let i = 0; i < pages.length; i++) {
|
|
2463
2473
|
let page = pages[i];
|
|
2474
|
+
let pageInfo = this.pageMap.get(page);
|
|
2475
|
+
if (!pageInfo) {
|
|
2476
|
+
pageInfo = {
|
|
2477
|
+
tabId: tabId++,
|
|
2478
|
+
lastAccessed: Date.now(),
|
|
2479
|
+
};
|
|
2480
|
+
this.pageMap.set(page, pageInfo);
|
|
2481
|
+
}
|
|
2464
2482
|
result.push({
|
|
2465
|
-
tabId:
|
|
2483
|
+
tabId: pageInfo.tabId,
|
|
2466
2484
|
url: page.url(),
|
|
2467
2485
|
title: await page.title(),
|
|
2486
|
+
lastAccessed: pageInfo.lastAccessed,
|
|
2487
|
+
active: page === this.activePage,
|
|
2468
2488
|
});
|
|
2469
2489
|
}
|
|
2470
2490
|
return result;
|
|
2471
2491
|
}
|
|
2472
2492
|
async switch_tab(agentContext, tabId) {
|
|
2473
|
-
if (!this.
|
|
2493
|
+
if (!this.browserContext) {
|
|
2474
2494
|
throw new Error("tabId does not exist: " + tabId);
|
|
2475
2495
|
}
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2496
|
+
let switchPage = null;
|
|
2497
|
+
this.pageMap.forEach((pageInfo, page) => {
|
|
2498
|
+
if (pageInfo.tabId === tabId) {
|
|
2499
|
+
switchPage = page;
|
|
2500
|
+
return;
|
|
2501
|
+
}
|
|
2502
|
+
});
|
|
2503
|
+
if (!switchPage) {
|
|
2479
2504
|
throw new Error("tabId does not exist: " + tabId);
|
|
2480
2505
|
}
|
|
2481
|
-
this.
|
|
2506
|
+
this.activePage = switchPage;
|
|
2507
|
+
this.lastSwitchedPage = switchPage;
|
|
2482
2508
|
return {
|
|
2483
2509
|
tabId: tabId,
|
|
2484
|
-
url:
|
|
2485
|
-
title: await
|
|
2510
|
+
url: switchPage.url(),
|
|
2511
|
+
title: await switchPage.title(),
|
|
2486
2512
|
};
|
|
2487
2513
|
}
|
|
2488
2514
|
async input_text(agentContext, index, text, enter) {
|
|
@@ -2550,14 +2576,14 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2550
2576
|
throw e;
|
|
2551
2577
|
}
|
|
2552
2578
|
}
|
|
2553
|
-
this.
|
|
2579
|
+
this.activePage = page;
|
|
2554
2580
|
return page;
|
|
2555
2581
|
}
|
|
2556
2582
|
async currentPage() {
|
|
2557
|
-
if (this.
|
|
2583
|
+
if (this.activePage == null) {
|
|
2558
2584
|
throw new Error("There is no page, please call navigate_to first");
|
|
2559
2585
|
}
|
|
2560
|
-
const page = this.
|
|
2586
|
+
const page = this.activePage;
|
|
2561
2587
|
try {
|
|
2562
2588
|
await page.waitForLoadState("domcontentloaded", { timeout: 10000 });
|
|
2563
2589
|
}
|
|
@@ -2581,22 +2607,40 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2581
2607
|
return element;
|
|
2582
2608
|
}, { index, findInput });
|
|
2583
2609
|
}
|
|
2610
|
+
async go_back(agentContext) {
|
|
2611
|
+
try {
|
|
2612
|
+
await this.execute_script(agentContext, async () => {
|
|
2613
|
+
await window.navigation.back().finished;
|
|
2614
|
+
}, []);
|
|
2615
|
+
await this.sleep(100);
|
|
2616
|
+
}
|
|
2617
|
+
catch (e) {
|
|
2618
|
+
if (e?.name == "InvalidStateError" && this.lastSwitchedPage) {
|
|
2619
|
+
this.activePage && (await this.activePage.close());
|
|
2620
|
+
this.activePage = this.lastSwitchedPage;
|
|
2621
|
+
this.lastSwitchedPage = null;
|
|
2622
|
+
}
|
|
2623
|
+
else {
|
|
2624
|
+
throw new Error("Cannot go back");
|
|
2625
|
+
}
|
|
2626
|
+
}
|
|
2627
|
+
}
|
|
2584
2628
|
sleep(time) {
|
|
2585
2629
|
return new Promise((resolve) => setTimeout(() => resolve(), time));
|
|
2586
2630
|
}
|
|
2587
2631
|
async getBrowserContext() {
|
|
2588
|
-
if (!this.
|
|
2589
|
-
this.
|
|
2590
|
-
this.
|
|
2632
|
+
if (!this.browserContext) {
|
|
2633
|
+
this.activePage = null;
|
|
2634
|
+
this.browserContext = null;
|
|
2591
2635
|
if (this.cdpWsEndpoint) {
|
|
2592
2636
|
this.browser = (await chromium.connectOverCDP(this.cdpWsEndpoint, this.options));
|
|
2593
|
-
this.
|
|
2637
|
+
this.browserContext = await this.browser.newContext({
|
|
2594
2638
|
userAgent: this.getUserAgent(),
|
|
2595
2639
|
viewport: { width: 1536, height: 864 },
|
|
2596
2640
|
});
|
|
2597
2641
|
}
|
|
2598
2642
|
else if (this.userDataDir) {
|
|
2599
|
-
this.
|
|
2643
|
+
this.browserContext = (await chromium.launchPersistentContext(this.userDataDir, {
|
|
2600
2644
|
headless: this.headless,
|
|
2601
2645
|
channel: "chrome",
|
|
2602
2646
|
args: this.getChromiumArgs(),
|
|
@@ -2609,7 +2653,7 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2609
2653
|
args: this.getChromiumArgs(),
|
|
2610
2654
|
...this.options,
|
|
2611
2655
|
}));
|
|
2612
|
-
this.
|
|
2656
|
+
this.browserContext = await this.browser.newContext({
|
|
2613
2657
|
userAgent: this.getUserAgent(),
|
|
2614
2658
|
viewport: { width: 1536, height: 864 },
|
|
2615
2659
|
});
|
|
@@ -2620,9 +2664,14 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2620
2664
|
chromium.use(StealthPlugin());
|
|
2621
2665
|
const init_script = await this.initScript();
|
|
2622
2666
|
if (init_script.content || init_script.path) {
|
|
2623
|
-
this.
|
|
2667
|
+
this.browserContext.addInitScript(init_script);
|
|
2624
2668
|
}
|
|
2625
|
-
this.
|
|
2669
|
+
this.browserContext.on("page", async (page) => {
|
|
2670
|
+
this.activePage = page;
|
|
2671
|
+
this.pageMap.set(page, {
|
|
2672
|
+
tabId: tabId++,
|
|
2673
|
+
lastAccessed: Date.now(),
|
|
2674
|
+
});
|
|
2626
2675
|
page.on("framenavigated", async (frame) => {
|
|
2627
2676
|
if (frame === page.mainFrame()) {
|
|
2628
2677
|
const url = frame.url();
|
|
@@ -2632,19 +2681,22 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2632
2681
|
}
|
|
2633
2682
|
}
|
|
2634
2683
|
});
|
|
2684
|
+
page.on("close", () => {
|
|
2685
|
+
this.pageMap.delete(page);
|
|
2686
|
+
});
|
|
2635
2687
|
});
|
|
2636
2688
|
}
|
|
2637
2689
|
if (this.cookies) {
|
|
2638
|
-
this.
|
|
2690
|
+
this.browserContext?.addCookies(this.cookies);
|
|
2639
2691
|
}
|
|
2640
|
-
return this.
|
|
2692
|
+
return this.browserContext;
|
|
2641
2693
|
}
|
|
2642
2694
|
async autoLoadCookies(url) {
|
|
2643
2695
|
try {
|
|
2644
2696
|
const cookies = await this.loadCookiesWithUrl(url);
|
|
2645
2697
|
if (cookies && cookies.length > 0) {
|
|
2646
|
-
await this.
|
|
2647
|
-
await this.
|
|
2698
|
+
await this.browserContext?.clearCookies();
|
|
2699
|
+
await this.browserContext?.addCookies(cookies);
|
|
2648
2700
|
}
|
|
2649
2701
|
}
|
|
2650
2702
|
catch (e) {
|
|
@@ -2704,6 +2756,20 @@ class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
|
2704
2756
|
async initScript() {
|
|
2705
2757
|
return {};
|
|
2706
2758
|
}
|
|
2759
|
+
async getBrowser() {
|
|
2760
|
+
return this.browser;
|
|
2761
|
+
}
|
|
2762
|
+
async getActivePage() {
|
|
2763
|
+
return this.activePage;
|
|
2764
|
+
}
|
|
2765
|
+
async close() {
|
|
2766
|
+
if (this.browserContext) {
|
|
2767
|
+
await this.browserContext.close();
|
|
2768
|
+
}
|
|
2769
|
+
if (this.browser) {
|
|
2770
|
+
await this.browser.close();
|
|
2771
|
+
}
|
|
2772
|
+
}
|
|
2707
2773
|
}
|
|
2708
2774
|
|
|
2709
2775
|
class SimpleStdioMcpClient {
|