import type { ExecutionPlan, ExecutionStep } from "../execution/execution_types.js"; export interface ExecutionStepResult { step_id: string; status: "executed" | "skipped" | "blocked" | "failed"; changed_files?: string[]; error?: string; } /** Step 执行器接口。默认 dryRunExecutor(模拟);Golden Case 接 AI host executor。 */ export interface ExecutionStepExecutor { execute(step: ExecutionStep): Promise; } /** dryRun executor:模拟执行(不真改文件/不调 shell),标记 executed + changed_files=[target_file]。 */ export declare const dryRunExecutor: ExecutionStepExecutor; export interface ExecutionRunResult { run_id: string; plan_id: string; task_id: string; executed_steps: string[]; skipped_steps: string[]; blocked_steps: string[]; step_results: ExecutionStepResult[]; status: "completed" | "partial" | "skipped" | "blocked"; /** scope 违规文件(step.target_file 不在 expected,被阻断) */ scope_violations?: string[]; created_at: number; } /** 遍历 plan.steps:每步前 checkScope(验 target_file 在 expected),通过则 executor.execute,violation→blocked。 */ export declare function runExecutionPlan(plan: ExecutionPlan, executor?: ExecutionStepExecutor): Promise;