hope / projectMemory.ts
Cunt1257's picture
Upload 4 files
2ab3016 verified
Raw
History Blame Contribute Delete
1.09 kB
import fs from "fs";
import path from "path";
import { safeResolve } from "./safePaths";
const allowedExtensions = [".md", ".txt", ".json", ".ts", ".tsx", ".js", ".prisma"];
const blockedFilenames = [".env", ".env.local", ".env.production"];
const blockedExtensions = [".pem", ".key", ".p12", ".sqlite", ".db"];
export function loadProjectMemory(memoryRoot: string, requestedFiles: string[]): string {
let memoryContent = "";
for (const file of requestedFiles) {
const ext = path.extname(file);
if (!allowedExtensions.includes(ext)) continue;
const normalizedFile = path.normalize(file).replace(/\\/g, "/");
const basename = path.basename(normalizedFile);
const extname = path.extname(normalizedFile);
if (blockedFilenames.includes(basename) || blockedExtensions.includes(extname)) continue;
const filePath = safeResolve(memoryRoot, file);
if (fs.existsSync(filePath)) {
const fileContent = fs.readFileSync(filePath, "utf8");
if (fileContent.length <= 1024 * 1024) memoryContent += fileContent + "\n\n";
}
}
return memoryContent;
}