earendil-works/pi · error · Error
Pi eval input must include at least one prompt step.
Error message
Pi eval input must include at least one prompt step.
What it means
Error "Pi eval input must include at least one prompt step." thrown in earendil-works/pi.
Source
Thrown at packages/evals/src/pi-harness.ts:178
const abort = () => {
abortPromise ??= evalSession.abort();
};
signal?.addEventListener("abort", abort, { once: true });
try {
signal?.throwIfAborted();
if (evalSession.extensionRunner.getExtensionPaths().length !== 0) {
throw new Error("Expected an isolated eval session to start without extensions.");
}
const steps = typeof input === "string" ? [{ type: "prompt" as const, content: input }] : input;
let response: string | undefined;
for (const step of steps) {
if (step.type === "prompt") {
response = await promptAgent(evalSession, step.content, signal);
} else {
await evalSession.reload();
}
}
if (response === undefined) throw new Error("Pi eval input must include at least one prompt step.");
const output = "output" in options ? await options.output({ response, session: evalSession }) : response;
const stats = evalSession.getSessionStats();
const hasPricing = [model.cost, ...(model.cost.tiers ?? [])].some(
({ input, output, cacheRead, cacheWrite }) => input > 0 || output > 0 || cacheRead > 0 || cacheWrite > 0,
);
outcome = {
success: true,
result: {
output,
events: toTranscriptEvents(evalSession.messages),
usage: {
provider: model.provider,
model: model.id,
inputTokens: stats.tokens.input,
outputTokens: stats.tokens.output,
totalTokens: stats.tokens.total,
toolCalls: stats.toolCalls,
metadata: {View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/evals/src/pi-harness.ts:178 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/03604d888f91b007.
Report an issue: GitHub.