chore: checkpoint Boss app v2.5.11

This commit is contained in:
AI Bot
2026-06-08 12:22:50 +08:00
parent bddbe8b5ba
commit 3b51641d99
78 changed files with 5706 additions and 954 deletions

View File

@@ -590,22 +590,58 @@ export async function discoverCodexProjectCandidatesInWorker(options = {}) {
options,
},
});
const timeoutMs = Number(options.timeoutMs);
const effectiveTimeoutMs = Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 0;
let settled = false;
let timeout;
const cleanup = () => {
if (timeout) {
clearTimeout(timeout);
}
};
const resolveOnce = (value) => {
if (settled) {
return;
}
settled = true;
cleanup();
resolvePromise(value);
};
const rejectOnce = (error) => {
if (settled) {
return;
}
settled = true;
cleanup();
rejectPromise(error);
};
if (effectiveTimeoutMs > 0) {
timeout = setTimeout(() => {
rejectOnce(new Error("DISCOVERY_WORKER_TIMEOUT"));
worker.terminate().catch(() => null);
}, effectiveTimeoutMs);
}
worker.once("message", (payload) => {
if (payload?.ok) {
resolvePromise(payload.result);
resolveOnce(payload.result);
return;
}
rejectPromise(new Error(payload?.error ?? "DISCOVERY_WORKER_FAILED"));
rejectOnce(new Error(payload?.error ?? "DISCOVERY_WORKER_FAILED"));
});
worker.once("error", rejectPromise);
worker.once("error", rejectOnce);
worker.once("exit", (code) => {
if (code === 0) {
cleanup();
return;
}
rejectPromise(new Error(`DISCOVERY_WORKER_EXIT_${code}`));
rejectOnce(new Error(`DISCOVERY_WORKER_EXIT_${code}`));
});
});
}