/** * 能力注册快照(任务 0.3,见 docs/rpa-core-refactor-tasks.md) * * 以与生产完全相同的路径(import "../src/main/capabilities" 的副作用注册) * 拉起全部能力模块,把运行时注册表的 id 清单写入 * resources/capability-snapshot.json。 * * 用法:npm run snapshot * 抽离改造各阶段完成后重跑并 git diff,快照变化必须为零(行为回归基准)。 */ import { writeFileSync } from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; import { describe, expect, it } from "vitest"; import { capabilityCount, capabilityIds } from "../src/main/capabilities"; const OUT_FILE = path.join( path.dirname(fileURLToPath(import.meta.url)), "..", "resources", "capability-snapshot.json" ); describe("能力注册快照", () => { it("全量注册后导出能力 id 清单", () => { const ids = [...capabilityIds()].sort(); expect(ids.length).toBeGreaterThan(0); const snapshot = { generatedAt: new Date().toISOString(), count: ids.length, ids }; writeFileSync(OUT_FILE, JSON.stringify(snapshot, null, 2) + "\n", "utf8"); console.log(`[能力快照] ${capabilityCount()} 个能力已写入 ${path.basename(OUT_FILE)}`); }); });