scai
Version:
> **AI-powered CLI for local code analysis, commit message suggestions, and natural-language queries.** 100% local, private, GDPR-friendly, made in Denmark/EU with ❤️.
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",
};
}
};