import { ErrorCategory } from "./error-category.type.mjs"; import { AIErrorOptions } from "./ai-error.mjs"; import { PlannerFailedError } from "./planner-failed-error.mjs"; //#region ../ai/src/errors/planner-drift-error.d.ts type PlannerDriftErrorOptions = AIErrorOptions & { /** Signature recorded on the snapshot being resumed. */savedSignature: string; /** Signature computed from the current planner definition. */ currentSignature: string; runId: string; }; /** * `planner.resume(runId)` loaded a durable snapshot whose structural * fingerprint does not match the current planner definition (name + * ordered capability names). The resume is refused — no node runs — and * the user decides how to recover: discard the snapshot, migrate * manually, or call `resume(runId, { force: true })` to bypass the check. * * A mid-run re-plan is NOT drift — the plan changed, not the definition; * the persisted `replanCount` honors the replan budget across a resume. * * Mirrors `SupervisorDriftError` / `WorkflowDriftError` — same rationale, * different primitive. Thrown (not returned on `result.error`) because a * drifted resume never produces a valid run. */ declare class PlannerDriftError extends PlannerFailedError { static readonly defaultCategory: ErrorCategory; readonly savedSignature: string; readonly currentSignature: string; readonly runId: string; constructor(message: string, options: PlannerDriftErrorOptions); } //#endregion export { PlannerDriftError, PlannerDriftErrorOptions }; //# sourceMappingURL=planner-drift-error.d.mts.map