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(n){let r=[...activeSandboxHandles.entries()];activeSandboxHandles.clear();let i=await Promise.allSettled(r.map(([,e])=>e.shutdown()));for(let[t,a]of i.entries())if(a.status===`rejected`){let i=r[t];n?.log?.(`failed to shut down sandbox "${i?.[0]??`unknown`}": ${toErrorMessage(a.reason)}`)}}function countActiveSandboxHandles(){return activeSandboxHandles.size}function clearActiveSandboxHandlesForTest(){activeSandboxHandles.clear()}export{clearActiveSandboxHandlesForTest,countActiveSandboxHandles,shutdownActiveSandboxHandles,trackActiveSandboxHandle};