export interface ReviewedCommandInvocation { command: string; args: readonly string[]; } export interface ReviewedCommandRegistry { allows(commands: readonly string[]): boolean; resolve(command: string): Readonly; } /** * Resolve only the fixed command emitted by detectTestCommand(). BUILD plans * are model-authored control data, so even a human-skipped (`--yolo`) PLAN may * never widen this registry or obtain a generic shell. */ export declare function createReviewedCommandRegistry(detectedTestCommand: string | undefined): Readonly; export declare function executeReviewedCommand(registry: Readonly, exec: (command: string, args: string[], options: Readonly<{ cwd: string; timeout?: number; signal?: AbortSignal; }>) => Promise, command: string, options: Readonly<{ cwd: string; timeoutMs: number; signal?: AbortSignal; }>): Promise;