import fs from "node:fs/promises"; import path from "node:path"; import { describe, expect, it } from "vitest"; import { withTempHome } from "../../test/helpers/temp-home.js"; import { loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow.js"; describe("doctor config flow", () => { it("preserves invalid config for doctor repairs", async () => { await withTempHome(async (home) => { const configDir = path.join(home, ".clawdbot"); await fs.mkdir(configDir, { recursive: true }); await fs.writeFile( path.join(configDir, "clawdbot.json"), JSON.stringify( { gateway: { auth: { mode: "token", token: 123 } }, agents: { list: [{ id: "pi" }] }, }, null, 2, ), "utf-8", ); const result = await loadAndMaybeMigrateDoctorConfig({ options: { nonInteractive: true }, confirm: async () => false, }); expect((result.cfg as Record).gateway).toEqual({ auth: { mode: "token", token: 123 }, }); }); }); });