/** * Plan preview/apply function. * * Orchestrates `augmentPlanWithReconciliation`, `scanPlanReadiness`, * and `applyPlan` with `displayPlan` and interactive prompts, and produces * one `OperationResolution` at every termination path. Channels project the * returned resolution; this boundary renders only transient planning output. * * This is a free function, not a method on WorkspaceMutationsService. * * @experimental This API is unstable and may change without notice. */ import * as FileSystem from "effect/FileSystem"; import * as Path from "effect/Path"; import * as Effect from "effect/Effect"; import { CliRenderer } from "../cli-renderer/index.js"; import { type AppError } from "../app-error/index.js"; import { type ExecutionCandidate } from "./execution-candidate.js"; import type { Plan } from "./plan.js"; import { type OperationResolution } from "./operation-resolution.js"; import { WorkspaceMutations } from "../workspace/service-interface.js"; import { ResolvePlanInteraction } from "../workspace/resolve-plan-interaction.js"; import { Verbosity } from "../cli-flags/index.js"; import { type PlanExecution } from "../cli-runtime/confirmation-recovery.js"; export declare const STALE_CANDIDATE_DETAIL = "The execution candidate became stale before apply."; /** * Preview or apply (display, confirm, and execute) a plan using the workspace read model. * * Steps: * 1. Augment plan with lockfile reconciliation if needed * 2. Scan for errors/warnings * 3. Construct and display the exact candidate * 4. Fail closed on blockers and missing named policies * 5. Preview or approve confirmable semantic risk * 6. Revalidate and apply the same candidate * * Every termination path resolves to one `OperationResolution`. */ export declare const previewOrApplyPlan: (plan: Plan, options: { execution: PlanExecution; beforeApply?: (candidate: ExecutionCandidate) => Effect.Effect; }) => Effect.Effect, AppError, Path.Path | FileSystem.FileSystem | WorkspaceMutations | CliRenderer | Verbosity | ResolvePlanInteraction | Exclude, import("effect/Scope").Scope>>; //# sourceMappingURL=resolve-plan.d.ts.map