earendil-works/pi · error

Request was aborted

Error message

Request was aborted

What it means

Error "Request was aborted" thrown in earendil-works/pi.

Source

Thrown at packages/ai/src/api/openai-completions.ts:639

					if (Array.isArray(reasoningDetails)) {
						for (const detail of reasoningDetails) {
							if (!isOpenAIReasoningDetail(detail)) continue;
							const block = ensureThinkingBlock("");
							const preservedDetails = parseOpenAIReasoningDetails(block.thinkingSignature) ?? [];
							preservedDetails.push(detail);
							// Keep provider replay data in the existing signature slot. OpenRouter
							// requires the complete reasoning_details sequence in its original order.
							block.thinkingSignature = JSON.stringify(preservedDetails);
						}
					}
				}
			}

			for (const block of blocks) {
				finishBlock(block);
			}
			if (options?.signal?.aborted) {
				throw new Error("Request was aborted");
			}

			if (output.stopReason === "aborted") {
				throw new Error("Request was aborted");
			}
			if (!hasFinishReason && !compat.supportsFinishReason) {
				output.stopReason = output.content.some((block) => block.type === "toolCall") ? "toolUse" : "stop";
			}
			if (output.stopReason === "error") {
				throw new Error(output.errorMessage || "Provider returned an error stop reason");
			}
			if ((compat.supportsFinishReason && !hasFinishReason) || output.stopReason === "pending") {
				throw new Error("Stream ended without finish_reason");
			}

			stream.push({ type: "done", reason: output.stopReason, message: output });
			stream.end();
		} catch (error) {

View on GitHub (pinned to 4af9d21d3b)

Solutions

  1. Retry the request; ensure the abort signal is not triggered early.

When it happens

Trigger: Thrown at packages/ai/src/api/openai-completions.ts:639 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/ea71875612ce8b3d. Report an issue: GitHub.