diff --git a/extensions/discord/src/monitor/model-picker-preferences.ts b/extensions/discord/src/monitor/model-picker-preferences.ts index ca3483678af..939a97a8931 100644 --- a/extensions/discord/src/monitor/model-picker-preferences.ts +++ b/extensions/discord/src/monitor/model-picker-preferences.ts @@ -2,8 +2,7 @@ import os from "node:os"; import path from "node:path"; import { normalizeAccountId as normalizeSharedAccountId } from "openclaw/plugin-sdk/account-id"; import { normalizeProviderId } from "openclaw/plugin-sdk/agent-runtime"; -import { withFileLock } from "openclaw/plugin-sdk/infra-runtime"; -import { resolveRequiredHomeDir } from "openclaw/plugin-sdk/infra-runtime"; +import { withFileLock } from "openclaw/plugin-sdk/file-lock"; import { readJsonFileWithFallback, writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store"; import { resolveStateDir } from "openclaw/plugin-sdk/state-paths"; @@ -37,7 +36,7 @@ export type DiscordModelPickerPreferenceScope = { }; function resolvePreferencesStorePath(env: NodeJS.ProcessEnv = process.env): string { - const stateDir = resolveStateDir(env, () => resolveRequiredHomeDir(env, os.homedir)); + const stateDir = resolveStateDir(env, os.homedir); return path.join(stateDir, "discord", "model-picker-preferences.json"); } diff --git a/extensions/telegram/src/thread-bindings.ts b/extensions/telegram/src/thread-bindings.ts index 9f0ca03868f..57c51a40026 100644 --- a/extensions/telegram/src/thread-bindings.ts +++ b/extensions/telegram/src/thread-bindings.ts @@ -11,7 +11,7 @@ import { type SessionBindingAdapter, type SessionBindingRecord, } from "openclaw/plugin-sdk/conversation-runtime"; -import { writeJsonAtomic } from "openclaw/plugin-sdk/infra-runtime"; +import { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store"; import { normalizeAccountId } from "openclaw/plugin-sdk/routing"; import { logVerbose } from "openclaw/plugin-sdk/runtime-env"; import { resolveStateDir } from "openclaw/plugin-sdk/state-paths"; @@ -318,11 +318,7 @@ async function persistBindingsToDisk(params: { (entry) => entry.accountId === params.accountId, ), }; - await writeJsonAtomic(resolveBindingsPath(params.accountId), payload, { - mode: 0o600, - trailingNewline: true, - ensureDirMode: 0o700, - }); + await writeJsonFileAtomically(resolveBindingsPath(params.accountId), payload); } function listBindingsForAccount(accountId: string): TelegramThreadBindingRecord[] { diff --git a/extensions/telegram/src/update-offset-store.ts b/extensions/telegram/src/update-offset-store.ts index 395b5c1e450..5d8aacef2c5 100644 --- a/extensions/telegram/src/update-offset-store.ts +++ b/extensions/telegram/src/update-offset-store.ts @@ -1,7 +1,7 @@ import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; -import { writeJsonAtomic } from "openclaw/plugin-sdk/infra-runtime"; +import { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store"; import { resolveStateDir } from "openclaw/plugin-sdk/state-paths"; const STORE_VERSION = 2; @@ -116,11 +116,7 @@ export async function writeTelegramUpdateOffset(params: { lastUpdateId: params.updateId, botId: extractBotIdFromToken(params.botToken), }; - await writeJsonAtomic(filePath, payload, { - mode: 0o600, - trailingNewline: true, - ensureDirMode: 0o700, - }); + await writeJsonFileAtomically(filePath, payload); } export async function deleteTelegramUpdateOffset(params: {