/** * Answer assembly with TYPED finality (W-C1): a harness's `final` message * (claude/cursor terminal `result`, codex's finalized last agent message) IS * the answer, verbatim — mid-run narration never bleeds into it. The joined * narration remains the fallback for adapters/versions without the marker. */ export declare class AnswerAssembly { private readonly parts; private finalText?; /** * MACHINE-truth final, decoupled from the DISPLAY final (codex #19816 / * QA-009). A codex constrained WorkReport route pre-unwraps its final * message's DISPLAY text to the `output` (so the answer bubble + the app's * twin-removal see the unwrapped output, not raw JSON) and carries the raw * `{work_report, output}` envelope on `payload.work_report_envelope`. The * orchestrator un-nests machine truth via `machineText()`, so the display * unwrap never breaks the envelope parse; adapters that leave the raw envelope * IN the final text (claude) never set this, so `machineText()` === `text()`. */ private machineFinalText?; /** Feed one already-sanitized harness event; non-answer events are ignored. */ observe(ev: { type: string; text?: string; final?: boolean; payload?: Record; }): void; /** Whether a typed final answer has been accepted. */ hasFinal(): boolean; /** The assembled answer for DISPLAY: the typed final verbatim, else joined * narration. For codex constrained routes this is the UNWRAPPED output. */ text(): string; /** The assembled answer for MACHINE consumption (the WorkReport un-nest): the * raw envelope when the adapter pre-unwrapped the display copy, else identical * to `text()`. The orchestrator passes THIS to `unwrapWorkReportEnvelope`. */ machineText(): string; } /** * A3 deliverable hygiene — the ONE policy owner of "which try output may become * answer material". An ERRORED attempt that never accepted a typed final has no * deliverable: its joined narration (and any adapter prose that slipped through * as messages) must never become answer.md/report — the typed error/status * events remain the failure's surface, and D-16 `deliverable_present` stays the * one owner of "delivered". An errored attempt that DID accept a typed final * (e.g. a post-final budget stop) keeps that final verbatim. */ export declare function acceptedTryOutput(answer: AnswerAssembly, attemptErrored: boolean): string; //# sourceMappingURL=answer-assembly.d.ts.map