earendil-works/pi · error
Invalid timeoutMs: ${String(value)}
Error message
Invalid timeoutMs: ${String(value)} What it means
Error "Invalid timeoutMs: ${String(value)}" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/api/openai-codex-responses.ts:188
function sleep(ms: number, signal?: AbortSignal): Promise<void> {
return new Promise((resolve, reject) => {
if (signal?.aborted) {
reject(new Error("Request was aborted"));
return;
}
const timeout = setTimeout(resolve, ms);
signal?.addEventListener("abort", () => {
clearTimeout(timeout);
reject(new Error("Request was aborted"));
});
});
}
function normalizeTimeoutMs(value: number | undefined): number | undefined {
if (value === undefined) return undefined;
if (!Number.isFinite(value) || value < 0) {
throw new Error(`Invalid timeoutMs: ${String(value)}`);
}
return Math.floor(value);
}
// ============================================================================
// Request Compression
// ============================================================================
type ProcessWithBuiltinModule = typeof process & {
getBuiltinModule?: (id: "node:zlib") => typeof NodeZlib;
};
function loadNodeZlib(): typeof NodeZlib | null {
if (typeof process === "undefined" || !(process.versions?.node || process.versions?.bun)) {
return null;
}
return (process as ProcessWithBuiltinModule).getBuiltinModule?.("node:zlib") ?? null;
}View on GitHub (pinned to 4af9d21d3b)
Solutions
- Pass a positive finite number for timeoutMs.
When it happens
Trigger: Thrown at packages/ai/src/api/openai-codex-responses.ts:188 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/5951642c047f843d.
Report an issue: GitHub.