IFClite TypeScript API
    Preparing search index...

    Function planRetention

    • Plan retention for a directory of room logs/snapshots.

      Naming convention used by FilePersistence:

      • <roomId>.log ← active log (never deleted by this fn)
      • <roomId>.log.<isoStamp> ← rotated logs (auditable)
      • <roomId>.snap.<isoStamp> ← periodic snapshots (kept longer)

      Plus SnapshotWorker's real output, which is what actually lands on disk today (FilePersistence compacts its log in place and never rotates it):

      • <roomId>.<isoStamp>.ifcx ← periodic snapshots, classified snapshot

      Tools shipping their own naming convention can pass a custom matcher via the classify option.

      Parameters

      • dir: string
      • Optionalpolicy: RetentionPolicy
      • Optionaloptions: { classify?: (file: string) => "snapshot" | "unknown" | "active" | "log" }

      Returns RetentionDecision