@cortask/core 0.2.24 → 0.2.26
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/index.js +11 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2972,8 +2972,9 @@ function createArtifactTool(artifactStore) {
|
|
|
2972
2972
|
|
|
2973
2973
|
// src/agent/tools/browser-manager.ts
|
|
2974
2974
|
import { execFile } from "child_process";
|
|
2975
|
-
import { existsSync } from "fs";
|
|
2975
|
+
import { existsSync, mkdirSync } from "fs";
|
|
2976
2976
|
import { join } from "path";
|
|
2977
|
+
import { homedir } from "os";
|
|
2977
2978
|
import { createRequire } from "module";
|
|
2978
2979
|
var DEFAULT_TIMEOUT = 3e4;
|
|
2979
2980
|
function getNativeBinName() {
|
|
@@ -3008,15 +3009,19 @@ function resolveCmd() {
|
|
|
3008
3009
|
}
|
|
3009
3010
|
var CMD = resolveCmd();
|
|
3010
3011
|
var instance = null;
|
|
3011
|
-
function
|
|
3012
|
-
|
|
3012
|
+
function getAgentBrowserHome() {
|
|
3013
|
+
if (process.env.AGENT_BROWSER_HOME) return process.env.AGENT_BROWSER_HOME;
|
|
3014
|
+
const dir = join(homedir(), ".agent-browser");
|
|
3015
|
+
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
3016
|
+
return dir;
|
|
3013
3017
|
}
|
|
3014
3018
|
function exec2(args, timeout = DEFAULT_TIMEOUT) {
|
|
3015
3019
|
return new Promise((resolve, reject) => {
|
|
3016
3020
|
const isScript = CMD.endsWith(".js");
|
|
3017
3021
|
const cmd = isScript ? process.env.NODE_PATH_BIN || process.execPath : CMD;
|
|
3018
3022
|
const finalArgs = isScript ? [CMD, ...args] : args;
|
|
3019
|
-
|
|
3023
|
+
const env = { ...process.env, AGENT_BROWSER_HOME: getAgentBrowserHome() };
|
|
3024
|
+
execFile(cmd, finalArgs, { timeout, maxBuffer: 5 * 1024 * 1024, env }, (err, stdout, stderr) => {
|
|
3020
3025
|
if (err) {
|
|
3021
3026
|
const msg = stderr?.trim() || stdout?.trim() || err.message;
|
|
3022
3027
|
reject(new Error(msg));
|
|
@@ -3199,7 +3204,7 @@ function createBrowserTool(artifactStore) {
|
|
|
3199
3204
|
await closeBrowser();
|
|
3200
3205
|
return { toolCallId: "", content: "Browser closed." };
|
|
3201
3206
|
}
|
|
3202
|
-
|
|
3207
|
+
try {
|
|
3203
3208
|
const browser = await ensureBrowser();
|
|
3204
3209
|
switch (action) {
|
|
3205
3210
|
case "navigate": {
|
|
@@ -3389,28 +3394,10 @@ ${result.content}`,
|
|
|
3389
3394
|
isError: true
|
|
3390
3395
|
};
|
|
3391
3396
|
}
|
|
3392
|
-
};
|
|
3393
|
-
try {
|
|
3394
|
-
return await executeAction();
|
|
3395
3397
|
} catch (err) {
|
|
3396
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
3397
|
-
if (msg.includes("has been closed") || msg.includes("Target page")) {
|
|
3398
|
-
await closeBrowser().catch(() => {
|
|
3399
|
-
});
|
|
3400
|
-
resetBrowserInstance();
|
|
3401
|
-
try {
|
|
3402
|
-
return await executeAction();
|
|
3403
|
-
} catch (retryErr) {
|
|
3404
|
-
return {
|
|
3405
|
-
toolCallId: "",
|
|
3406
|
-
content: `Browser error (after retry): ${retryErr instanceof Error ? retryErr.message : String(retryErr)}`,
|
|
3407
|
-
isError: true
|
|
3408
|
-
};
|
|
3409
|
-
}
|
|
3410
|
-
}
|
|
3411
3398
|
return {
|
|
3412
3399
|
toolCallId: "",
|
|
3413
|
-
content: `Browser error: ${
|
|
3400
|
+
content: `Browser error: ${err instanceof Error ? err.message : String(err)}`,
|
|
3414
3401
|
isError: true
|
|
3415
3402
|
};
|
|
3416
3403
|
}
|