export interface EpisodeStatus { episode: number; title?: string; hasScript: boolean; shotCount: number; scriptApproved: boolean; qaReported: boolean; qaApproved: boolean; /** video-qa-report.json exists (post-render QA on the rendered units). */ videoQaReported: boolean; panelCount: number; videoCount: number; hasMusic: boolean; dialogueCount: number; hasFinalCut: boolean; /** Short stage name, e.g. 'storyboard', 'qa gate', 'rendering'. */ stage: string; /** Literal command to run next, or undefined when the episode is done. */ nextCommand?: string; /** * Loop mode is a gate-skipping alternate path (see PIPELINE_BRANCHES): the * moment a shot script exists, `venice-video loop` can render + watch/gather * takes without the storyboard/QA gates. `status` surfaces it so an agent * following "next command" learns the branch exists. */ loopAvailable: boolean; } export interface ProjectStatus { projectDir: string; name: string; slug: string; aestheticSet: boolean; characterCount: number; lockedVoiceCount: number; locationCount: number; episodes: EpisodeStatus[]; /** Command to run next at the project level (aesthetic, cast) if any. */ nextCommand?: string; /** * The `loop` command for the first episode with a shot script, if any. An * alternate path to the linear `nextCommand`, not a replacement for it. */ loopCommand?: string; } /** * Turn a shell-form suggestion (`qa-storyboard -e 3`) into one that also works * pasted into a plain terminal (`qa-storyboard -p "" -e 3`). * * Inside the shell `-p` defaults to the selection, so the short form is what * gets suggested there. Anywhere the project is not implied -- the treatment * page, a log someone reads tomorrow -- the command needs the directory or it * fails on a missing required option. A trailing `# comment` stays trailing. */ export declare function qualifyCommand(command: string, projectDir: string): string; export declare function collectProjectStatus(projectDir: string): Promise; export declare function formatProjectStatus(status: ProjectStatus, selectedEpisode?: number): string; //# sourceMappingURL=status.d.ts.map