Aller au contenu
English

RecoveryRestorePlan

import type { RecoveryRestorePlan } from "@elie-laloum/outpost";
  • fingerprintRequis
    string
    SHA-256 de tous les autres champs du plan. restoreRecoveryTransfer() rejette un plan qui ne lui correspond plus.
  • manifestSha256Requis
    string
    SHA-256 du checksums.json du transfert lors de la planification. La restauration rejette avec le code configuration si le manifeste a changé.
  • commitRequis
    string
    Commit sur lequel la destination sera détachée : le dernier commit synchronisé pour previous, le HEAD de la sandbox pour incoming.
  • payloadsRequis
    readonly string[]
    Chemins des fichiers non suivis, relatifs au checkout, copiés depuis previous-files/ ou incoming/ dans la destination après les patches.
  • stagingRequis
    "unavailable" | "preserved"
    preserved pour previous : les changements indexés sont restaurés dans l’index Git. unavailable pour incoming : l’index de la sandbox n’est pas capturé.
  • directoryRequis
    string
    Dossier du transfert conservé, tel que l’indique details.recovery de l’erreur de synchronisation. Il doit contenir state.json et checksums.json.
  • repositoryRequis
    string
    Dépôt Git hôte cloné dans la destination ; il est seulement lu. Un dépôt partiel, superficiel (shallow) ou à objets alternates échoue au contrôle Git.
  • destinationRequis
    string
    Nouveau dossier à créer. Son parent doit exister ; le chemin ne doit pas exister et doit se trouver hors du dépôt, de ses métadonnées Git et du transfert.
  • sideRequis
    "previous" | "incoming"
    previous restaure le worktree hôte tel qu’il était sauvegardé avant le transfert, index Git compris ; incoming restaure les commits, changements non commités et fichiers non suivis de la sandbox.
  • maxBytesOptionnel
    number | undefined
    Nombre maximal d’octets du transfert copiés et hachés, 1073741824 (1 Gio) par défaut. Un dépassement rejette avec le code configuration.
export interface RecoveryRestorePlan extends RecoveryRestoreOptions {
  readonly fingerprint: string;
  readonly manifestSha256: string;
  readonly commit: string;
  readonly payloads: readonly string[];
  readonly staging: "preserved" | "unavailable";
}