Files
hermes-mcp/product/site/cleanup-test-submissions.mjs
2026-04-29 09:52:53 -04:00

48 lines
1.4 KiB
JavaScript

import fs from "fs";
import path from "path";
const vaultRoot = process.env.OBSIDIAN_VAULT_PATH || "/home/garfield/obsidian/vaults";
const cleanupTag = "#squaremcp-test-cleanup";
const pilotLogPath = path.join(vaultRoot, "SquareMCP", "Pilot Requests.md");
const dailyNotePath = path.join(
vaultRoot,
"Daily Notes",
`${new Intl.DateTimeFormat("en-CA", {
timeZone: "America/New_York",
year: "numeric",
month: "2-digit",
day: "2-digit",
}).format(new Date())}.md`
);
function removeTaggedBlocks(content) {
const normalized = content.replace(/\r\n/g, "\n");
const blocks = normalized.split(/\n{2,}/);
const kept = blocks.filter((block) => !block.includes(cleanupTag));
return {
changed: kept.length !== blocks.length,
content: kept.join("\n\n").replace(/\n{3,}/g, "\n\n").trimEnd() + "\n",
removedCount: blocks.length - kept.length,
};
}
function cleanFile(filePath) {
if (!fs.existsSync(filePath)) {
return { changed: false, removedCount: 0 };
}
const original = fs.readFileSync(filePath, "utf8");
const result = removeTaggedBlocks(original);
if (result.changed) {
fs.writeFileSync(filePath, result.content, "utf8");
}
return result;
}
const pilotLogResult = cleanFile(pilotLogPath);
const dailyLogResult = cleanFile(dailyNotePath);
console.log("squaremcp cleanup complete");
console.log(`pilot_log_removed: ${pilotLogResult.removedCount}`);
console.log(`daily_log_removed: ${dailyLogResult.removedCount}`);