@e2b/cli 2.2.6 → 2.2.7

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
@@ -215,10 +215,10 @@ ${uF}
215
215
  Try running with %s or get access `,qe.cyan("sudo"))+`
216
216
  to the local update config store via
217
217
  `+qe.cyan((0,ME.format)(" sudo chown -R $USER:$(id -gn $USER) %s ",Yc));ps.default.on("exit",()=>{console.error(fs(r,{textAlignment:"center"}))})}}check(){!this.config||this.config.get("optOut")||this.#n||(this.update=this.config.get("update"),this.update&&(this.update.current=this.#t,this.config.delete("update")),!(Date.now()-this.config.get("lastUpdateCheck")<this.#r)&&(0,H6.spawn)(ps.default.execPath,[JA.default.join(BCe,"check.js"),JSON.stringify(this.#e)],{detached:!0,stdio:"ignore"}).unref())}async fetchInfo(){let{distTag:e}=this.#e,r=await NA(this._packageName,{version:e});return{latest:r,current:this.#t,type:KD(this.#t,r)||e,name:this._packageName}}notify(e){let r=!this._shouldNotifyInNpmScript&&wU;if(!ps.default.stdout.isTTY||r||!this.update||!$6.default.gt(this.update.latest,this.update.current))return this;e={isGlobal:Y6.default,isYarnGlobal:KU(),...e};let n;e.isYarnGlobal?n=`yarn global add ${this._packageName}`:e.isGlobal?n=`npm i -g ${this._packageName}`:MA()?n=`yarn add ${this._packageName}`:n=`npm i ${this._packageName}`;let i="Update available "+qe.dim("{currentVersion}")+qe.reset(" \u2192 ")+qe.green("{latestVersion}")+`
218
- Run `+qe.cyan("{updateCommand}")+" to update",s=e.message||i;e.boxenOptions=e.boxenOptions||{padding:1,margin:1,textAlignment:"center",borderColor:"yellow",borderStyle:"round"};let o=fs(ZA(s,{packageName:this._packageName,currentVersion:this.update.current,latestVersion:this.update.latest,updateCommand:n}),e.boxenOptions);return e.defer===!1?console.error(o):(ps.default.on("exit",()=>{console.error(o)}),ps.default.on("SIGINT",()=>{console.error(""),ps.default.exit()})),this}};function eO(t){let e=new Np(t);return e.check(),e}u();var o7=z(s7(),1),{program:Fst,createCommand:kst,createArgument:Bst,createOption:Ust,CommanderError:Gst,InvalidArgumentError:Ip,InvalidOptionArgumentError:Hst,Command:Ke,Argument:qst,Option:Jo,Help:$st}=o7.default;var mO={};qc(mO,{author:()=>aDe,bin:()=>_De,bugs:()=>lDe,default:()=>SDe,dependencies:()=>gDe,description:()=>iDe,devDependencies:()=>mDe,engines:()=>EDe,files:()=>hDe,homepage:()=>sDe,keywords:()=>dDe,license:()=>oDe,name:()=>nDe,publishConfig:()=>uDe,repository:()=>cDe,scripts:()=>pDe,sideEffects:()=>fDe,version:()=>hO});var nDe="@e2b/cli",hO="2.2.6",iDe="CLI for managing e2b sandbox templates",sDe="https://e2b.dev",oDe="MIT",aDe={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},lDe="https://github.com/e2b-dev/e2b/issues",cDe={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},uDe={access:"public"},dDe=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],fDe=!1,pDe={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",lint:"eslint src",format:"prettier --write src","test:interactive":"pnpm build && ./dist/index.js",test:"vitest run","test:watch":"vitest watch","test:coverage":"vitest run --coverage","check-deps":"knip","update-deps":"ncu -u && pnpm i","generate-ref":"./scripts/generate_sdk_ref.sh"},mDe={"@types/command-exists":"^1.2.3","@types/handlebars":"^4.1.0","@types/inquirer":"^9.0.7","@types/json2md":"^1.5.4","@types/node":"^18.18.6","@types/npmcli__package-json":"^4.0.4","@types/statuses":"^2.0.5","@types/update-notifier":"6.0.5","@vitest/coverage-v8":"^3.2.4",json2md:"^2.0.1",knip:"^5.43.6","npm-check-updates":"^16.14.6",tsup:"^8.4.0",typescript:"^5.2.2",vitest:"^3.2.4"},hDe=["dist","LICENSE","README","package.json"],_De={e2b:"dist/index.js"},gDe={"@iarna/toml":"^2.2.5","@inquirer/prompts":"^5.5.0","@npmcli/package-json":"^5.2.1","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","dockerfile-ast":"^0.6.1",e2b:"^2.0.3",handlebars:"^4.7.8",inquirer:"^9.2.12",open:"^9.1.0",statuses:"^2.0.1","strip-ansi":"^7.1.0","update-notifier":"^6.0.2",yup:"^1.3.2"},EDe={node:">=18"},SDe={name:nDe,version:hO,description:iDe,homepage:sDe,license:oDe,author:aDe,bugs:lDe,repository:cDe,publishConfig:uDe,keywords:dDe,sideEffects:fDe,scripts:pDe,devDependencies:mDe,files:hDe,bin:_De,dependencies:gDe,engines:EDe};u();u();var VN=z(hQ());u();var Bu=z(require("path"));function Nn(t){let e=process.cwd();return t?Bu.isAbsolute(t)?t:Bu.resolve(e,t):e}function _Q(t){return Bu.relative(process.cwd(),t)}var R2e="#FFB766";function Y1(t){let e=Ne(t.email),r=t.teamName?Ne(t.teamName):A2e("Log out and log in to get team name"),n=Ne(t.teamId);return`You are logged in as ${e},
218
+ Run `+qe.cyan("{updateCommand}")+" to update",s=e.message||i;e.boxenOptions=e.boxenOptions||{padding:1,margin:1,textAlignment:"center",borderColor:"yellow",borderStyle:"round"};let o=fs(ZA(s,{packageName:this._packageName,currentVersion:this.update.current,latestVersion:this.update.latest,updateCommand:n}),e.boxenOptions);return e.defer===!1?console.error(o):(ps.default.on("exit",()=>{console.error(o)}),ps.default.on("SIGINT",()=>{console.error(""),ps.default.exit()})),this}};function eO(t){let e=new Np(t);return e.check(),e}u();var o7=z(s7(),1),{program:Fst,createCommand:kst,createArgument:Bst,createOption:Ust,CommanderError:Gst,InvalidArgumentError:Ip,InvalidOptionArgumentError:Hst,Command:Ke,Argument:qst,Option:Jo,Help:$st}=o7.default;var mO={};qc(mO,{author:()=>aDe,bin:()=>_De,bugs:()=>lDe,default:()=>SDe,dependencies:()=>gDe,description:()=>iDe,devDependencies:()=>mDe,engines:()=>EDe,files:()=>hDe,homepage:()=>sDe,keywords:()=>dDe,license:()=>oDe,name:()=>nDe,publishConfig:()=>uDe,repository:()=>cDe,scripts:()=>pDe,sideEffects:()=>fDe,version:()=>hO});var nDe="@e2b/cli",hO="2.2.7",iDe="CLI for managing e2b sandbox templates",sDe="https://e2b.dev",oDe="MIT",aDe={name:"FoundryLabs, Inc.",email:"hello@e2b.dev",url:"https://e2b.dev"},lDe="https://github.com/e2b-dev/e2b/issues",cDe={type:"git",url:"https://github.com/e2b-dev/e2b",directory:"packages/cli"},uDe={access:"public"},dDe=["e2b","ai-agents","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs","javascript","typescript"],fDe=!1,pDe={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",lint:"eslint src",format:"prettier --write src","test:interactive":"pnpm build && ./dist/index.js",test:"vitest run","test:watch":"vitest watch","test:coverage":"vitest run --coverage","check-deps":"knip","update-deps":"ncu -u && pnpm i","generate-ref":"./scripts/generate_sdk_ref.sh"},mDe={"@types/command-exists":"^1.2.3","@types/handlebars":"^4.1.0","@types/inquirer":"^9.0.7","@types/json2md":"^1.5.4","@types/node":"^20.19.19","@types/npmcli__package-json":"^4.0.4","@types/statuses":"^2.0.5","@types/update-notifier":"6.0.5","@vitest/coverage-v8":"^3.2.4",json2md:"^2.0.1",knip:"^5.43.6","npm-check-updates":"^16.14.6",tsup:"^8.4.0",typescript:"^5.2.2",vitest:"^3.2.4"},hDe=["dist","LICENSE","README","package.json"],_De={e2b:"dist/index.js"},gDe={"@iarna/toml":"^2.2.5","@inquirer/prompts":"^5.5.0","@npmcli/package-json":"^5.2.1","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","dockerfile-ast":"^0.6.1",e2b:"^2.2.2",handlebars:"^4.7.8",inquirer:"^9.2.12",open:"^9.1.0",statuses:"^2.0.1","strip-ansi":"^7.1.0","update-notifier":"^6.0.2",yup:"^1.3.2"},EDe={node:">=20"},SDe={name:nDe,version:hO,description:iDe,homepage:sDe,license:oDe,author:aDe,bugs:lDe,repository:cDe,publishConfig:uDe,keywords:dDe,sideEffects:fDe,scripts:pDe,devDependencies:mDe,files:hDe,bin:_De,dependencies:gDe,engines:EDe};u();u();var VN=z(hQ());u();var Bu=z(require("path"));function Nn(t){let e=process.cwd();return t?Bu.isAbsolute(t)?t:Bu.resolve(e,t):e}function _Q(t){return Bu.relative(process.cwd(),t)}var R2e="#FFB766";function Y1(t){let e=Ne(t.email),r=t.teamName?Ne(t.teamName):A2e("Log out and log in to get team name"),n=Ne(t.teamId);return`You are logged in as ${e},
219
219
  Selected team: ${r} (${n})`}function SQ(t,e){let r=Ne(t.name),n=Ne(t.teamID),i=t.teamID==e?st(" (currently selected team)"):"";return`${r} (${n})${i}`}function sr(t,e){let r=WN(t.aliases),n=r?Ne(r):"",i=e?O2e(" <-> ")+Rt(e):"";return`${`${t.templateID} `}${n}${i}`.trim()}function A2e(t){return qe.redBright(t)}function lo(t,e){return qe.redBright(`${t?`${t}
220
220
  `:""}${e?e.stack:""}
221
- `)}function O2e(t){return qe.dim(t)}function Ne(t){return qe.bold(t)}function st(t){return qe.hex(R2e)(t)}function V1(t){return qe.blue(t)}function er(t){return qe.blue(t)}function Rt(t){return t?er("./"+_Q(t)):""}function bQ(t){return qe.blueBright(t)}function Uu(t){return qe.underline(t)}function WN(t){if(t)return t.join(", ")}function TQ(t){return VN.default(t,{language:"typescript",ignoreIllegals:!0})}function yQ(t){return VN.default(t,{language:"python",ignoreIllegals:!0})}var N2e={topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",top:"",bottom:"",left:"",right:""},gQ=2,EQ=1;function zN(t,e,r){return fs(t,{borderStyle:{...N2e,top:"\u2500",bottom:r?"\u2500":""},titleAlignment:"center",float:"left",title:e?Ne(e):void 0,margin:{top:0,bottom:0,left:1,right:0},fullscreen:n=>[n,0],padding:{bottom:r?EQ:0,left:gQ,right:gQ,top:EQ}})}u();u();var Lh=z(require("fs")),Lo=z(require("path"));var hne=z(IQ());u();async function ua(t){return new Promise(e=>setTimeout(e,t))}u();u();u();u();var k2e={"Content-Type":"application/json"},B2e=/\{[^{}]+\}/g,XN=class extends Request{constructor(e,r){super(e,r);for(let n in r)n in this||(this[n]=r[n])}};function em(t){let{baseUrl:e="",fetch:r=globalThis.fetch,querySerializer:n,bodySerializer:i,headers:s,...o}={...t};e.endsWith("/")&&(e=e.substring(0,e.length-1)),s=xQ(k2e,s);let a=[];async function l(c,d){let{fetch:f=r,headers:m,params:p={},parseAs:h="json",querySerializer:_,bodySerializer:b=i??G2e,...S}=d||{},A=typeof n=="function"?n:wQ(n);_&&(A=typeof _=="function"?_:wQ({...typeof n=="object"?n:{},..._}));let D={redirect:"follow",...o,...S,headers:xQ(s,m,p.header)};D.body&&(D.body=b(D.body)),D.body instanceof FormData&&D.headers.delete("Content-Type");let O=new XN(H2e(c,{baseUrl:e,params:p,querySerializer:A}),D),M={baseUrl:e,fetch:f,parseAs:h,querySerializer:A,bodySerializer:b};for(let w of a)if(w&&typeof w=="object"&&typeof w.onRequest=="function"){O.schemaPath=c,O.params=p;let N=await w.onRequest(O,M);if(N){if(!(N instanceof Request))throw new Error("Middleware must return new Request() when modifying the request");O=N}}let V=await f(O);for(let w=a.length-1;w>=0;w--){let N=a[w];if(N&&typeof N=="object"&&typeof N.onResponse=="function"){O.schemaPath=c,O.params=p;let q=await N.onResponse(V,M,O);if(q){if(!(q instanceof Response))throw new Error("Middleware must return new Response() when modifying the response");V=q}}}if(V.status===204||V.headers.get("Content-Length")==="0")return V.ok?{data:{},response:V}:{error:{},response:V};if(V.ok)return h==="stream"?{data:V.body,response:V}:{data:await V[h](),response:V};let Q=await V.text();try{Q=JSON.parse(Q)}catch{}return{error:Q,response:V}}return{async GET(c,d){return l(c,{...d,method:"GET"})},async PUT(c,d){return l(c,{...d,method:"PUT"})},async POST(c,d){return l(c,{...d,method:"POST"})},async DELETE(c,d){return l(c,{...d,method:"DELETE"})},async OPTIONS(c,d){return l(c,{...d,method:"OPTIONS"})},async HEAD(c,d){return l(c,{...d,method:"HEAD"})},async PATCH(c,d){return l(c,{...d,method:"PATCH"})},async TRACE(c,d){return l(c,{...d,method:"TRACE"})},use(...c){for(let d of c)if(d){if(typeof d!="object"||!("onRequest"in d||"onResponse"in d))throw new Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");a.push(d)}},eject(...c){for(let d of c){let f=a.indexOf(d);f!==-1&&a.splice(f,1)}}}}function z1(t,e,r){if(e==null)return"";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${r?.allowReserved===!0?e:encodeURIComponent(e)}`}function LQ(t,e,r){if(!e||typeof e!="object")return"";let n=[],i={simple:",",label:".",matrix:";"}[r.style]||"&";if(r.style!=="deepObject"&&r.explode===!1){for(let a in e)n.push(a,r.allowReserved===!0?e[a]:encodeURIComponent(e[a]));let o=n.join(",");switch(r.style){case"form":return`${t}=${o}`;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return o}}for(let o in e){let a=r.style==="deepObject"?`${t}[${o}]`:o;n.push(z1(a,e[o],r))}let s=n.join(i);return r.style==="label"||r.style==="matrix"?`${i}${s}`:s}function PQ(t,e,r){if(!Array.isArray(e))return"";if(r.explode===!1){let s={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[r.style]||",",o=(r.allowReserved===!0?e:e.map(a=>encodeURIComponent(a))).join(s);switch(r.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return`${t}=${o}`}}let n={simple:",",label:".",matrix:";"}[r.style]||"&",i=[];for(let s of e)r.style==="simple"||r.style==="label"?i.push(r.allowReserved===!0?s:encodeURIComponent(s)):i.push(z1(t,s,r));return r.style==="label"||r.style==="matrix"?`${n}${i.join(n)}`:i.join(n)}function wQ(t){return function(r){let n=[];if(r&&typeof r=="object")for(let i in r){let s=r[i];if(s!=null){if(Array.isArray(s)){n.push(PQ(i,s,{style:"form",explode:!0,...t?.array,allowReserved:t?.allowReserved||!1}));continue}if(typeof s=="object"){n.push(LQ(i,s,{style:"deepObject",explode:!0,...t?.object,allowReserved:t?.allowReserved||!1}));continue}n.push(z1(i,s,t))}}return n.join("&")}}function U2e(t,e){let r=t;for(let n of t.match(B2e)??[]){let i=n.substring(1,n.length-1),s=!1,o="simple";if(i.endsWith("*")&&(s=!0,i=i.substring(0,i.length-1)),i.startsWith(".")?(o="label",i=i.substring(1)):i.startsWith(";")&&(o="matrix",i=i.substring(1)),!e||e[i]===void 0||e[i]===null)continue;let a=e[i];if(Array.isArray(a)){r=r.replace(n,PQ(i,a,{style:o,explode:s}));continue}if(typeof a=="object"){r=r.replace(n,LQ(i,a,{style:o,explode:s}));continue}if(o==="matrix"){r=r.replace(n,`;${z1(i,a)}`);continue}r=r.replace(n,o==="label"?`.${a}`:a)}return r}function G2e(t){return JSON.stringify(t)}function H2e(t,e){let r=`${e.baseUrl}${t}`;e.params?.path&&(r=U2e(r,e.params.path));let n=e.querySerializer(e.params.query??{});return n.startsWith("?")&&(n=n.substring(1)),n&&(r+=`?${n}`),r}function xQ(...t){let e=new Headers;for(let r of t){if(!r||typeof r!="object")continue;let n=r instanceof Headers?r.entries():Object.entries(r);for(let[i,s]of n)if(s===null)e.delete(i);else if(Array.isArray(s))for(let o of s)e.append(i,o);else s!==void 0&&e.set(i,s)}return e}u();var QI=z(ZN());var j1="2.2.1";u();var KI=z(ZN());function I9e(){return globalThis.Bun?{runtime:"bun",version:globalThis.Bun.version}:globalThis.Deno?{runtime:"deno",version:globalThis.Deno.version.deno}:globalThis.process?.release?.name==="node"?{runtime:"node",version:KI.default.version||"unknown"}:typeof EdgeRuntime=="string"?{runtime:"vercel-edge",version:"unknown"}:globalThis.navigator?.userAgent==="Cloudflare-Workers"?{runtime:"cloudflare-worker",version:"unknown"}:typeof window<"u"?{runtime:"browser",version:KI.default.version||"unknown"}:{runtime:"unknown",version:"unknown"}}var{runtime:Wi,version:ZZ}=I9e();async function JZ(t){if(typeof crypto<"u"){let i=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",i),o=new Uint8Array(s);return btoa(String.fromCharCode(...o))}let{createHash:e}=require("crypto");return e("sha256").update(t,"utf8").digest().toString("base64")}function pb(t){return Math.ceil(t/1e3)}async function jI(){if(Wi==="browser")throw new Error("Browser runtime is not supported for glob");return await Promise.resolve().then(()=>(BX(),kX))}async function eJ(){if(Wi==="browser")throw new Error("Browser runtime is not supported for tar");return await Promise.resolve().then(()=>(XZ(),QZ))}function w9e({onlyFirst:t=!1}={}){let i="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(i,t?void 0:"g")}function mb(t){return t.replace(w9e(),"")}var tJ={browser:typeof window<"u"&&QI.default.name||"unknown",lang:"js",lang_version:ZZ,package_version:j1,publisher:"e2b",sdk_runtime:Wi,system:QI.default.os?.family||"unknown"};function Xm(t){return Wi==="deno"?Deno.env.get(t):typeof process>"u"?"":process.env[t]}u();function _b(t){return new hd(`${t}: This error is likely due to sandbox timeout. You can modify the sandbox timeout by passing 'timeoutMs' when starting the sandbox or calling '.setTimeout' on the sandbox with the desired timeout.`)}var Kt=class extends Error{constructor(e,r){super(e),this.name="SandboxError",r&&(this.stack=r)}},hd=class extends Kt{constructor(e,r){super(e,r),this.name="TimeoutError"}},wa=class extends Kt{constructor(e,r){super(e,r),this.name="InvalidArgumentError"}},hb=class extends Kt{constructor(e,r){super(e,r),this.name="NotEnoughSpaceError"}},zi=class extends Kt{constructor(e,r){super(e,r),this.name="NotFoundError"}},Ki=class extends Error{constructor(e){super(e),this.name="AuthenticationError"}},_d=class extends Kt{constructor(e,r){super(e,r),this.name="TemplateError"}},Zm=class extends Kt{constructor(e){super(e),this.name="RateLimitError"}};u();function rJ(t){return JSON.parse(JSON.stringify(t))}function nJ(t){async function*e(r){for await(let n of r)t.debug?.("Response stream:",rJ(n)),yield n}return r=>async n=>{t.info?.(`Request: POST ${n.url}`);let i=await r(n);return i.stream?{...i,message:e(i.message)}:(t.info?.("Response:",rJ(i.message)),i)}}function gb(t){return{async onRequest(e){return t.info?.(`Request ${e.method} ${e.url}`),e},async onResponse(e){return e.status>=400?t.error?.("Response:",e.status,e.statusText):t.info?.("Response:",e.status,e.statusText),e}}}function wn(t,e=Kt,r){if(!t.error)return;if(t.response.status===401){let i="Unauthorized, please check your credentials.",s=t.error?.message??t.error;return s?new Ki(`${i} - ${s}`):new Ki(i)}if(t.response.status===429){let i="Rate limit exceeded, please try again later",s=t.error?.message??t.error;return s?new Zm(`${i} - ${s}`):new Zm(i)}let n=t.error?.message??t.error;return new e(`${t.response.status}: ${n}`,r)}var Ir=class{api;constructor(e,r={requireAccessToken:!1,requireApiKey:!1}){if(r?.requireApiKey&&!e.apiKey)throw new Ki("API key is required, please visit the Team tab at https://e2b.dev/dashboard to get your API key. You can either set the environment variable `E2B_API_KEY` or you can pass it directly to the sandbox like Sandbox.create({ apiKey: 'e2b_...' })");if(r?.requireAccessToken&&!e.accessToken)throw new Ki("Access token is required, please visit the Personal tab at https://e2b.dev/dashboard to get your access token. You can set the environment variable `E2B_ACCESS_TOKEN` or pass the `accessToken` in options.");this.api=em({baseUrl:e.apiUrl,headers:{...tJ,...e.apiKey&&{"X-API-KEY":e.apiKey},...e.accessToken&&{Authorization:`Bearer ${e.accessToken}`},...e.headers},querySerializer:{array:{style:"form",explode:!1}}}),e.logger&&this.api.use(gb(e.logger))}};u();var x9e=6e4,gd=3e5,nc=50,ic="Keepalive-Ping-Interval",jt=class t{debug;domain;apiUrl;logger;requestTimeoutMs;apiKey;accessToken;headers;constructor(e){this.apiKey=e?.apiKey||t.apiKey,this.debug=e?.debug||t.debug,this.domain=e?.domain||t.domain,this.accessToken=e?.accessToken||t.accessToken,this.requestTimeoutMs=e?.requestTimeoutMs??x9e,this.logger=e?.logger,this.headers=e?.headers||{},this.headers["User-Agent"]=`e2b-js-sdk/${j1}`,this.apiUrl=this.debug?"http://localhost:3000":`https://api.${this.domain}`}static get domain(){return Xm("E2B_DOMAIN")||"e2b.app"}static get debug(){return(Xm("E2B_DEBUG")||"false").toLowerCase()==="true"}static get apiKey(){return Xm("E2B_API_KEY")}static get accessToken(){return Xm("E2B_ACCESS_TOKEN")}getSignal(e){let r=e??this.requestTimeoutMs;return r?AbortSignal.timeout(r):void 0}},To="user";u();async function XI({path:t,operation:e,user:r,expirationInSeconds:n,envdAccessToken:i}){if(!i)throw new Error("Access token is not set and signature cannot be generated!");let s=n?Math.floor(Date.now()/1e3)+n:null,o;return s===null?o=`${t}:${e}:${r}:${i}`:o=`${t}:${e}:${r}:${i}:${s.toString()}`,{signature:"v1_"+(await JZ(o)).replace(/=+$/,""),expiration:s}}u();u();u();u();var Fe;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(Fe||(Fe={}));u();u();function Jm(t,e){return t!==null&&typeof t=="object"&&"$typeName"in t&&typeof t.$typeName=="string"?e===void 0?!0:e.typeName===t.$typeName:!1}u();u();var W;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(W||(W={}));u();u();u();function sJ(){let t=0,e=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function Sb(t,e,r){for(let s=0;s<28;s=s+7){let o=t>>>s,a=!(!(o>>>7)&&e==0),l=(a?o|128:o)&255;if(r.push(l),!a)return}let n=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(r.push((i?n|128:n)&255),!!i){for(let s=3;s<31;s=s+7){let o=e>>>s,a=!!(o>>>7),l=(a?o|128:o)&255;if(r.push(l),!a)return}r.push(e>>>31&1)}}var Eb=4294967296;function ZI(t){let e=t[0]==="-";e&&(t=t.slice(1));let r=1e6,n=0,i=0;function s(o,a){let l=Number(t.slice(o,a));i*=r,n=n*r+l,n>=Eb&&(i=i+(n/Eb|0),n=n%Eb)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),e?aJ(n,i):ew(n,i)}function oJ(t,e){let r=ew(t,e),n=r.hi&2147483648;n&&(r=aJ(r.lo,r.hi));let i=JI(r.lo,r.hi);return n?"-"+i:i}function JI(t,e){if({lo:t,hi:e}=L9e(t,e),e<=2097151)return String(Eb*e+t);let r=t&16777215,n=(t>>>24|e<<8)&16777215,i=e>>16&65535,s=r+n*6777216+i*6710656,o=n+i*8147497,a=i*2,l=1e7;return s>=l&&(o+=Math.floor(s/l),s%=l),o>=l&&(a+=Math.floor(o/l),o%=l),a.toString()+iJ(o)+iJ(s)}function L9e(t,e){return{lo:t>>>0,hi:e>>>0}}function ew(t,e){return{lo:t|0,hi:e|0}}function aJ(t,e){return e=~e,t?t=~t+1:e+=1,ew(t,e)}var iJ=t=>{let e=String(t);return"0000000".slice(e.length)+e};function tw(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}function lJ(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var mt=P9e();function P9e(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),i=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>n||a<r)throw new Error(`invalid int64: ${o}`);return a},uParse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>s||a<i)throw new Error(`invalid uint64: ${o}`);return a},enc(o){return t.setBigInt64(0,this.parse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(o){return t.setBigInt64(0,this.uParse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigInt64(0,!0)},uDec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),cJ(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),uJ(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),cJ(r),ZI(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),uJ(r),ZI(r)},dec(r,n){return oJ(r,n)},uDec(r,n){return JI(r,n)}}}function cJ(t){if(!/^-?[0-9]+$/.test(t))throw new Error("invalid int64: "+t)}function uJ(t){if(!/^[0-9]+$/.test(t))throw new Error("invalid uint64: "+t)}function Hn(t,e){switch(t){case W.STRING:return"";case W.BOOL:return!1;case W.DOUBLE:case W.FLOAT:return 0;case W.INT64:case W.UINT64:case W.SFIXED64:case W.FIXED64:case W.SINT64:return e?"0":mt.zero;case W.BYTES:return new Uint8Array(0);default:return 0}}function dJ(t,e){switch(t){case W.BOOL:return e===!1;case W.STRING:return e==="";case W.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}u();u();var fJ=2,ji=Symbol.for("reflect unsafe local");function bb(t,e){let r=t[e.localName].case;return r===void 0?r:e.fields.find(n=>n.localName===r)}function pJ(t,e){let r=e.localName;if(e.oneof)return t[e.oneof.localName].case===r;if(e.presence!=fJ)return t[r]!==void 0&&Object.prototype.hasOwnProperty.call(t,r);switch(e.fieldKind){case"list":return t[r].length>0;case"map":return Object.keys(t[r]).length>0;case"scalar":return!dJ(e.scalar,t[r]);case"enum":return t[r]!==e.enum.values[0].number}throw new Error("message field with implicit presence")}function sc(t,e){return Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==void 0}function Tb(t,e){if(e.oneof){let r=t[e.oneof.localName];return r.case===e.localName?r.value:void 0}return t[e.localName]}function yb(t,e,r){e.oneof?t[e.oneof.localName]={case:e.localName,value:r}:t[e.localName]=r}function mJ(t,e){let r=e.localName;if(e.oneof){let n=e.oneof.localName;t[n].case===r&&(t[n]={case:void 0})}else if(e.presence!=fJ)delete t[r];else switch(e.fieldKind){case"map":t[r]={};break;case"list":t[r]=[];break;case"enum":t[r]=e.enum.values[0].number;break;case"scalar":t[r]=Hn(e.scalar,e.longAsString);break}}function vs(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function eh(t,e){var r,n,i,s;if(vs(t)&&ji in t&&"add"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){let o=e,a=t.field();return o.listKind==a.listKind&&o.scalar===a.scalar&&((r=o.message)===null||r===void 0?void 0:r.typeName)===((n=a.message)===null||n===void 0?void 0:n.typeName)&&((i=o.enum)===null||i===void 0?void 0:i.typeName)===((s=a.enum)===null||s===void 0?void 0:s.typeName)}return!0}return!1}function th(t,e){var r,n,i,s;if(vs(t)&&ji in t&&"has"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){let o=e,a=t.field();return o.mapKey===a.mapKey&&o.mapKind==a.mapKind&&o.scalar===a.scalar&&((r=o.message)===null||r===void 0?void 0:r.typeName)===((n=a.message)===null||n===void 0?void 0:n.typeName)&&((i=o.enum)===null||i===void 0?void 0:i.typeName)===((s=a.enum)===null||s===void 0?void 0:s.typeName)}return!0}return!1}function rh(t,e){return vs(t)&&ji in t&&"desc"in t&&vs(t.desc)&&t.desc.kind==="message"&&(e===void 0||t.desc.typeName==e.typeName)}u();function hJ(t){return _J(t.$typeName)}function Is(t){let e=t.fields[0];return _J(t.typeName)&&e!==void 0&&e.fieldKind=="scalar"&&e.name=="value"&&e.number==1}function _J(t){return t.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(t.substring(16))}var M9e=999,F9e=998,Cb=2;function Hr(t,e){if(Jm(e,t))return e;let r=H9e(t);return e!==void 0&&k9e(t,r,e),r}function k9e(t,e,r){for(let n of t.members){let i=r[n.localName];if(i==null)continue;let s;if(n.kind=="oneof"){let o=bb(r,n);if(!o)continue;s=o,i=Tb(r,o)}else s=n;switch(s.fieldKind){case"message":i=nw(s,i);break;case"scalar":i=SJ(s,i);break;case"list":i=U9e(s,i);break;case"map":i=B9e(s,i);break}yb(e,s,i)}return e}function SJ(t,e){return t.scalar==W.BYTES?iw(e):e}function B9e(t,e){if(vs(e)){if(t.scalar==W.BYTES)return gJ(e,iw);if(t.mapKind=="message")return gJ(e,r=>nw(t,r))}return e}function U9e(t,e){if(Array.isArray(e)){if(t.scalar==W.BYTES)return e.map(iw);if(t.listKind=="message")return e.map(r=>nw(t,r))}return e}function nw(t,e){if(t.fieldKind=="message"&&!t.oneof&&Is(t.message))return SJ(t.message.fields[0],e);if(vs(e)){if(t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!=="google.protobuf.Value")return e;if(!Jm(e,t.message))return Hr(t.message,e)}return e}function iw(t){return Array.isArray(t)?new Uint8Array(t):t}function gJ(t,e){let r={};for(let n of Object.entries(t))r[n[0]]=e(n[1]);return r}var G9e=Symbol(),EJ=new WeakMap;function H9e(t){let e;if(q9e(t)){let r=EJ.get(t),n,i;if(r)({prototype:n,members:i}=r);else{n={},i=new Set;for(let s of t.members)s.kind!="oneof"&&(s.fieldKind!="scalar"&&s.fieldKind!="enum"||s.presence!=Cb&&(i.add(s),n[s.localName]=rw(s)));EJ.set(t,{prototype:n,members:i})}e=Object.create(n),e.$typeName=t.typeName;for(let s of t.members)i.has(s)||s.kind=="field"&&(s.fieldKind=="message"||(s.fieldKind=="scalar"||s.fieldKind=="enum")&&s.presence!=Cb)||(e[s.localName]=rw(s))}else{e={$typeName:t.typeName};for(let r of t.members)(r.kind=="oneof"||r.presence==Cb)&&(e[r.localName]=rw(r))}return e}function q9e(t){switch(t.file.edition){case M9e:return!1;case F9e:return!0;default:return t.fields.some(e=>e.presence!=Cb&&e.fieldKind!="message"&&!e.oneof)}}function rw(t){if(t.kind=="oneof")return{case:void 0};if(t.fieldKind=="list")return[];if(t.fieldKind=="map")return{};if(t.fieldKind=="message")return G9e;let e=t.getDefaultValue();return e!==void 0?t.fieldKind=="scalar"&&t.longAsString?e.toString():e:t.fieldKind=="scalar"?Hn(t.scalar,t.longAsString):t.enum.values[0].number}u();u();u();var $9e=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"],gr=class extends Error{constructor(e,r,n="FieldValueInvalidError"){super(r),this.name=n,this.field=()=>e}};function bJ(t){return t instanceof Error&&$9e.includes(t.name)&&"field"in t&&typeof t.field=="function"}u();u();var sw=Symbol.for("@bufbuild/protobuf/text-encoding");function nh(){if(globalThis[sw]==null){let t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[sw]={encodeUtf8(r){return t.encode(r)},decodeUtf8(r){return e.decode(r)},checkUtf8(r){try{return encodeURIComponent(r),!0}catch{return!1}}}}return globalThis[sw]}var Qt;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Qt||(Qt={}));var aw=34028234663852886e22,lw=-34028234663852886e22,cw=4294967295,uw=2147483647,dw=-2147483648,xa=class{constructor(e=nh().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let r=new Uint8Array(e),n=0;for(let i=0;i<this.chunks.length;i++)r.set(this.chunks[i],n),n+=this.chunks[i].length;return this.chunks=[],r}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),r=this.stack.pop();if(!r)throw new Error("invalid state, fork stack empty");return this.chunks=r.chunks,this.buf=r.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,r){return this.uint32((e<<3|r)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(TJ(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return ow(e),tw(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let r=this.encodeUtf8(e);return this.uint32(r.byteLength),this.raw(r)}float(e){Y9e(e);let r=new Uint8Array(4);return new DataView(r.buffer).setFloat32(0,e,!0),this.raw(r)}double(e){let r=new Uint8Array(8);return new DataView(r.buffer).setFloat64(0,e,!0),this.raw(r)}fixed32(e){TJ(e);let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!0),this.raw(r)}sfixed32(e){ow(e);let r=new Uint8Array(4);return new DataView(r.buffer).setInt32(0,e,!0),this.raw(r)}sint32(e){return ow(e),e=(e<<1^e>>31)>>>0,tw(e,this.buf),this}sfixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),i=mt.enc(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(r)}fixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),i=mt.uEnc(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(r)}int64(e){let r=mt.enc(e);return Sb(r.lo,r.hi,this.buf),this}sint64(e){let r=mt.enc(e),n=r.hi>>31,i=r.lo<<1^n,s=(r.hi<<1|r.lo>>>31)^n;return Sb(i,s,this.buf),this}uint64(e){let r=mt.uEnc(e);return Sb(r.lo,r.hi,this.buf),this}},oc=class{constructor(e,r=nh().decodeUtf8){this.decodeUtf8=r,this.varint64=sJ,this.uint32=lJ,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),r=e>>>3,n=e&7;if(r<=0||n<0||n>5)throw new Error("illegal tag: field no "+r+" wire type "+n);return[r,n]}skip(e,r){let n=this.pos;switch(e){case Qt.Varint:for(;this.buf[this.pos++]&128;);break;case Qt.Bit64:this.pos+=4;case Qt.Bit32:this.pos+=4;break;case Qt.LengthDelimited:let i=this.uint32();this.pos+=i;break;case Qt.StartGroup:for(;;){let[s,o]=this.tag();if(o===Qt.EndGroup){if(r!==void 0&&s!==r)throw new Error("invalid end group tag");break}this.skip(o,s)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return mt.dec(...this.varint64())}uint64(){return mt.uDec(...this.varint64())}sint64(){let[e,r]=this.varint64(),n=-(e&1);return e=(e>>>1|(r&1)<<31)^n,r=r>>>1^n,mt.dec(e,r)}bool(){let[e,r]=this.varint64();return e!==0||r!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return mt.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return mt.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),r=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(r,r+e)}string(){return this.decodeUtf8(this.bytes())}};function ow(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>uw||t<dw)throw new Error("invalid int32: "+t)}function TJ(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid uint32: "+typeof t);if(!Number.isInteger(t)||t>cw||t<0)throw new Error("invalid uint32: "+t)}function Y9e(t){if(typeof t=="string"){let e=t;if(t=Number(t),Number.isNaN(t)&&e!=="NaN")throw new Error("invalid float32: "+e)}else if(typeof t!="number")throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>aw||t<lw))throw new Error("invalid float32: "+t)}function yo(t,e){let r=t.fieldKind=="list"?eh(e,t):t.fieldKind=="map"?th(e,t):pw(t,e);if(r===!0)return;let n;switch(t.fieldKind){case"list":n=`expected ${RJ(t)}, got ${or(e)}`;break;case"map":n=`expected ${AJ(t)}, got ${or(e)}`;break;default:n=Db(t,e,r)}return new gr(t,n)}function fw(t,e,r){let n=pw(t,r);if(n!==!0)return new gr(t,`list item #${e+1}: ${Db(t,r,n)}`)}function yJ(t,e,r){let n=CJ(e,t.mapKey);if(n!==!0)return new gr(t,`invalid map key: ${Db({scalar:t.mapKey},e,n)}`);let i=pw(t,r);if(i!==!0)return new gr(t,`map entry ${or(e)}: ${Db(t,r,i)}`)}function pw(t,e){return t.scalar!==void 0?CJ(e,t.scalar):t.enum!==void 0?t.enum.open?Number.isInteger(e):t.enum.values.some(r=>r.number===e):rh(e,t.message)}function CJ(t,e){switch(e){case W.DOUBLE:return typeof t=="number";case W.FLOAT:return typeof t!="number"?!1:Number.isNaN(t)||!Number.isFinite(t)?!0:t>aw||t<lw?`${t.toFixed()} out of range`:!0;case W.INT32:case W.SFIXED32:case W.SINT32:return typeof t!="number"||!Number.isInteger(t)?!1:t>uw||t<dw?`${t.toFixed()} out of range`:!0;case W.FIXED32:case W.UINT32:return typeof t!="number"||!Number.isInteger(t)?!1:t>cw||t<0?`${t.toFixed()} out of range`:!0;case W.BOOL:return typeof t=="boolean";case W.STRING:return typeof t!="string"?!1:nh().checkUtf8(t)||"invalid UTF8";case W.BYTES:return t instanceof Uint8Array;case W.INT64:case W.SFIXED64:case W.SINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return mt.parse(t),!0}catch{return`${t} out of range`}return!1;case W.FIXED64:case W.UINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return mt.uParse(t),!0}catch{return`${t} out of range`}return!1}}function Db(t,e,r){return r=typeof r=="string"?`: ${r}`:`, got ${or(e)}`,t.scalar!==void 0?`expected ${V9e(t.scalar)}`+r:t.enum!==void 0?`expected ${t.enum.toString()}`+r:`expected ${DJ(t.message)}`+r}function or(t){switch(typeof t){case"object":return t===null?"null":t instanceof Uint8Array?`Uint8Array(${t.length})`:Array.isArray(t)?`Array(${t.length})`:eh(t)?RJ(t.field()):th(t)?AJ(t.field()):rh(t)?DJ(t.desc):Jm(t)?`message ${t.$typeName}`:"object";case"string":return t.length>30?"string":`"${t.split('"').join('\\"')}"`;case"boolean":return String(t);case"number":return String(t);case"bigint":return String(t)+"n";default:return typeof t}}function DJ(t){return`ReflectMessage (${t.typeName})`}function RJ(t){switch(t.listKind){case"message":return`ReflectList (${t.message.toString()})`;case"enum":return`ReflectList (${t.enum.toString()})`;case"scalar":return`ReflectList (${W[t.scalar]})`}}function AJ(t){switch(t.mapKind){case"message":return`ReflectMap (${W[t.mapKey]}, ${t.message.toString()})`;case"enum":return`ReflectMap (${W[t.mapKey]}, ${t.enum.toString()})`;case"scalar":return`ReflectMap (${W[t.mapKey]}, ${W[t.scalar]})`}}function V9e(t){switch(t){case W.STRING:return"string";case W.BOOL:return"boolean";case W.INT64:case W.SINT64:case W.SFIXED64:return"bigint (int64)";case W.UINT64:case W.FIXED64:return"bigint (uint64)";case W.BYTES:return"Uint8Array";case W.DOUBLE:return"number (float64)";case W.FLOAT:return"number (float32)";case W.FIXED32:case W.UINT32:return"number (uint32)";case W.INT32:case W.SFIXED32:case W.SINT32:return"number (int32)"}}function qr(t,e,r=!0){return new Ab(t,e,r)}var Ab=class{get sortedFields(){var e;return(e=this._sortedFields)!==null&&e!==void 0?e:this._sortedFields=this.desc.fields.concat().sort((r,n)=>r.number-n.number)}constructor(e,r,n=!0){this.lists=new Map,this.maps=new Map,this.check=n,this.desc=e,this.message=this[ji]=r??Hr(e),this.fields=e.fields,this.oneofs=e.oneofs,this.members=e.members}findNumber(e){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(r=>[r.number,r]))),this._fieldsByNumber.get(e)}oneofCase(e){return ih(this.message,e),bb(this.message,e)}isSet(e){return ih(this.message,e),pJ(this.message,e)}clear(e){ih(this.message,e),mJ(this.message,e)}get(e){ih(this.message,e);let r=Tb(this.message,e);switch(e.fieldKind){case"list":let n=this.lists.get(e);return(!n||n[ji]!==r)&&this.lists.set(e,n=new _w(e,r,this.check)),n;case"map":let i=this.maps.get(e);return(!i||i[ji]!==r)&&this.maps.set(e,i=new gw(e,r,this.check)),i;case"message":return Sw(e,r,this.check);case"scalar":return r===void 0?Hn(e.scalar,!1):bw(e,r);case"enum":return r??e.enum.values[0].number}}set(e,r){if(ih(this.message,e),this.check){let i=yo(e,r);if(i)throw i}let n;e.fieldKind=="message"?n=Ew(e,r):th(r)||eh(r)?n=r[ji]:n=Tw(e,r),yb(this.message,e,n)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}};function ih(t,e){if(e.parent.typeName!==t.$typeName)throw new gr(e,`cannot use ${e.toString()} with message ${t.$typeName}`,"ForeignFieldError")}var _w=class{field(){return this._field}get size(){return this._arr.length}constructor(e,r,n){this._field=e,this._arr=this[ji]=r,this.check=n}get(e){let r=this._arr[e];return r===void 0?void 0:mw(this._field,r,this.check)}set(e,r){if(e<0||e>=this._arr.length)throw new gr(this._field,`list item #${e+1}: out of range`);if(this.check){let n=fw(this._field,e,r);if(n)throw n}this._arr[e]=OJ(this._field,r)}add(e){if(this.check){let r=fw(this._field,this._arr.length,e);if(r)throw r}this._arr.push(OJ(this._field,e))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(let e of this._arr)yield mw(this._field,e,this.check)}*entries(){for(let e=0;e<this._arr.length;e++)yield[e,mw(this._field,this._arr[e],this.check)]}};var gw=class{constructor(e,r,n=!0){this.obj=this[ji]=r??{},this.check=n,this._field=e}field(){return this._field}set(e,r){if(this.check){let n=yJ(this._field,e,r);if(n)throw n}return this.obj[Rb(e)]=W9e(this._field,r),this}delete(e){let r=Rb(e),n=Object.prototype.hasOwnProperty.call(this.obj,r);return n&&delete this.obj[r],n}clear(){for(let e of Object.keys(this.obj))delete this.obj[e]}get(e){let r=this.obj[Rb(e)];return r!==void 0&&(r=hw(this._field,r,this.check)),r}has(e){return Object.prototype.hasOwnProperty.call(this.obj,Rb(e))}*keys(){for(let e of Object.keys(this.obj))yield NJ(e,this._field.mapKey)}*entries(){for(let e of Object.entries(this.obj))yield[NJ(e[0],this._field.mapKey),hw(this._field,e[1],this.check)]}[Symbol.iterator](){return this.entries()}get size(){return Object.keys(this.obj).length}*values(){for(let e of Object.values(this.obj))yield hw(this._field,e,this.check)}forEach(e,r){for(let n of this.entries())e.call(r,n[1],n[0],this)}};function Ew(t,e){return rh(e)?hJ(e.message)&&!t.oneof&&t.fieldKind=="message"?e.message.value:e.desc.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"?IJ(e.message):e.message:e}function Sw(t,e,r){return e!==void 0&&(Is(t.message)&&!t.oneof&&t.fieldKind=="message"?e={$typeName:t.message.typeName,value:bw(t.message.fields[0],e)}:t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"&&vs(e)&&(e=vJ(e))),new Ab(t.message,e,r)}function OJ(t,e){return t.listKind=="message"?Ew(t,e):Tw(t,e)}function mw(t,e,r){return t.listKind=="message"?Sw(t,e,r):bw(t,e)}function W9e(t,e){return t.mapKind=="message"?Ew(t,e):Tw(t,e)}function hw(t,e,r){return t.mapKind=="message"?Sw(t,e,r):e}function Rb(t){return typeof t=="string"||typeof t=="number"?t:String(t)}function NJ(t,e){switch(e){case W.STRING:return t;case W.INT32:case W.FIXED32:case W.UINT32:case W.SFIXED32:case W.SINT32:{let r=Number.parseInt(t);if(Number.isFinite(r))return r;break}case W.BOOL:switch(t){case"true":return!0;case"false":return!1}break;case W.UINT64:case W.FIXED64:try{return mt.uParse(t)}catch{}break;default:try{return mt.parse(t)}catch{}break}return t}function bw(t,e){switch(t.scalar){case W.INT64:case W.SFIXED64:case W.SINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=mt.parse(e));break;case W.FIXED64:case W.UINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=mt.uParse(e));break}return e}function Tw(t,e){switch(t.scalar){case W.INT64:case W.SFIXED64:case W.SINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=mt.parse(e));break;case W.FIXED64:case W.UINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=mt.uParse(e));break}return e}function vJ(t){let e={$typeName:"google.protobuf.Struct",fields:{}};if(vs(t))for(let[r,n]of Object.entries(t))e.fields[r]=xJ(n);return e}function IJ(t){let e={};for(let[r,n]of Object.entries(t.fields))e[r]=wJ(n);return e}function wJ(t){switch(t.kind.case){case"structValue":return IJ(t.kind.value);case"listValue":return t.kind.value.values.map(wJ);case"nullValue":case void 0:return null;default:return t.kind.value}}function xJ(t){let e={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof t){case"number":e.kind={case:"numberValue",value:t};break;case"string":e.kind={case:"stringValue",value:t};break;case"boolean":e.kind={case:"boolValue",value:t};break;case"object":if(t===null)e.kind={case:"nullValue",value:0};else if(Array.isArray(t)){let r={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(t))for(let n of t)r.values.push(xJ(n));e.kind={case:"listValue",value:r}}else e.kind={case:"structValue",value:vJ(t)};break}return e}u();u();u();function Sd(t){let e=z9e(),r=t.length*3/4;t[t.length-2]=="="?r-=2:t[t.length-1]=="="&&(r-=1);let n=new Uint8Array(r),i=0,s=0,o,a=0;for(let l=0;l<t.length;l++){if(o=e[t.charCodeAt(l)],o===void 0)switch(t[l]){case"=":s=0;case`
221
+ `)}function O2e(t){return qe.dim(t)}function Ne(t){return qe.bold(t)}function st(t){return qe.hex(R2e)(t)}function V1(t){return qe.blue(t)}function er(t){return qe.blue(t)}function Rt(t){return t?er("./"+_Q(t)):""}function bQ(t){return qe.blueBright(t)}function Uu(t){return qe.underline(t)}function WN(t){if(t)return t.join(", ")}function TQ(t){return VN.default(t,{language:"typescript",ignoreIllegals:!0})}function yQ(t){return VN.default(t,{language:"python",ignoreIllegals:!0})}var N2e={topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",top:"",bottom:"",left:"",right:""},gQ=2,EQ=1;function zN(t,e,r){return fs(t,{borderStyle:{...N2e,top:"\u2500",bottom:r?"\u2500":""},titleAlignment:"center",float:"left",title:e?Ne(e):void 0,margin:{top:0,bottom:0,left:1,right:0},fullscreen:n=>[n,0],padding:{bottom:r?EQ:0,left:gQ,right:gQ,top:EQ}})}u();u();var Lh=z(require("fs")),Lo=z(require("path"));var hne=z(IQ());u();async function ua(t){return new Promise(e=>setTimeout(e,t))}u();u();u();u();var k2e={"Content-Type":"application/json"},B2e=/\{[^{}]+\}/g,XN=class extends Request{constructor(e,r){super(e,r);for(let n in r)n in this||(this[n]=r[n])}};function em(t){let{baseUrl:e="",fetch:r=globalThis.fetch,querySerializer:n,bodySerializer:i,headers:s,...o}={...t};e.endsWith("/")&&(e=e.substring(0,e.length-1)),s=xQ(k2e,s);let a=[];async function l(c,d){let{fetch:f=r,headers:m,params:p={},parseAs:h="json",querySerializer:_,bodySerializer:b=i??G2e,...S}=d||{},A=typeof n=="function"?n:wQ(n);_&&(A=typeof _=="function"?_:wQ({...typeof n=="object"?n:{},..._}));let D={redirect:"follow",...o,...S,headers:xQ(s,m,p.header)};D.body&&(D.body=b(D.body)),D.body instanceof FormData&&D.headers.delete("Content-Type");let O=new XN(H2e(c,{baseUrl:e,params:p,querySerializer:A}),D),M={baseUrl:e,fetch:f,parseAs:h,querySerializer:A,bodySerializer:b};for(let w of a)if(w&&typeof w=="object"&&typeof w.onRequest=="function"){O.schemaPath=c,O.params=p;let N=await w.onRequest(O,M);if(N){if(!(N instanceof Request))throw new Error("Middleware must return new Request() when modifying the request");O=N}}let V=await f(O);for(let w=a.length-1;w>=0;w--){let N=a[w];if(N&&typeof N=="object"&&typeof N.onResponse=="function"){O.schemaPath=c,O.params=p;let q=await N.onResponse(V,M,O);if(q){if(!(q instanceof Response))throw new Error("Middleware must return new Response() when modifying the response");V=q}}}if(V.status===204||V.headers.get("Content-Length")==="0")return V.ok?{data:{},response:V}:{error:{},response:V};if(V.ok)return h==="stream"?{data:V.body,response:V}:{data:await V[h](),response:V};let Q=await V.text();try{Q=JSON.parse(Q)}catch{}return{error:Q,response:V}}return{async GET(c,d){return l(c,{...d,method:"GET"})},async PUT(c,d){return l(c,{...d,method:"PUT"})},async POST(c,d){return l(c,{...d,method:"POST"})},async DELETE(c,d){return l(c,{...d,method:"DELETE"})},async OPTIONS(c,d){return l(c,{...d,method:"OPTIONS"})},async HEAD(c,d){return l(c,{...d,method:"HEAD"})},async PATCH(c,d){return l(c,{...d,method:"PATCH"})},async TRACE(c,d){return l(c,{...d,method:"TRACE"})},use(...c){for(let d of c)if(d){if(typeof d!="object"||!("onRequest"in d||"onResponse"in d))throw new Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");a.push(d)}},eject(...c){for(let d of c){let f=a.indexOf(d);f!==-1&&a.splice(f,1)}}}}function z1(t,e,r){if(e==null)return"";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${r?.allowReserved===!0?e:encodeURIComponent(e)}`}function LQ(t,e,r){if(!e||typeof e!="object")return"";let n=[],i={simple:",",label:".",matrix:";"}[r.style]||"&";if(r.style!=="deepObject"&&r.explode===!1){for(let a in e)n.push(a,r.allowReserved===!0?e[a]:encodeURIComponent(e[a]));let o=n.join(",");switch(r.style){case"form":return`${t}=${o}`;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return o}}for(let o in e){let a=r.style==="deepObject"?`${t}[${o}]`:o;n.push(z1(a,e[o],r))}let s=n.join(i);return r.style==="label"||r.style==="matrix"?`${i}${s}`:s}function PQ(t,e,r){if(!Array.isArray(e))return"";if(r.explode===!1){let s={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[r.style]||",",o=(r.allowReserved===!0?e:e.map(a=>encodeURIComponent(a))).join(s);switch(r.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return`${t}=${o}`}}let n={simple:",",label:".",matrix:";"}[r.style]||"&",i=[];for(let s of e)r.style==="simple"||r.style==="label"?i.push(r.allowReserved===!0?s:encodeURIComponent(s)):i.push(z1(t,s,r));return r.style==="label"||r.style==="matrix"?`${n}${i.join(n)}`:i.join(n)}function wQ(t){return function(r){let n=[];if(r&&typeof r=="object")for(let i in r){let s=r[i];if(s!=null){if(Array.isArray(s)){n.push(PQ(i,s,{style:"form",explode:!0,...t?.array,allowReserved:t?.allowReserved||!1}));continue}if(typeof s=="object"){n.push(LQ(i,s,{style:"deepObject",explode:!0,...t?.object,allowReserved:t?.allowReserved||!1}));continue}n.push(z1(i,s,t))}}return n.join("&")}}function U2e(t,e){let r=t;for(let n of t.match(B2e)??[]){let i=n.substring(1,n.length-1),s=!1,o="simple";if(i.endsWith("*")&&(s=!0,i=i.substring(0,i.length-1)),i.startsWith(".")?(o="label",i=i.substring(1)):i.startsWith(";")&&(o="matrix",i=i.substring(1)),!e||e[i]===void 0||e[i]===null)continue;let a=e[i];if(Array.isArray(a)){r=r.replace(n,PQ(i,a,{style:o,explode:s}));continue}if(typeof a=="object"){r=r.replace(n,LQ(i,a,{style:o,explode:s}));continue}if(o==="matrix"){r=r.replace(n,`;${z1(i,a)}`);continue}r=r.replace(n,o==="label"?`.${a}`:a)}return r}function G2e(t){return JSON.stringify(t)}function H2e(t,e){let r=`${e.baseUrl}${t}`;e.params?.path&&(r=U2e(r,e.params.path));let n=e.querySerializer(e.params.query??{});return n.startsWith("?")&&(n=n.substring(1)),n&&(r+=`?${n}`),r}function xQ(...t){let e=new Headers;for(let r of t){if(!r||typeof r!="object")continue;let n=r instanceof Headers?r.entries():Object.entries(r);for(let[i,s]of n)if(s===null)e.delete(i);else if(Array.isArray(s))for(let o of s)e.append(i,o);else s!==void 0&&e.set(i,s)}return e}u();var QI=z(ZN());var j1="2.2.2";u();var KI=z(ZN());function I9e(){return globalThis.Bun?{runtime:"bun",version:globalThis.Bun.version}:globalThis.Deno?{runtime:"deno",version:globalThis.Deno.version.deno}:globalThis.process?.release?.name==="node"?{runtime:"node",version:KI.default.version||"unknown"}:typeof EdgeRuntime=="string"?{runtime:"vercel-edge",version:"unknown"}:globalThis.navigator?.userAgent==="Cloudflare-Workers"?{runtime:"cloudflare-worker",version:"unknown"}:typeof window<"u"?{runtime:"browser",version:KI.default.version||"unknown"}:{runtime:"unknown",version:"unknown"}}var{runtime:Wi,version:ZZ}=I9e();async function JZ(t){if(typeof crypto<"u"){let i=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",i),o=new Uint8Array(s);return btoa(String.fromCharCode(...o))}let{createHash:e}=require("crypto");return e("sha256").update(t,"utf8").digest().toString("base64")}function pb(t){return Math.ceil(t/1e3)}async function jI(){if(Wi==="browser")throw new Error("Browser runtime is not supported for glob");return await Promise.resolve().then(()=>(BX(),kX))}async function eJ(){if(Wi==="browser")throw new Error("Browser runtime is not supported for tar");return await Promise.resolve().then(()=>(XZ(),QZ))}function w9e({onlyFirst:t=!1}={}){let i="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(i,t?void 0:"g")}function mb(t){return t.replace(w9e(),"")}var tJ={browser:typeof window<"u"&&QI.default.name||"unknown",lang:"js",lang_version:ZZ,package_version:j1,publisher:"e2b",sdk_runtime:Wi,system:QI.default.os?.family||"unknown"};function Xm(t){return Wi==="deno"?Deno.env.get(t):typeof process>"u"?"":process.env[t]}u();function _b(t){return new hd(`${t}: This error is likely due to sandbox timeout. You can modify the sandbox timeout by passing 'timeoutMs' when starting the sandbox or calling '.setTimeout' on the sandbox with the desired timeout.`)}var Kt=class extends Error{constructor(e,r){super(e),this.name="SandboxError",r&&(this.stack=r)}},hd=class extends Kt{constructor(e,r){super(e,r),this.name="TimeoutError"}},wa=class extends Kt{constructor(e,r){super(e,r),this.name="InvalidArgumentError"}},hb=class extends Kt{constructor(e,r){super(e,r),this.name="NotEnoughSpaceError"}},zi=class extends Kt{constructor(e,r){super(e,r),this.name="NotFoundError"}},Ki=class extends Error{constructor(e){super(e),this.name="AuthenticationError"}},_d=class extends Kt{constructor(e,r){super(e,r),this.name="TemplateError"}},Zm=class extends Kt{constructor(e){super(e),this.name="RateLimitError"}};u();function rJ(t){return JSON.parse(JSON.stringify(t))}function nJ(t){async function*e(r){for await(let n of r)t.debug?.("Response stream:",rJ(n)),yield n}return r=>async n=>{t.info?.(`Request: POST ${n.url}`);let i=await r(n);return i.stream?{...i,message:e(i.message)}:(t.info?.("Response:",rJ(i.message)),i)}}function gb(t){return{async onRequest(e){return t.info?.(`Request ${e.method} ${e.url}`),e},async onResponse(e){return e.status>=400?t.error?.("Response:",e.status,e.statusText):t.info?.("Response:",e.status,e.statusText),e}}}function wn(t,e=Kt,r){if(!t.error)return;if(t.response.status===401){let i="Unauthorized, please check your credentials.",s=t.error?.message??t.error;return s?new Ki(`${i} - ${s}`):new Ki(i)}if(t.response.status===429){let i="Rate limit exceeded, please try again later",s=t.error?.message??t.error;return s?new Zm(`${i} - ${s}`):new Zm(i)}let n=t.error?.message??t.error;return new e(`${t.response.status}: ${n}`,r)}var Ir=class{api;constructor(e,r={requireAccessToken:!1,requireApiKey:!1}){if(r?.requireApiKey&&!e.apiKey)throw new Ki("API key is required, please visit the Team tab at https://e2b.dev/dashboard to get your API key. You can either set the environment variable `E2B_API_KEY` or you can pass it directly to the sandbox like Sandbox.create({ apiKey: 'e2b_...' })");if(r?.requireAccessToken&&!e.accessToken)throw new Ki("Access token is required, please visit the Personal tab at https://e2b.dev/dashboard to get your access token. You can set the environment variable `E2B_ACCESS_TOKEN` or pass the `accessToken` in options.");this.api=em({baseUrl:e.apiUrl,headers:{...tJ,...e.apiKey&&{"X-API-KEY":e.apiKey},...e.accessToken&&{Authorization:`Bearer ${e.accessToken}`},...e.headers},querySerializer:{array:{style:"form",explode:!1}}}),e.logger&&this.api.use(gb(e.logger))}};u();var x9e=6e4,gd=3e5,nc=50,ic="Keepalive-Ping-Interval",jt=class t{debug;domain;apiUrl;logger;requestTimeoutMs;apiKey;accessToken;headers;constructor(e){this.apiKey=e?.apiKey||t.apiKey,this.debug=e?.debug||t.debug,this.domain=e?.domain||t.domain,this.accessToken=e?.accessToken||t.accessToken,this.requestTimeoutMs=e?.requestTimeoutMs??x9e,this.logger=e?.logger,this.headers=e?.headers||{},this.headers["User-Agent"]=`e2b-js-sdk/${j1}`,this.apiUrl=this.debug?"http://localhost:3000":`https://api.${this.domain}`}static get domain(){return Xm("E2B_DOMAIN")||"e2b.app"}static get debug(){return(Xm("E2B_DEBUG")||"false").toLowerCase()==="true"}static get apiKey(){return Xm("E2B_API_KEY")}static get accessToken(){return Xm("E2B_ACCESS_TOKEN")}getSignal(e){let r=e??this.requestTimeoutMs;return r?AbortSignal.timeout(r):void 0}},To="user";u();async function XI({path:t,operation:e,user:r,expirationInSeconds:n,envdAccessToken:i}){if(!i)throw new Error("Access token is not set and signature cannot be generated!");let s=n?Math.floor(Date.now()/1e3)+n:null,o;return s===null?o=`${t}:${e}:${r}:${i}`:o=`${t}:${e}:${r}:${i}:${s.toString()}`,{signature:"v1_"+(await JZ(o)).replace(/=+$/,""),expiration:s}}u();u();u();u();var Fe;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(Fe||(Fe={}));u();u();function Jm(t,e){return t!==null&&typeof t=="object"&&"$typeName"in t&&typeof t.$typeName=="string"?e===void 0?!0:e.typeName===t.$typeName:!1}u();u();var W;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(W||(W={}));u();u();u();function sJ(){let t=0,e=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function Sb(t,e,r){for(let s=0;s<28;s=s+7){let o=t>>>s,a=!(!(o>>>7)&&e==0),l=(a?o|128:o)&255;if(r.push(l),!a)return}let n=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(r.push((i?n|128:n)&255),!!i){for(let s=3;s<31;s=s+7){let o=e>>>s,a=!!(o>>>7),l=(a?o|128:o)&255;if(r.push(l),!a)return}r.push(e>>>31&1)}}var Eb=4294967296;function ZI(t){let e=t[0]==="-";e&&(t=t.slice(1));let r=1e6,n=0,i=0;function s(o,a){let l=Number(t.slice(o,a));i*=r,n=n*r+l,n>=Eb&&(i=i+(n/Eb|0),n=n%Eb)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),e?aJ(n,i):ew(n,i)}function oJ(t,e){let r=ew(t,e),n=r.hi&2147483648;n&&(r=aJ(r.lo,r.hi));let i=JI(r.lo,r.hi);return n?"-"+i:i}function JI(t,e){if({lo:t,hi:e}=L9e(t,e),e<=2097151)return String(Eb*e+t);let r=t&16777215,n=(t>>>24|e<<8)&16777215,i=e>>16&65535,s=r+n*6777216+i*6710656,o=n+i*8147497,a=i*2,l=1e7;return s>=l&&(o+=Math.floor(s/l),s%=l),o>=l&&(a+=Math.floor(o/l),o%=l),a.toString()+iJ(o)+iJ(s)}function L9e(t,e){return{lo:t>>>0,hi:e>>>0}}function ew(t,e){return{lo:t|0,hi:e|0}}function aJ(t,e){return e=~e,t?t=~t+1:e+=1,ew(t,e)}var iJ=t=>{let e=String(t);return"0000000".slice(e.length)+e};function tw(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}function lJ(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var mt=P9e();function P9e(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),i=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>n||a<r)throw new Error(`invalid int64: ${o}`);return a},uParse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>s||a<i)throw new Error(`invalid uint64: ${o}`);return a},enc(o){return t.setBigInt64(0,this.parse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(o){return t.setBigInt64(0,this.uParse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigInt64(0,!0)},uDec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),cJ(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),uJ(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),cJ(r),ZI(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),uJ(r),ZI(r)},dec(r,n){return oJ(r,n)},uDec(r,n){return JI(r,n)}}}function cJ(t){if(!/^-?[0-9]+$/.test(t))throw new Error("invalid int64: "+t)}function uJ(t){if(!/^[0-9]+$/.test(t))throw new Error("invalid uint64: "+t)}function Hn(t,e){switch(t){case W.STRING:return"";case W.BOOL:return!1;case W.DOUBLE:case W.FLOAT:return 0;case W.INT64:case W.UINT64:case W.SFIXED64:case W.FIXED64:case W.SINT64:return e?"0":mt.zero;case W.BYTES:return new Uint8Array(0);default:return 0}}function dJ(t,e){switch(t){case W.BOOL:return e===!1;case W.STRING:return e==="";case W.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}u();u();var fJ=2,ji=Symbol.for("reflect unsafe local");function bb(t,e){let r=t[e.localName].case;return r===void 0?r:e.fields.find(n=>n.localName===r)}function pJ(t,e){let r=e.localName;if(e.oneof)return t[e.oneof.localName].case===r;if(e.presence!=fJ)return t[r]!==void 0&&Object.prototype.hasOwnProperty.call(t,r);switch(e.fieldKind){case"list":return t[r].length>0;case"map":return Object.keys(t[r]).length>0;case"scalar":return!dJ(e.scalar,t[r]);case"enum":return t[r]!==e.enum.values[0].number}throw new Error("message field with implicit presence")}function sc(t,e){return Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==void 0}function Tb(t,e){if(e.oneof){let r=t[e.oneof.localName];return r.case===e.localName?r.value:void 0}return t[e.localName]}function yb(t,e,r){e.oneof?t[e.oneof.localName]={case:e.localName,value:r}:t[e.localName]=r}function mJ(t,e){let r=e.localName;if(e.oneof){let n=e.oneof.localName;t[n].case===r&&(t[n]={case:void 0})}else if(e.presence!=fJ)delete t[r];else switch(e.fieldKind){case"map":t[r]={};break;case"list":t[r]=[];break;case"enum":t[r]=e.enum.values[0].number;break;case"scalar":t[r]=Hn(e.scalar,e.longAsString);break}}function vs(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function eh(t,e){var r,n,i,s;if(vs(t)&&ji in t&&"add"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){let o=e,a=t.field();return o.listKind==a.listKind&&o.scalar===a.scalar&&((r=o.message)===null||r===void 0?void 0:r.typeName)===((n=a.message)===null||n===void 0?void 0:n.typeName)&&((i=o.enum)===null||i===void 0?void 0:i.typeName)===((s=a.enum)===null||s===void 0?void 0:s.typeName)}return!0}return!1}function th(t,e){var r,n,i,s;if(vs(t)&&ji in t&&"has"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){let o=e,a=t.field();return o.mapKey===a.mapKey&&o.mapKind==a.mapKind&&o.scalar===a.scalar&&((r=o.message)===null||r===void 0?void 0:r.typeName)===((n=a.message)===null||n===void 0?void 0:n.typeName)&&((i=o.enum)===null||i===void 0?void 0:i.typeName)===((s=a.enum)===null||s===void 0?void 0:s.typeName)}return!0}return!1}function rh(t,e){return vs(t)&&ji in t&&"desc"in t&&vs(t.desc)&&t.desc.kind==="message"&&(e===void 0||t.desc.typeName==e.typeName)}u();function hJ(t){return _J(t.$typeName)}function Is(t){let e=t.fields[0];return _J(t.typeName)&&e!==void 0&&e.fieldKind=="scalar"&&e.name=="value"&&e.number==1}function _J(t){return t.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(t.substring(16))}var M9e=999,F9e=998,Cb=2;function Hr(t,e){if(Jm(e,t))return e;let r=H9e(t);return e!==void 0&&k9e(t,r,e),r}function k9e(t,e,r){for(let n of t.members){let i=r[n.localName];if(i==null)continue;let s;if(n.kind=="oneof"){let o=bb(r,n);if(!o)continue;s=o,i=Tb(r,o)}else s=n;switch(s.fieldKind){case"message":i=nw(s,i);break;case"scalar":i=SJ(s,i);break;case"list":i=U9e(s,i);break;case"map":i=B9e(s,i);break}yb(e,s,i)}return e}function SJ(t,e){return t.scalar==W.BYTES?iw(e):e}function B9e(t,e){if(vs(e)){if(t.scalar==W.BYTES)return gJ(e,iw);if(t.mapKind=="message")return gJ(e,r=>nw(t,r))}return e}function U9e(t,e){if(Array.isArray(e)){if(t.scalar==W.BYTES)return e.map(iw);if(t.listKind=="message")return e.map(r=>nw(t,r))}return e}function nw(t,e){if(t.fieldKind=="message"&&!t.oneof&&Is(t.message))return SJ(t.message.fields[0],e);if(vs(e)){if(t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!=="google.protobuf.Value")return e;if(!Jm(e,t.message))return Hr(t.message,e)}return e}function iw(t){return Array.isArray(t)?new Uint8Array(t):t}function gJ(t,e){let r={};for(let n of Object.entries(t))r[n[0]]=e(n[1]);return r}var G9e=Symbol(),EJ=new WeakMap;function H9e(t){let e;if(q9e(t)){let r=EJ.get(t),n,i;if(r)({prototype:n,members:i}=r);else{n={},i=new Set;for(let s of t.members)s.kind!="oneof"&&(s.fieldKind!="scalar"&&s.fieldKind!="enum"||s.presence!=Cb&&(i.add(s),n[s.localName]=rw(s)));EJ.set(t,{prototype:n,members:i})}e=Object.create(n),e.$typeName=t.typeName;for(let s of t.members)i.has(s)||s.kind=="field"&&(s.fieldKind=="message"||(s.fieldKind=="scalar"||s.fieldKind=="enum")&&s.presence!=Cb)||(e[s.localName]=rw(s))}else{e={$typeName:t.typeName};for(let r of t.members)(r.kind=="oneof"||r.presence==Cb)&&(e[r.localName]=rw(r))}return e}function q9e(t){switch(t.file.edition){case M9e:return!1;case F9e:return!0;default:return t.fields.some(e=>e.presence!=Cb&&e.fieldKind!="message"&&!e.oneof)}}function rw(t){if(t.kind=="oneof")return{case:void 0};if(t.fieldKind=="list")return[];if(t.fieldKind=="map")return{};if(t.fieldKind=="message")return G9e;let e=t.getDefaultValue();return e!==void 0?t.fieldKind=="scalar"&&t.longAsString?e.toString():e:t.fieldKind=="scalar"?Hn(t.scalar,t.longAsString):t.enum.values[0].number}u();u();u();var $9e=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"],gr=class extends Error{constructor(e,r,n="FieldValueInvalidError"){super(r),this.name=n,this.field=()=>e}};function bJ(t){return t instanceof Error&&$9e.includes(t.name)&&"field"in t&&typeof t.field=="function"}u();u();var sw=Symbol.for("@bufbuild/protobuf/text-encoding");function nh(){if(globalThis[sw]==null){let t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[sw]={encodeUtf8(r){return t.encode(r)},decodeUtf8(r){return e.decode(r)},checkUtf8(r){try{return encodeURIComponent(r),!0}catch{return!1}}}}return globalThis[sw]}var Qt;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Qt||(Qt={}));var aw=34028234663852886e22,lw=-34028234663852886e22,cw=4294967295,uw=2147483647,dw=-2147483648,xa=class{constructor(e=nh().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let r=new Uint8Array(e),n=0;for(let i=0;i<this.chunks.length;i++)r.set(this.chunks[i],n),n+=this.chunks[i].length;return this.chunks=[],r}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),r=this.stack.pop();if(!r)throw new Error("invalid state, fork stack empty");return this.chunks=r.chunks,this.buf=r.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,r){return this.uint32((e<<3|r)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(TJ(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return ow(e),tw(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let r=this.encodeUtf8(e);return this.uint32(r.byteLength),this.raw(r)}float(e){Y9e(e);let r=new Uint8Array(4);return new DataView(r.buffer).setFloat32(0,e,!0),this.raw(r)}double(e){let r=new Uint8Array(8);return new DataView(r.buffer).setFloat64(0,e,!0),this.raw(r)}fixed32(e){TJ(e);let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!0),this.raw(r)}sfixed32(e){ow(e);let r=new Uint8Array(4);return new DataView(r.buffer).setInt32(0,e,!0),this.raw(r)}sint32(e){return ow(e),e=(e<<1^e>>31)>>>0,tw(e,this.buf),this}sfixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),i=mt.enc(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(r)}fixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),i=mt.uEnc(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(r)}int64(e){let r=mt.enc(e);return Sb(r.lo,r.hi,this.buf),this}sint64(e){let r=mt.enc(e),n=r.hi>>31,i=r.lo<<1^n,s=(r.hi<<1|r.lo>>>31)^n;return Sb(i,s,this.buf),this}uint64(e){let r=mt.uEnc(e);return Sb(r.lo,r.hi,this.buf),this}},oc=class{constructor(e,r=nh().decodeUtf8){this.decodeUtf8=r,this.varint64=sJ,this.uint32=lJ,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),r=e>>>3,n=e&7;if(r<=0||n<0||n>5)throw new Error("illegal tag: field no "+r+" wire type "+n);return[r,n]}skip(e,r){let n=this.pos;switch(e){case Qt.Varint:for(;this.buf[this.pos++]&128;);break;case Qt.Bit64:this.pos+=4;case Qt.Bit32:this.pos+=4;break;case Qt.LengthDelimited:let i=this.uint32();this.pos+=i;break;case Qt.StartGroup:for(;;){let[s,o]=this.tag();if(o===Qt.EndGroup){if(r!==void 0&&s!==r)throw new Error("invalid end group tag");break}this.skip(o,s)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return mt.dec(...this.varint64())}uint64(){return mt.uDec(...this.varint64())}sint64(){let[e,r]=this.varint64(),n=-(e&1);return e=(e>>>1|(r&1)<<31)^n,r=r>>>1^n,mt.dec(e,r)}bool(){let[e,r]=this.varint64();return e!==0||r!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return mt.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return mt.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),r=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(r,r+e)}string(){return this.decodeUtf8(this.bytes())}};function ow(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>uw||t<dw)throw new Error("invalid int32: "+t)}function TJ(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid uint32: "+typeof t);if(!Number.isInteger(t)||t>cw||t<0)throw new Error("invalid uint32: "+t)}function Y9e(t){if(typeof t=="string"){let e=t;if(t=Number(t),Number.isNaN(t)&&e!=="NaN")throw new Error("invalid float32: "+e)}else if(typeof t!="number")throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>aw||t<lw))throw new Error("invalid float32: "+t)}function yo(t,e){let r=t.fieldKind=="list"?eh(e,t):t.fieldKind=="map"?th(e,t):pw(t,e);if(r===!0)return;let n;switch(t.fieldKind){case"list":n=`expected ${RJ(t)}, got ${or(e)}`;break;case"map":n=`expected ${AJ(t)}, got ${or(e)}`;break;default:n=Db(t,e,r)}return new gr(t,n)}function fw(t,e,r){let n=pw(t,r);if(n!==!0)return new gr(t,`list item #${e+1}: ${Db(t,r,n)}`)}function yJ(t,e,r){let n=CJ(e,t.mapKey);if(n!==!0)return new gr(t,`invalid map key: ${Db({scalar:t.mapKey},e,n)}`);let i=pw(t,r);if(i!==!0)return new gr(t,`map entry ${or(e)}: ${Db(t,r,i)}`)}function pw(t,e){return t.scalar!==void 0?CJ(e,t.scalar):t.enum!==void 0?t.enum.open?Number.isInteger(e):t.enum.values.some(r=>r.number===e):rh(e,t.message)}function CJ(t,e){switch(e){case W.DOUBLE:return typeof t=="number";case W.FLOAT:return typeof t!="number"?!1:Number.isNaN(t)||!Number.isFinite(t)?!0:t>aw||t<lw?`${t.toFixed()} out of range`:!0;case W.INT32:case W.SFIXED32:case W.SINT32:return typeof t!="number"||!Number.isInteger(t)?!1:t>uw||t<dw?`${t.toFixed()} out of range`:!0;case W.FIXED32:case W.UINT32:return typeof t!="number"||!Number.isInteger(t)?!1:t>cw||t<0?`${t.toFixed()} out of range`:!0;case W.BOOL:return typeof t=="boolean";case W.STRING:return typeof t!="string"?!1:nh().checkUtf8(t)||"invalid UTF8";case W.BYTES:return t instanceof Uint8Array;case W.INT64:case W.SFIXED64:case W.SINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return mt.parse(t),!0}catch{return`${t} out of range`}return!1;case W.FIXED64:case W.UINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return mt.uParse(t),!0}catch{return`${t} out of range`}return!1}}function Db(t,e,r){return r=typeof r=="string"?`: ${r}`:`, got ${or(e)}`,t.scalar!==void 0?`expected ${V9e(t.scalar)}`+r:t.enum!==void 0?`expected ${t.enum.toString()}`+r:`expected ${DJ(t.message)}`+r}function or(t){switch(typeof t){case"object":return t===null?"null":t instanceof Uint8Array?`Uint8Array(${t.length})`:Array.isArray(t)?`Array(${t.length})`:eh(t)?RJ(t.field()):th(t)?AJ(t.field()):rh(t)?DJ(t.desc):Jm(t)?`message ${t.$typeName}`:"object";case"string":return t.length>30?"string":`"${t.split('"').join('\\"')}"`;case"boolean":return String(t);case"number":return String(t);case"bigint":return String(t)+"n";default:return typeof t}}function DJ(t){return`ReflectMessage (${t.typeName})`}function RJ(t){switch(t.listKind){case"message":return`ReflectList (${t.message.toString()})`;case"enum":return`ReflectList (${t.enum.toString()})`;case"scalar":return`ReflectList (${W[t.scalar]})`}}function AJ(t){switch(t.mapKind){case"message":return`ReflectMap (${W[t.mapKey]}, ${t.message.toString()})`;case"enum":return`ReflectMap (${W[t.mapKey]}, ${t.enum.toString()})`;case"scalar":return`ReflectMap (${W[t.mapKey]}, ${W[t.scalar]})`}}function V9e(t){switch(t){case W.STRING:return"string";case W.BOOL:return"boolean";case W.INT64:case W.SINT64:case W.SFIXED64:return"bigint (int64)";case W.UINT64:case W.FIXED64:return"bigint (uint64)";case W.BYTES:return"Uint8Array";case W.DOUBLE:return"number (float64)";case W.FLOAT:return"number (float32)";case W.FIXED32:case W.UINT32:return"number (uint32)";case W.INT32:case W.SFIXED32:case W.SINT32:return"number (int32)"}}function qr(t,e,r=!0){return new Ab(t,e,r)}var Ab=class{get sortedFields(){var e;return(e=this._sortedFields)!==null&&e!==void 0?e:this._sortedFields=this.desc.fields.concat().sort((r,n)=>r.number-n.number)}constructor(e,r,n=!0){this.lists=new Map,this.maps=new Map,this.check=n,this.desc=e,this.message=this[ji]=r??Hr(e),this.fields=e.fields,this.oneofs=e.oneofs,this.members=e.members}findNumber(e){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(r=>[r.number,r]))),this._fieldsByNumber.get(e)}oneofCase(e){return ih(this.message,e),bb(this.message,e)}isSet(e){return ih(this.message,e),pJ(this.message,e)}clear(e){ih(this.message,e),mJ(this.message,e)}get(e){ih(this.message,e);let r=Tb(this.message,e);switch(e.fieldKind){case"list":let n=this.lists.get(e);return(!n||n[ji]!==r)&&this.lists.set(e,n=new _w(e,r,this.check)),n;case"map":let i=this.maps.get(e);return(!i||i[ji]!==r)&&this.maps.set(e,i=new gw(e,r,this.check)),i;case"message":return Sw(e,r,this.check);case"scalar":return r===void 0?Hn(e.scalar,!1):bw(e,r);case"enum":return r??e.enum.values[0].number}}set(e,r){if(ih(this.message,e),this.check){let i=yo(e,r);if(i)throw i}let n;e.fieldKind=="message"?n=Ew(e,r):th(r)||eh(r)?n=r[ji]:n=Tw(e,r),yb(this.message,e,n)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}};function ih(t,e){if(e.parent.typeName!==t.$typeName)throw new gr(e,`cannot use ${e.toString()} with message ${t.$typeName}`,"ForeignFieldError")}var _w=class{field(){return this._field}get size(){return this._arr.length}constructor(e,r,n){this._field=e,this._arr=this[ji]=r,this.check=n}get(e){let r=this._arr[e];return r===void 0?void 0:mw(this._field,r,this.check)}set(e,r){if(e<0||e>=this._arr.length)throw new gr(this._field,`list item #${e+1}: out of range`);if(this.check){let n=fw(this._field,e,r);if(n)throw n}this._arr[e]=OJ(this._field,r)}add(e){if(this.check){let r=fw(this._field,this._arr.length,e);if(r)throw r}this._arr.push(OJ(this._field,e))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(let e of this._arr)yield mw(this._field,e,this.check)}*entries(){for(let e=0;e<this._arr.length;e++)yield[e,mw(this._field,this._arr[e],this.check)]}};var gw=class{constructor(e,r,n=!0){this.obj=this[ji]=r??{},this.check=n,this._field=e}field(){return this._field}set(e,r){if(this.check){let n=yJ(this._field,e,r);if(n)throw n}return this.obj[Rb(e)]=W9e(this._field,r),this}delete(e){let r=Rb(e),n=Object.prototype.hasOwnProperty.call(this.obj,r);return n&&delete this.obj[r],n}clear(){for(let e of Object.keys(this.obj))delete this.obj[e]}get(e){let r=this.obj[Rb(e)];return r!==void 0&&(r=hw(this._field,r,this.check)),r}has(e){return Object.prototype.hasOwnProperty.call(this.obj,Rb(e))}*keys(){for(let e of Object.keys(this.obj))yield NJ(e,this._field.mapKey)}*entries(){for(let e of Object.entries(this.obj))yield[NJ(e[0],this._field.mapKey),hw(this._field,e[1],this.check)]}[Symbol.iterator](){return this.entries()}get size(){return Object.keys(this.obj).length}*values(){for(let e of Object.values(this.obj))yield hw(this._field,e,this.check)}forEach(e,r){for(let n of this.entries())e.call(r,n[1],n[0],this)}};function Ew(t,e){return rh(e)?hJ(e.message)&&!t.oneof&&t.fieldKind=="message"?e.message.value:e.desc.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"?IJ(e.message):e.message:e}function Sw(t,e,r){return e!==void 0&&(Is(t.message)&&!t.oneof&&t.fieldKind=="message"?e={$typeName:t.message.typeName,value:bw(t.message.fields[0],e)}:t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"&&vs(e)&&(e=vJ(e))),new Ab(t.message,e,r)}function OJ(t,e){return t.listKind=="message"?Ew(t,e):Tw(t,e)}function mw(t,e,r){return t.listKind=="message"?Sw(t,e,r):bw(t,e)}function W9e(t,e){return t.mapKind=="message"?Ew(t,e):Tw(t,e)}function hw(t,e,r){return t.mapKind=="message"?Sw(t,e,r):e}function Rb(t){return typeof t=="string"||typeof t=="number"?t:String(t)}function NJ(t,e){switch(e){case W.STRING:return t;case W.INT32:case W.FIXED32:case W.UINT32:case W.SFIXED32:case W.SINT32:{let r=Number.parseInt(t);if(Number.isFinite(r))return r;break}case W.BOOL:switch(t){case"true":return!0;case"false":return!1}break;case W.UINT64:case W.FIXED64:try{return mt.uParse(t)}catch{}break;default:try{return mt.parse(t)}catch{}break}return t}function bw(t,e){switch(t.scalar){case W.INT64:case W.SFIXED64:case W.SINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=mt.parse(e));break;case W.FIXED64:case W.UINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=mt.uParse(e));break}return e}function Tw(t,e){switch(t.scalar){case W.INT64:case W.SFIXED64:case W.SINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=mt.parse(e));break;case W.FIXED64:case W.UINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=mt.uParse(e));break}return e}function vJ(t){let e={$typeName:"google.protobuf.Struct",fields:{}};if(vs(t))for(let[r,n]of Object.entries(t))e.fields[r]=xJ(n);return e}function IJ(t){let e={};for(let[r,n]of Object.entries(t.fields))e[r]=wJ(n);return e}function wJ(t){switch(t.kind.case){case"structValue":return IJ(t.kind.value);case"listValue":return t.kind.value.values.map(wJ);case"nullValue":case void 0:return null;default:return t.kind.value}}function xJ(t){let e={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof t){case"number":e.kind={case:"numberValue",value:t};break;case"string":e.kind={case:"stringValue",value:t};break;case"boolean":e.kind={case:"boolValue",value:t};break;case"object":if(t===null)e.kind={case:"nullValue",value:0};else if(Array.isArray(t)){let r={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(t))for(let n of t)r.values.push(xJ(n));e.kind={case:"listValue",value:r}}else e.kind={case:"structValue",value:vJ(t)};break}return e}u();u();u();function Sd(t){let e=z9e(),r=t.length*3/4;t[t.length-2]=="="?r-=2:t[t.length-1]=="="&&(r-=1);let n=new Uint8Array(r),i=0,s=0,o,a=0;for(let l=0;l<t.length;l++){if(o=e[t.charCodeAt(l)],o===void 0)switch(t[l]){case"=":s=0;case`
222
222
  `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(s){case 0:a=o,s=1;break;case 1:n[i++]=a<<2|(o&48)>>4,a=o,s=2;break;case 2:n[i++]=(a&15)<<4|(o&60)>>2,a=o,s=3;break;case 3:n[i++]=(a&3)<<6|o,s=0;break}}if(s==1)throw Error("invalid base64 string");return n.subarray(0,i)}function sh(t,e="std"){let r=PJ(e),n=e=="std",i="",s=0,o,a=0;for(let l=0;l<t.length;l++)switch(o=t[l],s){case 0:i+=r[o>>2],a=(o&3)<<4,s=1;break;case 1:i+=r[a|o>>4],a=(o&15)<<2,s=2;break;case 2:i+=r[a|o>>6],i+=r[o&63],s=0;break}return s&&(i+=r[a],n&&(i+="=",s==1&&(i+="="))),i}var Ob,LJ,Ed;function PJ(t){return Ob||(Ob="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),LJ=Ob.slice(0,-2).concat("-","_")),t=="url"?LJ:Ob}function z9e(){if(!Ed){Ed=[];let t=PJ("std");for(let e=0;e<t.length;e++)Ed[t[e].charCodeAt(0)]=e;Ed[45]=t.indexOf("+"),Ed[95]=t.indexOf("/")}return Ed}u();u();u();u();function La(t){let e=!1,r=[];for(let n=0;n<t.length;n++){let i=t.charAt(n);switch(i){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r.push(i),e=!1;break;default:e&&(e=!1,i=i.toUpperCase()),r.push(i);break}}return r.join("")}var K9e=new Set(["constructor","toString","toJSON","valueOf"]);function bd(t){return K9e.has(t)?t+"$":t}function oh(t){for(let e of t.field)sc(e,"jsonName")||(e.jsonName=La(e.name));t.nestedType.forEach(oh)}u();u();function MJ(t,e){let r=t.values.find(n=>n.name===e);if(!r)throw new Error(`cannot parse ${t} default value: ${e}`);return r.number}function FJ(t,e){switch(t){case W.STRING:return e;case W.BYTES:{let r=j9e(e);if(r===!1)throw new Error(`cannot parse ${W[t]} default value: ${e}`);return r}case W.INT64:case W.SFIXED64:case W.SINT64:return mt.parse(e);case W.UINT64:case W.FIXED64:return mt.uParse(e);case W.DOUBLE:case W.FLOAT:switch(e){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(e)}case W.BOOL:return e==="true";case W.INT32:case W.UINT32:case W.SINT32:case W.FIXED32:case W.SFIXED32:return parseInt(e,10)}}function j9e(t){let e=[],r={tail:t,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(n){if(this.tail.length>=n){let i=this.tail.substring(0,n);return this.tail=this.tail.substring(n),i}return!1}};for(;r.next();)switch(r.c){case"\\":if(r.next())switch(r.c){case"\\":e.push(r.c.charCodeAt(0));break;case"b":e.push(8);break;case"f":e.push(12);break;case"n":e.push(10);break;case"r":e.push(13);break;case"t":e.push(9);break;case"v":e.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let n=r.c,i=r.take(2);if(i===!1)return!1;let s=parseInt(n+i,8);if(Number.isNaN(s))return!1;e.push(s);break}case"x":{let n=r.c,i=r.take(2);if(i===!1)return!1;let s=parseInt(n+i,16);if(Number.isNaN(s))return!1;e.push(s);break}case"u":{let n=r.c,i=r.take(4);if(i===!1)return!1;let s=parseInt(n+i,16);if(Number.isNaN(s))return!1;let o=new Uint8Array(4);new DataView(o.buffer).setInt32(0,s,!0),e.push(o[0],o[1],o[2],o[3]);break}case"U":{let n=r.c,i=r.take(8);if(i===!1)return!1;let s=mt.uEnc(n+i),o=new Uint8Array(8),a=new DataView(o.buffer);a.setInt32(0,s.lo,!0),a.setInt32(4,s.hi,!0),e.push(o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7]);break}}break;default:e.push(r.c.charCodeAt(0))}return new Uint8Array(e)}u();function*Nb(t){switch(t.kind){case"file":for(let e of t.messages)yield e,yield*Nb(e);yield*t.enums,yield*t.services,yield*t.extensions;break;case"message":for(let e of t.nestedMessages)yield e,yield*Nb(e);yield*t.nestedEnums,yield*t.nestedExtensions;break}}function vb(...t){let e=Q9e();if(!t.length)return e;if("$typeName"in t[0]&&t[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let n of t[0].file)GJ(n,e);return e}if("$typeName"in t[0]){let o=function(a){let l=[];for(let c of a.dependency){if(e.getFile(c)!=null||s.has(c))continue;let d=i(c);if(!d)throw new Error(`Unable to resolve ${c}, imported by ${a.name}`);"kind"in d?e.addFile(d,!1,!0):(s.add(d.name),l.push(d))}return l.concat(...l.map(o))};var r=o;let n=t[0],i=t[1],s=new Set;for(let a of[n,...o(n)].reverse())GJ(a,e)}else for(let n of t)for(let i of n.files)e.addFile(i);return e}function Q9e(){let t=new Map,e=new Map,r=new Map;return{kind:"registry",types:t,extendees:e,[Symbol.iterator](){return t.values()},get files(){return r.values()},addFile(n,i,s){if(r.set(n.proto.name,n),!i)for(let o of Nb(n))this.add(o);if(s)for(let o of n.dependencies)this.addFile(o,i,s)},add(n){if(n.kind=="extension"){let i=e.get(n.extendee.typeName);i||e.set(n.extendee.typeName,i=new Map),i.set(n.number,n)}t.set(n.typeName,n)},get(n){return t.get(n)},getFile(n){return r.get(n)},getMessage(n){let i=t.get(n);return i?.kind=="message"?i:void 0},getEnum(n){let i=t.get(n);return i?.kind=="enum"?i:void 0},getExtension(n){let i=t.get(n);return i?.kind=="extension"?i:void 0},getExtensionFor(n,i){var s;return(s=e.get(n.typeName))===null||s===void 0?void 0:s.get(i)},getService(n){let i=t.get(n);return i?.kind=="service"?i:void 0}}}var X9e=998,Z9e=999,J9e=9,lh=10,ah=11,eFe=12,kJ=14,Aw=3,tFe=2,BJ=1,rFe=0,yw=1,UJ=2,nFe=3,iFe=1,sFe=2,oFe=1;var qJ={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1}};function GJ(t,e){var r,n;let i={kind:"file",proto:t,deprecated:(n=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&n!==void 0?n:!1,edition:uFe(t),name:t.name.replace(/\.proto$/,""),dependencies:dFe(t,e),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${t.name}`}},s=new Map,o={get(a){return s.get(a)},add(a){var l;Qi(((l=a.proto.options)===null||l===void 0?void 0:l.mapEntry)===!0),s.set(a.typeName,a)}};for(let a of t.enumType)$J(a,i,void 0,e);for(let a of t.messageType)YJ(a,i,void 0,e,o);for(let a of t.service)aFe(a,i,e);Cw(i,e);for(let a of s.values())Dw(a,e,o);for(let a of i.messages)Dw(a,e,o),Cw(a,e);e.addFile(i,!0)}function Cw(t,e){switch(t.kind){case"file":for(let r of t.proto.extension){let n=Rw(r,t,e);t.extensions.push(n),e.add(n)}break;case"message":for(let r of t.proto.extension){let n=Rw(r,t,e);t.nestedExtensions.push(n),e.add(n)}for(let r of t.nestedMessages)Cw(r,e);break}}function Dw(t,e,r){let n=t.proto.oneofDecl.map(s=>cFe(s,t)),i=new Set;for(let s of t.proto.field){let o=mFe(s,n),a=Rw(s,t,e,o,r);t.fields.push(a),t.field[a.localName]=a,o===void 0?t.members.push(a):(o.fields.push(a),i.has(o)||(i.add(o),t.members.push(o)))}for(let s of n.filter(o=>i.has(o)))t.oneofs.push(s);for(let s of t.nestedMessages)Dw(s,e,r)}function $J(t,e,r,n){var i,s,o,a,l;let c=fFe(t.name,t.value),d={kind:"enum",proto:t,deprecated:(s=(i=t.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,file:e,parent:r,open:!0,name:t.name,typeName:Ib(t,r,e),value:{},values:[],sharedPrefix:c,toString(){return`enum ${this.typeName}`}};d.open=EFe(d),n.add(d);for(let f of t.value){let m=f.name;d.values.push(d.value[f.number]={kind:"enum_value",proto:f,deprecated:(a=(o=f.options)===null||o===void 0?void 0:o.deprecated)!==null&&a!==void 0?a:!1,parent:d,name:m,localName:bd(c==null?m:m.substring(c.length)),number:f.number,toString(){return`enum value ${d.typeName}.${m}`}})}((l=r?.nestedEnums)!==null&&l!==void 0?l:e.enums).push(d)}function YJ(t,e,r,n,i){var s,o,a,l;let c={kind:"message",proto:t,deprecated:(o=(s=t.options)===null||s===void 0?void 0:s.deprecated)!==null&&o!==void 0?o:!1,file:e,parent:r,name:t.name,typeName:Ib(t,r,e),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((a=t.options)===null||a===void 0?void 0:a.mapEntry)===!0?i.add(c):(((l=r?.nestedMessages)!==null&&l!==void 0?l:e.messages).push(c),n.add(c));for(let d of t.enumType)$J(d,e,c,n);for(let d of t.nestedType)YJ(d,e,c,n,i)}function aFe(t,e,r){var n,i;let s={kind:"service",proto:t,deprecated:(i=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&i!==void 0?i:!1,file:e,name:t.name,typeName:Ib(t,void 0,e),methods:[],method:{},toString(){return`service ${this.typeName}`}};e.services.push(s),r.add(s);for(let o of t.method){let a=lFe(o,s,r);s.methods.push(a),s.method[a.localName]=a}}function lFe(t,e,r){var n,i,s,o;let a;t.clientStreaming&&t.serverStreaming?a="bidi_streaming":t.clientStreaming?a="client_streaming":t.serverStreaming?a="server_streaming":a="unary";let l=r.getMessage(Co(t.inputType)),c=r.getMessage(Co(t.outputType));Qi(l,`invalid MethodDescriptorProto: input_type ${t.inputType} not found`),Qi(c,`invalid MethodDescriptorProto: output_type ${t.inputType} not found`);let d=t.name;return{kind:"rpc",proto:t,deprecated:(i=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&i!==void 0?i:!1,parent:e,name:d,localName:bd(d.length?bd(d[0].toLowerCase()+d.substring(1)):d),methodKind:a,input:l,output:c,idempotency:(o=(s=t.options)===null||s===void 0?void 0:s.idempotencyLevel)!==null&&o!==void 0?o:rFe,toString(){return`rpc ${e.typeName}.${d}`}}}function cFe(t,e){return{kind:"oneof",proto:t,deprecated:!1,parent:e,fields:[],name:t.name,localName:bd(La(t.name)),toString(){return`oneof ${e.typeName}.${this.name}`}}}function Rw(t,e,r,n,i){var s,o,a;let l=i===void 0,c={kind:"field",proto:t,deprecated:(o=(s=t.options)===null||s===void 0?void 0:s.deprecated)!==null&&o!==void 0?o:!1,name:t.name,number:t.number,scalar:void 0,message:void 0,enum:void 0,presence:hFe(t,n,l,e),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(l){let p=e.kind=="file"?e:e.file,h=e.kind=="file"?void 0:e,_=Ib(t,h,p);c.kind="extension",c.file=p,c.parent=h,c.oneof=void 0,c.typeName=_,c.jsonName=`[${_}]`,c.toString=()=>`extension ${_}`;let b=r.getMessage(Co(t.extendee));Qi(b,`invalid FieldDescriptorProto: extendee ${t.extendee} not found`),c.extendee=b}else{let p=e;Qi(p.kind=="message"),c.parent=p,c.oneof=n,c.localName=n?La(t.name):bd(La(t.name)),c.jsonName=t.jsonName,c.toString=()=>`field ${p.typeName}.${t.name}`}let d=t.label,f=t.type,m=(a=t.options)===null||a===void 0?void 0:a.jstype;if(d===Aw){let p=f==ah?i?.get(Co(t.typeName)):void 0;if(p){c.fieldKind="map";let{key:h,value:_}=gFe(p);return c.mapKey=h.scalar,c.mapKind=_.fieldKind,c.message=_.message,c.delimitedEncoding=!1,c.enum=_.enum,c.scalar=_.scalar,c}switch(c.fieldKind="list",f){case ah:case lh:c.listKind="message",c.message=r.getMessage(Co(t.typeName)),Qi(c.message),c.delimitedEncoding=HJ(t,e);break;case kJ:c.listKind="enum",c.enum=r.getEnum(Co(t.typeName)),Qi(c.enum);break;default:c.listKind="scalar",c.scalar=f,c.longAsString=m==BJ;break}return c.packed=_Fe(t,e),c}switch(f){case ah:case lh:c.fieldKind="message",c.message=r.getMessage(Co(t.typeName)),Qi(c.message,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),c.delimitedEncoding=HJ(t,e),c.getDefaultValue=()=>{};break;case kJ:{let p=r.getEnum(Co(t.typeName));Qi(p!==void 0,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),c.fieldKind="enum",c.enum=r.getEnum(Co(t.typeName)),c.getDefaultValue=()=>sc(t,"defaultValue")?MJ(p,t.defaultValue):void 0;break}default:{c.fieldKind="scalar",c.scalar=f,c.longAsString=m==BJ,c.getDefaultValue=()=>sc(t,"defaultValue")?FJ(f,t.defaultValue):void 0;break}}return c}function uFe(t){switch(t.syntax){case"":case"proto2":return X9e;case"proto3":return Z9e;case"editions":if(t.edition in qJ)return t.edition;throw new Error(`${t.name}: unsupported edition`);default:throw new Error(`${t.name}: unsupported syntax "${t.syntax}"`)}}function dFe(t,e){return t.dependency.map(r=>{let n=e.getFile(r);if(!n)throw new Error(`Cannot find ${r}, imported by ${t.name}`);return n})}function fFe(t,e){let r=pFe(t)+"_";for(let n of e){if(!n.name.toLowerCase().startsWith(r))return;let i=n.name.substring(r.length);if(i.length==0||/^\d/.test(i))return}return r}function pFe(t){return(t.substring(0,1)+t.substring(1).replace(/[A-Z]/g,e=>"_"+e)).toLowerCase()}function Ib(t,e,r){let n;return e?n=`${e.typeName}.${t.name}`:r.proto.package.length>0?n=`${r.proto.package}.${t.name}`:n=`${t.name}`,n}function Co(t){return t.startsWith(".")?t.substring(1):t}function mFe(t,e){if(!sc(t,"oneofIndex")||t.proto3Optional)return;let r=e[t.oneofIndex];return Qi(r,`invalid FieldDescriptorProto: oneof #${t.oneofIndex} for field #${t.number} not found`),r}function hFe(t,e,r,n){if(t.label==tFe)return nFe;if(t.label==Aw)return UJ;if(e||t.proto3Optional||r)return yw;let i=Td("fieldPresence",{proto:t,parent:n});return i==UJ&&(t.type==ah||t.type==lh)?yw:i}function _Fe(t,e){if(t.label!=Aw)return!1;switch(t.type){case J9e:case eFe:case lh:case ah:return!1}let r=t.options;return r&&sc(r,"packed")?r.packed:iFe==Td("repeatedFieldEncoding",{proto:t,parent:e})}function gFe(t){let e=t.fields.find(n=>n.number===1),r=t.fields.find(n=>n.number===2);return Qi(e&&e.fieldKind=="scalar"&&e.scalar!=W.BYTES&&e.scalar!=W.FLOAT&&e.scalar!=W.DOUBLE&&r&&r.fieldKind!="list"&&r.fieldKind!="map"),{key:e,value:r}}function EFe(t){var e;return oFe==Td("enumType",{proto:t.proto,parent:(e=t.parent)!==null&&e!==void 0?e:t.file})}function HJ(t,e){return t.type==lh?!0:sFe==Td("messageEncoding",{proto:t,parent:e})}function Td(t,e){var r,n;let i=(r=e.proto.options)===null||r===void 0?void 0:r.features;if(i){let s=i[t];if(s!=0)return s}if("kind"in e){if(e.kind=="message")return Td(t,(n=e.parent)!==null&&n!==void 0?n:e.file);let s=qJ[e.edition];if(!s)throw new Error(`feature default for edition ${e.edition} not found`);return s[t]}return Td(t,e.parent)}function Qi(t,e){if(!t)throw new Error(e)}function VJ(t){let e=SFe(t);return e.messageType.forEach(oh),vb(e,()=>{}).getFile(e.name)}function SFe(t){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},t),{messageType:t.messageType.map(WJ),enumType:t.enumType.map(zJ)}))}function WJ(t){var e,r,n,i,s,o,a,l;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:t.name,field:(r=(e=t.field)===null||e===void 0?void 0:e.map(bFe))!==null&&r!==void 0?r:[],extension:[],nestedType:(i=(n=t.nestedType)===null||n===void 0?void 0:n.map(WJ))!==null&&i!==void 0?i:[],enumType:(o=(s=t.enumType)===null||s===void 0?void 0:s.map(zJ))!==null&&o!==void 0?o:[],extensionRange:(l=(a=t.extensionRange)===null||a===void 0?void 0:a.map(d=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},d)))!==null&&l!==void 0?l:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function bFe(t){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},t),{options:t.options?TFe(t.options):void 0}))}function TFe(t){var e,r,n;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},t),{targets:(e=t.targets)!==null&&e!==void 0?e:[],editionDefaults:(n=(r=t.editionDefaults)===null||r===void 0?void 0:r.map(s=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},s)))!==null&&n!==void 0?n:[],uninterpretedOption:[]}))}function zJ(t){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:t.name,reservedName:[],reservedRange:[],value:t.value.map(r=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},r))})}u();function ws(t,e,...r){return r.reduce((n,i)=>n.nestedMessages[i],t.messages[e])}var yFe=VJ({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false"},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false"},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]});var pee=ws(yFe,1);var KJ;(function(t){t[t.DECLARATION=0]="DECLARATION",t[t.UNVERIFIED=1]="UNVERIFIED"})(KJ||(KJ={}));var jJ;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.GROUP=10]="GROUP",t[t.MESSAGE=11]="MESSAGE",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.ENUM=14]="ENUM",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(jJ||(jJ={}));var QJ;(function(t){t[t.OPTIONAL=1]="OPTIONAL",t[t.REPEATED=3]="REPEATED",t[t.REQUIRED=2]="REQUIRED"})(QJ||(QJ={}));var XJ;(function(t){t[t.SPEED=1]="SPEED",t[t.CODE_SIZE=2]="CODE_SIZE",t[t.LITE_RUNTIME=3]="LITE_RUNTIME"})(XJ||(XJ={}));var ZJ;(function(t){t[t.STRING=0]="STRING",t[t.CORD=1]="CORD",t[t.STRING_PIECE=2]="STRING_PIECE"})(ZJ||(ZJ={}));var JJ;(function(t){t[t.JS_NORMAL=0]="JS_NORMAL",t[t.JS_STRING=1]="JS_STRING",t[t.JS_NUMBER=2]="JS_NUMBER"})(JJ||(JJ={}));var eee;(function(t){t[t.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",t[t.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",t[t.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(eee||(eee={}));var tee;(function(t){t[t.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",t[t.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",t[t.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",t[t.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",t[t.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",t[t.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",t[t.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",t[t.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",t[t.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",t[t.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(tee||(tee={}));var wb;(function(t){t[t.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",t[t.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",t[t.IDEMPOTENT=2]="IDEMPOTENT"})(wb||(wb={}));var ree;(function(t){t[t.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",t[t.EXPORT_ALL=1]="EXPORT_ALL",t[t.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",t[t.LOCAL_ALL=3]="LOCAL_ALL",t[t.STRICT=4]="STRICT"})(ree||(ree={}));var nee;(function(t){t[t.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",t[t.EXPLICIT=1]="EXPLICIT",t[t.IMPLICIT=2]="IMPLICIT",t[t.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(nee||(nee={}));var iee;(function(t){t[t.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",t[t.OPEN=1]="OPEN",t[t.CLOSED=2]="CLOSED"})(iee||(iee={}));var see;(function(t){t[t.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",t[t.PACKED=1]="PACKED",t[t.EXPANDED=2]="EXPANDED"})(see||(see={}));var oee;(function(t){t[t.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",t[t.VERIFY=2]="VERIFY",t[t.NONE=3]="NONE"})(oee||(oee={}));var aee;(function(t){t[t.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",t[t.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",t[t.DELIMITED=2]="DELIMITED"})(aee||(aee={}));var lee;(function(t){t[t.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",t[t.ALLOW=1]="ALLOW",t[t.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(lee||(lee={}));var cee;(function(t){t[t.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",t[t.STYLE2024=1]="STYLE2024",t[t.STYLE_LEGACY=2]="STYLE_LEGACY"})(cee||(cee={}));var uee;(function(t){t[t.NONE=0]="NONE",t[t.SET=1]="SET",t[t.ALIAS=2]="ALIAS"})(uee||(uee={}));var dee;(function(t){t[t.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",t[t.EDITION_LEGACY=900]="EDITION_LEGACY",t[t.EDITION_PROTO2=998]="EDITION_PROTO2",t[t.EDITION_PROTO3=999]="EDITION_PROTO3",t[t.EDITION_2023=1e3]="EDITION_2023",t[t.EDITION_2024=1001]="EDITION_2024",t[t.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",t[t.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",t[t.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",t[t.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",t[t.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",t[t.EDITION_MAX=2147483647]="EDITION_MAX"})(dee||(dee={}));var fee;(function(t){t[t.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",t[t.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",t[t.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(fee||(fee={}));u();var mee={readUnknownFields:!0};function CFe(t){return t?Object.assign(Object.assign({},mee),t):mee}function Do(t,e,r){let n=qr(t,void 0,!1);return hee(n,new oc(e),CFe(r),!1,e.byteLength),n.message}function hee(t,e,r,n,i){var s;let o=n?e.len:e.pos+i,a,l,c=(s=t.getUnknown())!==null&&s!==void 0?s:[];for(;e.pos<o&&([a,l]=e.tag(),!(n&&l==Qt.EndGroup));){let d=t.findNumber(a);if(!d){let f=e.skip(l,a);r.readUnknownFields&&c.push({no:a,wireType:l,data:f});continue}Ow(t,e,d,l,r)}if(n&&(l!=Qt.EndGroup||a!==i))throw new Error("invalid end group tag");c.length>0&&t.setUnknown(c)}function Ow(t,e,r,n,i){var s;switch(r.fieldKind){case"scalar":t.set(r,yd(e,r.scalar));break;case"enum":let o=yd(e,W.INT32);if(r.enum.open)t.set(r,o);else if(r.enum.values.some(l=>l.number===o))t.set(r,o);else if(i.readUnknownFields){let l=new xa().int32(o).finish(),c=(s=t.getUnknown())!==null&&s!==void 0?s:[];c.push({no:r.number,wireType:n,data:l}),t.setUnknown(c)}break;case"message":t.set(r,Nw(e,i,r,t.get(r)));break;case"list":RFe(e,n,t.get(r),i);break;case"map":DFe(e,t.get(r),i);break}}function DFe(t,e,r){let n=e.field(),i,s,o=t.pos+t.uint32();for(;t.pos<o;){let[a]=t.tag();switch(a){case 1:i=yd(t,n.mapKey);break;case 2:switch(n.mapKind){case"scalar":s=yd(t,n.scalar);break;case"enum":s=t.int32();break;case"message":s=Nw(t,r,n);break}break}}if(i===void 0&&(i=Hn(n.mapKey,!1)),s===void 0)switch(n.mapKind){case"scalar":s=Hn(n.scalar,!1);break;case"enum":s=n.enum.values[0].number;break;case"message":s=qr(n.message,void 0,!1);break}e.set(i,s)}function RFe(t,e,r,n){var i;let s=r.field();if(s.listKind==="message"){r.add(Nw(t,n,s));return}let o=(i=s.scalar)!==null&&i!==void 0?i:W.INT32;if(!(e==Qt.LengthDelimited&&o!=W.STRING&&o!=W.BYTES)){r.add(yd(t,o));return}let l=t.uint32()+t.pos;for(;t.pos<l;)r.add(yd(t,o))}function Nw(t,e,r,n){let i=r.delimitedEncoding,s=n??qr(r.message,void 0,!1);return hee(s,t,e,i,i?r.number:t.uint32()),s}function yd(t,e){switch(e){case W.STRING:return t.string();case W.BOOL:return t.bool();case W.DOUBLE:return t.double();case W.FLOAT:return t.float();case W.INT32:return t.int32();case W.INT64:return t.int64();case W.UINT64:return t.uint64();case W.FIXED64:return t.fixed64();case W.BYTES:return t.bytes();case W.FIXED32:return t.fixed32();case W.SFIXED32:return t.sfixed32();case W.SFIXED64:return t.sfixed64();case W.SINT64:return t.sint64();case W.UINT32:return t.uint32();case W.SINT32:return t.sint32()}}function xs(t,e){var r;let n=Do(pee,Sd(t));return n.messageType.forEach(oh),n.dependency=(r=e?.map(s=>s.proto.name))!==null&&r!==void 0?r:[],vb(n,s=>e?.find(o=>o.proto.name===s)).getFile(n.name)}var _ee=xs("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");u();u();var AFe=xs("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),gee=ws(AFe,0);u();var OFe=3,Eee={writeUnknownFields:!0};function NFe(t){return t?Object.assign(Object.assign({},Eee),t):Eee}function ch(t,e,r){return xb(new xa,NFe(r),qr(t,e)).finish()}function xb(t,e,r){var n;for(let i of r.sortedFields){if(!r.isSet(i)){if(i.presence==OFe)throw new Error(`cannot encode ${i} to binary: required field not set`);continue}vw(t,e,r,i)}if(e.writeUnknownFields)for(let{no:i,wireType:s,data:o}of(n=r.getUnknown())!==null&&n!==void 0?n:[])t.tag(i,s).raw(o);return t}function vw(t,e,r,n){var i;switch(n.fieldKind){case"scalar":case"enum":Lb(t,r.desc.typeName,n.name,(i=n.scalar)!==null&&i!==void 0?i:W.INT32,n.number,r.get(n));break;case"list":vFe(t,e,n,r.get(n));break;case"message":See(t,e,n,r.get(n));break;case"map":for(let[s,o]of r.get(n))IFe(t,e,n,s,o);break}}function Lb(t,e,r,n,i,s){bee(t.tag(i,wFe(n)),e,r,n,s)}function See(t,e,r,n){r.delimitedEncoding?xb(t.tag(r.number,Qt.StartGroup),e,n).tag(r.number,Qt.EndGroup):xb(t.tag(r.number,Qt.LengthDelimited).fork(),e,n).join()}function vFe(t,e,r,n){var i;if(r.listKind=="message"){for(let o of n)See(t,e,r,o);return}let s=(i=r.scalar)!==null&&i!==void 0?i:W.INT32;if(r.packed){if(!n.size)return;t.tag(r.number,Qt.LengthDelimited).fork();for(let o of n)bee(t,r.parent.typeName,r.name,s,o);t.join();return}for(let o of n)Lb(t,r.parent.typeName,r.name,s,r.number,o)}function IFe(t,e,r,n,i){var s;switch(t.tag(r.number,Qt.LengthDelimited).fork(),Lb(t,r.parent.typeName,r.name,r.mapKey,1,n),r.mapKind){case"scalar":case"enum":Lb(t,r.parent.typeName,r.name,(s=r.scalar)!==null&&s!==void 0?s:W.INT32,2,i);break;case"message":xb(t.tag(2,Qt.LengthDelimited).fork(),e,i).join();break}t.join()}function bee(t,e,r,n,i){try{switch(n){case W.STRING:t.string(i);break;case W.BOOL:t.bool(i);break;case W.DOUBLE:t.double(i);break;case W.FLOAT:t.float(i);break;case W.INT32:t.int32(i);break;case W.INT64:t.int64(i);break;case W.UINT64:t.uint64(i);break;case W.FIXED64:t.fixed64(i);break;case W.BYTES:t.bytes(i);break;case W.FIXED32:t.fixed32(i);break;case W.SFIXED32:t.sfixed32(i);break;case W.SFIXED64:t.sfixed64(i);break;case W.SINT64:t.sint64(i);break;case W.UINT32:t.uint32(i);break;case W.SINT32:t.sint32(i);break}}catch(s){throw s instanceof Error?new Error(`cannot encode field ${e}.${r} to binary: ${s.message}`):s}}function wFe(t){switch(t){case W.BYTES:case W.STRING:return Qt.LengthDelimited;case W.DOUBLE:case W.FIXED64:case W.SFIXED64:return Qt.Bit64;case W.FIXED32:case W.SFIXED32:case W.FLOAT:return Qt.Bit32;default:return Qt.Varint}}function Tee(t,e,r){let n=!1;return r||(r=Hr(gee),n=!0),r.value=ch(t,e),r.typeUrl=PFe(e.$typeName),n?r:void 0}function LFe(t,e){if(t.typeUrl==="")return!1;let r=typeof e=="string"?e:e.typeName,n=Cee(t.typeUrl);return r===n}function yee(t,e){if(t.typeUrl==="")return;let r=e.kind=="message"?e:e.getMessage(Cee(t.typeUrl));if(!(!r||!LFe(t,r)))return Do(r,t.value)}function PFe(t){return`type.googleapis.com/${t}`}function Cee(t){let e=t.lastIndexOf("/"),r=e>=0?t.substring(e+1):t;if(!r.length)throw new Error(`invalid type url: ${t}`);return r}u();var Iw=xs("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),Dee=ws(Iw,0),ww=ws(Iw,1),Ree=ws(Iw,2),Pb;(function(t){t[t.NULL_VALUE=0]="NULL_VALUE"})(Pb||(Pb={}));u();function Aee(t,e){Nee(e,t);let r=MFe(t.$unknown,e),[n,i,s]=Cd(e);for(let o of r)Ow(n,new oc(o.data),i,o.wireType,{readUnknownFields:!0});return s()}function Oee(t,e,r){var n;Nee(e,t);let i=((n=t.$unknown)!==null&&n!==void 0?n:[]).filter(c=>c.no!==e.number),[s,o]=Cd(e,r),a=new xa;vw(a,{writeUnknownFields:!0},s,o);let l=new oc(a.finish());for(;l.pos<l.len;){let[c,d]=l.tag(),f=l.skip(d,c);i.push({no:c,wireType:d,data:f})}t.$unknown=i}function MFe(t,e){if(t===void 0)return[];if(e.fieldKind==="enum"||e.fieldKind==="scalar"){for(let r=t.length-1;r>=0;--r)if(t[r].no==e.number)return[t[r]];return[]}return t.filter(r=>r.no===e.number)}function Cd(t,e){let r=t.typeName,n=Object.assign(Object.assign({},t),{kind:"field",parent:t.extendee,localName:r}),i=Object.assign(Object.assign({},t.extendee),{fields:[n],members:[n],oneofs:[]}),s=Hr(i,e!==void 0?{[r]:e}:void 0);return[qr(i,s),n,()=>{let o=s[r];if(o===void 0){let a=t.message;return Is(a)?Hn(a.fields[0].scalar,a.fields[0].longAsString):Hr(a)}return o}]}function Nee(t,e){if(t.extendee.typeName!=e.$typeName)throw new Error(`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}u();var FFe=3,kFe=2,vee={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function BFe(t){return t?Object.assign(Object.assign({},vee),t):vee}function UFe(t,e,r){return uh(qr(t,e),BFe(r))}function wee(t,e,r){var n;let i=UFe(t,e,r);return JSON.stringify(i,null,(n=r?.prettySpaces)!==null&&n!==void 0?n:0)}function uh(t,e){var r;let n=$Fe(t,e);if(n!==void 0)return n;let i={};for(let s of t.sortedFields){if(!t.isSet(s)){if(s.presence==FFe)throw new Error(`cannot encode ${s} to JSON: required field not set`);if(!e.alwaysEmitImplicit||s.presence!==kFe)continue}let o=Iee(s,t.get(s),e);o!==void 0&&(i[qFe(s,e)]=o)}if(e.registry){let s=new Set;for(let{no:o}of(r=t.getUnknown())!==null&&r!==void 0?r:[])if(!s.has(o)){s.add(o);let a=e.registry.getExtensionFor(t.desc,o);if(!a)continue;let l=Aee(t.message,a),[c,d]=Cd(a,l),f=Iee(d,c.get(d),e);f!==void 0&&(i[a.jsonName]=f)}}return i}function Iee(t,e,r){switch(t.fieldKind){case"scalar":return Mb(t,e);case"message":return uh(e,r);case"enum":return xw(t.enum,e,r.enumAsInteger);case"list":return HFe(e,r);case"map":return GFe(e,r)}}function GFe(t,e){let r=t.field(),n={};switch(r.mapKind){case"scalar":for(let[i,s]of t)n[i]=Mb(r,s);break;case"message":for(let[i,s]of t)n[i]=uh(s,e);break;case"enum":for(let[i,s]of t)n[i]=xw(r.enum,s,e.enumAsInteger);break}return e.alwaysEmitImplicit||t.size>0?n:void 0}function HFe(t,e){let r=t.field(),n=[];switch(r.listKind){case"scalar":for(let i of t)n.push(Mb(r,i));break;case"enum":for(let i of t)n.push(xw(r.enum,i,e.enumAsInteger));break;case"message":for(let i of t)n.push(uh(i,e));break}return e.alwaysEmitImplicit||n.length>0?n:void 0}function xw(t,e,r){var n;if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: expected number, got ${or(e)}`);if(t.typeName=="google.protobuf.NullValue")return null;if(r)return e;let i=t.value[e];return(n=i?.name)!==null&&n!==void 0?n:e}function Mb(t,e){var r,n,i,s,o,a;switch(t.scalar){case W.INT32:case W.SFIXED32:case W.SINT32:case W.FIXED32:case W.UINT32:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(r=yo(t,e))===null||r===void 0?void 0:r.message}`);return e;case W.FLOAT:case W.DOUBLE:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(n=yo(t,e))===null||n===void 0?void 0:n.message}`);return Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case W.STRING:if(typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(i=yo(t,e))===null||i===void 0?void 0:i.message}`);return e;case W.BOOL:if(typeof e!="boolean")throw new Error(`cannot encode ${t} to JSON: ${(s=yo(t,e))===null||s===void 0?void 0:s.message}`);return e;case W.UINT64:case W.FIXED64:case W.INT64:case W.SFIXED64:case W.SINT64:if(typeof e!="bigint"&&typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(o=yo(t,e))===null||o===void 0?void 0:o.message}`);return e.toString();case W.BYTES:if(e instanceof Uint8Array)return sh(e);throw new Error(`cannot encode ${t} to JSON: ${(a=yo(t,e))===null||a===void 0?void 0:a.message}`)}}function qFe(t,e){return e.useProtoFieldName?t.name:t.jsonName}function $Fe(t,e){if(t.desc.typeName.startsWith("google.protobuf."))switch(t.desc.typeName){case"google.protobuf.Any":return YFe(t.message,e);case"google.protobuf.Timestamp":return zFe(t.message);case"google.protobuf.Duration":return VFe(t.message);case"google.protobuf.FieldMask":return WFe(t.message);case"google.protobuf.Struct":return xee(t.message);case"google.protobuf.Value":return Lw(t.message);case"google.protobuf.ListValue":return Lee(t.message);default:if(Is(t.desc)){let r=t.desc.fields[0];return Mb(r,t.get(r))}return}}function YFe(t,e){if(t.typeUrl==="")return{};let{registry:r}=e,n,i;if(r&&(n=yee(t,r),n&&(i=r.getMessage(n.$typeName))),!i||!n)throw new Error(`cannot encode message ${t.$typeName} to JSON: "${t.typeUrl}" is not in the type registry`);let s=uh(qr(i,n),e);return(i.typeName.startsWith("google.protobuf.")||s===null||Array.isArray(s)||typeof s!="object")&&(s={value:s}),s["@type"]=t.typeUrl,s}function VFe(t){if(Number(t.seconds)>315576e6||Number(t.seconds)<-315576e6)throw new Error(`cannot encode message ${t.$typeName} to JSON: value out of range`);let e=t.seconds.toString();if(t.nanos!==0){let r=Math.abs(t.nanos).toString();r="0".repeat(9-r.length)+r,r.substring(3)==="000000"?r=r.substring(0,3):r.substring(6)==="000"&&(r=r.substring(0,6)),e+="."+r,t.nanos<0&&Number(t.seconds)==0&&(e="-"+e)}return e+"s"}function WFe(t){return t.paths.map(e=>{if(e.match(/_[0-9]?_/g)||e.match(/[A-Z]/g))throw new Error(`cannot encode message ${t.$typeName} to JSON: lowerCamelCase of path name "`+e+'" is irreversible');return La(e)}).join(",")}function xee(t){let e={};for(let[r,n]of Object.entries(t.fields))e[r]=Lw(n);return e}function Lw(t){switch(t.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(t.kind.value))throw new Error(`${t.$typeName} cannot be NaN or Infinity`);return t.kind.value;case"boolValue":return t.kind.value;case"stringValue":return t.kind.value;case"structValue":return xee(t.kind.value);case"listValue":return Lee(t.kind.value);default:throw new Error(`${t.$typeName} must have a value`)}}function Lee(t){return t.values.map(Lw)}function zFe(t){let e=Number(t.seconds)*1e3;if(e<Date.parse("0001-01-01T00:00:00Z")||e>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${t.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(t.nanos<0)throw new Error(`cannot encode message ${t.$typeName} to JSON: nanos must not be negative`);let r="Z";if(t.nanos>0){let n=(t.nanos+1e9).toString().substring(1);n.substring(3)==="000000"?r="."+n.substring(0,3)+"Z":n.substring(6)==="000"?r="."+n.substring(0,6)+"Z":r="."+n+"Z"}return new Date(e).toISOString().replace(".000Z",r)}u();var Pee={ignoreUnknownFields:!1};function KFe(t){return t?Object.assign(Object.assign({},Pee),t):Pee}function Fee(t,e,r){return Pw(t,t5e(e,t.typeName),r)}function Pw(t,e,r){let n=qr(t);try{Dd(n,e,KFe(r))}catch(i){throw bJ(i)?new Error(`cannot decode ${i.field()} from JSON: ${i.message}`,{cause:i}):i}return n.message}function Dd(t,e,r){var n;if(r5e(t,e,r))return;if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode ${t.desc} from JSON: ${or(e)}`);let i=new Map,s=new Map;for(let o of t.desc.fields)s.set(o.name,o).set(o.jsonName,o);for(let[o,a]of Object.entries(e)){let l=s.get(o);if(l){if(l.oneof){if(a===null&&l.fieldKind=="scalar")continue;let c=i.get(l.oneof);if(c!==void 0)throw new gr(l.oneof,`oneof set multiple times by ${c.name} and ${l.name}`);i.set(l.oneof,l)}Mee(t,l,a,r)}else{let c;if(o.startsWith("[")&&o.endsWith("]")&&(c=(n=r.registry)===null||n===void 0?void 0:n.getExtension(o.substring(1,o.length-1)))&&c.extendee.typeName===t.desc.typeName){let[d,f,m]=Cd(c);Mee(d,f,a,r),Oee(t.message,c,m())}if(!c&&!r.ignoreUnknownFields)throw new Error(`cannot decode ${t.desc} from JSON: key "${o}" is unknown`)}}}function Mee(t,e,r,n){switch(e.fieldKind){case"scalar":JFe(t,e,r);break;case"enum":ZFe(t,e,r,n);break;case"message":XFe(t,e,r,n);break;case"list":QFe(t.get(e),r,n);break;case"map":jFe(t.get(e),r,n);break}}function jFe(t,e,r){if(e===null)return;let n=t.field();if(typeof e!="object"||Array.isArray(e))throw new gr(n,"expected object, got "+or(e));for(let[i,s]of Object.entries(e)){if(s===null)throw new gr(n,"map value must not be null");let o;switch(n.mapKind){case"message":let l=qr(n.message);Dd(l,s,r),o=l;break;case"enum":if(o=Mw(n.enum,s,r.ignoreUnknownFields,!0),o===Fb)return;break;case"scalar":o=Bb(n,s,!0);break}let a=e5e(n.mapKey,i);t.set(a,o)}}function QFe(t,e,r){if(e===null)return;let n=t.field();if(!Array.isArray(e))throw new gr(n,"expected Array, got "+or(e));for(let i of e){if(i===null)throw new gr(n,"list item must not be null");switch(n.listKind){case"message":let s=qr(n.message);Dd(s,i,r),t.add(s);break;case"enum":let o=Mw(n.enum,i,r.ignoreUnknownFields,!0);o!==Fb&&t.add(o);break;case"scalar":t.add(Bb(n,i,!0));break}}}function XFe(t,e,r,n){if(r===null&&e.message.typeName!="google.protobuf.Value"){t.clear(e);return}let i=t.isSet(e)?t.get(e):qr(e.message);Dd(i,r,n),t.set(e,i)}function ZFe(t,e,r,n){let i=Mw(e.enum,r,n.ignoreUnknownFields,!1);i===kb?t.clear(e):i!==Fb&&t.set(e,i)}function JFe(t,e,r){let n=Bb(e,r,!1);n===kb?t.clear(e):t.set(e,n)}var Fb=Symbol();function Mw(t,e,r,n){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:n?t.values[0].number:kb;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":let i=t.values.find(s=>s.name===e);if(i!==void 0)return i.number;if(r)return Fb;break}throw new Error(`cannot decode ${t} from JSON: ${or(e)}`)}var kb=Symbol();function Bb(t,e,r){if(e===null)return r?Hn(t.scalar,!1):kb;switch(t.scalar){case W.DOUBLE:case W.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof e=="number"){if(Number.isNaN(e))throw new gr(t,"unexpected NaN number");if(!Number.isFinite(e))throw new gr(t,"unexpected infinite number");break}if(typeof e=="string"){if(e===""||e.trim().length!==e.length)break;let n=Number(e);if(!Number.isFinite(n))break;return n}break;case W.INT32:case W.FIXED32:case W.SFIXED32:case W.SINT32:case W.UINT32:return kee(e);case W.BYTES:if(typeof e=="string"){if(e==="")return new Uint8Array(0);try{return Sd(e)}catch(n){let i=n instanceof Error?n.message:String(n);throw new gr(t,i)}}break}return e}function e5e(t,e){switch(t){case W.BOOL:switch(e){case"true":return!0;case"false":return!1}return e;case W.INT32:case W.FIXED32:case W.UINT32:case W.SFIXED32:case W.SINT32:return kee(e);default:return e}}function kee(t){if(typeof t=="string"){if(t===""||t.trim().length!==t.length)return t;let e=Number(t);return Number.isNaN(e)?t:e}return t}function t5e(t,e){try{return JSON.parse(t)}catch(r){let n=r instanceof Error?r.message:String(r);throw new Error(`cannot decode message ${e} from JSON: ${n}`,{cause:r})}}function r5e(t,e,r){if(!t.desc.typeName.startsWith("google.protobuf."))return!1;switch(t.desc.typeName){case"google.protobuf.Any":return n5e(t.message,e,r),!0;case"google.protobuf.Timestamp":return i5e(t.message,e),!0;case"google.protobuf.Duration":return s5e(t.message,e),!0;case"google.protobuf.FieldMask":return o5e(t.message,e),!0;case"google.protobuf.Struct":return Bee(t.message,e),!0;case"google.protobuf.Value":return Fw(t.message,e),!0;case"google.protobuf.ListValue":return Uee(t.message,e),!0;default:if(Is(t.desc)){let n=t.desc.fields[0];return e===null?t.clear(n):t.set(n,Bb(n,e,!0)),!0}return!1}}function n5e(t,e,r){var n;if(e===null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${t.$typeName} from JSON: expected object but got ${or(e)}`);if(Object.keys(e).length==0)return;let i=e["@type"];if(typeof i!="string"||i=="")throw new Error(`cannot decode message ${t.$typeName} from JSON: "@type" is empty`);let s=i.includes("/")?i.substring(i.lastIndexOf("/")+1):i;if(!s.length)throw new Error(`cannot decode message ${t.$typeName} from JSON: "@type" is invalid`);let o=(n=r.registry)===null||n===void 0?void 0:n.getMessage(s);if(!o)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${i} is not in the type registry`);let a=qr(o);if(s.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(e,"value")){let l=e.value;Dd(a,l,r)}else{let l=Object.assign({},e);delete l["@type"],Dd(a,l,r)}Tee(a.desc,a.message,t)}function i5e(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${or(e)}`);let r=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.([0-9]{1,9}))?(?:Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);let n=Date.parse(r[1]+"-"+r[2]+"-"+r[3]+"T"+r[4]+":"+r[5]+":"+r[6]+(r[8]?r[8]:"Z"));if(Number.isNaN(n))throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);if(n<Date.parse("0001-01-01T00:00:00Z")||n>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${t.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);t.seconds=mt.parse(n/1e3),t.nanos=0,r[7]&&(t.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9)}function s5e(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${or(e)}`);let r=e.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(r===null)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${or(e)}`);let n=Number(r[1]);if(n>315576e6||n<-315576e6)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${or(e)}`);if(t.seconds=mt.parse(n),typeof r[2]!="string")return;let i=r[2]+"0".repeat(9-r[2].length);t.nanos=parseInt(i),(n<0||Object.is(n,-0))&&(t.nanos=-t.nanos)}function o5e(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${or(e)}`);if(e==="")return;function r(n){if(n.includes("_"))throw new Error(`cannot decode message ${t.$typeName} from JSON: path names must be lowerCamelCase`);let i=n.replace(/[A-Z]/g,s=>"_"+s.toLowerCase());return i[0]==="_"?i.substring(1):i}t.paths=e.split(",").map(r)}function Bee(t,e){if(typeof e!="object"||e==null||Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${or(e)}`);for(let[r,n]of Object.entries(e)){let i=Hr(ww);Fw(i,n),t.fields[r]=i}}function Fw(t,e){switch(typeof e){case"number":t.kind={case:"numberValue",value:e};break;case"string":t.kind={case:"stringValue",value:e};break;case"boolean":t.kind={case:"boolValue",value:e};break;case"object":if(e===null)t.kind={case:"nullValue",value:Pb.NULL_VALUE};else if(Array.isArray(e)){let r=Hr(Ree);Uee(r,e),t.kind={case:"listValue",value:r}}else{let r=Hr(Dee);Bee(r,e),t.kind={case:"structValue",value:r}}break;default:throw new Error(`cannot decode message ${t.$typeName} from JSON ${or(e)}`)}return t}function Uee(t,e){if(!Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${or(e)}`);for(let r of e){let n=Hr(ww);Fw(n,r),t.values.push(n)}}u();function dh(t){let e=Fe[t];return typeof e!="string"?t.toString():e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,r=>"_"+r.toLowerCase())}var Ub;function Gee(t){if(!Ub){Ub={};for(let e of Object.values(Fe))typeof e!="string"&&(Ub[dh(e)]=e)}return Ub[t]}var et=class t extends Error{constructor(e,r=Fe.Unknown,n,i,s){super(a5e(e,r)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=r,this.metadata=new Headers(n??{}),this.details=i??[],this.cause=s}static from(e,r=Fe.Unknown){return e instanceof t?e:e instanceof Error?e.name=="AbortError"?new t(e.message,Fe.Canceled):new t(e.message,r,void 0,void 0,e):new t(String(e),r,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===t.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){let r=e.kind==="message"?{getMessage:i=>i===e.typeName?e:void 0}:e,n=[];for(let i of this.details){if("desc"in i){r.getMessage(i.desc.typeName)&&n.push(Hr(i.desc,i.value));continue}let s=r.getMessage(i.type);if(s)try{n.push(Do(s,i.value))}catch{}}return n}};function a5e(t,e){return t.length?`[${dh(e)}] ${t}`:`[${dh(e)}]`}u();function kw(...t){let e=new Headers;for(let r of t)r.forEach((n,i)=>{e.append(i,n)});return e}u();function Hee(t,e){let r={};for(let n of t.methods){let i=e(n);i!=null&&(r[n.localName]=i)}return r}u();u();u();var Gb=1;function Bw(t){let e,r=new Uint8Array(0);function n(i){let s=new Uint8Array(r.length+i.length);s.set(r),s.set(i,r.length),r=s}return new ReadableStream({start(){e=t.getReader()},async pull(i){let s;for(;;){if(s===void 0&&r.byteLength>=5){let l=0;for(let c=1;c<5;c++)l=(l<<8)+r[c];s={flags:r[0],length:l}}if(s!==void 0&&r.byteLength>=s.length+5)break;let a=await e.read();if(a.done)break;n(a.value)}if(s===void 0){if(r.byteLength==0){i.close();return}i.error(new et("premature end of stream",Fe.DataLoss));return}let o=r.subarray(5,5+s.length);r=r.subarray(5+s.length),i.enqueue({flags:s.flags,data:o})}})}function Uw(t,e){let r=new Uint8Array(e.length+5);r.set(e,5);let n=new DataView(r.buffer,r.byteOffset,r.byteLength);return n.setUint8(0,t),n.setUint32(1,e.length),r}var l5e=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(s){r[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}},fh=function(t){return this instanceof fh?(this.v=t,this):new fh(t)},c5e=function(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(p){return function(h){return Promise.resolve(h).then(p,f)}}function a(p,h){n[p]&&(i[p]=function(_){return new Promise(function(b,S){s.push([p,_,b,S])>1||l(p,_)})},h&&(i[p]=h(i[p])))}function l(p,h){try{c(n[p](h))}catch(_){m(s[0][3],_)}}function c(p){p.value instanceof fh?Promise.resolve(p.value.v).then(d,f):m(s[0][2],p)}function d(p){l("next",p)}function f(p){l("throw",p)}function m(p,h){p(h),s.shift(),s.length&&l(s[0][0],s[0][1])}},u5e=function(t){var e,r;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,s){e[i]=t[i]?function(o){return(r=!r)?{value:fh(t[i](o)),done:!1}:s?s(o):o}:s}};function qee(t){return c5e(this,arguments,function*(){yield fh(yield*u5e(l5e(t)))})}u();var $ee=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(s){r[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}},Rd=function(t){return this instanceof Rd?(this.v=t,this):new Rd(t)},d5e=function(t){var e,r;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,s){e[i]=t[i]?function(o){return(r=!r)?{value:Rd(t[i](o)),done:!1}:s?s(o):o}:s}},f5e=function(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(p){return function(h){return Promise.resolve(h).then(p,f)}}function a(p,h){n[p]&&(i[p]=function(_){return new Promise(function(b,S){s.push([p,_,b,S])>1||l(p,_)})},h&&(i[p]=h(i[p])))}function l(p,h){try{c(n[p](h))}catch(_){m(s[0][3],_)}}function c(p){p.value instanceof Rd?Promise.resolve(p.value.v).then(d,f):m(s[0][2],p)}function d(p){l("next",p)}function f(p){l("throw",p)}function m(p,h){p(h),s.shift(),s.length&&l(s[0][0],s[0][1])}};function ac(t,e){return Hee(t,r=>{switch(r.methodKind){case"unary":return p5e(e,r);case"server_streaming":return m5e(e,r);case"client_streaming":return h5e(e,r);case"bidi_streaming":return _5e(e,r);default:return null}})}function p5e(t,e){return async function(r,n){var i,s;let o=await t.unary(e,n?.signal,n?.timeoutMs,n?.headers,r,n?.contextValues);return(i=n?.onHeader)===null||i===void 0||i.call(n,o.header),(s=n?.onTrailer)===null||s===void 0||s.call(n,o.trailer),o.message}}function m5e(t,e){return function(r,n){return Yee(t.stream(e,n?.signal,n?.timeoutMs,n?.headers,qee([r]),n?.contextValues),n)}}function h5e(t,e){return async function(r,n){var i,s,o,a,l,c;let d=await t.stream(e,n?.signal,n?.timeoutMs,n?.headers,r,n?.contextValues);(l=n?.onHeader)===null||l===void 0||l.call(n,d.header);let f,m=0;try{for(var p=!0,h=$ee(d.message),_;_=await h.next(),i=_.done,!i;p=!0)a=_.value,p=!1,f=a,m++}catch(b){s={error:b}}finally{try{!p&&!i&&(o=h.return)&&await o.call(h)}finally{if(s)throw s.error}}if(!f)throw new et("protocol error: missing response message",Fe.Unimplemented);if(m>1)throw new et("protocol error: received extra messages for client streaming method",Fe.Unimplemented);return(c=n?.onTrailer)===null||c===void 0||c.call(n,d.trailer),f}}function _5e(t,e){return function(r,n){return Yee(t.stream(e,n?.signal,n?.timeoutMs,n?.headers,r,n?.contextValues),n)}}function Yee(t,e){let r=function(){return f5e(this,arguments,function*(){var n,i;let s=yield Rd(t);(n=e?.onHeader)===null||n===void 0||n.call(e,s.header),yield Rd(yield*d5e($ee(s.message))),(i=e?.onTrailer)===null||i===void 0||i.call(e,s.trailer)})}()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>r.next()})}}u();function Vee(...t){let e=new AbortController,r=t.filter(i=>i!==void 0).concat(e.signal);for(let i of r){if(i.aborted){n.apply(i);break}i.addEventListener("abort",n)}function n(){e.signal.aborted||e.abort(Gw(this));for(let i of r)i.removeEventListener("abort",n)}return e}function Wee(t){let e=new AbortController,r=()=>{e.abort(new et("the operation timed out",Fe.DeadlineExceeded))},n;return t!==void 0&&(t<=0?r():n=setTimeout(r,t)),{signal:e.signal,cleanup:()=>clearTimeout(n)}}function Gw(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;let e=new Error("This operation was aborted");return e.name="AbortError",e}u();function Hb(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}u();function qb(t,e){return t.toString().replace(/\/?$/,`/${e.parent.typeName}/${e.name}`)}u();function Hw(t,e){return Hr(t,e)}function zee(t,e){function r(n){return n.done===!0?n:{done:n.done,value:Hw(t,n.value)}}return{[Symbol.asyncIterator](){let n=e[Symbol.asyncIterator](),i={next:()=>n.next().then(r)};return n.throw!==void 0&&(i.throw=s=>n.throw(s).then(r)),n.return!==void 0&&(i.return=s=>n.return(s).then(r)),i}}}u();function qw(t,e){var r;return(r=e?.concat().reverse().reduce((n,i)=>i(n),t))!==null&&r!==void 0?r:t}u();function $b(t){var e;let r=Object.assign({},t);return(e=r.ignoreUnknownFields)!==null&&e!==void 0||(r.ignoreUnknownFields=!0),r}function Yb(t,e,r,n){let i=e?Kee(t.input,n):jee(t.input,r);return{parse:(e?Kee(t.output,n):jee(t.output,r)).parse,serialize:i.serialize}}function Kee(t,e){return{parse(r){try{return Do(t,r,e)}catch(n){let i=n instanceof Error?n.message:String(n);throw new et(`parse binary: ${i}`,Fe.Internal)}},serialize(r){try{return ch(t,r,e)}catch(n){let i=n instanceof Error?n.message:String(n);throw new et(`serialize binary: ${i}`,Fe.Internal)}}}}function jee(t,e){var r,n;let i=(r=e?.textEncoder)!==null&&r!==void 0?r:new TextEncoder,s=(n=e?.textDecoder)!==null&&n!==void 0?n:new TextDecoder,o=$b(e);return{parse(a){try{let l=s.decode(a);return Fee(t,l,o)}catch(l){throw et.from(l,Fe.InvalidArgument)}},serialize(a){try{let l=wee(t,a,o);return i.encode(l)}catch(l){throw et.from(l,Fe.Internal)}}}}u();var g5e=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;var Qee="application/proto",Xee="application/json",Zee="application/connect+proto",Jee="application/connect+json";function ete(t){let e=t?.match(g5e);if(!e)return;let r=!!e[1],n=!!e[3];return{stream:r,binary:n}}u();u();function ph(t,e,r){var n;if(e&&new Headers(e).forEach((a,l)=>r.metadata.append(l,a)),typeof t!="object"||t==null||Array.isArray(t))throw r;let i=r.code;"code"in t&&typeof t.code=="string"&&(i=(n=Gee(t.code))!==null&&n!==void 0?n:i);let s=t.message;if(s!=null&&typeof s!="string")throw r;let o=new et(s??"",i,e);if("details"in t&&Array.isArray(t.details))for(let a of t.details){if(a===null||typeof a!="object"||Array.isArray(a)||typeof a.type!="string"||typeof a.value!="string")throw r;try{o.details.push({type:a.type,value:Sd(a.value),debug:a.debug})}catch{throw r}}return o}var Vb=2;function $w(t){let e=new et("invalid end stream",Fe.Unknown),r;try{r=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof r!="object"||r==null||Array.isArray(r))throw e;let n=new Headers;if("metadata"in r){if(typeof r.metadata!="object"||r.metadata==null||Array.isArray(r.metadata))throw e;for(let[s,o]of Object.entries(r.metadata)){if(!Array.isArray(o)||o.some(a=>typeof a!="string"))throw e;for(let a of o)n.append(s,a)}}let i="error"in r&&r.error!=null?ph(r.error,n,e):void 0;return{metadata:n,error:i}}u();var lc="Content-Type",tte="Content-Length",mh="Content-Encoding";var Yw="Accept-Encoding";var rte="Connect-Timeout-Ms",Wb="Connect-Protocol-Version",Vw="User-Agent";u();function nte(t){switch(t){case 400:return Fe.Internal;case 401:return Fe.Unauthenticated;case 403:return Fe.PermissionDenied;case 404:return Fe.Unimplemented;case 429:return Fe.Unavailable;case 502:return Fe.Unavailable;case 503:return Fe.Unavailable;case 504:return Fe.Unavailable;default:return Fe.Unknown}}u();function zb(t){let e=new Headers,r=new Headers;return t.forEach((n,i)=>{i.toLowerCase().startsWith("trailer-")?r.append(i.substring(8),n):e.append(i,n)}),[e,r]}u();var Kb="1";u();function jb(t,e,r,n,i){let s=new Headers(n??{});return r!==void 0&&s.set(rte,`${r}`),s.set(lc,t=="unary"?e?Qee:Xee:e?Zee:Jee),s.set(Wb,Kb),!s.has(Vw)&&i&&s.set(Vw,"connect-es/2.0.0-rc.3"),s}u();function Qb(t,e,r,n){let i=n.get(lc),s=ete(i);if(r!==200){let a=new et(`HTTP ${r}`,nte(r),n);if(t=="unary"&&s&&!s.binary)return{isUnaryError:!0,unaryError:a};throw a}let o={binary:e,stream:t!=="unary"};if(s?.binary!==o.binary||s.stream!==o.stream)throw new et(`unsupported content type ${i}`,s===void 0?Fe.Unknown:Fe.Internal,n);return{isUnaryError:!1}}u();var ite="application/";function b5e(t,e){return e?sh(t,"url"):encodeURIComponent(new TextDecoder().decode(t))}function Ww(t,e,r){let n=`?connect=v${Kb}`,i=t.header.get(lc);i?.indexOf(ite)===0&&(n+="&encoding="+encodeURIComponent(i.slice(ite.length)));let s=t.header.get(mh);s!==null&&s!=="identity"&&(n+="&compression="+encodeURIComponent(s),r=!0),r&&(n+="&base64=1"),n+="&message="+b5e(e,r);let o=t.url+n,a=new Headers(t.header);return[Wb,lc,tte,mh,Yw].forEach(l=>a.delete(l)),Object.assign(Object.assign({},t),{requestMethod:"GET",url:o,header:a})}u();function zw(t){let e=qw(t.next,t.interceptors),[r,n,i]=ste(t),s=Object.assign(Object.assign({},t.req),{message:Hw(t.req.method.input,t.req.message),signal:r});return e(s).then(o=>(i(),o),n)}function Kw(t){let e=qw(t.next,t.interceptors),[r,n,i]=ste(t),s=Object.assign(Object.assign({},t.req),{message:zee(t.req.method.input,t.req.message),signal:r}),o=!1;return r.addEventListener("abort",function(){var a,l;let c=t.req.message[Symbol.asyncIterator]();o||(a=c.throw)===null||a===void 0||a.call(c,this.reason).catch(()=>{}),(l=c.return)===null||l===void 0||l.call(c).catch(()=>{})}),e(s).then(a=>Object.assign(Object.assign({},a),{message:{[Symbol.asyncIterator](){let l=a.message[Symbol.asyncIterator]();return{next(){return l.next().then(c=>(c.done==!0&&(o=!0,i()),c),n)}}}}}),n)}function ste(t){let{signal:e,cleanup:r}=Wee(t.timeoutMs),n=Vee(t.signal,e);return[n.signal,function(s){let o=et.from(e.aborted?Gw(e):s);return n.abort(o),r(),Promise.reject(o)},function(){r(),n.abort()}]}u();async function hh(t){if(!t.error)return;let e=typeof t.error=="string"?t.error:t.error?.message||await t.response.text();switch(t.response.status){case 400:return new wa(e);case 401:return new Ki(e);case 404:return new zi(e);case 429:return new Kt(`${t.response.status}: ${e}: The requests are being rate limited.`);case 502:return _b(e);case 507:return new hb(e);default:return new Kt(`${t.response.status}: ${e}`)}}async function _h(t){let e;try{e=(await t[Symbol.asyncIterator]().next()).value}catch(r){throw r instanceof et&&r.code===Fe.Unavailable?new zi("Sandbox is probably not running anymore"):r}if(e.event?.event.case!=="start")throw new Error("Expected start event");return e.event.event.value.pid}async function ote(t){let e;try{e=(await t[Symbol.asyncIterator]().next()).value}catch(r){throw r instanceof et&&r.code===Fe.Unavailable?new zi("Sandbox is probably not running anymore"):r}if(e.event?.case!=="start")throw new Error("Expected start event");return e.event.value}var Xb=class{api;version;constructor(e,r){this.api=em({baseUrl:e.apiUrl,fetch:e?.fetch,headers:e?.headers}),this.version=r.version,e.logger&&this.api.use(gb(e.logger))}};u();function Xt(t){if(t instanceof et)switch(t.code){case Fe.InvalidArgument:return new wa(t.message);case Fe.Unauthenticated:return new Ki(t.message);case Fe.NotFound:return new zi(t.message);case Fe.Unavailable:return _b(t.message);case Fe.Canceled:return new hd(`${t.message}: This error is likely due to exceeding 'requestTimeoutMs'. You can pass the request timeout value as an option when making the request.`);case Fe.DeadlineExceeded:return new hd(`${t.message}: This error is likely due to exceeding 'timeoutMs' \u2014 the total time a long running request (like command execution or directory watch) can be active. It can be modified by passing 'timeoutMs' when making the request. Use '0' to disable the timeout.`);default:return new Kt(`${t.code}: ${t.message}`)}return t}function T5e(t){switch(Wi){case"deno":return btoa(t);case"node":return Buffer.from(t).toString("base64");case"bun":return Buffer.from(t).toString("base64");default:return btoa(t)}}function gi(t){let e=`${t||To}:`;return{Authorization:`Basic ${T5e(e)}`}}u();u();function Zb(t,e,...r){if(r.length>0)throw new Error;return t.services[e]}var C5e=xs("ChtmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0ucHJvdG8SCmZpbGVzeXN0ZW0iMgoLTW92ZVJlcXVlc3QSDgoGc291cmNlGAEgASgJEhMKC2Rlc3RpbmF0aW9uGAIgASgJIjQKDE1vdmVSZXNwb25zZRIkCgVlbnRyeRgBIAEoCzIVLmZpbGVzeXN0ZW0uRW50cnlJbmZvIh4KDk1ha2VEaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkiNwoPTWFrZURpclJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8iHQoNUmVtb3ZlUmVxdWVzdBIMCgRwYXRoGAEgASgJIhAKDlJlbW92ZVJlc3BvbnNlIhsKC1N0YXRSZXF1ZXN0EgwKBHBhdGgYASABKAkiNAoMU3RhdFJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8i/QEKCUVudHJ5SW5mbxIMCgRuYW1lGAEgASgJEiIKBHR5cGUYAiABKA4yFC5maWxlc3lzdGVtLkZpbGVUeXBlEgwKBHBhdGgYAyABKAkSDAoEc2l6ZRgEIAEoAxIMCgRtb2RlGAUgASgNEhMKC3Blcm1pc3Npb25zGAYgASgJEg0KBW93bmVyGAcgASgJEg0KBWdyb3VwGAggASgJEjEKDW1vZGlmaWVkX3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnN5bWxpbmtfdGFyZ2V0GAogASgJSACIAQFCEQoPX3N5bWxpbmtfdGFyZ2V0Ii0KDkxpc3REaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkSDQoFZGVwdGgYAiABKA0iOQoPTGlzdERpclJlc3BvbnNlEiYKB2VudHJpZXMYASADKAsyFS5maWxlc3lzdGVtLkVudHJ5SW5mbyIyCg9XYXRjaERpclJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglyZWN1cnNpdmUYAiABKAgiRAoPRmlsZXN5c3RlbUV2ZW50EgwKBG5hbWUYASABKAkSIwoEdHlwZRgCIAEoDjIVLmZpbGVzeXN0ZW0uRXZlbnRUeXBlIuABChBXYXRjaERpclJlc3BvbnNlEjgKBXN0YXJ0GAEgASgLMicuZmlsZXN5c3RlbS5XYXRjaERpclJlc3BvbnNlLlN0YXJ0RXZlbnRIABIxCgpmaWxlc3lzdGVtGAIgASgLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnRIABI7CglrZWVwYWxpdmUYAyABKAsyJi5maWxlc3lzdGVtLldhdGNoRGlyUmVzcG9uc2UuS2VlcEFsaXZlSAAaDAoKU3RhcnRFdmVudBoLCglLZWVwQWxpdmVCBwoFZXZlbnQiNwoUQ3JlYXRlV2F0Y2hlclJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglyZWN1cnNpdmUYAiABKAgiKwoVQ3JlYXRlV2F0Y2hlclJlc3BvbnNlEhIKCndhdGNoZXJfaWQYASABKAkiLQoXR2V0V2F0Y2hlckV2ZW50c1JlcXVlc3QSEgoKd2F0Y2hlcl9pZBgBIAEoCSJHChhHZXRXYXRjaGVyRXZlbnRzUmVzcG9uc2USKwoGZXZlbnRzGAEgAygLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnQiKgoUUmVtb3ZlV2F0Y2hlclJlcXVlc3QSEgoKd2F0Y2hlcl9pZBgBIAEoCSIXChVSZW1vdmVXYXRjaGVyUmVzcG9uc2UqUgoIRmlsZVR5cGUSGQoVRklMRV9UWVBFX1VOU1BFQ0lGSUVEEAASEgoORklMRV9UWVBFX0ZJTEUQARIXChNGSUxFX1RZUEVfRElSRUNUT1JZEAIqmAEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRRVZFTlRfVFlQRV9DUkVBVEUQARIUChBFVkVOVF9UWVBFX1dSSVRFEAISFQoRRVZFTlRfVFlQRV9SRU1PVkUQAxIVChFFVkVOVF9UWVBFX1JFTkFNRRAEEhQKEEVWRU5UX1RZUEVfQ0hNT0QQBTKfBQoKRmlsZXN5c3RlbRI5CgRTdGF0EhcuZmlsZXN5c3RlbS5TdGF0UmVxdWVzdBoYLmZpbGVzeXN0ZW0uU3RhdFJlc3BvbnNlEkIKB01ha2VEaXISGi5maWxlc3lzdGVtLk1ha2VEaXJSZXF1ZXN0GhsuZmlsZXN5c3RlbS5NYWtlRGlyUmVzcG9uc2USOQoETW92ZRIXLmZpbGVzeXN0ZW0uTW92ZVJlcXVlc3QaGC5maWxlc3lzdGVtLk1vdmVSZXNwb25zZRJCCgdMaXN0RGlyEhouZmlsZXN5c3RlbS5MaXN0RGlyUmVxdWVzdBobLmZpbGVzeXN0ZW0uTGlzdERpclJlc3BvbnNlEj8KBlJlbW92ZRIZLmZpbGVzeXN0ZW0uUmVtb3ZlUmVxdWVzdBoaLmZpbGVzeXN0ZW0uUmVtb3ZlUmVzcG9uc2USRwoIV2F0Y2hEaXISGy5maWxlc3lzdGVtLldhdGNoRGlyUmVxdWVzdBocLmZpbGVzeXN0ZW0uV2F0Y2hEaXJSZXNwb25zZTABElQKDUNyZWF0ZVdhdGNoZXISIC5maWxlc3lzdGVtLkNyZWF0ZVdhdGNoZXJSZXF1ZXN0GiEuZmlsZXN5c3RlbS5DcmVhdGVXYXRjaGVyUmVzcG9uc2USXQoQR2V0V2F0Y2hlckV2ZW50cxIjLmZpbGVzeXN0ZW0uR2V0V2F0Y2hlckV2ZW50c1JlcXVlc3QaJC5maWxlc3lzdGVtLkdldFdhdGNoZXJFdmVudHNSZXNwb25zZRJUCg1SZW1vdmVXYXRjaGVyEiAuZmlsZXN5c3RlbS5SZW1vdmVXYXRjaGVyUmVxdWVzdBohLmZpbGVzeXN0ZW0uUmVtb3ZlV2F0Y2hlclJlc3BvbnNlQmkKDmNvbS5maWxlc3lzdGVtQg9GaWxlc3lzdGVtUHJvdG9QAaICA0ZYWKoCCkZpbGVzeXN0ZW3KAgpGaWxlc3lzdGVt4gIWRmlsZXN5c3RlbVxHUEJNZXRhZGF0YeoCCkZpbGVzeXN0ZW1iBnByb3RvMw",[_ee]);var ate=Zb(C5e,0);u();function D5e(t){switch(t){case 5:return"chmod";case 1:return"create";case 3:return"remove";case 4:return"rename";case 2:return"write"}}var Jb=class{constructor(e,r,n,i){this.handleStop=e;this.events=r;this.onEvent=n;this.onExit=i;this.handleEvents()}async stop(){this.handleStop()}async*iterateEvents(){try{for await(let e of this.events)switch(e.event.case){case"filesystem":yield e.event;break}}catch(e){throw Xt(e)}}async handleEvents(){try{for await(let e of this.iterateEvents()){let r=D5e(e.value.type);r!==void 0&&this.onEvent?.({name:e.value.name,type:r})}this.onExit?.()}catch(e){this.onExit?.(e)}}};u();u();u();var R5e=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,jw=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");let e=t.match(R5e);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},lte=t=>t==="*"||t==="x"||t==="X",cte=t=>{let e=parseInt(t,10);return isNaN(e)?t:e},A5e=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],O5e=(t,e)=>{if(lte(t)||lte(e))return 0;let[r,n]=A5e(cte(t),cte(e));return r>n?1:r<n?-1:0},Qw=(t,e)=>{for(let r=0;r<Math.max(t.length,e.length);r++){let n=O5e(t[r]||"0",e[r]||"0");if(n!==0)return n}return 0};var Ls=(t,e)=>{let r=jw(t),n=jw(e),i=r.pop(),s=n.pop(),o=Qw(r,n);return o!==0?o:i&&s?Qw(i.split("."),s.split(".")):i||s?i?-1:1:0};u();var ute="0.1.4",Xw="99.99.99",dte="0.3.0";function Zw(t){switch(t){case 2:return"dir";case 1:return"file"}}function Jw(t){if(t)return new Date(Number(t.seconds)*1e3+Math.floor(t.nanos/1e6))}var eT=class{constructor(e,r,n){this.envdApi=r;this.connectionConfig=n;this.rpc=ac(ate,e)}rpc;defaultWatchTimeout=6e4;defaultWatchRecursive=!1;async read(e,r){let n=r?.format??"text",i=await this.envdApi.api.GET("/files",{params:{query:{path:e,username:r?.user||To}},parseAs:n==="bytes"?"arrayBuffer":n,signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)}),s=await hh(i);if(s)throw s;return n==="bytes"?new Uint8Array(i.data):i.response.headers.get("content-length")==="0"?"":i.data}async write(e,r,n){if(typeof e!="string"&&!Array.isArray(e))throw new Error("Path or files are required");if(typeof e=="string"&&Array.isArray(r))throw new Error("Cannot specify both path and array of files. You have to specify either path and data for a single file or an array for multiple files.");let{path:i,writeOpts:s,writeFiles:o}=typeof e=="string"?{path:e,writeOpts:n,writeFiles:[{data:r}]}:{path:void 0,writeOpts:r,writeFiles:e};if(o.length===0)return[];let a=await Promise.all(o.map(f=>new Response(f.data).blob())),l=await this.envdApi.api.POST("/files",{params:{query:{path:i,username:s?.user||To}},bodySerializer(){return a.reduce((f,m,p)=>(f.append("file",m,o[p].path),f),new FormData)},body:{},headers:{"Content-Type":"multipart/form-data","Bun-Content-Type":"temporary-fix"}}),c=await hh(l);if(c)throw c;let d=l.data;if(!d)throw new Error("Expected to receive information about written file");return d.length===1&&i?d[0]:d}async list(e,r){if(typeof r?.depth=="number"&&r.depth<1)throw new wa("depth should be at least one");try{let n=await this.rpc.listDir({path:e,depth:r?.depth??1},{headers:gi(r?.user),signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)}),i=[];for(let s of n.entries){let o=Zw(s.type);o&&i.push({name:s.name,type:o,path:s.path,size:Number(s.size),mode:s.mode,permissions:s.permissions,owner:s.owner,group:s.group,modifiedTime:Jw(s.modifiedTime),symlinkTarget:s.symlinkTarget})}return i}catch(n){throw Xt(n)}}async makeDir(e,r){try{return await this.rpc.makeDir({path:e},{headers:gi(r?.user),signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)}),!0}catch(n){if(n instanceof et&&n.code===Fe.AlreadyExists)return!1;throw Xt(n)}}async rename(e,r,n){try{let s=(await this.rpc.move({source:e,destination:r},{headers:gi(n?.user),signal:this.connectionConfig.getSignal(n?.requestTimeoutMs)})).entry;if(!s)throw new Error("Expected to receive information about moved object");return{name:s.name,type:Zw(s.type),path:s.path,size:Number(s.size),mode:s.mode,permissions:s.permissions,owner:s.owner,group:s.group,modifiedTime:Jw(s.modifiedTime),symlinkTarget:s.symlinkTarget}}catch(i){throw Xt(i)}}async remove(e,r){try{await this.rpc.remove({path:e},{headers:gi(r?.user),signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)})}catch(n){throw Xt(n)}}async exists(e,r){try{return await this.rpc.stat({path:e},{headers:gi(r?.user),signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)}),!0}catch(n){if(n instanceof et&&n.code===Fe.NotFound)return!1;throw Xt(n)}}async getInfo(e,r){try{let n=await this.rpc.stat({path:e},{headers:gi(r?.user)});if(!n.entry)throw new Error("Expected to receive information about the file or directory");return{name:n.entry.name,type:Zw(n.entry.type),path:n.entry.path,size:Number(n.entry.size),mode:n.entry.mode,permissions:n.entry.permissions,owner:n.entry.owner,group:n.entry.group,modifiedTime:Jw(n.entry.modifiedTime),symlinkTarget:n.entry.symlinkTarget}}catch(n){throw Xt(n)}}async watchDir(e,r,n){if(n?.recursive&&this.envdApi.version&&Ls(this.envdApi.version,ute)<0)throw new _d("You need to update the template to use recursive watching. You can do this by running `e2b template build` in the directory with the template.");let i=n?.requestTimeoutMs??this.connectionConfig.requestTimeoutMs,s=new AbortController,o=i?setTimeout(()=>{s.abort()},i):void 0,a=this.rpc.watchDir({path:e,recursive:n?.recursive??this.defaultWatchRecursive},{headers:{...gi(n?.user),[ic]:nc.toString()},signal:s.signal,timeoutMs:n?.timeoutMs??this.defaultWatchTimeout});try{return await ote(a),clearTimeout(o),new Jb(()=>s.abort(),a,r,n?.onExit)}catch(l){throw Xt(l)}}};u();var Ad=class extends Kt{constructor(r){super(r.error);this.result=r;this.name="CommandExitError"}get exitCode(){return this.result.exitCode}get error(){return this.result.error}get stdout(){return this.result.stdout}get stderr(){return this.result.stderr}},cc=class{constructor(e,r,n,i,s,o,a){this.pid=e;this.handleDisconnect=r;this.handleKill=n;this.events=i;this.onStdout=s;this.onStderr=o;this.onPty=a;this._wait=this.handleEvents()}_stdout="";_stderr="";result;iterationError;_wait;get exitCode(){return this.result?.exitCode}get error(){return this.result?.error}get stderr(){return this._stderr}get stdout(){return this._stdout}async wait(){if(await this._wait,this.iterationError)throw this.iterationError;if(!this.result)throw new Kt("Process exited without a result");if(this.result.exitCode!==0)throw new Ad(this.result);return this.result}async disconnect(){this.handleDisconnect()}async kill(){return await this.handleKill()}async*iterateEvents(){for await(let e of this.events){let r=e?.event?.event,n;switch(r?.case){case"data":switch(r.value.output.case){case"stdout":n=new TextDecoder().decode(r.value.output.value),this._stdout+=n,yield[n,null,null];break;case"stderr":n=new TextDecoder().decode(r.value.output.value),this._stderr+=n,yield[null,n,null];break;case"pty":yield[null,null,r.value.output.value];break}break;case"end":this.result={exitCode:r.value.exitCode,error:r.value.error,stdout:this.stdout,stderr:this.stderr};break}}}async handleEvents(){try{for await(let[e,r,n]of this.iterateEvents())e!==null?this.onStdout?.(e):r!==null?this.onStderr?.(r):n&&this.onPty?.(n)}catch(e){this.iterationError=Xt(e)}}};u();u();u();u();u();u();function fte(){try{new Headers}catch{throw new Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var gh=function(t){return this instanceof gh?(this.v=t,this):new gh(t)},N5e=function(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(p){return function(h){return Promise.resolve(h).then(p,f)}}function a(p,h){n[p]&&(i[p]=function(_){return new Promise(function(b,S){s.push([p,_,b,S])>1||l(p,_)})},h&&(i[p]=h(i[p])))}function l(p,h){try{c(n[p](h))}catch(_){m(s[0][3],_)}}function c(p){p.value instanceof gh?Promise.resolve(p.value.v).then(d,f):m(s[0][2],p)}function d(p){l("next",p)}function f(p){l("throw",p)}function m(p,h){p(h),s.shift(),s.length&&l(s[0][0],s[0][1])}},pte={redirect:"error"};function ex(t){var e;fte();let r=(e=t.useBinaryFormat)!==null&&e!==void 0?e:!1;return{async unary(n,i,s,o,a,l){let{serialize:c,parse:d}=Yb(n,r,t.jsonOptions,t.binaryOptions);return s=s===void 0?t.defaultTimeoutMs:s<=0?void 0:s,await zw({interceptors:t.interceptors,signal:i,timeoutMs:s,req:{stream:!1,service:n.parent,method:n,requestMethod:"POST",url:qb(t.baseUrl,n),header:jb(n.methodKind,r,s,o,!1),contextValues:l??Hb(),message:a},next:async f=>{var m;let p=t.useHttpGet===!0&&n.idempotency===wb.NO_SIDE_EFFECTS,h=null;p?f=Ww(f,c(f.message),r):h=c(f.message);let b=await((m=t.fetch)!==null&&m!==void 0?m:globalThis.fetch)(f.url,Object.assign(Object.assign({},pte),{method:f.requestMethod,headers:f.header,signal:f.signal,body:h})),{isUnaryError:S,unaryError:A}=Qb(n.methodKind,r,b.status,b.headers);if(S)throw ph(await b.json(),kw(...zb(b.headers)),A);let[D,O]=zb(b.headers);return{stream:!1,service:n.parent,method:n,header:D,message:r?d(new Uint8Array(await b.arrayBuffer())):Pw(n.output,await b.json(),$b(t.jsonOptions)),trailer:O}}})},async stream(n,i,s,o,a,l){let{serialize:c,parse:d}=Yb(n,r,t.jsonOptions,t.binaryOptions);function f(p,h,_,b){return N5e(this,arguments,function*(){let A=Bw(p).getReader(),D=!1;for(;;){let O=yield gh(A.read());if(O.done)break;let{flags:M,data:V}=O.value;if((M&Gb)===Gb)throw new et("protocol error: received unsupported compressed output",Fe.Internal);if((M&Vb)===Vb){D=!0;let Q=$w(V);if(Q.error){let w=Q.error;throw _.forEach((N,q)=>{w.metadata.append(q,N)}),w}Q.metadata.forEach((w,N)=>h.set(N,w));continue}yield yield gh(d(V))}if("throwIfAborted"in b&&b.throwIfAborted(),!D)throw"missing EndStreamResponse"})}async function m(p){if(n.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";let h=await p[Symbol.asyncIterator]().next();if(h.done==!0)throw"missing request message";return Uw(0,c(h.value))}return s=s===void 0?t.defaultTimeoutMs:s<=0?void 0:s,await Kw({interceptors:t.interceptors,timeoutMs:s,signal:i,req:{stream:!0,service:n.parent,method:n,requestMethod:"POST",url:qb(t.baseUrl,n),header:jb(n.methodKind,r,s,o,!1),contextValues:l??Hb(),message:a},next:async p=>{var h;let b=await((h=t.fetch)!==null&&h!==void 0?h:globalThis.fetch)(p.url,Object.assign(Object.assign({},pte),{method:p.requestMethod,headers:p.header,signal:p.signal,body:await m(p.message)}));if(Qb(n.methodKind,r,b.status,b.headers),b.body===null)throw"missing response body";let S=new Headers;return Object.assign(Object.assign({},p),{header:b.headers,trailer:S,message:f(b.body,S,b.headers,p.signal)})}})}}}u();u();var v5e=xs("ChVwcm9jZXNzL3Byb2Nlc3MucHJvdG8SB3Byb2Nlc3MiSgoDUFRZEh8KBHNpemUYASABKAsyES5wcm9jZXNzLlBUWS5TaXplGiIKBFNpemUSDAoEY29scxgBIAEoDRIMCgRyb3dzGAIgASgNIqEBCg1Qcm9jZXNzQ29uZmlnEgsKA2NtZBgBIAEoCRIMCgRhcmdzGAIgAygJEi4KBGVudnMYAyADKAsyIC5wcm9jZXNzLlByb2Nlc3NDb25maWcuRW52c0VudHJ5EhAKA2N3ZBgEIAEoCUgAiAEBGisKCUVudnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgYKBF9jd2QiDQoLTGlzdFJlcXVlc3QiXAoLUHJvY2Vzc0luZm8SJgoGY29uZmlnGAEgASgLMhYucHJvY2Vzcy5Qcm9jZXNzQ29uZmlnEgsKA3BpZBgCIAEoDRIQCgN0YWcYAyABKAlIAIgBAUIGCgRfdGFnIjcKDExpc3RSZXNwb25zZRInCglwcm9jZXNzZXMYASADKAsyFC5wcm9jZXNzLlByb2Nlc3NJbmZvIpcBCgxTdGFydFJlcXVlc3QSJwoHcHJvY2VzcxgBIAEoCzIWLnByb2Nlc3MuUHJvY2Vzc0NvbmZpZxIeCgNwdHkYAiABKAsyDC5wcm9jZXNzLlBUWUgAiAEBEhAKA3RhZxgDIAEoCUgBiAEBEhIKBXN0ZGluGAQgASgISAKIAQFCBgoEX3B0eUIGCgRfdGFnQggKBl9zdGRpbiJiCg1VcGRhdGVSZXF1ZXN0EikKB3Byb2Nlc3MYASABKAsyGC5wcm9jZXNzLlByb2Nlc3NTZWxlY3RvchIeCgNwdHkYAiABKAsyDC5wcm9jZXNzLlBUWUgAiAEBQgYKBF9wdHkiEAoOVXBkYXRlUmVzcG9uc2UirwMKDFByb2Nlc3NFdmVudBIxCgVzdGFydBgBIAEoCzIgLnByb2Nlc3MuUHJvY2Vzc0V2ZW50LlN0YXJ0RXZlbnRIABIvCgRkYXRhGAIgASgLMh8ucHJvY2Vzcy5Qcm9jZXNzRXZlbnQuRGF0YUV2ZW50SAASLQoDZW5kGAMgASgLMh4ucHJvY2Vzcy5Qcm9jZXNzRXZlbnQuRW5kRXZlbnRIABI0CglrZWVwYWxpdmUYBCABKAsyHy5wcm9jZXNzLlByb2Nlc3NFdmVudC5LZWVwQWxpdmVIABoZCgpTdGFydEV2ZW50EgsKA3BpZBgBIAEoDRpICglEYXRhRXZlbnQSEAoGc3Rkb3V0GAEgASgMSAASEAoGc3RkZXJyGAIgASgMSAASDQoDcHR5GAMgASgMSABCCAoGb3V0cHV0GlsKCEVuZEV2ZW50EhEKCWV4aXRfY29kZRgBIAEoERIOCgZleGl0ZWQYAiABKAgSDgoGc3RhdHVzGAMgASgJEhIKBWVycm9yGAQgASgJSACIAQFCCAoGX2Vycm9yGgsKCUtlZXBBbGl2ZUIHCgVldmVudCI1Cg1TdGFydFJlc3BvbnNlEiQKBWV2ZW50GAEgASgLMhUucHJvY2Vzcy5Qcm9jZXNzRXZlbnQiNwoPQ29ubmVjdFJlc3BvbnNlEiQKBWV2ZW50GAEgASgLMhUucHJvY2Vzcy5Qcm9jZXNzRXZlbnQiYwoQU2VuZElucHV0UmVxdWVzdBIpCgdwcm9jZXNzGAEgASgLMhgucHJvY2Vzcy5Qcm9jZXNzU2VsZWN0b3ISJAoFaW5wdXQYAiABKAsyFS5wcm9jZXNzLlByb2Nlc3NJbnB1dCITChFTZW5kSW5wdXRSZXNwb25zZSI3CgxQcm9jZXNzSW5wdXQSDwoFc3RkaW4YASABKAxIABINCgNwdHkYAiABKAxIAEIHCgVpbnB1dCLCAgoSU3RyZWFtSW5wdXRSZXF1ZXN0EjcKBXN0YXJ0GAEgASgLMiYucHJvY2Vzcy5TdHJlYW1JbnB1dFJlcXVlc3QuU3RhcnRFdmVudEgAEjUKBGRhdGEYAiABKAsyJS5wcm9jZXNzLlN0cmVhbUlucHV0UmVxdWVzdC5EYXRhRXZlbnRIABI6CglrZWVwYWxpdmUYAyABKAsyJS5wcm9jZXNzLlN0cmVhbUlucHV0UmVxdWVzdC5LZWVwQWxpdmVIABo3CgpTdGFydEV2ZW50EikKB3Byb2Nlc3MYASABKAsyGC5wcm9jZXNzLlByb2Nlc3NTZWxlY3RvchoxCglEYXRhRXZlbnQSJAoFaW5wdXQYAiABKAsyFS5wcm9jZXNzLlByb2Nlc3NJbnB1dBoLCglLZWVwQWxpdmVCBwoFZXZlbnQiFQoTU3RyZWFtSW5wdXRSZXNwb25zZSJfChFTZW5kU2lnbmFsUmVxdWVzdBIpCgdwcm9jZXNzGAEgASgLMhgucHJvY2Vzcy5Qcm9jZXNzU2VsZWN0b3ISHwoGc2lnbmFsGAIgASgOMg8ucHJvY2Vzcy5TaWduYWwiFAoSU2VuZFNpZ25hbFJlc3BvbnNlIjsKDkNvbm5lY3RSZXF1ZXN0EikKB3Byb2Nlc3MYASABKAsyGC5wcm9jZXNzLlByb2Nlc3NTZWxlY3RvciI7Cg9Qcm9jZXNzU2VsZWN0b3ISDQoDcGlkGAEgASgNSAASDQoDdGFnGAIgASgJSABCCgoIc2VsZWN0b3IqSAoGU2lnbmFsEhYKElNJR05BTF9VTlNQRUNJRklFRBAAEhIKDlNJR05BTF9TSUdURVJNEA8SEgoOU0lHTkFMX1NJR0tJTEwQCTLKAwoHUHJvY2VzcxIzCgRMaXN0EhQucHJvY2Vzcy5MaXN0UmVxdWVzdBoVLnByb2Nlc3MuTGlzdFJlc3BvbnNlEj4KB0Nvbm5lY3QSFy5wcm9jZXNzLkNvbm5lY3RSZXF1ZXN0GhgucHJvY2Vzcy5Db25uZWN0UmVzcG9uc2UwARI4CgVTdGFydBIVLnByb2Nlc3MuU3RhcnRSZXF1ZXN0GhYucHJvY2Vzcy5TdGFydFJlc3BvbnNlMAESOQoGVXBkYXRlEhYucHJvY2Vzcy5VcGRhdGVSZXF1ZXN0GhcucHJvY2Vzcy5VcGRhdGVSZXNwb25zZRJKCgtTdHJlYW1JbnB1dBIbLnByb2Nlc3MuU3RyZWFtSW5wdXRSZXF1ZXN0GhwucHJvY2Vzcy5TdHJlYW1JbnB1dFJlc3BvbnNlKAESQgoJU2VuZElucHV0EhkucHJvY2Vzcy5TZW5kSW5wdXRSZXF1ZXN0GhoucHJvY2Vzcy5TZW5kSW5wdXRSZXNwb25zZRJFCgpTZW5kU2lnbmFsEhoucHJvY2Vzcy5TZW5kU2lnbmFsUmVxdWVzdBobLnByb2Nlc3MuU2VuZFNpZ25hbFJlc3BvbnNlQlcKC2NvbS5wcm9jZXNzQgxQcm9jZXNzUHJvdG9QAaICA1BYWKoCB1Byb2Nlc3PKAgdQcm9jZXNz4gITUHJvY2Vzc1xHUEJNZXRhZGF0YeoCB1Byb2Nlc3NiBnByb3RvMw");var tT=Zb(v5e,0);u();var Eh=class{constructor(e,r){this.transport=e;this.connectionConfig=r;this.rpc=ac(tT,this.transport)}rpc;async create(e){let r=e?.requestTimeoutMs??this.connectionConfig.requestTimeoutMs,n=e?.envs??{};n.TERM="xterm-256color";let i=new AbortController,s=setTimeout(()=>{i.abort()},r),o=this.rpc.start({process:{cmd:"/bin/bash",args:["-i","-l"],envs:n,cwd:e?.cwd},pty:{size:{cols:e.cols,rows:e.rows}}},{headers:{...gi(e?.user),[ic]:nc.toString()},signal:i.signal,timeoutMs:e?.timeoutMs??6e4});try{let a=await _h(o);return clearTimeout(s),new cc(a,()=>i.abort(),()=>this.kill(a),o,void 0,void 0,e.onData)}catch(a){throw Xt(a)}}async sendInput(e,r,n){try{await this.rpc.sendInput({input:{input:{case:"pty",value:r}},process:{selector:{case:"pid",value:e}}},{signal:this.connectionConfig.getSignal(n?.requestTimeoutMs)})}catch(i){throw Xt(i)}}async resize(e,r,n){try{await this.rpc.update({process:{selector:{case:"pid",value:e}},pty:{size:r}},{signal:this.connectionConfig.getSignal(n?.requestTimeoutMs)})}catch(i){throw Xt(i)}}async kill(e,r){try{return await this.rpc.sendSignal({process:{selector:{case:"pid",value:e}},signal:9},{signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)}),!0}catch(n){if(n instanceof et&&n.code===Fe.NotFound)return!1;throw Xt(n)}}};var rT=class{constructor(e,r,n){this.connectionConfig=r;this.rpc=ac(tT,e),this.envdVersion=n.version}rpc;defaultProcessConnectionTimeout=6e4;envdVersion;async list(e){try{return(await this.rpc.list({},{signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)})).processes.map(n=>({pid:n.pid,...n.tag&&{tag:n.tag},args:n.config.args,envs:n.config.envs,cmd:n.config.cmd,...n.config.cwd&&{cwd:n.config.cwd}}))}catch(r){throw Xt(r)}}async sendStdin(e,r,n){try{await this.rpc.sendInput({process:{selector:{case:"pid",value:e}},input:{input:{case:"stdin",value:new TextEncoder().encode(r)}}},{signal:this.connectionConfig.getSignal(n?.requestTimeoutMs)})}catch(i){throw Xt(i)}}async kill(e,r){try{return await this.rpc.sendSignal({process:{selector:{case:"pid",value:e}},signal:9},{signal:this.connectionConfig.getSignal(r?.requestTimeoutMs)}),!0}catch(n){if(n instanceof et&&n.code===Fe.NotFound)return!1;throw Xt(n)}}async connect(e,r){let n=r?.requestTimeoutMs??this.connectionConfig.requestTimeoutMs,i=new AbortController,s=n?setTimeout(()=>{i.abort()},n):void 0,o=this.rpc.connect({process:{selector:{case:"pid",value:e}}},{signal:i.signal,headers:{[ic]:nc.toString()},timeoutMs:r?.timeoutMs??this.defaultProcessConnectionTimeout});try{let a=await _h(o);return clearTimeout(s),new cc(a,()=>i.abort(),()=>this.kill(a),o,r?.onStdout,r?.onStderr,void 0)}catch(a){throw Xt(a)}}async run(e,r){let n=await this.start(e,r);return r?.background?n:n.wait()}async start(e,r){let n=r?.requestTimeoutMs??this.connectionConfig.requestTimeoutMs,i=new AbortController,s=n?setTimeout(()=>{i.abort()},n):void 0;if(r?.stdin===!1&&Ls(this.envdVersion,dte)<0)throw new Kt(`Sandbox envd version ${this.envdVersion} can't specify stdin, it's always turned on. Please rebuild your template if you need this feature.`);let o=this.rpc.start({process:{cmd:"/bin/bash",cwd:r?.cwd,envs:r?.envs,args:["-l","-c",e]},stdin:r?.stdin||!1},{headers:{...gi(r?.user),[ic]:nc.toString()},signal:i.signal,timeoutMs:r?.timeoutMs??this.defaultProcessConnectionTimeout});try{let a=await _h(o);return clearTimeout(s),new cc(a,()=>i.abort(),()=>this.kill(a),o,r?.onStdout,r?.onStderr,void 0)}catch(a){throw Xt(a)}}};u();var tn=class{constructor(){}static async kill(e,r){let n=new jt(r),s=await new Ir(n).api.DELETE("/sandboxes/{sandboxID}",{params:{path:{sandboxID:e}},signal:n.getSignal(r?.requestTimeoutMs)});if(s.error?.code===404)return!1;let o=wn(s);if(o)throw o;return!0}static async getInfo(e,r){let n=await this.getFullInfo(e,r);return delete n.envdAccessToken,delete n.sandboxDomain,n}static async getMetrics(e,r){let n=new jt(r),s=await new Ir(n).api.GET("/sandboxes/{sandboxID}/metrics",{params:{path:{sandboxID:e,start:r?.start,end:r?.end}},signal:n.getSignal(r?.requestTimeoutMs)}),o=wn(s);if(o)throw o;return s.data?.map(a=>({timestamp:new Date(a.timestamp),cpuUsedPct:a.cpuUsedPct,cpuCount:a.cpuCount,memUsed:a.memUsed,memTotal:a.memTotal,diskUsed:a.diskUsed,diskTotal:a.diskTotal}))??[]}static async setTimeout(e,r,n){let i=new jt(n),o=await new Ir(i).api.POST("/sandboxes/{sandboxID}/timeout",{params:{path:{sandboxID:e}},body:{timeout:pb(r)},signal:i.getSignal(n?.requestTimeoutMs)}),a=wn(o);if(a)throw a}static async getFullInfo(e,r){let n=new jt(r),s=await new Ir(n).api.GET("/sandboxes/{sandboxID}",{params:{path:{sandboxID:e}},signal:n.getSignal(r?.requestTimeoutMs)}),o=wn(s);if(o)throw o;if(!s.data)throw new Error("Sandbox not found");return{sandboxId:s.data.sandboxID,templateId:s.data.templateID,...s.data.alias&&{name:s.data.alias},metadata:s.data.metadata??{},envdVersion:s.data.envdVersion,envdAccessToken:s.data.envdAccessToken,startedAt:new Date(s.data.startedAt),endAt:new Date(s.data.endAt),state:s.data.state,cpuCount:s.data.cpuCount,memoryMB:s.data.memoryMB,sandboxDomain:s.data.domain||void 0}}static async betaPause(e,r){let n=new jt(r),s=await new Ir(n).api.POST("/sandboxes/{sandboxID}/pause",{params:{path:{sandboxID:e}},signal:n.getSignal(r?.requestTimeoutMs)});if(s.error?.code===404)throw new zi(`Sandbox ${e} not found`);if(s.error?.code===409)return!1;let o=wn(s);if(o)throw o;return!0}static async createSandbox(e,r,n){let i=new jt(n),o=await new Ir(i).api.POST("/sandboxes",{body:{autoPause:n?.autoPause??!1,templateID:e,metadata:n?.metadata,envVars:n?.envs,timeout:pb(r),secure:n?.secure??!0,allow_internet_access:n?.allowInternetAccess??!0},signal:i.getSignal(n?.requestTimeoutMs)}),a=wn(o);if(a)throw a;if(Ls(o.data.envdVersion,"0.1.0")<0)throw await this.kill(o.data.sandboxID,n),new _d("You need to update the template to use the new SDK. You can do this by running `e2b template build` in the directory with the template.");return{sandboxId:o.data.sandboxID,sandboxDomain:o.data.domain||void 0,envdVersion:o.data.envdVersion,envdAccessToken:o.data.envdAccessToken}}static async resumeSandbox(e,r){let n=r?.timeoutMs??gd,i=new jt(r),o=await new Ir(i).api.POST("/sandboxes/{sandboxID}/resume",{params:{path:{sandboxID:e}},body:{timeout:pb(n)},signal:i.getSignal(r?.requestTimeoutMs)});if(o.error?.code===404)throw new zi(`Paused sandbox ${e} not found`);if(o.error?.code===409)return!1;let a=wn(o);if(a)throw a;return!0}},nT=class{_hasNext;_nextToken;config;client;query;limit;constructor(e){this.config=new jt(e),this.client=new Ir(this.config),this._hasNext=!0,this._nextToken=e?.nextToken,this.query=e?.query,this.limit=e?.limit}get hasNext(){return this._hasNext}get nextToken(){return this._nextToken}async nextItems(){if(!this.hasNext)throw new Error("No more items to fetch");let e;if(this.query?.metadata){let i=Object.fromEntries(Object.entries(this.query.metadata).map(([s,o])=>[encodeURIComponent(s),encodeURIComponent(o)]));e=new URLSearchParams(i).toString()}let r=await this.client.api.GET("/v2/sandboxes",{params:{query:{metadata:e,state:this.query?.state,limit:this.limit,nextToken:this.nextToken}},signal:this.config.getSignal()}),n=wn(r);if(n)throw n;return this._nextToken=r.response.headers.get("x-next-token")||void 0,this._hasNext=!!this._nextToken,(r.data??[]).map(i=>({sandboxId:i.sandboxID,templateId:i.templateID,...i.alias&&{name:i.alias},metadata:i.metadata??{},startedAt:new Date(i.startedAt),endAt:new Date(i.endAt),state:i.state,cpuCount:i.cpuCount,memoryMB:i.memoryMB,envdVersion:i.envdVersion}))}};var $r=class extends tn{static defaultTemplate="base";static defaultSandboxTimeoutMs=gd;files;commands;pty;sandboxId;sandboxDomain;envdPort=49983;connectionConfig;envdAccessToken;envdApiUrl;envdApi;constructor(e){super(),this.connectionConfig=new jt(e),this.sandboxId=e.sandboxId,this.sandboxDomain=e.sandboxDomain??this.connectionConfig.domain,this.envdAccessToken=e.envdAccessToken,this.envdApiUrl=`${this.connectionConfig.debug?"http":"https"}://${this.getHost(this.envdPort)}`;let r=ex({baseUrl:this.envdApiUrl,useBinaryFormat:!1,interceptors:e?.logger?[nJ(e.logger)]:void 0,fetch:(n,i)=>{let s=new Headers(this.connectionConfig.headers);return new Headers(i?.headers).forEach((o,a)=>s.append(a,o)),this.envdAccessToken&&s.append("X-Access-Token",this.envdAccessToken),i={...i??{},headers:s,redirect:"follow"},fetch(n,i)}});this.envdApi=new Xb({apiUrl:this.envdApiUrl,logger:e?.logger,accessToken:this.envdAccessToken,headers:this.envdAccessToken?{"X-Access-Token":this.envdAccessToken}:{}},{version:e.envdVersion}),this.files=new eT(r,this.envdApi,this.connectionConfig),this.commands=new rT(r,this.connectionConfig,{version:e.envdVersion}),this.pty=new Eh(r,this.connectionConfig)}static list(e){return new nT(e)}static async create(e,r){let{template:n,sandboxOpts:i}=typeof e=="string"?{template:e,sandboxOpts:r}:{template:this.defaultTemplate,sandboxOpts:e},s=new jt(i);if(s.debug)return new this({sandboxId:"debug_sandbox_id",envdVersion:Xw,...s});let o=await tn.createSandbox(n,i?.timeoutMs??this.defaultSandboxTimeoutMs,i);return new this({...o,...s})}static async betaCreate(e,r){let{template:n,sandboxOpts:i}=typeof e=="string"?{template:e,sandboxOpts:r}:{template:this.defaultTemplate,sandboxOpts:e},s=new jt(i);if(s.debug)return new this({sandboxId:"debug_sandbox_id",envdVersion:Xw,...s});let o=await tn.createSandbox(n,i?.timeoutMs??this.defaultSandboxTimeoutMs,i);return new this({...o,...s})}static async connect(e,r){try{await tn.setTimeout(e,r?.timeoutMs||gd,r)}catch(s){if(s instanceof Kt)await tn.resumeSandbox(e,r);else throw s}let n=await tn.getFullInfo(e,r),i=new jt(r);return new this({sandboxId:e,sandboxDomain:n.sandboxDomain,envdAccessToken:n.envdAccessToken,envdVersion:n.envdVersion,...i})}async connect(e){try{await tn.setTimeout(this.sandboxId,e?.timeoutMs||gd,e)}catch{await tn.resumeSandbox(this.sandboxId,e)}return this}getHost(e){return this.connectionConfig.debug?`localhost:${e}`:`${e}-${this.sandboxId}.${this.sandboxDomain}`}async isRunning(e){let r=this.connectionConfig.getSignal(e?.requestTimeoutMs),n=await this.envdApi.api.GET("/health",{signal:r});if(n.response.status==502)return!1;let i=await hh(n);if(i)throw i;return!0}async setTimeout(e,r){this.connectionConfig.debug||await tn.setTimeout(this.sandboxId,e,{...this.connectionConfig,...r})}async kill(e){this.connectionConfig.debug||await tn.kill(this.sandboxId,{...this.connectionConfig,...e})}async betaPause(e){return await tn.betaPause(this.sandboxId,e)}async uploadUrl(e,r){r=r??{};let n=!!this.envdAccessToken;if(!n&&r.useSignatureExpiration!=null)throw new Error("Signature expiration can be used only when sandbox is created as secured.");let i=r.user??To,s=e??"",o=this.fileUrl(s,i);if(n){let a=new URL(o),l=await XI({path:s,operation:"write",user:i,expirationInSeconds:r.useSignatureExpiration,envdAccessToken:this.envdAccessToken});return a.searchParams.set("signature",l.signature),l.expiration&&a.searchParams.set("signature_expiration",l.expiration.toString()),a.toString()}return o}async downloadUrl(e,r){r=r??{};let n=!!this.envdAccessToken;if(!n&&r.useSignatureExpiration!=null)throw new Error("Signature expiration can be used only when sandbox is created as secured.");let i=r.user??To,s=this.fileUrl(e,i);if(n){let o=new URL(s),a=await XI({path:e,operation:"read",user:i,expirationInSeconds:r.useSignatureExpiration,envdAccessToken:this.envdAccessToken});return o.searchParams.set("signature",a.signature),a.expiration&&o.searchParams.set("signature_expiration",a.expiration.toString()),o.toString()}return s}async getInfo(e){return await tn.getInfo(this.sandboxId,{...this.connectionConfig,...e})}async getMetrics(e){if(this.envdApi.version){if(Ls(this.envdApi.version,"0.1.5")<0)throw new Kt("You need to update the template to use the new SDK. You can do this by running `e2b template build` in the directory with the template.");Ls(this.envdApi.version,"0.2.4")<0&&this.connectionConfig.logger?.warn?.("Disk metrics are not supported in this version of the sandbox, please rebuild the template to get disk metrics.")}return await tn.getMetrics(this.sandboxId,{...this.connectionConfig,...e})}fileUrl(e,r){let n=new URL("/files",this.envdApiUrl);return n.searchParams.set("username",r??To),e&&n.searchParams.set("path",e),n.toString()}};u();var Xi=class extends Error{constructor(e,r){super(e),this.name="BuildError",r&&(this.stack=r)}},Pa=class extends Xi{constructor(e,r){super(e,r),this.name="FileUploadError"}};u();var Od=class{cmd;constructor(e){this.cmd=e}getCmd(){return this.cmd}};function mte(t){let r=`sleep ${Math.max(1,Math.floor(t/1e3))}`;return new Od(r)}u();u();u();var Ei=class{constructor(e,r,n){this.timestamp=e;this.level=r;this.message=n}toString(){return`[${this.timestamp.toISOString()}] [${this.level}] ${mb(this.message)}`}};u();var Ete=z(require("crypto")),Ro=z(require("fs")),Nd=z(require("path"));u();var hte="finalize",_te="base";function Ste(t){let e=Nd.default.join(t,".dockerignore");return Ro.default.existsSync(e)?Ro.default.readFileSync(e,"utf-8").split(`
223
223
  `).map(n=>n.trim()).filter(n=>n&&!n.startsWith("#")):[]}async function bte(t,e,r,n,i,s){let{glob:o}=await jI(),a=Nd.default.join(r,t),l=Ete.default.createHash("sha256"),c=`COPY ${t} ${e}`;l.update(c);let d=await o(a,{ignore:n,withFileTypes:!0});if(d.length===0){let m=new Error(`No files found in ${a}`);throw s&&(m.stack=s),m}let f=m=>{l.update(m.mode.toString()),l.update(m.uid.toString()),l.update(m.gid.toString()),l.update(m.size.toString()),l.update(m.mtimeMs.toString())};for(let m of d){let p=Nd.default.relative(r,m.fullpath());if(l.update(p),m.isSymbolicLink()){let _=Ro.default.statSync(m.fullpath(),{throwIfNoEntry:!1});if(!(i&&(_?.isFile()||_?.isDirectory()))){let S=Ro.default.lstatSync(m.fullpath());f(S);let A=Ro.default.readlinkSync(m.fullpath());l.update(A);continue}}let h=Ro.default.statSync(m.fullpath());if(f(h),h.isFile()){let _=Ro.default.readFileSync(m.fullpath());l.update(new Uint8Array(_))}}return l.digest("hex")}function tx(t){let e=new Error().stack;if(!e)return;let r=e.split(`
224
224
  `).slice(1);if(!(r.length<t+1))return r.slice(t).join(`
@@ -248,7 +248,7 @@ attempted value: ${o}
248
248
  # import { Sandbox } from 'e2b'
249
249
  # const sandbox = await Sandbox.create('${t.template_name||t.template_id}')
250
250
 
251
- `}var rne=pL({template_id:Fa().required(),template_name:Fa().optional(),dockerfile:Fa().required(),start_cmd:Fa().optional(),ready_cmd:Fa().optional(),cpu_count:S0().integer().min(1).optional(),memory_mb:S0().integer().min(128).optional(),team_id:Fa().optional()}),Y4e=[{from:"id",to:"template_id"},{from:"name",to:"template_name"}];function V4e(t,e){for(let r of e){let n=r.from,i=r.to;t[n]&&(t[i]=t[n],delete t[n])}return t}async function ks(t){let e=await Ud.readFile(t,"utf-8"),r=O0.parse(e),n=V4e(r,Y4e);return await rne.validate(n)}async function nne(t,e,r){try{if(!r&&tne.existsSync(t))throw new Error(`Config already exists on path ${Rt(t)}`);let n=await rne.validate(e,{stripUnknown:!0}),i=O0.stringify(n);await Ud.writeFile(t,$4e(e)+i)}catch(n){throw new Error(`E2B sandbox template config ${sr({templateID:e.template_id},t)} cannot be saved: ${n.message}`)}}async function ine(t){await Ud.unlink(t)}function Bs(t,e){return e&&N0.isAbsolute(e)?e:N0.join(t,e||ka)}var I0=z(require("child_process"));u();var cne=z(lne()),yL=class extends Error{constructor(e){super(e),this.name="E2BRequestError"}};function rn(t,e){if(!t.error)return;let r,n=t.error?.code??0;switch(n){case 400:r="bad request";break;case 401:r="unauthorized";break;case 403:r="forbidden";break;case 404:r="not found";break;case 500:r="internal server error";break;default:r=(0,cne.default)(n)||"unknown error";break}throw new yL(`${e&&`${e}: `}[${n}] ${r&&`${r}: `}${t.error?.message??"no message"}`)}u();var CL=z(require("child_process")),une=z(require("http")),dne=z(require("url")),fne=z(require("https"));u();async function Gd(t,e=!1){return(await(await import("inquirer")).default.prompt([{name:"confirm",type:"confirm",default:e,message:t}])).confirm}var pne=z(require("fs")),v0=49984;async function mne(t,e,r,n,i){t?.dockerProxySet||(console.log("There was an issue during Docker authentication. Please follow the workaround steps from https://e2b.dev/docs/troubleshooting/templates/build-authentication-error and then continue."),await Gd("Have you completed the steps from the https://e2b.dev/docs/troubleshooting/templates/build-authentication-error workaround guide?")||(console.log("Please follow the workaround steps from https://e2b.dev/docs/troubleshooting/templates/build-authentication-error and then try again."),process.exit(1)));let s,o=new Promise(d=>{s=d}),a=Buffer.from(`_e2b_access_token:${r}`).toString("base64"),l=await X4e(e,n,a,s);await o,await Q4e(e,n,i)||(console.error("Docker push failed"),process.exit(1)),t&&!t.dockerProxySet&&(t.dockerProxySet=!0,pne.writeFileSync(xn,JSON.stringify(t,null,2))),l.close()}async function Q4e(t,e,r){let n=process.platform==="linux"?"localhost":"host.docker.internal",i=!1;CL.default.execSync(`docker tag docker.${t.domain}/e2b/custom-envs/${e.templateID}:${e.buildID} ${n}:${v0}/e2b/custom-envs/${e.templateID}:${e.buildID}`,{stdio:"inherit",cwd:r});let s,o=new Promise(l=>{s=l}),a=CL.default.spawn("docker",["push",`${n}:${v0}/e2b/custom-envs/${e.templateID}:${e.buildID}`],{detached:!0,stdio:"inherit",cwd:r});return a.on("exit",l=>{l!==0&&(console.error("Docker push failed"),process.exit(1)),i=!0,s(l)}),a.on("error",l=>{console.error("Error",l),process.exit(1)}),await o,i}async function X4e(t,e,r,n){let i=await fetch(`https://docker.${t.domain}/v2/token?account=_e2b_access_token&scope=repository%3Ae2b%2Fcustom-envs%2F${e.templateID}%3Apush%2Cpull`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Basic ${r}`}}),{token:s}=await i.json(),o=une.createServer((a,l)=>{let c=new dne.URL(a.url||"/",`https://docker.${t.domain}`),d={protocol:"https:",hostname:c.hostname,method:a.method,path:c.pathname+c.search,headers:{...a.headers,host:c.hostname}};d.headers.Authorization||(c.pathname.startsWith("/v2/token")?d.headers.Authorization=`Basic ${r}`:c.pathname=="/v2/"||c.pathname=="/v2"?d.headers.Authorization=`Bearer ${r}`:c.pathname.startsWith("/artifacts-uploads/namespaces")||(d.headers.Authorization=`Bearer ${s}`));let f=fne.request(d,m=>{l.writeHead(m.statusCode||500,m.headers),m.pipe(l,{end:!0})});f.on("error",m=>{console.error("Proxy Request Error:",m),l.statusCode=500,l.end(`Proxy Error: ${m.message}`)}),a.pipe(f,{end:!0})});return o.on("error",a=>{console.error("Server Error:",a)}),o.listen(v0,()=>{n(null),console.log(`Proxy server running on port ${v0}`)}),o}var Z4e=500,DL=process.env.E2B_IMAGE_URI_MASK;async function J4e({templateID:t,buildID:e,logsOffset:r}){let n=Ti.getSignal(),i=await En.api.GET("/templates/{templateID}/builds/{buildID}/status",{signal:n,params:{path:{templateID:t,buildID:e},query:{logsOffset:r}}});return rn(i,"Error getting template build status"),i.data}async function e8e(t){return await En.api.POST("/templates",{body:t})}async function t8e(t,e){return await En.api.POST("/templates/{templateID}",{body:e,params:{path:{templateID:t}}})}async function r8e(t,e){let r;for(let i=0;i<3;i++)try{r=await En.api.POST("/templates/{templateID}/builds/{buildID}",{params:{path:{templateID:t,buildID:e}}});break}catch(s){s instanceof TypeError&&s.cause?.code!=="UND_ERR_SOCKET"&&(console.error(s),console.log("Retrying..."))}if(!r)throw new Error("Error triggering template build");return rn(r,"Error triggering template build"),r.data}var _ne=new Ke("build").description(`build sandbox template defined by ${Rt(Ms)} or ${Rt(n0)} in root directory. By default the root directory is the current working directory. This command also creates ${er(ka)} config.`).argument("[template]",`specify ${Ne("[template]")} to rebuild it. If you dont's specify ${Ne("[template]")} and there is no ${er("e2b.toml")} a new sandbox template will be created.`).addOption(Sn).option("-d, --dockerfile <file>",`specify path to Dockerfile. By default E2B tries to find ${er(Ms)} or ${er(n0)} 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.").option("--ready-cmd <ready-command>","specify command that will need to exit 0 for the template to be ready.").addOption(vo).addOption(Zi).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>.").option("--no-cache","skip cache when building the template.").alias("bd").action(async(t,e)=>{try{hne.default.sync("docker")||(console.error("Docker is required to build and push the sandbox template. Please install Docker and try again."),process.exit(1));let n={};e.buildArg&&e.buildArg.forEach(Z=>{let[ie,me]=Z.split("=");n[ie]=me});let i=Md();process.stdout.write(`
251
+ `}var rne=pL({template_id:Fa().required(),template_name:Fa().optional(),dockerfile:Fa().required(),start_cmd:Fa().optional(),ready_cmd:Fa().optional(),cpu_count:S0().integer().min(1).optional(),memory_mb:S0().integer().min(128).optional(),team_id:Fa().optional()}),Y4e=[{from:"id",to:"template_id"},{from:"name",to:"template_name"}];function V4e(t,e){for(let r of e){let n=r.from,i=r.to;t[n]&&(t[i]=t[n],delete t[n])}return t}async function ks(t){let e=await Ud.readFile(t,"utf-8"),r=O0.parse(e),n=V4e(r,Y4e);return await rne.validate(n)}async function nne(t,e,r){try{if(!r&&tne.existsSync(t))throw new Error(`Config already exists on path ${Rt(t)}`);let n=await rne.validate(e,{stripUnknown:!0}),i=O0.stringify(n);await Ud.writeFile(t,$4e(e)+i)}catch(n){throw new Error(`E2B sandbox template config ${sr({templateID:e.template_id},t)} cannot be saved: ${n.message}`)}}async function ine(t){await Ud.unlink(t)}function Bs(t,e){return e&&N0.isAbsolute(e)?e:N0.join(t,e||ka)}var I0=z(require("child_process"));u();var cne=z(lne()),yL=class extends Error{constructor(e){super(e),this.name="E2BRequestError"}};function rn(t,e){if(!t.error)return;let r,n=t.error?.code??0;switch(n){case 400:r="bad request";break;case 401:r="unauthorized";break;case 403:r="forbidden";break;case 404:r="not found";break;case 500:r="internal server error";break;default:r=(0,cne.default)(n)||"unknown error";break}throw new yL(`${e&&`${e}: `}[${n}] ${r&&`${r}: `}${t.error?.message??"no message"}`)}u();var CL=z(require("child_process")),une=z(require("http")),dne=z(require("url")),fne=z(require("https"));u();async function Gd(t,e=!1){return(await(await import("inquirer")).default.prompt([{name:"confirm",type:"confirm",default:e,message:t}])).confirm}var pne=z(require("fs")),v0=49984;async function mne(t,e,r,n,i){t?.dockerProxySet||(console.log("There was an issue during Docker authentication. Please follow the workaround steps from https://e2b.dev/docs/troubleshooting/templates/build-authentication-error and then continue."),await Gd("Have you completed the steps from the https://e2b.dev/docs/troubleshooting/templates/build-authentication-error workaround guide?")||(console.log("Please follow the workaround steps from https://e2b.dev/docs/troubleshooting/templates/build-authentication-error and then try again."),process.exit(1)));let s,o=new Promise(d=>{s=d}),a=Buffer.from(`_e2b_access_token:${r}`).toString("base64"),l=await X4e(e,n,a,s);await o,await Q4e(e,n,i)||(console.error("Docker push failed"),process.exit(1)),t&&!t.dockerProxySet&&(t.dockerProxySet=!0,pne.writeFileSync(xn,JSON.stringify(t,null,2))),l.close()}async function Q4e(t,e,r){let n=process.platform==="linux"?"localhost":"host.docker.internal",i=!1;CL.default.execSync(`docker tag docker.${t.domain}/e2b/custom-envs/${e.templateID}:${e.buildID} ${n}:${v0}/e2b/custom-envs/${e.templateID}:${e.buildID}`,{stdio:"inherit",cwd:r});let s,o=new Promise(l=>{s=l}),a=CL.default.spawn("docker",["push",`${n}:${v0}/e2b/custom-envs/${e.templateID}:${e.buildID}`],{detached:!0,stdio:"inherit",cwd:r});return a.on("exit",l=>{l!==0&&(console.error("Docker push failed"),process.exit(1)),i=!0,s(l)}),a.on("error",l=>{console.error("Error",l),process.exit(1)}),await o,i}async function X4e(t,e,r,n){let i=await fetch(`https://docker.${t.domain}/v2/token?account=_e2b_access_token&scope=repository%3Ae2b%2Fcustom-envs%2F${e.templateID}%3Apush%2Cpull`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Basic ${r}`}}),{token:s}=await i.json(),o=une.createServer((a,l)=>{let c=new dne.URL(a.url||"/",`https://docker.${t.domain}`),d={protocol:"https:",hostname:c.hostname,method:a.method,path:c.pathname+c.search,headers:{...a.headers,host:c.hostname}},f=d.headers;f.Authorization||(c.pathname.startsWith("/v2/token")?f.Authorization=`Basic ${r}`:c.pathname=="/v2/"||c.pathname=="/v2"?f.Authorization=`Bearer ${r}`:c.pathname.startsWith("/artifacts-uploads/namespaces")||(f.Authorization=`Bearer ${s}`));let m=fne.request(d,p=>{l.writeHead(p.statusCode||500,p.headers),p.pipe(l,{end:!0})});m.on("error",p=>{console.error("Proxy Request Error:",p),l.statusCode=500,l.end(`Proxy Error: ${p.message}`)}),a.pipe(m,{end:!0})});return o.on("error",a=>{console.error("Server Error:",a)}),o.listen(v0,()=>{n(null),console.log(`Proxy server running on port ${v0}`)}),o}var Z4e=500,DL=process.env.E2B_IMAGE_URI_MASK;async function J4e({templateID:t,buildID:e,logsOffset:r}){let n=Ti.getSignal(),i=await En.api.GET("/templates/{templateID}/builds/{buildID}/status",{signal:n,params:{path:{templateID:t,buildID:e},query:{logsOffset:r}}});return rn(i,"Error getting template build status"),i.data}async function e8e(t){return await En.api.POST("/templates",{body:t})}async function t8e(t,e){return await En.api.POST("/templates/{templateID}",{body:e,params:{path:{templateID:t}}})}async function r8e(t,e){let r;for(let i=0;i<3;i++)try{r=await En.api.POST("/templates/{templateID}/builds/{buildID}",{params:{path:{templateID:t,buildID:e}}});break}catch(s){s instanceof TypeError&&s.cause?.code!=="UND_ERR_SOCKET"&&(console.error(s),console.log("Retrying..."))}if(!r)throw new Error("Error triggering template build");return rn(r,"Error triggering template build"),r.data}var _ne=new Ke("build").description(`build sandbox template defined by ${Rt(Ms)} or ${Rt(n0)} in root directory. By default the root directory is the current working directory. This command also creates ${er(ka)} config.`).argument("[template]",`specify ${Ne("[template]")} to rebuild it. If you dont's specify ${Ne("[template]")} and there is no ${er("e2b.toml")} a new sandbox template will be created.`).addOption(Sn).option("-d, --dockerfile <file>",`specify path to Dockerfile. By default E2B tries to find ${er(Ms)} or ${er(n0)} 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.").option("--ready-cmd <ready-command>","specify command that will need to exit 0 for the template to be ready.").addOption(vo).addOption(Zi).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>.").option("--no-cache","skip cache when building the template.").alias("bd").action(async(t,e)=>{try{hne.default.sync("docker")||(console.error("Docker is required to build and push the sandbox template. Please install Docker and try again."),process.exit(1));let n={};e.buildArg&&e.buildArg.forEach(Z=>{let[ie,me]=Z.split("=");n[ie]=me});let i=Md();process.stdout.write(`
252
252
  `);let s=e.name?.trim();s&&!/[a-z0-9-_]+/.test(s)&&(console.error(`Name ${er(s)} is not valid. Name can only contain lowercase letters, numbers, dashes and underscores.`),process.exit(1));let o=e.dockerfile,a=e.cmd,l=e.readyCmd,c=e.cpuCount,d=e.memoryMb,f=e.team,m=Nn(e.path),p=Bs(m,e.config),h=Lh.existsSync(p)?await ks(p):void 0,_=Lo.relative(m,p);h&&(console.log(`Found sandbox template ${sr({templateID:h.template_id,aliases:h.template_name?[h.template_name]:void 0},_)}`),t=h.template_id,o=e.dockerfile||h.dockerfile,a=e.cmd||h.start_cmd,l=e.readyCmd||h.ready_cmd,c=e.cpuCount||h.cpu_count,d=e.memoryMb||h.memory_mb,f=e.team||h.team_id);let b=Yr();b&&(f=f||b.teamId),h&&t&&h.template_id!==t&&(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)),s&&h?.template_name&&s!==h?.template_name&&console.log(`The sandbox template name will be changed from ${er(h.template_name)} to ${er(s)}.`);let S=s||h?.template_name,{dockerfileContent:A,dockerfileRelativePath:D}=AL(m,o);console.log(`Found ${Rt(D)} that will be used to build the sandbox template.`);let O={alias:S,startCmd:a,readyCmd:l,cpuCount:c,memoryMB:d,dockerfile:A,teamID:f};e.memoryMb&&e.memoryMb%2!==0&&(console.error(`The memory in megabytes must be an even number. You provided ${er(e.memoryMb.toFixed(0))}.`),process.exit(1));let M=await i8e(O,t);if(t=M.templateID,console.log(`Requested build for the sandbox template ${sr(M)} `),await nne(p,{template_id:M.templateID,dockerfile:D,template_name:S,start_cmd:a,ready_cmd:l,cpu_count:c,memory_mb:d,team_id:f},!0),DL==null)try{I0.execSync(`echo "${i}" | docker login docker.${Ti.domain} -u _e2b_access_token --password-stdin`,{stdio:"inherit",cwd:m})}catch{console.error("Docker login failed. Please try to log in with `e2b auth login` and try again."),process.exit(1)}process.stdout.write(`
253
253
  `);let V=Object.entries(n).map(([Z,ie])=>`--build-arg "${Z}=${ie}"`).join(" "),Q=e.noCache?"--no-cache":"",w=o8e(t,M.buildID,Ti.domain,DL);DL!=null&&console.log("Using custom docker image URI:",w);let N=["docker build",`-f ${D}`,"--pull --platform linux/amd64",`-t ${w}`,V,Q,"."].join(" ");console.log(`Building docker image with the following command:
254
254
  ${Ne(N)}