fix: honor state dir override in config resolution

This commit is contained in:
Peter Steinberger
2026-01-28 01:08:26 +00:00
parent 4647309c4c
commit f6d0d4dbc2
2 changed files with 20 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ import { describe, expect, it, vi } from "vitest";
import {
resolveDefaultConfigCandidates,
resolveConfigPath,
resolveOAuthDir,
resolveOAuthPath,
resolveStateDir,
@@ -106,4 +107,21 @@ describe("state + config path candidates", () => {
vi.resetModules();
}
});
it("respects state dir overrides when config is missing", async () => {
const root = await fs.mkdtemp(path.join(os.tmpdir(), "moltbot-config-override-"));
try {
const legacyDir = path.join(root, ".clawdbot");
await fs.mkdir(legacyDir, { recursive: true });
const legacyConfig = path.join(legacyDir, "moltbot.json");
await fs.writeFile(legacyConfig, "{}", "utf-8");
const overrideDir = path.join(root, "override");
const env = { MOLTBOT_STATE_DIR: overrideDir } as NodeJS.ProcessEnv;
const resolved = resolveConfigPath(env, overrideDir, () => root);
expect(resolved).toBe(path.join(overrideDir, "moltbot.json"));
} finally {
await fs.rm(root, { recursive: true, force: true });
}
});
});