Merge pull request #664 from azade-c/fix/use-state-dir-for-nodes-voicewake

fix: use resolveStateDir() for node-pairing and voicewake storage
This commit is contained in:
Peter Steinberger
2026-01-10 17:07:28 +00:00
committed by GitHub
4 changed files with 14 additions and 13 deletions

View File

@@ -1,7 +1,7 @@
import { randomUUID } from "node:crypto";
import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { resolveStateDir } from "../config/paths.js";
export type NodePairingPendingRequest = {
requestId: string;
@@ -48,12 +48,8 @@ type NodePairingStateFile = {
const PENDING_TTL_MS = 5 * 60 * 1000;
function defaultBaseDir() {
return path.join(os.homedir(), ".clawdbot");
}
function resolvePaths(baseDir?: string) {
const root = baseDir ?? defaultBaseDir();
const root = baseDir ?? resolveStateDir();
const dir = path.join(root, "nodes");
return {
dir,

View File

@@ -1,7 +1,7 @@
import { randomUUID } from "node:crypto";
import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { resolveStateDir } from "../config/paths.js";
export type VoiceWakeConfig = {
triggers: string[];
@@ -10,12 +10,8 @@ export type VoiceWakeConfig = {
const DEFAULT_TRIGGERS = ["clawd", "claude", "computer"];
function defaultBaseDir() {
return path.join(os.homedir(), ".clawdbot");
}
function resolvePath(baseDir?: string) {
const root = baseDir ?? defaultBaseDir();
const root = baseDir ?? resolveStateDir();
return path.join(root, "settings", "voicewake.json");
}

View File

@@ -45,6 +45,14 @@ vi.mock("../config/config.js", async (importOriginal) => {
};
});
vi.mock("../config/sessions.js", async (importOriginal) => {
const actual = await importOriginal<typeof import("../config/sessions.js")>();
return {
...actual,
updateLastRoute: vi.fn(async () => undefined),
};
});
vi.mock("./pairing-store.js", () => ({
readTelegramAllowFromStore: vi.fn(async () => [] as string[]),
upsertTelegramPairingRequest: vi.fn(async () => ({
@@ -63,7 +71,7 @@ vi.mock("../auto-reply/reply.js", () => {
describe("telegram inbound media", () => {
const INBOUND_MEDIA_TEST_TIMEOUT_MS =
process.platform === "win32" ? 30_000 : 10_000;
process.platform === "win32" ? 30_000 : 20_000;
it(
"downloads media via file_path (no file.download)",