UNPKG

@earendil-works/pi-coding-agent

Version:

Coding agent CLI with read, bash, edit, write tools and session management

36 lines 1.29 kB
/** * Workaround for https://github.com/oven-sh/bun/issues/27802 * * Bun compiled binaries have an empty `process.env` when running inside * sandbox environments (e.g. nono on Linux/macOS). On Linux we can recover * the environment from `/proc/self/environ`. * * Keep this in sync with getBunSandboxEnvValue() in * packages/ai/src/utils/provider-env.ts. The ai package duplicates the lookup * for direct consumers that do not go through this coding-agent entrypoint. */ import { readFileSync } from "node:fs"; /** * Restore environment variables from `/proc/self/environ` when running * inside a sandbox where Bun's `process.env` is empty. */ export function restoreSandboxEnv() { if (!process.versions?.bun) return; // If process.env already has entries, nothing to fix. if (Object.keys(process.env).length > 0) return; try { const data = readFileSync("/proc/self/environ", "utf-8"); for (const entry of data.split("\0")) { const idx = entry.indexOf("="); if (idx > 0) { process.env[entry.slice(0, idx)] = entry.slice(idx + 1); } } } catch { // /proc/self/environ may not be readable; ignore. } } //# sourceMappingURL=restore-sandbox-env.js.map