@e2b/cli 1.0.7 → 1.0.9

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}`:A,L=[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=iu[n||c];if(typeof p=="function")o+=Zr(p(n?e:e[c],Nr),1,t)+`
79
79
  `;else throw new Error("There is no such converter: "+c)}),o}}Nr.async=function(e,t,n){return Promise.resolve().then(function(){if(t=t||"",typeof e=="string"||typeof e=="number")return Zr(e,1,t);var r=[];if(Array.isArray(e)){var i=e.map(function(o,c){return Promise.resolve().then(function(){return Nr.async(o,"",n)}).then(function(u){return Zr(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=iu[n||a];if(typeof s=="function")return Promise.resolve().then(function(){return s(n?e:e[a],Nr)}).then(function(o){return Zr(o,1,t)+`
81
- `});throw new Error("There is no such converter: "+a)}})};Nr.converters=iu;Iw.exports=Nr});var VK={};TE(VK,{pkg:()=>tu});module.exports=Q2(VK);l();var Lw=X(require("update-notifier"));l();var PE=X(LE(),1),{program:oW,createCommand:lW,createArgument:cW,createOption:uW,CommanderError:dW,InvalidArgumentError:_W,InvalidOptionArgumentError:mW,Command:be,Argument:pW,Option:Zn,Help:EW}=PE.default;var hu={};TE(hu,{author:()=>S9,bin:()=>O9,bugs:()=>T9,default:()=>v9,dependencies:()=>y9,description:()=>E9,devDependencies:()=>R9,engines:()=>I9,files:()=>A9,homepage:()=>f9,keywords:()=>D9,license:()=>g9,name:()=>p9,publishConfig:()=>b9,repository:()=>h9,scripts:()=>N9,sideEffects:()=>C9,version:()=>bu});var p9="@e2b/cli",bu="1.0.7",E9="CLI for managing e2b sandbox templates",f9="https://e2b.dev",g9="MIT",S9={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},T9="https://github.com/e2b-dev/e2b/issues",h9={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},b9={access:"public"},D9=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],C9=!1,N9={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-ref":"./scripts/generate_sdk_ref.sh"},R9={"@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"},A9=["dist","LICENSE","README","package.json"],O9={e2b:"dist/index.js"},y9={"@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"},I9={node:">=18"},v9={name:p9,version:bu,description:E9,homepage:f9,license:g9,author:S9,bugs:T9,repository:h9,publishConfig:b9,keywords:D9,sideEffects:C9,scripts:N9,devDependencies:R9,files:A9,bin:O9,dependencies:y9,engines:I9};l();l();l();l();var FE=(e=0)=>t=>`\x1B[${t+e}m`,kE=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,BE=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,Ue={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]}},gW=Object.keys(Ue.modifier),x9=Object.keys(Ue.color),M9=Object.keys(Ue.bgColor),SW=[...x9,...M9];function w9(){let e=new Map;for(let[t,n]of Object.entries(Ue)){for(let[r,i]of Object.entries(n))Ue[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Ue[r],e.set(i[0],i[1]);Object.defineProperty(Ue,t,{value:n,enumerable:!1})}return Object.defineProperty(Ue,"codes",{value:e,enumerable:!1}),Ue.color.close="\x1B[39m",Ue.bgColor.close="\x1B[49m",Ue.color.ansi=FE(),Ue.color.ansi256=kE(),Ue.color.ansi16m=BE(),Ue.bgColor.ansi=FE(10),Ue.bgColor.ansi256=kE(10),Ue.bgColor.ansi16m=BE(10),Object.defineProperties(Ue,{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=>Ue.rgbToAnsi256(...Ue.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)=>Ue.ansi256ToAnsi(Ue.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>Ue.ansi256ToAnsi(Ue.hexToAnsi256(t)),enumerable:!1}}),Ue}var L9=w9(),nn=L9;l();var Fs=X(require("process"),1),GE=X(require("os"),1),Du=X(require("tty"),1);function $t(e,t=globalThis.Deno?globalThis.Deno.args:Fs.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:qe}=Fs.default,Ps;$t("no-color")||$t("no-colors")||$t("color=false")||$t("color=never")?Ps=0:($t("color")||$t("colors")||$t("color=true")||$t("color=always"))&&(Ps=1);function P9(){if("FORCE_COLOR"in qe)return qe.FORCE_COLOR==="true"?1:qe.FORCE_COLOR==="false"?0:qe.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(qe.FORCE_COLOR,10),3)}function F9(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function k9(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=P9();r!==void 0&&(Ps=r);let i=n?Ps:r;if(i===0)return 0;if(n){if($t("color=16m")||$t("color=full")||$t("color=truecolor"))return 3;if($t("color=256"))return 2}if("TF_BUILD"in qe&&"AGENT_NAME"in qe)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(qe.TERM==="dumb")return a;if(Fs.default.platform==="win32"){let s=GE.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in qe)return"GITHUB_ACTIONS"in qe||"GITEA_ACTIONS"in qe?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in qe)||qe.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in qe)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(qe.TEAMCITY_VERSION)?1:0;if(qe.COLORTERM==="truecolor"||qe.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in qe){let s=Number.parseInt((qe.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(qe.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(qe.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(qe.TERM)||"COLORTERM"in qe?1:a}function UE(e,t={}){let n=k9(e,{streamIsTTY:e&&e.isTTY,...t});return F9(n)}var B9={stdout:UE({isTTY:Du.default.isatty(1)}),stderr:UE({isTTY:Du.default.isatty(2)})},HE=B9;l();function YE(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 VE(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)}})};Nr.converters=iu;Iw.exports=Nr});var VK={};TE(VK,{pkg:()=>tu});module.exports=Q2(VK);l();var Lw=X(require("update-notifier"));l();var PE=X(LE(),1),{program:oW,createCommand:lW,createArgument:cW,createOption:uW,CommanderError:dW,InvalidArgumentError:_W,InvalidOptionArgumentError:mW,Command:be,Argument:pW,Option:Zn,Help:EW}=PE.default;var hu={};TE(hu,{author:()=>S9,bin:()=>O9,bugs:()=>T9,default:()=>v9,dependencies:()=>y9,description:()=>E9,devDependencies:()=>R9,engines:()=>I9,files:()=>A9,homepage:()=>f9,keywords:()=>D9,license:()=>g9,name:()=>p9,publishConfig:()=>b9,repository:()=>h9,scripts:()=>N9,sideEffects:()=>C9,version:()=>bu});var p9="@e2b/cli",bu="1.0.9",E9="CLI for managing e2b sandbox templates",f9="https://e2b.dev",g9="MIT",S9={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},T9="https://github.com/e2b-dev/e2b/issues",h9={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},b9={access:"public"},D9=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],C9=!1,N9={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-ref":"./scripts/generate_sdk_ref.sh"},R9={"@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"},A9=["dist","LICENSE","README","package.json"],O9={e2b:"dist/index.js"},y9={"@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"},I9={node:">=18"},v9={name:p9,version:bu,description:E9,homepage:f9,license:g9,author:S9,bugs:T9,repository:h9,publishConfig:b9,keywords:D9,sideEffects:C9,scripts:N9,devDependencies:R9,files:A9,bin:O9,dependencies:y9,engines:I9};l();l();l();l();var FE=(e=0)=>t=>`\x1B[${t+e}m`,kE=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,BE=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,Ue={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]}},gW=Object.keys(Ue.modifier),x9=Object.keys(Ue.color),M9=Object.keys(Ue.bgColor),SW=[...x9,...M9];function w9(){let e=new Map;for(let[t,n]of Object.entries(Ue)){for(let[r,i]of Object.entries(n))Ue[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Ue[r],e.set(i[0],i[1]);Object.defineProperty(Ue,t,{value:n,enumerable:!1})}return Object.defineProperty(Ue,"codes",{value:e,enumerable:!1}),Ue.color.close="\x1B[39m",Ue.bgColor.close="\x1B[49m",Ue.color.ansi=FE(),Ue.color.ansi256=kE(),Ue.color.ansi16m=BE(),Ue.bgColor.ansi=FE(10),Ue.bgColor.ansi256=kE(10),Ue.bgColor.ansi16m=BE(10),Object.defineProperties(Ue,{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=>Ue.rgbToAnsi256(...Ue.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)=>Ue.ansi256ToAnsi(Ue.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>Ue.ansi256ToAnsi(Ue.hexToAnsi256(t)),enumerable:!1}}),Ue}var L9=w9(),nn=L9;l();var Fs=X(require("process"),1),GE=X(require("os"),1),Du=X(require("tty"),1);function $t(e,t=globalThis.Deno?globalThis.Deno.args:Fs.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:qe}=Fs.default,Ps;$t("no-color")||$t("no-colors")||$t("color=false")||$t("color=never")?Ps=0:($t("color")||$t("colors")||$t("color=true")||$t("color=always"))&&(Ps=1);function P9(){if("FORCE_COLOR"in qe)return qe.FORCE_COLOR==="true"?1:qe.FORCE_COLOR==="false"?0:qe.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(qe.FORCE_COLOR,10),3)}function F9(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function k9(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=P9();r!==void 0&&(Ps=r);let i=n?Ps:r;if(i===0)return 0;if(n){if($t("color=16m")||$t("color=full")||$t("color=truecolor"))return 3;if($t("color=256"))return 2}if("TF_BUILD"in qe&&"AGENT_NAME"in qe)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(qe.TERM==="dumb")return a;if(Fs.default.platform==="win32"){let s=GE.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in qe)return"GITHUB_ACTIONS"in qe||"GITEA_ACTIONS"in qe?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in qe)||qe.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in qe)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(qe.TEAMCITY_VERSION)?1:0;if(qe.COLORTERM==="truecolor"||qe.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in qe){let s=Number.parseInt((qe.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(qe.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(qe.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(qe.TERM)||"COLORTERM"in qe?1:a}function UE(e,t={}){let n=k9(e,{streamIsTTY:e&&e.isTTY,...t});return F9(n)}var B9={stdout:UE({isTTY:Du.default.isatty(1)}),stderr:UE({isTTY:Du.default.isatty(2)})},HE=B9;l();function YE(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 VE(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:qE,stderr:$E}=HE,Cu=Symbol("GENERATOR"),jr=Symbol("STYLER"),sa=Symbol("IS_EMPTY"),KE=["ansi","ansi","ansi256","ansi16m"],Jr=Object.create(null),U9=(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=qE?qE.level:0;e.level=t.level===void 0?n:t.level};var G9=e=>{let t=(...n)=>n.join(" ");return U9(t,e),Object.setPrototypeOf(t,oa.prototype),t};function oa(e){return G9(e)}Object.setPrototypeOf(oa.prototype,Function.prototype);for(let[e,t]of Object.entries(nn))Jr[e]={get(){let n=ks(this,Ru(t.open,t.close,this[jr]),this[sa]);return Object.defineProperty(this,e,{value:n}),n}};Jr.visible={get(){let e=ks(this,this[jr],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Nu=(e,t,n,...r)=>e==="rgb"?t==="ansi16m"?nn[n].ansi16m(...r):t==="ansi256"?nn[n].ansi256(nn.rgbToAnsi256(...r)):nn[n].ansi(nn.rgbToAnsi(...r)):e==="hex"?Nu("rgb",t,n,...nn.hexToRgb(...r)):nn[n][e](...r),H9=["rgb","hex","ansi256"];for(let e of H9){Jr[e]={get(){let{level:n}=this;return function(...r){let i=Ru(Nu(e,KE[n],"color",...r),nn.color.close,this[jr]);return ks(this,i,this[sa])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);Jr[t]={get(){let{level:n}=this;return function(...r){let i=Ru(Nu(e,KE[n],"bgColor",...r),nn.bgColor.close,this[jr]);return ks(this,i,this[sa])}}}}var Y9=Object.defineProperties(()=>{},{...Jr,level:{enumerable:!0,get(){return this[Cu].level},set(e){this[Cu].level=e}}}),Ru=(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}},ks=(e,t,n)=>{let r=(...i)=>V9(r,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(r,Y9),r[Cu]=e,r[jr]=t,r[sa]=n,r},V9=(e,t)=>{if(e.level<=0||!t)return e[sa]?"":t;let n=e[jr];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=YE(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
@@ -141,7 +141,7 @@ ${d}
141
141
  \u274C Building sandbox template ${tt({aliases:a,...i})} failed.
142
142
  Check the logs above for more details or contact us ${kt("(https://e2b.dev/docs/getting-help)")} to get help.
143
143
  `)}while(i.status==="building")}function qm(e){if(us.existsSync(e))return us.readFileSync(e,"utf-8")}function NY(e,t){if(t){let o=zn.join(e,t),c=qm(o),u=zn.relative(e,o);if(c===void 0)throw new Error(`No ${pt(u)} found in the root directory.`);return{dockerfilePath:o,dockerfileContent:c,dockerfileRelativePath:u}}let n=zn.join(e,Er),r=qm(n),i=zn.relative(e,n),a=i;if(r!==void 0)return{dockerfilePath:n,dockerfileContent:r,dockerfileRelativePath:a};n=zn.join(e,zl),r=qm(n);let s=zn.relative(e,n);if(a=s,r!==void 0)return{dockerfilePath:n,dockerfileContent:r,dockerfileRelativePath:a};throw new Error(`No ${pt(i)} or ${pt(s)} found in the root directory (${e}). You can specify a custom Dockerfile with ${ae("--dockerfile <file>")} option.`)}async function RY(e,t){let n;return t?n=await bY(t,e):n=await hY(e),Et(n.error,"Error requesting template build"),n.data}async function AY(e,t){await DY(e,t)}l();var WI=X(op());l();function KI(e){e?.sort()}var zI=new be("list").description("list sandbox templates").alias("ls").addOption(qn).action(async e=>{try{let t=Wl();Pi(),process.stdout.write(`
144
- `);let n=await fs({teamID:e.team||t.teamId||t.defaultTeamId});for(let r of n)KI(r.aliases);n?.length?(new WI.Table({title:"Sandbox templates",columns:[{name:"templateID",alignment:"left",title:"Template ID"},{name:"aliases",alignment:"left",title:"Template Name",color:"orange",maxLen:20},{name:"cpuCount",alignment:"right",title:"vCPUs"},{name:"memoryMB",alignment:"right",title:"RAM MiB"}],disabledColumns:["public","buildID"],rows:n.map(i=>({...i,aliases:g_(i.aliases)})),style:{headerTop:{left:"",right:"",mid:"",other:""},headerBottom:{left:"",right:"",mid:"",other:""},tableBottom:{left:"",right:"",mid:"",other:""},vertical:""},colorMap:{orange:"\x1B[38;5;216m"}}).printTable(),process.stdout.write(`
144
+ `);let n=await fs({teamID:e.team||t.teamId||t.defaultTeamId});for(let r of n)KI(r.aliases);n?.length?(new WI.Table({title:"Sandbox templates",columns:[{name:"visibility",alignment:"left",title:"Access"},{name:"templateID",alignment:"left",title:"Template ID"},{name:"aliases",alignment:"left",title:"Template Name",color:"orange",maxLen:20},{name:"cpuCount",alignment:"right",title:"vCPUs"},{name:"memoryMB",alignment:"right",title:"RAM MiB"},{name:"createdBy",alignment:"right",title:"Created by"},{name:"createdAt",alignment:"right",title:"Created at"}],disabledColumns:["public","buildID","buildCount","lastSpawnedAt","spawnCount","updatedAt"],rows:n.map(i=>({...i,visibility:i.public?"Public":"Private",aliases:g_(i.aliases),createdBy:i.createdBy?.email,createdAt:new Date(i.createdAt).toLocaleDateString()})),style:{headerTop:{left:"",right:"",mid:"",other:""},headerBottom:{left:"",right:"",mid:"",other:""},tableBottom:{left:"",right:"",mid:"",other:""},vertical:""},colorMap:{orange:"\x1B[38;5;216m"}}).printTable(),process.stdout.write(`
145
145
  `)):console.log("No templates found.")}catch(t){console.error(t),process.exit(1)}});async function fs({teamID:e}){let t=await Dt.api.GET("/templates",{params:{query:{teamID:e}}});return Et(t.error,"Error getting templates"),t.data}l();var QI=X(require("fs/promises")),XI=X(require("fs")),lp=X(require("path"));var ZI=new be("init").description(`create basic E2B Dockerfile (${pt("e2b.Dockerfile")}) in root directory. You can then run ${kt("e2b template build")} to build sandbox template from this Dockerfile`).addOption(un).alias("it").action(async e=>{try{process.stdout.write(`
146
146
  `);let t=Sn(e.path),n=lp.join(t,Er),r=XI.existsSync(n),i=e.path?lp.join(e.path,Er):Er;if(r){console.log(`Dockerfile ${pt(i)} already exists.
147
147
  `);return}await QI.writeFile(n,Sy),console.log(`Created ${pt(i)}
@@ -151,7 +151,7 @@ Sandbox templates to delete`))),i.forEach(a=>console.log(tt({...a,templateID:a.t
151
151
  `)}catch(n){console.error(Bn(n.message)),process.exit(1)}});l();var ev=X(require("fs"));async function IV(e,t){let n=await Dt.api.PATCH("/templates/{templateID}",{params:{path:{templateID:e}},body:{public:t}});Et(n.error,`Error ${t?"publishing":"unpublishing"} sandbox template`)}async function tv(e,t,n){try{let r=n.team,i=Sn(n.path),a=[];if(t)a.push({template_id:t});else if(n.select){let s=Mt();s&&(r=r||s.teamId||s.defaultTeamId);let c=(await fs({teamID:r})).filter(d=>!d.public===e);if(c.length===0){console.log(`No sandbox templates available ${e?"to publish":"to unpublish"} found`);return}let u=await Rc(c,`Select sandbox templates to ${e?"publish":"unpublish"}`);if(a.push(...u.map(d=>({template_id:d.templateID,...d}))),!a||a.length===0){console.log("No sandbox templates selected");return}}else{let s=Tr(i),o=ev.existsSync(s)?await Sr(s):void 0;if(!o){console.log(`No ${mt(gr)} found in ${pt(i)}. Specify sandbox template with ${ae("[template]")} argument or use interactive mode with ${ae("-s")} flag.`);return}a.push({...o,configPath:s})}if(!a||a.length===0){console.log(`No sandbox templates selected. Specify sandbox template with ${ae("[template]")} argument or use interactive mode with ${ae("-s")} flag.`);return}if(console.log(Ne.underline(`Sandbox templates to ${e?"publish":"unpublish"}`)),a.forEach(s=>console.log(tt({...s,templateID:s.template_id},s.configPath))),process.stdout.write(`
152
152
  `),!n.yes&&!await Gi(`Do you really want to ${e?"publish":"unpublish"} ${a.length===1?"this template":"these templates"}?
153
153
  \u26A0\uFE0F This will make the ${a.length===1?"template":"templates"} ${e?"public to everyone outside your team":"private to your team"}`)){console.log("Canceled");return}await Promise.all(a.map(async s=>{console.log(`- ${e?"Publishing":"Unpublishing"} sandbox template ${tt({...s,templateID:s.template_id},s.configPath)}`),await IV(s.template_id,e)})),process.stdout.write(`
154
- `)}catch(r){console.error(Bn(r.message)),process.exit(1)}}var nv=new be("publish").description("publish sandbox template").argument("[template]",`specify ${ae("[template]")} to publish it. If you dont specify ${ae("[template]")} the command will try to publish sandbox template defined by ${mt("e2b.toml")}.`).addOption(un).addOption(Vn).addOption(as).addOption(qn).alias("pub").option("-y, --yes","skip manual publish confirmation").action(tv.bind(null,!0)),rv=new be("unpublish").description("unpublish sandbox template").argument("[template]",`specify ${ae("[template]")} to unpublish it. If you don't specify ${ae("[template]")} the command will try to unpublish sandbox template defined by ${mt("e2b.toml")}.`).addOption(un).addOption(Vn).addOption(as).addOption(qn).alias("unpub").option("-y, --yes","skip manual unpublish confirmation").action(tv.bind(null,!1));var iv=new be("template").description("manage sandbox templates").alias("tpl").addCommand(yI).addCommand(zI).addCommand(ZI).addCommand(JI).addCommand(nv).addCommand(rv);l();l();l();function av(){return{cols:process.stdout.columns,rows:process.stdout.rows}}async function Ac(e){process.stdin.setRawMode(!0),process.stdout.setEncoding("utf-8");let t=await e.pty.create({onData:i=>{process.stdout.write(i)},...av(),timeoutMs:0}),n=process.stdout.on("resize",()=>e.pty.resize(t.pid,av())),r=process.stdin.on("data",async i=>{await e.pty.sendInput(t.pid,i)});try{await t.wait()}catch(i){if(i instanceof wi){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(`
154
+ `)}catch(r){console.error(Bn(r.message)),process.exit(1)}}var nv=new be("publish").description("publish sandbox template").argument("[template]",`specify ${ae("[template]")} to publish it. If you dont specify ${ae("[template]")} the command will try to publish sandbox template defined by ${mt("e2b.toml")}.`).addOption(un).addOption(Vn).addOption(as).addOption(qn).alias("pb").option("-y, --yes","skip manual publish confirmation").action(tv.bind(null,!0)),rv=new be("unpublish").description("unpublish sandbox template").argument("[template]",`specify ${ae("[template]")} to unpublish it. If you don't specify ${ae("[template]")} the command will try to unpublish sandbox template defined by ${mt("e2b.toml")}.`).addOption(un).addOption(Vn).addOption(as).addOption(qn).alias("upb").option("-y, --yes","skip manual unpublish confirmation").action(tv.bind(null,!1));var iv=new be("template").description("manage sandbox templates").alias("tpl").addCommand(yI).addCommand(zI).addCommand(ZI).addCommand(JI).addCommand(nv).addCommand(rv);l();l();l();function av(){return{cols:process.stdout.columns,rows:process.stdout.rows}}async function Ac(e){process.stdin.setRawMode(!0),process.stdout.setEncoding("utf-8");let t=await e.pty.create({onData:i=>{process.stdout.write(i)},...av(),timeoutMs:0}),n=process.stdout.on("resize",()=>e.pty.resize(t.pid,av())),r=process.stdin.on("data",async i=>{await e.pty.sendInput(t.pid,i)});try{await t.wait()}catch(i){if(i instanceof wi){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(`
155
155
  `),n.destroy(),r.destroy(),process.stdin.setRawMode(!1)}}var sv=new be("connect").description("connect terminal to already running sandbox").argument("<sandboxID>",`connect to sandbox with ${ae("<sandboxID>")}`).alias("cn").action(async e=>{try{let t=pr();e||(console.error("You need to specify sandbox ID"),process.exit(1)),await vV({apiKey:t,sandboxID:e}),process.exit(0)}catch(t){console.error(t),process.exit(1)}});async function vV({apiKey:e,sandboxID:t}){let n=await Dn.connect(t,{apiKey:e});console.log(`Terminal connecting to sandbox ${kt(`${n.sandboxId}`)}`),await Ac(n),console.log(`Closing terminal connection to sandbox ${kt(n.sandboxId)}`)}l();var ov=X(op());var lv=new be("list").description("list all running sandboxes").alias("ls").action(async()=>{try{let e=await Oc();e?.length?(new ov.Table({title:"Running sandboxes",columns:[{name:"sandboxID",alignment:"left",title:"Sandbox ID"},{name:"templateID",alignment:"left",title:"Template ID",maxLen:20},{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)),style:{headerTop:{left:"",right:"",mid:"",other:""},headerBottom:{left:"",right:"",mid:"",other:""},tableBottom:{left:"",right:"",mid:"",other:""},vertical:""},colorMap:{orange:"\x1B[38;5;216m"}}).printTable(),process.stdout.write(`
156
156
  `)):console.log("No running sandboxes.")}catch(e){console.error(e),process.exit(1)}});async function Oc(){pr();let e=wt.getSignal(),t=await Dt.api.GET("/sandboxes",{signal:e});return Et(t.error,"Error getting running sandboxes"),t.data}l();async function cv(e,t){await Dn.kill(e,{apiKey:t})?console.log(`Sandbox ${ae(e)} has been killed`):console.error(`Sandbox ${ae(e)} wasn't found`)}var uv=new be("kill").description("kill sandbox").argument("[sandboxID]",`kill the sandbox specified by ${ae("[sandboxID]")}`).alias("kl").option("-a, --all","kill all running sandboxes").action(async(e,{all:t})=>{try{let n=pr();if(!e&&!t&&(console.error(`You need to specify ${ae("[sandboxID]")} or use ${ae("-a/--all")} flag`),process.exit(1)),t&&e&&(console.error(`You cannot use ${ae("-a/--all")} flag while specifying ${ae("[sandboxID]")}`),process.exit(1)),t){let r=await Dn.list({apiKey:n});r.length===0&&(console.log("No running sandboxes"),process.exit(0)),await Promise.all(r.map(i=>cv(i.sandboxId,n)))}else await cv(e,n)}catch(n){console.error(n),process.exit(1)}});l();var dv=X(require("path"));var _v=X(require("fs"));var mv=new be("spawn").description("spawn sandbox and connect terminal to it").argument("[template]",`spawn and connect to sandbox specified by ${ae("[template]")}`).addOption(un).addOption(Vn).alias("sp").action(async(e,t)=>{try{let n=pr(),r=e,i=Sn(t.path),a=Tr(i,t.config),s=_v.default.existsSync(a)?await Sr(a):void 0,o=dv.relative(i,a);!r&&s&&(console.log(`Found sandbox template ${tt({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 xV({apiKey:n,template:{templateID:r}}),process.exit(0)}catch(n){console.error(n),process.exit(1)}});async function xV({apiKey:e,template:t}){let n=await Dn.create(t.templateID,{apiKey:e}),r=setInterval(async()=>{await n.setTimeout(3e4)},5e3);console.log(`Terminal connecting to template ${tt(t)} with sandbox ID ${ae(`${n.sandboxId}`)}`);try{await Ac(n)}finally{clearInterval(r),await n.kill(),console.log(`Closing terminal connection to template ${tt(t)} with sandbox ID ${ae(`${n.sandboxId}`)}`)}}l();var Ev=X(require("util"));var MV=24*60*60*1e3;function fv(e){return e.split("-")[0]}function wV(e){let t=!0;async function n(){let r=new Date().getTime();for(;!(new Date().getTime()-r>=MV);){if(!(await Oc()).find(c=>c.sandboxID===fv(e))){t=!1;break}await La(5e3)}}return n(),()=>t}var cp=(i=>(i.DEBUG="DEBUG",i.INFO="INFO",i.WARN="WARN",i.ERROR="ERROR",i))(cp||{});function LV(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 pv(e){return Object.values(e).map(t=>ae(t)).join(", ")}var up=(n=>(n.JSON="json",n.PRETTY="pretty",n))(up||{});function PV(e){return e?e.replaceAll("Svc",""):""}var gv=new be("logs").description("show logs for sandbox").argument("<sandboxID>",`show logs for sandbox specified by ${ae("<sandboxID>")}`).alias("lg").option("--level <level>",`filter logs by level (${pv(cp)}). 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 (${pv(up)})`,"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(cp).includes(n))throw new Error(`Invalid log level: ${n}`);let r=t?.format.toLowerCase();if(r&&!Object.values(up).includes(r))throw new Error(`Invalid log format: ${r}`);let i=t?.follow?wV(e):()=>!1,a,s=!0,o=!1;r==="pretty"&&console.log(`
157
157
  Logs for sandbox ${ae(e)}:`);let c=Oc().then(u=>u.find(d=>d.sandboxID===fv(e))).then(u=>!!u);do{let u=await kV({sandboxID:e,start:a});u.length!==0&&o===!1&&(o=!0,process.stdout.write(`