import fs from "node:fs"; import path from "node:path"; import dotenv from "dotenv"; import {
isDangerousHostEnvOverrideVarName,
isDangerousHostEnvVarName,
normalizeEnvVarKey,
} from "../infra/host-env-security.js"; import { collectConfigServiceEnvVars } from "./config-env-vars.js"; import { resolveStateDir } from "./paths.js"; import type { OpenClawConfig } from "./types.js";
function isBlockedServiceEnvVar(key: string): boolean { return isDangerousHostEnvVarName(key) || isDangerousHostEnvOverrideVarName(key);
}
function parseStateDirDotEnvContent(content: string): Record<string, string> { const parsed = dotenv.parse(content); const entries: Record<string, string> = {}; for (const [rawKey, value] of Object.entries(parsed)) { if (!value?.trim()) { continue;
} const key = normalizeEnvVarKey(rawKey, { portable: true }); if (!key) { continue;
} if (isBlockedServiceEnvVar(key)) { continue;
}
entries[key] = value;
} return entries;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.