mirror of https://github.com/openclaw/openclaw.git
refactor: trim state persistence runtime seams
This commit is contained in:
parent
7206ddea6f
commit
1db1c75a98
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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[] {
|
||||
|
|
|
|||
|
|
@ -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: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue