chore: sync vendor baoyu-chrome-cdp across CDP skills
This commit is contained in:
parent
60ab574559
commit
c7c98ba034
|
|
@ -478,7 +478,7 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
chrome.kill("SIGTERM");
|
chrome.kill("SIGTERM");
|
||||||
} catch {}
|
} catch {}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!chrome.killed) {
|
if (chrome.exitCode === null && chrome.signalCode === null) {
|
||||||
try {
|
try {
|
||||||
chrome.kill("SIGKILL");
|
chrome.kill("SIGKILL");
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -486,6 +486,37 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
}, 2_000).unref?.();
|
}, 2_000).unref?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function gracefulKillChrome(
|
||||||
|
chrome: ChildProcess,
|
||||||
|
port?: number,
|
||||||
|
timeoutMs = 6_000,
|
||||||
|
): Promise<void> {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
|
||||||
|
const exitPromise = new Promise<void>((resolve) => {
|
||||||
|
chrome.once("exit", () => resolve());
|
||||||
|
});
|
||||||
|
|
||||||
|
killChrome(chrome);
|
||||||
|
|
||||||
|
const start = Date.now();
|
||||||
|
while (Date.now() - start < timeoutMs) {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
if (port !== undefined && !await isPortListening(port, 250)) return;
|
||||||
|
|
||||||
|
const exited = await Promise.race([
|
||||||
|
exitPromise.then(() => true),
|
||||||
|
sleep(100).then(() => false),
|
||||||
|
]);
|
||||||
|
if (exited) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Promise.race([
|
||||||
|
exitPromise,
|
||||||
|
sleep(250),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
||||||
let targetId: string;
|
let targetId: string;
|
||||||
let createdTarget = false;
|
let createdTarget = false;
|
||||||
|
|
|
||||||
|
|
@ -478,7 +478,7 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
chrome.kill("SIGTERM");
|
chrome.kill("SIGTERM");
|
||||||
} catch {}
|
} catch {}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!chrome.killed) {
|
if (chrome.exitCode === null && chrome.signalCode === null) {
|
||||||
try {
|
try {
|
||||||
chrome.kill("SIGKILL");
|
chrome.kill("SIGKILL");
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -486,6 +486,37 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
}, 2_000).unref?.();
|
}, 2_000).unref?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function gracefulKillChrome(
|
||||||
|
chrome: ChildProcess,
|
||||||
|
port?: number,
|
||||||
|
timeoutMs = 6_000,
|
||||||
|
): Promise<void> {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
|
||||||
|
const exitPromise = new Promise<void>((resolve) => {
|
||||||
|
chrome.once("exit", () => resolve());
|
||||||
|
});
|
||||||
|
|
||||||
|
killChrome(chrome);
|
||||||
|
|
||||||
|
const start = Date.now();
|
||||||
|
while (Date.now() - start < timeoutMs) {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
if (port !== undefined && !await isPortListening(port, 250)) return;
|
||||||
|
|
||||||
|
const exited = await Promise.race([
|
||||||
|
exitPromise.then(() => true),
|
||||||
|
sleep(100).then(() => false),
|
||||||
|
]);
|
||||||
|
if (exited) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Promise.race([
|
||||||
|
exitPromise,
|
||||||
|
sleep(250),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
||||||
let targetId: string;
|
let targetId: string;
|
||||||
let createdTarget = false;
|
let createdTarget = false;
|
||||||
|
|
|
||||||
|
|
@ -478,7 +478,7 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
chrome.kill("SIGTERM");
|
chrome.kill("SIGTERM");
|
||||||
} catch {}
|
} catch {}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!chrome.killed) {
|
if (chrome.exitCode === null && chrome.signalCode === null) {
|
||||||
try {
|
try {
|
||||||
chrome.kill("SIGKILL");
|
chrome.kill("SIGKILL");
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -486,6 +486,37 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
}, 2_000).unref?.();
|
}, 2_000).unref?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function gracefulKillChrome(
|
||||||
|
chrome: ChildProcess,
|
||||||
|
port?: number,
|
||||||
|
timeoutMs = 6_000,
|
||||||
|
): Promise<void> {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
|
||||||
|
const exitPromise = new Promise<void>((resolve) => {
|
||||||
|
chrome.once("exit", () => resolve());
|
||||||
|
});
|
||||||
|
|
||||||
|
killChrome(chrome);
|
||||||
|
|
||||||
|
const start = Date.now();
|
||||||
|
while (Date.now() - start < timeoutMs) {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
if (port !== undefined && !await isPortListening(port, 250)) return;
|
||||||
|
|
||||||
|
const exited = await Promise.race([
|
||||||
|
exitPromise.then(() => true),
|
||||||
|
sleep(100).then(() => false),
|
||||||
|
]);
|
||||||
|
if (exited) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Promise.race([
|
||||||
|
exitPromise,
|
||||||
|
sleep(250),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
||||||
let targetId: string;
|
let targetId: string;
|
||||||
let createdTarget = false;
|
let createdTarget = false;
|
||||||
|
|
|
||||||
|
|
@ -478,7 +478,7 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
chrome.kill("SIGTERM");
|
chrome.kill("SIGTERM");
|
||||||
} catch {}
|
} catch {}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!chrome.killed) {
|
if (chrome.exitCode === null && chrome.signalCode === null) {
|
||||||
try {
|
try {
|
||||||
chrome.kill("SIGKILL");
|
chrome.kill("SIGKILL");
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -486,6 +486,37 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
}, 2_000).unref?.();
|
}, 2_000).unref?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function gracefulKillChrome(
|
||||||
|
chrome: ChildProcess,
|
||||||
|
port?: number,
|
||||||
|
timeoutMs = 6_000,
|
||||||
|
): Promise<void> {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
|
||||||
|
const exitPromise = new Promise<void>((resolve) => {
|
||||||
|
chrome.once("exit", () => resolve());
|
||||||
|
});
|
||||||
|
|
||||||
|
killChrome(chrome);
|
||||||
|
|
||||||
|
const start = Date.now();
|
||||||
|
while (Date.now() - start < timeoutMs) {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
if (port !== undefined && !await isPortListening(port, 250)) return;
|
||||||
|
|
||||||
|
const exited = await Promise.race([
|
||||||
|
exitPromise.then(() => true),
|
||||||
|
sleep(100).then(() => false),
|
||||||
|
]);
|
||||||
|
if (exited) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Promise.race([
|
||||||
|
exitPromise,
|
||||||
|
sleep(250),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
||||||
let targetId: string;
|
let targetId: string;
|
||||||
let createdTarget = false;
|
let createdTarget = false;
|
||||||
|
|
|
||||||
|
|
@ -478,7 +478,7 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
chrome.kill("SIGTERM");
|
chrome.kill("SIGTERM");
|
||||||
} catch {}
|
} catch {}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!chrome.killed) {
|
if (chrome.exitCode === null && chrome.signalCode === null) {
|
||||||
try {
|
try {
|
||||||
chrome.kill("SIGKILL");
|
chrome.kill("SIGKILL");
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -486,6 +486,37 @@ export function killChrome(chrome: ChildProcess): void {
|
||||||
}, 2_000).unref?.();
|
}, 2_000).unref?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function gracefulKillChrome(
|
||||||
|
chrome: ChildProcess,
|
||||||
|
port?: number,
|
||||||
|
timeoutMs = 6_000,
|
||||||
|
): Promise<void> {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
|
||||||
|
const exitPromise = new Promise<void>((resolve) => {
|
||||||
|
chrome.once("exit", () => resolve());
|
||||||
|
});
|
||||||
|
|
||||||
|
killChrome(chrome);
|
||||||
|
|
||||||
|
const start = Date.now();
|
||||||
|
while (Date.now() - start < timeoutMs) {
|
||||||
|
if (chrome.exitCode !== null || chrome.signalCode !== null) return;
|
||||||
|
if (port !== undefined && !await isPortListening(port, 250)) return;
|
||||||
|
|
||||||
|
const exited = await Promise.race([
|
||||||
|
exitPromise.then(() => true),
|
||||||
|
sleep(100).then(() => false),
|
||||||
|
]);
|
||||||
|
if (exited) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Promise.race([
|
||||||
|
exitPromise,
|
||||||
|
sleep(250),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
export async function openPageSession(options: OpenPageSessionOptions): Promise<PageSession> {
|
||||||
let targetId: string;
|
let targetId: string;
|
||||||
let createdTarget = false;
|
let createdTarget = false;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue