Initial commit with translated description
This commit is contained in:
51
cleanup.js
Normal file
51
cleanup.js
Normal file
@@ -0,0 +1,51 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// CLEANUP MODULE
|
||||
// Removes old temporary artifacts to keep the workspace clean.
|
||||
|
||||
const EVOLUTION_DIR = path.resolve(__dirname, '../../memory/evolution');
|
||||
const MAX_AGE_MS = 24 * 60 * 60 * 1000; // 24 hours
|
||||
const MAX_COUNT = 10; // Keep at least 10 recent files regardless of age
|
||||
|
||||
function run() {
|
||||
console.log('[Cleanup] Scanning for old artifacts...');
|
||||
if (!fs.existsSync(EVOLUTION_DIR)) return;
|
||||
|
||||
try {
|
||||
const files = fs.readdirSync(EVOLUTION_DIR)
|
||||
.filter(f => f.startsWith('gep_prompt_') && (f.endsWith('.json') || f.endsWith('.txt')))
|
||||
.map(f => ({
|
||||
name: f,
|
||||
path: path.join(EVOLUTION_DIR, f),
|
||||
time: fs.statSync(path.join(EVOLUTION_DIR, f)).mtimeMs
|
||||
}))
|
||||
.sort((a, b) => b.time - a.time); // Newest first
|
||||
|
||||
const toDelete = files.slice(MAX_COUNT).filter(f => (Date.now() - f.time) > MAX_AGE_MS);
|
||||
|
||||
if (toDelete.length > 0) {
|
||||
console.log(`[Cleanup] Deleting ${toDelete.length} old GEP prompts...`);
|
||||
toDelete.forEach(f => {
|
||||
try {
|
||||
fs.unlinkSync(f.path);
|
||||
} catch (e) {
|
||||
console.error(`Failed to delete ${f.name}: ${e.message}`);
|
||||
}
|
||||
});
|
||||
return toDelete.length;
|
||||
} else {
|
||||
console.log('[Cleanup] No files to delete.');
|
||||
return 0;
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(`[Cleanup] Error: ${err.message}`);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
run();
|
||||
}
|
||||
|
||||
module.exports = { run };
|
||||
Reference in New Issue
Block a user