@askjo/camoufox-browser 1.0.7 → 1.0.9
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/package.json +1 -1
- package/plugin.ts +14 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askjo/camoufox-browser",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "Headless browser automation server and OpenClaw plugin for AI agents - anti-detection, element refs, and session isolation",
|
|
5
5
|
"main": "server-camoufox.js",
|
|
6
6
|
"license": "MIT",
|
package/plugin.ts
CHANGED
|
@@ -69,22 +69,22 @@ async function startServer(
|
|
|
69
69
|
|
|
70
70
|
proc.stdout?.on("data", (data: Buffer) => {
|
|
71
71
|
const msg = data.toString().trim();
|
|
72
|
-
if (msg) log
|
|
72
|
+
if (msg) log?.info?.(`[server] ${msg}`);
|
|
73
73
|
});
|
|
74
74
|
|
|
75
75
|
proc.stderr?.on("data", (data: Buffer) => {
|
|
76
76
|
const msg = data.toString().trim();
|
|
77
|
-
if (msg) log
|
|
77
|
+
if (msg) log?.error?.(`[server] ${msg}`);
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
proc.on("error", (err) => {
|
|
81
|
-
log
|
|
81
|
+
log?.error?.(`Server process error: ${err.message}`);
|
|
82
82
|
serverProcess = null;
|
|
83
83
|
});
|
|
84
84
|
|
|
85
85
|
proc.on("exit", (code) => {
|
|
86
86
|
if (code !== 0 && code !== null) {
|
|
87
|
-
log
|
|
87
|
+
log?.error?.(`Server exited with code ${code}`);
|
|
88
88
|
}
|
|
89
89
|
serverProcess = null;
|
|
90
90
|
});
|
|
@@ -152,12 +152,12 @@ export default function register(api: PluginApi) {
|
|
|
152
152
|
(async () => {
|
|
153
153
|
const alreadyRunning = await checkServerRunning(baseUrl);
|
|
154
154
|
if (alreadyRunning) {
|
|
155
|
-
api.log
|
|
155
|
+
api.log?.info?.(`Camoufox server already running at ${baseUrl}`);
|
|
156
156
|
} else {
|
|
157
157
|
try {
|
|
158
158
|
serverProcess = await startServer(pluginDir, port, api.log);
|
|
159
159
|
} catch (err) {
|
|
160
|
-
api.log
|
|
160
|
+
api.log?.error?.(`Failed to auto-start server: ${(err as Error).message}`);
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
})();
|
|
@@ -409,37 +409,37 @@ export default function register(api: PluginApi) {
|
|
|
409
409
|
case "status":
|
|
410
410
|
try {
|
|
411
411
|
const health = await fetchApi(baseUrl, "/health");
|
|
412
|
-
api.log
|
|
412
|
+
api.log?.info?.(`Camoufox server at ${baseUrl}: ${JSON.stringify(health)}`);
|
|
413
413
|
} catch {
|
|
414
|
-
api.log
|
|
414
|
+
api.log?.error?.(`Camoufox server at ${baseUrl}: not reachable`);
|
|
415
415
|
}
|
|
416
416
|
break;
|
|
417
417
|
case "start":
|
|
418
418
|
if (serverProcess) {
|
|
419
|
-
api.log
|
|
419
|
+
api.log?.info?.("Camoufox server already running (managed)");
|
|
420
420
|
return;
|
|
421
421
|
}
|
|
422
422
|
if (await checkServerRunning(baseUrl)) {
|
|
423
|
-
api.log
|
|
423
|
+
api.log?.info?.(`Camoufox server already running at ${baseUrl}`);
|
|
424
424
|
return;
|
|
425
425
|
}
|
|
426
426
|
try {
|
|
427
427
|
serverProcess = await startServer(pluginDir, port, api.log);
|
|
428
428
|
} catch (err) {
|
|
429
|
-
api.log
|
|
429
|
+
api.log?.error?.(`Failed to start server: ${(err as Error).message}`);
|
|
430
430
|
}
|
|
431
431
|
break;
|
|
432
432
|
case "stop":
|
|
433
433
|
if (serverProcess) {
|
|
434
434
|
serverProcess.kill();
|
|
435
435
|
serverProcess = null;
|
|
436
|
-
api.log
|
|
436
|
+
api.log?.info?.("Stopped camoufox-browser server");
|
|
437
437
|
} else {
|
|
438
|
-
api.log
|
|
438
|
+
api.log?.info?.("No managed server process running");
|
|
439
439
|
}
|
|
440
440
|
break;
|
|
441
441
|
default:
|
|
442
|
-
api.log
|
|
442
|
+
api.log?.error?.(`Unknown subcommand: ${subcommand}. Use: status, start, stop`);
|
|
443
443
|
}
|
|
444
444
|
},
|
|
445
445
|
});
|