UNPKG

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
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", }; } };