@eko-ai/eko-nodejs 2.1.5 → 2.1.6-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 +5 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/index.cjs.js +35 -9
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +36 -11
- package/dist/index.esm.js.map +1 -1
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/browser.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { AgentContext, BaseBrowserLabelsAgent } from "@eko-ai/eko";
|
|
2
2
|
import { Browser, Page, BrowserContext } from "playwright";
|
|
3
3
|
export default class BrowserAgent extends BaseBrowserLabelsAgent {
|
|
4
|
+
private cdpWsEndpoint?;
|
|
5
|
+
private userDataDir?;
|
|
6
|
+
private options?;
|
|
4
7
|
protected browser: Browser | null;
|
|
5
8
|
private browser_context;
|
|
6
9
|
private current_page;
|
|
7
10
|
private headless;
|
|
8
11
|
setHeadless(headless: boolean): void;
|
|
12
|
+
setCdpWsEndpoint(cdpWsEndpoint: string): void;
|
|
13
|
+
setOptions(options?: Record<string, any>): void;
|
|
9
14
|
protected screenshot(agentContext: AgentContext): Promise<{
|
|
10
15
|
imageBase64: string;
|
|
11
16
|
imageType: "image/jpeg" | "image/png";
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -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;AAEpB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,sBAAsB;IAC9D,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;
|
|
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;AAEpB,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,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,IAAI,CAAC;cAcA,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAClC,OAAO,CAAC,IAAI,CAAC;cAaA,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;cA6BjB,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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -34,6 +34,14 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs$1);
|
|
|
34
34
|
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path$1);
|
|
35
35
|
var actualFS__namespace = /*#__PURE__*/_interopNamespaceDefault(actualFS);
|
|
36
36
|
|
|
37
|
+
async function getCdpWsEndpoint(port) {
|
|
38
|
+
// Example => ws://localhost:9222/devtools/browser/{session-id}
|
|
39
|
+
const response = await fetch(`http://localhost:${port}/json/version`);
|
|
40
|
+
const browserInfo = await response.json();
|
|
41
|
+
eko.Log.info("browserInfo: ", browserInfo);
|
|
42
|
+
return browserInfo.webSocketDebuggerUrl;
|
|
43
|
+
}
|
|
44
|
+
|
|
37
45
|
class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
38
46
|
constructor() {
|
|
39
47
|
super(...arguments);
|
|
@@ -45,6 +53,12 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
45
53
|
setHeadless(headless) {
|
|
46
54
|
this.headless = headless;
|
|
47
55
|
}
|
|
56
|
+
setCdpWsEndpoint(cdpWsEndpoint) {
|
|
57
|
+
this.cdpWsEndpoint = cdpWsEndpoint;
|
|
58
|
+
}
|
|
59
|
+
setOptions(options) {
|
|
60
|
+
this.options = options;
|
|
61
|
+
}
|
|
48
62
|
async screenshot(agentContext) {
|
|
49
63
|
let page = await this.currentPage();
|
|
50
64
|
let screenshotBuffer = await page.screenshot({
|
|
@@ -190,17 +204,28 @@ class BrowserAgent extends eko.BaseBrowserLabelsAgent {
|
|
|
190
204
|
return new Promise((resolve) => setTimeout(() => resolve(), time));
|
|
191
205
|
}
|
|
192
206
|
async getBrowserContext() {
|
|
193
|
-
if (!this.browser) {
|
|
194
|
-
this.current_page = null;
|
|
195
|
-
this.browser_context = null;
|
|
196
|
-
this.browser = await playwright.chromium.launch({
|
|
197
|
-
headless: this.headless,
|
|
198
|
-
args: ["--no-sandbox"],
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
207
|
if (!this.browser_context) {
|
|
202
208
|
this.current_page = null;
|
|
203
|
-
this.browser_context =
|
|
209
|
+
this.browser_context = null;
|
|
210
|
+
if (this.cdpWsEndpoint) {
|
|
211
|
+
this.browser = await playwright.chromium.connectOverCDP(this.cdpWsEndpoint, this.options);
|
|
212
|
+
this.browser_context = await this.browser.newContext();
|
|
213
|
+
}
|
|
214
|
+
else if (this.userDataDir) {
|
|
215
|
+
this.browser_context = await playwright.chromium.launchPersistentContext(this.userDataDir, {
|
|
216
|
+
headless: this.headless,
|
|
217
|
+
// channel: 'chrome',
|
|
218
|
+
...this.options,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
this.browser = await playwright.chromium.launch({
|
|
223
|
+
headless: this.headless,
|
|
224
|
+
args: ["--no-sandbox"],
|
|
225
|
+
...this.options,
|
|
226
|
+
});
|
|
227
|
+
this.browser_context = await this.browser.newContext();
|
|
228
|
+
}
|
|
204
229
|
// Anti-crawling detection website:
|
|
205
230
|
// https://bot.sannysoft.com/
|
|
206
231
|
let init_script = await this.initScript();
|
|
@@ -8227,4 +8252,5 @@ class FileAgent extends eko.BaseFileAgent {
|
|
|
8227
8252
|
|
|
8228
8253
|
exports.BrowserAgent = BrowserAgent;
|
|
8229
8254
|
exports.FileAgent = FileAgent;
|
|
8255
|
+
exports.getCdpWsEndpoint = getCdpWsEndpoint;
|
|
8230
8256
|
//# sourceMappingURL=index.cjs.js.map
|