eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 871 B
JavaScript
import{toErrorMessage}from"#shared/errors.js";const activeSandboxHandles=new Map;function createActiveSandboxHandleKey(e,t){return`${e}\0${t}`}function trackActiveSandboxHandle(e){activeSandboxHandles.set(createActiveSandboxHandleKey(e.backendName,e.sessionKey),e.handle)}async function shutdownActiveSandboxHandles(e){let t=[...activeSandboxHandles.entries()];activeSandboxHandles.clear();let n=await Promise.allSettled(t.map(([,e])=>e.shutdown()));for(let[r,i]of n.entries())if(i.status===`rejected`){let n=t[r];e?.log?.(`failed to shut down sandbox "${n?.[0]??`unknown`}": ${toErrorMessage(i.reason)}`)}}function countActiveSandboxHandles(){return activeSandboxHandles.size}function clearActiveSandboxHandlesForTest(){activeSandboxHandles.clear()}export{clearActiveSandboxHandlesForTest,countActiveSandboxHandles,shutdownActiveSandboxHandles,trackActiveSandboxHandle};