@e2b/cli 1.0.6-docker-api.0 → 1.0.6-docker-api.1

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}`:O,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=mu[n||c];if(typeof p=="function")o+=Yr(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 Yr(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 Yr(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=mu[n||a];if(typeof s=="function")return Promise.resolve().then(function(){return s(n?e:e[a],pr)}).then(function(o){return Yr(o,1,t)+`
81
- `});throw new Error("There is no such converter: "+a)}})};pr.converters=mu;mM.exports=pr});var dV={};dE(dV,{pkg:()=>uu});module.exports=ww(dV);l();var SM=Z(require("update-notifier"));l();var OE=Z(NE(),1),{program:IV,createCommand:vV,createArgument:xV,createOption:MV,CommanderError:wV,InvalidArgumentError:LV,InvalidOptionArgumentError:PV,Command:Ne,Argument:FV,Option:qn,Help:kV}=OE.default;var Iu={};dE(Iu,{author:()=>nL,bin:()=>dL,bugs:()=>rL,default:()=>pL,dependencies:()=>_L,description:()=>Zw,devDependencies:()=>cL,engines:()=>mL,files:()=>uL,homepage:()=>eL,keywords:()=>sL,license:()=>tL,name:()=>jw,publishConfig:()=>aL,repository:()=>iL,scripts:()=>lL,sideEffects:()=>oL,version:()=>vu});var jw="@e2b/cli",vu="1.0.6-docker-api.0",Zw="CLI for managing e2b sandbox templates",eL="https://e2b.dev",tL="MIT",nL={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},rL="https://github.com/e2b-dev/e2b/issues",iL={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},aL={access:"public"},sL=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],oL=!1,lL={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",test:"pnpm build && cd testground/demo-basic && ../../dist/index.js template build","test:simple":"pnpm build && cd testground/demo-simple && ../../dist/index.js template build","test:failing":"pnpm build && cd testground/demo-failing && ../../dist/index.js template build","check-deps":"knip","update-deps":"ncu -u && pnpm i","generate-api-reference":"./scripts/generate_api_ref.sh"},cL={"@types/dockerode":"^3.3.29","@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"},uL=["dist","LICENSE","README","package.json"],dL={e2b:"dist/index.js"},_L={"@iarna/toml":"^2.2.5","async-listen":"^3.0.1",boxen:"^7.1.1",chalk:"^5.3.0","cli-highlight":"^2.1.11",commander:"^11.1.0","console-table-printer":"^2.11.2",dockerode:"^4.0.2",e2b:"^1.0.1",inquirer:"^9.2.12",open:"^9.1.0","pretty-bytes":"^6.1.1","strip-ansi":"^7.1.0","update-notifier":"5.1.0",yup:"^1.3.2"},mL={node:">=18"},pL={name:jw,version:vu,description:Zw,homepage:eL,license:tL,author:nL,bugs:rL,repository:iL,publishConfig:aL,keywords:sL,sideEffects:oL,scripts:lL,devDependencies:cL,files:uL,bin:dL,dependencies:_L,engines:mL};l();l();l();l();var yE=(e=0)=>t=>`\x1B[${t+e}m`,IE=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,vE=(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]}},UV=Object.keys(Ye.modifier),EL=Object.keys(Ye.color),fL=Object.keys(Ye.bgColor),GV=[...EL,...fL];function gL(){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=yE(),Ye.color.ansi256=IE(),Ye.color.ansi16m=vE(),Ye.bgColor.ansi=yE(10),Ye.bgColor.ansi256=IE(10),Ye.bgColor.ansi16m=vE(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 SL=gL(),tn=SL;l();var fs=Z(require("process"),1),ME=Z(require("os"),1),xu=Z(require("tty"),1);function qt(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:We}=fs.default,Es;qt("no-color")||qt("no-colors")||qt("color=false")||qt("color=never")?Es=0:(qt("color")||qt("colors")||qt("color=true")||qt("color=always"))&&(Es=1);function TL(){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 hL(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function bL(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=TL();r!==void 0&&(Es=r);let i=n?Es: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(fs.default.platform==="win32"){let s=ME.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 xE(e,t={}){let n=bL(e,{streamIsTTY:e&&e.isTTY,...t});return hL(n)}var DL={stdout:xE({isTTY:xu.default.isatty(1)}),stderr:xE({isTTY:xu.default.isatty(2)})},wE=DL;l();function LE(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 PE(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=mu;mM.exports=pr});var dV={};dE(dV,{pkg:()=>uu});module.exports=ww(dV);l();var SM=Z(require("update-notifier"));l();var OE=Z(NE(),1),{program:IV,createCommand:vV,createArgument:xV,createOption:MV,CommanderError:wV,InvalidArgumentError:LV,InvalidOptionArgumentError:PV,Command:Ne,Argument:FV,Option:qn,Help:kV}=OE.default;var Iu={};dE(Iu,{author:()=>nL,bin:()=>dL,bugs:()=>rL,default:()=>pL,dependencies:()=>_L,description:()=>Zw,devDependencies:()=>cL,engines:()=>mL,files:()=>uL,homepage:()=>eL,keywords:()=>sL,license:()=>tL,name:()=>jw,publishConfig:()=>aL,repository:()=>iL,scripts:()=>lL,sideEffects:()=>oL,version:()=>vu});var jw="@e2b/cli",vu="1.0.6-docker-api.1",Zw="CLI for managing e2b sandbox templates",eL="https://e2b.dev",tL="MIT",nL={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},rL="https://github.com/e2b-dev/e2b/issues",iL={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},aL={access:"public"},sL=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],oL=!1,lL={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",test:"pnpm build && cd testground/demo-basic && ../../dist/index.js template build","test:simple":"pnpm build && cd testground/demo-simple && ../../dist/index.js template build","test:failing":"pnpm build && cd testground/demo-failing && ../../dist/index.js template build","check-deps":"knip","update-deps":"ncu -u && pnpm i","generate-api-reference":"./scripts/generate_api_ref.sh"},cL={"@types/dockerode":"^3.3.29","@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"},uL=["dist","LICENSE","README","package.json"],dL={e2b:"dist/index.js"},_L={"@iarna/toml":"^2.2.5","async-listen":"^3.0.1",boxen:"^7.1.1",chalk:"^5.3.0","cli-highlight":"^2.1.11",commander:"^11.1.0","console-table-printer":"^2.11.2",dockerode:"^4.0.2",e2b:"^1.0.1",inquirer:"^9.2.12",open:"^9.1.0","pretty-bytes":"^6.1.1","strip-ansi":"^7.1.0","update-notifier":"5.1.0",yup:"^1.3.2"},mL={node:">=18"},pL={name:jw,version:vu,description:Zw,homepage:eL,license:tL,author:nL,bugs:rL,repository:iL,publishConfig:aL,keywords:sL,sideEffects:oL,scripts:lL,devDependencies:cL,files:uL,bin:dL,dependencies:_L,engines:mL};l();l();l();l();var yE=(e=0)=>t=>`\x1B[${t+e}m`,IE=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,vE=(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]}},UV=Object.keys(Ye.modifier),EL=Object.keys(Ye.color),fL=Object.keys(Ye.bgColor),GV=[...EL,...fL];function gL(){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=yE(),Ye.color.ansi256=IE(),Ye.color.ansi16m=vE(),Ye.bgColor.ansi=yE(10),Ye.bgColor.ansi256=IE(10),Ye.bgColor.ansi16m=vE(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 SL=gL(),tn=SL;l();var fs=Z(require("process"),1),ME=Z(require("os"),1),xu=Z(require("tty"),1);function qt(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:We}=fs.default,Es;qt("no-color")||qt("no-colors")||qt("color=false")||qt("color=never")?Es=0:(qt("color")||qt("colors")||qt("color=true")||qt("color=always"))&&(Es=1);function TL(){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 hL(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function bL(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=TL();r!==void 0&&(Es=r);let i=n?Es: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(fs.default.platform==="win32"){let s=ME.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 xE(e,t={}){let n=bL(e,{streamIsTTY:e&&e.isTTY,...t});return hL(n)}var DL={stdout:xE({isTTY:xu.default.isatty(1)}),stderr:xE({isTTY:xu.default.isatty(2)})},wE=DL;l();function LE(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 PE(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:FE,stderr:kE}=wE,Mu=Symbol("GENERATOR"),qr=Symbol("STYLER"),zi=Symbol("IS_EMPTY"),BE=["ansi","ansi","ansi256","ansi16m"],Vr=Object.create(null),CL=(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=FE?FE.level:0;e.level=t.level===void 0?n:t.level};var RL=e=>{let t=(...n)=>n.join(" ");return CL(t,e),Object.setPrototypeOf(t,Qi.prototype),t};function Qi(e){return RL(e)}Object.setPrototypeOf(Qi.prototype,Function.prototype);for(let[e,t]of Object.entries(tn))Vr[e]={get(){let n=gs(this,Lu(t.open,t.close,this[qr]),this[zi]);return Object.defineProperty(this,e,{value:n}),n}};Vr.visible={get(){let e=gs(this,this[qr],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var wu=(e,t,n,...r)=>e==="rgb"?t==="ansi16m"?tn[n].ansi16m(...r):t==="ansi256"?tn[n].ansi256(tn.rgbToAnsi256(...r)):tn[n].ansi(tn.rgbToAnsi(...r)):e==="hex"?wu("rgb",t,n,...tn.hexToRgb(...r)):tn[n][e](...r),AL=["rgb","hex","ansi256"];for(let e of AL){Vr[e]={get(){let{level:n}=this;return function(...r){let i=Lu(wu(e,BE[n],"color",...r),tn.color.close,this[qr]);return gs(this,i,this[zi])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);Vr[t]={get(){let{level:n}=this;return function(...r){let i=Lu(wu(e,BE[n],"bgColor",...r),tn.bgColor.close,this[qr]);return gs(this,i,this[zi])}}}}var NL=Object.defineProperties(()=>{},{...Vr,level:{enumerable:!0,get(){return this[Mu].level},set(e){this[Mu].level=e}}}),Lu=(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}},gs=(e,t,n)=>{let r=(...i)=>OL(r,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(r,NL),r[Mu]=e,r[qr]=t,r[zi]=n,r},OL=(e,t)=>{if(e.level<=0||!t)return e[zi]?"":t;let n=e[qr];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=LE(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
@@ -122,7 +122,7 @@ attempted value: ${s}
122
122
 
123
123
  `}var uy=Nm({template_id:Lr().required(),template_name:Lr().optional(),dockerfile:Lr().required(),start_cmd:Lr().optional(),cpu_count:Dc().integer().min(1).optional(),memory_mb:Dc().integer().min(128).optional(),team_id:Lr().optional()}),U7=[{from:"id",to:"template_id"},{from:"name",to:"template_name"}];function G7(e,t){for(let n of t){let r=n.from,i=n.to;e[r]&&(e[i]=e[r],delete e[r])}return e}async function Oi(e){let t=await Ai.readFile(e,"utf-8"),n=vc.parse(t),r=G7(n,U7);return await uy.validate(r)}async function dy(e,t,n){try{if(!n&&cy.existsSync(e))throw new Error(`Config already exists on path ${bt(e)}`);let r=await uy.validate(t,{stripUnknown:!0}),i=vc.stringify(r);await Ai.writeFile(e,B7(t)+i)}catch(r){throw new Error(`E2B sandbox template config ${gt({templateID:t.template_id},e)} cannot be saved: ${r.message}`)}}async function _y(e){await Ai.unlink(e)}function yi(e,t){return t&&xc.isAbsolute(t)?t:xc.join(e,t||Ni)}l();var Lm=class extends Error{constructor(t){super(t),this.name="E2BRequestError"}};function Rt(e,t){if(!e)return;let n="";switch(e.code){case 400:n="bad request";break;case 401:n="unauthorized";break;case 403:n="forbidden";break;case 404:n="not found";break;case 500:n="internal server error";break}throw new Lm(`${t&&`${t}: `}[${e.code}] ${n&&`${n}: `}${e.message??"no message"}`)}var H7=500;async function Y7({templateID:e,buildID:t,logsOffset:n}){let r=Ft.getSignal(),i=await vt.api.GET("/templates/{templateID}/builds/{buildID}/status",{signal:r,params:{path:{templateID:e,buildID:t},query:{logsOffset:n}}});return Rt(i.error,"Error getting template build status"),i.data}async function q7(e){return await vt.api.POST("/templates",{body:e})}async function V7(e,t){return await vt.api.POST("/templates/{templateID}",{body:t,params:{path:{templateID:e}}})}async function $7(e,t){let n=await vt.api.POST("/templates/{templateID}/builds/{buildID}",{params:{path:{templateID:e,buildID:t}}});return Rt(n.error,"Error triggering template build"),n.data}var py=new Ne("build").description(`build sandbox template defined by ${bt(lr)} or ${bt(sc)} in root directory. By default the root directory is the current working directory. This command also creates ${Pt(Ni)} config.`).argument("[template]",`specify ${pe("[template]")} to rebuild it. If you don's specify ${pe("[template]")} and there is no ${Pt("e2b.toml")} a new sandbox template will be created.`).addOption(or).option("-d, --dockerfile <file>",`specify path to Dockerfile. By default E2B tries to find ${Pt(lr)} or ${Pt(sc)} in root directory.`).option("-n, --name <template-name>","specify sandbox template name. You can use the template name to start the sandbox with SDK. The template name must be lowercase and contain only letters, numbers, dashes and underscores.").option("-c, --cmd <start-command>","specify command that will be executed when the sandbox is started.").addOption(bi).addOption(hi).option("--cpu-count <cpu-count>","specify the number of CPUs that will be used to run the sandbox. The default value is 2.",parseInt).option("--memory-mb <memory-mb>","specify the amount of memory in megabytes that will be used to run the sandbox. Must be an even number. The default value is 512.",parseInt).option("--build-arg <args...>","specify additional build arguments for the build command. The format should be <varname>=<value>.").alias("bd").action(async(e,t)=>{try{let n=new my.default;try{await n.ping()}catch{console.error("Docker has to be installed and running to build and push the sandbox template."),process.exit(1)}let r={};t.buildArg&&t.buildArg.forEach(J=>{let[_e,Se]=J.split("=");r[_e]=Se});let i=Ti();process.stdout.write(`
124
124
  `);let a=t.name?.trim();a&&!/[a-z0-9-_]+/.test(a)&&(console.error(`Name ${Pt(a)} is not valid. Name can only contain lowercase letters, numbers, dashes and underscores.`),process.exit(1));let s=t.dockerfile,o=t.cmd,c=t.cpuCount,u=t.memoryMb,d=t.team,p=rr(t.path),S=yi(p,t.config),g=kr.existsSync(S)?await Oi(S):void 0,T=Gn.relative(p,S);g&&(console.log(`Found sandbox template ${gt({templateID:g.template_id,aliases:g.template_name?[g.template_name]:void 0},T)}`),e=g.template_id,s=t.dockerfile||g.dockerfile,o=t.cmd||g.start_cmd,c=t.cpuCount||g.cpu_count,u=t.memoryMb||g.memory_mb,d=t.team||g.team_id);let O=Gt();O&&(d=d||O.teamId),g&&e&&g.template_id!==e&&(console.error("You can't specify different ID than the one in config. If you want to build a new sandbox template remove the config file."),process.exit(1)),a&&g?.template_name&&a!==g?.template_name&&console.log(`The sandbox template name will be changed from ${Pt(g.template_name)} to ${Pt(a)}.`);let w=a||g?.template_name,{dockerfileContent:k,dockerfileRelativePath:M}=W7(p,s);console.log(`Found ${bt(M)} that will be used to build the sandbox template.`);let B={alias:w,startCmd:o,cpuCount:c,memoryMB:u,dockerfile:k,teamID:d};t.memoryMb&&t.memoryMb%2!==0&&(console.error(`The memory in megabytes must be an even number. You provided ${Pt(t.memoryMb.toFixed(0))}.`),process.exit(1));let Y=await z7(B,e);e=Y.templateID,console.log(`Requested build for the sandbox template ${gt(Y)} `),await dy(S,{template_id:Y.templateID,dockerfile:M,template_name:w,start_cmd:o,cpu_count:c,memory_mb:u,team_id:d},!0);try{await n.checkAuth({username:"_e2b_access_token",password:i,serveraddress:`docker.${Ft.domain}`})}catch{console.error("Docker login failed. Please try to log in with `e2b auth login` and try again."),process.exit(1)}process.stdout.write(`
125
- `),console.log("Building docker image...");let ne=`docker.${Ft.domain}/e2b/custom-envs/${e}:${Y.buildID}`,X=await n.buildImage({context:p,src:kr.readdirSync(p)},{t:ne,platform:"linux/amd64",buildargs:r,dockerfile:M,pull:"always"}),se=new Map;for await(let J of X)await y_(J.toString("utf-8"),se);console.log(`Docker image built.
125
+ `),console.log("Building docker image...");let ne=`docker.${Ft.domain}/e2b/custom-envs/${e}:${Y.buildID}`,X=await n.buildImage({context:p,src:kr.readdirSync(p)},{t:ne,platform:"linux/amd64",buildargs:r,dockerfile:M,pull:"always",nocache:!0}),se=new Map;for await(let J of X)await y_(J.toString("utf-8"),se);console.log(`Docker image built.
126
126
  `),console.log("Pushing docker image...");let P=await n.getImage(ne).push({authconfig:{username:"_e2b_access_token",password:i,serveraddress:`docker.${Ft.domain}`}}),q=new Map;for await(let J of P)await y_(J.toString("utf-8"),q);console.log(`Docker image pushed.
127
127
  `),console.log("Triggering build..."),await Q7(e,Y.buildID),console.log(`Triggered build for the sandbox template ${gt(Y)} `),console.log("Waiting for build to finish..."),await K7(e,Y.buildID,w),process.exit(0)}catch(n){console.error(n),process.exit(1)}});async function K7(e,t,n){let r=0,i,a=n?[n]:void 0;process.stdout.write(`
128
128
  `);do switch(await Ca(H7),i=await Y7({templateID:e,logsOffset:r,buildID:t}),r+=i.logs.length,i.status){case"building":i.logs.forEach(s=>process.stdout.write(R_(er(s))));break;case"ready":{let s=GA(`from e2b import Sandbox, AsyncSandbox