UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

3 lines 1.37 kB
import{buildDockerBaseSetupScript}from"#execution/sandbox/bindings/docker-base-setup.js";async function ensureVercelSandboxBaseRuntime(e){await runSandboxBootstrapStep(e,{failureMessage:`Failed to initialize Vercel sandbox base runtime.`,script:buildDockerBaseSetupScript()})}async function applyInitialVercelNetworkPolicy(e,t){t!==void 0&&await e.update({networkPolicy:t})}function withBaseSetupNetworkPolicy(e){return{...e,networkPolicy:`allow-all`}}function createVercelNetworkPolicySetter(e){return async t=>{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,createVercelNetworkPolicySetter,ensureVercelSandboxBaseRuntime,withBaseSetupNetworkPolicy};