UNPKG

eve

Version:

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

1 lines 787 B
function createOutputChannel(){let e=!1,t;return{stream:new ReadableStream({cancel(){e=!0},start(e){t=e}}),close(){e||t.close()},enqueue(n){e||t.enqueue(n)},error(n){e||t.error(n)}}}function adaptMultiplexedCommandToSandboxProcess(e){let t=new TextEncoder,n=createOutputChannel(),r=createOutputChannel(),i={stderr:r,stdout:n},a=(async()=>{try{for await(let n of e.command.logs())i[e.getOutput(n)].enqueue(t.encode(n.data));n.close(),r.close()}catch(e){throw n.error(e),r.error(e),e}})();a.catch(()=>void 0);let o,s;return{stderr:r.stream,stdout:n.stream,wait(){return o??=Promise.resolve().then(async()=>{let t=await e.command.wait();return await a,{exitCode:t.exitCode}})},kill(){return s??=Promise.resolve().then(()=>e.command.kill())}}}export{adaptMultiplexedCommandToSandboxProcess};