clearcote 0.28.1 → 0.29.0
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/README.md +48 -1
- package/dist/clearcote-cli.d.ts +3 -0
- package/dist/clearcote-cli.d.ts.map +1 -0
- package/dist/clearcote-cli.js +9 -0
- package/dist/clearcote-cli.js.map +1 -0
- package/dist/cli-commands.d.ts +62 -0
- package/dist/cli-commands.d.ts.map +1 -0
- package/dist/cli-commands.js +333 -0
- package/dist/cli-commands.js.map +1 -0
- package/dist/download.d.ts +28 -0
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +56 -6
- package/dist/download.js.map +1 -1
- package/dist/fingerprint.d.ts +16 -0
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +37 -0
- package/dist/fingerprint.js.map +1 -1
- package/dist/geoip.d.ts +37 -1
- package/dist/geoip.d.ts.map +1 -1
- package/dist/geoip.js +90 -68
- package/dist/geoip.js.map +1 -1
- package/dist/index.d.ts +44 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +102 -41
- package/dist/index.js.map +1 -1
- package/dist/launchopts.d.ts +44 -0
- package/dist/launchopts.d.ts.map +1 -1
- package/dist/launchopts.js +78 -0
- package/dist/launchopts.js.map +1 -1
- package/dist/license.d.ts +59 -3
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +286 -25
- package/dist/license.js.map +1 -1
- package/dist/multiplex.d.ts +111 -0
- package/dist/multiplex.d.ts.map +1 -0
- package/dist/multiplex.js +536 -0
- package/dist/multiplex.js.map +1 -0
- package/dist/net.d.ts +36 -0
- package/dist/net.d.ts.map +1 -0
- package/dist/net.js +278 -0
- package/dist/net.js.map +1 -0
- package/package.json +2 -1
package/dist/geoip.js
CHANGED
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
// (direct geo through the proxy) if the DB can't be fetched/opened.
|
|
7
7
|
//
|
|
8
8
|
// The .mmdb (GPL-3.0 data) is downloaded + cached on first use (≈52 MB zip → ≈120 MB), NOT bundled.
|
|
9
|
-
//
|
|
10
|
-
// proxy, which would give the wrong region
|
|
11
|
-
|
|
9
|
+
// The exit-IP and ip-api lookups go THROUGH the proxy (HTTP or SOCKS5, see ./net.ts); we never fall
|
|
10
|
+
// back to the local IP under a proxy, which would give the wrong region.
|
|
11
|
+
//
|
|
12
|
+
// Budget: CLEARCOTE_GEOIP_TIMEOUT_SECONDS (default 20) bounds the whole resolution. A lookup that
|
|
13
|
+
// runs out of budget fails rather than hanging a launch.
|
|
12
14
|
import { createWriteStream, existsSync, mkdirSync, readdirSync, rmSync, statSync } from "node:fs";
|
|
13
15
|
import os from "node:os";
|
|
14
16
|
import path from "node:path";
|
|
@@ -16,6 +18,7 @@ import { Readable } from "node:stream";
|
|
|
16
18
|
import { pipeline } from "node:stream/promises";
|
|
17
19
|
import extract from "extract-zip";
|
|
18
20
|
import maxmind from "maxmind";
|
|
21
|
+
import { proxiedRequest, toProxySpec } from "./net.js";
|
|
19
22
|
const MMDB_URL = "https://github.com/daijro/geoip-all-in-one/releases/latest/download/geoip-aio-all.mmdb.zip";
|
|
20
23
|
const MMDB_MAX_AGE_DAYS = 30;
|
|
21
24
|
const IPECHO_URLS = ["http://api.ipify.org", "http://ip-api.com/line/?fields=query"];
|
|
@@ -24,7 +27,8 @@ function log(quiet, m) {
|
|
|
24
27
|
if (!quiet)
|
|
25
28
|
process.stderr.write(`[clearcote] ${m}\n`);
|
|
26
29
|
}
|
|
27
|
-
|
|
30
|
+
/** Where the geoip database is cached (CLEARCOTE_CACHE/geoip when set). */
|
|
31
|
+
export function geoCacheRoot() {
|
|
28
32
|
if (process.env.CLEARCOTE_CACHE)
|
|
29
33
|
return path.join(process.env.CLEARCOTE_CACHE, "geoip");
|
|
30
34
|
if (process.platform === "win32")
|
|
@@ -33,63 +37,31 @@ function geoCacheRoot() {
|
|
|
33
37
|
return path.join(os.homedir(), "Library", "Caches", "clearcote", "geoip");
|
|
34
38
|
return path.join(process.env.XDG_CACHE_HOME || path.join(os.homedir(), ".cache"), "clearcote", "geoip");
|
|
35
39
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
server = "http://" + server;
|
|
42
|
-
if (proxy.username) {
|
|
43
|
-
const u = new URL(server);
|
|
44
|
-
u.username = encodeURIComponent(proxy.username);
|
|
45
|
-
if (proxy.password)
|
|
46
|
-
u.password = encodeURIComponent(proxy.password);
|
|
47
|
-
return u.toString();
|
|
48
|
-
}
|
|
49
|
-
return server;
|
|
40
|
+
/** Whole-resolution budget in ms: CLEARCOTE_GEOIP_TIMEOUT_SECONDS (seconds, > 0), default 20s. */
|
|
41
|
+
export function geoipTimeoutMs(env = process.env) {
|
|
42
|
+
const raw = (env.CLEARCOTE_GEOIP_TIMEOUT_SECONDS ?? "").trim();
|
|
43
|
+
const n = Number(raw);
|
|
44
|
+
return raw && Number.isFinite(n) && n > 0 ? Math.round(n * 1000) : 20_000;
|
|
50
45
|
}
|
|
51
|
-
function
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return new Promise((resolve, reject) => {
|
|
57
|
-
const t = new URL(targetUrl);
|
|
58
|
-
let opts;
|
|
59
|
-
if (proxy) {
|
|
60
|
-
const p = new URL(proxy);
|
|
61
|
-
opts = { host: p.hostname, port: p.port || 80, path: targetUrl, timeout: timeoutMs,
|
|
62
|
-
headers: { Host: t.host, "User-Agent": "clearcote-sdk", Accept: "*/*" } };
|
|
63
|
-
if (p.username) {
|
|
64
|
-
const cred = Buffer.from(`${decodeURIComponent(p.username)}:${decodeURIComponent(p.password)}`).toString("base64");
|
|
65
|
-
opts.headers["Proxy-Authorization"] = `Basic ${cred}`;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
opts = { host: t.hostname, port: t.port || 80, path: t.pathname + t.search, timeout: timeoutMs,
|
|
70
|
-
headers: { Host: t.host, "User-Agent": "clearcote-sdk", Accept: "*/*" } };
|
|
71
|
-
}
|
|
72
|
-
const req = http.request(opts, (res) => {
|
|
73
|
-
let data = "";
|
|
74
|
-
res.setEncoding("utf8");
|
|
75
|
-
res.on("data", (c) => (data += c));
|
|
76
|
-
res.on("end", () => resolve(data.trim()));
|
|
77
|
-
});
|
|
78
|
-
req.on("error", reject);
|
|
79
|
-
req.on("timeout", () => req.destroy(new Error("timed out")));
|
|
80
|
-
req.end();
|
|
81
|
-
});
|
|
46
|
+
async function getText(url, proxy, timeoutMs) {
|
|
47
|
+
const res = await proxiedRequest(url, { proxy, timeoutMs: Math.max(1, timeoutMs) });
|
|
48
|
+
if (!res.ok)
|
|
49
|
+
throw new Error(`HTTP ${res.status}`);
|
|
50
|
+
return (await res.text()).trim();
|
|
82
51
|
}
|
|
83
52
|
const IPV4 = /^(?:\d{1,3}\.){3}\d{1,3}$/;
|
|
84
53
|
const IPV6 = /^[0-9a-f:]+$/i;
|
|
85
54
|
function looksLikeIp(s) {
|
|
86
55
|
return IPV4.test(s) || (s.includes(":") && IPV6.test(s));
|
|
87
56
|
}
|
|
88
|
-
/** Discover the egress IP via an IP-echo through the proxy (or direct)
|
|
89
|
-
async function exitIp(proxy, quiet) {
|
|
57
|
+
/** Discover the egress IP via an IP-echo through the proxy (or direct), within `deadline`. */
|
|
58
|
+
async function exitIp(proxy, deadline, quiet) {
|
|
90
59
|
for (const url of IPECHO_URLS) {
|
|
60
|
+
const left = deadline - Date.now();
|
|
61
|
+
if (left <= 0)
|
|
62
|
+
break;
|
|
91
63
|
try {
|
|
92
|
-
const ip = (await
|
|
64
|
+
const ip = (await getText(url, proxy, Math.min(left, 8000))).split(/\s+/)[0];
|
|
93
65
|
if (looksLikeIp(ip))
|
|
94
66
|
return ip;
|
|
95
67
|
}
|
|
@@ -160,8 +132,19 @@ function findMmdb(dir) {
|
|
|
160
132
|
return null;
|
|
161
133
|
}
|
|
162
134
|
let _reader = null;
|
|
163
|
-
async function mmdbLookup(ip, quiet) {
|
|
164
|
-
|
|
135
|
+
async function mmdbLookup(ip, deadline, quiet) {
|
|
136
|
+
// The first-run database download (~52 MB) may outlast the budget. It keeps going in the
|
|
137
|
+
// background and caches for the next launch; this launch falls back to ip-api instead of waiting.
|
|
138
|
+
const left = deadline - Date.now();
|
|
139
|
+
if (left <= 0)
|
|
140
|
+
return null;
|
|
141
|
+
let timer;
|
|
142
|
+
const file = await Promise.race([
|
|
143
|
+
ensureMmdb(quiet),
|
|
144
|
+
new Promise((resolve) => { timer = setTimeout(() => resolve(null), left); }),
|
|
145
|
+
]);
|
|
146
|
+
if (timer)
|
|
147
|
+
clearTimeout(timer);
|
|
165
148
|
if (!file)
|
|
166
149
|
return null;
|
|
167
150
|
try {
|
|
@@ -190,9 +173,12 @@ async function mmdbLookup(ip, quiet) {
|
|
|
190
173
|
}
|
|
191
174
|
}
|
|
192
175
|
// Fallback: ip-api.com returns geo directly (through the proxy), no DB needed.
|
|
193
|
-
async function ipApiFallback(proxy,
|
|
176
|
+
async function ipApiFallback(proxy, deadline) {
|
|
177
|
+
const left = deadline - Date.now();
|
|
178
|
+
if (left <= 0)
|
|
179
|
+
return null;
|
|
194
180
|
try {
|
|
195
|
-
const txt = await
|
|
181
|
+
const txt = await getText(IPAPI_URL, proxy, Math.min(left, 8000));
|
|
196
182
|
const j = JSON.parse(txt);
|
|
197
183
|
if (j?.status !== "success")
|
|
198
184
|
return null;
|
|
@@ -209,22 +195,44 @@ async function ipApiFallback(proxy, quiet) {
|
|
|
209
195
|
}
|
|
210
196
|
}
|
|
211
197
|
/**
|
|
212
|
-
* Resolve geo for the egress (through `proxy` if given
|
|
213
|
-
*
|
|
198
|
+
* Resolve geo for the egress (through `proxy` if given — HTTP or SOCKS5 — else direct), reporting
|
|
199
|
+
* why it failed. Never throws. Bounded by `timeoutMs` (default {@link geoipTimeoutMs}).
|
|
214
200
|
*/
|
|
215
|
-
export async function
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
201
|
+
export async function resolveGeoDetailed(proxy, opts = {}) {
|
|
202
|
+
const started = Date.now();
|
|
203
|
+
const budget = opts.timeoutMs ?? geoipTimeoutMs();
|
|
204
|
+
const deadline = started + budget;
|
|
205
|
+
let spec;
|
|
206
|
+
try {
|
|
207
|
+
spec = toProxySpec(proxy ?? null);
|
|
219
208
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
209
|
+
catch (e) {
|
|
210
|
+
return { geo: null, reason: `invalid proxy (${e.message})`, elapsedMs: Date.now() - started };
|
|
211
|
+
}
|
|
212
|
+
const ip = await exitIp(spec, deadline, opts.quiet);
|
|
213
|
+
let geo = ip ? await mmdbLookup(ip, deadline, opts.quiet) : null;
|
|
223
214
|
if (!geo)
|
|
224
|
-
geo = await ipApiFallback(
|
|
225
|
-
|
|
215
|
+
geo = await ipApiFallback(spec, deadline);
|
|
216
|
+
const elapsedMs = Date.now() - started;
|
|
217
|
+
if (geo && geo.timezone) {
|
|
226
218
|
log(opts.quiet, `geoip: ${geo.ip} -> ${geo.country} tz=${geo.timezone} lang=${geo.acceptLanguage}`);
|
|
227
|
-
|
|
219
|
+
return { geo, elapsedMs };
|
|
220
|
+
}
|
|
221
|
+
const reason = Date.now() >= deadline
|
|
222
|
+
? `timed out after ${Math.round(budget / 1000)}s (CLEARCOTE_GEOIP_TIMEOUT_SECONDS)`
|
|
223
|
+
: !ip
|
|
224
|
+
? `could not determine the exit IP${spec ? " through the proxy" : ""}`
|
|
225
|
+
: geo
|
|
226
|
+
? `no timezone for exit IP ${ip}`
|
|
227
|
+
: `no geo data for exit IP ${ip}`;
|
|
228
|
+
return { geo, reason, elapsedMs };
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Resolve geo for the egress (through `proxy` if given, else direct). Never throws — returns null
|
|
232
|
+
* on failure. Uses the geoip-all-in-one offline DB first, ip-api.com as a fallback.
|
|
233
|
+
*/
|
|
234
|
+
export async function resolveGeo(proxy, opts = {}) {
|
|
235
|
+
return (await resolveGeoDetailed(proxy, opts)).geo;
|
|
228
236
|
}
|
|
229
237
|
// country (ISO-3166 alpha-2) -> Accept-Language. Plain comma list (NO ;q= weights — Chromium's
|
|
230
238
|
// --accept-lang adds those). The geoip DB has no language data, so this maps the resolved country.
|
|
@@ -249,4 +257,18 @@ export function acceptLanguageForCountry(cc) {
|
|
|
249
257
|
return "en-US,en";
|
|
250
258
|
return COUNTRY_LANG[cc.toUpperCase()] || "en-US,en";
|
|
251
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Thrown by launch() when `geoip: true` was requested and the region could not be resolved.
|
|
262
|
+
*
|
|
263
|
+
* Failing closed is the point: continuing would launch with the host's clock and a default
|
|
264
|
+
* language — UTC + en-US on most servers — which is exactly the mismatch geoip exists to prevent.
|
|
265
|
+
* Pass an explicit `timezone` AND `acceptLanguage` to launch anyway when the lookup is unavailable.
|
|
266
|
+
*/
|
|
267
|
+
export class GeoipError extends Error {
|
|
268
|
+
code = "GEOIP_UNRESOLVED";
|
|
269
|
+
constructor(message) {
|
|
270
|
+
super(message);
|
|
271
|
+
this.name = "GeoipError";
|
|
272
|
+
}
|
|
273
|
+
}
|
|
252
274
|
//# sourceMappingURL=geoip.js.map
|
package/dist/geoip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoip.js","sourceRoot":"","sources":["../src/geoip.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geoip.js","sourceRoot":"","sources":["../src/geoip.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,12 @@ export type { FingerprintOptions } from "./fingerprint.js";
|
|
|
13
13
|
export type { DownloadOptions } from "./download.js";
|
|
14
14
|
export { proEnsureBinary, type ProDownloadOptions } from "./download.js";
|
|
15
15
|
export { checkInstall, verifyInstall } from "./download.js";
|
|
16
|
-
export { resolveGeo, type Geo } from "./geoip.js";
|
|
16
|
+
export { resolveGeo, resolveGeoDetailed, geoipTimeoutMs, GeoipError, type Geo, type GeoResult } from "./geoip.js";
|
|
17
|
+
export { proxiedRequest, toProxySpec, type ProxySpec } from "./net.js";
|
|
18
|
+
export { resolveReleaseChannel, type ReleaseChannel } from "./download.js";
|
|
19
|
+
export { isFingerprintPassthrough } from "./fingerprint.js";
|
|
20
|
+
export { DEFAULT_IGNORED_ARGS, gpuBlocklistArgs, gateEngineSwitches, engineSupportsSwitch } from "./launchopts.js";
|
|
21
|
+
export { serveMultiplex, type MultiplexOptions, type MultiplexServer } from "./multiplex.js";
|
|
17
22
|
export type { HumanizeOptions } from "./humanize.js";
|
|
18
23
|
export { Profile, listProfiles, loadProfile, PROFILE_DIR, type ProfileOptions } from "./profile.js";
|
|
19
24
|
export { selectProfile, scoreProfile, eligible, gpuVendorClass, defaultStickyKey, DEFAULT_MAX_ENCODED, type HostFacts, type ProfileIndexEntry, type SelectMode, type SelectOptions, type Selection, } from "./profilelib.js";
|
|
@@ -24,7 +29,7 @@ export { runAgentTask, agentArgs, OPENROUTER_BASE_URL, type AgentOptions, type A
|
|
|
24
29
|
export { RELEASE } from "./release.js";
|
|
25
30
|
export { fetchWidevine, seedWidevine } from "./widevine.js";
|
|
26
31
|
export { checkRenderCoherence, type RenderVerdict } from "./render.js";
|
|
27
|
-
export { resolveLicenseKey, acquireLease, LicenseError, ConcurrencyLimitError, LicenseRevokedError, type LicenseOptions, type LeaseSession, } from "./license.js";
|
|
32
|
+
export { resolveLicenseKey, acquireLease, getSessionSeats, saveLicenseKey, removeLicenseKey, licenseKeySource, licenseKeyPath, type SessionSeats, LicenseError, ConcurrencyLimitError, LicenseRevokedError, type LicenseOptions, type LeaseSession, } from "./license.js";
|
|
28
33
|
/** When true (and a proxy is set), resolve the proxy's exit-IP geo and auto-fill any unset
|
|
29
34
|
* `timezone` + `acceptLanguage` (+ `location`) so they match the proxy region. */
|
|
30
35
|
interface GeoipOption {
|
|
@@ -88,6 +93,21 @@ interface ShaderDialectOption {
|
|
|
88
93
|
* dialect. Turn it on if you hit this specific check. Needs a PRO engine 151 r15+. */
|
|
89
94
|
shaderDialect?: ShaderDialect;
|
|
90
95
|
}
|
|
96
|
+
/** Engine behaviour switches that are not part of the persona (engine 152 r22+). */
|
|
97
|
+
interface EngineExtrasOption {
|
|
98
|
+
/**
|
|
99
|
+
* Allow third-party cookies, as stock Chrome does. The de-Googled base blocks them by default,
|
|
100
|
+
* which breaks embedded flows that rely on them: reCAPTCHA, SSO sign-in, payment challenges.
|
|
101
|
+
* Default off (unchanged behaviour).
|
|
102
|
+
*/
|
|
103
|
+
allowThirdPartyCookies?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Hide proxy use from origins and pages: send `Connection` instead of `Proxy-Connection` on
|
|
106
|
+
* plain-HTTP requests through an HTTP proxy, and report proxied connection timing the way a reused
|
|
107
|
+
* connection reports it (no proxy-shaped DNS/connect/TLS durations). Requires a proxy.
|
|
108
|
+
*/
|
|
109
|
+
transparentProxy?: boolean;
|
|
110
|
+
}
|
|
91
111
|
/** Opt-in SOCKS5 UDP relaying (see {@link socks5UdpArgs}). */
|
|
92
112
|
interface Socks5UdpOption {
|
|
93
113
|
/** Relay WebRTC's UDP through the SOCKS5 proxy using UDP ASSOCIATE, instead of letting it egress
|
|
@@ -102,10 +122,10 @@ interface Socks5UdpOption {
|
|
|
102
122
|
socks5Udp?: boolean;
|
|
103
123
|
}
|
|
104
124
|
/** Options for {@link launch}: Playwright launch options + Clearcote fingerprint + agent + download options. */
|
|
105
|
-
export interface LaunchOptions extends PlaywrightLaunchOptions, FingerprintOptions, AgentOptions, GeoipOption, ProfileOption, ExtensionsOption, EphemeralProfileOption, HumanizeOptions, DownloadOptions, LicenseOptions, ShaderDialectOption, Socks5UdpOption {
|
|
125
|
+
export interface LaunchOptions extends PlaywrightLaunchOptions, FingerprintOptions, AgentOptions, GeoipOption, ProfileOption, ExtensionsOption, EphemeralProfileOption, HumanizeOptions, DownloadOptions, LicenseOptions, ShaderDialectOption, Socks5UdpOption, EngineExtrasOption {
|
|
106
126
|
}
|
|
107
127
|
/** Options for {@link launchPersistentContext}. */
|
|
108
|
-
export interface PersistentContextOptions extends PlaywrightLaunchOptions, BrowserContextOptions, FingerprintOptions, AgentOptions, GeoipOption, ProfileOption, ExtensionsOption, HumanizeOptions, DownloadOptions, LicenseOptions, ShaderDialectOption, Socks5UdpOption {
|
|
128
|
+
export interface PersistentContextOptions extends PlaywrightLaunchOptions, BrowserContextOptions, FingerprintOptions, AgentOptions, GeoipOption, ProfileOption, ExtensionsOption, HumanizeOptions, DownloadOptions, LicenseOptions, ShaderDialectOption, Socks5UdpOption, EngineExtrasOption {
|
|
109
129
|
/**
|
|
110
130
|
* Seed + enable the opt-in Widevine CDM in this profile so DRM/EME works
|
|
111
131
|
* (`requestMediaKeySystemAccess('com.widevine.alpha')` resolves) and the EME surface matches a
|
|
@@ -114,6 +134,15 @@ export interface PersistentContextOptions extends PlaywrightLaunchOptions, Brows
|
|
|
114
134
|
*/
|
|
115
135
|
widevine?: boolean;
|
|
116
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Fill unset timezone/acceptLanguage/location/webrtcIp on `fp` from the proxy's exit-IP geo.
|
|
139
|
+
*
|
|
140
|
+
* FAILS CLOSED: if the region cannot be resolved, the launch throws {@link GeoipError} instead of
|
|
141
|
+
* continuing on the host's clock and a default language (UTC + en-US on most servers) — the exact
|
|
142
|
+
* mismatch geoip exists to prevent. A caller who set BOTH `timezone` and `acceptLanguage`
|
|
143
|
+
* explicitly still launches (with a warning), since nothing geoip would fill is missing.
|
|
144
|
+
*/
|
|
145
|
+
export declare function applyGeoip(fp: FingerprintOptions, proxy: unknown, quiet?: boolean): Promise<void>;
|
|
117
146
|
/**
|
|
118
147
|
* Resolve the Clearcote chrome.exe path, downloading + verifying it if needed.
|
|
119
148
|
* Order: explicit `executablePath` > `CLEARCOTE_BINARY` env > PRO (when licensed) > free auto-download.
|
|
@@ -124,6 +153,7 @@ export interface PersistentContextOptions extends PlaywrightLaunchOptions, Brows
|
|
|
124
153
|
export declare function executablePath(options?: {
|
|
125
154
|
executablePath?: string;
|
|
126
155
|
version?: string;
|
|
156
|
+
releaseChannel?: string;
|
|
127
157
|
pro?: {
|
|
128
158
|
licenseKey: string;
|
|
129
159
|
licenseApiBase?: string;
|
|
@@ -137,6 +167,7 @@ export declare function download(options?: DownloadOptions & {
|
|
|
137
167
|
version?: string;
|
|
138
168
|
licenseKey?: string;
|
|
139
169
|
licenseApiBase?: string;
|
|
170
|
+
releaseChannel?: string;
|
|
140
171
|
}): Promise<string>;
|
|
141
172
|
export declare function isWinLaunchRace(err: unknown): boolean;
|
|
142
173
|
/**
|
|
@@ -163,6 +194,11 @@ export declare function winAvRetry<T>(doLaunch: (exe: string) => Promise<T>, exe
|
|
|
163
194
|
* and no state survives to the next launch — the incognito-like isolation callers relied on is
|
|
164
195
|
* preserved. Pass `userDataDir` to keep a profile, or `ephemeralProfile: false` to opt back out.
|
|
165
196
|
*/
|
|
197
|
+
/**
|
|
198
|
+
* Start a browser; if it fails to start, release the lease before re-throwing. On a per-browser plan
|
|
199
|
+
* (the free tier) the slot would otherwise stay taken until the lease TTL. Exported for tests.
|
|
200
|
+
*/
|
|
201
|
+
export declare function releaseLeaseOnFailure<T>(lease: LeaseSession | null, start: () => Promise<T>): Promise<T>;
|
|
166
202
|
export declare function launch(options?: LaunchOptions): Promise<Browser>;
|
|
167
203
|
/**
|
|
168
204
|
* Launch Clearcote with a persistent profile directory and return a Playwright
|
|
@@ -219,6 +255,8 @@ export declare class Server {
|
|
|
219
255
|
get cdpUrl(): string;
|
|
220
256
|
/** The browser-level WebSocket URL (for clients that want `connect({ browserWSEndpoint })`). */
|
|
221
257
|
wsUrl(): Promise<string | undefined>;
|
|
258
|
+
/** OS process id of the browser, when running. */
|
|
259
|
+
get pid(): number | undefined;
|
|
222
260
|
isAlive(): boolean;
|
|
223
261
|
close(): Promise<void>;
|
|
224
262
|
}
|
|
@@ -239,6 +277,8 @@ export declare class Server {
|
|
|
239
277
|
* to the page; the port binds to loopback with an origin allowlist; attaching over CDP adds no
|
|
240
278
|
* launch flags, so the served persona is preserved end to end.
|
|
241
279
|
*/
|
|
280
|
+
/** serve() as root on Linux needs --no-sandbox (unless the caller already passed it). */
|
|
281
|
+
export declare function serveNeedsNoSandbox(platform: string, uid: number | undefined, args: string[]): boolean;
|
|
242
282
|
export declare function serve(options?: ServeOptions): Promise<Server>;
|
|
243
283
|
import { runAgentTask } from "./agent.js";
|
|
244
284
|
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":"AAcA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,aAAa,IAAI,uBAAuB,EAEzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,aAAa,IAAI,uBAAuB,EAEzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAuH,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1K,OAAO,EAAsE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/H,OAAO,EAA6C,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAyB,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAkH,KAAK,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AA0BrL,OAAO,EAAE,aAAa,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAC;AAG1E,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAK3E,OAAO,EAAiD,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAErH,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7F,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEpG,OAAO,EACL,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAC5F,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,GAC5F,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,YAAY,GAC/E,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EACvE,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EACjF,wBAAwB,EAAE,iBAAiB,EAC3C,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,GACtD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,YAAY,EACjB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAEtB;kFACkF;AAClF,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;4DAW4D;AAC5D,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACpC,wDAAwD;IACxD,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,uFAAuF;AACvF,UAAU,gBAAgB;IACxB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;wFACoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;iEAC6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;2FAIuF;IACvF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,oDAAoD;AACpD,UAAU,sBAAsB;IAC9B;;oCAEgC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;yEACqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gEAAgE;AAChE,UAAU,mBAAmB;IAC3B;;;;;;;;;0FASsF;IACtF,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,oFAAoF;AACpF,UAAU,kBAAkB;IAC1B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,8DAA8D;AAC9D,UAAU,eAAe;IACvB;;;;;;;;4DAQwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gHAAgH;AAChH,MAAM,WAAW,aAAc,SAAQ,uBAAuB,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB;CAAG;AAErR,mDAAmD;AACnD,MAAM,WAAW,wBACf,SAAQ,uBAAuB,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvG;AAYD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,eAAoB,GAC5J,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAWD;;;qBAGqB;AACrB,wBAAsB,QAAQ,CAC5B,OAAO,GAAE,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1H,OAAO,CAAC,MAAM,CAAC,CAGjB;AAsFD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGrD;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBlG;AAqKD;;;;;;;;;;;;GAYG;AACH;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9G;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB1E;AAmFD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,cAAc,CAAC,CAqEzB;AAED,+FAA+F;AAC/F,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB;IAClE,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CAI3F;AAeD,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,uFAAuF;AACvF,qBAAa,MAAM;IAEf,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBALN,IAAI,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACJ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,GAAE,YAAY,GAAG,IAAI,aAAA;IAE9C,sFAAsF;IACtF,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,gGAAgG;IAC1F,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQ1C,kDAAkD;IAClD,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IACD,OAAO,IAAI,OAAO;IAGZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEtG;AAED,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwGvE;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY1C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;AACzD,wBAeE"}
|