@e2b/cli 1.0.1 → 1.0.2

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/dist/index.js CHANGED
@@ -78,7 +78,7 @@ ${r.message}`:N,M=[k,t,e].filter(Boolean).join(`
78
78
  `;else throw new Error("There is no such converter: "+type);return a}else{var o="";return Object.keys(e).forEach(function(c,u,d){var p=pu[n||c];if(typeof p=="function")o+=Hr(p(n?e:e[c],pr),1,t)+`
79
79
  `;else throw new Error("There is no such converter: "+c)}),o}}pr.async=function(e,t,n){return Promise.resolve().then(function(){if(t=t||"",typeof e=="string"||typeof e=="number")return Hr(e,1,t);var r=[];if(Array.isArray(e)){var i=e.map(function(o,c){return Promise.resolve().then(function(){return pr.async(o,"",n)}).then(function(u){return Hr(u,1,t)}).then(function(u){r[c]=u})});return Promise.all(i).then(function(){return r.join(`
80
80
  `)})}else{var a=Object.keys(e)[0],s=pu[n||a];if(typeof s=="function")return Promise.resolve().then(function(){return s(n?e:e[a],pr)}).then(function(o){return Hr(o,1,t)+`
81
- `});throw new Error("There is no such converter: "+a)}})};pr.converters=pu;DM.exports=pr});var DV={};EE(DV,{pkg:()=>du});module.exports=Yw(DV);l();var NM=Z(require("update-notifier"));l();var xE=Z(vE(),1),{program:GV,createCommand:HV,createArgument:YV,createOption:qV,CommanderError:VV,InvalidArgumentError:$V,InvalidOptionArgumentError:KV,Command:Oe,Argument:WV,Option:qn,Help:zV}=xE.default;var vu={};EE(vu,{author:()=>dL,bin:()=>hL,bugs:()=>_L,default:()=>CL,dependencies:()=>bL,description:()=>lL,devDependencies:()=>SL,engines:()=>DL,files:()=>TL,homepage:()=>cL,keywords:()=>EL,license:()=>uL,name:()=>oL,publishConfig:()=>pL,repository:()=>mL,scripts:()=>gL,sideEffects:()=>fL,version:()=>xu});var oL="@e2b/cli",xu="1.0.1",lL="CLI for managing e2b sandbox templates",cL="https://e2b.dev",uL="MIT",dL={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},_L="https://github.com/e2b-dev/e2b/issues",mL={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},pL={access:"public"},EL=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],fL=!1,gL={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","generate-api-reference":"./scripts/generate_api_ref.sh"},SL={"@types/command-exists":"^1.2.3","@types/inquirer":"^9.0.7","@types/json2md":"^1.5.4","@types/node":"^18.18.6","@types/update-notifier":"6.0.5",json2md:"^2.0.1",knip:"^2.33.4","npm-check-updates":"^16.14.6",tsup:"^7.2.0",typescript:"^5.2.2"},TL=["dist","LICENSE","README","package.json"],hL={e2b:"dist/index.js"},bL={"@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:"^1.0.1",inquirer:"^9.2.12",open:"^9.1.0","strip-ansi":"^7.1.0","update-notifier":"5.1.0",yup:"^1.3.2"},DL={node:">=18"},CL={name:oL,version:xu,description:lL,homepage:cL,license:uL,author:dL,bugs:_L,repository:mL,publishConfig:pL,keywords:EL,sideEffects:fL,scripts:gL,devDependencies:SL,files:TL,bin:hL,dependencies:bL,engines:DL};l();l();l();l();var ME=(e=0)=>t=>`\x1B[${t+e}m`,wE=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,LE=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,Ye={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]}},XV=Object.keys(Ye.modifier),RL=Object.keys(Ye.color),AL=Object.keys(Ye.bgColor),JV=[...RL,...AL];function OL(){let e=new Map;for(let[t,n]of Object.entries(Ye)){for(let[r,i]of Object.entries(n))Ye[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Ye[r],e.set(i[0],i[1]);Object.defineProperty(Ye,t,{value:n,enumerable:!1})}return Object.defineProperty(Ye,"codes",{value:e,enumerable:!1}),Ye.color.close="\x1B[39m",Ye.bgColor.close="\x1B[49m",Ye.color.ansi=ME(),Ye.color.ansi256=wE(),Ye.color.ansi16m=LE(),Ye.bgColor.ansi=ME(10),Ye.bgColor.ansi256=wE(10),Ye.bgColor.ansi16m=LE(10),Object.defineProperties(Ye,{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=>Ye.rgbToAnsi256(...Ye.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)=>Ye.ansi256ToAnsi(Ye.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>Ye.ansi256ToAnsi(Ye.hexToAnsi256(t)),enumerable:!1}}),Ye}var NL=OL(),en=NL;l();var gs=Z(require("process"),1),FE=Z(require("os"),1),Mu=Z(require("tty"),1);function qt(e,t=globalThis.Deno?globalThis.Deno.args:gs.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:We}=gs.default,fs;qt("no-color")||qt("no-colors")||qt("color=false")||qt("color=never")?fs=0:(qt("color")||qt("colors")||qt("color=true")||qt("color=always"))&&(fs=1);function yL(){if("FORCE_COLOR"in We)return We.FORCE_COLOR==="true"?1:We.FORCE_COLOR==="false"?0:We.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(We.FORCE_COLOR,10),3)}function IL(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function vL(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=yL();r!==void 0&&(fs=r);let i=n?fs:r;if(i===0)return 0;if(n){if(qt("color=16m")||qt("color=full")||qt("color=truecolor"))return 3;if(qt("color=256"))return 2}if("TF_BUILD"in We&&"AGENT_NAME"in We)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(We.TERM==="dumb")return a;if(gs.default.platform==="win32"){let s=FE.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in We)return"GITHUB_ACTIONS"in We||"GITEA_ACTIONS"in We?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in We)||We.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor"||We.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in We){let s=Number.parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:a}function PE(e,t={}){let n=vL(e,{streamIsTTY:e&&e.isTTY,...t});return IL(n)}var xL={stdout:PE({isTTY:Mu.default.isatty(1)}),stderr:PE({isTTY:Mu.default.isatty(2)})},kE=xL;l();function BE(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 UE(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
81
+ `});throw new Error("There is no such converter: "+a)}})};pr.converters=pu;DM.exports=pr});var DV={};EE(DV,{pkg:()=>du});module.exports=Yw(DV);l();var NM=Z(require("update-notifier"));l();var xE=Z(vE(),1),{program:GV,createCommand:HV,createArgument:YV,createOption:qV,CommanderError:VV,InvalidArgumentError:$V,InvalidOptionArgumentError:KV,Command:Oe,Argument:WV,Option:qn,Help:zV}=xE.default;var vu={};EE(vu,{author:()=>dL,bin:()=>hL,bugs:()=>_L,default:()=>CL,dependencies:()=>bL,description:()=>lL,devDependencies:()=>SL,engines:()=>DL,files:()=>TL,homepage:()=>cL,keywords:()=>EL,license:()=>uL,name:()=>oL,publishConfig:()=>pL,repository:()=>mL,scripts:()=>gL,sideEffects:()=>fL,version:()=>xu});var oL="@e2b/cli",xu="1.0.2",lL="CLI for managing e2b sandbox templates",cL="https://e2b.dev",uL="MIT",dL={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},_L="https://github.com/e2b-dev/e2b/issues",mL={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},pL={access:"public"},EL=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],fL=!1,gL={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","generate-api-reference":"./scripts/generate_api_ref.sh"},SL={"@types/command-exists":"^1.2.3","@types/inquirer":"^9.0.7","@types/json2md":"^1.5.4","@types/node":"^18.18.6","@types/update-notifier":"6.0.5",json2md:"^2.0.1",knip:"^2.33.4","npm-check-updates":"^16.14.6",tsup:"^7.2.0",typescript:"^5.2.2"},TL=["dist","LICENSE","README","package.json"],hL={e2b:"dist/index.js"},bL={"@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:"^1.0.1",inquirer:"^9.2.12",open:"^9.1.0","strip-ansi":"^7.1.0","update-notifier":"5.1.0",yup:"^1.3.2"},DL={node:">=18"},CL={name:oL,version:xu,description:lL,homepage:cL,license:uL,author:dL,bugs:_L,repository:mL,publishConfig:pL,keywords:EL,sideEffects:fL,scripts:gL,devDependencies:SL,files:TL,bin:hL,dependencies:bL,engines:DL};l();l();l();l();var ME=(e=0)=>t=>`\x1B[${t+e}m`,wE=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,LE=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,Ye={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]}},XV=Object.keys(Ye.modifier),RL=Object.keys(Ye.color),AL=Object.keys(Ye.bgColor),JV=[...RL,...AL];function OL(){let e=new Map;for(let[t,n]of Object.entries(Ye)){for(let[r,i]of Object.entries(n))Ye[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Ye[r],e.set(i[0],i[1]);Object.defineProperty(Ye,t,{value:n,enumerable:!1})}return Object.defineProperty(Ye,"codes",{value:e,enumerable:!1}),Ye.color.close="\x1B[39m",Ye.bgColor.close="\x1B[49m",Ye.color.ansi=ME(),Ye.color.ansi256=wE(),Ye.color.ansi16m=LE(),Ye.bgColor.ansi=ME(10),Ye.bgColor.ansi256=wE(10),Ye.bgColor.ansi16m=LE(10),Object.defineProperties(Ye,{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=>Ye.rgbToAnsi256(...Ye.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)=>Ye.ansi256ToAnsi(Ye.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>Ye.ansi256ToAnsi(Ye.hexToAnsi256(t)),enumerable:!1}}),Ye}var NL=OL(),en=NL;l();var gs=Z(require("process"),1),FE=Z(require("os"),1),Mu=Z(require("tty"),1);function qt(e,t=globalThis.Deno?globalThis.Deno.args:gs.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:We}=gs.default,fs;qt("no-color")||qt("no-colors")||qt("color=false")||qt("color=never")?fs=0:(qt("color")||qt("colors")||qt("color=true")||qt("color=always"))&&(fs=1);function yL(){if("FORCE_COLOR"in We)return We.FORCE_COLOR==="true"?1:We.FORCE_COLOR==="false"?0:We.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(We.FORCE_COLOR,10),3)}function IL(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function vL(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=yL();r!==void 0&&(fs=r);let i=n?fs:r;if(i===0)return 0;if(n){if(qt("color=16m")||qt("color=full")||qt("color=truecolor"))return 3;if(qt("color=256"))return 2}if("TF_BUILD"in We&&"AGENT_NAME"in We)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(We.TERM==="dumb")return a;if(gs.default.platform==="win32"){let s=FE.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in We)return"GITHUB_ACTIONS"in We||"GITEA_ACTIONS"in We?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in We)||We.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor"||We.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in We){let s=Number.parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:a}function PE(e,t={}){let n=vL(e,{streamIsTTY:e&&e.isTTY,...t});return IL(n)}var xL={stdout:PE({isTTY:Mu.default.isatty(1)}),stderr:PE({isTTY:Mu.default.isatty(2)})},kE=xL;l();function BE(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 UE(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
82
82
  `:`
83
83
  `)+n,i=r+1,r=e.indexOf(`
84
84
  `,i)}while(r!==-1);return a+=e.slice(i),a}var{stdout:GE,stderr:HE}=kE,wu=Symbol("GENERATOR"),Yr=Symbol("STYLER"),Wi=Symbol("IS_EMPTY"),YE=["ansi","ansi","ansi256","ansi16m"],qr=Object.create(null),ML=(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=GE?GE.level:0;e.level=t.level===void 0?n:t.level};var wL=e=>{let t=(...n)=>n.join(" ");return ML(t,e),Object.setPrototypeOf(t,zi.prototype),t};function zi(e){return wL(e)}Object.setPrototypeOf(zi.prototype,Function.prototype);for(let[e,t]of Object.entries(en))qr[e]={get(){let n=Ss(this,Pu(t.open,t.close,this[Yr]),this[Wi]);return Object.defineProperty(this,e,{value:n}),n}};qr.visible={get(){let e=Ss(this,this[Yr],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Lu=(e,t,n,...r)=>e==="rgb"?t==="ansi16m"?en[n].ansi16m(...r):t==="ansi256"?en[n].ansi256(en.rgbToAnsi256(...r)):en[n].ansi(en.rgbToAnsi(...r)):e==="hex"?Lu("rgb",t,n,...en.hexToRgb(...r)):en[n][e](...r),LL=["rgb","hex","ansi256"];for(let e of LL){qr[e]={get(){let{level:n}=this;return function(...r){let i=Pu(Lu(e,YE[n],"color",...r),en.color.close,this[Yr]);return Ss(this,i,this[Wi])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);qr[t]={get(){let{level:n}=this;return function(...r){let i=Pu(Lu(e,YE[n],"bgColor",...r),en.bgColor.close,this[Yr]);return Ss(this,i,this[Wi])}}}}var PL=Object.defineProperties(()=>{},{...qr,level:{enumerable:!0,get(){return this[wu].level},set(e){this[wu].level=e}}}),Pu=(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}},Ss=(e,t,n)=>{let r=(...i)=>FL(r,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(r,PL),r[wu]=e,r[Yr]=t,r[Wi]=n,r},FL=(e,t)=>{if(e.level<=0||!t)return e[Wi]?"":t;let n=e[Yr];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=BE(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
@@ -148,7 +148,7 @@ Check the logs above for more details or contact us ${wt("(https://e2b.dev/docs/
148
148
  `)}catch(t){console.error(t),process.exit(1)}});l();var Qy=Z(require("fs"));l();async function Wy(e,t){return(await(await import("inquirer")).default.prompt([{name:"templates",message:ye.underline(t),type:"checkbox",pageSize:50,choices:e.map(i=>({name:gt(i),value:i}))}])).templates}l();async function zy(e,t=!1){return(await(await import("inquirer")).default.prompt([{name:"confirm",type:"confirm",default:t,message:e}])).confirm}async function lH(e){let t=await St.api.DELETE("/templates/{templateID}",{params:{path:{templateID:e}}});Rt(t.error,"Error deleting sandbox template")}var Xy=new Oe("delete").description(`delete sandbox template and ${Lt(Ai)} config`).argument("[template]",`specify ${Ee("[template]")} to delete it. If you dont specify ${Ee("[template]")} the command will try to delete sandbox template defined by ${Lt("e2b.toml")}.`).addOption(or).addOption(Ti).addOption(gN).addOption(hi).alias("dl").option("-y, --yes","skip manual delete confirmation").action(async(e,t)=>{try{let n=t.team,r=rr(t.path),i=[];if(e)i.push({template_id:e});else if(t.select){let a=Gt();a&&(n=n||a.teamId||a.defaultTeamId);let s=await rp({teamID:n}),o=await Wy(s,"Select sandbox templates to delete");if(i.push(...o.map(c=>({template_id:c.templateID,...c}))),!i||i.length===0){console.log("No sandbox templates selected");return}}else{let a=Ni(r),s=Qy.existsSync(a)?await Oi(a):void 0;if(!s){console.log(`No ${Lt(Ai)} found in ${Dt(r)}. Specify sandbox template with ${Ee("[template]")} argument or use interactive mode with ${Ee("-s")} flag.`);return}i.push({...s,configPath:a})}if(!i||i.length===0){console.log(`No sandbox templates selected. Specify sandbox template with ${Ee("[template]")} argument or use interactive mode with ${Ee("-s")} flag.`);return}if(console.log(ye.red(ye.underline(`
149
149
  Sandbox templates to delete`))),i.forEach(a=>console.log(gt({...a,templateID:a.template_id},a.configPath))),process.stdout.write(`
150
150
  `),!t.yes&&!await zy(`Do you really want to delete ${i.length===1?"this template":"these templates"}?`)){console.log("Canceled");return}await Promise.all(i.map(async a=>{console.log(`- Deleting sandbox template ${gt({...a,templateID:a.template_id},a.configPath)}`),await lH(a.template_id),a.configPath&&await by(a.configPath)})),process.stdout.write(`
151
- `)}catch(n){console.error(Ar(n.message)),process.exit(1)}});var Jy=new Oe("template").description("manage sandbox templates").alias("tpl").addCommand(Cy).addCommand(qy).addCommand(Ky).addCommand(Xy);l();l();l();function jy(){return{cols:process.stdout.columns,rows:process.stdout.rows}}async function Fc(e){process.stdin.setRawMode(!0),process.stdout.setEncoding("utf-8");let t=await e.pty.create({onData:i=>{process.stdout.write(i)},...jy(),timeoutMs:0}),n=process.stdout.on("resize",()=>e.pty.resize(t.pid,jy())),r=process.stdin.on("data",async i=>{await e.pty.sendInput(t.pid,i)});try{await t.wait()}catch(i){if(i instanceof gi&&i.exitCode===-1&&i.error==="signal: killed")return;throw i}finally{process.stdout.write(`
151
+ `)}catch(n){console.error(Ar(n.message)),process.exit(1)}});var Jy=new Oe("template").description("manage sandbox templates").alias("tpl").addCommand(Cy).addCommand(qy).addCommand(Ky).addCommand(Xy);l();l();l();function jy(){return{cols:process.stdout.columns,rows:process.stdout.rows}}async function Fc(e){process.stdin.setRawMode(!0),process.stdout.setEncoding("utf-8");let t=await e.pty.create({onData:i=>{process.stdout.write(i)},...jy(),timeoutMs:0}),n=process.stdout.on("resize",()=>e.pty.resize(t.pid,jy())),r=process.stdin.on("data",async i=>{await e.pty.sendInput(t.pid,i)});try{await t.wait()}catch(i){if(i instanceof gi){if(i.exitCode===-1&&i.error==="signal: killed")return;if(i.exitCode===130){console.warn("Terminal session was killed by user");return}}throw i}finally{process.stdout.write(`
152
152
  `),n.destroy(),r.destroy(),process.stdin.setRawMode(!1)}}var Zy=new Oe("connect").description("connect terminal to already running sandbox").argument("<sandboxID>",`connect to sandbox with ${Ee("<sandboxID>")}`).alias("cn").action(async e=>{try{let t=sr();e||(console.error("You need to specify sandbox ID"),process.exit(1)),await cH({apiKey:t,sandboxID:e}),process.exit(0)}catch(t){console.error(t),process.exit(1)}});async function cH({apiKey:e,sandboxID:t}){let n=await Sn.connect(t,{apiKey:e});console.log(`Terminal connecting to sandbox ${wt(`${n.sandboxId}`)}`),await Fc(n),console.log(`Closing terminal connection to sandbox ${wt(n.sandboxId)}`)}l();var eI=Z(np());var tI=new Oe("list").description("list all running sandboxes").alias("ls").action(async()=>{try{let e=await kc();e?.length?(new eI.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:"endAt",alignment:"left",title:"End at"},{name:"cpuCount",alignment:"left",title:"vCPUs"},{name:"memoryMB",alignment:"left",title:"RAM MiB"},{name:"metadata",alignment:"left",title:"Metadata"}],disabledColumns:["clientID"],rows:e.map(n=>({...n,sandboxID:`${n.sandboxID}-${n.clientID}`,startedAt:new Date(n.startedAt).toLocaleString(),endAt:new Date(n.endAt).toLocaleString(),metadata:JSON.stringify(n.metadata)})).sort((n,r)=>n.startedAt.localeCompare(r.startedAt)||n.sandboxID.localeCompare(r.sandboxID)),colorMap:{orange:"\x1B[38;5;216m"}}).printTable(),process.stdout.write(`
153
153
  `)):console.log("No running sandboxes.")}catch(e){console.error(e),process.exit(1)}});async function kc(){sr();let e=Ft.getSignal(),t=await St.api.GET("/sandboxes",{signal:e});return Rt(t.error,"Error getting running sandboxes"),t.data}l();async function nI(e,t){await Sn.kill(e,{apiKey:t})?console.log(`Sandbox ${Ee(e)} has been killed`):console.error(`Sandbox ${Ee(e)} wasn't found`)}var rI=new Oe("kill").description("kill sandbox").argument("[sandboxID]",`kill the sandbox specified by ${Ee("[sandboxID]")}`).alias("kl").option("-a, --all","kill all running sandboxes").action(async(e,{all:t})=>{try{let n=sr();if(!e&&!t&&(console.error(`You need to specify ${Ee("[sandboxID]")} or use ${Ee("-a/--all")} flag`),process.exit(1)),t&&e&&(console.error(`You cannot use ${Ee("-a/--all")} flag while specifying ${Ee("[sandboxID]")}`),process.exit(1)),t){let r=await Sn.list({apiKey:n});r.length===0&&(console.log("No running sandboxes"),process.exit(0)),await Promise.all(r.map(i=>nI(i.sandboxId,n)))}else await nI(e,n)}catch(n){console.error(n),process.exit(1)}});l();var iI=Z(require("path"));var aI=Z(require("fs"));var sI=new Oe("spawn").description("spawn sandbox and connect terminal to it").argument("[template]",`spawn and connect to sandbox specified by ${Ee("[template]")}`).addOption(or).addOption(Ti).alias("sp").action(async(e,t)=>{try{let n=sr(),r=e,i=rr(t.path),a=Ni(i,t.config),s=aI.default.existsSync(a)?await Oi(a):void 0,o=iI.relative(i,a);!r&&s&&(console.log(`Found sandbox template ${gt({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 uH({apiKey:n,template:{templateID:r}}),process.exit(0)}catch(n){console.error(n),process.exit(1)}});async function uH({apiKey:e,template:t}){let n=await Sn.create(t.templateID,{apiKey:e}),r=setInterval(async()=>{await n.setTimeout(1e4)},5e3);console.log(`Terminal connecting to template ${gt(t)} with sandbox ID ${Ee(`${n.sandboxId}`)}`);try{await Fc(n)}finally{clearInterval(r),await n.kill(),console.log(`Closing terminal connection to template ${gt(t)} with sandbox ID ${Ee(`${n.sandboxId}`)}`)}}l();var lI=Z(require("util"));var dH=24*60*60*1e3;function cI(e){return e.split("-")[0]}function _H(e){let t=!0;async function n(){let r=new Date().getTime();for(;!(new Date().getTime()-r>=dH);){if(!(await kc()).find(c=>c.sandboxID===cI(e))){t=!1;break}await Da(5e3)}}return n(),()=>t}var ap=(i=>(i.DEBUG="DEBUG",i.INFO="INFO",i.WARN="WARN",i.ERROR="ERROR",i))(ap||{});function mH(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 oI(e){return Object.values(e).map(t=>Ee(t)).join(", ")}var sp=(n=>(n.JSON="json",n.PRETTY="pretty",n))(sp||{});function pH(e){return e?e.replaceAll("Svc",""):""}var uI=new Oe("logs").description("show logs for sandbox").argument("<sandboxID>",`show logs for sandbox specified by ${Ee("<sandboxID>")}`).alias("lg").option("--level <level>",`filter logs by level (${oI(ap)}). 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 (${oI(sp)})`,"pretty").option("--loggers [loggers]","filter logs by loggers. Specify multiple loggers by separating them with a comma.",e=>e.split(",")).action(async(e,t)=>{try{let n=t?.level.toUpperCase();if(n&&!Object.values(ap).includes(n))throw new Error(`Invalid log level: ${n}`);let r=t?.format.toLowerCase();if(r&&!Object.values(sp).includes(r))throw new Error(`Invalid log format: ${r}`);let i=t?.follow?_H(e):()=>!1,a,s=!0,o=!1;r==="pretty"&&console.log(`
154
154
  Logs for sandbox ${Ee(e)}:`);let c=kc().then(u=>u.find(d=>d.sandboxID===cI(e))).then(u=>!!u);do{let u=await fH({sandboxID:e,start:a});u.length!==0&&o===!1&&(o=!0,process.stdout.write(`