@ozaiya/openclaw-channel 0.10.19 → 0.10.21
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/src/gateway.js +68 -141
- package/dist/src/gateway.js.map +1 -1
- package/dist/src/sandboxScreenCdp.d.ts +23 -0
- package/dist/src/sandboxScreenCdp.js +159 -0
- package/dist/src/sandboxScreenCdp.js.map +1 -0
- package/dist/src/sandboxScreenRtc.js +14 -5
- package/dist/src/sandboxScreenRtc.js.map +1 -1
- package/package.json +1 -1
package/dist/src/gateway.js
CHANGED
|
@@ -26,7 +26,7 @@ import { decryptBox } from "./crypto.js";
|
|
|
26
26
|
import { resolveOzaiyaSttConfig } from "./transcribeAudio.js";
|
|
27
27
|
import * as desktop from "./desktopContainer.js";
|
|
28
28
|
import { createSandboxFileSession, handleSandboxFileMessage } from "./sandboxFileTransfer.js";
|
|
29
|
-
import {
|
|
29
|
+
import { createCdpScreencast } from "./sandboxScreenCdp.js";
|
|
30
30
|
import { WeChatMonitorSession, getMonitor, getAllMonitors } from "./wechatMonitor.js";
|
|
31
31
|
let sodiumReady = false;
|
|
32
32
|
async function ensureSodium() {
|
|
@@ -456,29 +456,26 @@ export async function startGatewayMode(options) {
|
|
|
456
456
|
ack({ ok: true, result: files });
|
|
457
457
|
}
|
|
458
458
|
else if (payload.method === 'sandbox-screen-open') {
|
|
459
|
-
// Open
|
|
460
|
-
//
|
|
461
|
-
//
|
|
462
|
-
const { channelId, botId
|
|
463
|
-
log?.info(`[gateway] sandbox-screen-open channelId=${channelId} botId=${botId}
|
|
464
|
-
//
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
}
|
|
470
|
-
else
|
|
459
|
+
// Open the bot computer view — Manus-style CDP screencast of the sandbox
|
|
460
|
+
// browser's Chromium (JPEG frames over the relay → the viewer's canvas).
|
|
461
|
+
// (The old Xvfb+x11vnc+websockify+noVNC RFB path is retired.)
|
|
462
|
+
const { channelId, botId } = payload.params;
|
|
463
|
+
log?.info(`[gateway] sandbox-screen-open channelId=${channelId} botId=${botId} (cdp)`);
|
|
464
|
+
// Resolve the browser container's CDP host:port (the socat-proxied DevTools
|
|
465
|
+
// endpoint). In-container: NOVNC_HOST + CDP port. On host: the mapped 9222.
|
|
466
|
+
let cdpHost = process.env.NOVNC_HOST || 'localhost';
|
|
467
|
+
let cdpPort = Number(process.env.OPENCLAW_BROWSER_CDP_PORT || process.env.CDP_PORT || '9222');
|
|
468
|
+
if (!desktop.isInContainer) {
|
|
471
469
|
try {
|
|
472
470
|
const dockerEnvLocal = { ...process.env, PATH: `${process.env.PATH}:/usr/local/bin:/Applications/Docker.app/Contents/Resources/bin` };
|
|
473
471
|
let output = '';
|
|
474
|
-
// Try by label, then by name, then by image (compose-style browser containers).
|
|
475
472
|
for (const sel of [
|
|
476
473
|
"--filter 'label=openclaw.sandboxBrowser=1'",
|
|
477
474
|
"--filter 'name=sandbox-browser'",
|
|
478
475
|
"--filter 'ancestor=openclaw-sandbox-browser:bookworm-slim'",
|
|
479
476
|
]) {
|
|
480
477
|
try {
|
|
481
|
-
output = execSync(`docker port $(docker ps -q ${sel} | head -1)
|
|
478
|
+
output = execSync(`docker port $(docker ps -q ${sel} | head -1) 9222 2>/dev/null`, { timeout: 5000, env: dockerEnvLocal }).toString().trim();
|
|
482
479
|
}
|
|
483
480
|
catch {
|
|
484
481
|
output = '';
|
|
@@ -486,29 +483,13 @@ export async function startGatewayMode(options) {
|
|
|
486
483
|
if (output)
|
|
487
484
|
break;
|
|
488
485
|
}
|
|
489
|
-
const
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
catch {
|
|
493
|
-
log?.warn(`[gateway] sandbox-screen: no Docker sandbox container found`);
|
|
494
|
-
ack({ ok: false, error: 'No Docker sandbox container found' });
|
|
495
|
-
return;
|
|
486
|
+
const mapped = (output.split('\n').pop() || output).split(':').pop();
|
|
487
|
+
if (mapped)
|
|
488
|
+
cdpPort = Number(mapped);
|
|
496
489
|
}
|
|
497
|
-
|
|
498
|
-
const noVncHost = process.env.NOVNC_HOST || 'localhost';
|
|
499
|
-
let dockerWs;
|
|
500
|
-
try {
|
|
501
|
-
const WsModule = await import("ws");
|
|
502
|
-
const WsCtor = WsModule.default ?? WsModule;
|
|
503
|
-
dockerWs = new WsCtor(`ws://${noVncHost}:${port}/websockify`);
|
|
504
|
-
dockerWs.binaryType = "arraybuffer";
|
|
505
|
-
}
|
|
506
|
-
catch (err) {
|
|
507
|
-
log?.warn(`[gateway] sandbox-screen: failed to create WS: ${String(err)}`);
|
|
508
|
-
ack({ ok: false, error: `Failed to connect to noVNC: ${String(err)}` });
|
|
509
|
-
return;
|
|
490
|
+
catch { /* keep default */ }
|
|
510
491
|
}
|
|
511
|
-
// Open
|
|
492
|
+
// Open the relay WS back to the server.
|
|
512
493
|
const relayUrl = `${apiBaseUrl.replace(/^http/, 'ws')}/v1/ws-relay/${channelId}/ws?token=${encodeURIComponent(gatewayToken)}`;
|
|
513
494
|
let relayWs;
|
|
514
495
|
try {
|
|
@@ -518,139 +499,81 @@ export async function startGatewayMode(options) {
|
|
|
518
499
|
}
|
|
519
500
|
catch (err) {
|
|
520
501
|
log?.warn(`[gateway] sandbox-screen: failed to create relay WS: ${String(err)}`);
|
|
521
|
-
try {
|
|
522
|
-
dockerWs.close();
|
|
523
|
-
}
|
|
524
|
-
catch { /* ignore */ }
|
|
525
502
|
ack({ ok: false, error: `Failed to connect relay WS: ${String(err)}` });
|
|
526
503
|
return;
|
|
527
504
|
}
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
// 'relay' = raw-binary over the relay WS (the original path), 'none' =
|
|
531
|
-
// still negotiating (buffer noVNC's opening bytes — x11vnc waits ~20s for
|
|
532
|
-
// the client handshake, which comfortably covers ICE).
|
|
533
|
-
let transport = supportsRtc ? 'none' : 'relay';
|
|
534
|
-
let rtc = null;
|
|
535
|
-
const earlyDockerMsgs = [];
|
|
505
|
+
const entry = { relayWs };
|
|
506
|
+
screenConnections.set(channelId, entry);
|
|
536
507
|
let relayOpen = false;
|
|
508
|
+
const earlyFrames = [];
|
|
537
509
|
const cleanupScreen = (reason) => {
|
|
538
|
-
|
|
539
|
-
if (!entry)
|
|
510
|
+
if (!screenConnections.has(channelId))
|
|
540
511
|
return;
|
|
541
512
|
screenConnections.delete(channelId);
|
|
542
513
|
try {
|
|
543
|
-
|
|
514
|
+
entry.cdp?.close();
|
|
544
515
|
}
|
|
545
516
|
catch { /* ignore */ }
|
|
546
517
|
try {
|
|
547
|
-
if (
|
|
548
|
-
|
|
549
|
-
}
|
|
550
|
-
catch { /* ignore */ }
|
|
551
|
-
try {
|
|
552
|
-
if (entry.relayWs.readyState !== 3 /* CLOSED */)
|
|
553
|
-
entry.relayWs.close();
|
|
518
|
+
if (relayWs.readyState !== 3 /* CLOSED */)
|
|
519
|
+
relayWs.close();
|
|
554
520
|
}
|
|
555
521
|
catch { /* ignore */ }
|
|
556
522
|
log?.info(`[gateway] sandbox-screen: closed channelId=${channelId} reason=${reason}`);
|
|
557
523
|
};
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
}
|
|
565
|
-
earlyDockerMsgs.length = 0;
|
|
524
|
+
// CDP JPEG frame (binary) / dimensions (text) → viewer over the relay.
|
|
525
|
+
const sendToViewer = (data) => {
|
|
526
|
+
if (relayOpen && relayWs.readyState === 1 /* OPEN */)
|
|
527
|
+
relayWs.send(data);
|
|
528
|
+
else if (typeof data !== 'string')
|
|
529
|
+
earlyFrames.push(data);
|
|
566
530
|
};
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
}
|
|
579
|
-
catch { /* ignore */ } },
|
|
580
|
-
onActive: () => {
|
|
581
|
-
transport = 'rtc';
|
|
582
|
-
log?.info(`[gateway] sandbox-screen: P2P DataChannel active channelId=${channelId}`);
|
|
583
|
-
for (const m of earlyDockerMsgs)
|
|
584
|
-
rtc?.sendToViewer(m);
|
|
585
|
-
earlyDockerMsgs.length = 0;
|
|
586
|
-
},
|
|
587
|
-
onClosed: () => { },
|
|
588
|
-
log: { info: (m) => log?.info(m), warn: (m) => log?.warn(m) },
|
|
589
|
-
});
|
|
590
|
-
if (!rtc)
|
|
591
|
-
transport = 'relay'; // werift unavailable → straight to relay
|
|
592
|
-
}
|
|
593
|
-
dockerWs.on("open", () => {
|
|
594
|
-
// Disable Nagle so small RFB messages aren't batched behind ACKs.
|
|
595
|
-
try {
|
|
596
|
-
dockerWs._socket?.setNoDelay?.(true);
|
|
531
|
+
// Drive Chromium's CDP screencast (async target discovery + WS).
|
|
532
|
+
createCdpScreencast({
|
|
533
|
+
host: cdpHost,
|
|
534
|
+
port: cdpPort,
|
|
535
|
+
onFrame: (jpeg) => sendToViewer(jpeg),
|
|
536
|
+
onMeta: (m) => sendToViewer(JSON.stringify({ type: 'dimensions', width: m.width, height: m.height })),
|
|
537
|
+
log: { info: (m) => log?.info(m), warn: (m) => log?.warn(m) },
|
|
538
|
+
}).then((session) => {
|
|
539
|
+
if (!session) {
|
|
540
|
+
cleanupScreen('cdp-init-failed');
|
|
541
|
+
return;
|
|
597
542
|
}
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
543
|
+
if (!screenConnections.has(channelId)) {
|
|
544
|
+
session.close();
|
|
545
|
+
return;
|
|
546
|
+
} // closed during init
|
|
547
|
+
entry.cdp = session;
|
|
548
|
+
log?.info(`[gateway] sandbox-screen: CDP screencast started channelId=${channelId} (${cdpHost}:${cdpPort})`);
|
|
549
|
+
}).catch((err) => { log?.warn(`[gateway] sandbox-screen: CDP init error ${String(err)}`); cleanupScreen('cdp-error'); });
|
|
601
550
|
relayWs.on("open", () => {
|
|
602
|
-
// Disable Nagle on the WAN leg to the server (lower input latency).
|
|
603
551
|
try {
|
|
604
552
|
relayWs._socket?.setNoDelay?.(true);
|
|
605
553
|
}
|
|
606
554
|
catch { /* ignore */ }
|
|
607
555
|
log?.info(`[gateway] sandbox-screen: relay WS connected channelId=${channelId}`);
|
|
608
556
|
relayOpen = true;
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
try {
|
|
613
|
-
relayWs.send(JSON.stringify({ type: 'rtc-ready' }));
|
|
614
|
-
}
|
|
615
|
-
catch { /* ignore */ }
|
|
616
|
-
}
|
|
617
|
-
// Pure-relay viewer (old / no werift): start piping VNC immediately.
|
|
618
|
-
if (transport === 'relay')
|
|
619
|
-
flushToRelay();
|
|
620
|
-
});
|
|
621
|
-
// Docker noVNC → viewer: route to whichever transport won.
|
|
622
|
-
dockerWs.on("message", (data) => {
|
|
623
|
-
const buf = Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
624
|
-
if (transport === 'rtc') {
|
|
625
|
-
rtc?.sendToViewer(buf);
|
|
626
|
-
}
|
|
627
|
-
else if (transport === 'relay' && relayOpen && relayWs.readyState === 1 /* OPEN */) {
|
|
628
|
-
relayWs.send(buf);
|
|
629
|
-
}
|
|
630
|
-
else {
|
|
631
|
-
earlyDockerMsgs.push(buf); // still choosing, or relay not open yet
|
|
557
|
+
for (const f of earlyFrames) {
|
|
558
|
+
if (relayWs.readyState === 1)
|
|
559
|
+
relayWs.send(f);
|
|
632
560
|
}
|
|
561
|
+
earlyFrames.length = 0;
|
|
633
562
|
});
|
|
634
|
-
// Viewer →
|
|
635
|
-
//
|
|
563
|
+
// Viewer → gateway: takeover input as JSON {type:'input'|'viewport-size'}.
|
|
564
|
+
// (Binary input from encodeBinaryInput is handled in a follow-up.)
|
|
636
565
|
relayWs.on("message", (data, isBinary) => {
|
|
637
|
-
if (
|
|
638
|
-
const text = (Buffer.isBuffer(data) ? data : Buffer.from(data)).toString();
|
|
639
|
-
if (text.includes('"rtc-fallback"')) {
|
|
640
|
-
// Viewer gave up on P2P → commit to the relay and release the buffer.
|
|
641
|
-
transport = 'relay';
|
|
642
|
-
flushToRelay();
|
|
643
|
-
return;
|
|
644
|
-
}
|
|
645
|
-
rtc.handleSignaling(text);
|
|
566
|
+
if (isBinary)
|
|
646
567
|
return;
|
|
568
|
+
try {
|
|
569
|
+
const msg = JSON.parse((Buffer.isBuffer(data) ? data : Buffer.from(data)).toString());
|
|
570
|
+
if (msg.type === 'input')
|
|
571
|
+
entry.cdp?.handleInput(msg);
|
|
572
|
+
else if (msg.type === 'viewport-size')
|
|
573
|
+
entry.cdp?.resize(Number(msg.width), Number(msg.height));
|
|
647
574
|
}
|
|
648
|
-
|
|
649
|
-
dockerWs.send(Buffer.isBuffer(data) ? data : Buffer.from(data));
|
|
650
|
-
}
|
|
575
|
+
catch { /* ignore */ }
|
|
651
576
|
});
|
|
652
|
-
dockerWs.on("close", () => cleanupScreen('docker-ws-close'));
|
|
653
|
-
dockerWs.on("error", (err) => cleanupScreen(`docker-ws-error(${err.message})`));
|
|
654
577
|
relayWs.on("close", () => cleanupScreen('relay-ws-close'));
|
|
655
578
|
relayWs.on("error", (err) => cleanupScreen(`relay-ws-error(${err.message})`));
|
|
656
579
|
ack({ ok: true });
|
|
@@ -847,7 +770,7 @@ export async function startGatewayMode(options) {
|
|
|
847
770
|
return;
|
|
848
771
|
screenConnections.delete(channelId);
|
|
849
772
|
try {
|
|
850
|
-
if (entry.dockerWs.readyState !== 3 /* CLOSED */)
|
|
773
|
+
if (entry.dockerWs && entry.dockerWs.readyState !== 3 /* CLOSED */)
|
|
851
774
|
entry.dockerWs.close();
|
|
852
775
|
}
|
|
853
776
|
catch { /* ignore */ }
|
|
@@ -1046,7 +969,11 @@ export async function startGatewayMode(options) {
|
|
|
1046
969
|
sock.on("disconnect", () => {
|
|
1047
970
|
for (const [, entry] of screenConnections) {
|
|
1048
971
|
try {
|
|
1049
|
-
|
|
972
|
+
entry.cdp?.close();
|
|
973
|
+
}
|
|
974
|
+
catch { /* ignore */ }
|
|
975
|
+
try {
|
|
976
|
+
if (entry.dockerWs && entry.dockerWs.readyState !== 3)
|
|
1050
977
|
entry.dockerWs.close();
|
|
1051
978
|
}
|
|
1052
979
|
catch { /* ignore */ }
|
package/dist/src/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface CdpScreencast {
|
|
2
|
+
/** Forward one viewer input event (the app's `native` `{type:'input',...}`). */
|
|
3
|
+
handleInput: (data: Record<string, unknown>) => void;
|
|
4
|
+
/** Match the screencast resolution to the viewer's viewport (adaptive). */
|
|
5
|
+
resize: (width: number, height: number) => void;
|
|
6
|
+
close: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface CdpScreencastOptions {
|
|
9
|
+
host: string;
|
|
10
|
+
port: number;
|
|
11
|
+
onFrame: (jpeg: Buffer) => void;
|
|
12
|
+
onMeta?: (m: {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}) => void;
|
|
16
|
+
quality?: number;
|
|
17
|
+
minIntervalMs?: number;
|
|
18
|
+
log?: {
|
|
19
|
+
info?: (m: string) => void;
|
|
20
|
+
warn?: (m: string) => void;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare function createCdpScreencast(opts: CdpScreencastOptions): Promise<CdpScreencast | null>;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDP-screencast source for the bot computer view (Manus-style).
|
|
3
|
+
*
|
|
4
|
+
* Replaces the old VNC stack (Xvfb + x11vnc + websockify + noVNC). Instead of an
|
|
5
|
+
* RFB pixel stream, we drive Chromium's DevTools Protocol `Page.startScreencast`,
|
|
6
|
+
* which emits the page viewport as self-contained JPEG frames — exactly what the
|
|
7
|
+
* Manus / Browserbase / Steel agent-browsers stream. Frames are STATELESS (a
|
|
8
|
+
* dropped/late frame just skips), so they render cleanly over BOTH the relay and a
|
|
9
|
+
* WebRTC DataChannel — unlike the stateful RFB handshake, which stalled over P2P.
|
|
10
|
+
*
|
|
11
|
+
* The viewer renders frames on a canvas (the app's existing `native` JPEG mode) and
|
|
12
|
+
* sends input back; we dispatch that input via CDP `Input.*` for takeover.
|
|
13
|
+
*
|
|
14
|
+
* CDP reachability: Chromium rejects DevTools HTTP/WS whose Host header isn't an IP
|
|
15
|
+
* or `localhost`, so we spoof `Host: localhost` when reaching the browser container
|
|
16
|
+
* over the docker network (verified working — no `--remote-allow-origins` needed; a
|
|
17
|
+
* header-less ws client passes the origin check).
|
|
18
|
+
*/
|
|
19
|
+
import http from "node:http";
|
|
20
|
+
/** GET a CDP HTTP endpoint with a spoofed localhost Host header. */
|
|
21
|
+
function cdpGet(host, port, path) {
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
const req = http.request({ host, port, path, headers: { Host: "localhost" }, timeout: 5000 }, (res) => {
|
|
24
|
+
let body = "";
|
|
25
|
+
res.on("data", (c) => (body += c));
|
|
26
|
+
res.on("end", () => resolve(body));
|
|
27
|
+
});
|
|
28
|
+
req.on("error", reject);
|
|
29
|
+
req.on("timeout", () => { req.destroy(new Error("cdp http timeout")); });
|
|
30
|
+
req.end();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export async function createCdpScreencast(opts) {
|
|
34
|
+
const { host, port } = opts;
|
|
35
|
+
let pageWsPath;
|
|
36
|
+
try {
|
|
37
|
+
const json = await cdpGet(host, port, "/json");
|
|
38
|
+
const targets = JSON.parse(json);
|
|
39
|
+
const page = targets.find((t) => t.type === "page" && t.webSocketDebuggerUrl);
|
|
40
|
+
if (!page?.webSocketDebuggerUrl) {
|
|
41
|
+
opts.log?.warn?.("[sandbox-cdp] no page target");
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
// webSocketDebuggerUrl is ws://localhost/devtools/page/<id> (Host we spoofed) —
|
|
45
|
+
// keep only the path and dial the real container host.
|
|
46
|
+
pageWsPath = new URL(page.webSocketDebuggerUrl).pathname;
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
opts.log?.warn?.(`[sandbox-cdp] target discovery failed: ${String(err)}`);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
const WsModule = await import("ws");
|
|
53
|
+
const WS = (WsModule.default ?? WsModule);
|
|
54
|
+
const ws = new WS(`ws://${host}:${port}${pageWsPath}`, { headers: { Host: "localhost" } });
|
|
55
|
+
ws.binaryType = "arraybuffer";
|
|
56
|
+
let cmdId = 1;
|
|
57
|
+
let closed = false;
|
|
58
|
+
const quality = opts.quality ?? 55;
|
|
59
|
+
const minIntervalMs = opts.minIntervalMs ?? 60; // ~16fps ceiling; self-paces below
|
|
60
|
+
const send = (method, params) => {
|
|
61
|
+
const id = cmdId++;
|
|
62
|
+
if (!closed && ws.readyState === 1) {
|
|
63
|
+
try {
|
|
64
|
+
ws.send(JSON.stringify({ id, method, params }));
|
|
65
|
+
}
|
|
66
|
+
catch { /* ignore */ }
|
|
67
|
+
}
|
|
68
|
+
return id;
|
|
69
|
+
};
|
|
70
|
+
// Frame source: POLL Page.captureScreenshot. Page.startScreencast is unreliable on
|
|
71
|
+
// a headed Xvfb/--disable-gpu Chromium (the compositor barely ticks → ~0.5fps), but
|
|
72
|
+
// captureScreenshot FORCES a frame each call (~25fps achievable). Sequential
|
|
73
|
+
// (send the next only after each reply) + a min interval self-paces and caps CPU.
|
|
74
|
+
let shotId = -1;
|
|
75
|
+
let shotStartedAt = 0;
|
|
76
|
+
const poll = () => {
|
|
77
|
+
if (closed)
|
|
78
|
+
return;
|
|
79
|
+
shotStartedAt = Date.now();
|
|
80
|
+
shotId = send("Page.captureScreenshot", { format: "jpeg", quality });
|
|
81
|
+
};
|
|
82
|
+
const scheduleNext = () => {
|
|
83
|
+
if (closed)
|
|
84
|
+
return;
|
|
85
|
+
setTimeout(poll, Math.max(0, minIntervalMs - (Date.now() - shotStartedAt)));
|
|
86
|
+
};
|
|
87
|
+
ws.on("open", () => {
|
|
88
|
+
opts.log?.info?.("[sandbox-cdp] CDP connected — capturing frames");
|
|
89
|
+
send("Page.enable");
|
|
90
|
+
poll();
|
|
91
|
+
});
|
|
92
|
+
ws.on("message", (raw) => {
|
|
93
|
+
let msg;
|
|
94
|
+
try {
|
|
95
|
+
msg = JSON.parse(typeof raw === "string" ? raw : Buffer.from(raw).toString());
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (msg.id === shotId) {
|
|
101
|
+
const data = msg.result?.data;
|
|
102
|
+
if (data && !closed)
|
|
103
|
+
opts.onFrame(Buffer.from(data, "base64"));
|
|
104
|
+
scheduleNext(); // keep the stream alive whether or not this shot returned data
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
ws.on("error", (err) => opts.log?.warn?.(`[sandbox-cdp] ws error: ${err.message}`));
|
|
108
|
+
// Mouse buttons: CDP wants "left"/"middle"/"right"/"none".
|
|
109
|
+
const MOUSE_BUTTON = ["left", "middle", "right"];
|
|
110
|
+
return {
|
|
111
|
+
handleInput: (data) => {
|
|
112
|
+
if (closed)
|
|
113
|
+
return;
|
|
114
|
+
const action = String(data.action ?? data.type ?? "");
|
|
115
|
+
const x = Number(data.x ?? 0), y = Number(data.y ?? 0);
|
|
116
|
+
if (action === "mousemove" || action === "move") {
|
|
117
|
+
send("Input.dispatchMouseEvent", { type: "mouseMoved", x, y });
|
|
118
|
+
}
|
|
119
|
+
else if (action === "mousedown" || action === "down") {
|
|
120
|
+
const b = MOUSE_BUTTON[Number(data.button ?? 0)] ?? "left";
|
|
121
|
+
send("Input.dispatchMouseEvent", { type: "mousePressed", x, y, button: b, buttons: 1, clickCount: 1 });
|
|
122
|
+
}
|
|
123
|
+
else if (action === "mouseup" || action === "up") {
|
|
124
|
+
const b = MOUSE_BUTTON[Number(data.button ?? 0)] ?? "left";
|
|
125
|
+
send("Input.dispatchMouseEvent", { type: "mouseReleased", x, y, button: b, buttons: 0, clickCount: 1 });
|
|
126
|
+
}
|
|
127
|
+
else if (action === "scroll" || action === "wheel") {
|
|
128
|
+
send("Input.dispatchMouseEvent", { type: "mouseWheel", x, y, deltaX: Number(data.deltaX ?? data.dx ?? 0), deltaY: Number(data.deltaY ?? data.delta ?? data.dy ?? 0) });
|
|
129
|
+
}
|
|
130
|
+
else if (action === "keydown") {
|
|
131
|
+
send("Input.dispatchKeyEvent", { type: "keyDown", key: String(data.key ?? ""), code: String(data.code ?? ""), text: typeof data.text === "string" ? data.text : undefined });
|
|
132
|
+
}
|
|
133
|
+
else if (action === "keyup") {
|
|
134
|
+
send("Input.dispatchKeyEvent", { type: "keyUp", key: String(data.key ?? ""), code: String(data.code ?? "") });
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
resize: (width, height) => {
|
|
138
|
+
if (closed || !width || !height)
|
|
139
|
+
return;
|
|
140
|
+
// Match the page viewport to the viewer so captureScreenshot frames have the
|
|
141
|
+
// right aspect (adaptive resolution).
|
|
142
|
+
const w = Math.min(Math.max(Math.round(width), 320), 1920);
|
|
143
|
+
const h = Math.min(Math.max(Math.round(height), 240), 1200);
|
|
144
|
+
send("Emulation.setDeviceMetricsOverride", { width: w, height: h, deviceScaleFactor: 1, mobile: false });
|
|
145
|
+
},
|
|
146
|
+
close: () => {
|
|
147
|
+
closed = true;
|
|
148
|
+
try {
|
|
149
|
+
send("Page.stopScreencast");
|
|
150
|
+
}
|
|
151
|
+
catch { /* ignore */ }
|
|
152
|
+
try {
|
|
153
|
+
ws.close();
|
|
154
|
+
}
|
|
155
|
+
catch { /* ignore */ }
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=sandboxScreenCdp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandboxScreenCdp.js","sourceRoot":"","sources":["../../src/sandboxScreenCdp.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,23 +73,32 @@ export function createSandboxRtcSession(opts) {
|
|
|
73
73
|
});
|
|
74
74
|
pc.onDataChannel.subscribe((channel) => {
|
|
75
75
|
dc = channel;
|
|
76
|
+
opts.log?.info?.(`[sandbox-rtc] onDataChannel readyState=${channel.readyState}`);
|
|
76
77
|
channel.onMessage.subscribe((msg) => {
|
|
77
78
|
if (closed)
|
|
78
79
|
return;
|
|
79
80
|
opts.onData(Buffer.isBuffer(msg) ? msg : Buffer.from(msg));
|
|
80
81
|
});
|
|
82
|
+
const markOpen = () => {
|
|
83
|
+
if (active || closed)
|
|
84
|
+
return;
|
|
85
|
+
active = true;
|
|
86
|
+
opts.log?.info?.("[sandbox-rtc] DataChannel open — P2P carrying VNC");
|
|
87
|
+
opts.onActive();
|
|
88
|
+
};
|
|
81
89
|
channel.stateChanged.subscribe((state) => {
|
|
82
|
-
if (state === "open")
|
|
83
|
-
|
|
84
|
-
opts.log?.info?.("[sandbox-rtc] DataChannel open — P2P carrying VNC");
|
|
85
|
-
opts.onActive();
|
|
86
|
-
}
|
|
90
|
+
if (state === "open")
|
|
91
|
+
markOpen();
|
|
87
92
|
else if (state === "closed") {
|
|
88
93
|
active = false;
|
|
89
94
|
if (!closed)
|
|
90
95
|
opts.onClosed();
|
|
91
96
|
}
|
|
92
97
|
});
|
|
98
|
+
// werift may hand over an ALREADY-open channel (more likely over the slower
|
|
99
|
+
// TURN-relayed path) — stateChanged won't re-fire 'open', so check now.
|
|
100
|
+
if (channel.readyState === "open")
|
|
101
|
+
markOpen();
|
|
93
102
|
});
|
|
94
103
|
async function handleOffer(sdp) {
|
|
95
104
|
await pc.setRemoteDescription({ type: "offer", sdp });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxScreenRtc.js","sourceRoot":"","sources":["../../src/sandboxScreenRtc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,IAAI,YAAqB,CAAC;AAC1B,SAAS,SAAS;IAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,YAAmB,CAAC;AAC7B,CAAC;AA2BD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAuB;IAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,gDAAgD,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM;QAC1D,CAAC,CAAC,IAAI,CAAC,UAAU;QACjB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAE/C,IAAI,EAAO,CAAC;IACZ,IAAI,EAAE,GAAQ,IAAI,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,wCAAwC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,SAAc,EAAE,EAAE;QAC7C,IAAI,CAAC,SAAS,IAAI,MAAM;YAAE,OAAO;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;gBACxB,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;gBAChC,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,IAAI;aAC/C,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;QACnD,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAY,EAAE,EAAE;QAC1C,EAAE,GAAG,OAAO,CAAC;QACb,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvC,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"sandboxScreenRtc.js","sourceRoot":"","sources":["../../src/sandboxScreenRtc.ts"],"names":[],"mappings":"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"}
|