import type { Turn } from '../types/session/turn.js'; import type { EvalTurn } from './types.js'; /** * Project a finished `Turn` into the shape scorers consume. * * This is the whole bridge between the harness and the runtime, and it is * three lines of mapping because `Turn.steps` exists. Before that, a * trajectory scorer would have had to correlate raw `SessionEvent`s by * iteration number and diff cumulative counters — which is why the step * record had to land before the harness could. */ export declare function evalTurnFromTurn(turn: Turn, opts?: { durationMs?: number; }): EvalTurn; /** * Drain a `query()` generator to its returned `Turn`, then project it. * * The common case, so it does not need writing per suite: * * ```ts * runExperiment({ * name: 'file-editing', * cases, * scorers: [trajectoryScorer(), completionScorer()], * run: (input) => evalTurnFromQuery(query({ provider, tools, messages: input, … })), * }) * ``` */ export declare function evalTurnFromQuery(generator: AsyncGenerator): Promise; //# sourceMappingURL=from-turn.d.ts.map