export type CommandResult = { stdout: string; stderr: string; exitCode: number; truncated: boolean; }; export type CommandSpec = { file: string; args: string[]; cwd?: string; }; export type RunOptions = { signal?: AbortSignal; timeoutMs?: number; target?: string; input?: string | Buffer; }; /** Port used by Magento inspection and workflows, independent of environment type. */ export interface CommandExecutor { path(path: string): string; command(argv: string[], target?: string): CommandSpec; run(argv: string[], options?: RunOptions): Promise; }