import { type ImageJobRole } from './cinema-image-jobs.js'; import type { CinemaProviderRouteId } from './cinema-provider-projection.js'; import type { CinemaQueueTask } from './cinema-queue-types.js'; import type { CinemaSha256 } from './cinema-types.js'; /** * The exact thing an image transport submits. This is the image lane's answer to * `VideoExecutionPayload`, and it is deliberately a SEPARATE type rather than a * widening of it: the video payload is keyed on a core `ProviderRouteId`, and * Cinema image route ids are a different id space that ADR 0001 forbids merging. */ export interface CinemaImageSubmitPayload { taskId: string; routeId: CinemaProviderRouteId; jobId: string; /** The plan hash the queue task was compiled against. */ jobHash: CinemaSha256; prompt: string; role: ImageJobRole; subjectId: string; characterVersionId?: string; /** Absolute paths to the plan's verified reference images, in plan order. */ referencePaths: string[]; /** * Where the bytes land. Derived from the task id alone, so a worker that * crashed after writing can find them again and report the job complete * instead of asking a human — or worse, paying twice. */ outputPath: string; } /** * Build the submit payload for an `image-generate` task by READING the immutable * plan the task references, not by trusting anything copied into the queue. * * `readCinemaImageJob` re-verifies the plan hash, the project binding, the active * planning receipt and every source file's bytes, and then this function asserts * the plan is the same one the task was compiled against. A reference that * changed between compile and work therefore fails HERE, before any spend, * rather than rendering against an input nobody approved. */ export declare function buildCinemaImageSubmitPayload(root: string, projectSlug: string, task: CinemaQueueTask): Promise; /** * Deterministic from the task id, so it is the same on every attempt. The * extension is fixed rather than discovered: every image route here returns PNG, * and a path that depends on the response cannot be recomputed by a worker that * is trying to find out whether a previous attempt already wrote the bytes. */ export declare function cinemaImageOutputPath(root: string, projectSlug: string, taskId: string): string; //# sourceMappingURL=cinema-image-payload.d.ts.map