[verified] feat: add semantic diagram lifecycle

This commit is contained in:
2026-09-03 19:11:50 +00:00
parent 5146b14d43
commit db4129168b
37 changed files with 1626 additions and 58 deletions
+9
View File
@@ -0,0 +1,9 @@
import { importDrawioToIR } from "../../services/semantic-lifecycle/import-drawio.js";
import { atomicWrite, structuredText } from "../../services/semantic-lifecycle/lifecycle-io.js";
export function run(filePath: string, _page = 0, outputPath?: string): Record<string, unknown> {
if (!outputPath) throw new Error("import requires --output <model.yaml|model.json>");
if (!/\.(?:ya?ml|json)$/i.test(outputPath)) throw new Error("import output must use a .yaml, .yml, or .json extension");
const result = importDrawioToIR(filePath);
const output = atomicWrite(outputPath, structuredText(result.ir, outputPath), [filePath]);
return { action: "import", file: filePath, output, lossReport: result.lossReport };
}