openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
29 lines (28 loc) • 1.29 kB
JavaScript
import { t as formatErrorMessage } from "./errors-BSdPMFao.mjs";
import { t as note } from "./note-BpWs6H5N.mjs";
import { t as readBackupArchiveDirectories } from "./backup-run-records-4FLbJ-QE.mjs";
import { r as maintainBackupScratch } from "./backup-scratch-CBYJWmoj.mjs";
import os from "node:os";
//#region src/commands/doctor-backup-scratch.ts
async function noteBackupScratchHealth(env, shouldRepair) {
const roots = [os.tmpdir()];
try {
roots.push(...readBackupArchiveDirectories(env));
} catch (error) {
note(`Cannot discover recorded backup scratch locations: ${formatErrorMessage(error)}`, "Backups");
}
const report = await maintainBackupScratch({
roots,
repair: shouldRepair
});
const lines = [
...report.unchecked.map((directory) => `Backup scratch awaiting lifecycle check: ${directory}. Run \`openclaw doctor --fix\` to remove it if abandoned.`),
...report.reclaimed.map((directory) => `Removed abandoned backup scratch: ${directory}`),
...report.alreadyReclaimed.map((directory) => `Backup scratch already reclaimed: ${directory}`),
...report.active.map((directory) => `Kept active backup scratch: ${directory}`),
...report.warnings
];
if (lines.length) note(lines.join("\n"), "Backup scratch");
}
//#endregion
export { noteBackupScratchHealth };