/** * The target role: a canonical session becomes a new Codex thread file. * * C-7 measured what does not work: the injection API writes `response_item` entries, and the * resulting thread is absent from `thread/list` and shows zero turns on resume. C-8 measured what * does: a file with session metadata and one `event_msg` entry per turn is listed, previewed and * resumed with native turns. This module writes that file, and never calls that API. */ import type { CanonicalSession, ProvenanceMarker, SerializedSession, TargetProfile, ValidationDefect } from "./contract.js"; export type { CodexSerializeDeps } from "./contract.js"; import type { CodexSerializeDeps } from "./contract.js"; export declare function serializeCodex(session: CanonicalSession, target: TargetProfile, marker: ProvenanceMarker, deps: CodexSerializeDeps): SerializedSession; /** * FR-50, read against C-7's symptoms: a thread without metadata or without a non-empty first * user message is invisible to the picker, and a `response_item` entry is the shape C-8 replaced. */ export declare function validateCodex(serialized: SerializedSession): ValidationDefect[];