/** * `lobu rollback ` — restore a previous deployment from its stored * snapshot, through the SAME diff/preview/execute engine as `lobu apply`. * * A deployment's manifest is self-contained: the redacted desired state plus * retained connector-version pins ({key: version} → the org's own * `connector_versions` rows). Rollback therefore never re-uploads source, * never fetches URLs, and structurally cannot touch a secret: * * - connectors: pointer flips via `rollback_connector_version` against the * recorded pins — the bytes already live org-scoped server-side; * - config resources: the snapshot state runs through computeDiff/executePlan * with a plan preview and confirm, exactly like an apply; * - secrets: the snapshot carries structural redaction sentinels, which * sanitization converts to "keep current" (credentials undeclared, provider * keys unpushed, sentinel-bearing connection configs pinned to their current * remote values) — rollback restores INTENT, never rotates a secret. * * Completing a rollback pauses deployments for the org (Vercel-style paused * promotions): the next `lobu apply` refuses until `--resume`, so a CI run * can't silently re-promote the config that was just rolled back. */ import type { DesiredState } from "./desired-state.js"; interface RollbackOptions { applyId: string; cwd?: string; yes?: boolean; org?: string; url?: string; cliVersion?: string; fetchImpl?: typeof fetch; } /** * Convert the snapshot's redaction sentinels into "keep current" semantics. * Returns the sanitized state plus operator-facing notes for anything pinned. */ export declare function sanitizeSnapshotState(raw: Record, remoteConnectionConfigs?: Map>): { state: DesiredState; notes: string[]; }; export declare function rollbackCommand(opts: RollbackOptions): Promise; export {}; //# sourceMappingURL=rollback-cmd.d.ts.map