import type { EvalRecord } from "../eval/types.js"; import type { EventEnvelope } from "../statelog/wireTypes.js"; import type { Trace } from "./traces.js"; /** * A trace's input and output as text, for anything that shows a trace to a * person: the labeling screen, `agency runs list`, the "pick a trace" error. * One rule for what "the input" and "the output" of a trace are, so every * command shows the same thing. */ /** The input as text: what `agentStart` recorded when the caller named it, * else the last `evalValue()` (or the extractor's inferred user message); * null when the trace recorded neither. */ export declare function traceInputText(trace: { events: readonly EventEnvelope[]; }, record: EvalRecord): string | null; export type TraceOutputText = /** The last recorded output (`evalOutput()` or the entry node's return). */ { kind: "output"; text: string; } /** No output was recorded; this is the last assistant message instead. */ | { kind: "lastMessage"; text: string; } | { kind: "none"; }; export declare function traceOutputText(trace: Trace, record: EvalRecord): TraceOutputText;