import { listCharacterProfiles } from './characters.js'; import { readReferenceSheetsArtifact } from './reference-sheet-store.js'; import { readSceneCandidatesArtifact } from './scene-candidate-store.js'; import { readSceneSelectionArtifact } from './scene-selection-store.js'; import { listPlaybooks } from './playbooks.js'; import { listPromptReferences } from './prompt-library.js'; import { listStoryboardTemplates } from './storyboard-templates.js'; import type { SceneCandidate } from './types.js'; export interface ReviewUiOptions { root: string; projectSlug: string; host?: string; port?: number; uiPath?: string; dryRun?: boolean; } export interface ReviewUiLaunch { url: string; host: string; port: number; root: string; projectSlug: string; uiPath: string; dryRun: boolean; } export interface ReviewInventory { root: string; projectSlug: string; projectDir: string; projectExists: boolean; projects: string[]; characters: Awaited>; referenceSheets: Awaited>; sceneCandidates: Awaited>; sceneSelection: Awaited>; reviewLedger: Record | null; reviewReport: Record | null; brief: Record | null; storyboard: Record | null; assetManifest: Record | null; executionReport: Record | null; publishReport: Record | null; generationQueue: ReviewStoryboardStillGenerationQueue | null; characterQueue: ReviewCharacterIterationQueue | null; playbooks: Awaited>; promptReferences: ReturnType; storyboardTemplates: ReturnType; mediaAssets: Array<{ path: string; kind: string; }>; schemas: string[]; } export interface ReviewDecisionSaveResult { projectSlug: string; path: string; savedAt: string; derivedArtifacts: Array<{ name: string; path: string; purpose: string; }>; lifecycle?: { checkpointPath: string; status: 'completed' | 'retry-required' | 'failed'; currentStage: 'publish' | 'review'; lastCompletedStage: 'review' | 'assets'; manifestUpdated: boolean; }; reviewReport?: Record; } export interface ReviewStoryboardStillCandidateResult { sceneIndex: number; candidate: SceneCandidate; reused: boolean; } export interface ReviewUpscaledStillCandidateResult { sceneIndex: number; sourceCandidateId: string; candidate: SceneCandidate; reused: boolean; } export interface ReviewStoryboardStillGenerationRequest { id: string; sceneIndex: number; provider: 'gobananas'; route: 'gobananas-storyboard-still'; status: 'queued' | 'fulfilled'; prompt: string; negativePrompt: string; aspectRatio: string; requestedAt: string; source: 'review-ui'; notes?: string; fulfilledAt?: string; candidateId?: string; imageUrl?: string; imageId?: string; } export interface ReviewStoryboardStillGenerationQueue { schemaVersion: 1; projectSlug: string; updatedAt: string; requests: ReviewStoryboardStillGenerationRequest[]; } export interface ReviewStoryboardStillGenerationRequestResult { path: string; request: ReviewStoryboardStillGenerationRequest; queue: ReviewStoryboardStillGenerationQueue; } export interface ReviewCharacterIterationRequest { id: string; provider: 'gobananas'; route: 'gobananas-character-iteration'; status: 'queued' | 'fulfilled' | 'failed'; characterName: string; prompt: string; negativePrompt: string; aspectRatio: string; count: number; requestedAt: string; source: 'review-ui'; notes?: string; fulfilledAt?: string; characterProfileId?: string; goBananasId?: number; referenceImageUrl?: string; imageId?: string; failedAt?: string; error?: string; } export interface ReviewCharacterIterationQueue { schemaVersion: 1; projectSlug: string; updatedAt: string; requests: ReviewCharacterIterationRequest[]; } export interface ReviewCharacterIterationRequestResult { path: string; request: ReviewCharacterIterationRequest; queue: ReviewCharacterIterationQueue; } export interface ReviewAutopilotOptions { root: string; projectSlug: string; template?: string; character?: string; runId?: string; } export interface ReviewAutopilotResult { projectSlug: string; template: string; character: string; runId: string; lockedStills: Array<{ sceneIndex: number; candidateId: string; imageUrl: string; }>; upscaledStills: Array<{ sceneIndex: number; sourceCandidateId: string; candidateId: string; imageUrl: string; reused: boolean; }>; decision: ReviewDecisionSaveResult; reviewReport: Record | null; } export declare function launchReviewUi(options: ReviewUiOptions): Promise; export declare function runReviewAutopilot(options: ReviewAutopilotOptions): Promise; export declare function saveReviewDecision(root: string, projectSlug: string, decision: unknown): Promise; export declare function recordReviewStoryboardStillCandidate(root: string, projectSlug: string, body: unknown): Promise; export declare function recordReviewUpscaledStillCandidate(root: string, projectSlug: string, body: unknown): Promise; export declare function recordReviewStoryboardStillGenerationRequest(root: string, projectSlug: string, body: unknown): Promise; export declare function recordReviewCharacterIterationRequest(root: string, projectSlug: string, body: unknown): Promise; export declare function isReviewReportPublishReady(reviewReport: Record | undefined | null): boolean; export declare function nextActionFromReviewReport(reviewReport: Record | undefined | null, fallback?: string): string | undefined; export declare function buildReviewInventory(root: string, projectSlug: string): Promise; //# sourceMappingURL=review-ui.d.ts.map