scai
Version:
> **A local-first AI CLI for understanding, querying, and iterating on large codebases.** > **100% local • No token costs • No cloud • No prompt injection • Private by design**
34 lines (33 loc) • 1.37 kB
JavaScript
import { normalizeText, stripMarkdownFences, isCodeLike } from "../../utils/contentUtils.js";
export const cleanGeneratedTestsModule = {
name: "cleanGeneratedTestsModule",
description: "Removes markdown fences, prose, and explanations from generated test output, leaving only code",
async run(input) {
const { content, filepath } = input;
// normalize + strip markdown
const normalized = normalizeText(content);
const stripped = stripMarkdownFences(normalized);
// filter non-code lines, but keep blank ones
const lines = stripped.split("\n");
const codeLines = lines.filter(line => line.trim() === "" || isCodeLike(line));
// remove duplicate imports (normalize spacing/semicolon)
const seenImports = new Set();
const dedupedLines = codeLines.filter(line => {
if (line.trim().startsWith("import")) {
const key = line.trim().replace(/;$/, "");
if (seenImports.has(key)) {
return false;
}
seenImports.add(key);
}
return true;
});
const cleanedCode = dedupedLines.join("\n").trimEnd();
return {
originalContent: content,
content: cleanedCode,
filepath,
mode: "overwrite",
};
}
};