eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
3 lines • 1.14 kB
JavaScript
import{buildDockerBaseSetupScript}from"#execution/sandbox/bindings/docker-base-setup.js";async function ensureVercelSandboxBaseRuntime(t){await runSandboxBootstrapStep(t,{failureMessage:`Failed to initialize Vercel sandbox base runtime.`,script:buildDockerBaseSetupScript()})}async function applyInitialVercelNetworkPolicy(e,t){t!==void 0&&await e.update({networkPolicy:t})}async function runSandboxBootstrapStep(e,t){let n=await runBootstrapCommand(e,t.script);if(n===null)return;let r=await runBootstrapCommandWithSudo(e,t.script);if(r===null)return;let i=[n,r].filter(Boolean).join(`
`);throw Error(`${t.failureMessage}${i?`\n${i}`:``}`)}async function runBootstrapCommand(e,t){return await readBootstrapFailure(await e.runCommand({args:[`-lc`,t],cmd:`bash`}))}async function runBootstrapCommandWithSudo(e,t){return await readBootstrapFailure(await e.runCommand({args:[`-n`,`bash`,`-lc`,t],cmd:`sudo`}))}async function readBootstrapFailure(e){if(e.exitCode===0)return null;let t=await e.stdout(),n=await e.stderr();return[t.trim(),n.trim()].filter(Boolean).join(`
`)}export{applyInitialVercelNetworkPolicy,ensureVercelSandboxBaseRuntime};