clearcote 0.38.0 → 0.38.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/cdpws.d.ts +11 -0
- package/dist/cdpws.d.ts.map +1 -0
- package/dist/cdpws.js +208 -0
- package/dist/cdpws.js.map +1 -0
- package/dist/geometry.d.ts +17 -9
- package/dist/geometry.d.ts.map +1 -1
- package/dist/geometry.js +77 -94
- package/dist/geometry.js.map +1 -1
- package/dist/index.d.ts +35 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +185 -63
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cdpws.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** One browser-level CDP WebSocket. `send()` resolves with its own reply; events are dropped. */
|
|
2
|
+
export interface CdpConnection {
|
|
3
|
+
send(method: string, params?: Record<string, unknown>, sessionId?: string): Promise<Record<string, unknown>>;
|
|
4
|
+
close(): void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Open a CDP WebSocket (ws:// or wss://). Rejects when the endpoint refuses the upgrade or does not
|
|
8
|
+
* answer within `timeoutMs`; each `send()` gets the same budget for its reply.
|
|
9
|
+
*/
|
|
10
|
+
export declare function connectCdp(wsUrl: string, timeoutMs: number): Promise<CdpConnection>;
|
|
11
|
+
//# sourceMappingURL=cdpws.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdpws.d.ts","sourceRoot":"","sources":["../src/cdpws.ts"],"names":[],"mappings":"AAeA,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7G,KAAK,IAAI,IAAI,CAAC;CACf;AA4BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA+InF"}
|
package/dist/cdpws.js
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
// A minimal CDP client over a WebSocket, on Node's standard library only. Port of the Python SDK's
|
|
2
|
+
// `_cdpws.py`.
|
|
3
|
+
//
|
|
4
|
+
// serve() launches the engine itself, so there is no Playwright connection to borrow, and Node only
|
|
5
|
+
// has a global WebSocket from 22 on while the SDK supports 20. The headless window fit used to ride
|
|
6
|
+
// on that global, so on Node 20 it was silently skipped: the browser got its display but kept the
|
|
7
|
+
// engine's default window, about 1000px wide inside a 1920px screen. What the fit needs is small: a
|
|
8
|
+
// handful of request/response calls on the browser endpoint (flat sessions for the one page it
|
|
9
|
+
// reads), text frames only, never a subscription. That is all this implements, deliberately not a
|
|
10
|
+
// general client.
|
|
11
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
12
|
+
import net from "node:net";
|
|
13
|
+
import tls from "node:tls";
|
|
14
|
+
const WS_GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|
15
|
+
const OP_CONTINUATION = 0x0, OP_TEXT = 0x1, OP_BINARY = 0x2, OP_CLOSE = 0x8, OP_PING = 0x9, OP_PONG = 0xa;
|
|
16
|
+
/** A client frame: FIN set, payload masked (RFC 6455 5.3 requires it of clients). */
|
|
17
|
+
function frame(opcode, payload) {
|
|
18
|
+
const n = payload.length;
|
|
19
|
+
let head;
|
|
20
|
+
if (n < 126) {
|
|
21
|
+
head = Buffer.from([0x80 | opcode, 0x80 | n]);
|
|
22
|
+
}
|
|
23
|
+
else if (n < 65536) {
|
|
24
|
+
head = Buffer.alloc(4);
|
|
25
|
+
head[0] = 0x80 | opcode;
|
|
26
|
+
head[1] = 0x80 | 126;
|
|
27
|
+
head.writeUInt16BE(n, 2);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
head = Buffer.alloc(10);
|
|
31
|
+
head[0] = 0x80 | opcode;
|
|
32
|
+
head[1] = 0x80 | 127;
|
|
33
|
+
head.writeBigUInt64BE(BigInt(n), 2);
|
|
34
|
+
}
|
|
35
|
+
const mask = randomBytes(4);
|
|
36
|
+
const masked = Buffer.alloc(n);
|
|
37
|
+
for (let i = 0; i < n; i++)
|
|
38
|
+
masked[i] = payload[i] ^ mask[i & 3];
|
|
39
|
+
return Buffer.concat([head, mask, masked]);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Open a CDP WebSocket (ws:// or wss://). Rejects when the endpoint refuses the upgrade or does not
|
|
43
|
+
* answer within `timeoutMs`; each `send()` gets the same budget for its reply.
|
|
44
|
+
*/
|
|
45
|
+
export function connectCdp(wsUrl, timeoutMs) {
|
|
46
|
+
return new Promise((resolveOpen, rejectOpen) => {
|
|
47
|
+
let u;
|
|
48
|
+
try {
|
|
49
|
+
u = new URL(wsUrl);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return rejectOpen(new Error(`expected a ws:// CDP URL, got ${JSON.stringify(wsUrl)}`));
|
|
53
|
+
}
|
|
54
|
+
if ((u.protocol !== "ws:" && u.protocol !== "wss:") || !u.hostname) {
|
|
55
|
+
return rejectOpen(new Error(`expected a ws:// CDP URL, got ${JSON.stringify(wsUrl)}`));
|
|
56
|
+
}
|
|
57
|
+
const secure = u.protocol === "wss:";
|
|
58
|
+
const host = u.hostname.replace(/^\[(.*)\]$/, "$1"); // an IPv6 literal comes bracketed
|
|
59
|
+
const port = Number(u.port) || (secure ? 443 : 80);
|
|
60
|
+
const key = randomBytes(16).toString("base64");
|
|
61
|
+
const accept = createHash("sha1").update(key + WS_GUID).digest("base64");
|
|
62
|
+
let open = false;
|
|
63
|
+
let closed = false;
|
|
64
|
+
let buf = Buffer.alloc(0);
|
|
65
|
+
let parts = [];
|
|
66
|
+
let next = 0;
|
|
67
|
+
const pending = new Map();
|
|
68
|
+
const sock = secure
|
|
69
|
+
? tls.connect({ host, port, servername: net.isIP(host) ? undefined : host })
|
|
70
|
+
: net.connect({ host, port });
|
|
71
|
+
const openTimer = setTimeout(() => fail(new Error("CDP connect timed out")), timeoutMs);
|
|
72
|
+
/** End the connection once: settle everything still waiting, then let the socket go. */
|
|
73
|
+
function fail(err, closeFrame) {
|
|
74
|
+
if (closed)
|
|
75
|
+
return;
|
|
76
|
+
closed = true;
|
|
77
|
+
clearTimeout(openTimer);
|
|
78
|
+
if (closeFrame) {
|
|
79
|
+
// Flush the close frame before letting go; an endpoint that never answers it is cut off.
|
|
80
|
+
sock.end(closeFrame);
|
|
81
|
+
setTimeout(() => sock.destroy(), 1000).unref();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
sock.destroy();
|
|
85
|
+
}
|
|
86
|
+
if (!open)
|
|
87
|
+
rejectOpen(err);
|
|
88
|
+
for (const p of pending.values())
|
|
89
|
+
p.reject(err);
|
|
90
|
+
pending.clear();
|
|
91
|
+
}
|
|
92
|
+
function onMessage(text) {
|
|
93
|
+
let m;
|
|
94
|
+
try {
|
|
95
|
+
m = JSON.parse(text);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const p = m.id === undefined ? undefined : pending.get(m.id);
|
|
101
|
+
if (!p)
|
|
102
|
+
return; // an event, or a stale reply: this client subscribes to nothing
|
|
103
|
+
pending.delete(m.id);
|
|
104
|
+
if (m.error)
|
|
105
|
+
p.reject(new Error(m.error.message ?? JSON.stringify(m.error)));
|
|
106
|
+
else
|
|
107
|
+
p.resolve(m.result ?? {});
|
|
108
|
+
}
|
|
109
|
+
/** Consume every complete frame in `buf` (fragments joined; pings answered). */
|
|
110
|
+
function readFrames() {
|
|
111
|
+
while (!closed && buf.length >= 2) {
|
|
112
|
+
const fin = buf[0] & 0x80, opcode = buf[0] & 0x0f, masked = buf[1] & 0x80;
|
|
113
|
+
let n = buf[1] & 0x7f;
|
|
114
|
+
let off = 2;
|
|
115
|
+
if (n === 126) {
|
|
116
|
+
if (buf.length < 4)
|
|
117
|
+
return;
|
|
118
|
+
n = buf.readUInt16BE(2);
|
|
119
|
+
off = 4;
|
|
120
|
+
}
|
|
121
|
+
else if (n === 127) {
|
|
122
|
+
if (buf.length < 10)
|
|
123
|
+
return;
|
|
124
|
+
n = Number(buf.readBigUInt64BE(2));
|
|
125
|
+
off = 10;
|
|
126
|
+
}
|
|
127
|
+
const mask = masked ? off : -1;
|
|
128
|
+
if (masked)
|
|
129
|
+
off += 4;
|
|
130
|
+
if (buf.length < off + n)
|
|
131
|
+
return;
|
|
132
|
+
let payload = buf.subarray(off, off + n);
|
|
133
|
+
if (mask >= 0)
|
|
134
|
+
payload = Buffer.from(payload.map((b, i) => b ^ buf[mask + (i & 3)]));
|
|
135
|
+
buf = buf.subarray(off + n);
|
|
136
|
+
if (opcode === OP_CLOSE)
|
|
137
|
+
return fail(new Error("CDP connection closed"));
|
|
138
|
+
if (opcode === OP_PING) {
|
|
139
|
+
sock.write(frame(OP_PONG, payload));
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (opcode === OP_PONG)
|
|
143
|
+
continue;
|
|
144
|
+
if (opcode === OP_TEXT || opcode === OP_BINARY || opcode === OP_CONTINUATION) {
|
|
145
|
+
parts.push(payload);
|
|
146
|
+
if (fin) {
|
|
147
|
+
const text = Buffer.concat(parts).toString("utf8");
|
|
148
|
+
parts = [];
|
|
149
|
+
onMessage(text);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/** The upgrade response: `101` and the accept hash RFC 6455 4.1 derives from our key. */
|
|
155
|
+
function readHandshake() {
|
|
156
|
+
const end = buf.indexOf("\r\n\r\n");
|
|
157
|
+
if (end < 0)
|
|
158
|
+
return;
|
|
159
|
+
const lines = buf.subarray(0, end).toString("latin1").split("\r\n");
|
|
160
|
+
buf = buf.subarray(end + 4);
|
|
161
|
+
if (!/^HTTP\/1\.[01] 101\b/.test(lines[0]))
|
|
162
|
+
return fail(new Error(`CDP WebSocket upgrade refused: ${lines[0]}`));
|
|
163
|
+
const line = lines.slice(1).find((l) => /^sec-websocket-accept:/i.test(l));
|
|
164
|
+
const got = line?.slice(line.indexOf(":") + 1).trim();
|
|
165
|
+
if (got !== accept)
|
|
166
|
+
return fail(new Error("CDP WebSocket upgrade answered with the wrong accept key"));
|
|
167
|
+
open = true;
|
|
168
|
+
clearTimeout(openTimer);
|
|
169
|
+
resolveOpen(connection);
|
|
170
|
+
readFrames();
|
|
171
|
+
}
|
|
172
|
+
const connection = {
|
|
173
|
+
send(method, params = {}, sessionId) {
|
|
174
|
+
return new Promise((resolve, reject) => {
|
|
175
|
+
if (closed)
|
|
176
|
+
return reject(new Error("CDP connection closed"));
|
|
177
|
+
const id = ++next;
|
|
178
|
+
const t = setTimeout(() => { pending.delete(id); reject(new Error(`${method} timed out`)); }, timeoutMs);
|
|
179
|
+
pending.set(id, {
|
|
180
|
+
resolve: (v) => { clearTimeout(t); resolve(v); },
|
|
181
|
+
reject: (e) => { clearTimeout(t); reject(e); },
|
|
182
|
+
});
|
|
183
|
+
sock.write(frame(OP_TEXT, Buffer.from(JSON.stringify({ id, method, params, ...(sessionId ? { sessionId } : {}) }))));
|
|
184
|
+
});
|
|
185
|
+
},
|
|
186
|
+
close() {
|
|
187
|
+
fail(new Error("CDP connection closed"), frame(OP_CLOSE, Buffer.from([0x03, 0xe8]))); // 1000: normal closure
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
sock.on(secure ? "secureConnect" : "connect", () => {
|
|
191
|
+
const path = (u.pathname || "/") + u.search;
|
|
192
|
+
sock.write(`GET ${path} HTTP/1.1\r\nHost: ${u.host}\r\nUpgrade: websocket\r\nConnection: Upgrade\r\n` +
|
|
193
|
+
`Sec-WebSocket-Key: ${key}\r\nSec-WebSocket-Version: 13\r\n\r\n`);
|
|
194
|
+
});
|
|
195
|
+
sock.on("data", (chunk) => {
|
|
196
|
+
if (closed)
|
|
197
|
+
return;
|
|
198
|
+
buf = buf.length ? Buffer.concat([buf, chunk]) : chunk;
|
|
199
|
+
if (open)
|
|
200
|
+
readFrames();
|
|
201
|
+
else
|
|
202
|
+
readHandshake();
|
|
203
|
+
});
|
|
204
|
+
sock.on("error", (err) => fail(new Error(`CDP connection failed: ${err.message}`)));
|
|
205
|
+
sock.on("close", () => fail(new Error("CDP connection closed")));
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=cdpws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdpws.js","sourceRoot":"","sources":["../src/cdpws.ts"],"names":[],"mappings":"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"}
|
package/dist/geometry.d.ts
CHANGED
|
@@ -86,13 +86,19 @@ export declare function applyHeadlessGeometry(opts: Record<string, unknown>, see
|
|
|
86
86
|
/**
|
|
87
87
|
* The bounds correction, given what the window reported after the first attempt.
|
|
88
88
|
*
|
|
89
|
-
* Requested bounds and reported outerHeight are not the same quantity: on 149 the window
|
|
90
|
-
* 33px less than the bounds height it was given,
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
89
|
+
* Requested bounds and reported outerHeight are not always the same quantity: on 149 the window
|
|
90
|
+
* reported 33px less than the bounds height it was given, and on 150 a persona's window does (33px in
|
|
91
|
+
* a launch, 89 in serve(); without a persona it reports the bounds exactly). Fitting bounds to the
|
|
92
|
+
* work area then lands short of maximized (real maximized captures have outer == avail). Rather than
|
|
93
|
+
* hardcode it, measure the shortfall and add it back — that self-tunes if the engine changes. Never
|
|
94
|
+
* asks for more than the shortfall.
|
|
95
|
+
*
|
|
96
|
+
* `room` is the space from the window's position to the work area's far edges. On an axis where the
|
|
97
|
+
* window is smaller than that, the correction never takes the bounds past the edge: only a window that
|
|
98
|
+
* fills the work area needs bounds beyond it (the persona engine then clamps the window to the work
|
|
99
|
+
* area), and an engine without a persona does not clamp at all.
|
|
94
100
|
*/
|
|
95
|
-
export declare function fitPlan(avail: number[], outer: number[]): [number, number] | null;
|
|
101
|
+
export declare function fitPlan(avail: number[], outer: number[], room?: readonly number[] | null): [number, number] | null;
|
|
96
102
|
/**
|
|
97
103
|
* Size the headless window to the display's work area — the persona's (regime 1) or the one
|
|
98
104
|
* `--screen-info` set (regime 2) — so the page reports a maximized window (outer == avail) instead
|
|
@@ -174,17 +180,19 @@ export interface ServedFit {
|
|
|
174
180
|
/**
|
|
175
181
|
* Put the served browser's first window on its display's work area (or `windowSize`, clamped into
|
|
176
182
|
* it); under a persona, first make the headless display the persona's own. Over the caller's CDP
|
|
177
|
-
* connection, on the first page target. Only Target/Emulation/Browser commands plus
|
|
178
|
-
* Runtime.evaluate (never Runtime.enable) on that page, and every change is browser-level, so
|
|
183
|
+
* connection, on the first page target. Only Target/Emulation/Browser commands plus
|
|
184
|
+
* Runtime.evaluate reads (never Runtime.enable) on that page, and every change is browser-level, so
|
|
179
185
|
* nothing lingers on the page when the connection closes.
|
|
180
186
|
*
|
|
181
187
|
* Returns null when it could not act (no page, an implausible persona display, or an engine without
|
|
182
188
|
* `Emulation.updateScreen` under a persona, whose window cannot outgrow 800x600 without it). Never
|
|
183
|
-
* throws: geometry must not be able to fail a launch.
|
|
189
|
+
* throws: geometry must not be able to fail a launch. `settleMs` bounds the wait for each resize to
|
|
190
|
+
* reach the page ({@link settledOuter}).
|
|
184
191
|
*/
|
|
185
192
|
export declare function fitWindowOverCdp(cdp: CdpSend, opts: {
|
|
186
193
|
persona: boolean;
|
|
187
194
|
windowSize?: Size | null;
|
|
195
|
+
settleMs?: number;
|
|
188
196
|
}): Promise<ServedFit | null>;
|
|
189
197
|
/** {@link fitWindowOverCdp} on the SDK's own short connection to a served browser. Never throws. */
|
|
190
198
|
export declare function fitServedWindow(wsUrl: string | undefined, opts: {
|
package/dist/geometry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"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"}
|
package/dist/geometry.js
CHANGED
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
*/
|
|
53
53
|
import { createHash } from "node:crypto";
|
|
54
54
|
import { gunzipSync } from "node:zlib";
|
|
55
|
+
import { connectCdp } from "./cdpws.js";
|
|
55
56
|
import { lightStealthScreen } from "./fingerprint.js";
|
|
56
57
|
/**
|
|
57
58
|
* The linux-x64 engine's window frame around an EMULATED viewport: outer = inner + (WIDTH, HEIGHT).
|
|
@@ -209,18 +210,75 @@ function bounds(width, height) {
|
|
|
209
210
|
/**
|
|
210
211
|
* The bounds correction, given what the window reported after the first attempt.
|
|
211
212
|
*
|
|
212
|
-
* Requested bounds and reported outerHeight are not the same quantity: on 149 the window
|
|
213
|
-
* 33px less than the bounds height it was given,
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
213
|
+
* Requested bounds and reported outerHeight are not always the same quantity: on 149 the window
|
|
214
|
+
* reported 33px less than the bounds height it was given, and on 150 a persona's window does (33px in
|
|
215
|
+
* a launch, 89 in serve(); without a persona it reports the bounds exactly). Fitting bounds to the
|
|
216
|
+
* work area then lands short of maximized (real maximized captures have outer == avail). Rather than
|
|
217
|
+
* hardcode it, measure the shortfall and add it back — that self-tunes if the engine changes. Never
|
|
218
|
+
* asks for more than the shortfall.
|
|
219
|
+
*
|
|
220
|
+
* `room` is the space from the window's position to the work area's far edges. On an axis where the
|
|
221
|
+
* window is smaller than that, the correction never takes the bounds past the edge: only a window that
|
|
222
|
+
* fills the work area needs bounds beyond it (the persona engine then clamps the window to the work
|
|
223
|
+
* area), and an engine without a persona does not clamp at all.
|
|
217
224
|
*/
|
|
218
|
-
export function fitPlan(avail, outer) {
|
|
225
|
+
export function fitPlan(avail, outer, room) {
|
|
219
226
|
const dw = avail[0] - outer[0];
|
|
220
227
|
const dh = avail[1] - outer[1];
|
|
221
228
|
if (dw <= 0 && dh <= 0)
|
|
222
229
|
return null;
|
|
223
|
-
|
|
230
|
+
const capped = (want, i) => (room && avail[i] < room[i] ? Math.min(want, room[i]) : want);
|
|
231
|
+
return [capped(avail[0] + Math.max(dw, 0), 0), capped(avail[1] + Math.max(dh, 0), 1)];
|
|
232
|
+
}
|
|
233
|
+
/** How long a window resize may take to reach the page before a read is taken as it stands. */
|
|
234
|
+
const SETTLE_MS = 1000;
|
|
235
|
+
const SETTLE_POLL_MS = 20;
|
|
236
|
+
const sameSize = (a, b) => a[0] === b[0] && a[1] === b[1];
|
|
237
|
+
/**
|
|
238
|
+
* Read `[outerWidth, outerHeight]` until it reflects the last `Browser.setWindowBounds`. The call
|
|
239
|
+
* returns before the page has the new window size, so a read straight after it can still report the
|
|
240
|
+
* previous one (measured on 150/linux-x64: for tens of milliseconds). Correcting from such a
|
|
241
|
+
* read once asked for 1440+495 px on a 1920 px screen. Settled means the asked-for size, or a size
|
|
242
|
+
* other than `before` that is still there one poll later; `settled` is false when neither happened
|
|
243
|
+
* within `timeoutMs`.
|
|
244
|
+
*/
|
|
245
|
+
async function settledOuter(read, before, want, timeoutMs = SETTLE_MS) {
|
|
246
|
+
const deadline = Date.now() + timeoutMs;
|
|
247
|
+
let outer = await read();
|
|
248
|
+
for (;;) {
|
|
249
|
+
if (sameSize(outer, want))
|
|
250
|
+
return { outer, settled: true };
|
|
251
|
+
if (Date.now() >= deadline)
|
|
252
|
+
return { outer, settled: false };
|
|
253
|
+
await new Promise((r) => setTimeout(r, SETTLE_POLL_MS));
|
|
254
|
+
const next = await read();
|
|
255
|
+
if (!sameSize(outer, before) && sameSize(next, outer))
|
|
256
|
+
return { outer, settled: true };
|
|
257
|
+
outer = next;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Give the window `target`, then correct what the engine reports (see {@link fitPlan}), on settled
|
|
262
|
+
* reads only: a correction is planned from a size the page has actually seen, and kept only when the
|
|
263
|
+
* page then sees a window no larger than `target`; otherwise the bounds go back to `target`. With no
|
|
264
|
+
* settled read there is nothing to correct from, and `target` lies inside the work area. Returns the
|
|
265
|
+
* last outer size read.
|
|
266
|
+
*/
|
|
267
|
+
async function fitWindow(setBounds, read, target, room, settleMs) {
|
|
268
|
+
const [w, h] = target;
|
|
269
|
+
const before = await read();
|
|
270
|
+
await setBounds(w, h);
|
|
271
|
+
const first = await settledOuter(read, before, target, settleMs);
|
|
272
|
+
const plan = first.settled ? fitPlan(target, first.outer, room) : null;
|
|
273
|
+
if (!plan)
|
|
274
|
+
return first.outer;
|
|
275
|
+
await setBounds(plan[0], plan[1]);
|
|
276
|
+
const fixed = await settledOuter(read, first.outer, plan, settleMs);
|
|
277
|
+
// Overshooting would trade one impossible geometry for another (outer > target).
|
|
278
|
+
if (fixed.settled && fixed.outer[0] <= w && fixed.outer[1] <= h)
|
|
279
|
+
return fixed.outer;
|
|
280
|
+
await setBounds(w, h);
|
|
281
|
+
return (await settledOuter(read, fixed.outer, target, settleMs)).outer;
|
|
224
282
|
}
|
|
225
283
|
/**
|
|
226
284
|
* Size the headless window to the display's work area — the persona's (regime 1) or the one
|
|
@@ -241,18 +299,7 @@ export async function fitWindowToWorkArea(page, args) {
|
|
|
241
299
|
return null;
|
|
242
300
|
const cdp = await page.context().newCDPSession(page);
|
|
243
301
|
const { windowId } = (await cdp.send("Browser.getWindowForTarget"));
|
|
244
|
-
await cdp.send("Browser.setWindowBounds", { windowId, bounds: bounds(avail[0], avail[1]
|
|
245
|
-
let outer = (await page.evaluate(OUTER_JS));
|
|
246
|
-
const plan = fitPlan(avail, outer);
|
|
247
|
-
if (plan) {
|
|
248
|
-
await cdp.send("Browser.setWindowBounds", { windowId, bounds: bounds(plan[0], plan[1]) });
|
|
249
|
-
outer = (await page.evaluate(OUTER_JS));
|
|
250
|
-
// Overshooting would trade one impossible geometry for another (outer > avail).
|
|
251
|
-
if (outer[0] > avail[0] || outer[1] > avail[1]) {
|
|
252
|
-
await cdp.send("Browser.setWindowBounds", { windowId, bounds: bounds(avail[0], avail[1]) });
|
|
253
|
-
outer = (await page.evaluate(OUTER_JS));
|
|
254
|
-
}
|
|
255
|
-
}
|
|
302
|
+
const outer = await fitWindow((w, h) => cdp.send("Browser.setWindowBounds", { windowId, bounds: bounds(w, h) }), async () => (await page.evaluate(OUTER_JS)), [avail[0], avail[1]], [avail[0], avail[1]], SETTLE_MS);
|
|
256
303
|
return [outer[0], outer[1]];
|
|
257
304
|
}
|
|
258
305
|
catch {
|
|
@@ -294,8 +341,7 @@ export function geometryIsCoherent(screen, avail, inner, outer) {
|
|
|
294
341
|
// fit runs on each context's first page. A raw endpoint has neither, and a CDP emulation override
|
|
295
342
|
// would not survive either, being scoped to the session that set it. What every
|
|
296
343
|
// target and every client of a served browser inherits is the headless DISPLAY and the real WINDOW,
|
|
297
|
-
// both browser-level. Untouched, measured on 153.0.8010.36/win-x64
|
|
298
|
-
// tools/probe-geometry.mjs):
|
|
344
|
+
// both browser-level. Untouched, measured on 153.0.8010.36/win-x64:
|
|
299
345
|
//
|
|
300
346
|
// no persona: screen 800x600 avail 800x600 outer 780x580 <- the headless surface
|
|
301
347
|
// no persona + --window-size=1440,900: outer 1440x900 on that 800x600 screen
|
|
@@ -379,13 +425,14 @@ const DISPLAY_JS = "[screen.width, screen.height, screen.availLeft, screen.avail
|
|
|
379
425
|
/**
|
|
380
426
|
* Put the served browser's first window on its display's work area (or `windowSize`, clamped into
|
|
381
427
|
* it); under a persona, first make the headless display the persona's own. Over the caller's CDP
|
|
382
|
-
* connection, on the first page target. Only Target/Emulation/Browser commands plus
|
|
383
|
-
* Runtime.evaluate (never Runtime.enable) on that page, and every change is browser-level, so
|
|
428
|
+
* connection, on the first page target. Only Target/Emulation/Browser commands plus
|
|
429
|
+
* Runtime.evaluate reads (never Runtime.enable) on that page, and every change is browser-level, so
|
|
384
430
|
* nothing lingers on the page when the connection closes.
|
|
385
431
|
*
|
|
386
432
|
* Returns null when it could not act (no page, an implausible persona display, or an engine without
|
|
387
433
|
* `Emulation.updateScreen` under a persona, whose window cannot outgrow 800x600 without it). Never
|
|
388
|
-
* throws: geometry must not be able to fail a launch.
|
|
434
|
+
* throws: geometry must not be able to fail a launch. `settleMs` bounds the wait for each resize to
|
|
435
|
+
* reach the page ({@link settledOuter}).
|
|
389
436
|
*/
|
|
390
437
|
export async function fitWindowOverCdp(cdp, opts) {
|
|
391
438
|
let sessionId;
|
|
@@ -417,19 +464,9 @@ export async function fitWindowOverCdp(cdp, opts) {
|
|
|
417
464
|
const top = at + Math.min(10, ah - h);
|
|
418
465
|
const { windowId } = (await cdp.send("Browser.getWindowForTarget", { targetId: page.targetId }));
|
|
419
466
|
const setBounds = (bw, bh) => cdp.send("Browser.setWindowBounds", { windowId, bounds: { left, top, width: Math.round(bw), height: Math.round(bh) } });
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
// given gets the shortfall added back, and an overshoot is reverted.
|
|
424
|
-
const plan = fitPlan([w, h], outer);
|
|
425
|
-
if (plan) {
|
|
426
|
-
await setBounds(plan[0], plan[1]);
|
|
427
|
-
outer = await read(OUTER_JS);
|
|
428
|
-
if (outer[0] > w || outer[1] > h) {
|
|
429
|
-
await setBounds(w, h);
|
|
430
|
-
outer = await read(OUTER_JS);
|
|
431
|
-
}
|
|
432
|
-
}
|
|
467
|
+
// Same as fitWindowToWorkArea: an engine that reports less than the bounds it was given gets the
|
|
468
|
+
// shortfall added back, an overshoot is reverted, and only settled reads count.
|
|
469
|
+
const outer = await fitWindow(setBounds, () => read(OUTER_JS), [w, h], [al + aw - left, at + ah - top], opts.settleMs ?? SETTLE_MS);
|
|
433
470
|
return { display: { width: sw, height: sh, availWidth: aw, availHeight: ah }, outer: [outer[0], outer[1]] };
|
|
434
471
|
}
|
|
435
472
|
catch {
|
|
@@ -440,69 +477,15 @@ export async function fitWindowOverCdp(cdp, opts) {
|
|
|
440
477
|
await cdp.send("Target.detachFromTarget", { sessionId }).catch(() => { });
|
|
441
478
|
}
|
|
442
479
|
}
|
|
443
|
-
/** A minimal CDP client on Node's built-in WebSocket (Node 22+), or null where there is none. */
|
|
444
|
-
async function openCdp(wsUrl, timeoutMs) {
|
|
445
|
-
const WS = globalThis.WebSocket;
|
|
446
|
-
if (!WS)
|
|
447
|
-
return null;
|
|
448
|
-
const ws = new WS(wsUrl);
|
|
449
|
-
await new Promise((resolve, reject) => {
|
|
450
|
-
const t = setTimeout(() => reject(new Error("CDP connect timed out")), timeoutMs);
|
|
451
|
-
ws.onopen = () => { clearTimeout(t); resolve(); };
|
|
452
|
-
ws.onerror = () => { clearTimeout(t); reject(new Error("CDP connect failed")); };
|
|
453
|
-
});
|
|
454
|
-
let next = 0;
|
|
455
|
-
const pending = new Map();
|
|
456
|
-
ws.onmessage = (ev) => {
|
|
457
|
-
let m;
|
|
458
|
-
try {
|
|
459
|
-
m = JSON.parse(String(ev.data));
|
|
460
|
-
}
|
|
461
|
-
catch {
|
|
462
|
-
return;
|
|
463
|
-
}
|
|
464
|
-
const p = m.id === undefined ? undefined : pending.get(m.id);
|
|
465
|
-
if (!p)
|
|
466
|
-
return;
|
|
467
|
-
pending.delete(m.id);
|
|
468
|
-
if (m.error)
|
|
469
|
-
p.reject(new Error(m.error.message));
|
|
470
|
-
else
|
|
471
|
-
p.resolve(m.result ?? {});
|
|
472
|
-
};
|
|
473
|
-
ws.onclose = () => {
|
|
474
|
-
for (const p of pending.values())
|
|
475
|
-
p.reject(new Error("CDP connection closed"));
|
|
476
|
-
pending.clear();
|
|
477
|
-
};
|
|
478
|
-
return {
|
|
479
|
-
send(method, params = {}, sessionId) {
|
|
480
|
-
return new Promise((resolve, reject) => {
|
|
481
|
-
const id = ++next;
|
|
482
|
-
const t = setTimeout(() => { pending.delete(id); reject(new Error(`${method} timed out`)); }, timeoutMs);
|
|
483
|
-
pending.set(id, {
|
|
484
|
-
resolve: (v) => { clearTimeout(t); resolve(v); },
|
|
485
|
-
reject: (e) => { clearTimeout(t); reject(e); },
|
|
486
|
-
});
|
|
487
|
-
ws.send(JSON.stringify({ id, method, params, ...(sessionId ? { sessionId } : {}) }));
|
|
488
|
-
});
|
|
489
|
-
},
|
|
490
|
-
close() {
|
|
491
|
-
try {
|
|
492
|
-
ws.close();
|
|
493
|
-
}
|
|
494
|
-
catch { /* ignore */ }
|
|
495
|
-
},
|
|
496
|
-
};
|
|
497
|
-
}
|
|
498
480
|
/** {@link fitWindowOverCdp} on the SDK's own short connection to a served browser. Never throws. */
|
|
499
481
|
export async function fitServedWindow(wsUrl, opts) {
|
|
500
482
|
if (!wsUrl)
|
|
501
483
|
return null;
|
|
502
484
|
let cdp = null;
|
|
503
485
|
try {
|
|
504
|
-
|
|
505
|
-
|
|
486
|
+
// The SDK's own WebSocket client, not Node's global one: that only exists from Node 22 on.
|
|
487
|
+
cdp = await connectCdp(wsUrl, opts.timeoutMs ?? 5000);
|
|
488
|
+
return await fitWindowOverCdp(cdp, opts);
|
|
506
489
|
}
|
|
507
490
|
catch {
|
|
508
491
|
return null;
|
package/dist/geometry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -302,7 +302,15 @@ export interface ServeOptions extends LaunchOptions {
|
|
|
302
302
|
height: number;
|
|
303
303
|
};
|
|
304
304
|
}
|
|
305
|
-
/**
|
|
305
|
+
/**
|
|
306
|
+
* Handle for a standing clearcote CDP endpoint. Use `.cdpUrl` with any CDP client.
|
|
307
|
+
*
|
|
308
|
+
* close() WAITS FOR THE BROWSER TO EXIT, then removes what it leaves in the temp directory: the
|
|
309
|
+
* profile serve() made, and on Linux and macOS the browser's singleton-socket directory
|
|
310
|
+
* (org.chromium.Chromium.*), whichever profile it ran on. A browser stopped with a signal never
|
|
311
|
+
* removes that directory itself, and close() used to signal it and return at once: every serve() +
|
|
312
|
+
* close() left one behind, and the profile went while the browser was still writing it.
|
|
313
|
+
*/
|
|
306
314
|
export declare class Server {
|
|
307
315
|
private readonly proc;
|
|
308
316
|
readonly host: string;
|
|
@@ -311,6 +319,11 @@ export declare class Server {
|
|
|
311
319
|
private readonly ownUdd;
|
|
312
320
|
private readonly lease?;
|
|
313
321
|
private readonly launchToken?;
|
|
322
|
+
/** Where the browser's singleton socket lives, read while it runs (see browserProcessFiles). */
|
|
323
|
+
private readonly socketDir;
|
|
324
|
+
private closing;
|
|
325
|
+
private cleanedUp;
|
|
326
|
+
private readonly onProcessExit;
|
|
314
327
|
constructor(proc: ChildProcess, host: string, port: number, userDataDir: string, ownUdd: boolean, lease?: (LeaseSession | null) | undefined, launchToken?: {
|
|
315
328
|
file: string;
|
|
316
329
|
release(): void;
|
|
@@ -322,8 +335,29 @@ export declare class Server {
|
|
|
322
335
|
/** OS process id of the browser, when running. */
|
|
323
336
|
get pid(): number | undefined;
|
|
324
337
|
isAlive(): boolean;
|
|
338
|
+
/**
|
|
339
|
+
* Stop the browser and wait for it to exit (SIGTERM, then SIGKILL after 10 s), release the licence
|
|
340
|
+
* slot, then remove the temp profile serve() made and the browser's socket directory.
|
|
341
|
+
*/
|
|
325
342
|
close(): Promise<void>;
|
|
326
343
|
}
|
|
344
|
+
/** serve() as root on Linux needs --no-sandbox (unless the caller already passed it). */
|
|
345
|
+
export declare function serveNeedsNoSandbox(platform: string, uid: number | undefined, args: string[]): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* The switch that keeps the engine's "unsupported command-line flag" warning bar off a served browser.
|
|
348
|
+
* Any flag on Chromium's list raises it, --no-sandbox among them (which serve adds as root on Linux),
|
|
349
|
+
* and it lands on the first tab: 56px off that tab's innerHeight, a frame (outer - inner) no other tab
|
|
350
|
+
* and no real Chrome has. launch() never shows it: Playwright starts that browser without a startup
|
|
351
|
+
* window, and passes --disable-infobars to a persistent context.
|
|
352
|
+
* - Headless: --disable-infobars, the same switch. Chromium honours it only in headless, where it
|
|
353
|
+
* suppresses infobars and nothing else, so every headless serve gets it.
|
|
354
|
+
* - Headed: Chromium ignores --disable-infobars. The one switch that drops the warning is --test-type,
|
|
355
|
+
* which also turns on test-harness behaviour (chrome.test in extension pages, no component
|
|
356
|
+
* extensions with background pages, no OS integration for installed web apps), none of it visible
|
|
357
|
+
* to a page. So only with --no-sandbox, the flag root on Linux cannot run without, and bare:
|
|
358
|
+
* --test-type=webdriver would also waive Payment Request's user-interaction check.
|
|
359
|
+
*/
|
|
360
|
+
export declare function serveInfobarArgs(headless: boolean, args: readonly string[]): string[];
|
|
327
361
|
/**
|
|
328
362
|
* Launch Clearcote with a RAW CDP endpoint and return a {@link Server} — the drop-in-for-the-whole-
|
|
329
363
|
* ecosystem mode. Unlike {@link launch} (which spawns and *owns* a Playwright browser), `serve`
|
|
@@ -341,8 +375,6 @@ export declare class Server {
|
|
|
341
375
|
* to the page; the port binds to loopback with an origin allowlist; attaching over CDP adds no
|
|
342
376
|
* launch flags, so the served persona is preserved end to end.
|
|
343
377
|
*/
|
|
344
|
-
/** serve() as root on Linux needs --no-sandbox (unless the caller already passed it). */
|
|
345
|
-
export declare function serveNeedsNoSandbox(platform: string, uid: number | undefined, args: string[]): boolean;
|
|
346
378
|
export declare function serve(options?: ServeOptions): Promise<Server>;
|
|
347
379
|
import { runAgentTask } from "./agent.js";
|
|
348
380
|
import { listProfiles, loadProfile } from "./profile.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
// hand-off and webhooks.
|
|
17
17
|
import { chromium } from "playwright-core";
|
|
18
18
|
import { cpSync, existsSync, mkdtempSync, readFileSync, readdirSync, readlinkSync, rmSync, statSync } from "node:fs";
|
|
19
|
-
import { spawn } from "node:child_process";
|
|
19
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
20
20
|
import { createServer } from "node:net";
|
|
21
21
|
import { tmpdir } from "node:os";
|
|
22
22
|
import { basename, dirname, join } from "node:path";
|
|
@@ -414,25 +414,8 @@ async function applyProfileAuto(profile, fingerprint, exe, o) {
|
|
|
414
414
|
function installEphemeralProfileCleanup(context, userDataDir) {
|
|
415
415
|
const browser = browserProcessFiles(userDataDir);
|
|
416
416
|
let done = false;
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
// attempt left the profile behind (1 of 3 exits with the browser open on 0.36.0).
|
|
420
|
-
const onExit = () => {
|
|
421
|
-
if (done)
|
|
422
|
-
return;
|
|
423
|
-
const pause = new Int32Array(new SharedArrayBuffer(4));
|
|
424
|
-
for (let attempt = 0; attempt < 8; attempt++) {
|
|
425
|
-
try {
|
|
426
|
-
if (browser.socketDir)
|
|
427
|
-
rmSync(browser.socketDir, { recursive: true, force: true });
|
|
428
|
-
rmSync(userDataDir, { recursive: true, force: true });
|
|
429
|
-
return;
|
|
430
|
-
}
|
|
431
|
-
catch {
|
|
432
|
-
Atomics.wait(pause, 0, 0, 50 * (attempt + 1)); // 50→400 ms, ~1.8 s at most
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
};
|
|
417
|
+
const onExit = () => { if (!done)
|
|
418
|
+
removeProfileDirSync(userDataDir, browser.socketDir); };
|
|
436
419
|
let removing = null;
|
|
437
420
|
const removeAfterExit = () => (removing ??= (async () => {
|
|
438
421
|
if (await waitForProcessExit(browser.pid))
|
|
@@ -500,13 +483,17 @@ async function waitForProcessExit(pid, timeoutMs = 10_000) {
|
|
|
500
483
|
await new Promise((r) => setTimeout(r, 50));
|
|
501
484
|
}
|
|
502
485
|
}
|
|
503
|
-
/**
|
|
486
|
+
/**
|
|
487
|
+
* Remove a profile directory (and the browser's socket dir), retrying while the browser still holds
|
|
488
|
+
* handles (see above). A null profile: only the socket dir, for a profile that is the caller's.
|
|
489
|
+
*/
|
|
504
490
|
async function removeProfileDir(userDataDir, socketDir = null) {
|
|
505
491
|
for (let attempt = 0; attempt < 6; attempt++) {
|
|
506
492
|
try {
|
|
507
493
|
if (socketDir)
|
|
508
494
|
rmSync(socketDir, { recursive: true, force: true });
|
|
509
|
-
|
|
495
|
+
if (userDataDir)
|
|
496
|
+
rmSync(userDataDir, { recursive: true, force: true });
|
|
510
497
|
return true;
|
|
511
498
|
}
|
|
512
499
|
catch {
|
|
@@ -515,6 +502,110 @@ async function removeProfileDir(userDataDir, socketDir = null) {
|
|
|
515
502
|
}
|
|
516
503
|
return false;
|
|
517
504
|
}
|
|
505
|
+
/**
|
|
506
|
+
* removeProfileDir for process exit. Synchronous: an exit handler cannot await, and an unresolved
|
|
507
|
+
* promise at exit removes nothing. It retries all the same: on Windows the killed browser's handles
|
|
508
|
+
* outlive it for a moment, and a single attempt left the profile behind (1 of 3 exits with the browser
|
|
509
|
+
* open on 0.36.0).
|
|
510
|
+
*/
|
|
511
|
+
function removeProfileDirSync(userDataDir, socketDir) {
|
|
512
|
+
const pause = new Int32Array(new SharedArrayBuffer(4));
|
|
513
|
+
for (let attempt = 0; attempt < 8; attempt++) {
|
|
514
|
+
try {
|
|
515
|
+
if (socketDir)
|
|
516
|
+
rmSync(socketDir, { recursive: true, force: true });
|
|
517
|
+
if (userDataDir)
|
|
518
|
+
rmSync(userDataDir, { recursive: true, force: true });
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
catch {
|
|
522
|
+
Atomics.wait(pause, 0, 0, 50 * (attempt + 1)); // 50→400 ms, ~1.8 s at most
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Stop a browser serve() started, and wait for it to exit: SIGTERM (on Windows, TerminateProcess),
|
|
528
|
+
* then SIGKILL once `graceMs` has passed. True once it has exited.
|
|
529
|
+
*/
|
|
530
|
+
async function stopServedBrowser(proc, graceMs) {
|
|
531
|
+
const exited = () => proc.exitCode !== null || proc.signalCode !== null;
|
|
532
|
+
const waitForExit = (ms) => new Promise((resolve) => {
|
|
533
|
+
if (exited())
|
|
534
|
+
return resolve(true);
|
|
535
|
+
const onExit = () => { clearTimeout(timer); resolve(true); };
|
|
536
|
+
const timer = setTimeout(() => { proc.off("exit", onExit); resolve(exited()); }, ms);
|
|
537
|
+
proc.once("exit", onExit);
|
|
538
|
+
});
|
|
539
|
+
if (exited())
|
|
540
|
+
return true;
|
|
541
|
+
try {
|
|
542
|
+
proc.kill("SIGTERM");
|
|
543
|
+
}
|
|
544
|
+
catch { /* gone */ }
|
|
545
|
+
if (await waitForExit(graceMs))
|
|
546
|
+
return true;
|
|
547
|
+
try {
|
|
548
|
+
proc.kill("SIGKILL");
|
|
549
|
+
}
|
|
550
|
+
catch { /* gone */ }
|
|
551
|
+
return waitForExit(5_000);
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* stopServedBrowser for process exit, where nothing can be awaited. Nor can the child's exit be seen
|
|
555
|
+
* the usual way: the event loop reaps exited children, and it no longer runs, so an exited browser
|
|
556
|
+
* stays a zombie that signal 0 still finds. Linux reads its state from /proc, macOS asks ps.
|
|
557
|
+
*/
|
|
558
|
+
function stopServedBrowserSync(proc, graceMs) {
|
|
559
|
+
const pid = proc.pid;
|
|
560
|
+
if (pid === undefined || proc.exitCode !== null || proc.signalCode !== null)
|
|
561
|
+
return true;
|
|
562
|
+
const gone = () => {
|
|
563
|
+
try {
|
|
564
|
+
process.kill(pid, 0); // on Windows this asks whether the process is still active
|
|
565
|
+
}
|
|
566
|
+
catch (e) {
|
|
567
|
+
return e.code === "ESRCH";
|
|
568
|
+
}
|
|
569
|
+
if (process.platform === "win32")
|
|
570
|
+
return false;
|
|
571
|
+
if (process.platform === "linux") {
|
|
572
|
+
try {
|
|
573
|
+
const stat = readFileSync(`/proc/${pid}/stat`, "utf8"); // "<pid> (<name>) <state> ..."
|
|
574
|
+
return stat[stat.lastIndexOf(")") + 2] === "Z";
|
|
575
|
+
}
|
|
576
|
+
catch {
|
|
577
|
+
return true;
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
// ps prints the state, Z for a zombie, and nothing once the pid is gone.
|
|
581
|
+
const ps = spawnSync("ps", ["-o", "stat=", "-p", String(pid)], { encoding: "utf8" });
|
|
582
|
+
if (ps.error)
|
|
583
|
+
return false;
|
|
584
|
+
const state = (ps.stdout ?? "").trim();
|
|
585
|
+
return state === "" || state.startsWith("Z");
|
|
586
|
+
};
|
|
587
|
+
const pause = new Int32Array(new SharedArrayBuffer(4));
|
|
588
|
+
const waitForExit = (ms) => {
|
|
589
|
+
for (const deadline = Date.now() + ms;;) {
|
|
590
|
+
if (gone())
|
|
591
|
+
return true;
|
|
592
|
+
if (Date.now() >= deadline)
|
|
593
|
+
return false;
|
|
594
|
+
Atomics.wait(pause, 0, 0, 25);
|
|
595
|
+
}
|
|
596
|
+
};
|
|
597
|
+
try {
|
|
598
|
+
proc.kill("SIGTERM");
|
|
599
|
+
}
|
|
600
|
+
catch { /* gone */ }
|
|
601
|
+
if (waitForExit(graceMs))
|
|
602
|
+
return true;
|
|
603
|
+
try {
|
|
604
|
+
proc.kill("SIGKILL");
|
|
605
|
+
}
|
|
606
|
+
catch { /* gone */ }
|
|
607
|
+
return waitForExit(2_000);
|
|
608
|
+
}
|
|
518
609
|
/**
|
|
519
610
|
* A persistent context on a fresh temp profile the caller never named, so never sees again: it is
|
|
520
611
|
* removed when the context closes and at process exit — and at once when the launch fails, which
|
|
@@ -851,7 +942,15 @@ function freePort() {
|
|
|
851
942
|
});
|
|
852
943
|
});
|
|
853
944
|
}
|
|
854
|
-
/**
|
|
945
|
+
/**
|
|
946
|
+
* Handle for a standing clearcote CDP endpoint. Use `.cdpUrl` with any CDP client.
|
|
947
|
+
*
|
|
948
|
+
* close() WAITS FOR THE BROWSER TO EXIT, then removes what it leaves in the temp directory: the
|
|
949
|
+
* profile serve() made, and on Linux and macOS the browser's singleton-socket directory
|
|
950
|
+
* (org.chromium.Chromium.*), whichever profile it ran on. A browser stopped with a signal never
|
|
951
|
+
* removes that directory itself, and close() used to signal it and return at once: every serve() +
|
|
952
|
+
* close() left one behind, and the profile went while the browser was still writing it.
|
|
953
|
+
*/
|
|
855
954
|
export class Server {
|
|
856
955
|
proc;
|
|
857
956
|
host;
|
|
@@ -860,6 +959,20 @@ export class Server {
|
|
|
860
959
|
ownUdd;
|
|
861
960
|
lease;
|
|
862
961
|
launchToken;
|
|
962
|
+
/** Where the browser's singleton socket lives, read while it runs (see browserProcessFiles). */
|
|
963
|
+
socketDir;
|
|
964
|
+
closing = null;
|
|
965
|
+
cleanedUp = false;
|
|
966
|
+
// Process exit: Node runs no async work there, so close()'s steps run synchronously.
|
|
967
|
+
onProcessExit = () => {
|
|
968
|
+
if (this.cleanedUp)
|
|
969
|
+
return;
|
|
970
|
+
stopServedBrowserSync(this.proc, 5_000);
|
|
971
|
+
this.lease?.stop().catch(() => { });
|
|
972
|
+
this.launchToken?.release();
|
|
973
|
+
removeProfileDirSync(this.ownUdd ? this.userDataDir : null, this.socketDir ?? browserProcessFiles(this.userDataDir).socketDir);
|
|
974
|
+
this.cleanedUp = true;
|
|
975
|
+
};
|
|
863
976
|
constructor(proc, host, port, userDataDir, ownUdd, lease, launchToken) {
|
|
864
977
|
this.proc = proc;
|
|
865
978
|
this.host = host;
|
|
@@ -868,6 +981,9 @@ export class Server {
|
|
|
868
981
|
this.ownUdd = ownUdd;
|
|
869
982
|
this.lease = lease;
|
|
870
983
|
this.launchToken = launchToken;
|
|
984
|
+
// Now, while the browser runs: one that shuts down cleanly unlinks it from the profile.
|
|
985
|
+
this.socketDir = browserProcessFiles(userDataDir).socketDir;
|
|
986
|
+
process.once("exit", this.onProcessExit);
|
|
871
987
|
}
|
|
872
988
|
/** HTTP CDP base — pass to `connectOverCDP` / `puppeteer.connect({ browserURL })`. */
|
|
873
989
|
get cdpUrl() {
|
|
@@ -890,29 +1006,52 @@ export class Server {
|
|
|
890
1006
|
isAlive() {
|
|
891
1007
|
return this.proc.exitCode === null && !this.proc.killed;
|
|
892
1008
|
}
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
await this.
|
|
903
|
-
|
|
904
|
-
catch { /* ignore */ }
|
|
905
|
-
this.launchToken?.release();
|
|
906
|
-
if (this.ownUdd) {
|
|
1009
|
+
/**
|
|
1010
|
+
* Stop the browser and wait for it to exit (SIGTERM, then SIGKILL after 10 s), release the licence
|
|
1011
|
+
* slot, then remove the temp profile serve() made and the browser's socket directory.
|
|
1012
|
+
*/
|
|
1013
|
+
close() {
|
|
1014
|
+
return (this.closing ??= (async () => {
|
|
1015
|
+
if (this.cleanedUp)
|
|
1016
|
+
return;
|
|
1017
|
+
const socketDir = this.socketDir ?? browserProcessFiles(this.userDataDir).socketDir;
|
|
1018
|
+
await stopServedBrowser(this.proc, 10_000);
|
|
1019
|
+
// Release the concurrency slot (best-effort) + remove the run-token file.
|
|
907
1020
|
try {
|
|
908
|
-
|
|
909
|
-
}
|
|
910
|
-
catch {
|
|
911
|
-
/* ignore */
|
|
1021
|
+
await this.lease?.stop();
|
|
912
1022
|
}
|
|
913
|
-
|
|
1023
|
+
catch { /* ignore */ }
|
|
1024
|
+
this.launchToken?.release();
|
|
1025
|
+
await removeProfileDir(this.ownUdd ? this.userDataDir : null, socketDir);
|
|
1026
|
+
this.cleanedUp = true;
|
|
1027
|
+
process.off("exit", this.onProcessExit); // one per serve() would otherwise pile up
|
|
1028
|
+
})());
|
|
914
1029
|
}
|
|
915
1030
|
}
|
|
1031
|
+
/** serve() as root on Linux needs --no-sandbox (unless the caller already passed it). */
|
|
1032
|
+
export function serveNeedsNoSandbox(platform, uid, args) {
|
|
1033
|
+
return platform === "linux" && uid === 0 && !args.includes("--no-sandbox");
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* The switch that keeps the engine's "unsupported command-line flag" warning bar off a served browser.
|
|
1037
|
+
* Any flag on Chromium's list raises it, --no-sandbox among them (which serve adds as root on Linux),
|
|
1038
|
+
* and it lands on the first tab: 56px off that tab's innerHeight, a frame (outer - inner) no other tab
|
|
1039
|
+
* and no real Chrome has. launch() never shows it: Playwright starts that browser without a startup
|
|
1040
|
+
* window, and passes --disable-infobars to a persistent context.
|
|
1041
|
+
* - Headless: --disable-infobars, the same switch. Chromium honours it only in headless, where it
|
|
1042
|
+
* suppresses infobars and nothing else, so every headless serve gets it.
|
|
1043
|
+
* - Headed: Chromium ignores --disable-infobars. The one switch that drops the warning is --test-type,
|
|
1044
|
+
* which also turns on test-harness behaviour (chrome.test in extension pages, no component
|
|
1045
|
+
* extensions with background pages, no OS integration for installed web apps), none of it visible
|
|
1046
|
+
* to a page. So only with --no-sandbox, the flag root on Linux cannot run without, and bare:
|
|
1047
|
+
* --test-type=webdriver would also waive Payment Request's user-interaction check.
|
|
1048
|
+
*/
|
|
1049
|
+
export function serveInfobarArgs(headless, args) {
|
|
1050
|
+
const has = (sw) => args.some((a) => a === sw || a.startsWith(`${sw}=`));
|
|
1051
|
+
if (headless)
|
|
1052
|
+
return has("--disable-infobars") ? [] : ["--disable-infobars"];
|
|
1053
|
+
return has("--no-sandbox") && !has("--test-type") ? ["--test-type"] : [];
|
|
1054
|
+
}
|
|
916
1055
|
/**
|
|
917
1056
|
* Launch Clearcote with a RAW CDP endpoint and return a {@link Server} — the drop-in-for-the-whole-
|
|
918
1057
|
* ecosystem mode. Unlike {@link launch} (which spawns and *owns* a Playwright browser), `serve`
|
|
@@ -930,10 +1069,6 @@ export class Server {
|
|
|
930
1069
|
* to the page; the port binds to loopback with an origin allowlist; attaching over CDP adds no
|
|
931
1070
|
* launch flags, so the served persona is preserved end to end.
|
|
932
1071
|
*/
|
|
933
|
-
/** serve() as root on Linux needs --no-sandbox (unless the caller already passed it). */
|
|
934
|
-
export function serveNeedsNoSandbox(platform, uid, args) {
|
|
935
|
-
return platform === "linux" && uid === 0 && !args.includes("--no-sandbox");
|
|
936
|
-
}
|
|
937
1072
|
export async function serve(options = {}) {
|
|
938
1073
|
const { port, host = "127.0.0.1", allowOrigins, userDataDir: uddOption, headless = true, readyTimeoutMs = 30000, windowSize, humanize: _humanize, // Playwright-only; not applicable to a direct launch
|
|
939
1074
|
showCursor: _showCursor, ...launchOpts } = options;
|
|
@@ -988,6 +1123,8 @@ export async function serve(options = {}) {
|
|
|
988
1123
|
// Playwright's own --no-sandbox is missing: `clearcote serve` in a root container just timed out.
|
|
989
1124
|
if (serveNeedsNoSandbox(process.platform, process.getuid?.(), engineArgs))
|
|
990
1125
|
cdpArgs.push("--no-sandbox");
|
|
1126
|
+
// ...and the warning bar that flag (or any of the caller's on Chromium's list) puts on the first tab.
|
|
1127
|
+
cdpArgs.push(...serveInfobarArgs(headless, [...engineArgs, ...cdpArgs]));
|
|
991
1128
|
// Headless geometry for a raw endpoint: the display and window are set browser-wide, since no
|
|
992
1129
|
// client's context options or CDP overrides would reach every page (see ./geometry.ts).
|
|
993
1130
|
const geometry = servedGeometry(engineArgs, fingerprint, headless);
|
|
@@ -1031,26 +1168,11 @@ export async function serve(options = {}) {
|
|
|
1031
1168
|
}
|
|
1032
1169
|
await new Promise((r) => setTimeout(r, 250));
|
|
1033
1170
|
}
|
|
1171
|
+
const srv = new Server(proc, host, resolvedPort, userDataDir, ownUdd, lease, launchToken);
|
|
1034
1172
|
if (!ready) {
|
|
1035
|
-
|
|
1036
|
-
proc.kill();
|
|
1037
|
-
}
|
|
1038
|
-
catch { /* ignore */ }
|
|
1039
|
-
try {
|
|
1040
|
-
await lease?.stop();
|
|
1041
|
-
}
|
|
1042
|
-
catch { /* ignore */ }
|
|
1043
|
-
launchToken?.release();
|
|
1044
|
-
if (ownUdd) {
|
|
1045
|
-
try {
|
|
1046
|
-
rmSync(userDataDir, { recursive: true, force: true });
|
|
1047
|
-
}
|
|
1048
|
-
catch { /* ignore */ }
|
|
1049
|
-
}
|
|
1173
|
+
await srv.close();
|
|
1050
1174
|
throw new Error(`clearcote serve: CDP endpoint at http://${host}:${resolvedPort} did not come up within ${readyTimeoutMs}ms`);
|
|
1051
1175
|
}
|
|
1052
|
-
const srv = new Server(proc, host, resolvedPort, userDataDir, ownUdd, lease, launchToken);
|
|
1053
|
-
process.once("exit", () => { void srv.close(); });
|
|
1054
1176
|
// Before any client attaches: the window onto the work area (and, under a persona, the headless
|
|
1055
1177
|
// display onto the persona's). Its own connection, closed again; never fails the launch.
|
|
1056
1178
|
if (geometry)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clearcote",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.1",
|
|
4
4
|
"description": "Playwright drop-in for the Clearcote anti-fingerprint Chromium build. launch() returns a standard Playwright Browser backed by the verified Clearcote binary, which is auto-downloaded and SHA-256 checked.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|