@e2b/cli 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,7 +26,7 @@ e2b --help
26
26
 
27
27
  ## Getting started
28
28
 
29
- 1. Authenticate with `e2b login`
29
+ 1. Authenticate with `e2b auth login`
30
30
 
31
31
  > To authenticate without the ability to open browser, you can provide
32
32
  > `E2B_ACCESS_TOKEN` as an environment variable. Get your `E2B_ACCESS_TOKEN`
package/dist/index.js CHANGED
@@ -68,7 +68,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),Ue=k,N=X);let se={code
68
68
  `:`
69
69
  `.charCodeAt(),n=typeof e=="string"?"\r":"\r".charCodeAt();return e[e.length-1]===t&&(e=e.slice(0,e.length-1)),e[e.length-1]===n&&(e=e.slice(0,e.length-1)),e}});var Iy=E((ooe,Ua)=>{"use strict";l();var Ba=require("path"),Ay=V_(),Ny=e=>{e={cwd:process.cwd(),path:process.env[Ay()],execPath:process.execPath,...e};let t,n=Ba.resolve(e.cwd),r=[];for(;t!==n;)r.push(Ba.join(n,"node_modules/.bin")),t=n,n=Ba.resolve(n,"..");let i=Ba.resolve(e.cwd,e.execPath,"..");return r.push(i),r.concat(e.path).join(Ba.delimiter)};Ua.exports=Ny;Ua.exports.default=Ny;Ua.exports.env=e=>{e={env:process.env,...e};let t={...e.env},n=Ay({env:t});return e.path=t[n],t[n]=Ua.exports(e),t}});var vy=E((coe,em)=>{"use strict";l();var yy=(e,t)=>{for(let n of Reflect.ownKeys(t))Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n));return e};em.exports=yy;em.exports.default=yy});var My=E((doe,Nl)=>{"use strict";l();var zH=vy(),Al=new WeakMap,xy=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,r=0,i=e.displayName||e.name||"<anonymous>",a=function(...s){if(Al.set(a,++r),r===1)n=e.apply(this,s),e=null;else if(t.throw===!0)throw new Error(`Function \`${i}\` can only be called once`);return n};return zH(a,e),Al.set(a,r),a};Nl.exports=xy;Nl.exports.default=xy;Nl.exports.callCount=e=>{if(!Al.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return Al.get(e)}});var Ly=E(Il=>{"use strict";l();Object.defineProperty(Il,"__esModule",{value:!0});Il.SIGNALS=void 0;var QH=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];Il.SIGNALS=QH});var tm=E(Ci=>{"use strict";l();Object.defineProperty(Ci,"__esModule",{value:!0});Ci.SIGRTMAX=Ci.getRealtimeSignals=void 0;var XH=function(){let e=Py-wy+1;return Array.from({length:e},jH)};Ci.getRealtimeSignals=XH;var jH=function(e,t){return{name:`SIGRT${t+1}`,number:wy+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},wy=34,Py=64;Ci.SIGRTMAX=Py});var Fy=E(yl=>{"use strict";l();Object.defineProperty(yl,"__esModule",{value:!0});yl.getSignals=void 0;var ZH=require("os"),JH=Ly(),eY=tm(),tY=function(){let e=(0,eY.getRealtimeSignals)();return[...JH.SIGNALS,...e].map(nY)};yl.getSignals=tY;var nY=function({name:e,number:t,description:n,action:r,forced:i=!1,standard:a}){let{signals:{[e]:s}}=ZH.constants,o=s!==void 0;return{name:e,number:o?s:t,description:n,supported:o,action:r,forced:i,standard:a}}});var By=E(Ri=>{"use strict";l();Object.defineProperty(Ri,"__esModule",{value:!0});Ri.signalsByNumber=Ri.signalsByName=void 0;var rY=require("os"),ky=Fy(),iY=tm(),aY=function(){return(0,ky.getSignals)().reduce(sY,{})},sY=function(e,{name:t,number:n,description:r,supported:i,action:a,forced:s,standard:o}){return{...e,[t]:{name:t,number:n,description:r,supported:i,action:a,forced:s,standard:o}}},oY=aY();Ri.signalsByName=oY;var lY=function(){let e=(0,ky.getSignals)(),t=iY.SIGRTMAX+1,n=Array.from({length:t},(r,i)=>cY(i,e));return Object.assign({},...n)},cY=function(e,t){let n=uY(e,t);if(n===void 0)return{};let{name:r,description:i,supported:a,action:s,forced:o,standard:c}=n;return{[e]:{name:r,number:e,description:i,supported:a,action:s,forced:o,standard:c}}},uY=function(e,t){let n=t.find(({name:r})=>rY.constants.signals[r]===e);return n!==void 0?n:t.find(r=>r.number===e)},dY=lY();Ri.signalsByNumber=dY});var Gy=E((boe,Uy)=>{"use strict";l();var{signalsByName:_Y}=By(),mY=({timedOut:e,timeout:t,errorCode:n,signal:r,signalDescription:i,exitCode:a,isCanceled:s})=>e?`timed out after ${t} milliseconds`:s?"was canceled":n!==void 0?`failed with ${n}`:r!==void 0?`was killed with ${r} (${i})`:a!==void 0?`failed with exit code ${a}`:"failed",pY=({stdout:e,stderr:t,all:n,error:r,signal:i,exitCode:a,command:s,escapedCommand:o,timedOut:c,isCanceled:u,killed:d,parsed:{options:{timeout:m}}})=>{a=a===null?void 0:a,i=i===null?void 0:i;let g=i===void 0?void 0:_Y[i].description,D=r&&r.code,A=`Command ${mY({timedOut:c,timeout:m,errorCode:D,signal:i,signalDescription:g,exitCode:a,isCanceled:u})}: ${s}`,x=Object.prototype.toString.call(r)==="[object Error]",P=x?`${A}
70
70
  ${r.message}`:A,B=[P,t,e].filter(Boolean).join(`
71
- `);return x?(r.originalMessage=r.message,r.message=B):r=new Error(B),r.shortMessage=P,r.command=s,r.escapedCommand=o,r.exitCode=a,r.signal=i,r.signalDescription=g,r.stdout=e,r.stderr=t,n!==void 0&&(r.all=n),"bufferedData"in r&&delete r.bufferedData,r.failed=!0,r.timedOut=!!c,r.isCanceled=u,r.killed=d&&!c,r};Uy.exports=pY});var Yy=E((Coe,nm)=>{"use strict";l();var vl=["stdin","stdout","stderr"],EY=e=>vl.some(t=>e[t]!==void 0),Hy=e=>{if(!e)return;let{stdio:t}=e;if(t===void 0)return vl.map(r=>e[r]);if(EY(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${vl.map(r=>`\`${r}\``).join(", ")}`);if(typeof t=="string")return t;if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let n=Math.max(t.length,vl.length);return Array.from({length:n},(r,i)=>t[i])};nm.exports=Hy;nm.exports.node=e=>{let t=Hy(e);return t==="ipc"?"ipc":t===void 0||typeof t=="string"?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"]}});var qy=E((Ooe,xl)=>{"use strict";l();xl.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&xl.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&xl.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var am=E((Noe,Ni)=>{"use strict";l();var ke=global.process,xr=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};xr(ke)?($y=require("assert"),Oi=qy(),Vy=/^win/i.test(ke.platform),Ga=require("events"),typeof Ga!="function"&&(Ga=Ga.EventEmitter),ke.__signal_exit_emitter__?it=ke.__signal_exit_emitter__:(it=ke.__signal_exit_emitter__=new Ga,it.count=0,it.emitted={}),it.infinite||(it.setMaxListeners(1/0),it.infinite=!0),Ni.exports=function(e,t){if(!xr(global.process))return function(){};$y.equal(typeof e,"function","a callback must be provided for exit handler"),Ai===!1&&rm();var n="exit";t&&t.alwaysLast&&(n="afterexit");var r=function(){it.removeListener(n,e),it.listeners("exit").length===0&&it.listeners("afterexit").length===0&&Ml()};return it.on(n,e),r},Ml=function(){!Ai||!xr(global.process)||(Ai=!1,Oi.forEach(function(t){try{ke.removeListener(t,Ll[t])}catch{}}),ke.emit=wl,ke.reallyExit=im,it.count-=1)},Ni.exports.unload=Ml,Mr=function(t,n,r){it.emitted[t]||(it.emitted[t]=!0,it.emit(t,n,r))},Ll={},Oi.forEach(function(e){Ll[e]=function(){if(xr(global.process)){var n=ke.listeners(e);n.length===it.count&&(Ml(),Mr("exit",null,e),Mr("afterexit",null,e),Vy&&e==="SIGHUP"&&(e="SIGINT"),ke.kill(ke.pid,e))}}}),Ni.exports.signals=function(){return Oi},Ai=!1,rm=function(){Ai||!xr(global.process)||(Ai=!0,it.count+=1,Oi=Oi.filter(function(t){try{return ke.on(t,Ll[t]),!0}catch{return!1}}),ke.emit=Ky,ke.reallyExit=Wy)},Ni.exports.load=rm,im=ke.reallyExit,Wy=function(t){xr(global.process)&&(ke.exitCode=t||0,Mr("exit",ke.exitCode,null),Mr("afterexit",ke.exitCode,null),im.call(ke,ke.exitCode))},wl=ke.emit,Ky=function(t,n){if(t==="exit"&&xr(global.process)){n!==void 0&&(ke.exitCode=n);var r=wl.apply(this,arguments);return Mr("exit",ke.exitCode,null),Mr("afterexit",ke.exitCode,null),r}else return wl.apply(this,arguments)}):Ni.exports=function(){return function(){}};var $y,Oi,Vy,Ga,it,Ml,Mr,Ll,Ai,rm,im,Wy,wl,Ky});var Qy=E((yoe,zy)=>{"use strict";l();var fY=require("os"),gY=am(),SY=1e3*5,hY=(e,t="SIGTERM",n={})=>{let r=e(t);return TY(e,t,n,r),r},TY=(e,t,n,r)=>{if(!bY(t,n,r))return;let i=CY(n),a=setTimeout(()=>{e("SIGKILL")},i);a.unref&&a.unref()},bY=(e,{forceKillAfterTimeout:t},n)=>DY(e)&&t!==!1&&n,DY=e=>e===fY.constants.signals.SIGTERM||typeof e=="string"&&e.toUpperCase()==="SIGTERM",CY=({forceKillAfterTimeout:e=!0})=>{if(e===!0)return SY;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},RY=(e,t)=>{e.kill()&&(t.isCanceled=!0)},OY=(e,t,n)=>{e.kill(t),n(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))},AY=(e,{timeout:t,killSignal:n="SIGTERM"},r)=>{if(t===0||t===void 0)return r;let i,a=new Promise((o,c)=>{i=setTimeout(()=>{OY(e,n,c)},t)}),s=r.finally(()=>{clearTimeout(i)});return Promise.race([a,s])},NY=({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},IY=async(e,{cleanup:t,detached:n},r)=>{if(!t||n)return r;let i=gY(()=>{e.kill()});return r.finally(()=>{i()})};zy.exports={spawnedKill:hY,spawnedCancel:RY,setupTimeout:AY,validateTimeout:NY,setExitHandler:IY}});var jy=E((xoe,Xy)=>{"use strict";l();var dn=e=>e!==null&&typeof e=="object"&&typeof e.pipe=="function";dn.writable=e=>dn(e)&&e.writable!==!1&&typeof e._write=="function"&&typeof e._writableState=="object";dn.readable=e=>dn(e)&&e.readable!==!1&&typeof e._read=="function"&&typeof e._readableState=="object";dn.duplex=e=>dn.writable(e)&&dn.readable(e);dn.transform=e=>dn.duplex(e)&&typeof e._transform=="function";Xy.exports=dn});var Jy=E((Loe,Zy)=>{"use strict";l();var{PassThrough:yY}=require("stream");Zy.exports=e=>{e={...e};let{array:t}=e,{encoding:n}=e,r=n==="buffer",i=!1;t?i=!(n||r):n=n||"utf8",r&&(n=null);let a=new yY({objectMode:i});n&&a.setEncoding(n);let s=0,o=[];return a.on("data",c=>{o.push(c),i?s=o.length:s+=c.length}),a.getBufferedValue=()=>t?o:r?Buffer.concat(o,s):o.join(""),a.getBufferedLength=()=>s,a}});var om=E((Poe,Ha)=>{"use strict";l();var{constants:vY}=require("buffer"),xY=require("stream"),{promisify:MY}=require("util"),LY=Jy(),wY=MY(xY.pipeline),Pl=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function sm(e,t){if(!e)throw new Error("Expected a stream");t={maxBuffer:1/0,...t};let{maxBuffer:n}=t,r=LY(t);return await new Promise((i,a)=>{let s=o=>{o&&r.getBufferedLength()<=vY.MAX_LENGTH&&(o.bufferedData=r.getBufferedValue()),a(o)};(async()=>{try{await wY(e,r),i()}catch(o){s(o)}})(),r.on("data",()=>{r.getBufferedLength()>n&&s(new Pl)})}),r.getBufferedValue()}Ha.exports=sm;Ha.exports.buffer=(e,t)=>sm(e,{...t,encoding:"buffer"});Ha.exports.array=(e,t)=>sm(e,{...t,array:!0});Ha.exports.MaxBufferError=Pl});var lm=E((koe,ev)=>{"use strict";l();var{PassThrough:PY}=require("stream");ev.exports=function(){var e=[],t=new PY({objectMode:!0});return t.setMaxListeners(0),t.add=n,t.isEmpty=r,t.on("unpipe",i),Array.prototype.slice.call(arguments).forEach(n),t;function n(a){return Array.isArray(a)?(a.forEach(n),this):(e.push(a),a.once("end",i.bind(null,a)),a.once("error",t.emit.bind(t,"error")),a.pipe(t,{end:!1}),this)}function r(){return e.length==0}function i(a){e=e.filter(function(s){return s!==a}),!e.length&&t.readable&&t.end()}}});var iv=E((Uoe,rv)=>{"use strict";l();var nv=jy(),tv=om(),FY=lm(),kY=(e,t)=>{t===void 0||e.stdin===void 0||(nv(t)?t.pipe(e.stdin):e.stdin.end(t))},BY=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let n=FY();return e.stdout&&n.add(e.stdout),e.stderr&&n.add(e.stderr),n},cm=async(e,t)=>{if(e){e.destroy();try{return await t}catch(n){return n.bufferedData}}},um=(e,{encoding:t,buffer:n,maxBuffer:r})=>{if(!(!e||!n))return t?tv(e,{encoding:t,maxBuffer:r}):tv.buffer(e,{maxBuffer:r})},UY=async({stdout:e,stderr:t,all:n},{encoding:r,buffer:i,maxBuffer:a},s)=>{let o=um(e,{encoding:r,buffer:i,maxBuffer:a}),c=um(t,{encoding:r,buffer:i,maxBuffer:a}),u=um(n,{encoding:r,buffer:i,maxBuffer:a*2});try{return await Promise.all([s,o,c,u])}catch(d){return Promise.all([{error:d,signal:d.signal,timedOut:d.timedOut},cm(e,o),cm(t,c),cm(n,u)])}},GY=({input:e})=>{if(nv(e))throw new TypeError("The `input` option cannot be a stream in sync mode")};rv.exports={handleInput:kY,makeAllStream:BY,getSpawnedResult:UY,validateInputSync:GY}});var sv=E((Hoe,av)=>{"use strict";l();var HY=(async()=>{})().constructor.prototype,YY=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(HY,e)]),qY=(e,t)=>{for(let[n,r]of YY){let i=typeof t=="function"?(...a)=>Reflect.apply(r.value,t(),a):r.value.bind(t);Reflect.defineProperty(e,n,{...r,value:i})}return e},$Y=e=>new Promise((t,n)=>{e.on("exit",(r,i)=>{t({exitCode:r,signal:i})}),e.on("error",r=>{n(r)}),e.stdin&&e.stdin.on("error",r=>{n(r)})});av.exports={mergePromise:qY,getSpawnedPromise:$Y}});var cv=E((qoe,lv)=>{"use strict";l();var ov=(e,t=[])=>Array.isArray(t)?[e,...t]:[e],VY=/^[\w.-]+$/,WY=/"/g,KY=e=>typeof e!="string"||VY.test(e)?e:`"${e.replace(WY,'\\"')}"`,zY=(e,t)=>ov(e,t).join(" "),QY=(e,t)=>ov(e,t).map(n=>KY(n)).join(" "),XY=/ +/g,jY=e=>{let t=[];for(let n of e.trim().split(XY)){let r=t[t.length-1];r&&r.endsWith("\\")?t[t.length-1]=`${r.slice(0,-1)} ${n}`:t.push(n)}return t};lv.exports={joinCommand:zY,getEscapedCommand:QY,parseCommand:jY}});var fv=E((Voe,Ii)=>{"use strict";l();var ZY=require("path"),dm=require("child_process"),JY=J_(),eq=Oy(),tq=Iy(),nq=My(),Fl=Gy(),dv=Yy(),{spawnedKill:rq,spawnedCancel:iq,setupTimeout:aq,validateTimeout:sq,setExitHandler:oq}=Qy(),{handleInput:lq,getSpawnedResult:cq,makeAllStream:uq,validateInputSync:dq}=iv(),{mergePromise:uv,getSpawnedPromise:_q}=sv(),{joinCommand:_v,parseCommand:mv,getEscapedCommand:pv}=cv(),mq=1e3*1e3*100,pq=({env:e,extendEnv:t,preferLocal:n,localDir:r,execPath:i})=>{let a=t?{...process.env,...e}:e;return n?tq.env({env:a,cwd:r,execPath:i}):a},Ev=(e,t,n={})=>{let r=JY._parse(e,t,n);return e=r.command,t=r.args,n=r.options,n={maxBuffer:mq,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:n.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...n},n.env=pq(n),n.stdio=dv(n),process.platform==="win32"&&ZY.basename(e,".exe")==="cmd"&&t.unshift("/q"),{file:e,args:t,options:n,parsed:r}},Ya=(e,t,n)=>typeof t!="string"&&!Buffer.isBuffer(t)?n===void 0?void 0:"":e.stripFinalNewline?eq(t):t,kl=(e,t,n)=>{let r=Ev(e,t,n),i=_v(e,t),a=pv(e,t);sq(r.options);let s;try{s=dm.spawn(r.file,r.args,r.options)}catch(D){let S=new dm.ChildProcess,A=Promise.reject(Fl({error:D,stdout:"",stderr:"",all:"",command:i,escapedCommand:a,parsed:r,timedOut:!1,isCanceled:!1,killed:!1}));return uv(S,A)}let o=_q(s),c=aq(s,r.options,o),u=oq(s,r.options,c),d={isCanceled:!1};s.kill=rq.bind(null,s.kill.bind(s)),s.cancel=iq.bind(null,s,d);let g=nq(async()=>{let[{error:D,exitCode:S,signal:A,timedOut:x},P,B,U]=await cq(s,r.options,u),q=Ya(r.options,P),te=Ya(r.options,B),Z=Ya(r.options,U);if(D||S!==0||A!==null){let re=Fl({error:D,exitCode:S,signal:A,stdout:q,stderr:te,all:Z,command:i,escapedCommand:a,parsed:r,timedOut:x,isCanceled:d.isCanceled,killed:s.killed});if(!r.options.reject)return re;throw re}return{command:i,escapedCommand:a,exitCode:0,stdout:q,stderr:te,all:Z,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return lq(s,r.options.input),s.all=uq(s,r.options),uv(s,g)};Ii.exports=kl;Ii.exports.sync=(e,t,n)=>{let r=Ev(e,t,n),i=_v(e,t),a=pv(e,t);dq(r.options);let s;try{s=dm.spawnSync(r.file,r.args,r.options)}catch(u){throw Fl({error:u,stdout:"",stderr:"",all:"",command:i,escapedCommand:a,parsed:r,timedOut:!1,isCanceled:!1,killed:!1})}let o=Ya(r.options,s.stdout,s.error),c=Ya(r.options,s.stderr,s.error);if(s.error||s.status!==0||s.signal!==null){let u=Fl({stdout:o,stderr:c,error:s.error,signal:s.signal,exitCode:s.status,command:i,escapedCommand:a,parsed:r,timedOut:s.error&&s.error.code==="ETIMEDOUT",isCanceled:!1,killed:s.signal!==null});if(!r.options.reject)return u;throw u}return{command:i,escapedCommand:a,exitCode:0,stdout:o,stderr:c,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}};Ii.exports.command=(e,t)=>{let[n,...r]=mv(e);return kl(n,r,t)};Ii.exports.commandSync=(e,t)=>{let[n,...r]=mv(e);return kl.sync(n,r,t)};Ii.exports.node=(e,t,n={})=>{t&&!Array.isArray(t)&&typeof t=="object"&&(n=t,t=[]);let r=dv.node(n),i=process.execArgv.filter(o=>!o.startsWith("--inspect")),{nodePath:a=process.execPath,nodeOptions:s=i}=n;return kl(a,[...s,e,...Array.isArray(t)?t:[]],{...n,stdin:void 0,stdout:void 0,stderr:void 0,stdio:r,shell:!1})}});var o$={};ec(o$,{pkg:()=>jl});module.exports=UM(o$);l();var Ox=J(require("update-notifier"));var tc={};ec(tc,{author:()=>VM,bin:()=>JM,bugs:()=>WM,default:()=>nL,dependencies:()=>eL,description:()=>YM,devDependencies:()=>jM,engines:()=>tL,files:()=>ZM,homepage:()=>qM,license:()=>$M,name:()=>HM,publishConfig:()=>zM,repository:()=>KM,scripts:()=>XM,sideEffects:()=>QM,version:()=>nc});var HM="@e2b/cli",nc="0.5.2",YM="CLI for managing e2b sandbox templates",qM="https://e2b.dev",$M="MIT",VM={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},WM="https://github.com/e2b-dev/e2b/issues",KM={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},zM={access:"public"},QM=!1,XM={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",test:"pnpm build && cd testground/demo-basic && ../../dist/index.js template build","check-deps":"knip","update-deps":"ncu -u && pnpm i"},jM={"@types/command-exists":"^1.2.3","@types/inquirer":"^9.0.7","@types/node":"^18.18.6","@types/update-notifier":"6.0.5",knip:"^2.33.4","npm-check-updates":"^16.14.6",tsup:"^7.2.0",typescript:"^5.2.2"},ZM=["dist","LICENSE","README","package.json"],JM={e2b:"dist/index.js"},eL={"@iarna/toml":"^2.2.5","async-listen":"^3.0.1",boxen:"^7.1.1",chalk:"^5.3.0","cli-highlight":"^2.1.11","command-exists":"^1.2.9",commander:"^11.1.0","console-table-printer":"^2.11.2",e2b:"^0.16.0",inquirer:"^9.2.12",open:"^9.1.0","strip-ansi":"^7.1.0","update-notifier":"5.1.0",yup:"^1.3.2"},tL={node:">=18"},nL={name:HM,version:nc,description:YM,homepage:qM,license:$M,author:VM,bugs:WM,repository:KM,publishConfig:zM,sideEffects:QM,scripts:XM,devDependencies:jM,files:ZM,bin:JM,dependencies:eL,engines:tL};l();l();var op=J(sp(),1),{program:O$,createCommand:A$,createArgument:N$,createOption:I$,CommanderError:y$,InvalidArgumentError:v$,InvalidOptionArgumentError:x$,Command:Ce,Argument:M$,Option:cr,Help:L$}=op.default;l();l();l();var lp=(e=0)=>t=>`\x1B[${t+e}m`,cp=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,up=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,Pe={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},P$=Object.keys(Pe.modifier),TL=Object.keys(Pe.color),bL=Object.keys(Pe.bgColor),F$=[...TL,...bL];function DL(){let e=new Map;for(let[t,n]of Object.entries(Pe)){for(let[r,i]of Object.entries(n))Pe[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Pe[r],e.set(i[0],i[1]);Object.defineProperty(Pe,t,{value:n,enumerable:!1})}return Object.defineProperty(Pe,"codes",{value:e,enumerable:!1}),Pe.color.close="\x1B[39m",Pe.bgColor.close="\x1B[49m",Pe.color.ansi=lp(),Pe.color.ansi256=cp(),Pe.color.ansi16m=up(),Pe.bgColor.ansi=lp(10),Pe.bgColor.ansi256=cp(10),Pe.bgColor.ansi16m=up(10),Object.defineProperties(Pe,{rgbToAnsi256:{value(t,n,r){return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(a=>a+a).join(""));let i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>Pe.rgbToAnsi256(...Pe.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,i;if(t>=232)n=((t-232)*10+8)/255,r=n,i=n;else{t-=16;let o=t%36;n=Math.floor(t/36)/5,r=Math.floor(o/6)/5,i=o%6/5}let a=Math.max(n,r,i)*2;if(a===0)return 30;let s=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(n));return a===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>Pe.ansi256ToAnsi(Pe.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>Pe.ansi256ToAnsi(Pe.hexToAnsi256(t)),enumerable:!1}}),Pe}var CL=DL(),Ht=CL;l();var ts=J(require("process"),1),_p=J(require("os"),1),fc=J(require("tty"),1);function vt(e,t=globalThis.Deno?globalThis.Deno.args:ts.default.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return r!==-1&&(i===-1||r<i)}var{env:Ge}=ts.default,es;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?es=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&(es=1);function RL(){if("FORCE_COLOR"in Ge)return Ge.FORCE_COLOR==="true"?1:Ge.FORCE_COLOR==="false"?0:Ge.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ge.FORCE_COLOR,10),3)}function OL(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function AL(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=RL();r!==void 0&&(es=r);let i=n?es:r;if(i===0)return 0;if(n){if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2}if("TF_BUILD"in Ge&&"AGENT_NAME"in Ge)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(Ge.TERM==="dumb")return a;if(ts.default.platform==="win32"){let s=_p.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Ge)return"GITHUB_ACTIONS"in Ge||"GITEA_ACTIONS"in Ge?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in Ge)||Ge.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in Ge)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ge.TEAMCITY_VERSION)?1:0;if(Ge.COLORTERM==="truecolor"||Ge.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in Ge){let s=Number.parseInt((Ge.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ge.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ge.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ge.TERM)||"COLORTERM"in Ge?1:a}function dp(e,t={}){let n=AL(e,{streamIsTTY:e&&e.isTTY,...t});return OL(n)}var NL={stdout:dp({isTTY:fc.default.isatty(1)}),stderr:dp({isTTY:fc.default.isatty(2)})},mp=NL;l();function pp(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,s="";do s+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return s+=e.slice(a),s}function Ep(e,t,n,r){let i=0,a="";do{let s=e[r-1]==="\r";a+=e.slice(i,s?r-1:r)+t+(s?`\r
71
+ `);return x?(r.originalMessage=r.message,r.message=B):r=new Error(B),r.shortMessage=P,r.command=s,r.escapedCommand=o,r.exitCode=a,r.signal=i,r.signalDescription=g,r.stdout=e,r.stderr=t,n!==void 0&&(r.all=n),"bufferedData"in r&&delete r.bufferedData,r.failed=!0,r.timedOut=!!c,r.isCanceled=u,r.killed=d&&!c,r};Uy.exports=pY});var Yy=E((Coe,nm)=>{"use strict";l();var vl=["stdin","stdout","stderr"],EY=e=>vl.some(t=>e[t]!==void 0),Hy=e=>{if(!e)return;let{stdio:t}=e;if(t===void 0)return vl.map(r=>e[r]);if(EY(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${vl.map(r=>`\`${r}\``).join(", ")}`);if(typeof t=="string")return t;if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let n=Math.max(t.length,vl.length);return Array.from({length:n},(r,i)=>t[i])};nm.exports=Hy;nm.exports.node=e=>{let t=Hy(e);return t==="ipc"?"ipc":t===void 0||typeof t=="string"?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"]}});var qy=E((Ooe,xl)=>{"use strict";l();xl.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&xl.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&xl.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var am=E((Noe,Ni)=>{"use strict";l();var ke=global.process,xr=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};xr(ke)?($y=require("assert"),Oi=qy(),Vy=/^win/i.test(ke.platform),Ga=require("events"),typeof Ga!="function"&&(Ga=Ga.EventEmitter),ke.__signal_exit_emitter__?it=ke.__signal_exit_emitter__:(it=ke.__signal_exit_emitter__=new Ga,it.count=0,it.emitted={}),it.infinite||(it.setMaxListeners(1/0),it.infinite=!0),Ni.exports=function(e,t){if(!xr(global.process))return function(){};$y.equal(typeof e,"function","a callback must be provided for exit handler"),Ai===!1&&rm();var n="exit";t&&t.alwaysLast&&(n="afterexit");var r=function(){it.removeListener(n,e),it.listeners("exit").length===0&&it.listeners("afterexit").length===0&&Ml()};return it.on(n,e),r},Ml=function(){!Ai||!xr(global.process)||(Ai=!1,Oi.forEach(function(t){try{ke.removeListener(t,Ll[t])}catch{}}),ke.emit=wl,ke.reallyExit=im,it.count-=1)},Ni.exports.unload=Ml,Mr=function(t,n,r){it.emitted[t]||(it.emitted[t]=!0,it.emit(t,n,r))},Ll={},Oi.forEach(function(e){Ll[e]=function(){if(xr(global.process)){var n=ke.listeners(e);n.length===it.count&&(Ml(),Mr("exit",null,e),Mr("afterexit",null,e),Vy&&e==="SIGHUP"&&(e="SIGINT"),ke.kill(ke.pid,e))}}}),Ni.exports.signals=function(){return Oi},Ai=!1,rm=function(){Ai||!xr(global.process)||(Ai=!0,it.count+=1,Oi=Oi.filter(function(t){try{return ke.on(t,Ll[t]),!0}catch{return!1}}),ke.emit=Ky,ke.reallyExit=Wy)},Ni.exports.load=rm,im=ke.reallyExit,Wy=function(t){xr(global.process)&&(ke.exitCode=t||0,Mr("exit",ke.exitCode,null),Mr("afterexit",ke.exitCode,null),im.call(ke,ke.exitCode))},wl=ke.emit,Ky=function(t,n){if(t==="exit"&&xr(global.process)){n!==void 0&&(ke.exitCode=n);var r=wl.apply(this,arguments);return Mr("exit",ke.exitCode,null),Mr("afterexit",ke.exitCode,null),r}else return wl.apply(this,arguments)}):Ni.exports=function(){return function(){}};var $y,Oi,Vy,Ga,it,Ml,Mr,Ll,Ai,rm,im,Wy,wl,Ky});var Qy=E((yoe,zy)=>{"use strict";l();var fY=require("os"),gY=am(),SY=1e3*5,hY=(e,t="SIGTERM",n={})=>{let r=e(t);return TY(e,t,n,r),r},TY=(e,t,n,r)=>{if(!bY(t,n,r))return;let i=CY(n),a=setTimeout(()=>{e("SIGKILL")},i);a.unref&&a.unref()},bY=(e,{forceKillAfterTimeout:t},n)=>DY(e)&&t!==!1&&n,DY=e=>e===fY.constants.signals.SIGTERM||typeof e=="string"&&e.toUpperCase()==="SIGTERM",CY=({forceKillAfterTimeout:e=!0})=>{if(e===!0)return SY;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},RY=(e,t)=>{e.kill()&&(t.isCanceled=!0)},OY=(e,t,n)=>{e.kill(t),n(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))},AY=(e,{timeout:t,killSignal:n="SIGTERM"},r)=>{if(t===0||t===void 0)return r;let i,a=new Promise((o,c)=>{i=setTimeout(()=>{OY(e,n,c)},t)}),s=r.finally(()=>{clearTimeout(i)});return Promise.race([a,s])},NY=({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},IY=async(e,{cleanup:t,detached:n},r)=>{if(!t||n)return r;let i=gY(()=>{e.kill()});return r.finally(()=>{i()})};zy.exports={spawnedKill:hY,spawnedCancel:RY,setupTimeout:AY,validateTimeout:NY,setExitHandler:IY}});var jy=E((xoe,Xy)=>{"use strict";l();var dn=e=>e!==null&&typeof e=="object"&&typeof e.pipe=="function";dn.writable=e=>dn(e)&&e.writable!==!1&&typeof e._write=="function"&&typeof e._writableState=="object";dn.readable=e=>dn(e)&&e.readable!==!1&&typeof e._read=="function"&&typeof e._readableState=="object";dn.duplex=e=>dn.writable(e)&&dn.readable(e);dn.transform=e=>dn.duplex(e)&&typeof e._transform=="function";Xy.exports=dn});var Jy=E((Loe,Zy)=>{"use strict";l();var{PassThrough:yY}=require("stream");Zy.exports=e=>{e={...e};let{array:t}=e,{encoding:n}=e,r=n==="buffer",i=!1;t?i=!(n||r):n=n||"utf8",r&&(n=null);let a=new yY({objectMode:i});n&&a.setEncoding(n);let s=0,o=[];return a.on("data",c=>{o.push(c),i?s=o.length:s+=c.length}),a.getBufferedValue=()=>t?o:r?Buffer.concat(o,s):o.join(""),a.getBufferedLength=()=>s,a}});var om=E((Poe,Ha)=>{"use strict";l();var{constants:vY}=require("buffer"),xY=require("stream"),{promisify:MY}=require("util"),LY=Jy(),wY=MY(xY.pipeline),Pl=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function sm(e,t){if(!e)throw new Error("Expected a stream");t={maxBuffer:1/0,...t};let{maxBuffer:n}=t,r=LY(t);return await new Promise((i,a)=>{let s=o=>{o&&r.getBufferedLength()<=vY.MAX_LENGTH&&(o.bufferedData=r.getBufferedValue()),a(o)};(async()=>{try{await wY(e,r),i()}catch(o){s(o)}})(),r.on("data",()=>{r.getBufferedLength()>n&&s(new Pl)})}),r.getBufferedValue()}Ha.exports=sm;Ha.exports.buffer=(e,t)=>sm(e,{...t,encoding:"buffer"});Ha.exports.array=(e,t)=>sm(e,{...t,array:!0});Ha.exports.MaxBufferError=Pl});var lm=E((koe,ev)=>{"use strict";l();var{PassThrough:PY}=require("stream");ev.exports=function(){var e=[],t=new PY({objectMode:!0});return t.setMaxListeners(0),t.add=n,t.isEmpty=r,t.on("unpipe",i),Array.prototype.slice.call(arguments).forEach(n),t;function n(a){return Array.isArray(a)?(a.forEach(n),this):(e.push(a),a.once("end",i.bind(null,a)),a.once("error",t.emit.bind(t,"error")),a.pipe(t,{end:!1}),this)}function r(){return e.length==0}function i(a){e=e.filter(function(s){return s!==a}),!e.length&&t.readable&&t.end()}}});var iv=E((Uoe,rv)=>{"use strict";l();var nv=jy(),tv=om(),FY=lm(),kY=(e,t)=>{t===void 0||e.stdin===void 0||(nv(t)?t.pipe(e.stdin):e.stdin.end(t))},BY=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let n=FY();return e.stdout&&n.add(e.stdout),e.stderr&&n.add(e.stderr),n},cm=async(e,t)=>{if(e){e.destroy();try{return await t}catch(n){return n.bufferedData}}},um=(e,{encoding:t,buffer:n,maxBuffer:r})=>{if(!(!e||!n))return t?tv(e,{encoding:t,maxBuffer:r}):tv.buffer(e,{maxBuffer:r})},UY=async({stdout:e,stderr:t,all:n},{encoding:r,buffer:i,maxBuffer:a},s)=>{let o=um(e,{encoding:r,buffer:i,maxBuffer:a}),c=um(t,{encoding:r,buffer:i,maxBuffer:a}),u=um(n,{encoding:r,buffer:i,maxBuffer:a*2});try{return await Promise.all([s,o,c,u])}catch(d){return Promise.all([{error:d,signal:d.signal,timedOut:d.timedOut},cm(e,o),cm(t,c),cm(n,u)])}},GY=({input:e})=>{if(nv(e))throw new TypeError("The `input` option cannot be a stream in sync mode")};rv.exports={handleInput:kY,makeAllStream:BY,getSpawnedResult:UY,validateInputSync:GY}});var sv=E((Hoe,av)=>{"use strict";l();var HY=(async()=>{})().constructor.prototype,YY=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(HY,e)]),qY=(e,t)=>{for(let[n,r]of YY){let i=typeof t=="function"?(...a)=>Reflect.apply(r.value,t(),a):r.value.bind(t);Reflect.defineProperty(e,n,{...r,value:i})}return e},$Y=e=>new Promise((t,n)=>{e.on("exit",(r,i)=>{t({exitCode:r,signal:i})}),e.on("error",r=>{n(r)}),e.stdin&&e.stdin.on("error",r=>{n(r)})});av.exports={mergePromise:qY,getSpawnedPromise:$Y}});var cv=E((qoe,lv)=>{"use strict";l();var ov=(e,t=[])=>Array.isArray(t)?[e,...t]:[e],VY=/^[\w.-]+$/,WY=/"/g,KY=e=>typeof e!="string"||VY.test(e)?e:`"${e.replace(WY,'\\"')}"`,zY=(e,t)=>ov(e,t).join(" "),QY=(e,t)=>ov(e,t).map(n=>KY(n)).join(" "),XY=/ +/g,jY=e=>{let t=[];for(let n of e.trim().split(XY)){let r=t[t.length-1];r&&r.endsWith("\\")?t[t.length-1]=`${r.slice(0,-1)} ${n}`:t.push(n)}return t};lv.exports={joinCommand:zY,getEscapedCommand:QY,parseCommand:jY}});var fv=E((Voe,Ii)=>{"use strict";l();var ZY=require("path"),dm=require("child_process"),JY=J_(),eq=Oy(),tq=Iy(),nq=My(),Fl=Gy(),dv=Yy(),{spawnedKill:rq,spawnedCancel:iq,setupTimeout:aq,validateTimeout:sq,setExitHandler:oq}=Qy(),{handleInput:lq,getSpawnedResult:cq,makeAllStream:uq,validateInputSync:dq}=iv(),{mergePromise:uv,getSpawnedPromise:_q}=sv(),{joinCommand:_v,parseCommand:mv,getEscapedCommand:pv}=cv(),mq=1e3*1e3*100,pq=({env:e,extendEnv:t,preferLocal:n,localDir:r,execPath:i})=>{let a=t?{...process.env,...e}:e;return n?tq.env({env:a,cwd:r,execPath:i}):a},Ev=(e,t,n={})=>{let r=JY._parse(e,t,n);return e=r.command,t=r.args,n=r.options,n={maxBuffer:mq,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:n.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...n},n.env=pq(n),n.stdio=dv(n),process.platform==="win32"&&ZY.basename(e,".exe")==="cmd"&&t.unshift("/q"),{file:e,args:t,options:n,parsed:r}},Ya=(e,t,n)=>typeof t!="string"&&!Buffer.isBuffer(t)?n===void 0?void 0:"":e.stripFinalNewline?eq(t):t,kl=(e,t,n)=>{let r=Ev(e,t,n),i=_v(e,t),a=pv(e,t);sq(r.options);let s;try{s=dm.spawn(r.file,r.args,r.options)}catch(D){let S=new dm.ChildProcess,A=Promise.reject(Fl({error:D,stdout:"",stderr:"",all:"",command:i,escapedCommand:a,parsed:r,timedOut:!1,isCanceled:!1,killed:!1}));return uv(S,A)}let o=_q(s),c=aq(s,r.options,o),u=oq(s,r.options,c),d={isCanceled:!1};s.kill=rq.bind(null,s.kill.bind(s)),s.cancel=iq.bind(null,s,d);let g=nq(async()=>{let[{error:D,exitCode:S,signal:A,timedOut:x},P,B,U]=await cq(s,r.options,u),q=Ya(r.options,P),te=Ya(r.options,B),Z=Ya(r.options,U);if(D||S!==0||A!==null){let re=Fl({error:D,exitCode:S,signal:A,stdout:q,stderr:te,all:Z,command:i,escapedCommand:a,parsed:r,timedOut:x,isCanceled:d.isCanceled,killed:s.killed});if(!r.options.reject)return re;throw re}return{command:i,escapedCommand:a,exitCode:0,stdout:q,stderr:te,all:Z,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return lq(s,r.options.input),s.all=uq(s,r.options),uv(s,g)};Ii.exports=kl;Ii.exports.sync=(e,t,n)=>{let r=Ev(e,t,n),i=_v(e,t),a=pv(e,t);dq(r.options);let s;try{s=dm.spawnSync(r.file,r.args,r.options)}catch(u){throw Fl({error:u,stdout:"",stderr:"",all:"",command:i,escapedCommand:a,parsed:r,timedOut:!1,isCanceled:!1,killed:!1})}let o=Ya(r.options,s.stdout,s.error),c=Ya(r.options,s.stderr,s.error);if(s.error||s.status!==0||s.signal!==null){let u=Fl({stdout:o,stderr:c,error:s.error,signal:s.signal,exitCode:s.status,command:i,escapedCommand:a,parsed:r,timedOut:s.error&&s.error.code==="ETIMEDOUT",isCanceled:!1,killed:s.signal!==null});if(!r.options.reject)return u;throw u}return{command:i,escapedCommand:a,exitCode:0,stdout:o,stderr:c,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}};Ii.exports.command=(e,t)=>{let[n,...r]=mv(e);return kl(n,r,t)};Ii.exports.commandSync=(e,t)=>{let[n,...r]=mv(e);return kl.sync(n,r,t)};Ii.exports.node=(e,t,n={})=>{t&&!Array.isArray(t)&&typeof t=="object"&&(n=t,t=[]);let r=dv.node(n),i=process.execArgv.filter(o=>!o.startsWith("--inspect")),{nodePath:a=process.execPath,nodeOptions:s=i}=n;return kl(a,[...s,e,...Array.isArray(t)?t:[]],{...n,stdin:void 0,stdout:void 0,stderr:void 0,stdio:r,shell:!1})}});var o$={};ec(o$,{pkg:()=>jl});module.exports=UM(o$);l();var Ox=J(require("update-notifier"));var tc={};ec(tc,{author:()=>VM,bin:()=>JM,bugs:()=>WM,default:()=>nL,dependencies:()=>eL,description:()=>YM,devDependencies:()=>jM,engines:()=>tL,files:()=>ZM,homepage:()=>qM,license:()=>$M,name:()=>HM,publishConfig:()=>zM,repository:()=>KM,scripts:()=>XM,sideEffects:()=>QM,version:()=>nc});var HM="@e2b/cli",nc="0.5.3",YM="CLI for managing e2b sandbox templates",qM="https://e2b.dev",$M="MIT",VM={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},WM="https://github.com/e2b-dev/e2b/issues",KM={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},zM={access:"public"},QM=!1,XM={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",test:"pnpm build && cd testground/demo-basic && ../../dist/index.js template build","check-deps":"knip","update-deps":"ncu -u && pnpm i"},jM={"@types/command-exists":"^1.2.3","@types/inquirer":"^9.0.7","@types/node":"^18.18.6","@types/update-notifier":"6.0.5",knip:"^2.33.4","npm-check-updates":"^16.14.6",tsup:"^7.2.0",typescript:"^5.2.2"},ZM=["dist","LICENSE","README","package.json"],JM={e2b:"dist/index.js"},eL={"@iarna/toml":"^2.2.5","async-listen":"^3.0.1",boxen:"^7.1.1",chalk:"^5.3.0","cli-highlight":"^2.1.11","command-exists":"^1.2.9",commander:"^11.1.0","console-table-printer":"^2.11.2",e2b:"^0.16.0",inquirer:"^9.2.12",open:"^9.1.0","strip-ansi":"^7.1.0","update-notifier":"5.1.0",yup:"^1.3.2"},tL={node:">=18"},nL={name:HM,version:nc,description:YM,homepage:qM,license:$M,author:VM,bugs:WM,repository:KM,publishConfig:zM,sideEffects:QM,scripts:XM,devDependencies:jM,files:ZM,bin:JM,dependencies:eL,engines:tL};l();l();var op=J(sp(),1),{program:O$,createCommand:A$,createArgument:N$,createOption:I$,CommanderError:y$,InvalidArgumentError:v$,InvalidOptionArgumentError:x$,Command:Ce,Argument:M$,Option:cr,Help:L$}=op.default;l();l();l();var lp=(e=0)=>t=>`\x1B[${t+e}m`,cp=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,up=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,Pe={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},P$=Object.keys(Pe.modifier),TL=Object.keys(Pe.color),bL=Object.keys(Pe.bgColor),F$=[...TL,...bL];function DL(){let e=new Map;for(let[t,n]of Object.entries(Pe)){for(let[r,i]of Object.entries(n))Pe[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Pe[r],e.set(i[0],i[1]);Object.defineProperty(Pe,t,{value:n,enumerable:!1})}return Object.defineProperty(Pe,"codes",{value:e,enumerable:!1}),Pe.color.close="\x1B[39m",Pe.bgColor.close="\x1B[49m",Pe.color.ansi=lp(),Pe.color.ansi256=cp(),Pe.color.ansi16m=up(),Pe.bgColor.ansi=lp(10),Pe.bgColor.ansi256=cp(10),Pe.bgColor.ansi16m=up(10),Object.defineProperties(Pe,{rgbToAnsi256:{value(t,n,r){return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(a=>a+a).join(""));let i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>Pe.rgbToAnsi256(...Pe.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,i;if(t>=232)n=((t-232)*10+8)/255,r=n,i=n;else{t-=16;let o=t%36;n=Math.floor(t/36)/5,r=Math.floor(o/6)/5,i=o%6/5}let a=Math.max(n,r,i)*2;if(a===0)return 30;let s=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(n));return a===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>Pe.ansi256ToAnsi(Pe.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>Pe.ansi256ToAnsi(Pe.hexToAnsi256(t)),enumerable:!1}}),Pe}var CL=DL(),Ht=CL;l();var ts=J(require("process"),1),_p=J(require("os"),1),fc=J(require("tty"),1);function vt(e,t=globalThis.Deno?globalThis.Deno.args:ts.default.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return r!==-1&&(i===-1||r<i)}var{env:Ge}=ts.default,es;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?es=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&(es=1);function RL(){if("FORCE_COLOR"in Ge)return Ge.FORCE_COLOR==="true"?1:Ge.FORCE_COLOR==="false"?0:Ge.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ge.FORCE_COLOR,10),3)}function OL(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function AL(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=RL();r!==void 0&&(es=r);let i=n?es:r;if(i===0)return 0;if(n){if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2}if("TF_BUILD"in Ge&&"AGENT_NAME"in Ge)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(Ge.TERM==="dumb")return a;if(ts.default.platform==="win32"){let s=_p.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Ge)return"GITHUB_ACTIONS"in Ge||"GITEA_ACTIONS"in Ge?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in Ge)||Ge.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in Ge)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ge.TEAMCITY_VERSION)?1:0;if(Ge.COLORTERM==="truecolor"||Ge.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in Ge){let s=Number.parseInt((Ge.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ge.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ge.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ge.TERM)||"COLORTERM"in Ge?1:a}function dp(e,t={}){let n=AL(e,{streamIsTTY:e&&e.isTTY,...t});return OL(n)}var NL={stdout:dp({isTTY:fc.default.isatty(1)}),stderr:dp({isTTY:fc.default.isatty(2)})},mp=NL;l();function pp(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,s="";do s+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return s+=e.slice(a),s}function Ep(e,t,n,r){let i=0,a="";do{let s=e[r-1]==="\r";a+=e.slice(i,s?r-1:r)+t+(s?`\r
72
72
  `:`
73
73
  `)+n,i=r+1,r=e.indexOf(`
74
74
  `,i)}while(r!==-1);return a+=e.slice(i),a}var{stdout:fp,stderr:gp}=mp,gc=Symbol("GENERATOR"),Lr=Symbol("STYLER"),Pi=Symbol("IS_EMPTY"),Sp=["ansi","ansi","ansi256","ansi16m"],wr=Object.create(null),IL=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=fp?fp.level:0;e.level=t.level===void 0?n:t.level};var yL=e=>{let t=(...n)=>n.join(" ");return IL(t,e),Object.setPrototypeOf(t,Fi.prototype),t};function Fi(e){return yL(e)}Object.setPrototypeOf(Fi.prototype,Function.prototype);for(let[e,t]of Object.entries(Ht))wr[e]={get(){let n=ns(this,hc(t.open,t.close,this[Lr]),this[Pi]);return Object.defineProperty(this,e,{value:n}),n}};wr.visible={get(){let e=ns(this,this[Lr],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Sc=(e,t,n,...r)=>e==="rgb"?t==="ansi16m"?Ht[n].ansi16m(...r):t==="ansi256"?Ht[n].ansi256(Ht.rgbToAnsi256(...r)):Ht[n].ansi(Ht.rgbToAnsi(...r)):e==="hex"?Sc("rgb",t,n,...Ht.hexToRgb(...r)):Ht[n][e](...r),vL=["rgb","hex","ansi256"];for(let e of vL){wr[e]={get(){let{level:n}=this;return function(...r){let i=hc(Sc(e,Sp[n],"color",...r),Ht.color.close,this[Lr]);return ns(this,i,this[Pi])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);wr[t]={get(){let{level:n}=this;return function(...r){let i=hc(Sc(e,Sp[n],"bgColor",...r),Ht.bgColor.close,this[Lr]);return ns(this,i,this[Pi])}}}}var xL=Object.defineProperties(()=>{},{...wr,level:{enumerable:!0,get(){return this[gc].level},set(e){this[gc].level=e}}}),hc=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},ns=(e,t,n)=>{let r=(...i)=>ML(r,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(r,xL),r[gc]=e,r[Lr]=t,r[Pi]=n,r},ML=(e,t)=>{if(e.level<=0||!t)return e[Pi]?"":t;let n=e[Lr];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=pp(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
@@ -152,7 +152,7 @@ Sandbox templates to delete`))),i.forEach(a=>console.log(nt({...a,templateID:a.t
152
152
  `)}catch(n){console.error(ti(n.message)),process.exit(1)}});var sI=new Ce("template").description("manage sandbox templates").alias("tpl").addCommand(MN).addCommand(ZN).addCommand(tI).addCommand(aI);l();l();l();l();function oI(){let e,t,n=new Promise((r,i)=>{e=r,t=i});return{resolve:e,reject:t,promise:n}}function lI(){return{cols:process.stdout.columns,rows:process.stdout.rows}}async function Tl(e,t,n){let{promise:r,resolve:i}=oI();console.log(t);let a=await e.start({onData:c=>{process.stdout.write(c)},size:lI(),onExit:i,envVars:{TERM:"xterm-256color"}});process.stdin.setEncoding("utf8"),process.stdin.setRawMode(!0),process.stdout.setEncoding("utf8");let s=process.stdout.on("resize",()=>a.resize(lI())),o=process.stdin.on("data",c=>a.sendData(c.toString("utf8")));return r.then(()=>{console.log(n),s.destroy(),o.destroy()}),{kill:a.kill.bind(a),exited:r}}var cI=new Ce("connect").description("connect terminal to already running sandbox").argument("<sandboxID>",`connect to sandbox with ${fe("<sandboxID>")}`).alias("cn").action(async e=>{try{let t=ln();e||(console.error("You need to specify sandbox ID"),process.exit(1)),await QG({apiKey:t,sandboxID:e}),process.exit(0)}catch(t){console.error(t),process.exit(1)}});async function QG({apiKey:e,sandboxID:t}){let n=await vn.reconnect({sandboxID:t,apiKey:e});if(n.terminal){let{exited:r}=await Tl(n.terminal,`Terminal connected to sandbox ${bt(t)}
153
153
  with sandbox URL ${fe(`${n.getProtocol()}://${n.getHostname()}`)}`,`Disconnecting terminal from sandbox ${bt(t)}`);await r,console.log(`Closing terminal connection to sandbox ${bt(t)}`)}else throw new Error("Cannot start terminal - no sandbox")}l();var uI=J(w_());var XG=tn(Nt.api.path("/sandboxes").method("get").create()),dI=new Ce("list").description("list all running sandboxes").alias("ls").action(async()=>{try{let e=ln(),t=await bl({apiKey:e});t?.length?(new uI.Table({title:"Running sandboxes",columns:[{name:"sandboxID",alignment:"left",title:"Sandbox ID"},{name:"templateID",alignment:"left",title:"Template ID"},{name:"alias",alignment:"left",title:"Alias"},{name:"startedAt",alignment:"left",title:"Started at"},{name:"cpuCount",alignment:"left",title:"vCPUs"},{name:"memoryMB",alignment:"left",title:"RAM MiB"},{name:"metadata",alignment:"left",title:"Metadata"}],disabledColumns:["clientID"],rows:t.map(r=>({...r,sandboxID:`${r.sandboxID}-${r.clientID}`,startedAt:new Date(r.startedAt).toLocaleString(),metadata:JSON.stringify(r.metadata)})).sort((r,i)=>r.startedAt.localeCompare(i.startedAt)||r.sandboxID.localeCompare(i.sandboxID)),colorMap:{orange:"\x1B[38;5;216m"}}).printTable(),process.stdout.write(`
154
154
  `)):console.log("No running sandboxes.")}catch(e){console.error(e),process.exit(1)}});async function bl({apiKey:e}){return(await XG(e,{})).data}l();var _I=new Ce("kill").description("kill sandbox").argument("<sandboxID>",`kill the sandbox specified by ${fe("<sandboxID>")}`).alias("kl").action(async e=>{try{let t=ln();e||(console.error("You need to specify sandbox ID"),process.exit(1)),await vn.kill(e,t),console.log(`Sandbox ${fe(e)} has been killed`)}catch(t){t?.status===404?console.error(`Sandbox ${fe(e)} wasn't found`):console.error(t),process.exit(1)}});l();var mI=J(require("path"));var pI=J(require("fs"));var EI=new Ce("spawn").description("spawn sandbox and connect terminal to it").argument("[template]",`spawn and connect to sandbox specified by ${fe("[template]")}`).addOption(nr).addOption(ci).alias("sp").action(async(e,t)=>{try{let n=ln(),r=e,i=Xn(t.path),a=gi(i,t.config),s=pI.default.existsSync(a)?await fi(a):void 0,o=mI.relative(i,a);!r&&s&&(console.log(`Found sandbox template ${nt({templateID:s.template_id,aliases:s.template_name?[s.template_name]:void 0},o)}`),r=s.template_id),r||(console.error("You need to specify sandbox template ID or path to sandbox template config"),process.exit(1)),await jG({apiKey:n,template:{templateID:r}}),process.exit(0)}catch(n){console.error(n),process.exit(1)}});async function jG({apiKey:e,template:t}){let n=await vn.create({apiKey:e,template:t.templateID});if(n.terminal){let{exited:r}=await Tl(n.terminal,`Terminal connected to sandbox ${nt(t)}
155
- with sandbox URL ${fe(`${n.getProtocol()}://${n.getHostname()}`)}`,`Disconnecting terminal from sandbox ${nt(t)}`);await r,console.log(`Closing terminal connection to sandbox ${nt(t)}`)}else throw new Error("Cannot start terminal - no sandbox")}l();var fI=J(require("util"));var gI=tn(Nt.api.path("/sandboxes/{sandboxID}/logs").method("get").create()),ZG=24*60*60*1e3;function SI(e,t){return t?`${e}-${t}`:e}function JG(e,t){let n=!0;async function r(){let i=new Date().getTime();for(;!(new Date().getTime()-i>=ZG);){if(!(await bl({apiKey:e})).find(u=>SI(u.sandboxID,u.clientID)===t)){n=!1;break}await Aa(5e3)}}return r(),()=>n}var k_=(i=>(i.DEBUG="DEBUG",i.INFO="INFO",i.WARN="WARN",i.ERROR="ERROR",i))(k_||{});function eH(e,t){if(!t)return!0;switch(t){case"DEBUG":return!0;case"INFO":return e==="INFO"||e==="WARN"||e==="ERROR";case"WARN":return e==="WARN"||e==="ERROR";case"ERROR":return e==="ERROR"}}function Dl(e){return Object.values(e).map(t=>fe(t)).join(", ")}var B_=(n=>(n.JSON="json",n.PRETTY="pretty",n))(B_||{}),Cl=(i=>(i.PROCESS="process",i.FILESYSTEM="filesystem",i.TERMINAL="terminal",i.NETWORK="network",i))(Cl||{});function tH(e){return e?e.replaceAll("Svc",""):""}var hI=new Ce("logs").description("show logs for sandbox").argument("<sandboxID>",`show logs for sandbox specified by ${fe("<sandboxID>")}`).alias("lg").option("--level <level>",`filter logs by level (${Dl(k_)}). The logs with the higher levels will be also shown.`,"INFO").option("-f, --follow","keep streaming logs until the sandbox is closed").option("--format <format>",`specify format for printing logs (${Dl(B_)})`,"pretty").option("--loggers [loggers]",`filter logs by loggers. The available loggers are ${Dl(Cl)}. Specify multiple loggers by separating them with a comma.`,e=>{let t=e.split(",").map(n=>n.trim());return t.forEach(n=>{Object.values(Cl).includes(n)||(console.error(`Invalid logger used as argument: "${n}"
155
+ with sandbox URL ${fe(`${n.getProtocol()}://${n.getHostname()}`)}`,`Disconnecting terminal from sandbox ${nt(t)}`);await r,console.log(`Closing terminal connection to sandbox ${nt(t)}`)}else throw new Error("Cannot start terminal - no sandbox")}l();var fI=J(require("util"));var gI=tn(Nt.api.path("/sandboxes/{sandboxID}/logs").method("get").create()),ZG=24*60*60*1e3;function SI(e,t){return t?`${e}-${t}`:e}function JG(e,t){let n=!0;async function r(){let i=new Date().getTime();for(;!(new Date().getTime()-i>=ZG);){if(!(await bl({apiKey:e})).find(u=>SI(u.sandboxID,u.clientID)===t)){n=!1;break}await Aa(5e3)}}return r(),()=>n}var k_=(i=>(i.DEBUG="DEBUG",i.INFO="INFO",i.WARN="WARN",i.ERROR="ERROR",i))(k_||{});function eH(e,t){if(!t)return!0;switch(t){case"DEBUG":return!0;case"INFO":return e==="INFO"||e==="WARN"||e==="ERROR";case"WARN":return e==="WARN"||e==="ERROR";case"ERROR":return e==="ERROR"}}function Dl(e){return Object.values(e).map(t=>fe(t)).join(", ")}var B_=(n=>(n.JSON="json",n.PRETTY="pretty",n))(B_||{}),Cl=(a=>(a.PROCESS="process",a.FILESYSTEM="filesystem",a.TERMINAL="terminal",a.NETWORK="network",a.FILE="file",a))(Cl||{});function tH(e){return e?e.replaceAll("Svc",""):""}var hI=new Ce("logs").description("show logs for sandbox").argument("<sandboxID>",`show logs for sandbox specified by ${fe("<sandboxID>")}`).alias("lg").option("--level <level>",`filter logs by level (${Dl(k_)}). The logs with the higher levels will be also shown.`,"INFO").option("-f, --follow","keep streaming logs until the sandbox is closed").option("--format <format>",`specify format for printing logs (${Dl(B_)})`,"pretty").option("--loggers [loggers]",`filter logs by loggers. The available loggers are ${Dl(Cl)}. Specify multiple loggers by separating them with a comma.`,e=>{let t=e.split(",").map(n=>n.trim());return t.forEach(n=>{Object.values(Cl).includes(n)||(console.error(`Invalid logger used as argument: "${n}"
156
156
  Valid loggers are ${Dl(Cl)}`),process.exit(1))}),t},["process","filesystem"]).action(async(e,t)=>{try{let n=t?.level.toUpperCase();if(n&&!Object.values(k_).includes(n))throw new Error(`Invalid log level: ${n}`);let r=t?.format.toLowerCase();if(r&&!Object.values(B_).includes(r))throw new Error(`Invalid log format: ${r}`);let i=ln(),a=t?.follow?JG(i,e):()=>!1,s,o=!0,c=!1;r==="pretty"&&console.log(`
157
157
  Logs for sandbox ${fe(e)}:`);let u=bl({apiKey:i}).then(d=>d.find(m=>SI(m.sandboxID,m.clientID)===e)).then(d=>!!d);do{try{let d=await rH({apiKey:i,sandboxID:e,start:s});d.length!==0&&c===!1&&(c=!0,process.stdout.write(`
158
158
  `));for(let D of d)nH(D.timestamp,D.line,n,r,t?.loggers);let m=await u;if(!m&&d.length===0&&o){r==="pretty"&&console.log(`