Aller au contenu
English

RecoveryRetentionPlan

import type { RecoveryRetentionPlan } from "@elie-laloum/outpost";
  • sourceOptionnel
    "transport" | undefined
    transport pour un plan construit avec un transporter ; absent pour un plan local. pruneRecoveryRetention() exige alors le même transporter.
  • repositoryRequis
    string
    Chemin racine du checkout inspecté ; pour un plan de transport, l’option repository telle quelle, ou une chaîne vide.
  • policyRequis
    RecoveryRetentionPolicy
    Copie de la politique validée ; le nettoyage et son plan after la réutilisent.
  • inspectedAtRequis
    string
    Horodatage ISO pris après l’inventaire ; l’âge des entrées est mesuré à partir de lui.
  • inspectionRequis
    RecoveryInspection
    Inventaire sur lequel repose le plan, avec les rapports de worktrees Git, de verrous et d’activité des ressources pour un plan local.
  • entriesRequis
    readonly RecoveryRetentionEntry[]
    Une entrée par élément inventorié, avec éligibilité, code de motif et octets.
  • completeRequis
    boolean
    Indique si l’inventaire, les contrôles des worktrees Git et la taille des objets de journal ont tous été lus dans la limite maxEntries. À false, aucune entrée n’est éligible, quota vaut unknown et pruneRecoveryRetention() rejette le plan.
  • usageBytesRequis
    number
    Octets observés à l’inspection : taille des fichiers sous .outpost, ou des objets du transport.
  • projectedBytesRequis
    number
    usageBytes moins les octets des entrées éligibles : l’usage restant si chaque candidat est supprimé.
  • quotaRequis
    "unknown" | "within" | "exceeded"
    exceeded quand projectedBytes dépasse maxBytes ou que les worktrees restants dépassent maxWorkspaces, unknown si l’inventaire est incomplet, sinon within.
export interface RecoveryRetentionPlan {
  readonly source?: "transport";
  readonly repository: string;
  readonly policy: RecoveryRetentionPolicy;
  readonly inspectedAt: string;
  readonly inspection: RecoveryInspection;
  readonly entries: readonly RecoveryRetentionEntry[];
  readonly complete: boolean;
  readonly usageBytes: number;
  readonly projectedBytes: number;
  readonly quota: "within" | "exceeded" | "unknown";
}