// src/sandbox/safeEnv.ts

/**
 * Build an allowlist subprocess environment.
 * Safer than denylist — excludes unknown future env vars automatically.
 * Never pass process.env directly to subprocess.
 */
export function buildSafeEnv(): Record<string, string> {
  const safe: Record<string, string> = {
    PATH:  process.env["PATH"]  ?? "/usr/local/bin:/usr/bin:/bin",
    HOME:  process.env["HOME"]  ?? "/tmp",
    TMPDIR: process.env["TMPDIR"] ?? "/tmp",
    LANG:  process.env["LANG"]  ?? "en_US.UTF-8",
    USER:  process.env["USER"]  ?? "user",
    TERM:  "dumb",
    // Python: suppress .pyc writes + force unbuffered output
    PYTHONDONTWRITEBYTECODE: "1",
    PYTHONUNBUFFERED: "1",
  };
  return safe;
}
