mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 01:37:27 +00:00
refactor(tmp): harden temp boundary guardrails
This commit is contained in:
@@ -4,9 +4,25 @@ import type { OpenClawConfig } from "../config/config.js";
|
||||
import { resolveStateDir } from "../config/paths.js";
|
||||
import { resolvePreferredOpenClawTmpDir } from "../infra/tmp-openclaw-dir.js";
|
||||
|
||||
function buildMediaLocalRoots(stateDir: string): string[] {
|
||||
type BuildMediaLocalRootsOptions = {
|
||||
preferredTmpDir?: string;
|
||||
};
|
||||
|
||||
let cachedPreferredTmpDir: string | undefined;
|
||||
|
||||
function resolveCachedPreferredTmpDir(): string {
|
||||
if (!cachedPreferredTmpDir) {
|
||||
cachedPreferredTmpDir = resolvePreferredOpenClawTmpDir();
|
||||
}
|
||||
return cachedPreferredTmpDir;
|
||||
}
|
||||
|
||||
function buildMediaLocalRoots(
|
||||
stateDir: string,
|
||||
options: BuildMediaLocalRootsOptions = {},
|
||||
): string[] {
|
||||
const resolvedStateDir = path.resolve(stateDir);
|
||||
const preferredTmpDir = resolvePreferredOpenClawTmpDir();
|
||||
const preferredTmpDir = options.preferredTmpDir ?? resolveCachedPreferredTmpDir();
|
||||
return [
|
||||
preferredTmpDir,
|
||||
path.join(resolvedStateDir, "media"),
|
||||
|
||||
Reference in New Issue
Block a user