earendil-works/pi · error
No response body
Error message
No response body
What it means
Error "No response body" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/api/openai-codex-responses.ts:460
if (
attempt < maxRetries &&
!(lastError instanceof RetryDelayExceededError) &&
!lastError.message.includes("usage limit")
) {
const delayMs = BASE_DELAY_MS * 2 ** attempt;
await sleep(delayMs, options?.signal);
continue;
}
throw lastError;
}
}
if (!response?.ok) {
throw lastError ?? new Error("Failed after retries");
}
if (!response.body) {
throw new Error("No response body");
}
if (!startEmitted) {
startEmitted = true;
stream.push({ type: "start", partial: output });
}
await processStream(response, output, stream, model, grammarToolInputProperties, options);
if (options?.signal?.aborted) {
throw new Error("Request was aborted");
}
assertSuccessfulOutput(output);
stream.push({ type: "done", reason: output.stopReason, message: output });
stream.end();
} catch (error) {
for (const block of output.content) {
// Streaming scratch buffers are only used during parsing; never persist them.View on GitHub (pinned to 4af9d21d3b)
Solutions
- Retry; verify the endpoint returns a streamed response body.
When it happens
Trigger: Thrown at packages/ai/src/api/openai-codex-responses.ts:460 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/7f8ca4974db5ce22.
Report an issue: GitHub.