novita-sandbox-cli 2.0.2 → 2.0.4-a1

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
@@ -356,7 +356,7 @@ ${r.message}`:g,x=[b,e,t].filter(Boolean).join(`
356
356
  `;else throw new Error("There is no such converter: "+type);return i}else{let i="";return Object.keys(t).forEach((s,a,o)=>{let l=Gx[n||s];if(typeof l=="function")i+=$c(l(n?t:t[s],dl),1,e)+`
357
357
  `;else throw new Error("There is no such converter: "+s)}),i}}dl.async=(t,e,n)=>Promise.resolve().then(()=>{if(e=e||"",typeof t=="string"||typeof t=="number")return $c(t,1,e);let r=[];if(Array.isArray(t)){let i=t.map((s,a)=>Promise.resolve().then(()=>dl.async(s,"",n)).then(o=>$c(o,1,e)).then(o=>{r[a]=o}));return Promise.all(i).then(()=>r.join(`
358
358
  `))}else{let i=Object.keys(t)[0],s=Gx[n||i];if(typeof s=="function")return Promise.resolve().then(()=>s(n?t:t[i],dl)).then(a=>$c(a,1,e)+`
359
- `);throw new Error("There is no such converter: "+i)}});dl.converters=Gx;age.exports=dl});var $nt={};v_($nt,{pkg:()=>Fx});module.exports=Zx($nt);u();var dge=ee(E4());u();var L4=ee(w4(),1),{program:_st,createCommand:gst,createArgument:Est,createOption:Sst,CommanderError:bst,InvalidArgumentError:bf,InvalidOptionArgumentError:Tst,Command:Ne,Argument:yst,Option:Za,Help:xst}=L4.default;var LC={};v_(LC,{author:()=>aSe,bin:()=>pSe,default:()=>gSe,dependencies:()=>mSe,description:()=>rSe,devDependencies:()=>dSe,engines:()=>hSe,files:()=>fSe,homepage:()=>iSe,keywords:()=>lSe,license:()=>sSe,name:()=>nSe,packageManager:()=>_Se,publishConfig:()=>oSe,scripts:()=>uSe,sideEffects:()=>cSe,version:()=>MC});var nSe="novita-sandbox-cli",MC="2.0.2",rSe="CLI for managing Novita AI sandbox templates",iSe="https://novita.ai/sandbox",sSe="MIT",aSe={name:"Novita",url:"https://novita.ai"},oSe={access:"public"},lSe=["Novita","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs"],cSe=!1,uSe={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",lint:"eslint src",test:"vitest run","check-deps":"knip","update-deps":"ncu -u && pnpm i","generate-ref":"./scripts/generate_sdk_ref.sh",typecheck:"tsc --noEmit --skipLibCheck",format:"prettier --write src","test:interactive":"pnpm build && ./dist/index.js","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},dSe={"@types/command-exists":"^1.2.3","@types/handlebars":"^4.1.0","@types/inquirer":"^9.0.7","@types/jest":"^30.0.0","@types/json2md":"^1.5.4","@types/node":"^18.18.6","@types/npmcli__package-json":"^4.0.4","@types/platform":"^1.3.6","@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"},fSe=["dist","LICENSE","README","package.json"],pSe={"novita-sandbox-cli":"dist/index.js"},mSe={"@iarna/toml":"^2.2.5","@inquirer/prompts":"^7.9.0","@npmcli/package-json":"^5.2.1","@types/fs-extra":"^11.0.4","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","fs-extra":"^11.3.2",handlebars:"^4.7.9",inquirer:"^12.10.0","novita-sandbox":"2.0.2",open:"^9.1.0","simple-update-notifier":"^2.0.0",statuses:"^2.0.1","strip-ansi":"^7.1.0","update-notifier":"^6.0.2",winston:"^3.17.0","winston-transport":"^4.9.0",yaml:"^2.8.1",yup:"^1.3.2"},hSe={node:">=20"},_Se="pnpm@10.17.0+sha512.fce8a3dd29a4ed2ec566fb53efbb04d8c44a0f05bc6f24a73046910fb9c3ce7afa35a0980500668fa3573345bd644644fa98338fa168235c80f4aa17aa17fbef",gSe={name:nSe,version:MC,description:rSe,homepage:iSe,license:sSe,author:aSe,publishConfig:oSe,keywords:lSe,sideEffects:cSe,scripts:uSe,devDependencies:dSe,files:fSe,bin:pSe,dependencies:mSe,engines:hSe,packageManager:_Se};u();u();u();u();var M4=(t=0)=>e=>`\x1B[${e+t}m`,P4=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,k4=(t=0)=>(e,n,r)=>`\x1B[${38+t};2;${e};${n};${r}m`,Ft={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},vst=Object.keys(Ft.modifier),ESe=Object.keys(Ft.color),SSe=Object.keys(Ft.bgColor),Dst=[...ESe,...SSe];function bSe(){let t=new Map;for(let[e,n]of Object.entries(Ft)){for(let[r,i]of Object.entries(n))Ft[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Ft[r],t.set(i[0],i[1]);Object.defineProperty(Ft,e,{value:n,enumerable:!1})}return Object.defineProperty(Ft,"codes",{value:t,enumerable:!1}),Ft.color.close="\x1B[39m",Ft.bgColor.close="\x1B[49m",Ft.color.ansi=M4(),Ft.color.ansi256=P4(),Ft.color.ansi16m=k4(),Ft.bgColor.ansi=M4(10),Ft.bgColor.ansi256=P4(10),Ft.bgColor.ansi16m=k4(10),Object.defineProperties(Ft,{rgbToAnsi256:{value(e,n,r){return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(s=>s+s).join(""));let i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:e=>Ft.rgbToAnsi256(...Ft.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,r,i;if(e>=232)n=((e-232)*10+8)/255,r=n,i=n;else{e-=16;let o=e%36;n=Math.floor(e/36)/5,r=Math.floor(o/6)/5,i=o%6/5}let s=Math.max(n,r,i)*2;if(s===0)return 30;let a=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(n));return s===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,n,r)=>Ft.ansi256ToAnsi(Ft.rgbToAnsi256(e,n,r)),enumerable:!1},hexToAnsi:{value:e=>Ft.ansi256ToAnsi(Ft.hexToAnsi256(e)),enumerable:!1}}),Ft}var TSe=bSe(),zi=TSe;u();var V_=ee(require("process"),1),B4=ee(require("os"),1),PC=ee(require("tty"),1);function fi(t,e=globalThis.Deno?globalThis.Deno.args:V_.default.argv){let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),i=e.indexOf("--");return r!==-1&&(i===-1||r<i)}var{env:Bt}=V_.default,Y_;fi("no-color")||fi("no-colors")||fi("color=false")||fi("color=never")?Y_=0:(fi("color")||fi("colors")||fi("color=true")||fi("color=always"))&&(Y_=1);function ySe(){if("FORCE_COLOR"in Bt)return Bt.FORCE_COLOR==="true"?1:Bt.FORCE_COLOR==="false"?0:Bt.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Bt.FORCE_COLOR,10),3)}function xSe(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function CSe(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let r=ySe();r!==void 0&&(Y_=r);let i=n?Y_:r;if(i===0)return 0;if(n){if(fi("color=16m")||fi("color=full")||fi("color=truecolor"))return 3;if(fi("color=256"))return 2}if("TF_BUILD"in Bt&&"AGENT_NAME"in Bt)return 1;if(t&&!e&&i===void 0)return 0;let s=i||0;if(Bt.TERM==="dumb")return s;if(V_.default.platform==="win32"){let a=B4.default.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in Bt)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in Bt)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in Bt)||Bt.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Bt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Bt.TEAMCITY_VERSION)?1:0;if(Bt.COLORTERM==="truecolor"||Bt.TERM==="xterm-kitty"||Bt.TERM==="xterm-ghostty"||Bt.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Bt){let a=Number.parseInt((Bt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Bt.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Bt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Bt.TERM)||"COLORTERM"in Bt?1:s}function F4(t,e={}){let n=CSe(t,{streamIsTTY:t&&t.isTTY,...e});return xSe(n)}var vSe={stdout:F4({isTTY:PC.default.isatty(1)}),stderr:F4({isTTY:PC.default.isatty(2)})},U4=vSe;u();function G4(t,e,n){let r=t.indexOf(e);if(r===-1)return t;let i=e.length,s=0,a="";do a+=t.slice(s,r)+e+n,s=r+i,r=t.indexOf(e,s);while(r!==-1);return a+=t.slice(s),a}function q4(t,e,n,r){let i=0,s="";do{let a=t[r-1]==="\r";s+=t.slice(i,a?r-1:r)+e+(a?`\r
359
+ `);throw new Error("There is no such converter: "+i)}});dl.converters=Gx;age.exports=dl});var $nt={};v_($nt,{pkg:()=>Fx});module.exports=Zx($nt);u();var dge=ee(E4());u();var L4=ee(w4(),1),{program:_st,createCommand:gst,createArgument:Est,createOption:Sst,CommanderError:bst,InvalidArgumentError:bf,InvalidOptionArgumentError:Tst,Command:Ne,Argument:yst,Option:Za,Help:xst}=L4.default;var LC={};v_(LC,{author:()=>aSe,bin:()=>pSe,default:()=>gSe,dependencies:()=>mSe,description:()=>rSe,devDependencies:()=>dSe,engines:()=>hSe,files:()=>fSe,homepage:()=>iSe,keywords:()=>lSe,license:()=>sSe,name:()=>nSe,packageManager:()=>_Se,publishConfig:()=>oSe,scripts:()=>uSe,sideEffects:()=>cSe,version:()=>MC});var nSe="novita-sandbox-cli",MC="2.0.4-a1",rSe="CLI for managing Novita AI sandbox templates",iSe="https://novita.ai/sandbox",sSe="MIT",aSe={name:"Novita",url:"https://novita.ai"},oSe={access:"public"},lSe=["Novita","agents","ai","code-interpreter","sandbox","code","cli","runtime","vm","nodejs"],cSe=!1,uSe={prepublishOnly:"pnpm build",build:"tsc --noEmit --skipLibCheck && tsup --minify",dev:"tsup --watch",lint:"eslint src",test:"vitest run","check-deps":"knip","update-deps":"ncu -u && pnpm i","generate-ref":"./scripts/generate_sdk_ref.sh",typecheck:"tsc --noEmit --skipLibCheck",format:"prettier --write src","test:interactive":"pnpm build && ./dist/index.js","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},dSe={"@types/command-exists":"^1.2.3","@types/handlebars":"^4.1.0","@types/inquirer":"^9.0.7","@types/jest":"^30.0.0","@types/json2md":"^1.5.4","@types/node":"^18.18.6","@types/npmcli__package-json":"^4.0.4","@types/platform":"^1.3.6","@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"},fSe=["dist","LICENSE","README","package.json"],pSe={"novita-sandbox-cli":"dist/index.js"},mSe={"@iarna/toml":"^2.2.5","@inquirer/prompts":"^7.9.0","@npmcli/package-json":"^5.2.1","@types/fs-extra":"^11.0.4","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","fs-extra":"^11.3.2",handlebars:"^4.7.9",inquirer:"^12.10.0","novita-sandbox":"2.0.4-a1",open:"^9.1.0","simple-update-notifier":"^2.0.0",statuses:"^2.0.1","strip-ansi":"^7.1.0","update-notifier":"^6.0.2",winston:"^3.17.0","winston-transport":"^4.9.0",yaml:"^2.8.1",yup:"^1.3.2"},hSe={node:">=20"},_Se="pnpm@10.17.0+sha512.fce8a3dd29a4ed2ec566fb53efbb04d8c44a0f05bc6f24a73046910fb9c3ce7afa35a0980500668fa3573345bd644644fa98338fa168235c80f4aa17aa17fbef",gSe={name:nSe,version:MC,description:rSe,homepage:iSe,license:sSe,author:aSe,publishConfig:oSe,keywords:lSe,sideEffects:cSe,scripts:uSe,devDependencies:dSe,files:fSe,bin:pSe,dependencies:mSe,engines:hSe,packageManager:_Se};u();u();u();u();var M4=(t=0)=>e=>`\x1B[${e+t}m`,P4=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,k4=(t=0)=>(e,n,r)=>`\x1B[${38+t};2;${e};${n};${r}m`,Ft={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},vst=Object.keys(Ft.modifier),ESe=Object.keys(Ft.color),SSe=Object.keys(Ft.bgColor),Dst=[...ESe,...SSe];function bSe(){let t=new Map;for(let[e,n]of Object.entries(Ft)){for(let[r,i]of Object.entries(n))Ft[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=Ft[r],t.set(i[0],i[1]);Object.defineProperty(Ft,e,{value:n,enumerable:!1})}return Object.defineProperty(Ft,"codes",{value:t,enumerable:!1}),Ft.color.close="\x1B[39m",Ft.bgColor.close="\x1B[49m",Ft.color.ansi=M4(),Ft.color.ansi256=P4(),Ft.color.ansi16m=k4(),Ft.bgColor.ansi=M4(10),Ft.bgColor.ansi256=P4(10),Ft.bgColor.ansi16m=k4(10),Object.defineProperties(Ft,{rgbToAnsi256:{value(e,n,r){return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(s=>s+s).join(""));let i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:e=>Ft.rgbToAnsi256(...Ft.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,r,i;if(e>=232)n=((e-232)*10+8)/255,r=n,i=n;else{e-=16;let o=e%36;n=Math.floor(e/36)/5,r=Math.floor(o/6)/5,i=o%6/5}let s=Math.max(n,r,i)*2;if(s===0)return 30;let a=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(n));return s===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,n,r)=>Ft.ansi256ToAnsi(Ft.rgbToAnsi256(e,n,r)),enumerable:!1},hexToAnsi:{value:e=>Ft.ansi256ToAnsi(Ft.hexToAnsi256(e)),enumerable:!1}}),Ft}var TSe=bSe(),zi=TSe;u();var V_=ee(require("process"),1),B4=ee(require("os"),1),PC=ee(require("tty"),1);function fi(t,e=globalThis.Deno?globalThis.Deno.args:V_.default.argv){let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),i=e.indexOf("--");return r!==-1&&(i===-1||r<i)}var{env:Bt}=V_.default,Y_;fi("no-color")||fi("no-colors")||fi("color=false")||fi("color=never")?Y_=0:(fi("color")||fi("colors")||fi("color=true")||fi("color=always"))&&(Y_=1);function ySe(){if("FORCE_COLOR"in Bt)return Bt.FORCE_COLOR==="true"?1:Bt.FORCE_COLOR==="false"?0:Bt.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Bt.FORCE_COLOR,10),3)}function xSe(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function CSe(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let r=ySe();r!==void 0&&(Y_=r);let i=n?Y_:r;if(i===0)return 0;if(n){if(fi("color=16m")||fi("color=full")||fi("color=truecolor"))return 3;if(fi("color=256"))return 2}if("TF_BUILD"in Bt&&"AGENT_NAME"in Bt)return 1;if(t&&!e&&i===void 0)return 0;let s=i||0;if(Bt.TERM==="dumb")return s;if(V_.default.platform==="win32"){let a=B4.default.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in Bt)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in Bt)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in Bt)||Bt.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Bt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Bt.TEAMCITY_VERSION)?1:0;if(Bt.COLORTERM==="truecolor"||Bt.TERM==="xterm-kitty"||Bt.TERM==="xterm-ghostty"||Bt.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Bt){let a=Number.parseInt((Bt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Bt.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Bt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Bt.TERM)||"COLORTERM"in Bt?1:s}function F4(t,e={}){let n=CSe(t,{streamIsTTY:t&&t.isTTY,...e});return xSe(n)}var vSe={stdout:F4({isTTY:PC.default.isatty(1)}),stderr:F4({isTTY:PC.default.isatty(2)})},U4=vSe;u();function G4(t,e,n){let r=t.indexOf(e);if(r===-1)return t;let i=e.length,s=0,a="";do a+=t.slice(s,r)+e+n,s=r+i,r=t.indexOf(e,s);while(r!==-1);return a+=t.slice(s),a}function q4(t,e,n,r){let i=0,s="";do{let a=t[r-1]==="\r";s+=t.slice(i,a?r-1:r)+e+(a?`\r
360
360
  `:`
361
361
  `)+n,i=r+1,r=t.indexOf(`
362
362
  `,i)}while(r!==-1);return s+=t.slice(i),s}var{stdout:H4,stderr:$4}=U4,kC=Symbol("GENERATOR"),Kc=Symbol("STYLER"),Tf=Symbol("IS_EMPTY"),Y4=["ansi","ansi","ansi256","ansi16m"],zc=Object.create(null),DSe=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=H4?H4.level:0;t.level=e.level===void 0?n:e.level};var ASe=t=>{let e=(...n)=>n.join(" ");return DSe(e,t),Object.setPrototypeOf(e,yf.prototype),e};function yf(t){return ASe(t)}Object.setPrototypeOf(yf.prototype,Function.prototype);for(let[t,e]of Object.entries(zi))zc[t]={get(){let n=W_(this,BC(e.open,e.close,this[Kc]),this[Tf]);return Object.defineProperty(this,t,{value:n}),n}};zc.visible={get(){let t=W_(this,this[Kc],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var FC=(t,e,n,...r)=>t==="rgb"?e==="ansi16m"?zi[n].ansi16m(...r):e==="ansi256"?zi[n].ansi256(zi.rgbToAnsi256(...r)):zi[n].ansi(zi.rgbToAnsi(...r)):t==="hex"?FC("rgb",e,n,...zi.hexToRgb(...r)):zi[n][t](...r),NSe=["rgb","hex","ansi256"];for(let t of NSe){zc[t]={get(){let{level:n}=this;return function(...r){let i=BC(FC(t,Y4[n],"color",...r),zi.color.close,this[Kc]);return W_(this,i,this[Tf])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);zc[e]={get(){let{level:n}=this;return function(...r){let i=BC(FC(t,Y4[n],"bgColor",...r),zi.bgColor.close,this[Kc]);return W_(this,i,this[Tf])}}}}var OSe=Object.defineProperties(()=>{},{...zc,level:{enumerable:!0,get(){return this[kC].level},set(t){this[kC].level=t}}}),BC=(t,e,n)=>{let r,i;return n===void 0?(r=t,i=e):(r=n.openAll+t,i=e+n.closeAll),{open:t,close:e,openAll:r,closeAll:i,parent:n}},W_=(t,e,n)=>{let r=(...i)=>RSe(r,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(r,OSe),r[kC]=t,r[Kc]=e,r[Tf]=n,r},RSe=(t,e)=>{if(t.level<=0||!e)return t[Tf]?"":e;let n=t[Kc];if(n===void 0)return e;let{openAll:r,closeAll:i}=n;if(e.includes("\x1B"))for(;n!==void 0;)e=G4(e,n.close,n.open),n=n.parent;let s=e.indexOf(`
@@ -373,7 +373,7 @@ ${r.message}`:g,x=[b,e,t].filter(Boolean).join(`
373
373
  Selected team: ${n} (${r})`}function UY(t,e){let n=pe(t.name),r=pe(t.teamID),i=t.teamID==e?qe(" (currently selected team)"):"";return`${n} (${r})${i}`}function Dt(t,e){let n=RD(t.aliases),r=n?pe(n):"",i=e?EOe(" <-> ")+pt(e):"";return`${`${t.templateID} `}${r}${i}`.trim()}function gOe(t){return Be.redBright(t)}function da(t,e){return Be.redBright(`${t?`${t}
374
374
  `:""}${e?e.stack:""}
375
375
  `)}function EOe(t){return Be.dim(t)}function pe(t){return Be.bold(t)}function qe(t){return Be.hex(_Oe)(t)}function n1(t){return Be.blue(t)}function At(t){return Be.blue(t)}function pt(t){return t?At("./"+kY(t)):""}function r1(t){return Be.blueBright(t)}function hu(t){return Be.underline(t)}function RD(t){if(t)return t.join(", ")}function _u(t){return OD.default(t,{language:"typescript",ignoreIllegals:!0})}function gu(t){return OD.default(t,{language:"python",ignoreIllegals:!0})}var SOe={topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",top:"",bottom:"",left:"",right:""},FY=2,BY=1;function fa(t,e,n){return Ei(t,{borderStyle:{...SOe,top:"\u2500",bottom:n?"\u2500":""},titleAlignment:"center",float:"left",title:e?pe(e):void 0,margin:{top:0,bottom:0,left:1,right:0},fullscreen:r=>[r,0],padding:{bottom:n?BY:0,left:FY,right:FY,top:BY}})}u();u();u();u();u();var bOe=/\{[^{}]+\}/g,TOe=()=>typeof process=="object"&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function yOe(){return Math.random().toString(36).slice(2,11)}function Qf(t){let{baseUrl:e="",Request:n=globalThis.Request,fetch:r=globalThis.fetch,querySerializer:i,bodySerializer:s,headers:a,requestInitExt:o=void 0,...l}={...t};o=TOe()?o:void 0,e=HY(e);let c=[];async function d(f,p){let{baseUrl:m,fetch:h=r,Request:g=n,headers:E,params:b={},parseAs:x="json",querySerializer:v,bodySerializer:O=s??COe,body:I,...k}=p||{},F=e;m&&(F=HY(m)??e);let N=typeof i=="function"?i:GY(i);v&&(N=typeof v=="function"?v:GY({...typeof i=="object"?i:{},...v}));let A=I===void 0?void 0:O(I,qY(a,E,b.header)),w=qY(A===void 0||A instanceof FormData?{}:{"Content-Type":"application/json"},a,E,b.header),V={redirect:"follow",...l,...k,body:A,headers:w},Q,ne,ae=new g(vOe(f,{baseUrl:F,params:b,querySerializer:N}),V),se;for(let Te in k)Te in ae||(ae[Te]=k[Te]);if(c.length){Q=yOe(),ne=Object.freeze({baseUrl:F,fetch:h,parseAs:x,querySerializer:N,bodySerializer:O});for(let Te of c)if(Te&&typeof Te=="object"&&typeof Te.onRequest=="function"){let ve=await Te.onRequest({request:ae,schemaPath:f,params:b,options:ne,id:Q});if(ve)if(ve instanceof g)ae=ve;else if(ve instanceof Response){se=ve;break}else throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}if(!se){try{se=await h(ae,o)}catch(Te){let ve=Te;if(c.length)for(let Me=c.length-1;Me>=0;Me--){let ht=c[Me];if(ht&&typeof ht=="object"&&typeof ht.onError=="function"){let dt=await ht.onError({request:ae,error:ve,schemaPath:f,params:b,options:ne,id:Q});if(dt){if(dt instanceof Response){ve=void 0,se=dt;break}if(dt instanceof Error){ve=dt;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(ve)throw ve}if(c.length)for(let Te=c.length-1;Te>=0;Te--){let ve=c[Te];if(ve&&typeof ve=="object"&&typeof ve.onResponse=="function"){let Me=await ve.onResponse({request:ae,response:se,schemaPath:f,params:b,options:ne,id:Q});if(Me){if(!(Me instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");se=Me}}}}if(se.status===204||ae.method==="HEAD"||se.headers.get("Content-Length")==="0")return se.ok?{data:void 0,response:se}:{error:void 0,response:se};if(se.ok)return x==="stream"?{data:se.body,response:se}:{data:await se[x](),response:se};let Ce=await se.text();try{Ce=JSON.parse(Ce)}catch{}return{error:Ce,response:se}}return{request(f,p,m){return d(p,{...m,method:f.toUpperCase()})},GET(f,p){return d(f,{...p,method:"GET"})},PUT(f,p){return d(f,{...p,method:"PUT"})},POST(f,p){return d(f,{...p,method:"POST"})},DELETE(f,p){return d(f,{...p,method:"DELETE"})},OPTIONS(f,p){return d(f,{...p,method:"OPTIONS"})},HEAD(f,p){return d(f,{...p,method:"HEAD"})},PATCH(f,p){return d(f,{...p,method:"PATCH"})},TRACE(f,p){return d(f,{...p,method:"TRACE"})},use(...f){for(let p of f)if(p){if(typeof p!="object"||!("onRequest"in p||"onResponse"in p||"onError"in p))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");c.push(p)}},eject(...f){for(let p of f){let m=c.indexOf(p);m!==-1&&c.splice(m,1)}}}}function i1(t,e,n){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}=${n?.allowReserved===!0?e:encodeURIComponent(e)}`}function $Y(t,e,n){if(!e||typeof e!="object")return"";let r=[],i={simple:",",label:".",matrix:";"}[n.style]||"&";if(n.style!=="deepObject"&&n.explode===!1){for(let o in e)r.push(o,n.allowReserved===!0?e[o]:encodeURIComponent(e[o]));let a=r.join(",");switch(n.style){case"form":return`${t}=${a}`;case"label":return`.${a}`;case"matrix":return`;${t}=${a}`;default:return a}}for(let a in e){let o=n.style==="deepObject"?`${t}[${a}]`:a;r.push(i1(o,e[a],n))}let s=r.join(i);return n.style==="label"||n.style==="matrix"?`${i}${s}`:s}function YY(t,e,n){if(!Array.isArray(e))return"";if(n.explode===!1){let s={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",a=(n.allowReserved===!0?e:e.map(o=>encodeURIComponent(o))).join(s);switch(n.style){case"simple":return a;case"label":return`.${a}`;case"matrix":return`;${t}=${a}`;default:return`${t}=${a}`}}let r={simple:",",label:".",matrix:";"}[n.style]||"&",i=[];for(let s of e)n.style==="simple"||n.style==="label"?i.push(n.allowReserved===!0?s:encodeURIComponent(s)):i.push(i1(t,s,n));return n.style==="label"||n.style==="matrix"?`${r}${i.join(r)}`:i.join(r)}function GY(t){return function(n){let r=[];if(n&&typeof n=="object")for(let i in n){let s=n[i];if(s!=null){if(Array.isArray(s)){if(s.length===0)continue;r.push(YY(i,s,{style:"form",explode:!0,...t?.array,allowReserved:t?.allowReserved||!1}));continue}if(typeof s=="object"){r.push($Y(i,s,{style:"deepObject",explode:!0,...t?.object,allowReserved:t?.allowReserved||!1}));continue}r.push(i1(i,s,t))}}return r.join("&")}}function xOe(t,e){let n=t;for(let r of t.match(bOe)??[]){let i=r.substring(1,r.length-1),s=!1,a="simple";if(i.endsWith("*")&&(s=!0,i=i.substring(0,i.length-1)),i.startsWith(".")?(a="label",i=i.substring(1)):i.startsWith(";")&&(a="matrix",i=i.substring(1)),!e||e[i]===void 0||e[i]===null)continue;let o=e[i];if(Array.isArray(o)){n=n.replace(r,YY(i,o,{style:a,explode:s}));continue}if(typeof o=="object"){n=n.replace(r,$Y(i,o,{style:a,explode:s}));continue}if(a==="matrix"){n=n.replace(r,`;${i1(i,o)}`);continue}n=n.replace(r,a==="label"?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function COe(t,e){return t instanceof FormData?t:e&&(e.get instanceof Function?e.get("Content-Type")??e.get("content-type"):e["Content-Type"]??e["content-type"])==="application/x-www-form-urlencoded"?new URLSearchParams(t).toString():JSON.stringify(t)}function vOe(t,e){let n=`${e.baseUrl}${t}`;e.params?.path&&(n=xOe(n,e.params.path));let r=e.querySerializer(e.params.query??{});return r.startsWith("?")&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function qY(...t){let e=new Headers;for(let n of t){if(!n||typeof n!="object")continue;let r=n instanceof Headers?n.entries():Object.entries(n);for(let[i,s]of r)if(s===null)e.delete(i);else if(Array.isArray(s))for(let a of s)e.append(i,a);else s!==void 0&&e.set(i,s)}return e}function HY(t){return t.endsWith("/")?t.substring(0,t.length-1):t}var qN=ee(ID(),1),HN=ee(ID(),1);u();u();u();var Re;(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"})(Re||(Re={}));u();u();function Zf(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 K;(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"})(K||(K={}));u();u();u();function WY(){let t=0,e=0;for(let r=0;r<28;r+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<r,(i&128)==0)return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,(n&128)==0)return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<r,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function o1(t,e,n){for(let s=0;s<28;s=s+7){let a=t>>>s,o=!(!(a>>>7)&&e==0),l=(o?a|128:a)&255;if(n.push(l),!o)return}let r=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(n.push((i?r|128:r)&255),!!i){for(let s=3;s<31;s=s+7){let a=e>>>s,o=!!(a>>>7),l=(o?a|128:a)&255;if(n.push(l),!o)return}n.push(e>>>31&1)}}var a1=4294967296;function wD(t){let e=t[0]==="-";e&&(t=t.slice(1));let n=1e6,r=0,i=0;function s(a,o){let l=Number(t.slice(a,o));i*=n,r=r*n+l,r>=a1&&(i=i+(r/a1|0),r=r%a1)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),e?zY(r,i):MD(r,i)}function KY(t,e){let n=MD(t,e),r=n.hi&2147483648;r&&(n=zY(n.lo,n.hi));let i=LD(n.lo,n.hi);return r?"-"+i:i}function LD(t,e){if({lo:t,hi:e}=DOe(t,e),e<=2097151)return String(a1*e+t);let n=t&16777215,r=(t>>>24|e<<8)&16777215,i=e>>16&65535,s=n+r*6777216+i*6710656,a=r+i*8147497,o=i*2,l=1e7;return s>=l&&(a+=Math.floor(s/l),s%=l),a>=l&&(o+=Math.floor(a/l),a%=l),o.toString()+VY(a)+VY(s)}function DOe(t,e){return{lo:t>>>0,hi:e>>>0}}function MD(t,e){return{lo:t|0,hi:e|0}}function zY(t,e){return e=~e,t?t=~t+1:e+=1,MD(t,e)}var VY=t=>{let e=String(t);return"0000000".slice(e.length)+e};function Jf(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t=t>>7;e.push(1)}}function jY(){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 n=5;(t&128)!==0&&n<10;n++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var _t=AOe();function AOe(){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 n=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),i=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(a){let o=typeof a=="bigint"?a:BigInt(a);if(o>r||o<n)throw new Error(`invalid int64: ${a}`);return o},uParse(a){let o=typeof a=="bigint"?a:BigInt(a);if(o>s||o<i)throw new Error(`invalid uint64: ${a}`);return o},enc(a){return t.setBigInt64(0,this.parse(a),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(a){return t.setBigInt64(0,this.uParse(a),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(a,o){return t.setInt32(0,a,!0),t.setInt32(4,o,!0),t.getBigInt64(0,!0)},uDec(a,o){return t.setInt32(0,a,!0),t.setInt32(4,o,!0),t.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(n){return typeof n!="string"&&(n=n.toString()),QY(n),n},uParse(n){return typeof n!="string"&&(n=n.toString()),XY(n),n},enc(n){return typeof n!="string"&&(n=n.toString()),QY(n),wD(n)},uEnc(n){return typeof n!="string"&&(n=n.toString()),XY(n),wD(n)},dec(n,r){return KY(n,r)},uDec(n,r){return LD(n,r)}}}function QY(t){if(!/^-?[0-9]+$/.test(t))throw new Error("invalid int64: "+t)}function XY(t){if(!/^[0-9]+$/.test(t))throw new Error("invalid uint64: "+t)}function ei(t,e){switch(t){case K.STRING:return"";case K.BOOL:return!1;case K.DOUBLE:case K.FLOAT:return 0;case K.INT64:case K.UINT64:case K.SFIXED64:case K.FIXED64:case K.SINT64:return e?"0":_t.zero;case K.BYTES:return new Uint8Array(0);default:return 0}}function ZY(t,e){switch(t){case K.BOOL:return e===!1;case K.STRING:return e==="";case K.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}u();u();var JY=2,Zi=Symbol.for("reflect unsafe local");function l1(t,e){let n=t[e.localName].case;return n===void 0?n:e.fields.find(r=>r.localName===n)}function eV(t,e){let n=e.localName;if(e.oneof)return t[e.oneof.localName].case===n;if(e.presence!=JY)return t[n]!==void 0&&Object.prototype.hasOwnProperty.call(t,n);switch(e.fieldKind){case"list":return t[n].length>0;case"map":return Object.keys(t[n]).length>0;case"scalar":return!ZY(e.scalar,t[n]);case"enum":return t[n]!==e.enum.values[0].number}throw new Error("message field with implicit presence")}function Dl(t,e){return Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==void 0}function c1(t,e){if(e.oneof){let n=t[e.oneof.localName];return n.case===e.localName?n.value:void 0}return t[e.localName]}function u1(t,e,n){e.oneof?t[e.oneof.localName]={case:e.localName,value:n}:t[e.localName]=n}function tV(t,e){let n=e.localName;if(e.oneof){let r=e.oneof.localName;t[r].case===n&&(t[r]={case:void 0})}else if(e.presence!=JY)delete t[n];else switch(e.fieldKind){case"map":t[n]={};break;case"list":t[n]=[];break;case"enum":t[n]=e.enum.values[0].number;break;case"scalar":t[n]=ei(e.scalar,e.longAsString);break}}function Cs(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function ep(t,e){var n,r,i,s;if(Cs(t)&&Zi in t&&"add"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){let a=e,o=t.field();return a.listKind==o.listKind&&a.scalar===o.scalar&&((n=a.message)===null||n===void 0?void 0:n.typeName)===((r=o.message)===null||r===void 0?void 0:r.typeName)&&((i=a.enum)===null||i===void 0?void 0:i.typeName)===((s=o.enum)===null||s===void 0?void 0:s.typeName)}return!0}return!1}function tp(t,e){var n,r,i,s;if(Cs(t)&&Zi in t&&"has"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){let a=e,o=t.field();return a.mapKey===o.mapKey&&a.mapKind==o.mapKind&&a.scalar===o.scalar&&((n=a.message)===null||n===void 0?void 0:n.typeName)===((r=o.message)===null||r===void 0?void 0:r.typeName)&&((i=a.enum)===null||i===void 0?void 0:i.typeName)===((s=o.enum)===null||s===void 0?void 0:s.typeName)}return!0}return!1}function np(t,e){return Cs(t)&&Zi in t&&"desc"in t&&Cs(t.desc)&&t.desc.kind==="message"&&(e===void 0||t.desc.typeName==e.typeName)}u();function nV(t){return rV(t.$typeName)}function vs(t){let e=t.fields[0];return rV(t.typeName)&&e!==void 0&&e.fieldKind=="scalar"&&e.name=="value"&&e.number==1}function rV(t){return t.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(t.substring(16))}var NOe=999,OOe=998,d1=2;function jn(t,e){if(Zf(e,t))return e;let n=MOe(t);return e!==void 0&&ROe(t,n,e),n}function ROe(t,e,n){for(let r of t.members){let i=n[r.localName];if(i==null)continue;let s;if(r.kind=="oneof"){let a=l1(n,r);if(!a)continue;s=a,i=c1(n,a)}else s=r;switch(s.fieldKind){case"message":i=kD(s,i);break;case"scalar":i=aV(s,i);break;case"list":i=wOe(s,i);break;case"map":i=IOe(s,i);break}u1(e,s,i)}return e}function aV(t,e){return t.scalar==K.BYTES?FD(e):e}function IOe(t,e){if(Cs(e)){if(t.scalar==K.BYTES)return iV(e,FD);if(t.mapKind=="message")return iV(e,n=>kD(t,n))}return e}function wOe(t,e){if(Array.isArray(e)){if(t.scalar==K.BYTES)return e.map(FD);if(t.listKind=="message")return e.map(n=>kD(t,n))}return e}function kD(t,e){if(t.fieldKind=="message"&&!t.oneof&&vs(t.message))return aV(t.message.fields[0],e);if(Cs(e)){if(t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!=="google.protobuf.Value")return e;if(!Zf(e,t.message))return jn(t.message,e)}return e}function FD(t){return Array.isArray(t)?new Uint8Array(t):t}function iV(t,e){let n={};for(let r of Object.entries(t))n[r[0]]=e(r[1]);return n}var LOe=Symbol(),sV=new WeakMap;function MOe(t){let e;if(POe(t)){let n=sV.get(t),r,i;if(n)({prototype:r,members:i}=n);else{r={},i=new Set;for(let s of t.members)s.kind!="oneof"&&(s.fieldKind!="scalar"&&s.fieldKind!="enum"||s.presence!=d1&&(i.add(s),r[s.localName]=PD(s)));sV.set(t,{prototype:r,members:i})}e=Object.create(r),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!=d1)||(e[s.localName]=PD(s))}else{e={$typeName:t.typeName};for(let n of t.members)(n.kind=="oneof"||n.presence==d1)&&(e[n.localName]=PD(n))}return e}function POe(t){switch(t.file.edition){case NOe:return!1;case OOe:return!0;default:return t.fields.some(e=>e.presence!=d1&&e.fieldKind!="message"&&!e.oneof)}}function PD(t){if(t.kind=="oneof")return{case:void 0};if(t.fieldKind=="list")return[];if(t.fieldKind=="map")return{};if(t.fieldKind=="message")return LOe;let e=t.getDefaultValue();return e!==void 0?t.fieldKind=="scalar"&&t.longAsString?e.toString():e:t.fieldKind=="scalar"?ei(t.scalar,t.longAsString):t.enum.values[0].number}u();u();u();var kOe=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"],yn=class extends Error{constructor(e,n,r="FieldValueInvalidError"){super(n),this.name=r,this.field=()=>e}};function oV(t){return t instanceof Error&&kOe.includes(t.name)&&"field"in t&&typeof t.field=="function"}u();u();var BD=Symbol.for("@bufbuild/protobuf/text-encoding");function rp(){if(globalThis[BD]==null){let t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[BD]={encodeUtf8(n){return t.encode(n)},decodeUtf8(n){return e.decode(n)},checkUtf8(n){try{return encodeURIComponent(n),!0}catch{return!1}}}}return globalThis[BD]}var Kt;(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"})(Kt||(Kt={}));var GD=34028234663852886e22,qD=-34028234663852886e22,HD=4294967295,$D=2147483647,YD=-2147483648,Eu=class{constructor(e=rp().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 n=new Uint8Array(e),r=0;for(let i=0;i<this.chunks.length;i++)n.set(this.chunks[i],r),r+=this.chunks[i].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,n){return this.uint32((e<<3|n)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(lV(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return UD(e),Jf(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 n=this.encodeUtf8(e);return this.uint32(n.byteLength),this.raw(n)}float(e){FOe(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){lV(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){UD(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return UD(e),e=(e<<1^e>>31)>>>0,Jf(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),r=new DataView(n.buffer),i=_t.enc(e);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),r=new DataView(n.buffer),i=_t.uEnc(e);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(n)}int64(e){let n=_t.enc(e);return o1(n.lo,n.hi,this.buf),this}sint64(e){let n=_t.enc(e),r=n.hi>>31,i=n.lo<<1^r,s=(n.hi<<1|n.lo>>>31)^r;return o1(i,s,this.buf),this}uint64(e){let n=_t.uEnc(e);return o1(n.lo,n.hi,this.buf),this}},Al=class{constructor(e,n=rp().decodeUtf8){this.decodeUtf8=n,this.varint64=WY,this.uint32=jY,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(),n=e>>>3,r=e&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(e,n){let r=this.pos;switch(e){case Kt.Varint:for(;this.buf[this.pos++]&128;);break;case Kt.Bit64:this.pos+=4;case Kt.Bit32:this.pos+=4;break;case Kt.LengthDelimited:let i=this.uint32();this.pos+=i;break;case Kt.StartGroup:for(;;){let[s,a]=this.tag();if(a===Kt.EndGroup){if(n!==void 0&&s!==n)throw new Error("invalid end group tag");break}this.skip(a,s)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(r,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 _t.dec(...this.varint64())}uint64(){return _t.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),r=-(e&1);return e=(e>>>1|(n&1)<<31)^r,n=n>>>1^r,_t.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return _t.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return _t.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(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.decodeUtf8(this.bytes())}};function UD(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>$D||t<YD)throw new Error("invalid int32: "+t)}function lV(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>HD||t<0)throw new Error("invalid uint32: "+t)}function FOe(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>GD||t<qD))throw new Error("invalid float32: "+t)}function pa(t,e){let n=t.fieldKind=="list"?ep(e,t):t.fieldKind=="map"?tp(e,t):WD(t,e);if(n===!0)return;let r;switch(t.fieldKind){case"list":r=`expected ${fV(t)}, got ${dn(e)}`;break;case"map":r=`expected ${pV(t)}, got ${dn(e)}`;break;default:r=f1(t,e,n)}return new yn(t,r)}function VD(t,e,n){let r=WD(t,n);if(r!==!0)return new yn(t,`list item #${e+1}: ${f1(t,n,r)}`)}function cV(t,e,n){let r=uV(e,t.mapKey);if(r!==!0)return new yn(t,`invalid map key: ${f1({scalar:t.mapKey},e,r)}`);let i=WD(t,n);if(i!==!0)return new yn(t,`map entry ${dn(e)}: ${f1(t,n,i)}`)}function WD(t,e){return t.scalar!==void 0?uV(e,t.scalar):t.enum!==void 0?t.enum.open?Number.isInteger(e):t.enum.values.some(n=>n.number===e):np(e,t.message)}function uV(t,e){switch(e){case K.DOUBLE:return typeof t=="number";case K.FLOAT:return typeof t!="number"?!1:Number.isNaN(t)||!Number.isFinite(t)?!0:t>GD||t<qD?`${t.toFixed()} out of range`:!0;case K.INT32:case K.SFIXED32:case K.SINT32:return typeof t!="number"||!Number.isInteger(t)?!1:t>$D||t<YD?`${t.toFixed()} out of range`:!0;case K.FIXED32:case K.UINT32:return typeof t!="number"||!Number.isInteger(t)?!1:t>HD||t<0?`${t.toFixed()} out of range`:!0;case K.BOOL:return typeof t=="boolean";case K.STRING:return typeof t!="string"?!1:rp().checkUtf8(t)||"invalid UTF8";case K.BYTES:return t instanceof Uint8Array;case K.INT64:case K.SFIXED64:case K.SINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return _t.parse(t),!0}catch{return`${t} out of range`}return!1;case K.FIXED64:case K.UINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return _t.uParse(t),!0}catch{return`${t} out of range`}return!1}}function f1(t,e,n){return n=typeof n=="string"?`: ${n}`:`, got ${dn(e)}`,t.scalar!==void 0?`expected ${BOe(t.scalar)}`+n:t.enum!==void 0?`expected ${t.enum.toString()}`+n:`expected ${dV(t.message)}`+n}function dn(t){switch(typeof t){case"object":return t===null?"null":t instanceof Uint8Array?`Uint8Array(${t.length})`:Array.isArray(t)?`Array(${t.length})`:ep(t)?fV(t.field()):tp(t)?pV(t.field()):np(t)?dV(t.desc):Zf(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 dV(t){return`ReflectMessage (${t.typeName})`}function fV(t){switch(t.listKind){case"message":return`ReflectList (${t.message.toString()})`;case"enum":return`ReflectList (${t.enum.toString()})`;case"scalar":return`ReflectList (${K[t.scalar]})`}}function pV(t){switch(t.mapKind){case"message":return`ReflectMap (${K[t.mapKey]}, ${t.message.toString()})`;case"enum":return`ReflectMap (${K[t.mapKey]}, ${t.enum.toString()})`;case"scalar":return`ReflectMap (${K[t.mapKey]}, ${K[t.scalar]})`}}function BOe(t){switch(t){case K.STRING:return"string";case K.BOOL:return"boolean";case K.INT64:case K.SINT64:case K.SFIXED64:return"bigint (int64)";case K.UINT64:case K.FIXED64:return"bigint (uint64)";case K.BYTES:return"Uint8Array";case K.DOUBLE:return"number (float64)";case K.FLOAT:return"number (float32)";case K.FIXED32:case K.UINT32:return"number (uint32)";case K.INT32:case K.SFIXED32:case K.SINT32:return"number (int32)"}}function Qn(t,e,n=!0){return new m1(t,e,n)}var m1=class{get sortedFields(){var e;return(e=this._sortedFields)!==null&&e!==void 0?e:this._sortedFields=this.desc.fields.concat().sort((n,r)=>n.number-r.number)}constructor(e,n,r=!0){this.lists=new Map,this.maps=new Map,this.check=r,this.desc=e,this.message=this[Zi]=n??jn(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(n=>[n.number,n]))),this._fieldsByNumber.get(e)}oneofCase(e){return ip(this.message,e),l1(this.message,e)}isSet(e){return ip(this.message,e),eV(this.message,e)}clear(e){ip(this.message,e),tV(this.message,e)}get(e){ip(this.message,e);let n=c1(this.message,e);switch(e.fieldKind){case"list":let r=this.lists.get(e);return(!r||r[Zi]!==n)&&this.lists.set(e,r=new jD(e,n,this.check)),r;case"map":let i=this.maps.get(e);return(!i||i[Zi]!==n)&&this.maps.set(e,i=new QD(e,n,this.check)),i;case"message":return ZD(e,n,this.check);case"scalar":return n===void 0?ei(e.scalar,!1):JD(e,n);case"enum":return n??e.enum.values[0].number}}set(e,n){if(ip(this.message,e),this.check){let i=pa(e,n);if(i)throw i}let r;e.fieldKind=="message"?r=XD(e,n):tp(n)||ep(n)?r=n[Zi]:r=eA(e,n),u1(this.message,e,r)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}};function ip(t,e){if(e.parent.typeName!==t.$typeName)throw new yn(e,`cannot use ${e.toString()} with message ${t.$typeName}`,"ForeignFieldError")}var jD=class{field(){return this._field}get size(){return this._arr.length}constructor(e,n,r){this._field=e,this._arr=this[Zi]=n,this.check=r}get(e){let n=this._arr[e];return n===void 0?void 0:KD(this._field,n,this.check)}set(e,n){if(e<0||e>=this._arr.length)throw new yn(this._field,`list item #${e+1}: out of range`);if(this.check){let r=VD(this._field,e,n);if(r)throw r}this._arr[e]=mV(this._field,n)}add(e){if(this.check){let n=VD(this._field,this._arr.length,e);if(n)throw n}this._arr.push(mV(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 KD(this._field,e,this.check)}*entries(){for(let e=0;e<this._arr.length;e++)yield[e,KD(this._field,this._arr[e],this.check)]}};var QD=class{constructor(e,n,r=!0){this.obj=this[Zi]=n??{},this.check=r,this._field=e}field(){return this._field}set(e,n){if(this.check){let r=cV(this._field,e,n);if(r)throw r}return this.obj[p1(e)]=UOe(this._field,n),this}delete(e){let n=p1(e),r=Object.prototype.hasOwnProperty.call(this.obj,n);return r&&delete this.obj[n],r}clear(){for(let e of Object.keys(this.obj))delete this.obj[e]}get(e){let n=this.obj[p1(e)];return n!==void 0&&(n=zD(this._field,n,this.check)),n}has(e){return Object.prototype.hasOwnProperty.call(this.obj,p1(e))}*keys(){for(let e of Object.keys(this.obj))yield hV(e,this._field.mapKey)}*entries(){for(let e of Object.entries(this.obj))yield[hV(e[0],this._field.mapKey),zD(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 zD(this._field,e,this.check)}forEach(e,n){for(let r of this.entries())e.call(n,r[1],r[0],this)}};function XD(t,e){return np(e)?nV(e.message)&&!t.oneof&&t.fieldKind=="message"?e.message.value:e.desc.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"?gV(e.message):e.message:e}function ZD(t,e,n){return e!==void 0&&(vs(t.message)&&!t.oneof&&t.fieldKind=="message"?e={$typeName:t.message.typeName,value:JD(t.message.fields[0],e)}:t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"&&Cs(e)&&(e=_V(e))),new m1(t.message,e,n)}function mV(t,e){return t.listKind=="message"?XD(t,e):eA(t,e)}function KD(t,e,n){return t.listKind=="message"?ZD(t,e,n):JD(t,e)}function UOe(t,e){return t.mapKind=="message"?XD(t,e):eA(t,e)}function zD(t,e,n){return t.mapKind=="message"?ZD(t,e,n):e}function p1(t){return typeof t=="string"||typeof t=="number"?t:String(t)}function hV(t,e){switch(e){case K.STRING:return t;case K.INT32:case K.FIXED32:case K.UINT32:case K.SFIXED32:case K.SINT32:{let n=Number.parseInt(t);if(Number.isFinite(n))return n;break}case K.BOOL:switch(t){case"true":return!0;case"false":return!1}break;case K.UINT64:case K.FIXED64:try{return _t.uParse(t)}catch{}break;default:try{return _t.parse(t)}catch{}break}return t}function JD(t,e){switch(t.scalar){case K.INT64:case K.SFIXED64:case K.SINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=_t.parse(e));break;case K.FIXED64:case K.UINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=_t.uParse(e));break}return e}function eA(t,e){switch(t.scalar){case K.INT64:case K.SFIXED64:case K.SINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=_t.parse(e));break;case K.FIXED64:case K.UINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=_t.uParse(e));break}return e}function _V(t){let e={$typeName:"google.protobuf.Struct",fields:{}};if(Cs(t))for(let[n,r]of Object.entries(t))e.fields[n]=SV(r);return e}function gV(t){let e={};for(let[n,r]of Object.entries(t.fields))e[n]=EV(r);return e}function EV(t){switch(t.kind.case){case"structValue":return gV(t.kind.value);case"listValue":return t.kind.value.values.map(EV);case"nullValue":case void 0:return null;default:return t.kind.value}}function SV(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 n={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(t))for(let r of t)n.values.push(SV(r));e.kind={case:"listValue",value:n}}else e.kind={case:"structValue",value:_V(t)};break}return e}u();u();u();function bu(t){let e=GOe(),n=t.length*3/4;t[t.length-2]=="="?n-=2:t[t.length-1]=="="&&(n-=1);let r=new Uint8Array(n),i=0,s=0,a,o=0;for(let l=0;l<t.length;l++){if(a=e[t.charCodeAt(l)],a===void 0)switch(t[l]){case"=":s=0;case`
376
- `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(s){case 0:o=a,s=1;break;case 1:r[i++]=o<<2|(a&48)>>4,o=a,s=2;break;case 2:r[i++]=(o&15)<<4|(a&60)>>2,o=a,s=3;break;case 3:r[i++]=(o&3)<<6|a,s=0;break}}if(s==1)throw Error("invalid base64 string");return r.subarray(0,i)}function sp(t,e="std"){let n=TV(e),r=e=="std",i="",s=0,a,o=0;for(let l=0;l<t.length;l++)switch(a=t[l],s){case 0:i+=n[a>>2],o=(a&3)<<4,s=1;break;case 1:i+=n[o|a>>4],o=(a&15)<<2,s=2;break;case 2:i+=n[o|a>>6],i+=n[a&63],s=0;break}return s&&(i+=n[o],r&&(i+="=",s==1&&(i+="="))),i}var h1,bV,Su;function TV(t){return h1||(h1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),bV=h1.slice(0,-2).concat("-","_")),t=="url"?bV:h1}function GOe(){if(!Su){Su=[];let t=TV("std");for(let e=0;e<t.length;e++)Su[t[e].charCodeAt(0)]=e;Su[45]=t.indexOf("+"),Su[95]=t.indexOf("/")}return Su}u();u();u();u();function fo(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let i=t.charAt(r);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":n.push(i),e=!1;break;default:e&&(e=!1,i=i.toUpperCase()),n.push(i);break}}return n.join("")}var qOe=new Set(["constructor","toString","toJSON","valueOf"]);function Tu(t){return qOe.has(t)?t+"$":t}function ap(t){for(let e of t.field)Dl(e,"jsonName")||(e.jsonName=fo(e.name));t.nestedType.forEach(ap)}u();u();function yV(t,e){let n=t.values.find(r=>r.name===e);if(!n)throw new Error(`cannot parse ${t} default value: ${e}`);return n.number}function xV(t,e){switch(t){case K.STRING:return e;case K.BYTES:{let n=HOe(e);if(n===!1)throw new Error(`cannot parse ${K[t]} default value: ${e}`);return n}case K.INT64:case K.SFIXED64:case K.SINT64:return _t.parse(e);case K.UINT64:case K.FIXED64:return _t.uParse(e);case K.DOUBLE:case K.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 K.BOOL:return e==="true";case K.INT32:case K.UINT32:case K.SINT32:case K.FIXED32:case K.SFIXED32:return parseInt(e,10)}}function HOe(t){let e=[],n={tail:t,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(r){if(this.tail.length>=r){let i=this.tail.substring(0,r);return this.tail=this.tail.substring(r),i}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":e.push(n.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 r=n.c,i=n.take(2);if(i===!1)return!1;let s=parseInt(r+i,8);if(Number.isNaN(s))return!1;e.push(s);break}case"x":{let r=n.c,i=n.take(2);if(i===!1)return!1;let s=parseInt(r+i,16);if(Number.isNaN(s))return!1;e.push(s);break}case"u":{let r=n.c,i=n.take(4);if(i===!1)return!1;let s=parseInt(r+i,16);if(Number.isNaN(s))return!1;let a=new Uint8Array(4);new DataView(a.buffer).setInt32(0,s,!0),e.push(a[0],a[1],a[2],a[3]);break}case"U":{let r=n.c,i=n.take(8);if(i===!1)return!1;let s=_t.uEnc(r+i),a=new Uint8Array(8),o=new DataView(a.buffer);o.setInt32(0,s.lo,!0),o.setInt32(4,s.hi,!0),e.push(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);break}}break;default:e.push(n.c.charCodeAt(0))}return new Uint8Array(e)}u();function*_1(t){switch(t.kind){case"file":for(let e of t.messages)yield e,yield*_1(e);yield*t.enums,yield*t.services,yield*t.extensions;break;case"message":for(let e of t.nestedMessages)yield e,yield*_1(e);yield*t.nestedEnums,yield*t.nestedExtensions;break}}function g1(...t){let e=$Oe();if(!t.length)return e;if("$typeName"in t[0]&&t[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let r of t[0].file)AV(r,e);return e}if("$typeName"in t[0]){let a=function(o){let l=[];for(let c of o.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 ${o.name}`);"kind"in d?e.addFile(d,!1,!0):(s.add(d.name),l.push(d))}return l.concat(...l.map(a))};var n=a;let r=t[0],i=t[1],s=new Set;for(let o of[r,...a(r)].reverse())AV(o,e)}else for(let r of t)for(let i of r.files)e.addFile(i);return e}function $Oe(){let t=new Map,e=new Map,n=new Map;return{kind:"registry",types:t,extendees:e,[Symbol.iterator](){return t.values()},get files(){return n.values()},addFile(r,i,s){if(n.set(r.proto.name,r),!i)for(let a of _1(r))this.add(a);if(s)for(let a of r.dependencies)this.addFile(a,i,s)},add(r){if(r.kind=="extension"){let i=e.get(r.extendee.typeName);i||e.set(r.extendee.typeName,i=new Map),i.set(r.number,r)}t.set(r.typeName,r)},get(r){return t.get(r)},getFile(r){return n.get(r)},getMessage(r){let i=t.get(r);return i?.kind=="message"?i:void 0},getEnum(r){let i=t.get(r);return i?.kind=="enum"?i:void 0},getExtension(r){let i=t.get(r);return i?.kind=="extension"?i:void 0},getExtensionFor(r,i){var s;return(s=e.get(r.typeName))===null||s===void 0?void 0:s.get(i)},getService(r){let i=t.get(r);return i?.kind=="service"?i:void 0}}}var YOe=998,VOe=999,WOe=9,lp=10,op=11,KOe=12,CV=14,sA=3,zOe=2,vV=1,jOe=0,tA=1,DV=2,QOe=3,XOe=1,ZOe=2,JOe=1;var OV={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 AV(t,e){var n,r;let i={kind:"file",proto:t,deprecated:(r=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&r!==void 0?r:!1,edition:rRe(t),name:t.name.replace(/\.proto$/,""),dependencies:iRe(t,e),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${t.name}`}},s=new Map,a={get(o){return s.get(o)},add(o){var l;Ji(((l=o.proto.options)===null||l===void 0?void 0:l.mapEntry)===!0),s.set(o.typeName,o)}};for(let o of t.enumType)RV(o,i,void 0,e);for(let o of t.messageType)IV(o,i,void 0,e,a);for(let o of t.service)eRe(o,i,e);nA(i,e);for(let o of s.values())rA(o,e,a);for(let o of i.messages)rA(o,e,a),nA(o,e);e.addFile(i,!0)}function nA(t,e){switch(t.kind){case"file":for(let n of t.proto.extension){let r=iA(n,t,e);t.extensions.push(r),e.add(r)}break;case"message":for(let n of t.proto.extension){let r=iA(n,t,e);t.nestedExtensions.push(r),e.add(r)}for(let n of t.nestedMessages)nA(n,e);break}}function rA(t,e,n){let r=t.proto.oneofDecl.map(s=>nRe(s,t)),i=new Set;for(let s of t.proto.field){let a=oRe(s,r),o=iA(s,t,e,a,n);t.fields.push(o),t.field[o.localName]=o,a===void 0?t.members.push(o):(a.fields.push(o),i.has(a)||(i.add(a),t.members.push(a)))}for(let s of r.filter(a=>i.has(a)))t.oneofs.push(s);for(let s of t.nestedMessages)rA(s,e,n)}function RV(t,e,n,r){var i,s,a,o,l;let c=sRe(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:n,open:!0,name:t.name,typeName:E1(t,n,e),value:{},values:[],sharedPrefix:c,toString(){return`enum ${this.typeName}`}};d.open=dRe(d),r.add(d);for(let f of t.value){let p=f.name;d.values.push(d.value[f.number]={kind:"enum_value",proto:f,deprecated:(o=(a=f.options)===null||a===void 0?void 0:a.deprecated)!==null&&o!==void 0?o:!1,parent:d,name:p,localName:Tu(c==null?p:p.substring(c.length)),number:f.number,toString(){return`enum value ${d.typeName}.${p}`}})}((l=n?.nestedEnums)!==null&&l!==void 0?l:e.enums).push(d)}function IV(t,e,n,r,i){var s,a,o,l;let c={kind:"message",proto:t,deprecated:(a=(s=t.options)===null||s===void 0?void 0:s.deprecated)!==null&&a!==void 0?a:!1,file:e,parent:n,name:t.name,typeName:E1(t,n,e),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((o=t.options)===null||o===void 0?void 0:o.mapEntry)===!0?i.add(c):(((l=n?.nestedMessages)!==null&&l!==void 0?l:e.messages).push(c),r.add(c));for(let d of t.enumType)RV(d,e,c,r);for(let d of t.nestedType)IV(d,e,c,r,i)}function eRe(t,e,n){var r,i;let s={kind:"service",proto:t,deprecated:(i=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&i!==void 0?i:!1,file:e,name:t.name,typeName:E1(t,void 0,e),methods:[],method:{},toString(){return`service ${this.typeName}`}};e.services.push(s),n.add(s);for(let a of t.method){let o=tRe(a,s,n);s.methods.push(o),s.method[o.localName]=o}}function tRe(t,e,n){var r,i,s,a;let o;t.clientStreaming&&t.serverStreaming?o="bidi_streaming":t.clientStreaming?o="client_streaming":t.serverStreaming?o="server_streaming":o="unary";let l=n.getMessage(ma(t.inputType)),c=n.getMessage(ma(t.outputType));Ji(l,`invalid MethodDescriptorProto: input_type ${t.inputType} not found`),Ji(c,`invalid MethodDescriptorProto: output_type ${t.inputType} not found`);let d=t.name;return{kind:"rpc",proto:t,deprecated:(i=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&i!==void 0?i:!1,parent:e,name:d,localName:Tu(d.length?Tu(d[0].toLowerCase()+d.substring(1)):d),methodKind:o,input:l,output:c,idempotency:(a=(s=t.options)===null||s===void 0?void 0:s.idempotencyLevel)!==null&&a!==void 0?a:jOe,toString(){return`rpc ${e.typeName}.${d}`}}}function nRe(t,e){return{kind:"oneof",proto:t,deprecated:!1,parent:e,fields:[],name:t.name,localName:Tu(fo(t.name)),toString(){return`oneof ${e.typeName}.${this.name}`}}}function iA(t,e,n,r,i){var s,a,o;let l=i===void 0,c={kind:"field",proto:t,deprecated:(a=(s=t.options)===null||s===void 0?void 0:s.deprecated)!==null&&a!==void 0?a:!1,name:t.name,number:t.number,scalar:void 0,message:void 0,enum:void 0,presence:lRe(t,r,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 m=e.kind=="file"?e:e.file,h=e.kind=="file"?void 0:e,g=E1(t,h,m);c.kind="extension",c.file=m,c.parent=h,c.oneof=void 0,c.typeName=g,c.jsonName=`[${g}]`,c.toString=()=>`extension ${g}`;let E=n.getMessage(ma(t.extendee));Ji(E,`invalid FieldDescriptorProto: extendee ${t.extendee} not found`),c.extendee=E}else{let m=e;Ji(m.kind=="message"),c.parent=m,c.oneof=r,c.localName=r?fo(t.name):Tu(fo(t.name)),c.jsonName=t.jsonName,c.toString=()=>`field ${m.typeName}.${t.name}`}let d=t.label,f=t.type,p=(o=t.options)===null||o===void 0?void 0:o.jstype;if(d===sA){let m=f==op?i?.get(ma(t.typeName)):void 0;if(m){c.fieldKind="map";let{key:h,value:g}=uRe(m);return c.mapKey=h.scalar,c.mapKind=g.fieldKind,c.message=g.message,c.delimitedEncoding=!1,c.enum=g.enum,c.scalar=g.scalar,c}switch(c.fieldKind="list",f){case op:case lp:c.listKind="message",c.message=n.getMessage(ma(t.typeName)),Ji(c.message),c.delimitedEncoding=NV(t,e);break;case CV:c.listKind="enum",c.enum=n.getEnum(ma(t.typeName)),Ji(c.enum);break;default:c.listKind="scalar",c.scalar=f,c.longAsString=p==vV;break}return c.packed=cRe(t,e),c}switch(f){case op:case lp:c.fieldKind="message",c.message=n.getMessage(ma(t.typeName)),Ji(c.message,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),c.delimitedEncoding=NV(t,e),c.getDefaultValue=()=>{};break;case CV:{let m=n.getEnum(ma(t.typeName));Ji(m!==void 0,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),c.fieldKind="enum",c.enum=n.getEnum(ma(t.typeName)),c.getDefaultValue=()=>Dl(t,"defaultValue")?yV(m,t.defaultValue):void 0;break}default:{c.fieldKind="scalar",c.scalar=f,c.longAsString=p==vV,c.getDefaultValue=()=>Dl(t,"defaultValue")?xV(f,t.defaultValue):void 0;break}}return c}function rRe(t){switch(t.syntax){case"":case"proto2":return YOe;case"proto3":return VOe;case"editions":if(t.edition in OV)return t.edition;throw new Error(`${t.name}: unsupported edition`);default:throw new Error(`${t.name}: unsupported syntax "${t.syntax}"`)}}function iRe(t,e){return t.dependency.map(n=>{let r=e.getFile(n);if(!r)throw new Error(`Cannot find ${n}, imported by ${t.name}`);return r})}function sRe(t,e){let n=aRe(t)+"_";for(let r of e){if(!r.name.toLowerCase().startsWith(n))return;let i=r.name.substring(n.length);if(i.length==0||/^\d/.test(i))return}return n}function aRe(t){return(t.substring(0,1)+t.substring(1).replace(/[A-Z]/g,e=>"_"+e)).toLowerCase()}function E1(t,e,n){let r;return e?r=`${e.typeName}.${t.name}`:n.proto.package.length>0?r=`${n.proto.package}.${t.name}`:r=`${t.name}`,r}function ma(t){return t.startsWith(".")?t.substring(1):t}function oRe(t,e){if(!Dl(t,"oneofIndex")||t.proto3Optional)return;let n=e[t.oneofIndex];return Ji(n,`invalid FieldDescriptorProto: oneof #${t.oneofIndex} for field #${t.number} not found`),n}function lRe(t,e,n,r){if(t.label==zOe)return QOe;if(t.label==sA)return DV;if(e||t.proto3Optional||n)return tA;let i=yu("fieldPresence",{proto:t,parent:r});return i==DV&&(t.type==op||t.type==lp)?tA:i}function cRe(t,e){if(t.label!=sA)return!1;switch(t.type){case WOe:case KOe:case lp:case op:return!1}let n=t.options;return n&&Dl(n,"packed")?n.packed:XOe==yu("repeatedFieldEncoding",{proto:t,parent:e})}function uRe(t){let e=t.fields.find(r=>r.number===1),n=t.fields.find(r=>r.number===2);return Ji(e&&e.fieldKind=="scalar"&&e.scalar!=K.BYTES&&e.scalar!=K.FLOAT&&e.scalar!=K.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:e,value:n}}function dRe(t){var e;return JOe==yu("enumType",{proto:t.proto,parent:(e=t.parent)!==null&&e!==void 0?e:t.file})}function NV(t,e){return t.type==lp?!0:ZOe==yu("messageEncoding",{proto:t,parent:e})}function yu(t,e){var n,r;let i=(n=e.proto.options)===null||n===void 0?void 0:n.features;if(i){let s=i[t];if(s!=0)return s}if("kind"in e){if(e.kind=="message")return yu(t,(r=e.parent)!==null&&r!==void 0?r:e.file);let s=OV[e.edition];if(!s)throw new Error(`feature default for edition ${e.edition} not found`);return s[t]}return yu(t,e.parent)}function Ji(t,e){if(!t)throw new Error(e)}function wV(t){let e=fRe(t);return e.messageType.forEach(ap),g1(e,()=>{}).getFile(e.name)}function fRe(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(LV),enumType:t.enumType.map(MV)}))}function LV(t){var e,n,r,i,s,a,o,l;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:t.name,field:(n=(e=t.field)===null||e===void 0?void 0:e.map(pRe))!==null&&n!==void 0?n:[],extension:[],nestedType:(i=(r=t.nestedType)===null||r===void 0?void 0:r.map(LV))!==null&&i!==void 0?i:[],enumType:(a=(s=t.enumType)===null||s===void 0?void 0:s.map(MV))!==null&&a!==void 0?a:[],extensionRange:(l=(o=t.extensionRange)===null||o===void 0?void 0:o.map(d=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},d)))!==null&&l!==void 0?l:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function pRe(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?mRe(t.options):void 0}))}function mRe(t){var e,n,r;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:(r=(n=t.editionDefaults)===null||n===void 0?void 0:n.map(s=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},s)))!==null&&r!==void 0?r:[],uninterpretedOption:[]}))}function MV(t){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:t.name,reservedName:[],reservedRange:[],value:t.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}u();function po(t,e,...n){return n.reduce((r,i)=>r.nestedMessages[i],t.messages[e])}var hRe=wV({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 eW=po(hRe,1);var PV;(function(t){t[t.DECLARATION=0]="DECLARATION",t[t.UNVERIFIED=1]="UNVERIFIED"})(PV||(PV={}));var kV;(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"})(kV||(kV={}));var FV;(function(t){t[t.OPTIONAL=1]="OPTIONAL",t[t.REPEATED=3]="REPEATED",t[t.REQUIRED=2]="REQUIRED"})(FV||(FV={}));var BV;(function(t){t[t.SPEED=1]="SPEED",t[t.CODE_SIZE=2]="CODE_SIZE",t[t.LITE_RUNTIME=3]="LITE_RUNTIME"})(BV||(BV={}));var UV;(function(t){t[t.STRING=0]="STRING",t[t.CORD=1]="CORD",t[t.STRING_PIECE=2]="STRING_PIECE"})(UV||(UV={}));var GV;(function(t){t[t.JS_NORMAL=0]="JS_NORMAL",t[t.JS_STRING=1]="JS_STRING",t[t.JS_NUMBER=2]="JS_NUMBER"})(GV||(GV={}));var qV;(function(t){t[t.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",t[t.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",t[t.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(qV||(qV={}));var HV;(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"})(HV||(HV={}));var S1;(function(t){t[t.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",t[t.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",t[t.IDEMPOTENT=2]="IDEMPOTENT"})(S1||(S1={}));var $V;(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"})($V||($V={}));var YV;(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"})(YV||(YV={}));var VV;(function(t){t[t.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",t[t.OPEN=1]="OPEN",t[t.CLOSED=2]="CLOSED"})(VV||(VV={}));var WV;(function(t){t[t.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",t[t.PACKED=1]="PACKED",t[t.EXPANDED=2]="EXPANDED"})(WV||(WV={}));var KV;(function(t){t[t.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",t[t.VERIFY=2]="VERIFY",t[t.NONE=3]="NONE"})(KV||(KV={}));var zV;(function(t){t[t.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",t[t.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",t[t.DELIMITED=2]="DELIMITED"})(zV||(zV={}));var jV;(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"})(jV||(jV={}));var QV;(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"})(QV||(QV={}));var XV;(function(t){t[t.NONE=0]="NONE",t[t.SET=1]="SET",t[t.ALIAS=2]="ALIAS"})(XV||(XV={}));var ZV;(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"})(ZV||(ZV={}));var JV;(function(t){t[t.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",t[t.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",t[t.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(JV||(JV={}));u();var tW={readUnknownFields:!0};function _Re(t){return t?Object.assign(Object.assign({},tW),t):tW}function ha(t,e,n){let r=Qn(t,void 0,!1);return nW(r,new Al(e),_Re(n),!1,e.byteLength),r.message}function nW(t,e,n,r,i){var s;let a=r?e.len:e.pos+i,o,l,c=(s=t.getUnknown())!==null&&s!==void 0?s:[];for(;e.pos<a&&([o,l]=e.tag(),!(r&&l==Kt.EndGroup));){let d=t.findNumber(o);if(!d){let f=e.skip(l,o);n.readUnknownFields&&c.push({no:o,wireType:l,data:f});continue}aA(t,e,d,l,n)}if(r&&(l!=Kt.EndGroup||o!==i))throw new Error("invalid end group tag");c.length>0&&t.setUnknown(c)}function aA(t,e,n,r,i){var s;switch(n.fieldKind){case"scalar":t.set(n,xu(e,n.scalar));break;case"enum":let a=xu(e,K.INT32);if(n.enum.open)t.set(n,a);else if(n.enum.values.some(l=>l.number===a))t.set(n,a);else if(i.readUnknownFields){let l=[];Jf(a,l);let c=(s=t.getUnknown())!==null&&s!==void 0?s:[];c.push({no:n.number,wireType:r,data:new Uint8Array(l)}),t.setUnknown(c)}break;case"message":t.set(n,oA(e,i,n,t.get(n)));break;case"list":ERe(e,r,t.get(n),i);break;case"map":gRe(e,t.get(n),i);break}}function gRe(t,e,n){let r=e.field(),i,s,a=t.uint32(),o=t.pos+a;for(;t.pos<o;){let[l]=t.tag();switch(l){case 1:i=xu(t,r.mapKey);break;case 2:switch(r.mapKind){case"scalar":s=xu(t,r.scalar);break;case"enum":s=t.int32();break;case"message":s=oA(t,n,r);break}break}}if(i===void 0&&(i=ei(r.mapKey,!1)),s===void 0)switch(r.mapKind){case"scalar":s=ei(r.scalar,!1);break;case"enum":s=r.enum.values[0].number;break;case"message":s=Qn(r.message,void 0,!1);break}e.set(i,s)}function ERe(t,e,n,r){var i;let s=n.field();if(s.listKind==="message"){n.add(oA(t,r,s));return}let a=(i=s.scalar)!==null&&i!==void 0?i:K.INT32;if(!(e==Kt.LengthDelimited&&a!=K.STRING&&a!=K.BYTES)){n.add(xu(t,a));return}let l=t.uint32()+t.pos;for(;t.pos<l;)n.add(xu(t,a))}function oA(t,e,n,r){let i=n.delimitedEncoding,s=r??Qn(n.message,void 0,!1);return nW(s,t,e,i,i?n.number:t.uint32()),s}function xu(t,e){switch(e){case K.STRING:return t.string();case K.BOOL:return t.bool();case K.DOUBLE:return t.double();case K.FLOAT:return t.float();case K.INT32:return t.int32();case K.INT64:return t.int64();case K.UINT64:return t.uint64();case K.FIXED64:return t.fixed64();case K.BYTES:return t.bytes();case K.FIXED32:return t.fixed32();case K.SFIXED32:return t.sfixed32();case K.SFIXED64:return t.sfixed64();case K.SINT64:return t.sint64();case K.UINT32:return t.uint32();case K.SINT32:return t.sint32()}}function Ds(t,e){var n;let r=ha(eW,bu(t));return r.messageType.forEach(ap),r.dependency=(n=e?.map(s=>s.proto.name))!==null&&n!==void 0?n:[],g1(r,s=>e?.find(a=>a.proto.name===s)).getFile(r.name)}var rW=Ds("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");u();u();var SRe=Ds("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),iW=po(SRe,0);u();var bRe=3,sW={writeUnknownFields:!0};function TRe(t){return t?Object.assign(Object.assign({},sW),t):sW}function cp(t,e,n){return b1(new Eu,TRe(n),Qn(t,e)).finish()}function b1(t,e,n){var r;for(let i of n.sortedFields){if(!n.isSet(i)){if(i.presence==bRe)throw new Error(`cannot encode ${i} to binary: required field not set`);continue}lA(t,e,n,i)}if(e.writeUnknownFields)for(let{no:i,wireType:s,data:a}of(r=n.getUnknown())!==null&&r!==void 0?r:[])t.tag(i,s).raw(a);return t}function lA(t,e,n,r){var i;switch(r.fieldKind){case"scalar":case"enum":T1(t,n.desc.typeName,r.name,(i=r.scalar)!==null&&i!==void 0?i:K.INT32,r.number,n.get(r));break;case"list":yRe(t,e,r,n.get(r));break;case"message":aW(t,e,r,n.get(r));break;case"map":for(let[s,a]of n.get(r))xRe(t,e,r,s,a);break}}function T1(t,e,n,r,i,s){oW(t.tag(i,CRe(r)),e,n,r,s)}function aW(t,e,n,r){n.delimitedEncoding?b1(t.tag(n.number,Kt.StartGroup),e,r).tag(n.number,Kt.EndGroup):b1(t.tag(n.number,Kt.LengthDelimited).fork(),e,r).join()}function yRe(t,e,n,r){var i;if(n.listKind=="message"){for(let a of r)aW(t,e,n,a);return}let s=(i=n.scalar)!==null&&i!==void 0?i:K.INT32;if(n.packed){if(!r.size)return;t.tag(n.number,Kt.LengthDelimited).fork();for(let a of r)oW(t,n.parent.typeName,n.name,s,a);t.join();return}for(let a of r)T1(t,n.parent.typeName,n.name,s,n.number,a)}function xRe(t,e,n,r,i){var s;switch(t.tag(n.number,Kt.LengthDelimited).fork(),T1(t,n.parent.typeName,n.name,n.mapKey,1,r),n.mapKind){case"scalar":case"enum":T1(t,n.parent.typeName,n.name,(s=n.scalar)!==null&&s!==void 0?s:K.INT32,2,i);break;case"message":b1(t.tag(2,Kt.LengthDelimited).fork(),e,i).join();break}t.join()}function oW(t,e,n,r,i){try{switch(r){case K.STRING:t.string(i);break;case K.BOOL:t.bool(i);break;case K.DOUBLE:t.double(i);break;case K.FLOAT:t.float(i);break;case K.INT32:t.int32(i);break;case K.INT64:t.int64(i);break;case K.UINT64:t.uint64(i);break;case K.FIXED64:t.fixed64(i);break;case K.BYTES:t.bytes(i);break;case K.FIXED32:t.fixed32(i);break;case K.SFIXED32:t.sfixed32(i);break;case K.SFIXED64:t.sfixed64(i);break;case K.SINT64:t.sint64(i);break;case K.UINT32:t.uint32(i);break;case K.SINT32:t.sint32(i);break}}catch(s){throw s instanceof Error?new Error(`cannot encode field ${e}.${n} to binary: ${s.message}`):s}}function CRe(t){switch(t){case K.BYTES:case K.STRING:return Kt.LengthDelimited;case K.DOUBLE:case K.FIXED64:case K.SFIXED64:return Kt.Bit64;case K.FIXED32:case K.SFIXED32:case K.FLOAT:return Kt.Bit32;default:return Kt.Varint}}function lW(t,e,n){let r=!1;return n||(n=jn(iW),r=!0),n.value=cp(t,e),n.typeUrl=ARe(e.$typeName),r?n:void 0}function DRe(t,e){if(t.typeUrl==="")return!1;let n=typeof e=="string"?e:e.typeName,r=uW(t.typeUrl);return n===r}function cW(t,e){if(t.typeUrl==="")return;let n=e.kind=="message"?e:e.getMessage(uW(t.typeUrl));if(!(!n||!DRe(t,n)))return ha(n,t.value)}function ARe(t){return`type.googleapis.com/${t}`}function uW(t){let e=t.lastIndexOf("/"),n=e>=0?t.substring(e+1):t;if(!n.length)throw new Error(`invalid type url: ${t}`);return n}u();var cA=Ds("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),dW=po(cA,0),uA=po(cA,1),fW=po(cA,2),y1;(function(t){t[t.NULL_VALUE=0]="NULL_VALUE"})(y1||(y1={}));u();function pW(t,e){hW(e,t);let n=NRe(t.$unknown,e),[r,i,s]=Cu(e);for(let a of n)aA(r,new Al(a.data),i,a.wireType,{readUnknownFields:!0});return s()}function mW(t,e,n){var r;hW(e,t);let i=((r=t.$unknown)!==null&&r!==void 0?r:[]).filter(c=>c.no!==e.number),[s,a]=Cu(e,n),o=new Eu;lA(o,{writeUnknownFields:!0},s,a);let l=new Al(o.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 NRe(t,e){if(t===void 0)return[];if(e.fieldKind==="enum"||e.fieldKind==="scalar"){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.number)return[t[n]];return[]}return t.filter(n=>n.no===e.number)}function Cu(t,e){let n=t.typeName,r=Object.assign(Object.assign({},t),{kind:"field",parent:t.extendee,localName:n}),i=Object.assign(Object.assign({},t.extendee),{fields:[r],members:[r],oneofs:[]}),s=jn(i,e!==void 0?{[n]:e}:void 0);return[Qn(i,s),r,()=>{let a=s[n];if(a===void 0){let o=t.message;return vs(o)?ei(o.fields[0].scalar,o.fields[0].longAsString):jn(o)}return a}]}function hW(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 ORe=3,RRe=2,_W={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function IRe(t){return t?Object.assign(Object.assign({},_W),t):_W}function wRe(t,e,n){return up(Qn(t,e),IRe(n))}function EW(t,e,n){var r;let i=wRe(t,e,n);return JSON.stringify(i,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}function up(t,e){var n;let r=kRe(t,e);if(r!==void 0)return r;let i={};for(let s of t.sortedFields){if(!t.isSet(s)){if(s.presence==ORe)throw new Error(`cannot encode ${s} to JSON: required field not set`);if(!e.alwaysEmitImplicit||s.presence!==RRe)continue}let a=gW(s,t.get(s),e);a!==void 0&&(i[PRe(s,e)]=a)}if(e.registry){let s=new Set;for(let{no:a}of(n=t.getUnknown())!==null&&n!==void 0?n:[])if(!s.has(a)){s.add(a);let o=e.registry.getExtensionFor(t.desc,a);if(!o)continue;let l=pW(t.message,o),[c,d]=Cu(o,l),f=gW(d,c.get(d),e);f!==void 0&&(i[o.jsonName]=f)}}return i}function gW(t,e,n){switch(t.fieldKind){case"scalar":return x1(t,e);case"message":return up(e,n);case"enum":return dA(t.enum,e,n.enumAsInteger);case"list":return MRe(e,n);case"map":return LRe(e,n)}}function LRe(t,e){let n=t.field(),r={};switch(n.mapKind){case"scalar":for(let[i,s]of t)r[i]=x1(n,s);break;case"message":for(let[i,s]of t)r[i]=up(s,e);break;case"enum":for(let[i,s]of t)r[i]=dA(n.enum,s,e.enumAsInteger);break}return e.alwaysEmitImplicit||t.size>0?r:void 0}function MRe(t,e){let n=t.field(),r=[];switch(n.listKind){case"scalar":for(let i of t)r.push(x1(n,i));break;case"enum":for(let i of t)r.push(dA(n.enum,i,e.enumAsInteger));break;case"message":for(let i of t)r.push(up(i,e));break}return e.alwaysEmitImplicit||r.length>0?r:void 0}function dA(t,e,n){var r;if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: expected number, got ${dn(e)}`);if(t.typeName=="google.protobuf.NullValue")return null;if(n)return e;let i=t.value[e];return(r=i?.name)!==null&&r!==void 0?r:e}function x1(t,e){var n,r,i,s,a,o;switch(t.scalar){case K.INT32:case K.SFIXED32:case K.SINT32:case K.FIXED32:case K.UINT32:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(n=pa(t,e))===null||n===void 0?void 0:n.message}`);return e;case K.FLOAT:case K.DOUBLE:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(r=pa(t,e))===null||r===void 0?void 0:r.message}`);return Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case K.STRING:if(typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(i=pa(t,e))===null||i===void 0?void 0:i.message}`);return e;case K.BOOL:if(typeof e!="boolean")throw new Error(`cannot encode ${t} to JSON: ${(s=pa(t,e))===null||s===void 0?void 0:s.message}`);return e;case K.UINT64:case K.FIXED64:case K.INT64:case K.SFIXED64:case K.SINT64:if(typeof e!="bigint"&&typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(a=pa(t,e))===null||a===void 0?void 0:a.message}`);return e.toString();case K.BYTES:if(e instanceof Uint8Array)return sp(e);throw new Error(`cannot encode ${t} to JSON: ${(o=pa(t,e))===null||o===void 0?void 0:o.message}`)}}function PRe(t,e){return e.useProtoFieldName?t.name:t.jsonName}function kRe(t,e){if(t.desc.typeName.startsWith("google.protobuf."))switch(t.desc.typeName){case"google.protobuf.Any":return FRe(t.message,e);case"google.protobuf.Timestamp":return GRe(t.message);case"google.protobuf.Duration":return BRe(t.message);case"google.protobuf.FieldMask":return URe(t.message);case"google.protobuf.Struct":return SW(t.message);case"google.protobuf.Value":return fA(t.message);case"google.protobuf.ListValue":return bW(t.message);default:if(vs(t.desc)){let n=t.desc.fields[0];return x1(n,t.get(n))}return}}function FRe(t,e){if(t.typeUrl==="")return{};let{registry:n}=e,r,i;if(n&&(r=cW(t,n),r&&(i=n.getMessage(r.$typeName))),!i||!r)throw new Error(`cannot encode message ${t.$typeName} to JSON: "${t.typeUrl}" is not in the type registry`);let s=up(Qn(i,r),e);return(i.typeName.startsWith("google.protobuf.")||s===null||Array.isArray(s)||typeof s!="object")&&(s={value:s}),s["@type"]=t.typeUrl,s}function BRe(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 n=Math.abs(t.nanos).toString();n="0".repeat(9-n.length)+n,n.substring(3)==="000000"?n=n.substring(0,3):n.substring(6)==="000"&&(n=n.substring(0,6)),e+="."+n,t.nanos<0&&Number(t.seconds)==0&&(e="-"+e)}return e+"s"}function URe(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 fo(e)}).join(",")}function SW(t){let e={};for(let[n,r]of Object.entries(t.fields))e[n]=fA(r);return e}function fA(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 SW(t.kind.value);case"listValue":return bW(t.kind.value);default:throw new Error(`${t.$typeName} must have a value`)}}function bW(t){return t.values.map(fA)}function GRe(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 n="Z";if(t.nanos>0){let r=(t.nanos+1e9).toString().substring(1);r.substring(3)==="000000"?n="."+r.substring(0,3)+"Z":r.substring(6)==="000"?n="."+r.substring(0,6)+"Z":n="."+r+"Z"}return new Date(e).toISOString().replace(".000Z",n)}u();var TW={ignoreUnknownFields:!1};function qRe(t){return t?Object.assign(Object.assign({},TW),t):TW}function xW(t,e,n){return pA(t,zRe(e,t.typeName),n)}function pA(t,e,n){let r=Qn(t);try{vu(r,e,qRe(n))}catch(i){throw oV(i)?new Error(`cannot decode ${i.field()} from JSON: ${i.message}`,{cause:i}):i}return r.message}function vu(t,e,n){var r;if(jRe(t,e,n))return;if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode ${t.desc} from JSON: ${dn(e)}`);let i=new Map,s=new Map;for(let a of t.desc.fields)s.set(a.name,a).set(a.jsonName,a);for(let[a,o]of Object.entries(e)){let l=s.get(a);if(l){if(l.oneof){if(o===null&&l.fieldKind=="scalar")continue;let c=i.get(l.oneof);if(c!==void 0)throw new yn(l.oneof,`oneof set multiple times by ${c.name} and ${l.name}`);i.set(l.oneof,l)}yW(t,l,o,n)}else{let c;if(a.startsWith("[")&&a.endsWith("]")&&(c=(r=n.registry)===null||r===void 0?void 0:r.getExtension(a.substring(1,a.length-1)))&&c.extendee.typeName===t.desc.typeName){let[d,f,p]=Cu(c);yW(d,f,o,n),mW(t.message,c,p())}if(!c&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${t.desc} from JSON: key "${a}" is unknown`)}}}function yW(t,e,n,r){switch(e.fieldKind){case"scalar":WRe(t,e,n);break;case"enum":VRe(t,e,n,r);break;case"message":YRe(t,e,n,r);break;case"list":$Re(t.get(e),n,r);break;case"map":HRe(t.get(e),n,r);break}}function HRe(t,e,n){if(e===null)return;let r=t.field();if(typeof e!="object"||Array.isArray(e))throw new yn(r,"expected object, got "+dn(e));for(let[i,s]of Object.entries(e)){if(s===null)throw new yn(r,"map value must not be null");let a;switch(r.mapKind){case"message":let l=Qn(r.message);vu(l,s,n),a=l;break;case"enum":if(a=mA(r.enum,s,n.ignoreUnknownFields,!0),a===C1)return;break;case"scalar":a=D1(r,s,!0);break}let o=KRe(r.mapKey,i);t.set(o,a)}}function $Re(t,e,n){if(e===null)return;let r=t.field();if(!Array.isArray(e))throw new yn(r,"expected Array, got "+dn(e));for(let i of e){if(i===null)throw new yn(r,"list item must not be null");switch(r.listKind){case"message":let s=Qn(r.message);vu(s,i,n),t.add(s);break;case"enum":let a=mA(r.enum,i,n.ignoreUnknownFields,!0);a!==C1&&t.add(a);break;case"scalar":t.add(D1(r,i,!0));break}}}function YRe(t,e,n,r){if(n===null&&e.message.typeName!="google.protobuf.Value"){t.clear(e);return}let i=t.isSet(e)?t.get(e):Qn(e.message);vu(i,n,r),t.set(e,i)}function VRe(t,e,n,r){let i=mA(e.enum,n,r.ignoreUnknownFields,!1);i===v1?t.clear(e):i!==C1&&t.set(e,i)}function WRe(t,e,n){let r=D1(e,n,!1);r===v1?t.clear(e):t.set(e,r)}var C1=Symbol();function mA(t,e,n,r){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:r?t.values[0].number:v1;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(n)return C1;break}throw new Error(`cannot decode ${t} from JSON: ${dn(e)}`)}var v1=Symbol();function D1(t,e,n){if(e===null)return n?ei(t.scalar,!1):v1;switch(t.scalar){case K.DOUBLE:case K.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 yn(t,"unexpected NaN number");if(!Number.isFinite(e))throw new yn(t,"unexpected infinite number");break}if(typeof e=="string"){if(e===""||e.trim().length!==e.length)break;let r=Number(e);if(!Number.isFinite(r))break;return r}break;case K.INT32:case K.FIXED32:case K.SFIXED32:case K.SINT32:case K.UINT32:return CW(e);case K.BYTES:if(typeof e=="string"){if(e==="")return new Uint8Array(0);try{return bu(e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new yn(t,i)}}break}return e}function KRe(t,e){switch(t){case K.BOOL:switch(e){case"true":return!0;case"false":return!1}return e;case K.INT32:case K.FIXED32:case K.UINT32:case K.SFIXED32:case K.SINT32:return CW(e);default:return e}}function CW(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 zRe(t,e){try{return JSON.parse(t)}catch(n){let r=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${e} from JSON: ${r}`,{cause:n})}}function jRe(t,e,n){if(!t.desc.typeName.startsWith("google.protobuf."))return!1;switch(t.desc.typeName){case"google.protobuf.Any":return QRe(t.message,e,n),!0;case"google.protobuf.Timestamp":return XRe(t.message,e),!0;case"google.protobuf.Duration":return ZRe(t.message,e),!0;case"google.protobuf.FieldMask":return JRe(t.message,e),!0;case"google.protobuf.Struct":return vW(t.message,e),!0;case"google.protobuf.Value":return hA(t.message,e),!0;case"google.protobuf.ListValue":return DW(t.message,e),!0;default:if(vs(t.desc)){let r=t.desc.fields[0];return e===null?t.clear(r):t.set(r,D1(r,e,!0)),!0}return!1}}function QRe(t,e,n){var r;if(e===null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${t.$typeName} from JSON: expected object but got ${dn(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 a=(r=n.registry)===null||r===void 0?void 0:r.getMessage(s);if(!a)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${i} is not in the type registry`);let o=Qn(a);if(s.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(e,"value")){let l=e.value;vu(o,l,n)}else{let l=Object.assign({},e);delete l["@type"],vu(o,l,n)}lW(o.desc,o.message,t)}function XRe(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);let n=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(!n)throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(r))throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);if(r<Date.parse("0001-01-01T00:00:00Z")||r>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=_t.parse(r/1e3),t.nanos=0,n[7]&&(t.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function ZRe(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);let n=e.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);let r=Number(n[1]);if(r>315576e6||r<-315576e6)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);if(t.seconds=_t.parse(r),typeof n[2]!="string")return;let i=n[2]+"0".repeat(9-n[2].length);t.nanos=parseInt(i),(r<0||Object.is(r,-0))&&(t.nanos=-t.nanos)}function JRe(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);if(e==="")return;function n(r){if(r.includes("_"))throw new Error(`cannot decode message ${t.$typeName} from JSON: path names must be lowerCamelCase`);let i=r.replace(/[A-Z]/g,s=>"_"+s.toLowerCase());return i[0]==="_"?i.substring(1):i}t.paths=e.split(",").map(n)}function vW(t,e){if(typeof e!="object"||e==null||Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${dn(e)}`);for(let[n,r]of Object.entries(e)){let i=jn(uA);hA(i,r),t.fields[n]=i}}function hA(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:y1.NULL_VALUE};else if(Array.isArray(e)){let n=jn(fW);DW(n,e),t.kind={case:"listValue",value:n}}else{let n=jn(dW);vW(n,e),t.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${t.$typeName} from JSON ${dn(e)}`)}return t}function DW(t,e){if(!Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${dn(e)}`);for(let n of e){let r=jn(uA);hA(r,n),t.values.push(r)}}u();function dp(t){let e=Re[t];return typeof e!="string"?t.toString():e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}var A1;function AW(t){if(!A1){A1={};for(let e of Object.values(Re))typeof e!="string"&&(A1[dp(e)]=e)}return A1[t]}var Xe=class t extends Error{constructor(e,n=Re.Unknown,r,i,s){super(eIe(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(r??{}),this.details=i??[],this.cause=s}static from(e,n=Re.Unknown){return e instanceof t?e:e instanceof Error?e.name=="AbortError"?new t(e.message,Re.Canceled):new t(e.message,n,void 0,void 0,e):new t(String(e),n,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 n=e.kind==="message"?{getMessage:i=>i===e.typeName?e:void 0}:e,r=[];for(let i of this.details){if("desc"in i){n.getMessage(i.desc.typeName)&&r.push(jn(i.desc,i.value));continue}let s=n.getMessage(i.type);if(s)try{r.push(ha(s,i.value))}catch{}}return r}};function eIe(t,e){return t.length?`[${dp(e)}] ${t}`:`[${dp(e)}]`}u();function _A(...t){let e=new Headers;for(let n of t)n.forEach((r,i)=>{e.append(i,r)});return e}u();function NW(t,e){let n={};for(let r of t.methods){let i=e(r);i!=null&&(n[r.localName]=i)}return n}u();u();u();var N1=1;function gA(t){let e,n=new Uint8Array(0);function r(i){let s=new Uint8Array(n.length+i.length);s.set(n),s.set(i,n.length),n=s}return new ReadableStream({start(){e=t.getReader()},async pull(i){let s;for(;;){if(s===void 0&&n.byteLength>=5){let l=0;for(let c=1;c<5;c++)l=(l<<8)+n[c];s={flags:n[0],length:l}}if(s!==void 0&&n.byteLength>=s.length+5)break;let o=await e.read();if(o.done)break;r(o.value)}if(s===void 0){if(n.byteLength==0){i.close();return}i.error(new Xe("premature end of stream",Re.DataLoss));return}let a=n.subarray(5,5+s.length);n=n.subarray(5+s.length),i.enqueue({flags:s.flags,data:a})}})}function EA(t,e){let n=new Uint8Array(e.length+5);n.set(e,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,t),r.setUint32(1,e.length),n}var tIe=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(a){return new Promise(function(o,l){a=t[s](a),i(o,l,a.done,a.value)})}}function i(s,a,o,l){Promise.resolve(l).then(function(c){s({value:c,done:o})},a)}},fp=function(t){return this instanceof fp?(this.v=t,this):new fp(t)},nIe=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(m){return function(h){return Promise.resolve(h).then(m,f)}}function o(m,h){r[m]&&(i[m]=function(g){return new Promise(function(E,b){s.push([m,g,E,b])>1||l(m,g)})},h&&(i[m]=h(i[m])))}function l(m,h){try{c(r[m](h))}catch(g){p(s[0][3],g)}}function c(m){m.value instanceof fp?Promise.resolve(m.value.v).then(d,f):p(s[0][2],m)}function d(m){l("next",m)}function f(m){l("throw",m)}function p(m,h){m(h),s.shift(),s.length&&l(s[0][0],s[0][1])}},rIe=function(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(a){return(n=!n)?{value:fp(t[i](a)),done:!1}:s?s(a):a}:s}};function OW(t){return nIe(this,arguments,function*(){yield fp(yield*rIe(tIe(t)))})}u();var RW=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(a){return new Promise(function(o,l){a=t[s](a),i(o,l,a.done,a.value)})}}function i(s,a,o,l){Promise.resolve(l).then(function(c){s({value:c,done:o})},a)}},Du=function(t){return this instanceof Du?(this.v=t,this):new Du(t)},iIe=function(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(a){return(n=!n)?{value:Du(t[i](a)),done:!1}:s?s(a):a}:s}},sIe=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(m){return function(h){return Promise.resolve(h).then(m,f)}}function o(m,h){r[m]&&(i[m]=function(g){return new Promise(function(E,b){s.push([m,g,E,b])>1||l(m,g)})},h&&(i[m]=h(i[m])))}function l(m,h){try{c(r[m](h))}catch(g){p(s[0][3],g)}}function c(m){m.value instanceof Du?Promise.resolve(m.value.v).then(d,f):p(s[0][2],m)}function d(m){l("next",m)}function f(m){l("throw",m)}function p(m,h){m(h),s.shift(),s.length&&l(s[0][0],s[0][1])}};function Nl(t,e){return NW(t,n=>{switch(n.methodKind){case"unary":return aIe(e,n);case"server_streaming":return oIe(e,n);case"client_streaming":return lIe(e,n);case"bidi_streaming":return cIe(e,n);default:return null}})}function aIe(t,e){return async function(n,r){var i,s;let a=await t.unary(e,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);return(i=r?.onHeader)===null||i===void 0||i.call(r,a.header),(s=r?.onTrailer)===null||s===void 0||s.call(r,a.trailer),a.message}}function oIe(t,e){return function(n,r){return IW(t.stream(e,r?.signal,r?.timeoutMs,r?.headers,OW([n]),r?.contextValues),r)}}function lIe(t,e){return async function(n,r){var i,s,a,o,l,c;let d=await t.stream(e,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);(l=r?.onHeader)===null||l===void 0||l.call(r,d.header);let f,p=0;try{for(var m=!0,h=RW(d.message),g;g=await h.next(),i=g.done,!i;m=!0)o=g.value,m=!1,f=o,p++}catch(E){s={error:E}}finally{try{!m&&!i&&(a=h.return)&&await a.call(h)}finally{if(s)throw s.error}}if(!f)throw new Xe("protocol error: missing response message",Re.Unimplemented);if(p>1)throw new Xe("protocol error: received extra messages for client streaming method",Re.Unimplemented);return(c=r?.onTrailer)===null||c===void 0||c.call(r,d.trailer),f}}function cIe(t,e){return function(n,r){return IW(t.stream(e,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues),r)}}function IW(t,e){let n=(function(){return sIe(this,arguments,function*(){var r,i;let s=yield Du(t);(r=e?.onHeader)===null||r===void 0||r.call(e,s.header),yield Du(yield*iIe(RW(s.message))),(i=e?.onTrailer)===null||i===void 0||i.call(e,s.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}u();function wW(...t){let e=new AbortController,n=t.filter(i=>i!==void 0).concat(e.signal);for(let i of n){if(i.aborted){r.apply(i);break}i.addEventListener("abort",r)}function r(){e.signal.aborted||e.abort(SA(this));for(let i of n)i.removeEventListener("abort",r)}return e}function LW(t){let e=new AbortController,n=()=>{e.abort(new Xe("the operation timed out",Re.DeadlineExceeded))},r;return t!==void 0&&(t<=0?n():r=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(r)}}function SA(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 O1(){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 R1(t,e){return t.toString().replace(/\/?$/,`/${e.parent.typeName}/${e.name}`)}u();function bA(t,e){return jn(t,e)}function MW(t,e){function n(r){return r.done===!0?r:{done:r.done,value:bA(t,r.value)}}return{[Symbol.asyncIterator](){let r=e[Symbol.asyncIterator](),i={next:()=>r.next().then(n)};return r.throw!==void 0&&(i.throw=s=>r.throw(s).then(n)),r.return!==void 0&&(i.return=s=>r.return(s).then(n)),i}}}u();function TA(t,e){var n;return(n=e?.concat().reverse().reduce((r,i)=>i(r),t))!==null&&n!==void 0?n:t}u();function I1(t){var e;let n=Object.assign({},t);return(e=n.ignoreUnknownFields)!==null&&e!==void 0||(n.ignoreUnknownFields=!0),n}function w1(t,e,n,r){let i=e?PW(t.input,r):kW(t.input,n);return{parse:(e?PW(t.output,r):kW(t.output,n)).parse,serialize:i.serialize}}function PW(t,e){return{parse(n){try{return ha(t,n,e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new Xe(`parse binary: ${i}`,Re.Internal)}},serialize(n){try{return cp(t,n,e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new Xe(`serialize binary: ${i}`,Re.Internal)}}}}function kW(t,e){var n,r;let i=(n=e?.textEncoder)!==null&&n!==void 0?n:new TextEncoder,s=(r=e?.textDecoder)!==null&&r!==void 0?r:new TextDecoder,a=I1(e);return{parse(o){try{let l=s.decode(o);return xW(t,l,a)}catch(l){throw Xe.from(l,Re.InvalidArgument)}},serialize(o){try{let l=EW(t,o,a);return i.encode(l)}catch(l){throw Xe.from(l,Re.Internal)}}}}u();var uIe=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;var FW="application/proto",BW="application/json",UW="application/connect+proto",GW="application/connect+json";function qW(t){let e=t?.match(uIe);if(!e)return;let n=!!e[1],r=!!e[3];return{stream:n,binary:r}}u();u();function pp(t,e,n){var r;if(e&&new Headers(e).forEach((o,l)=>n.metadata.append(l,o)),typeof t!="object"||t==null||Array.isArray(t))throw n;let i=n.code;"code"in t&&typeof t.code=="string"&&(i=(r=AW(t.code))!==null&&r!==void 0?r:i);let s=t.message;if(s!=null&&typeof s!="string")throw n;let a=new Xe(s??"",i,e);if("details"in t&&Array.isArray(t.details))for(let o of t.details){if(o===null||typeof o!="object"||Array.isArray(o)||typeof o.type!="string"||typeof o.value!="string")throw n;try{a.details.push({type:o.type,value:bu(o.value),debug:o.debug})}catch{throw n}}return a}var L1=2;function yA(t){let e=new Xe("invalid end stream",Re.Unknown),n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||n==null||Array.isArray(n))throw e;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(let[s,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(o=>typeof o!="string"))throw e;for(let o of a)r.append(s,o)}}let i="error"in n&&n.error!=null?pp(n.error,r,e):void 0;return{metadata:r,error:i}}u();var Ol="Content-Type",HW="Content-Length",mp="Content-Encoding";var xA="Accept-Encoding";var $W="Connect-Timeout-Ms",M1="Connect-Protocol-Version",CA="User-Agent";u();function YW(t){switch(t){case 400:return Re.Internal;case 401:return Re.Unauthenticated;case 403:return Re.PermissionDenied;case 404:return Re.Unimplemented;case 429:return Re.Unavailable;case 502:return Re.Unavailable;case 503:return Re.Unavailable;case 504:return Re.Unavailable;default:return Re.Unknown}}u();function P1(t){let e=new Headers,n=new Headers;return t.forEach((r,i)=>{i.toLowerCase().startsWith("trailer-")?n.append(i.substring(8),r):e.append(i,r)}),[e,n]}u();var k1="1";u();function F1(t,e,n,r,i){let s=new Headers(r??{});return n!==void 0&&s.set($W,`${n}`),s.set(Ol,t=="unary"?e?FW:BW:e?UW:GW),s.set(M1,k1),!s.has(CA)&&i&&s.set(CA,"connect-es/2.0.0-rc.3"),s}u();function B1(t,e,n,r){let i=r.get(Ol),s=qW(i);if(n!==200){let o=new Xe(`HTTP ${n}`,YW(n),r);if(t=="unary"&&s&&!s.binary)return{isUnaryError:!0,unaryError:o};throw o}let a={binary:e,stream:t!=="unary"};if(s?.binary!==a.binary||s.stream!==a.stream)throw new Xe(`unsupported content type ${i}`,s===void 0?Re.Unknown:Re.Internal,r);return{isUnaryError:!1}}u();var VW="application/";function pIe(t,e){return e?sp(t,"url"):encodeURIComponent(new TextDecoder().decode(t))}function vA(t,e,n){let r=`?connect=v${k1}`,i=t.header.get(Ol);i?.indexOf(VW)===0&&(r+="&encoding="+encodeURIComponent(i.slice(VW.length)));let s=t.header.get(mp);s!==null&&s!=="identity"&&(r+="&compression="+encodeURIComponent(s),n=!0),n&&(r+="&base64=1"),r+="&message="+pIe(e,n);let a=t.url+r,o=new Headers(t.header);return[M1,Ol,HW,mp,xA].forEach(l=>o.delete(l)),Object.assign(Object.assign({},t),{requestMethod:"GET",url:a,header:o})}u();function DA(t){let e=TA(t.next,t.interceptors),[n,r,i]=WW(t),s=Object.assign(Object.assign({},t.req),{message:bA(t.req.method.input,t.req.message),signal:n});return e(s).then(a=>(i(),a),r)}function AA(t){let e=TA(t.next,t.interceptors),[n,r,i]=WW(t),s=Object.assign(Object.assign({},t.req),{message:MW(t.req.method.input,t.req.message),signal:n}),a=!1;return n.addEventListener("abort",function(){var o,l;let c=t.req.message[Symbol.asyncIterator]();a||(o=c.throw)===null||o===void 0||o.call(c,this.reason).catch(()=>{}),(l=c.return)===null||l===void 0||l.call(c).catch(()=>{})}),e(s).then(o=>Object.assign(Object.assign({},o),{message:{[Symbol.asyncIterator](){let l=o.message[Symbol.asyncIterator]();return{next(){return l.next().then(c=>(c.done==!0&&(a=!0,i()),c),r)}}}}}),r)}function WW(t){let{signal:e,cleanup:n}=LW(t.timeoutMs),r=wW(t.signal,e);return[r.signal,function(s){let a=Xe.from(e.aborted?SA(e):s);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}u();function U1(t,e,...n){if(n.length>0)throw new Error;return t.services[e]}u();u();u();var mIe=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,NA=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");let e=t.match(mIe);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},KW=t=>t==="*"||t==="x"||t==="X",zW=t=>{let e=parseInt(t,10);return isNaN(e)?t:e},hIe=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],_Ie=(t,e)=>{if(KW(t)||KW(e))return 0;let[n,r]=hIe(zW(t),zW(e));return n>r?1:n<r?-1:0},OA=(t,e)=>{for(let n=0;n<Math.max(t.length,e.length);n++){let r=_Ie(t[n]||"0",e[n]||"0");if(r!==0)return r}return 0};var Pr=(t,e)=>{let n=NA(t),r=NA(e),i=n.pop(),s=r.pop(),a=OA(n,r);return a!==0?a:i&&s?OA(i.split("."),s.split(".")):i||s?i?-1:1:0};u();u();u();u();u();function jW(){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 hp=function(t){return this instanceof hp?(this.v=t,this):new hp(t)},gIe=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(m){return function(h){return Promise.resolve(h).then(m,f)}}function o(m,h){r[m]&&(i[m]=function(g){return new Promise(function(E,b){s.push([m,g,E,b])>1||l(m,g)})},h&&(i[m]=h(i[m])))}function l(m,h){try{c(r[m](h))}catch(g){p(s[0][3],g)}}function c(m){m.value instanceof hp?Promise.resolve(m.value.v).then(d,f):p(s[0][2],m)}function d(m){l("next",m)}function f(m){l("throw",m)}function p(m,h){m(h),s.shift(),s.length&&l(s[0][0],s[0][1])}},QW={redirect:"error"};function RA(t){var e;jW();let n=(e=t.useBinaryFormat)!==null&&e!==void 0?e:!1;return{async unary(r,i,s,a,o,l){let{serialize:c,parse:d}=w1(r,n,t.jsonOptions,t.binaryOptions);return s=s===void 0?t.defaultTimeoutMs:s<=0?void 0:s,await DA({interceptors:t.interceptors,signal:i,timeoutMs:s,req:{stream:!1,service:r.parent,method:r,requestMethod:"POST",url:R1(t.baseUrl,r),header:F1(r.methodKind,n,s,a,!1),contextValues:l??O1(),message:o},next:async f=>{var p;let m=t.useHttpGet===!0&&r.idempotency===S1.NO_SIDE_EFFECTS,h=null;m?f=vA(f,c(f.message),n):h=c(f.message);let E=await((p=t.fetch)!==null&&p!==void 0?p:globalThis.fetch)(f.url,Object.assign(Object.assign({},QW),{method:f.requestMethod,headers:f.header,signal:f.signal,body:h})),{isUnaryError:b,unaryError:x}=B1(r.methodKind,n,E.status,E.headers);if(b)throw pp(await E.json(),_A(...P1(E.headers)),x);let[v,O]=P1(E.headers);return{stream:!1,service:r.parent,method:r,header:v,message:n?d(new Uint8Array(await E.arrayBuffer())):pA(r.output,await E.json(),I1(t.jsonOptions)),trailer:O}}})},async stream(r,i,s,a,o,l){let{serialize:c,parse:d}=w1(r,n,t.jsonOptions,t.binaryOptions);function f(m,h,g,E){return gIe(this,arguments,function*(){let x=gA(m).getReader(),v=!1;for(;;){let O=yield hp(x.read());if(O.done)break;let{flags:I,data:k}=O.value;if((I&N1)===N1)throw new Xe("protocol error: received unsupported compressed output",Re.Internal);if((I&L1)===L1){v=!0;let F=yA(k);if(F.error){let N=F.error;throw g.forEach((A,w)=>{N.metadata.append(w,A)}),N}F.metadata.forEach((N,A)=>h.set(A,N));continue}yield yield hp(d(k))}if("throwIfAborted"in E&&E.throwIfAborted(),!v)throw"missing EndStreamResponse"})}async function p(m){if(r.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";let h=await m[Symbol.asyncIterator]().next();if(h.done==!0)throw"missing request message";return EA(0,c(h.value))}return s=s===void 0?t.defaultTimeoutMs:s<=0?void 0:s,await AA({interceptors:t.interceptors,timeoutMs:s,signal:i,req:{stream:!0,service:r.parent,method:r,requestMethod:"POST",url:R1(t.baseUrl,r),header:F1(r.methodKind,n,s,a,!1),contextValues:l??O1(),message:o},next:async m=>{var h;let E=await((h=t.fetch)!==null&&h!==void 0?h:globalThis.fetch)(m.url,Object.assign(Object.assign({},QW),{method:m.requestMethod,headers:m.header,signal:m.signal,body:await p(m.message)}));if(B1(r.methodKind,n,E.status,E.headers),E.body===null)throw"missing response body";let b=new Headers;return Object.assign(Object.assign({},m),{header:E.headers,trailer:b,message:f(E.body,b,E.headers,m.signal)})}})}}}var jK=ee(require("crypto"),1),Ta=ee(require("fs"),1),ya=ee(require("path"),1),QK=require("url"),ez=ee(Rl(),1),F0=ee(require("fs"),1);var sLe=Object.defineProperty,aLe=Object.defineProperties,oLe=Object.getOwnPropertyDescriptors,B0=Object.getOwnPropertySymbols,PK=Object.prototype.hasOwnProperty,kK=Object.prototype.propertyIsEnumerable,GN=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),mK=(t,e,n)=>e in t?sLe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ke=(t,e)=>{for(var n in e||(e={}))PK.call(e,n)&&mK(t,n,e[n]);if(B0)for(var n of B0(e))kK.call(e,n)&&mK(t,n,e[n]);return t},cr=(t,e)=>aLe(t,oLe(e)),lLe=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),kr=(t,e)=>{var n={};for(var r in t)PK.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&B0)for(var r of B0(t))e.indexOf(r)<0&&kK.call(t,r)&&(n[r]=t[r]);return n},Ul=function(t,e){this[0]=t,this[1]=e},VN=(t,e,n)=>{var r=(a,o,l,c)=>{try{var d=n[a](o),f=(o=d.value)instanceof Ul,p=d.done;Promise.resolve(f?o[0]:o).then(m=>f?r(a==="return"?a:"next",o[1]?{done:m.done,value:m.value}:m,l,c):l({value:m,done:p})).catch(m=>r("throw",m,l,c))}catch(m){c(m)}},i=a=>s[a]=o=>new Promise((l,c)=>r(a,o,l,c)),s={};return n=n.apply(t,e),s[GN("asyncIterator")]=()=>s,i("next"),i("throw"),i("return"),s},Dp=(t,e,n)=>(e=t[GN("asyncIterator")])?e.call(t):(t=t[GN("iterator")](),e={},n=(r,i)=>(i=t[r])&&(e[r]=s=>new Promise((a,o,l)=>(s=i.call(t,s),l=s.done,Promise.resolve(s.value).then(c=>a({value:c,done:l}),o)))),n("next"),n("return"),e),FK="2.0.2";function cLe(){var t,e,n;return globalThis.Bun?{runtime:"bun",version:globalThis.Bun.version}:globalThis.Deno?{runtime:"deno",version:globalThis.Deno.version.deno}:((e=(t=globalThis.process)==null?void 0:t.release)==null?void 0:e.name)==="node"?{runtime:"node",version:HN.default.version||"unknown"}:typeof EdgeRuntime=="string"?{runtime:"vercel-edge",version:"unknown"}:((n=globalThis.navigator)==null?void 0:n.userAgent)==="Cloudflare-Workers"?{runtime:"cloudflare-worker",version:"unknown"}:typeof window<"u"?{runtime:"browser",version:HN.default.version||"unknown"}:{runtime:"unknown",version:"unknown"}}var{runtime:mo,version:uLe}=cLe();async function dLe(t){if(typeof crypto<"u"){let i=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",i),a=new Uint8Array(s);return btoa(String.fromCharCode(...a))}let{createHash:e}=lLe("crypto");return e("sha256").update(t,"utf8").digest().toString("base64")}function vp(t){return Math.ceil(t/1e3)}async function WN(t){if(mo==="browser")throw new Error("Browser runtime is not supported for dynamic import");return await import(t)}function fLe({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 BK(t){return t.replace(fLe(),"")}function UK(t){return t instanceof Blob?t:typeof t=="string"||t instanceof ArrayBuffer?new Blob([t]):new Response(t).blob()}function hK(t){return"'"+t.replace(/'/g,"'\\''")+"'"}async function pLe(t,e){if(e){let r=(t instanceof ReadableStream?t:t instanceof Blob?t.stream():new Blob([t]).stream()).pipeThrough(new CompressionStream("gzip"));return new Response(r).blob()}return UK(t)}var _K,mLe={browser:typeof window<"u"&&qN.default.name||"unknown",lang:"js",lang_version:uLe,package_version:FK,publisher:"Novita",sdk_runtime:mo,system:((_K=qN.default.os)==null?void 0:_K.family)||"unknown"};function Iu(t){return mo==="deno"?Deno.env.get(t):typeof process>"u"?"":process.env[t]}function GK(t){return new U0(`${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 Pn=class extends Error{constructor(t,e){super(t),this.name="SandboxError",e&&(this.stack=e)}},U0=class extends Pn{constructor(t,e){super(t,e),this.name="TimeoutError"}},Gt=class extends Pn{constructor(t,e){super(t,e),this.name="InvalidArgumentError"}},qK=class extends Pn{constructor(t,e){super(t,e),this.name="NotEnoughSpaceError"}},Br=class extends Pn{constructor(t,e){super(t,e),this.name="NotFoundError"}},KN=class extends Br{constructor(t,e){super(t,e),this.name="FileNotFoundError"}},es=class extends Br{constructor(t,e){super(t,e),this.name="SandboxNotFoundError"}},ho=class extends Error{constructor(t){super(t),this.name="AuthenticationError"}},P0=class extends ho{constructor(t){super(t),this.name="GitAuthError"}},k0=class extends Pn{constructor(t,e){super(t,e),this.name="GitUpstreamError"}},yi=class extends Pn{constructor(t,e){super(t,e),this.name="TemplateError"}},$N=class extends Pn{constructor(t){super(t),this.name="RateLimitError"}},Ti=class extends Error{constructor(t,e){super(t),this.name="BuildError",e&&(this.stack=e)}},wu=class extends Ti{constructor(t,e){super(t,e),this.name="FileUploadError"}};function gK(t){return JSON.parse(JSON.stringify(t))}function hLe(t){function e(n){return VN(this,null,function*(){var r;try{for(var i=Dp(n),s,a,o;s=!(a=yield new Ul(i.next())).done;s=!1){let l=a.value;(r=t.debug)==null||r.call(t,"Response stream:",gK(l)),yield l}}catch(l){o=[l]}finally{try{s&&(a=i.return)&&(yield new Ul(a.call(i)))}finally{if(o)throw o[0]}}})}return n=>async r=>{var i,s;(i=t.info)==null||i.call(t,`Request: POST ${r.url}`);let a=await n(r);return a.stream?cr(ke({},a),{message:e(a.message)}):((s=t.info)==null||s.call(t,"Response:",gK(a.message)),a)}}function HK(t){return{async onRequest({request:e}){var n;return(n=t.info)==null||n.call(t,`Request ${e.method} ${e.url}`),e},async onResponse({response:e}){var n,r;return e.status>=400?(n=t.error)==null||n.call(t,"Response:",e.status,e.statusText):(r=t.info)==null||r.call(t,"Response:",e.status,e.statusText),e}}}function xn(t,e=Pn,n){var r,i,s,a,o,l;if(t.error===void 0)return;if(t.response.status===401){let d="Unauthorized, please check your credentials.",f=(i=(r=t.error)==null?void 0:r.message)!=null?i:t.error;return f?new ho(`${d} - ${f}`):new ho(d)}if(t.response.status===429){let d="Rate limit exceeded, please try again later",f=(a=(s=t.error)==null?void 0:s.message)!=null?a:t.error;return f?new $N(`${d} - ${f}`):new $N(d)}let c=(l=(o=t.error)==null?void 0:o.message)!=null?l:t.error;return new e(`${t.response.status}: ${c}`,n)}var qt=class{constructor(t,e={requireAccessToken:!1,requireApiKey:!1}){if(e?.requireApiKey&&!t.apiKey)throw new ho("API key is required, please visit the Team tab at https://novita.ai/dashboard to get your API key. You can either set the environment variable `NOVITA_API_KEY` or you can pass it directly to the sandbox like Sandbox.create({ apiKey: 'nvta_...' })");if(e?.requireAccessToken&&!t.accessToken)throw new ho("Access token is required, please visit the Personal tab at https://novita.ai/dashboard to get your access token. You can set the environment variable `NOVITA_ACCESS_TOKEN` or pass the `accessToken` in options.");this.api=Qf({baseUrl:t.apiUrl,headers:ke(ke(ke(ke({},mLe),t.apiKey&&{"X-API-KEY":t.apiKey}),t.accessToken&&{Authorization:`Bearer ${t.accessToken}`}),t.headers),querySerializer:{array:{style:"form",explode:!1}}}),t.logger&&this.api.use(HK(t.logger))}},_Le=6e4,$K=3e5,Ap=50,Np="Keepalive-Ping-Interval",gLe="us-phx-1.sandbox.novita.ai",ELe=["sandbox.novita.ai","us-01.sandbox.novita.ai","us-ga-01.sandbox.novita.ai"],SLe="1.2.3a1";function bLe(t){if(ELe.includes(t))throw new Error(`The current SDK version does not support the domain you provided: ${t}. Please use version ${SLe}.`)}var YK=class Bl{constructor(e){var n;this.apiKey=e?.apiKey||Bl.apiKey,this.debug=e?.debug||Bl.debug,this.domain=e?.domain||Bl.domain,bLe(this.domain),this.accessToken=e?.accessToken||Bl.accessToken,this.requestTimeoutMs=(n=e?.requestTimeoutMs)!=null?n:_Le,this.logger=e?.logger,this.headers=e?.headers||{},this.headers["User-Agent"]=`novita-sandbox-sdk-js/${FK}`,this.apiUrl=e?.apiUrl||Bl.apiUrl||(this.debug?"http://localhost:3000":`https://api.${this.domain}`),this.sandboxUrl=e?.sandboxUrl||Bl.sandboxUrl}static get domain(){return Iu("NOVITA_DOMAIN")||gLe}static get apiUrl(){return Iu("NOVITA_API_URL")}static get sandboxUrl(){return Iu("NOVITA_SANDBOX_URL")}static get debug(){return(Iu("NOVITA_DEBUG")||"false").toLowerCase()==="true"}static get apiKey(){return Iu("NOVITA_API_KEY")}static get accessToken(){return Iu("NOVITA_ACCESS_TOKEN")}getSignal(e){let n=e??this.requestTimeoutMs;return n?AbortSignal.timeout(n):void 0}getSandboxUrl(e,n){return this.sandboxUrl?this.sandboxUrl:`${this.debug?"http":"https"}://${this.getHost(e,n.envdPort,n.sandboxDomain)}`}getHost(e,n,r){return this.debug?`localhost:${n}`:`${n}-${e}.${r??this.domain}`}};YK.envdPort=49983;var ct=YK,Op="user";async function YN({path:t,operation:e,user:n,expirationInSeconds:r,envdAccessToken:i}){if(!i)throw new Error("Access token is not set and signature cannot be generated!");let s=r?Math.floor(Date.now()/1e3)+r:null,a;return n==null&&(n=""),s===null?a=`${t}:${e}:${n}:${i}`:a=`${t}:${e}:${n}:${i}:${s.toString()}`,{signature:"v1_"+(await dLe(a)).replace(/=+$/,""),expiration:s}}var IN={400:t=>new Gt(t),401:t=>new ho(t),404:t=>new Br(t),429:t=>new Pn(`${t}: The requests are being rate limited.`),502:GK,507:t=>new qK(t)};async function VK(t,e){var n,r,i;if(!t.error)return;let s=typeof t.error=="string"?t.error:((n=t.error)==null?void 0:n.message)||await t.response.text();return e&&t.response.status in e?(r=e[t.response.status])==null?void 0:r.call(e,s):t.response.status in IN?(i=IN[t.response.status])==null?void 0:i.call(IN,s):new Pn(`${t.response.status}: ${s}`)}async function G0(t){var e;let n;try{n=(await t[Symbol.asyncIterator]().next()).value}catch(r){throw r instanceof Xe&&r.code===Re.Unavailable?new es("Sandbox is probably not running anymore"):r}if(((e=n.event)==null?void 0:e.event.case)!=="start")throw new Error("Expected start event");return n.event.event.value.pid}async function TLe(t){var e;let n;try{n=(await t[Symbol.asyncIterator]().next()).value}catch(r){throw r instanceof Xe&&r.code===Re.Unavailable?new es("Sandbox is probably not running anymore"):r}if(((e=n.event)==null?void 0:e.case)!=="start")throw new Error("Expected start event");return n.event.value}var yLe=class{constructor(t,e){this.api=Qf({baseUrl:t.apiUrl,fetch:t?.fetch,headers:t?.headers}),this.version=e.version,t.logger&&this.api.use(HK(t.logger))}},EK={[Re.InvalidArgument]:t=>new Gt(t),[Re.Unauthenticated]:t=>new ho(t),[Re.NotFound]:t=>new Br(t),[Re.Unavailable]:GK,[Re.Canceled]:t=>new U0(`${t}: This error is likely due to exceeding 'requestTimeoutMs'. You can pass the request timeout value as an option when making the request.`),[Re.DeadlineExceeded]:t=>new U0(`${t}: 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.`)};function Fr(t,e){return t instanceof Xe?e&&t.code in e?e[t.code](t.message):t.code in EK?EK[t.code](t.message):new Pn(`${t.code}: ${t.message}`):t}function xLe(t){switch(mo){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 ba(t,e){if(e=e||Op,!e)return{};let n=`${e}:`;return{Authorization:`Basic ${xLe(n)}`}}var CLe=Ds("ChtmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0ucHJvdG8SCmZpbGVzeXN0ZW0iMgoLTW92ZVJlcXVlc3QSDgoGc291cmNlGAEgASgJEhMKC2Rlc3RpbmF0aW9uGAIgASgJIjQKDE1vdmVSZXNwb25zZRIkCgVlbnRyeRgBIAEoCzIVLmZpbGVzeXN0ZW0uRW50cnlJbmZvIh4KDk1ha2VEaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkiNwoPTWFrZURpclJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8iHQoNUmVtb3ZlUmVxdWVzdBIMCgRwYXRoGAEgASgJIhAKDlJlbW92ZVJlc3BvbnNlIhsKC1N0YXRSZXF1ZXN0EgwKBHBhdGgYASABKAkiNAoMU3RhdFJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8i/QEKCUVudHJ5SW5mbxIMCgRuYW1lGAEgASgJEiIKBHR5cGUYAiABKA4yFC5maWxlc3lzdGVtLkZpbGVUeXBlEgwKBHBhdGgYAyABKAkSDAoEc2l6ZRgEIAEoAxIMCgRtb2RlGAUgASgNEhMKC3Blcm1pc3Npb25zGAYgASgJEg0KBW93bmVyGAcgASgJEg0KBWdyb3VwGAggASgJEjEKDW1vZGlmaWVkX3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnN5bWxpbmtfdGFyZ2V0GAogASgJSACIAQFCEQoPX3N5bWxpbmtfdGFyZ2V0Ii0KDkxpc3REaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkSDQoFZGVwdGgYAiABKA0iOQoPTGlzdERpclJlc3BvbnNlEiYKB2VudHJpZXMYASADKAsyFS5maWxlc3lzdGVtLkVudHJ5SW5mbyIyCg9XYXRjaERpclJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglyZWN1cnNpdmUYAiABKAgiRAoPRmlsZXN5c3RlbUV2ZW50EgwKBG5hbWUYASABKAkSIwoEdHlwZRgCIAEoDjIVLmZpbGVzeXN0ZW0uRXZlbnRUeXBlIuABChBXYXRjaERpclJlc3BvbnNlEjgKBXN0YXJ0GAEgASgLMicuZmlsZXN5c3RlbS5XYXRjaERpclJlc3BvbnNlLlN0YXJ0RXZlbnRIABIxCgpmaWxlc3lzdGVtGAIgASgLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnRIABI7CglrZWVwYWxpdmUYAyABKAsyJi5maWxlc3lzdGVtLldhdGNoRGlyUmVzcG9uc2UuS2VlcEFsaXZlSAAaDAoKU3RhcnRFdmVudBoLCglLZWVwQWxpdmVCBwoFZXZlbnQiNwoUQ3JlYXRlV2F0Y2hlclJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglyZWN1cnNpdmUYAiABKAgiKwoVQ3JlYXRlV2F0Y2hlclJlc3BvbnNlEhIKCndhdGNoZXJfaWQYASABKAkiLQoXR2V0V2F0Y2hlckV2ZW50c1JlcXVlc3QSEgoKd2F0Y2hlcl9pZBgBIAEoCSJHChhHZXRXYXRjaGVyRXZlbnRzUmVzcG9uc2USKwoGZXZlbnRzGAEgAygLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnQiKgoUUmVtb3ZlV2F0Y2hlclJlcXVlc3QSEgoKd2F0Y2hlcl9pZBgBIAEoCSIXChVSZW1vdmVXYXRjaGVyUmVzcG9uc2UqUgoIRmlsZVR5cGUSGQoVRklMRV9UWVBFX1VOU1BFQ0lGSUVEEAASEgoORklMRV9UWVBFX0ZJTEUQARIXChNGSUxFX1RZUEVfRElSRUNUT1JZEAIqmAEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRRVZFTlRfVFlQRV9DUkVBVEUQARIUChBFVkVOVF9UWVBFX1dSSVRFEAISFQoRRVZFTlRfVFlQRV9SRU1PVkUQAxIVChFFVkVOVF9UWVBFX1JFTkFNRRAEEhQKEEVWRU5UX1RZUEVfQ0hNT0QQBTKfBQoKRmlsZXN5c3RlbRI5CgRTdGF0EhcuZmlsZXN5c3RlbS5TdGF0UmVxdWVzdBoYLmZpbGVzeXN0ZW0uU3RhdFJlc3BvbnNlEkIKB01ha2VEaXISGi5maWxlc3lzdGVtLk1ha2VEaXJSZXF1ZXN0GhsuZmlsZXN5c3RlbS5NYWtlRGlyUmVzcG9uc2USOQoETW92ZRIXLmZpbGVzeXN0ZW0uTW92ZVJlcXVlc3QaGC5maWxlc3lzdGVtLk1vdmVSZXNwb25zZRJCCgdMaXN0RGlyEhouZmlsZXN5c3RlbS5MaXN0RGlyUmVxdWVzdBobLmZpbGVzeXN0ZW0uTGlzdERpclJlc3BvbnNlEj8KBlJlbW92ZRIZLmZpbGVzeXN0ZW0uUmVtb3ZlUmVxdWVzdBoaLmZpbGVzeXN0ZW0uUmVtb3ZlUmVzcG9uc2USRwoIV2F0Y2hEaXISGy5maWxlc3lzdGVtLldhdGNoRGlyUmVxdWVzdBocLmZpbGVzeXN0ZW0uV2F0Y2hEaXJSZXNwb25zZTABElQKDUNyZWF0ZVdhdGNoZXISIC5maWxlc3lzdGVtLkNyZWF0ZVdhdGNoZXJSZXF1ZXN0GiEuZmlsZXN5c3RlbS5DcmVhdGVXYXRjaGVyUmVzcG9uc2USXQoQR2V0V2F0Y2hlckV2ZW50cxIjLmZpbGVzeXN0ZW0uR2V0V2F0Y2hlckV2ZW50c1JlcXVlc3QaJC5maWxlc3lzdGVtLkdldFdhdGNoZXJFdmVudHNSZXNwb25zZRJUCg1SZW1vdmVXYXRjaGVyEiAuZmlsZXN5c3RlbS5SZW1vdmVXYXRjaGVyUmVxdWVzdBohLmZpbGVzeXN0ZW0uUmVtb3ZlV2F0Y2hlclJlc3BvbnNlQmkKDmNvbS5maWxlc3lzdGVtQg9GaWxlc3lzdGVtUHJvdG9QAaICA0ZYWKoCCkZpbGVzeXN0ZW3KAgpGaWxlc3lzdGVt4gIWRmlsZXN5c3RlbVxHUEJNZXRhZGF0YeoCCkZpbGVzeXN0ZW1iBnByb3RvMw",[rW]),vLe=U1(CLe,0);function DLe(t){switch(t){case 5:return"chmod";case 1:return"create";case 3:return"remove";case 4:return"rename";case 2:return"write"}}var ALe=class{constructor(t,e,n,r){this.handleStop=t,this.events=e,this.onEvent=n,this.onExit=r,this.handleEvents()}async stop(){this.handleStop()}iterateEvents(){return VN(this,null,function*(){try{try{for(var t=Dp(this.events),e,n,r;e=!(n=yield new Ul(t.next())).done;e=!1){let i=n.value;switch(i.event.case){case"filesystem":yield i.event;break}}}catch(i){r=[i]}finally{try{e&&(n=t.return)&&(yield new Ul(n.call(t)))}finally{if(r)throw r[0]}}}catch(i){throw Fr(i)}})}async handleEvents(){var t,e,n;try{try{for(var r=Dp(this.iterateEvents()),i,s,a;i=!(s=await r.next()).done;i=!1){let o=s.value,l=DLe(o.value.type);l!==void 0&&((t=this.onEvent)==null||t.call(this,{name:o.value.name,type:l}))}}catch(o){a=[o]}finally{try{i&&(s=r.return)&&await s.call(r)}finally{if(a)throw a[0]}}(e=this.onExit)==null||e.call(this)}catch(o){(n=this.onExit)==null||n.call(this,o)}}},NLe="0.1.4",SK="99.99.99",OLe="0.3.0",bK="0.4.0",RLe="0.5.2",ILe="0.5.7",wLe={404:t=>new KN(t)},LLe={[Re.NotFound]:t=>new KN(t)};function Pl(t){return Fr(t,LLe)}function wN(t){return VK(t,wLe)}function LN(t){switch(t){case 2:return"dir";case 1:return"file"}}function MN(t){if(t)return new Date(Number(t.seconds)*1e3+Math.floor(t.nanos/1e6))}var MLe=class{constructor(t,e,n){this.envdApi=e,this.connectionConfig=n,this.defaultWatchTimeout=6e4,this.defaultWatchRecursive=!1,this.rpc=Nl(vLe,t)}async read(t,e){var n;let r=(n=e?.format)!=null?n:"text",i=e?.user||Op,s={};e?.gzip&&(s["Accept-Encoding"]="gzip");let a=await this.envdApi.api.GET("/files",{params:{query:{path:t,username:i}},parseAs:r==="bytes"?"arrayBuffer":r,signal:this.connectionConfig.getSignal(e?.requestTimeoutMs),headers:s}),o=await wN(a);if(o)throw o;return r==="bytes"?new Uint8Array(a.data):a.response.headers.get("content-length")==="0"?"":a.data}async write(t,e,n){var r;if(typeof t!="string"&&!Array.isArray(t))throw new Error("Path or files are required");if(typeof t=="string"&&Array.isArray(e))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:a}=typeof t=="string"?{path:t,writeOpts:n,writeFiles:[{data:e}]}:{path:void 0,writeOpts:e,writeFiles:t};if(a.length===0)return[];let o=s?.user||Op,l=Pr(this.envdApi.version,ILe)>=0,c=s?.useOctetStream===!0&&l,d=[],f=s?.gzip===!0;if(c){let p={"Content-Type":"application/octet-stream"};f&&(p["Content-Encoding"]="gzip");let m=await Promise.all(a.map(async h=>{let g=i??h.path,E=await pLe(h.data,f),b=await this.envdApi.api.POST("/files",{params:{query:{path:g,username:o}},bodySerializer:()=>E,headers:p,signal:this.connectionConfig.getSignal(s?.requestTimeoutMs),body:{}}),x=await wN(b);if(x)throw x;let v=b.data;if(!v||v.length===0)throw new Error("Expected to receive information about written file");return v}));for(let h of m)d.push(...h)}else{let p=new FormData;for(let E of a)p.append("file",await UK(E.data),(r=E.path)!=null?r:i);let m=await this.envdApi.api.POST("/files",{params:{query:{path:i,username:o}},bodySerializer:()=>p,signal:this.connectionConfig.getSignal(s?.requestTimeoutMs),body:{}}),h=await wN(m);if(h)throw h;let g=m.data;if(!g||g.length===0)throw new Error("Expected to receive information about written file");d.push(...g)}return d.length===1&&i?d[0]:d}async writeFiles(t,e){return this.write(t,e)}async list(t,e){var n;if(typeof e?.depth=="number"&&e.depth<1)throw new Gt("depth should be at least one");try{let r=await this.rpc.listDir({path:t,depth:(n=e?.depth)!=null?n:1},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)}),i=[];for(let s of r.entries){let a=LN(s.type);a&&i.push({name:s.name,type:a,path:s.path,size:Number(s.size),mode:s.mode,permissions:s.permissions,owner:s.owner,group:s.group,modifiedTime:MN(s.modifiedTime),symlinkTarget:s.symlinkTarget})}return i}catch(r){throw Pl(r)}}async makeDir(t,e){try{return await this.rpc.makeDir({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)}),!0}catch(n){if(n instanceof Xe&&n.code===Re.AlreadyExists)return!1;throw Pl(n)}}async rename(t,e,n){try{let i=(await this.rpc.move({source:t,destination:e},{headers:ba(this.envdApi.version,n?.user),signal:this.connectionConfig.getSignal(n?.requestTimeoutMs)})).entry;if(!i)throw new Error("Expected to receive information about moved object");return{name:i.name,type:LN(i.type),path:i.path,size:Number(i.size),mode:i.mode,permissions:i.permissions,owner:i.owner,group:i.group,modifiedTime:MN(i.modifiedTime),symlinkTarget:i.symlinkTarget}}catch(r){throw Pl(r)}}async remove(t,e){try{await this.rpc.remove({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)})}catch(n){throw Pl(n)}}async exists(t,e){try{return await this.rpc.stat({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)}),!0}catch(n){if(n instanceof Xe&&n.code===Re.NotFound)return!1;throw Pl(n)}}async getInfo(t,e){try{let n=await this.rpc.stat({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)});if(!n.entry)throw new Error("Expected to receive information about the file or directory");return{name:n.entry.name,type:LN(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:MN(n.entry.modifiedTime),symlinkTarget:n.entry.symlinkTarget}}catch(n){throw Pl(n)}}async watchDir(t,e,n){var r,i,s;if(n?.recursive&&this.envdApi.version&&Pr(this.envdApi.version,NLe)<0)throw new yi("You need to update the template to use recursive watching. You can do this by running `novita-sandbox-cli template build` in the directory with the template.");let a=(r=n?.requestTimeoutMs)!=null?r:this.connectionConfig.requestTimeoutMs,o=new AbortController,l=a?setTimeout(()=>{o.abort()},a):void 0,c=this.rpc.watchDir({path:t,recursive:(i=n?.recursive)!=null?i:this.defaultWatchRecursive},{headers:cr(ke({},ba(this.envdApi.version,n?.user)),{[Np]:Ap.toString()}),signal:o.signal,timeoutMs:(s=n?.timeoutMs)!=null?s:this.defaultWatchTimeout});try{return await TLe(c),clearTimeout(l),new ALe(()=>o.abort(),c,e,n?.onExit)}catch(d){throw Pl(d)}}},_o=class extends Pn{constructor(t){super(t.error),this.result=t,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}},q0=class{constructor(t,e,n,r,i,s,a){this.pid=t,this.handleDisconnect=e,this.handleKill=n,this.events=r,this.onStdout=i,this.onStderr=s,this.onPty=a,this._stdout="",this._stderr="",this._wait=this.handleEvents()}get exitCode(){var t;return(t=this.result)==null?void 0:t.exitCode}get error(){var t;return(t=this.result)==null?void 0:t.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 Pn("Process exited without a result");if(this.result.exitCode!==0)throw new _o(this.result);return this.result}async disconnect(){this.handleDisconnect()}async kill(){return await this.handleKill()}iterateEvents(){return VN(this,null,function*(){var t;try{for(var e=Dp(this.events),n,r,i;n=!(r=yield new Ul(e.next())).done;n=!1){let s=r.value,a=(t=s?.event)==null?void 0:t.event,o;switch(a?.case){case"data":switch(a.value.output.case){case"stdout":o=new TextDecoder().decode(a.value.output.value),this._stdout+=o,yield[o,null,null];break;case"stderr":o=new TextDecoder().decode(a.value.output.value),this._stderr+=o,yield[null,o,null];break;case"pty":yield[null,null,a.value.output.value];break}break;case"end":this.result={exitCode:a.value.exitCode,error:a.value.error,stdout:this.stdout,stderr:this.stderr};break}}}catch(s){i=[s]}finally{try{n&&(r=e.return)&&(yield new Ul(r.call(e)))}finally{if(i)throw i[0]}}})}async handleEvents(){var t,e,n;try{try{for(var r=Dp(this.iterateEvents()),i,s,a;i=!(s=await r.next()).done;i=!1){let[o,l,c]=s.value;o!==null?(t=this.onStdout)==null||t.call(this,o):l!==null?(e=this.onStderr)==null||e.call(this,l):c&&((n=this.onPty)==null||n.call(this,c))}}catch(o){a=[o]}finally{try{i&&(s=r.return)&&await s.call(r)}finally{if(a)throw a[0]}}}catch(o){this.iterationError=Fr(o)}}};function WK(t){return`'${t.replace(/'/g,`'"'"'`)}'`}function TK(t,e,n){if(!e&&!n)return t;if(!e||!n)throw new Gt("Both username and password are required when using Git credentials.");let r;try{r=new URL(t)}catch{throw new Gt(`Invalid Git URL: ${t}`)}if(r.protocol!=="http:"&&r.protocol!=="https:")throw new Gt("Only http(s) Git URLs support username/password credentials.");return r.username=e,r.password=n,r.toString()}function PLe(t){let e;try{e=new URL(t)}catch{return t}return e.protocol!=="http:"&&e.protocol!=="https:"||!e.username&&!e.password?t:(e.username="",e.password="",e.toString())}function kLe(t){let e;try{e=new URL(t)}catch{return}let r=e.pathname.replace(/\/+$/,"").split("/").pop();if(r)return r.endsWith(".git")?r.slice(0,-4):r}function kl(t,e){let n=["git"];return e&&n.push("-C",e),n.push(...t),n.map(r=>WK(r)).join(" ")}function yK(t,e){let{remote:n,branch:r,setUpstream:i}=e,s=["push"],a=t??n;return i&&a&&s.push("--set-upstream"),a&&s.push(a),r&&s.push(r),s}function FLe(t){if(!t)return{ahead:0,behind:0};let e=0,n=0;if(t.includes("ahead"))try{e=Number.parseInt(t.split("ahead")[1].split(",")[0].trim(),10)}catch{e=0}if(t.includes("behind"))try{n=Number.parseInt(t.split("behind")[1].split(",")[0].trim(),10)}catch{n=0}return{ahead:e,behind:n}}function BLe(t){return t.startsWith("HEAD (detached at ")?t.replace("HEAD (detached at ","").replace(/\)$/,""):t.replace("HEAD (no branch)","HEAD").replace("No commits yet on ","").replace("Initial commit on ","")}function ULe(t,e){let n=new Set([t,e]);return n.has("U")?"conflict":n.has("R")?"renamed":n.has("C")?"copied":n.has("D")?"deleted":n.has("A")?"added":n.has("M")?"modified":n.has("T")?"typechange":n.has("?")?"untracked":"unknown"}function GLe(t){let e=t.split(`
376
+ `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(s){case 0:o=a,s=1;break;case 1:r[i++]=o<<2|(a&48)>>4,o=a,s=2;break;case 2:r[i++]=(o&15)<<4|(a&60)>>2,o=a,s=3;break;case 3:r[i++]=(o&3)<<6|a,s=0;break}}if(s==1)throw Error("invalid base64 string");return r.subarray(0,i)}function sp(t,e="std"){let n=TV(e),r=e=="std",i="",s=0,a,o=0;for(let l=0;l<t.length;l++)switch(a=t[l],s){case 0:i+=n[a>>2],o=(a&3)<<4,s=1;break;case 1:i+=n[o|a>>4],o=(a&15)<<2,s=2;break;case 2:i+=n[o|a>>6],i+=n[a&63],s=0;break}return s&&(i+=n[o],r&&(i+="=",s==1&&(i+="="))),i}var h1,bV,Su;function TV(t){return h1||(h1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),bV=h1.slice(0,-2).concat("-","_")),t=="url"?bV:h1}function GOe(){if(!Su){Su=[];let t=TV("std");for(let e=0;e<t.length;e++)Su[t[e].charCodeAt(0)]=e;Su[45]=t.indexOf("+"),Su[95]=t.indexOf("/")}return Su}u();u();u();u();function fo(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let i=t.charAt(r);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":n.push(i),e=!1;break;default:e&&(e=!1,i=i.toUpperCase()),n.push(i);break}}return n.join("")}var qOe=new Set(["constructor","toString","toJSON","valueOf"]);function Tu(t){return qOe.has(t)?t+"$":t}function ap(t){for(let e of t.field)Dl(e,"jsonName")||(e.jsonName=fo(e.name));t.nestedType.forEach(ap)}u();u();function yV(t,e){let n=t.values.find(r=>r.name===e);if(!n)throw new Error(`cannot parse ${t} default value: ${e}`);return n.number}function xV(t,e){switch(t){case K.STRING:return e;case K.BYTES:{let n=HOe(e);if(n===!1)throw new Error(`cannot parse ${K[t]} default value: ${e}`);return n}case K.INT64:case K.SFIXED64:case K.SINT64:return _t.parse(e);case K.UINT64:case K.FIXED64:return _t.uParse(e);case K.DOUBLE:case K.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 K.BOOL:return e==="true";case K.INT32:case K.UINT32:case K.SINT32:case K.FIXED32:case K.SFIXED32:return parseInt(e,10)}}function HOe(t){let e=[],n={tail:t,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(r){if(this.tail.length>=r){let i=this.tail.substring(0,r);return this.tail=this.tail.substring(r),i}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":e.push(n.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 r=n.c,i=n.take(2);if(i===!1)return!1;let s=parseInt(r+i,8);if(Number.isNaN(s))return!1;e.push(s);break}case"x":{let r=n.c,i=n.take(2);if(i===!1)return!1;let s=parseInt(r+i,16);if(Number.isNaN(s))return!1;e.push(s);break}case"u":{let r=n.c,i=n.take(4);if(i===!1)return!1;let s=parseInt(r+i,16);if(Number.isNaN(s))return!1;let a=new Uint8Array(4);new DataView(a.buffer).setInt32(0,s,!0),e.push(a[0],a[1],a[2],a[3]);break}case"U":{let r=n.c,i=n.take(8);if(i===!1)return!1;let s=_t.uEnc(r+i),a=new Uint8Array(8),o=new DataView(a.buffer);o.setInt32(0,s.lo,!0),o.setInt32(4,s.hi,!0),e.push(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);break}}break;default:e.push(n.c.charCodeAt(0))}return new Uint8Array(e)}u();function*_1(t){switch(t.kind){case"file":for(let e of t.messages)yield e,yield*_1(e);yield*t.enums,yield*t.services,yield*t.extensions;break;case"message":for(let e of t.nestedMessages)yield e,yield*_1(e);yield*t.nestedEnums,yield*t.nestedExtensions;break}}function g1(...t){let e=$Oe();if(!t.length)return e;if("$typeName"in t[0]&&t[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let r of t[0].file)AV(r,e);return e}if("$typeName"in t[0]){let a=function(o){let l=[];for(let c of o.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 ${o.name}`);"kind"in d?e.addFile(d,!1,!0):(s.add(d.name),l.push(d))}return l.concat(...l.map(a))};var n=a;let r=t[0],i=t[1],s=new Set;for(let o of[r,...a(r)].reverse())AV(o,e)}else for(let r of t)for(let i of r.files)e.addFile(i);return e}function $Oe(){let t=new Map,e=new Map,n=new Map;return{kind:"registry",types:t,extendees:e,[Symbol.iterator](){return t.values()},get files(){return n.values()},addFile(r,i,s){if(n.set(r.proto.name,r),!i)for(let a of _1(r))this.add(a);if(s)for(let a of r.dependencies)this.addFile(a,i,s)},add(r){if(r.kind=="extension"){let i=e.get(r.extendee.typeName);i||e.set(r.extendee.typeName,i=new Map),i.set(r.number,r)}t.set(r.typeName,r)},get(r){return t.get(r)},getFile(r){return n.get(r)},getMessage(r){let i=t.get(r);return i?.kind=="message"?i:void 0},getEnum(r){let i=t.get(r);return i?.kind=="enum"?i:void 0},getExtension(r){let i=t.get(r);return i?.kind=="extension"?i:void 0},getExtensionFor(r,i){var s;return(s=e.get(r.typeName))===null||s===void 0?void 0:s.get(i)},getService(r){let i=t.get(r);return i?.kind=="service"?i:void 0}}}var YOe=998,VOe=999,WOe=9,lp=10,op=11,KOe=12,CV=14,sA=3,zOe=2,vV=1,jOe=0,tA=1,DV=2,QOe=3,XOe=1,ZOe=2,JOe=1;var OV={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 AV(t,e){var n,r;let i={kind:"file",proto:t,deprecated:(r=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&r!==void 0?r:!1,edition:rRe(t),name:t.name.replace(/\.proto$/,""),dependencies:iRe(t,e),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${t.name}`}},s=new Map,a={get(o){return s.get(o)},add(o){var l;Ji(((l=o.proto.options)===null||l===void 0?void 0:l.mapEntry)===!0),s.set(o.typeName,o)}};for(let o of t.enumType)RV(o,i,void 0,e);for(let o of t.messageType)IV(o,i,void 0,e,a);for(let o of t.service)eRe(o,i,e);nA(i,e);for(let o of s.values())rA(o,e,a);for(let o of i.messages)rA(o,e,a),nA(o,e);e.addFile(i,!0)}function nA(t,e){switch(t.kind){case"file":for(let n of t.proto.extension){let r=iA(n,t,e);t.extensions.push(r),e.add(r)}break;case"message":for(let n of t.proto.extension){let r=iA(n,t,e);t.nestedExtensions.push(r),e.add(r)}for(let n of t.nestedMessages)nA(n,e);break}}function rA(t,e,n){let r=t.proto.oneofDecl.map(s=>nRe(s,t)),i=new Set;for(let s of t.proto.field){let a=oRe(s,r),o=iA(s,t,e,a,n);t.fields.push(o),t.field[o.localName]=o,a===void 0?t.members.push(o):(a.fields.push(o),i.has(a)||(i.add(a),t.members.push(a)))}for(let s of r.filter(a=>i.has(a)))t.oneofs.push(s);for(let s of t.nestedMessages)rA(s,e,n)}function RV(t,e,n,r){var i,s,a,o,l;let c=sRe(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:n,open:!0,name:t.name,typeName:E1(t,n,e),value:{},values:[],sharedPrefix:c,toString(){return`enum ${this.typeName}`}};d.open=dRe(d),r.add(d);for(let f of t.value){let p=f.name;d.values.push(d.value[f.number]={kind:"enum_value",proto:f,deprecated:(o=(a=f.options)===null||a===void 0?void 0:a.deprecated)!==null&&o!==void 0?o:!1,parent:d,name:p,localName:Tu(c==null?p:p.substring(c.length)),number:f.number,toString(){return`enum value ${d.typeName}.${p}`}})}((l=n?.nestedEnums)!==null&&l!==void 0?l:e.enums).push(d)}function IV(t,e,n,r,i){var s,a,o,l;let c={kind:"message",proto:t,deprecated:(a=(s=t.options)===null||s===void 0?void 0:s.deprecated)!==null&&a!==void 0?a:!1,file:e,parent:n,name:t.name,typeName:E1(t,n,e),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((o=t.options)===null||o===void 0?void 0:o.mapEntry)===!0?i.add(c):(((l=n?.nestedMessages)!==null&&l!==void 0?l:e.messages).push(c),r.add(c));for(let d of t.enumType)RV(d,e,c,r);for(let d of t.nestedType)IV(d,e,c,r,i)}function eRe(t,e,n){var r,i;let s={kind:"service",proto:t,deprecated:(i=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&i!==void 0?i:!1,file:e,name:t.name,typeName:E1(t,void 0,e),methods:[],method:{},toString(){return`service ${this.typeName}`}};e.services.push(s),n.add(s);for(let a of t.method){let o=tRe(a,s,n);s.methods.push(o),s.method[o.localName]=o}}function tRe(t,e,n){var r,i,s,a;let o;t.clientStreaming&&t.serverStreaming?o="bidi_streaming":t.clientStreaming?o="client_streaming":t.serverStreaming?o="server_streaming":o="unary";let l=n.getMessage(ma(t.inputType)),c=n.getMessage(ma(t.outputType));Ji(l,`invalid MethodDescriptorProto: input_type ${t.inputType} not found`),Ji(c,`invalid MethodDescriptorProto: output_type ${t.inputType} not found`);let d=t.name;return{kind:"rpc",proto:t,deprecated:(i=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&i!==void 0?i:!1,parent:e,name:d,localName:Tu(d.length?Tu(d[0].toLowerCase()+d.substring(1)):d),methodKind:o,input:l,output:c,idempotency:(a=(s=t.options)===null||s===void 0?void 0:s.idempotencyLevel)!==null&&a!==void 0?a:jOe,toString(){return`rpc ${e.typeName}.${d}`}}}function nRe(t,e){return{kind:"oneof",proto:t,deprecated:!1,parent:e,fields:[],name:t.name,localName:Tu(fo(t.name)),toString(){return`oneof ${e.typeName}.${this.name}`}}}function iA(t,e,n,r,i){var s,a,o;let l=i===void 0,c={kind:"field",proto:t,deprecated:(a=(s=t.options)===null||s===void 0?void 0:s.deprecated)!==null&&a!==void 0?a:!1,name:t.name,number:t.number,scalar:void 0,message:void 0,enum:void 0,presence:lRe(t,r,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 m=e.kind=="file"?e:e.file,h=e.kind=="file"?void 0:e,g=E1(t,h,m);c.kind="extension",c.file=m,c.parent=h,c.oneof=void 0,c.typeName=g,c.jsonName=`[${g}]`,c.toString=()=>`extension ${g}`;let E=n.getMessage(ma(t.extendee));Ji(E,`invalid FieldDescriptorProto: extendee ${t.extendee} not found`),c.extendee=E}else{let m=e;Ji(m.kind=="message"),c.parent=m,c.oneof=r,c.localName=r?fo(t.name):Tu(fo(t.name)),c.jsonName=t.jsonName,c.toString=()=>`field ${m.typeName}.${t.name}`}let d=t.label,f=t.type,p=(o=t.options)===null||o===void 0?void 0:o.jstype;if(d===sA){let m=f==op?i?.get(ma(t.typeName)):void 0;if(m){c.fieldKind="map";let{key:h,value:g}=uRe(m);return c.mapKey=h.scalar,c.mapKind=g.fieldKind,c.message=g.message,c.delimitedEncoding=!1,c.enum=g.enum,c.scalar=g.scalar,c}switch(c.fieldKind="list",f){case op:case lp:c.listKind="message",c.message=n.getMessage(ma(t.typeName)),Ji(c.message),c.delimitedEncoding=NV(t,e);break;case CV:c.listKind="enum",c.enum=n.getEnum(ma(t.typeName)),Ji(c.enum);break;default:c.listKind="scalar",c.scalar=f,c.longAsString=p==vV;break}return c.packed=cRe(t,e),c}switch(f){case op:case lp:c.fieldKind="message",c.message=n.getMessage(ma(t.typeName)),Ji(c.message,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),c.delimitedEncoding=NV(t,e),c.getDefaultValue=()=>{};break;case CV:{let m=n.getEnum(ma(t.typeName));Ji(m!==void 0,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),c.fieldKind="enum",c.enum=n.getEnum(ma(t.typeName)),c.getDefaultValue=()=>Dl(t,"defaultValue")?yV(m,t.defaultValue):void 0;break}default:{c.fieldKind="scalar",c.scalar=f,c.longAsString=p==vV,c.getDefaultValue=()=>Dl(t,"defaultValue")?xV(f,t.defaultValue):void 0;break}}return c}function rRe(t){switch(t.syntax){case"":case"proto2":return YOe;case"proto3":return VOe;case"editions":if(t.edition in OV)return t.edition;throw new Error(`${t.name}: unsupported edition`);default:throw new Error(`${t.name}: unsupported syntax "${t.syntax}"`)}}function iRe(t,e){return t.dependency.map(n=>{let r=e.getFile(n);if(!r)throw new Error(`Cannot find ${n}, imported by ${t.name}`);return r})}function sRe(t,e){let n=aRe(t)+"_";for(let r of e){if(!r.name.toLowerCase().startsWith(n))return;let i=r.name.substring(n.length);if(i.length==0||/^\d/.test(i))return}return n}function aRe(t){return(t.substring(0,1)+t.substring(1).replace(/[A-Z]/g,e=>"_"+e)).toLowerCase()}function E1(t,e,n){let r;return e?r=`${e.typeName}.${t.name}`:n.proto.package.length>0?r=`${n.proto.package}.${t.name}`:r=`${t.name}`,r}function ma(t){return t.startsWith(".")?t.substring(1):t}function oRe(t,e){if(!Dl(t,"oneofIndex")||t.proto3Optional)return;let n=e[t.oneofIndex];return Ji(n,`invalid FieldDescriptorProto: oneof #${t.oneofIndex} for field #${t.number} not found`),n}function lRe(t,e,n,r){if(t.label==zOe)return QOe;if(t.label==sA)return DV;if(e||t.proto3Optional||n)return tA;let i=yu("fieldPresence",{proto:t,parent:r});return i==DV&&(t.type==op||t.type==lp)?tA:i}function cRe(t,e){if(t.label!=sA)return!1;switch(t.type){case WOe:case KOe:case lp:case op:return!1}let n=t.options;return n&&Dl(n,"packed")?n.packed:XOe==yu("repeatedFieldEncoding",{proto:t,parent:e})}function uRe(t){let e=t.fields.find(r=>r.number===1),n=t.fields.find(r=>r.number===2);return Ji(e&&e.fieldKind=="scalar"&&e.scalar!=K.BYTES&&e.scalar!=K.FLOAT&&e.scalar!=K.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:e,value:n}}function dRe(t){var e;return JOe==yu("enumType",{proto:t.proto,parent:(e=t.parent)!==null&&e!==void 0?e:t.file})}function NV(t,e){return t.type==lp?!0:ZOe==yu("messageEncoding",{proto:t,parent:e})}function yu(t,e){var n,r;let i=(n=e.proto.options)===null||n===void 0?void 0:n.features;if(i){let s=i[t];if(s!=0)return s}if("kind"in e){if(e.kind=="message")return yu(t,(r=e.parent)!==null&&r!==void 0?r:e.file);let s=OV[e.edition];if(!s)throw new Error(`feature default for edition ${e.edition} not found`);return s[t]}return yu(t,e.parent)}function Ji(t,e){if(!t)throw new Error(e)}function wV(t){let e=fRe(t);return e.messageType.forEach(ap),g1(e,()=>{}).getFile(e.name)}function fRe(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(LV),enumType:t.enumType.map(MV)}))}function LV(t){var e,n,r,i,s,a,o,l;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:t.name,field:(n=(e=t.field)===null||e===void 0?void 0:e.map(pRe))!==null&&n!==void 0?n:[],extension:[],nestedType:(i=(r=t.nestedType)===null||r===void 0?void 0:r.map(LV))!==null&&i!==void 0?i:[],enumType:(a=(s=t.enumType)===null||s===void 0?void 0:s.map(MV))!==null&&a!==void 0?a:[],extensionRange:(l=(o=t.extensionRange)===null||o===void 0?void 0:o.map(d=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},d)))!==null&&l!==void 0?l:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function pRe(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?mRe(t.options):void 0}))}function mRe(t){var e,n,r;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:(r=(n=t.editionDefaults)===null||n===void 0?void 0:n.map(s=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},s)))!==null&&r!==void 0?r:[],uninterpretedOption:[]}))}function MV(t){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:t.name,reservedName:[],reservedRange:[],value:t.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}u();function po(t,e,...n){return n.reduce((r,i)=>r.nestedMessages[i],t.messages[e])}var hRe=wV({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 eW=po(hRe,1);var PV;(function(t){t[t.DECLARATION=0]="DECLARATION",t[t.UNVERIFIED=1]="UNVERIFIED"})(PV||(PV={}));var kV;(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"})(kV||(kV={}));var FV;(function(t){t[t.OPTIONAL=1]="OPTIONAL",t[t.REPEATED=3]="REPEATED",t[t.REQUIRED=2]="REQUIRED"})(FV||(FV={}));var BV;(function(t){t[t.SPEED=1]="SPEED",t[t.CODE_SIZE=2]="CODE_SIZE",t[t.LITE_RUNTIME=3]="LITE_RUNTIME"})(BV||(BV={}));var UV;(function(t){t[t.STRING=0]="STRING",t[t.CORD=1]="CORD",t[t.STRING_PIECE=2]="STRING_PIECE"})(UV||(UV={}));var GV;(function(t){t[t.JS_NORMAL=0]="JS_NORMAL",t[t.JS_STRING=1]="JS_STRING",t[t.JS_NUMBER=2]="JS_NUMBER"})(GV||(GV={}));var qV;(function(t){t[t.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",t[t.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",t[t.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(qV||(qV={}));var HV;(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"})(HV||(HV={}));var S1;(function(t){t[t.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",t[t.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",t[t.IDEMPOTENT=2]="IDEMPOTENT"})(S1||(S1={}));var $V;(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"})($V||($V={}));var YV;(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"})(YV||(YV={}));var VV;(function(t){t[t.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",t[t.OPEN=1]="OPEN",t[t.CLOSED=2]="CLOSED"})(VV||(VV={}));var WV;(function(t){t[t.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",t[t.PACKED=1]="PACKED",t[t.EXPANDED=2]="EXPANDED"})(WV||(WV={}));var KV;(function(t){t[t.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",t[t.VERIFY=2]="VERIFY",t[t.NONE=3]="NONE"})(KV||(KV={}));var zV;(function(t){t[t.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",t[t.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",t[t.DELIMITED=2]="DELIMITED"})(zV||(zV={}));var jV;(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"})(jV||(jV={}));var QV;(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"})(QV||(QV={}));var XV;(function(t){t[t.NONE=0]="NONE",t[t.SET=1]="SET",t[t.ALIAS=2]="ALIAS"})(XV||(XV={}));var ZV;(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"})(ZV||(ZV={}));var JV;(function(t){t[t.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",t[t.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",t[t.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(JV||(JV={}));u();var tW={readUnknownFields:!0};function _Re(t){return t?Object.assign(Object.assign({},tW),t):tW}function ha(t,e,n){let r=Qn(t,void 0,!1);return nW(r,new Al(e),_Re(n),!1,e.byteLength),r.message}function nW(t,e,n,r,i){var s;let a=r?e.len:e.pos+i,o,l,c=(s=t.getUnknown())!==null&&s!==void 0?s:[];for(;e.pos<a&&([o,l]=e.tag(),!(r&&l==Kt.EndGroup));){let d=t.findNumber(o);if(!d){let f=e.skip(l,o);n.readUnknownFields&&c.push({no:o,wireType:l,data:f});continue}aA(t,e,d,l,n)}if(r&&(l!=Kt.EndGroup||o!==i))throw new Error("invalid end group tag");c.length>0&&t.setUnknown(c)}function aA(t,e,n,r,i){var s;switch(n.fieldKind){case"scalar":t.set(n,xu(e,n.scalar));break;case"enum":let a=xu(e,K.INT32);if(n.enum.open)t.set(n,a);else if(n.enum.values.some(l=>l.number===a))t.set(n,a);else if(i.readUnknownFields){let l=[];Jf(a,l);let c=(s=t.getUnknown())!==null&&s!==void 0?s:[];c.push({no:n.number,wireType:r,data:new Uint8Array(l)}),t.setUnknown(c)}break;case"message":t.set(n,oA(e,i,n,t.get(n)));break;case"list":ERe(e,r,t.get(n),i);break;case"map":gRe(e,t.get(n),i);break}}function gRe(t,e,n){let r=e.field(),i,s,a=t.uint32(),o=t.pos+a;for(;t.pos<o;){let[l]=t.tag();switch(l){case 1:i=xu(t,r.mapKey);break;case 2:switch(r.mapKind){case"scalar":s=xu(t,r.scalar);break;case"enum":s=t.int32();break;case"message":s=oA(t,n,r);break}break}}if(i===void 0&&(i=ei(r.mapKey,!1)),s===void 0)switch(r.mapKind){case"scalar":s=ei(r.scalar,!1);break;case"enum":s=r.enum.values[0].number;break;case"message":s=Qn(r.message,void 0,!1);break}e.set(i,s)}function ERe(t,e,n,r){var i;let s=n.field();if(s.listKind==="message"){n.add(oA(t,r,s));return}let a=(i=s.scalar)!==null&&i!==void 0?i:K.INT32;if(!(e==Kt.LengthDelimited&&a!=K.STRING&&a!=K.BYTES)){n.add(xu(t,a));return}let l=t.uint32()+t.pos;for(;t.pos<l;)n.add(xu(t,a))}function oA(t,e,n,r){let i=n.delimitedEncoding,s=r??Qn(n.message,void 0,!1);return nW(s,t,e,i,i?n.number:t.uint32()),s}function xu(t,e){switch(e){case K.STRING:return t.string();case K.BOOL:return t.bool();case K.DOUBLE:return t.double();case K.FLOAT:return t.float();case K.INT32:return t.int32();case K.INT64:return t.int64();case K.UINT64:return t.uint64();case K.FIXED64:return t.fixed64();case K.BYTES:return t.bytes();case K.FIXED32:return t.fixed32();case K.SFIXED32:return t.sfixed32();case K.SFIXED64:return t.sfixed64();case K.SINT64:return t.sint64();case K.UINT32:return t.uint32();case K.SINT32:return t.sint32()}}function Ds(t,e){var n;let r=ha(eW,bu(t));return r.messageType.forEach(ap),r.dependency=(n=e?.map(s=>s.proto.name))!==null&&n!==void 0?n:[],g1(r,s=>e?.find(a=>a.proto.name===s)).getFile(r.name)}var rW=Ds("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");u();u();var SRe=Ds("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),iW=po(SRe,0);u();var bRe=3,sW={writeUnknownFields:!0};function TRe(t){return t?Object.assign(Object.assign({},sW),t):sW}function cp(t,e,n){return b1(new Eu,TRe(n),Qn(t,e)).finish()}function b1(t,e,n){var r;for(let i of n.sortedFields){if(!n.isSet(i)){if(i.presence==bRe)throw new Error(`cannot encode ${i} to binary: required field not set`);continue}lA(t,e,n,i)}if(e.writeUnknownFields)for(let{no:i,wireType:s,data:a}of(r=n.getUnknown())!==null&&r!==void 0?r:[])t.tag(i,s).raw(a);return t}function lA(t,e,n,r){var i;switch(r.fieldKind){case"scalar":case"enum":T1(t,n.desc.typeName,r.name,(i=r.scalar)!==null&&i!==void 0?i:K.INT32,r.number,n.get(r));break;case"list":yRe(t,e,r,n.get(r));break;case"message":aW(t,e,r,n.get(r));break;case"map":for(let[s,a]of n.get(r))xRe(t,e,r,s,a);break}}function T1(t,e,n,r,i,s){oW(t.tag(i,CRe(r)),e,n,r,s)}function aW(t,e,n,r){n.delimitedEncoding?b1(t.tag(n.number,Kt.StartGroup),e,r).tag(n.number,Kt.EndGroup):b1(t.tag(n.number,Kt.LengthDelimited).fork(),e,r).join()}function yRe(t,e,n,r){var i;if(n.listKind=="message"){for(let a of r)aW(t,e,n,a);return}let s=(i=n.scalar)!==null&&i!==void 0?i:K.INT32;if(n.packed){if(!r.size)return;t.tag(n.number,Kt.LengthDelimited).fork();for(let a of r)oW(t,n.parent.typeName,n.name,s,a);t.join();return}for(let a of r)T1(t,n.parent.typeName,n.name,s,n.number,a)}function xRe(t,e,n,r,i){var s;switch(t.tag(n.number,Kt.LengthDelimited).fork(),T1(t,n.parent.typeName,n.name,n.mapKey,1,r),n.mapKind){case"scalar":case"enum":T1(t,n.parent.typeName,n.name,(s=n.scalar)!==null&&s!==void 0?s:K.INT32,2,i);break;case"message":b1(t.tag(2,Kt.LengthDelimited).fork(),e,i).join();break}t.join()}function oW(t,e,n,r,i){try{switch(r){case K.STRING:t.string(i);break;case K.BOOL:t.bool(i);break;case K.DOUBLE:t.double(i);break;case K.FLOAT:t.float(i);break;case K.INT32:t.int32(i);break;case K.INT64:t.int64(i);break;case K.UINT64:t.uint64(i);break;case K.FIXED64:t.fixed64(i);break;case K.BYTES:t.bytes(i);break;case K.FIXED32:t.fixed32(i);break;case K.SFIXED32:t.sfixed32(i);break;case K.SFIXED64:t.sfixed64(i);break;case K.SINT64:t.sint64(i);break;case K.UINT32:t.uint32(i);break;case K.SINT32:t.sint32(i);break}}catch(s){throw s instanceof Error?new Error(`cannot encode field ${e}.${n} to binary: ${s.message}`):s}}function CRe(t){switch(t){case K.BYTES:case K.STRING:return Kt.LengthDelimited;case K.DOUBLE:case K.FIXED64:case K.SFIXED64:return Kt.Bit64;case K.FIXED32:case K.SFIXED32:case K.FLOAT:return Kt.Bit32;default:return Kt.Varint}}function lW(t,e,n){let r=!1;return n||(n=jn(iW),r=!0),n.value=cp(t,e),n.typeUrl=ARe(e.$typeName),r?n:void 0}function DRe(t,e){if(t.typeUrl==="")return!1;let n=typeof e=="string"?e:e.typeName,r=uW(t.typeUrl);return n===r}function cW(t,e){if(t.typeUrl==="")return;let n=e.kind=="message"?e:e.getMessage(uW(t.typeUrl));if(!(!n||!DRe(t,n)))return ha(n,t.value)}function ARe(t){return`type.googleapis.com/${t}`}function uW(t){let e=t.lastIndexOf("/"),n=e>=0?t.substring(e+1):t;if(!n.length)throw new Error(`invalid type url: ${t}`);return n}u();var cA=Ds("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),dW=po(cA,0),uA=po(cA,1),fW=po(cA,2),y1;(function(t){t[t.NULL_VALUE=0]="NULL_VALUE"})(y1||(y1={}));u();function pW(t,e){hW(e,t);let n=NRe(t.$unknown,e),[r,i,s]=Cu(e);for(let a of n)aA(r,new Al(a.data),i,a.wireType,{readUnknownFields:!0});return s()}function mW(t,e,n){var r;hW(e,t);let i=((r=t.$unknown)!==null&&r!==void 0?r:[]).filter(c=>c.no!==e.number),[s,a]=Cu(e,n),o=new Eu;lA(o,{writeUnknownFields:!0},s,a);let l=new Al(o.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 NRe(t,e){if(t===void 0)return[];if(e.fieldKind==="enum"||e.fieldKind==="scalar"){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.number)return[t[n]];return[]}return t.filter(n=>n.no===e.number)}function Cu(t,e){let n=t.typeName,r=Object.assign(Object.assign({},t),{kind:"field",parent:t.extendee,localName:n}),i=Object.assign(Object.assign({},t.extendee),{fields:[r],members:[r],oneofs:[]}),s=jn(i,e!==void 0?{[n]:e}:void 0);return[Qn(i,s),r,()=>{let a=s[n];if(a===void 0){let o=t.message;return vs(o)?ei(o.fields[0].scalar,o.fields[0].longAsString):jn(o)}return a}]}function hW(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 ORe=3,RRe=2,_W={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function IRe(t){return t?Object.assign(Object.assign({},_W),t):_W}function wRe(t,e,n){return up(Qn(t,e),IRe(n))}function EW(t,e,n){var r;let i=wRe(t,e,n);return JSON.stringify(i,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}function up(t,e){var n;let r=kRe(t,e);if(r!==void 0)return r;let i={};for(let s of t.sortedFields){if(!t.isSet(s)){if(s.presence==ORe)throw new Error(`cannot encode ${s} to JSON: required field not set`);if(!e.alwaysEmitImplicit||s.presence!==RRe)continue}let a=gW(s,t.get(s),e);a!==void 0&&(i[PRe(s,e)]=a)}if(e.registry){let s=new Set;for(let{no:a}of(n=t.getUnknown())!==null&&n!==void 0?n:[])if(!s.has(a)){s.add(a);let o=e.registry.getExtensionFor(t.desc,a);if(!o)continue;let l=pW(t.message,o),[c,d]=Cu(o,l),f=gW(d,c.get(d),e);f!==void 0&&(i[o.jsonName]=f)}}return i}function gW(t,e,n){switch(t.fieldKind){case"scalar":return x1(t,e);case"message":return up(e,n);case"enum":return dA(t.enum,e,n.enumAsInteger);case"list":return MRe(e,n);case"map":return LRe(e,n)}}function LRe(t,e){let n=t.field(),r={};switch(n.mapKind){case"scalar":for(let[i,s]of t)r[i]=x1(n,s);break;case"message":for(let[i,s]of t)r[i]=up(s,e);break;case"enum":for(let[i,s]of t)r[i]=dA(n.enum,s,e.enumAsInteger);break}return e.alwaysEmitImplicit||t.size>0?r:void 0}function MRe(t,e){let n=t.field(),r=[];switch(n.listKind){case"scalar":for(let i of t)r.push(x1(n,i));break;case"enum":for(let i of t)r.push(dA(n.enum,i,e.enumAsInteger));break;case"message":for(let i of t)r.push(up(i,e));break}return e.alwaysEmitImplicit||r.length>0?r:void 0}function dA(t,e,n){var r;if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: expected number, got ${dn(e)}`);if(t.typeName=="google.protobuf.NullValue")return null;if(n)return e;let i=t.value[e];return(r=i?.name)!==null&&r!==void 0?r:e}function x1(t,e){var n,r,i,s,a,o;switch(t.scalar){case K.INT32:case K.SFIXED32:case K.SINT32:case K.FIXED32:case K.UINT32:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(n=pa(t,e))===null||n===void 0?void 0:n.message}`);return e;case K.FLOAT:case K.DOUBLE:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(r=pa(t,e))===null||r===void 0?void 0:r.message}`);return Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case K.STRING:if(typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(i=pa(t,e))===null||i===void 0?void 0:i.message}`);return e;case K.BOOL:if(typeof e!="boolean")throw new Error(`cannot encode ${t} to JSON: ${(s=pa(t,e))===null||s===void 0?void 0:s.message}`);return e;case K.UINT64:case K.FIXED64:case K.INT64:case K.SFIXED64:case K.SINT64:if(typeof e!="bigint"&&typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(a=pa(t,e))===null||a===void 0?void 0:a.message}`);return e.toString();case K.BYTES:if(e instanceof Uint8Array)return sp(e);throw new Error(`cannot encode ${t} to JSON: ${(o=pa(t,e))===null||o===void 0?void 0:o.message}`)}}function PRe(t,e){return e.useProtoFieldName?t.name:t.jsonName}function kRe(t,e){if(t.desc.typeName.startsWith("google.protobuf."))switch(t.desc.typeName){case"google.protobuf.Any":return FRe(t.message,e);case"google.protobuf.Timestamp":return GRe(t.message);case"google.protobuf.Duration":return BRe(t.message);case"google.protobuf.FieldMask":return URe(t.message);case"google.protobuf.Struct":return SW(t.message);case"google.protobuf.Value":return fA(t.message);case"google.protobuf.ListValue":return bW(t.message);default:if(vs(t.desc)){let n=t.desc.fields[0];return x1(n,t.get(n))}return}}function FRe(t,e){if(t.typeUrl==="")return{};let{registry:n}=e,r,i;if(n&&(r=cW(t,n),r&&(i=n.getMessage(r.$typeName))),!i||!r)throw new Error(`cannot encode message ${t.$typeName} to JSON: "${t.typeUrl}" is not in the type registry`);let s=up(Qn(i,r),e);return(i.typeName.startsWith("google.protobuf.")||s===null||Array.isArray(s)||typeof s!="object")&&(s={value:s}),s["@type"]=t.typeUrl,s}function BRe(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 n=Math.abs(t.nanos).toString();n="0".repeat(9-n.length)+n,n.substring(3)==="000000"?n=n.substring(0,3):n.substring(6)==="000"&&(n=n.substring(0,6)),e+="."+n,t.nanos<0&&Number(t.seconds)==0&&(e="-"+e)}return e+"s"}function URe(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 fo(e)}).join(",")}function SW(t){let e={};for(let[n,r]of Object.entries(t.fields))e[n]=fA(r);return e}function fA(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 SW(t.kind.value);case"listValue":return bW(t.kind.value);default:throw new Error(`${t.$typeName} must have a value`)}}function bW(t){return t.values.map(fA)}function GRe(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 n="Z";if(t.nanos>0){let r=(t.nanos+1e9).toString().substring(1);r.substring(3)==="000000"?n="."+r.substring(0,3)+"Z":r.substring(6)==="000"?n="."+r.substring(0,6)+"Z":n="."+r+"Z"}return new Date(e).toISOString().replace(".000Z",n)}u();var TW={ignoreUnknownFields:!1};function qRe(t){return t?Object.assign(Object.assign({},TW),t):TW}function xW(t,e,n){return pA(t,zRe(e,t.typeName),n)}function pA(t,e,n){let r=Qn(t);try{vu(r,e,qRe(n))}catch(i){throw oV(i)?new Error(`cannot decode ${i.field()} from JSON: ${i.message}`,{cause:i}):i}return r.message}function vu(t,e,n){var r;if(jRe(t,e,n))return;if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode ${t.desc} from JSON: ${dn(e)}`);let i=new Map,s=new Map;for(let a of t.desc.fields)s.set(a.name,a).set(a.jsonName,a);for(let[a,o]of Object.entries(e)){let l=s.get(a);if(l){if(l.oneof){if(o===null&&l.fieldKind=="scalar")continue;let c=i.get(l.oneof);if(c!==void 0)throw new yn(l.oneof,`oneof set multiple times by ${c.name} and ${l.name}`);i.set(l.oneof,l)}yW(t,l,o,n)}else{let c;if(a.startsWith("[")&&a.endsWith("]")&&(c=(r=n.registry)===null||r===void 0?void 0:r.getExtension(a.substring(1,a.length-1)))&&c.extendee.typeName===t.desc.typeName){let[d,f,p]=Cu(c);yW(d,f,o,n),mW(t.message,c,p())}if(!c&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${t.desc} from JSON: key "${a}" is unknown`)}}}function yW(t,e,n,r){switch(e.fieldKind){case"scalar":WRe(t,e,n);break;case"enum":VRe(t,e,n,r);break;case"message":YRe(t,e,n,r);break;case"list":$Re(t.get(e),n,r);break;case"map":HRe(t.get(e),n,r);break}}function HRe(t,e,n){if(e===null)return;let r=t.field();if(typeof e!="object"||Array.isArray(e))throw new yn(r,"expected object, got "+dn(e));for(let[i,s]of Object.entries(e)){if(s===null)throw new yn(r,"map value must not be null");let a;switch(r.mapKind){case"message":let l=Qn(r.message);vu(l,s,n),a=l;break;case"enum":if(a=mA(r.enum,s,n.ignoreUnknownFields,!0),a===C1)return;break;case"scalar":a=D1(r,s,!0);break}let o=KRe(r.mapKey,i);t.set(o,a)}}function $Re(t,e,n){if(e===null)return;let r=t.field();if(!Array.isArray(e))throw new yn(r,"expected Array, got "+dn(e));for(let i of e){if(i===null)throw new yn(r,"list item must not be null");switch(r.listKind){case"message":let s=Qn(r.message);vu(s,i,n),t.add(s);break;case"enum":let a=mA(r.enum,i,n.ignoreUnknownFields,!0);a!==C1&&t.add(a);break;case"scalar":t.add(D1(r,i,!0));break}}}function YRe(t,e,n,r){if(n===null&&e.message.typeName!="google.protobuf.Value"){t.clear(e);return}let i=t.isSet(e)?t.get(e):Qn(e.message);vu(i,n,r),t.set(e,i)}function VRe(t,e,n,r){let i=mA(e.enum,n,r.ignoreUnknownFields,!1);i===v1?t.clear(e):i!==C1&&t.set(e,i)}function WRe(t,e,n){let r=D1(e,n,!1);r===v1?t.clear(e):t.set(e,r)}var C1=Symbol();function mA(t,e,n,r){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:r?t.values[0].number:v1;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(n)return C1;break}throw new Error(`cannot decode ${t} from JSON: ${dn(e)}`)}var v1=Symbol();function D1(t,e,n){if(e===null)return n?ei(t.scalar,!1):v1;switch(t.scalar){case K.DOUBLE:case K.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 yn(t,"unexpected NaN number");if(!Number.isFinite(e))throw new yn(t,"unexpected infinite number");break}if(typeof e=="string"){if(e===""||e.trim().length!==e.length)break;let r=Number(e);if(!Number.isFinite(r))break;return r}break;case K.INT32:case K.FIXED32:case K.SFIXED32:case K.SINT32:case K.UINT32:return CW(e);case K.BYTES:if(typeof e=="string"){if(e==="")return new Uint8Array(0);try{return bu(e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new yn(t,i)}}break}return e}function KRe(t,e){switch(t){case K.BOOL:switch(e){case"true":return!0;case"false":return!1}return e;case K.INT32:case K.FIXED32:case K.UINT32:case K.SFIXED32:case K.SINT32:return CW(e);default:return e}}function CW(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 zRe(t,e){try{return JSON.parse(t)}catch(n){let r=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${e} from JSON: ${r}`,{cause:n})}}function jRe(t,e,n){if(!t.desc.typeName.startsWith("google.protobuf."))return!1;switch(t.desc.typeName){case"google.protobuf.Any":return QRe(t.message,e,n),!0;case"google.protobuf.Timestamp":return XRe(t.message,e),!0;case"google.protobuf.Duration":return ZRe(t.message,e),!0;case"google.protobuf.FieldMask":return JRe(t.message,e),!0;case"google.protobuf.Struct":return vW(t.message,e),!0;case"google.protobuf.Value":return hA(t.message,e),!0;case"google.protobuf.ListValue":return DW(t.message,e),!0;default:if(vs(t.desc)){let r=t.desc.fields[0];return e===null?t.clear(r):t.set(r,D1(r,e,!0)),!0}return!1}}function QRe(t,e,n){var r;if(e===null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${t.$typeName} from JSON: expected object but got ${dn(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 a=(r=n.registry)===null||r===void 0?void 0:r.getMessage(s);if(!a)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${i} is not in the type registry`);let o=Qn(a);if(s.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(e,"value")){let l=e.value;vu(o,l,n)}else{let l=Object.assign({},e);delete l["@type"],vu(o,l,n)}lW(o.desc,o.message,t)}function XRe(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);let n=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(!n)throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(r))throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);if(r<Date.parse("0001-01-01T00:00:00Z")||r>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=_t.parse(r/1e3),t.nanos=0,n[7]&&(t.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function ZRe(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);let n=e.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);let r=Number(n[1]);if(r>315576e6||r<-315576e6)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);if(t.seconds=_t.parse(r),typeof n[2]!="string")return;let i=n[2]+"0".repeat(9-n[2].length);t.nanos=parseInt(i),(r<0||Object.is(r,-0))&&(t.nanos=-t.nanos)}function JRe(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${dn(e)}`);if(e==="")return;function n(r){if(r.includes("_"))throw new Error(`cannot decode message ${t.$typeName} from JSON: path names must be lowerCamelCase`);let i=r.replace(/[A-Z]/g,s=>"_"+s.toLowerCase());return i[0]==="_"?i.substring(1):i}t.paths=e.split(",").map(n)}function vW(t,e){if(typeof e!="object"||e==null||Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${dn(e)}`);for(let[n,r]of Object.entries(e)){let i=jn(uA);hA(i,r),t.fields[n]=i}}function hA(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:y1.NULL_VALUE};else if(Array.isArray(e)){let n=jn(fW);DW(n,e),t.kind={case:"listValue",value:n}}else{let n=jn(dW);vW(n,e),t.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${t.$typeName} from JSON ${dn(e)}`)}return t}function DW(t,e){if(!Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${dn(e)}`);for(let n of e){let r=jn(uA);hA(r,n),t.values.push(r)}}u();function dp(t){let e=Re[t];return typeof e!="string"?t.toString():e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}var A1;function AW(t){if(!A1){A1={};for(let e of Object.values(Re))typeof e!="string"&&(A1[dp(e)]=e)}return A1[t]}var Xe=class t extends Error{constructor(e,n=Re.Unknown,r,i,s){super(eIe(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(r??{}),this.details=i??[],this.cause=s}static from(e,n=Re.Unknown){return e instanceof t?e:e instanceof Error?e.name=="AbortError"?new t(e.message,Re.Canceled):new t(e.message,n,void 0,void 0,e):new t(String(e),n,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 n=e.kind==="message"?{getMessage:i=>i===e.typeName?e:void 0}:e,r=[];for(let i of this.details){if("desc"in i){n.getMessage(i.desc.typeName)&&r.push(jn(i.desc,i.value));continue}let s=n.getMessage(i.type);if(s)try{r.push(ha(s,i.value))}catch{}}return r}};function eIe(t,e){return t.length?`[${dp(e)}] ${t}`:`[${dp(e)}]`}u();function _A(...t){let e=new Headers;for(let n of t)n.forEach((r,i)=>{e.append(i,r)});return e}u();function NW(t,e){let n={};for(let r of t.methods){let i=e(r);i!=null&&(n[r.localName]=i)}return n}u();u();u();var N1=1;function gA(t){let e,n=new Uint8Array(0);function r(i){let s=new Uint8Array(n.length+i.length);s.set(n),s.set(i,n.length),n=s}return new ReadableStream({start(){e=t.getReader()},async pull(i){let s;for(;;){if(s===void 0&&n.byteLength>=5){let l=0;for(let c=1;c<5;c++)l=(l<<8)+n[c];s={flags:n[0],length:l}}if(s!==void 0&&n.byteLength>=s.length+5)break;let o=await e.read();if(o.done)break;r(o.value)}if(s===void 0){if(n.byteLength==0){i.close();return}i.error(new Xe("premature end of stream",Re.DataLoss));return}let a=n.subarray(5,5+s.length);n=n.subarray(5+s.length),i.enqueue({flags:s.flags,data:a})}})}function EA(t,e){let n=new Uint8Array(e.length+5);n.set(e,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,t),r.setUint32(1,e.length),n}var tIe=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(a){return new Promise(function(o,l){a=t[s](a),i(o,l,a.done,a.value)})}}function i(s,a,o,l){Promise.resolve(l).then(function(c){s({value:c,done:o})},a)}},fp=function(t){return this instanceof fp?(this.v=t,this):new fp(t)},nIe=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(m){return function(h){return Promise.resolve(h).then(m,f)}}function o(m,h){r[m]&&(i[m]=function(g){return new Promise(function(E,b){s.push([m,g,E,b])>1||l(m,g)})},h&&(i[m]=h(i[m])))}function l(m,h){try{c(r[m](h))}catch(g){p(s[0][3],g)}}function c(m){m.value instanceof fp?Promise.resolve(m.value.v).then(d,f):p(s[0][2],m)}function d(m){l("next",m)}function f(m){l("throw",m)}function p(m,h){m(h),s.shift(),s.length&&l(s[0][0],s[0][1])}},rIe=function(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(a){return(n=!n)?{value:fp(t[i](a)),done:!1}:s?s(a):a}:s}};function OW(t){return nIe(this,arguments,function*(){yield fp(yield*rIe(tIe(t)))})}u();var RW=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(a){return new Promise(function(o,l){a=t[s](a),i(o,l,a.done,a.value)})}}function i(s,a,o,l){Promise.resolve(l).then(function(c){s({value:c,done:o})},a)}},Du=function(t){return this instanceof Du?(this.v=t,this):new Du(t)},iIe=function(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(a){return(n=!n)?{value:Du(t[i](a)),done:!1}:s?s(a):a}:s}},sIe=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(m){return function(h){return Promise.resolve(h).then(m,f)}}function o(m,h){r[m]&&(i[m]=function(g){return new Promise(function(E,b){s.push([m,g,E,b])>1||l(m,g)})},h&&(i[m]=h(i[m])))}function l(m,h){try{c(r[m](h))}catch(g){p(s[0][3],g)}}function c(m){m.value instanceof Du?Promise.resolve(m.value.v).then(d,f):p(s[0][2],m)}function d(m){l("next",m)}function f(m){l("throw",m)}function p(m,h){m(h),s.shift(),s.length&&l(s[0][0],s[0][1])}};function Nl(t,e){return NW(t,n=>{switch(n.methodKind){case"unary":return aIe(e,n);case"server_streaming":return oIe(e,n);case"client_streaming":return lIe(e,n);case"bidi_streaming":return cIe(e,n);default:return null}})}function aIe(t,e){return async function(n,r){var i,s;let a=await t.unary(e,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);return(i=r?.onHeader)===null||i===void 0||i.call(r,a.header),(s=r?.onTrailer)===null||s===void 0||s.call(r,a.trailer),a.message}}function oIe(t,e){return function(n,r){return IW(t.stream(e,r?.signal,r?.timeoutMs,r?.headers,OW([n]),r?.contextValues),r)}}function lIe(t,e){return async function(n,r){var i,s,a,o,l,c;let d=await t.stream(e,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);(l=r?.onHeader)===null||l===void 0||l.call(r,d.header);let f,p=0;try{for(var m=!0,h=RW(d.message),g;g=await h.next(),i=g.done,!i;m=!0)o=g.value,m=!1,f=o,p++}catch(E){s={error:E}}finally{try{!m&&!i&&(a=h.return)&&await a.call(h)}finally{if(s)throw s.error}}if(!f)throw new Xe("protocol error: missing response message",Re.Unimplemented);if(p>1)throw new Xe("protocol error: received extra messages for client streaming method",Re.Unimplemented);return(c=r?.onTrailer)===null||c===void 0||c.call(r,d.trailer),f}}function cIe(t,e){return function(n,r){return IW(t.stream(e,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues),r)}}function IW(t,e){let n=(function(){return sIe(this,arguments,function*(){var r,i;let s=yield Du(t);(r=e?.onHeader)===null||r===void 0||r.call(e,s.header),yield Du(yield*iIe(RW(s.message))),(i=e?.onTrailer)===null||i===void 0||i.call(e,s.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}u();function wW(...t){let e=new AbortController,n=t.filter(i=>i!==void 0).concat(e.signal);for(let i of n){if(i.aborted){r.apply(i);break}i.addEventListener("abort",r)}function r(){e.signal.aborted||e.abort(SA(this));for(let i of n)i.removeEventListener("abort",r)}return e}function LW(t){let e=new AbortController,n=()=>{e.abort(new Xe("the operation timed out",Re.DeadlineExceeded))},r;return t!==void 0&&(t<=0?n():r=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(r)}}function SA(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 O1(){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 R1(t,e){return t.toString().replace(/\/?$/,`/${e.parent.typeName}/${e.name}`)}u();function bA(t,e){return jn(t,e)}function MW(t,e){function n(r){return r.done===!0?r:{done:r.done,value:bA(t,r.value)}}return{[Symbol.asyncIterator](){let r=e[Symbol.asyncIterator](),i={next:()=>r.next().then(n)};return r.throw!==void 0&&(i.throw=s=>r.throw(s).then(n)),r.return!==void 0&&(i.return=s=>r.return(s).then(n)),i}}}u();function TA(t,e){var n;return(n=e?.concat().reverse().reduce((r,i)=>i(r),t))!==null&&n!==void 0?n:t}u();function I1(t){var e;let n=Object.assign({},t);return(e=n.ignoreUnknownFields)!==null&&e!==void 0||(n.ignoreUnknownFields=!0),n}function w1(t,e,n,r){let i=e?PW(t.input,r):kW(t.input,n);return{parse:(e?PW(t.output,r):kW(t.output,n)).parse,serialize:i.serialize}}function PW(t,e){return{parse(n){try{return ha(t,n,e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new Xe(`parse binary: ${i}`,Re.Internal)}},serialize(n){try{return cp(t,n,e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new Xe(`serialize binary: ${i}`,Re.Internal)}}}}function kW(t,e){var n,r;let i=(n=e?.textEncoder)!==null&&n!==void 0?n:new TextEncoder,s=(r=e?.textDecoder)!==null&&r!==void 0?r:new TextDecoder,a=I1(e);return{parse(o){try{let l=s.decode(o);return xW(t,l,a)}catch(l){throw Xe.from(l,Re.InvalidArgument)}},serialize(o){try{let l=EW(t,o,a);return i.encode(l)}catch(l){throw Xe.from(l,Re.Internal)}}}}u();var uIe=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;var FW="application/proto",BW="application/json",UW="application/connect+proto",GW="application/connect+json";function qW(t){let e=t?.match(uIe);if(!e)return;let n=!!e[1],r=!!e[3];return{stream:n,binary:r}}u();u();function pp(t,e,n){var r;if(e&&new Headers(e).forEach((o,l)=>n.metadata.append(l,o)),typeof t!="object"||t==null||Array.isArray(t))throw n;let i=n.code;"code"in t&&typeof t.code=="string"&&(i=(r=AW(t.code))!==null&&r!==void 0?r:i);let s=t.message;if(s!=null&&typeof s!="string")throw n;let a=new Xe(s??"",i,e);if("details"in t&&Array.isArray(t.details))for(let o of t.details){if(o===null||typeof o!="object"||Array.isArray(o)||typeof o.type!="string"||typeof o.value!="string")throw n;try{a.details.push({type:o.type,value:bu(o.value),debug:o.debug})}catch{throw n}}return a}var L1=2;function yA(t){let e=new Xe("invalid end stream",Re.Unknown),n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||n==null||Array.isArray(n))throw e;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(let[s,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(o=>typeof o!="string"))throw e;for(let o of a)r.append(s,o)}}let i="error"in n&&n.error!=null?pp(n.error,r,e):void 0;return{metadata:r,error:i}}u();var Ol="Content-Type",HW="Content-Length",mp="Content-Encoding";var xA="Accept-Encoding";var $W="Connect-Timeout-Ms",M1="Connect-Protocol-Version",CA="User-Agent";u();function YW(t){switch(t){case 400:return Re.Internal;case 401:return Re.Unauthenticated;case 403:return Re.PermissionDenied;case 404:return Re.Unimplemented;case 429:return Re.Unavailable;case 502:return Re.Unavailable;case 503:return Re.Unavailable;case 504:return Re.Unavailable;default:return Re.Unknown}}u();function P1(t){let e=new Headers,n=new Headers;return t.forEach((r,i)=>{i.toLowerCase().startsWith("trailer-")?n.append(i.substring(8),r):e.append(i,r)}),[e,n]}u();var k1="1";u();function F1(t,e,n,r,i){let s=new Headers(r??{});return n!==void 0&&s.set($W,`${n}`),s.set(Ol,t=="unary"?e?FW:BW:e?UW:GW),s.set(M1,k1),!s.has(CA)&&i&&s.set(CA,"connect-es/2.0.0-rc.3"),s}u();function B1(t,e,n,r){let i=r.get(Ol),s=qW(i);if(n!==200){let o=new Xe(`HTTP ${n}`,YW(n),r);if(t=="unary"&&s&&!s.binary)return{isUnaryError:!0,unaryError:o};throw o}let a={binary:e,stream:t!=="unary"};if(s?.binary!==a.binary||s.stream!==a.stream)throw new Xe(`unsupported content type ${i}`,s===void 0?Re.Unknown:Re.Internal,r);return{isUnaryError:!1}}u();var VW="application/";function pIe(t,e){return e?sp(t,"url"):encodeURIComponent(new TextDecoder().decode(t))}function vA(t,e,n){let r=`?connect=v${k1}`,i=t.header.get(Ol);i?.indexOf(VW)===0&&(r+="&encoding="+encodeURIComponent(i.slice(VW.length)));let s=t.header.get(mp);s!==null&&s!=="identity"&&(r+="&compression="+encodeURIComponent(s),n=!0),n&&(r+="&base64=1"),r+="&message="+pIe(e,n);let a=t.url+r,o=new Headers(t.header);return[M1,Ol,HW,mp,xA].forEach(l=>o.delete(l)),Object.assign(Object.assign({},t),{requestMethod:"GET",url:a,header:o})}u();function DA(t){let e=TA(t.next,t.interceptors),[n,r,i]=WW(t),s=Object.assign(Object.assign({},t.req),{message:bA(t.req.method.input,t.req.message),signal:n});return e(s).then(a=>(i(),a),r)}function AA(t){let e=TA(t.next,t.interceptors),[n,r,i]=WW(t),s=Object.assign(Object.assign({},t.req),{message:MW(t.req.method.input,t.req.message),signal:n}),a=!1;return n.addEventListener("abort",function(){var o,l;let c=t.req.message[Symbol.asyncIterator]();a||(o=c.throw)===null||o===void 0||o.call(c,this.reason).catch(()=>{}),(l=c.return)===null||l===void 0||l.call(c).catch(()=>{})}),e(s).then(o=>Object.assign(Object.assign({},o),{message:{[Symbol.asyncIterator](){let l=o.message[Symbol.asyncIterator]();return{next(){return l.next().then(c=>(c.done==!0&&(a=!0,i()),c),r)}}}}}),r)}function WW(t){let{signal:e,cleanup:n}=LW(t.timeoutMs),r=wW(t.signal,e);return[r.signal,function(s){let a=Xe.from(e.aborted?SA(e):s);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}u();function U1(t,e,...n){if(n.length>0)throw new Error;return t.services[e]}u();u();u();var mIe=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,NA=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");let e=t.match(mIe);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},KW=t=>t==="*"||t==="x"||t==="X",zW=t=>{let e=parseInt(t,10);return isNaN(e)?t:e},hIe=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],_Ie=(t,e)=>{if(KW(t)||KW(e))return 0;let[n,r]=hIe(zW(t),zW(e));return n>r?1:n<r?-1:0},OA=(t,e)=>{for(let n=0;n<Math.max(t.length,e.length);n++){let r=_Ie(t[n]||"0",e[n]||"0");if(r!==0)return r}return 0};var Pr=(t,e)=>{let n=NA(t),r=NA(e),i=n.pop(),s=r.pop(),a=OA(n,r);return a!==0?a:i&&s?OA(i.split("."),s.split(".")):i||s?i?-1:1:0};u();u();u();u();u();function jW(){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 hp=function(t){return this instanceof hp?(this.v=t,this):new hp(t)},gIe=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(m){return function(h){return Promise.resolve(h).then(m,f)}}function o(m,h){r[m]&&(i[m]=function(g){return new Promise(function(E,b){s.push([m,g,E,b])>1||l(m,g)})},h&&(i[m]=h(i[m])))}function l(m,h){try{c(r[m](h))}catch(g){p(s[0][3],g)}}function c(m){m.value instanceof hp?Promise.resolve(m.value.v).then(d,f):p(s[0][2],m)}function d(m){l("next",m)}function f(m){l("throw",m)}function p(m,h){m(h),s.shift(),s.length&&l(s[0][0],s[0][1])}},QW={redirect:"error"};function RA(t){var e;jW();let n=(e=t.useBinaryFormat)!==null&&e!==void 0?e:!1;return{async unary(r,i,s,a,o,l){let{serialize:c,parse:d}=w1(r,n,t.jsonOptions,t.binaryOptions);return s=s===void 0?t.defaultTimeoutMs:s<=0?void 0:s,await DA({interceptors:t.interceptors,signal:i,timeoutMs:s,req:{stream:!1,service:r.parent,method:r,requestMethod:"POST",url:R1(t.baseUrl,r),header:F1(r.methodKind,n,s,a,!1),contextValues:l??O1(),message:o},next:async f=>{var p;let m=t.useHttpGet===!0&&r.idempotency===S1.NO_SIDE_EFFECTS,h=null;m?f=vA(f,c(f.message),n):h=c(f.message);let E=await((p=t.fetch)!==null&&p!==void 0?p:globalThis.fetch)(f.url,Object.assign(Object.assign({},QW),{method:f.requestMethod,headers:f.header,signal:f.signal,body:h})),{isUnaryError:b,unaryError:x}=B1(r.methodKind,n,E.status,E.headers);if(b)throw pp(await E.json(),_A(...P1(E.headers)),x);let[v,O]=P1(E.headers);return{stream:!1,service:r.parent,method:r,header:v,message:n?d(new Uint8Array(await E.arrayBuffer())):pA(r.output,await E.json(),I1(t.jsonOptions)),trailer:O}}})},async stream(r,i,s,a,o,l){let{serialize:c,parse:d}=w1(r,n,t.jsonOptions,t.binaryOptions);function f(m,h,g,E){return gIe(this,arguments,function*(){let x=gA(m).getReader(),v=!1;for(;;){let O=yield hp(x.read());if(O.done)break;let{flags:I,data:k}=O.value;if((I&N1)===N1)throw new Xe("protocol error: received unsupported compressed output",Re.Internal);if((I&L1)===L1){v=!0;let F=yA(k);if(F.error){let N=F.error;throw g.forEach((A,w)=>{N.metadata.append(w,A)}),N}F.metadata.forEach((N,A)=>h.set(A,N));continue}yield yield hp(d(k))}if("throwIfAborted"in E&&E.throwIfAborted(),!v)throw"missing EndStreamResponse"})}async function p(m){if(r.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";let h=await m[Symbol.asyncIterator]().next();if(h.done==!0)throw"missing request message";return EA(0,c(h.value))}return s=s===void 0?t.defaultTimeoutMs:s<=0?void 0:s,await AA({interceptors:t.interceptors,timeoutMs:s,signal:i,req:{stream:!0,service:r.parent,method:r,requestMethod:"POST",url:R1(t.baseUrl,r),header:F1(r.methodKind,n,s,a,!1),contextValues:l??O1(),message:o},next:async m=>{var h;let E=await((h=t.fetch)!==null&&h!==void 0?h:globalThis.fetch)(m.url,Object.assign(Object.assign({},QW),{method:m.requestMethod,headers:m.header,signal:m.signal,body:await p(m.message)}));if(B1(r.methodKind,n,E.status,E.headers),E.body===null)throw"missing response body";let b=new Headers;return Object.assign(Object.assign({},m),{header:E.headers,trailer:b,message:f(E.body,b,E.headers,m.signal)})}})}}}var jK=ee(require("crypto"),1),Ta=ee(require("fs"),1),ya=ee(require("path"),1),QK=require("url"),ez=ee(Rl(),1),F0=ee(require("fs"),1);var sLe=Object.defineProperty,aLe=Object.defineProperties,oLe=Object.getOwnPropertyDescriptors,B0=Object.getOwnPropertySymbols,PK=Object.prototype.hasOwnProperty,kK=Object.prototype.propertyIsEnumerable,GN=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),mK=(t,e,n)=>e in t?sLe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ke=(t,e)=>{for(var n in e||(e={}))PK.call(e,n)&&mK(t,n,e[n]);if(B0)for(var n of B0(e))kK.call(e,n)&&mK(t,n,e[n]);return t},cr=(t,e)=>aLe(t,oLe(e)),lLe=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),kr=(t,e)=>{var n={};for(var r in t)PK.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&B0)for(var r of B0(t))e.indexOf(r)<0&&kK.call(t,r)&&(n[r]=t[r]);return n},Ul=function(t,e){this[0]=t,this[1]=e},VN=(t,e,n)=>{var r=(a,o,l,c)=>{try{var d=n[a](o),f=(o=d.value)instanceof Ul,p=d.done;Promise.resolve(f?o[0]:o).then(m=>f?r(a==="return"?a:"next",o[1]?{done:m.done,value:m.value}:m,l,c):l({value:m,done:p})).catch(m=>r("throw",m,l,c))}catch(m){c(m)}},i=a=>s[a]=o=>new Promise((l,c)=>r(a,o,l,c)),s={};return n=n.apply(t,e),s[GN("asyncIterator")]=()=>s,i("next"),i("throw"),i("return"),s},Dp=(t,e,n)=>(e=t[GN("asyncIterator")])?e.call(t):(t=t[GN("iterator")](),e={},n=(r,i)=>(i=t[r])&&(e[r]=s=>new Promise((a,o,l)=>(s=i.call(t,s),l=s.done,Promise.resolve(s.value).then(c=>a({value:c,done:l}),o)))),n("next"),n("return"),e),FK="2.0.4-a1";function cLe(){var t,e,n;return globalThis.Bun?{runtime:"bun",version:globalThis.Bun.version}:globalThis.Deno?{runtime:"deno",version:globalThis.Deno.version.deno}:((e=(t=globalThis.process)==null?void 0:t.release)==null?void 0:e.name)==="node"?{runtime:"node",version:HN.default.version||"unknown"}:typeof EdgeRuntime=="string"?{runtime:"vercel-edge",version:"unknown"}:((n=globalThis.navigator)==null?void 0:n.userAgent)==="Cloudflare-Workers"?{runtime:"cloudflare-worker",version:"unknown"}:typeof window<"u"?{runtime:"browser",version:HN.default.version||"unknown"}:{runtime:"unknown",version:"unknown"}}var{runtime:mo,version:uLe}=cLe();async function dLe(t){if(typeof crypto<"u"){let i=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",i),a=new Uint8Array(s);return btoa(String.fromCharCode(...a))}let{createHash:e}=lLe("crypto");return e("sha256").update(t,"utf8").digest().toString("base64")}function vp(t){return Math.ceil(t/1e3)}async function WN(t){if(mo==="browser")throw new Error("Browser runtime is not supported for dynamic import");return await import(t)}function fLe({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 BK(t){return t.replace(fLe(),"")}function UK(t){return t instanceof Blob?t:typeof t=="string"||t instanceof ArrayBuffer?new Blob([t]):new Response(t).blob()}function hK(t){return"'"+t.replace(/'/g,"'\\''")+"'"}async function pLe(t,e){if(e){let r=(t instanceof ReadableStream?t:t instanceof Blob?t.stream():new Blob([t]).stream()).pipeThrough(new CompressionStream("gzip"));return new Response(r).blob()}return UK(t)}var _K,mLe={browser:typeof window<"u"&&qN.default.name||"unknown",lang:"js",lang_version:uLe,package_version:FK,publisher:"Novita",sdk_runtime:mo,system:((_K=qN.default.os)==null?void 0:_K.family)||"unknown"};function Iu(t){return mo==="deno"?Deno.env.get(t):typeof process>"u"?"":process.env[t]}function GK(t){return new U0(`${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 Pn=class extends Error{constructor(t,e){super(t),this.name="SandboxError",e&&(this.stack=e)}},U0=class extends Pn{constructor(t,e){super(t,e),this.name="TimeoutError"}},Gt=class extends Pn{constructor(t,e){super(t,e),this.name="InvalidArgumentError"}},qK=class extends Pn{constructor(t,e){super(t,e),this.name="NotEnoughSpaceError"}},Br=class extends Pn{constructor(t,e){super(t,e),this.name="NotFoundError"}},KN=class extends Br{constructor(t,e){super(t,e),this.name="FileNotFoundError"}},es=class extends Br{constructor(t,e){super(t,e),this.name="SandboxNotFoundError"}},ho=class extends Error{constructor(t){super(t),this.name="AuthenticationError"}},P0=class extends ho{constructor(t){super(t),this.name="GitAuthError"}},k0=class extends Pn{constructor(t,e){super(t,e),this.name="GitUpstreamError"}},yi=class extends Pn{constructor(t,e){super(t,e),this.name="TemplateError"}},$N=class extends Pn{constructor(t){super(t),this.name="RateLimitError"}},Ti=class extends Error{constructor(t,e){super(t),this.name="BuildError",e&&(this.stack=e)}},wu=class extends Ti{constructor(t,e){super(t,e),this.name="FileUploadError"}};function gK(t){return JSON.parse(JSON.stringify(t))}function hLe(t){function e(n){return VN(this,null,function*(){var r;try{for(var i=Dp(n),s,a,o;s=!(a=yield new Ul(i.next())).done;s=!1){let l=a.value;(r=t.debug)==null||r.call(t,"Response stream:",gK(l)),yield l}}catch(l){o=[l]}finally{try{s&&(a=i.return)&&(yield new Ul(a.call(i)))}finally{if(o)throw o[0]}}})}return n=>async r=>{var i,s;(i=t.info)==null||i.call(t,`Request: POST ${r.url}`);let a=await n(r);return a.stream?cr(ke({},a),{message:e(a.message)}):((s=t.info)==null||s.call(t,"Response:",gK(a.message)),a)}}function HK(t){return{async onRequest({request:e}){var n;return(n=t.info)==null||n.call(t,`Request ${e.method} ${e.url}`),e},async onResponse({response:e}){var n,r;return e.status>=400?(n=t.error)==null||n.call(t,"Response:",e.status,e.statusText):(r=t.info)==null||r.call(t,"Response:",e.status,e.statusText),e}}}function xn(t,e=Pn,n){var r,i,s,a,o,l;if(t.error===void 0)return;if(t.response.status===401){let d="Unauthorized, please check your credentials.",f=(i=(r=t.error)==null?void 0:r.message)!=null?i:t.error;return f?new ho(`${d} - ${f}`):new ho(d)}if(t.response.status===429){let d="Rate limit exceeded, please try again later",f=(a=(s=t.error)==null?void 0:s.message)!=null?a:t.error;return f?new $N(`${d} - ${f}`):new $N(d)}let c=(l=(o=t.error)==null?void 0:o.message)!=null?l:t.error;return new e(`${t.response.status}: ${c}`,n)}var qt=class{constructor(t,e={requireAccessToken:!1,requireApiKey:!1}){if(e?.requireApiKey&&!t.apiKey)throw new ho("API key is required, please visit the Team tab at https://novita.ai/dashboard to get your API key. You can either set the environment variable `NOVITA_API_KEY` or you can pass it directly to the sandbox like Sandbox.create({ apiKey: 'nvta_...' })");if(e?.requireAccessToken&&!t.accessToken)throw new ho("Access token is required, please visit the Personal tab at https://novita.ai/dashboard to get your access token. You can set the environment variable `NOVITA_ACCESS_TOKEN` or pass the `accessToken` in options.");this.api=Qf({baseUrl:t.apiUrl,headers:ke(ke(ke(ke({},mLe),t.apiKey&&{"X-API-KEY":t.apiKey}),t.accessToken&&{Authorization:`Bearer ${t.accessToken}`}),t.headers),querySerializer:{array:{style:"form",explode:!1}}}),t.logger&&this.api.use(HK(t.logger))}},_Le=6e4,$K=3e5,Ap=50,Np="Keepalive-Ping-Interval",gLe="us-phx-1.sandbox.novita.ai",ELe=["sandbox.novita.ai","us-01.sandbox.novita.ai","us-ga-01.sandbox.novita.ai"],SLe="1.2.3-a1";function bLe(t){if(ELe.includes(t))throw new Error(`The current SDK version does not support the domain you provided: ${t}. Please use version ${SLe}.`)}var YK=class Bl{constructor(e){var n;this.apiKey=e?.apiKey||Bl.apiKey,this.debug=e?.debug||Bl.debug,this.domain=e?.domain||Bl.domain,bLe(this.domain),this.accessToken=e?.accessToken||Bl.accessToken,this.requestTimeoutMs=(n=e?.requestTimeoutMs)!=null?n:_Le,this.logger=e?.logger,this.headers=e?.headers||{},this.headers["User-Agent"]=`novita-sandbox-sdk-js/${FK}`,this.apiUrl=e?.apiUrl||Bl.apiUrl||(this.debug?"http://localhost:3000":`https://api.${this.domain}`),this.sandboxUrl=e?.sandboxUrl||Bl.sandboxUrl}static get domain(){return Iu("NOVITA_DOMAIN")||gLe}static get apiUrl(){return Iu("NOVITA_API_URL")}static get sandboxUrl(){return Iu("NOVITA_SANDBOX_URL")}static get debug(){return(Iu("NOVITA_DEBUG")||"false").toLowerCase()==="true"}static get apiKey(){return Iu("NOVITA_API_KEY")}static get accessToken(){return Iu("NOVITA_ACCESS_TOKEN")}getSignal(e){let n=e??this.requestTimeoutMs;return n?AbortSignal.timeout(n):void 0}getSandboxUrl(e,n){return this.sandboxUrl?this.sandboxUrl:`${this.debug?"http":"https"}://${this.getHost(e,n.envdPort,n.sandboxDomain)}`}getHost(e,n,r){return this.debug?`localhost:${n}`:`${n}-${e}.${r??this.domain}`}};YK.envdPort=49983;var ct=YK,Op="user";async function YN({path:t,operation:e,user:n,expirationInSeconds:r,envdAccessToken:i}){if(!i)throw new Error("Access token is not set and signature cannot be generated!");let s=r?Math.floor(Date.now()/1e3)+r:null,a;return n==null&&(n=""),s===null?a=`${t}:${e}:${n}:${i}`:a=`${t}:${e}:${n}:${i}:${s.toString()}`,{signature:"v1_"+(await dLe(a)).replace(/=+$/,""),expiration:s}}var IN={400:t=>new Gt(t),401:t=>new ho(t),404:t=>new Br(t),429:t=>new Pn(`${t}: The requests are being rate limited.`),502:GK,507:t=>new qK(t)};async function VK(t,e){var n,r,i;if(!t.error)return;let s=typeof t.error=="string"?t.error:((n=t.error)==null?void 0:n.message)||await t.response.text();return e&&t.response.status in e?(r=e[t.response.status])==null?void 0:r.call(e,s):t.response.status in IN?(i=IN[t.response.status])==null?void 0:i.call(IN,s):new Pn(`${t.response.status}: ${s}`)}async function G0(t){var e;let n;try{n=(await t[Symbol.asyncIterator]().next()).value}catch(r){throw r instanceof Xe&&r.code===Re.Unavailable?new es("Sandbox is probably not running anymore"):r}if(((e=n.event)==null?void 0:e.event.case)!=="start")throw new Error("Expected start event");return n.event.event.value.pid}async function TLe(t){var e;let n;try{n=(await t[Symbol.asyncIterator]().next()).value}catch(r){throw r instanceof Xe&&r.code===Re.Unavailable?new es("Sandbox is probably not running anymore"):r}if(((e=n.event)==null?void 0:e.case)!=="start")throw new Error("Expected start event");return n.event.value}var yLe=class{constructor(t,e){this.api=Qf({baseUrl:t.apiUrl,fetch:t?.fetch,headers:t?.headers}),this.version=e.version,t.logger&&this.api.use(HK(t.logger))}},EK={[Re.InvalidArgument]:t=>new Gt(t),[Re.Unauthenticated]:t=>new ho(t),[Re.NotFound]:t=>new Br(t),[Re.Unavailable]:GK,[Re.Canceled]:t=>new U0(`${t}: This error is likely due to exceeding 'requestTimeoutMs'. You can pass the request timeout value as an option when making the request.`),[Re.DeadlineExceeded]:t=>new U0(`${t}: 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.`)};function Fr(t,e){return t instanceof Xe?e&&t.code in e?e[t.code](t.message):t.code in EK?EK[t.code](t.message):new Pn(`${t.code}: ${t.message}`):t}function xLe(t){switch(mo){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 ba(t,e){if(e=e||Op,!e)return{};let n=`${e}:`;return{Authorization:`Basic ${xLe(n)}`}}var CLe=Ds("ChtmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0ucHJvdG8SCmZpbGVzeXN0ZW0iMgoLTW92ZVJlcXVlc3QSDgoGc291cmNlGAEgASgJEhMKC2Rlc3RpbmF0aW9uGAIgASgJIjQKDE1vdmVSZXNwb25zZRIkCgVlbnRyeRgBIAEoCzIVLmZpbGVzeXN0ZW0uRW50cnlJbmZvIh4KDk1ha2VEaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkiNwoPTWFrZURpclJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8iHQoNUmVtb3ZlUmVxdWVzdBIMCgRwYXRoGAEgASgJIhAKDlJlbW92ZVJlc3BvbnNlIhsKC1N0YXRSZXF1ZXN0EgwKBHBhdGgYASABKAkiNAoMU3RhdFJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8i/QEKCUVudHJ5SW5mbxIMCgRuYW1lGAEgASgJEiIKBHR5cGUYAiABKA4yFC5maWxlc3lzdGVtLkZpbGVUeXBlEgwKBHBhdGgYAyABKAkSDAoEc2l6ZRgEIAEoAxIMCgRtb2RlGAUgASgNEhMKC3Blcm1pc3Npb25zGAYgASgJEg0KBW93bmVyGAcgASgJEg0KBWdyb3VwGAggASgJEjEKDW1vZGlmaWVkX3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKDnN5bWxpbmtfdGFyZ2V0GAogASgJSACIAQFCEQoPX3N5bWxpbmtfdGFyZ2V0Ii0KDkxpc3REaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkSDQoFZGVwdGgYAiABKA0iOQoPTGlzdERpclJlc3BvbnNlEiYKB2VudHJpZXMYASADKAsyFS5maWxlc3lzdGVtLkVudHJ5SW5mbyIyCg9XYXRjaERpclJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglyZWN1cnNpdmUYAiABKAgiRAoPRmlsZXN5c3RlbUV2ZW50EgwKBG5hbWUYASABKAkSIwoEdHlwZRgCIAEoDjIVLmZpbGVzeXN0ZW0uRXZlbnRUeXBlIuABChBXYXRjaERpclJlc3BvbnNlEjgKBXN0YXJ0GAEgASgLMicuZmlsZXN5c3RlbS5XYXRjaERpclJlc3BvbnNlLlN0YXJ0RXZlbnRIABIxCgpmaWxlc3lzdGVtGAIgASgLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnRIABI7CglrZWVwYWxpdmUYAyABKAsyJi5maWxlc3lzdGVtLldhdGNoRGlyUmVzcG9uc2UuS2VlcEFsaXZlSAAaDAoKU3RhcnRFdmVudBoLCglLZWVwQWxpdmVCBwoFZXZlbnQiNwoUQ3JlYXRlV2F0Y2hlclJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglyZWN1cnNpdmUYAiABKAgiKwoVQ3JlYXRlV2F0Y2hlclJlc3BvbnNlEhIKCndhdGNoZXJfaWQYASABKAkiLQoXR2V0V2F0Y2hlckV2ZW50c1JlcXVlc3QSEgoKd2F0Y2hlcl9pZBgBIAEoCSJHChhHZXRXYXRjaGVyRXZlbnRzUmVzcG9uc2USKwoGZXZlbnRzGAEgAygLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnQiKgoUUmVtb3ZlV2F0Y2hlclJlcXVlc3QSEgoKd2F0Y2hlcl9pZBgBIAEoCSIXChVSZW1vdmVXYXRjaGVyUmVzcG9uc2UqUgoIRmlsZVR5cGUSGQoVRklMRV9UWVBFX1VOU1BFQ0lGSUVEEAASEgoORklMRV9UWVBFX0ZJTEUQARIXChNGSUxFX1RZUEVfRElSRUNUT1JZEAIqmAEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRRVZFTlRfVFlQRV9DUkVBVEUQARIUChBFVkVOVF9UWVBFX1dSSVRFEAISFQoRRVZFTlRfVFlQRV9SRU1PVkUQAxIVChFFVkVOVF9UWVBFX1JFTkFNRRAEEhQKEEVWRU5UX1RZUEVfQ0hNT0QQBTKfBQoKRmlsZXN5c3RlbRI5CgRTdGF0EhcuZmlsZXN5c3RlbS5TdGF0UmVxdWVzdBoYLmZpbGVzeXN0ZW0uU3RhdFJlc3BvbnNlEkIKB01ha2VEaXISGi5maWxlc3lzdGVtLk1ha2VEaXJSZXF1ZXN0GhsuZmlsZXN5c3RlbS5NYWtlRGlyUmVzcG9uc2USOQoETW92ZRIXLmZpbGVzeXN0ZW0uTW92ZVJlcXVlc3QaGC5maWxlc3lzdGVtLk1vdmVSZXNwb25zZRJCCgdMaXN0RGlyEhouZmlsZXN5c3RlbS5MaXN0RGlyUmVxdWVzdBobLmZpbGVzeXN0ZW0uTGlzdERpclJlc3BvbnNlEj8KBlJlbW92ZRIZLmZpbGVzeXN0ZW0uUmVtb3ZlUmVxdWVzdBoaLmZpbGVzeXN0ZW0uUmVtb3ZlUmVzcG9uc2USRwoIV2F0Y2hEaXISGy5maWxlc3lzdGVtLldhdGNoRGlyUmVxdWVzdBocLmZpbGVzeXN0ZW0uV2F0Y2hEaXJSZXNwb25zZTABElQKDUNyZWF0ZVdhdGNoZXISIC5maWxlc3lzdGVtLkNyZWF0ZVdhdGNoZXJSZXF1ZXN0GiEuZmlsZXN5c3RlbS5DcmVhdGVXYXRjaGVyUmVzcG9uc2USXQoQR2V0V2F0Y2hlckV2ZW50cxIjLmZpbGVzeXN0ZW0uR2V0V2F0Y2hlckV2ZW50c1JlcXVlc3QaJC5maWxlc3lzdGVtLkdldFdhdGNoZXJFdmVudHNSZXNwb25zZRJUCg1SZW1vdmVXYXRjaGVyEiAuZmlsZXN5c3RlbS5SZW1vdmVXYXRjaGVyUmVxdWVzdBohLmZpbGVzeXN0ZW0uUmVtb3ZlV2F0Y2hlclJlc3BvbnNlQmkKDmNvbS5maWxlc3lzdGVtQg9GaWxlc3lzdGVtUHJvdG9QAaICA0ZYWKoCCkZpbGVzeXN0ZW3KAgpGaWxlc3lzdGVt4gIWRmlsZXN5c3RlbVxHUEJNZXRhZGF0YeoCCkZpbGVzeXN0ZW1iBnByb3RvMw",[rW]),vLe=U1(CLe,0);function DLe(t){switch(t){case 5:return"chmod";case 1:return"create";case 3:return"remove";case 4:return"rename";case 2:return"write"}}var ALe=class{constructor(t,e,n,r){this.handleStop=t,this.events=e,this.onEvent=n,this.onExit=r,this.handleEvents()}async stop(){this.handleStop()}iterateEvents(){return VN(this,null,function*(){try{try{for(var t=Dp(this.events),e,n,r;e=!(n=yield new Ul(t.next())).done;e=!1){let i=n.value;switch(i.event.case){case"filesystem":yield i.event;break}}}catch(i){r=[i]}finally{try{e&&(n=t.return)&&(yield new Ul(n.call(t)))}finally{if(r)throw r[0]}}}catch(i){throw Fr(i)}})}async handleEvents(){var t,e,n;try{try{for(var r=Dp(this.iterateEvents()),i,s,a;i=!(s=await r.next()).done;i=!1){let o=s.value,l=DLe(o.value.type);l!==void 0&&((t=this.onEvent)==null||t.call(this,{name:o.value.name,type:l}))}}catch(o){a=[o]}finally{try{i&&(s=r.return)&&await s.call(r)}finally{if(a)throw a[0]}}(e=this.onExit)==null||e.call(this)}catch(o){(n=this.onExit)==null||n.call(this,o)}}},NLe="0.1.4",SK="99.99.99",OLe="0.3.0",bK="0.4.0",RLe="0.5.2",ILe="0.5.7",wLe={404:t=>new KN(t)},LLe={[Re.NotFound]:t=>new KN(t)};function Pl(t){return Fr(t,LLe)}function wN(t){return VK(t,wLe)}function LN(t){switch(t){case 2:return"dir";case 1:return"file"}}function MN(t){if(t)return new Date(Number(t.seconds)*1e3+Math.floor(t.nanos/1e6))}var MLe=class{constructor(t,e,n){this.envdApi=e,this.connectionConfig=n,this.defaultWatchTimeout=6e4,this.defaultWatchRecursive=!1,this.rpc=Nl(vLe,t)}async read(t,e){var n;let r=(n=e?.format)!=null?n:"text",i=e?.user||Op,s={};e?.gzip&&(s["Accept-Encoding"]="gzip");let a=await this.envdApi.api.GET("/files",{params:{query:{path:t,username:i}},parseAs:r==="bytes"?"arrayBuffer":r,signal:this.connectionConfig.getSignal(e?.requestTimeoutMs),headers:s}),o=await wN(a);if(o)throw o;return r==="bytes"?new Uint8Array(a.data):a.response.headers.get("content-length")==="0"?r==="blob"?new Blob([]):"":a.data}async write(t,e,n){var r;if(typeof t!="string"&&!Array.isArray(t))throw new Error("Path or files are required");if(typeof t=="string"&&Array.isArray(e))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:a}=typeof t=="string"?{path:t,writeOpts:n,writeFiles:[{data:e}]}:{path:void 0,writeOpts:e,writeFiles:t};if(a.length===0)return[];let o=s?.user||Op,l=Pr(this.envdApi.version,ILe)>=0,c=s?.useOctetStream===!0&&l,d=[],f=s?.gzip===!0;if(c){let p={"Content-Type":"application/octet-stream"};f&&(p["Content-Encoding"]="gzip");let m=await Promise.all(a.map(async h=>{let g=i??h.path,E=await pLe(h.data,f),b=await this.envdApi.api.POST("/files",{params:{query:{path:g,username:o}},bodySerializer:()=>E,headers:p,signal:this.connectionConfig.getSignal(s?.requestTimeoutMs),body:{}}),x=await wN(b);if(x)throw x;let v=b.data;if(!v||v.length===0)throw new Error("Expected to receive information about written file");return v}));for(let h of m)d.push(...h)}else{let p=new FormData;for(let E of a)p.append("file",await UK(E.data),(r=E.path)!=null?r:i);let m=await this.envdApi.api.POST("/files",{params:{query:{path:i,username:o}},bodySerializer:()=>p,signal:this.connectionConfig.getSignal(s?.requestTimeoutMs),body:{}}),h=await wN(m);if(h)throw h;let g=m.data;if(!g||g.length===0)throw new Error("Expected to receive information about written file");d.push(...g)}return d.length===1&&i?d[0]:d}async writeFiles(t,e){return this.write(t,e)}async list(t,e){var n;if(typeof e?.depth=="number"&&e.depth<1)throw new Gt("depth should be at least one");try{let r=await this.rpc.listDir({path:t,depth:(n=e?.depth)!=null?n:1},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)}),i=[];for(let s of r.entries){let a=LN(s.type);a&&i.push({name:s.name,type:a,path:s.path,size:Number(s.size),mode:s.mode,permissions:s.permissions,owner:s.owner,group:s.group,modifiedTime:MN(s.modifiedTime),symlinkTarget:s.symlinkTarget})}return i}catch(r){throw Pl(r)}}async makeDir(t,e){try{return await this.rpc.makeDir({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)}),!0}catch(n){if(n instanceof Xe&&n.code===Re.AlreadyExists)return!1;throw Pl(n)}}async rename(t,e,n){try{let i=(await this.rpc.move({source:t,destination:e},{headers:ba(this.envdApi.version,n?.user),signal:this.connectionConfig.getSignal(n?.requestTimeoutMs)})).entry;if(!i)throw new Error("Expected to receive information about moved object");return{name:i.name,type:LN(i.type),path:i.path,size:Number(i.size),mode:i.mode,permissions:i.permissions,owner:i.owner,group:i.group,modifiedTime:MN(i.modifiedTime),symlinkTarget:i.symlinkTarget}}catch(r){throw Pl(r)}}async remove(t,e){try{await this.rpc.remove({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)})}catch(n){throw Pl(n)}}async exists(t,e){try{return await this.rpc.stat({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)}),!0}catch(n){if(n instanceof Xe&&n.code===Re.NotFound)return!1;throw Pl(n)}}async getInfo(t,e){try{let n=await this.rpc.stat({path:t},{headers:ba(this.envdApi.version,e?.user),signal:this.connectionConfig.getSignal(e?.requestTimeoutMs)});if(!n.entry)throw new Error("Expected to receive information about the file or directory");return{name:n.entry.name,type:LN(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:MN(n.entry.modifiedTime),symlinkTarget:n.entry.symlinkTarget}}catch(n){throw Pl(n)}}async watchDir(t,e,n){var r,i,s;if(n?.recursive&&this.envdApi.version&&Pr(this.envdApi.version,NLe)<0)throw new yi("You need to update the template to use recursive watching. You can do this by running `novita-sandbox-cli template build` in the directory with the template.");let a=(r=n?.requestTimeoutMs)!=null?r:this.connectionConfig.requestTimeoutMs,o=new AbortController,l=a?setTimeout(()=>{o.abort()},a):void 0,c=this.rpc.watchDir({path:t,recursive:(i=n?.recursive)!=null?i:this.defaultWatchRecursive},{headers:cr(ke({},ba(this.envdApi.version,n?.user)),{[Np]:Ap.toString()}),signal:o.signal,timeoutMs:(s=n?.timeoutMs)!=null?s:this.defaultWatchTimeout});try{return await TLe(c),clearTimeout(l),new ALe(()=>o.abort(),c,e,n?.onExit)}catch(d){throw Pl(d)}}},_o=class extends Pn{constructor(t){super(t.error),this.result=t,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}},q0=class{constructor(t,e,n,r,i,s,a){this.pid=t,this.handleDisconnect=e,this.handleKill=n,this.events=r,this.onStdout=i,this.onStderr=s,this.onPty=a,this._stdout="",this._stderr="",this._wait=this.handleEvents()}get exitCode(){var t;return(t=this.result)==null?void 0:t.exitCode}get error(){var t;return(t=this.result)==null?void 0:t.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 Pn("Process exited without a result");if(this.result.exitCode!==0)throw new _o(this.result);return this.result}async disconnect(){this.handleDisconnect()}async kill(){return await this.handleKill()}iterateEvents(){return VN(this,null,function*(){var t;try{for(var e=Dp(this.events),n,r,i;n=!(r=yield new Ul(e.next())).done;n=!1){let s=r.value,a=(t=s?.event)==null?void 0:t.event,o;switch(a?.case){case"data":switch(a.value.output.case){case"stdout":o=new TextDecoder().decode(a.value.output.value),this._stdout+=o,yield[o,null,null];break;case"stderr":o=new TextDecoder().decode(a.value.output.value),this._stderr+=o,yield[null,o,null];break;case"pty":yield[null,null,a.value.output.value];break}break;case"end":this.result={exitCode:a.value.exitCode,error:a.value.error,stdout:this.stdout,stderr:this.stderr};break}}}catch(s){i=[s]}finally{try{n&&(r=e.return)&&(yield new Ul(r.call(e)))}finally{if(i)throw i[0]}}})}async handleEvents(){var t,e,n;try{try{for(var r=Dp(this.iterateEvents()),i,s,a;i=!(s=await r.next()).done;i=!1){let[o,l,c]=s.value;o!==null?(t=this.onStdout)==null||t.call(this,o):l!==null?(e=this.onStderr)==null||e.call(this,l):c&&((n=this.onPty)==null||n.call(this,c))}}catch(o){a=[o]}finally{try{i&&(s=r.return)&&await s.call(r)}finally{if(a)throw a[0]}}}catch(o){this.iterationError=Fr(o)}}};function WK(t){return`'${t.replace(/'/g,`'"'"'`)}'`}function TK(t,e,n){if(!e&&!n)return t;if(!e||!n)throw new Gt("Both username and password are required when using Git credentials.");let r;try{r=new URL(t)}catch{throw new Gt(`Invalid Git URL: ${t}`)}if(r.protocol!=="http:"&&r.protocol!=="https:")throw new Gt("Only http(s) Git URLs support username/password credentials.");return r.username=e,r.password=n,r.toString()}function PLe(t){let e;try{e=new URL(t)}catch{return t}return e.protocol!=="http:"&&e.protocol!=="https:"||!e.username&&!e.password?t:(e.username="",e.password="",e.toString())}function kLe(t){let e;try{e=new URL(t)}catch{return}let r=e.pathname.replace(/\/+$/,"").split("/").pop();if(r)return r.endsWith(".git")?r.slice(0,-4):r}function kl(t,e){let n=["git"];return e&&n.push("-C",e),n.push(...t),n.map(r=>WK(r)).join(" ")}function yK(t,e){let{remote:n,branch:r,setUpstream:i}=e,s=["push"],a=t??n;return i&&a&&s.push("--set-upstream"),a&&s.push(a),r&&s.push(r),s}function FLe(t){if(!t)return{ahead:0,behind:0};let e=0,n=0;if(t.includes("ahead"))try{e=Number.parseInt(t.split("ahead")[1].split(",")[0].trim(),10)}catch{e=0}if(t.includes("behind"))try{n=Number.parseInt(t.split("behind")[1].split(",")[0].trim(),10)}catch{n=0}return{ahead:e,behind:n}}function BLe(t){return t.startsWith("HEAD (detached at ")?t.replace("HEAD (detached at ","").replace(/\)$/,""):t.replace("HEAD (no branch)","HEAD").replace("No commits yet on ","").replace("Initial commit on ","")}function ULe(t,e){let n=new Set([t,e]);return n.has("U")?"conflict":n.has("R")?"renamed":n.has("C")?"copied":n.has("D")?"deleted":n.has("A")?"added":n.has("M")?"modified":n.has("T")?"typechange":n.has("?")?"untracked":"unknown"}function GLe(t){let e=t.split(`
377
377
  `).map(h=>h.replace(/\r$/,"")).filter(h=>h.trim().length>0),n,r,i=0,s=0,a=!1,o=[];if(e.length===0)return{currentBranch:n,upstream:r,ahead:i,behind:s,detached:a,fileStatus:o,isClean:!0,hasChanges:!1,hasStaged:!1,hasUntracked:!1,hasConflicts:!1,totalCount:0,stagedCount:0,unstagedCount:0,untrackedCount:0,conflictCount:0};let l=e[0];if(l.startsWith("## ")){let h=l.slice(3),g=h.indexOf(" ["),E=g===-1?h:h.slice(0,g),b=g===-1?void 0:h.slice(g+2,-1),x=BLe(E),v=E;if(v.startsWith("HEAD (detached at ")||v.includes("detached")||x.startsWith("HEAD"))a=!0;else if(x.includes("...")){let[k,F]=x.split("...");n=k||void 0,r=F||void 0}else n=x||void 0;let I=FLe(b);i=I.ahead,s=I.behind}for(let h of e.slice(1)){if(h.startsWith("?? ")){let O=h.slice(3);o.push({name:O,status:"untracked",indexStatus:"?",workingTreeStatus:"?",staged:!1});continue}if(h.length<3)continue;let g=h[0],E=h[1],b=h.slice(3),x,v=b;if(b.includes(" -> ")){let O=b.split(" -> ");x=O[0],v=O.slice(1).join(" -> ")}o.push(ke({name:v,status:ULe(g,E),indexStatus:g,workingTreeStatus:E,staged:g!==" "&&g!=="?"},x?{renamedFrom:x}:{}))}let c=o.length,d=o.filter(h=>h.staged).length,f=o.filter(h=>h.status==="untracked").length,p=o.filter(h=>h.status==="conflict").length,m=c-d;return{currentBranch:n,upstream:r,ahead:i,behind:s,detached:a,fileStatus:o,isClean:c===0,hasChanges:c>0,hasStaged:d>0,hasUntracked:f>0,hasConflicts:p>0,totalCount:c,stagedCount:d,unstagedCount:m,untrackedCount:f,conflictCount:p}}function qLe(t){let e=[],n,r=t.split(`
378
378
  `).map(i=>i.trim()).filter(i=>i.length>0);for(let i of r){let s=i.split(" "),a=s[0];e.push(a),s.length>1&&s[1]==="*"&&(n=a)}return{branches:e,currentBranch:n}}function PN(t){if(!(t instanceof _o))return!1;let e=`${t.stderr}
379
379
  ${t.stdout}`.toLowerCase();return["authentication failed","terminal prompts disabled","could not read username","invalid username or password","access denied","permission denied","not authorized"].some(r=>e.includes(r))}function xK(t){if(t!=="global"&&t!=="local"&&t!=="system")throw new Gt("Git config scope must be one of: global, local, system.");return`--${t}`}function CK(t){if(!(t instanceof _o))return!1;let e=`${t.stderr}
@@ -383,13 +383,13 @@ ${t.stdout}`.toLowerCase();return["has no upstream branch","no upstream branch",
383
383
  `),this.updateTimer()}getInitialState(t){return{startTime:Date.now(),animationFrame:0,timerInterval:t}}formatTimerLine(){return`${((Date.now()-this.state.startTime)/1e3).toFixed(1)}s`}animateStatus(){let t=["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"],e=this.state.animationFrame%t.length;return`${t[e]}`}formatLogLine(t){let e=this.formatTimerLine().padEnd(5),n=Be.dim(t.timestamp.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})),r=NK[t.level]||NK[AK],i=t.message;return`${e} | ${n} ${r} ${i}`}startTimer(){if(!process.stdout.isTTY)return;let t=setInterval(this.updateTimer.bind(this),VLe);this.state=this.getInitialState(t),this.updateTimer()}updateTimer(){if(!process.stdout.isTTY)return;this.state.animationFrame++;let t=this.animateStatus();process.stdout.write(`${t} Building ${this.formatTimerLine()}\r`)}};function QN(t){let e=new WLe(t?.minLevel);return e.logger.bind(e)}var KLe="finalize",zLe="base",Sa=3,RK=!1;function jLe(t,e){if(ya.default.isAbsolute(t))throw new yi(`Invalid source path "${t}": absolute paths are not allowed. Use a relative path within the context directory.`,e);let n=ya.default.normalize(t);if(n===".."||n.startsWith(".."+ya.default.sep))throw new yi(`Invalid source path "${t}": path escapes the context directory. The path must stay within the context directory.`,e)}function IK(t,e){let n,r;if(typeof t=="string")n=t,r=e??{};else{let i=t,{alias:s}=i,a=kr(i,["alias"]);n=s,r=a}if(!n||n.length===0)throw new yi("Name must be provided");return{name:n,buildOptions:r}}function wK(t){let e=ya.default.join(t,".dockerignore");return Ta.default.existsSync(e)?Ta.default.readFileSync(e,"utf-8").split(`
384
384
  `).map(r=>r.trim()).filter(r=>r&&!r.startsWith("#")):[]}function QLe(t){return t.replace(/\\/g,"/")}async function XK(t,e,n,r=!0){let{glob:i}=await WN("glob"),s=new Map,a=await i(t,{ignore:n,withFileTypes:!0,dot:!0,cwd:e});for(let o of a)if(o.isDirectory()){r&&s.set(o.fullpath(),o);let l=QLe(ya.default.join(o.relative()||".","**/*"));(await i(l,{ignore:n,withFileTypes:!0,dot:!0,cwd:e})).forEach(d=>s.set(d.fullpath(),d))}else s.set(o.fullpath(),o);return Array.from(s.values()).sort()}async function XLe(t,e,n,r,i,s){let a=ya.default.join(n,t),o=jK.default.createHash("sha256"),l=`COPY ${t} ${e}`;o.update(l);let c=await XK(t,n,r,!0);if(c.length===0){let f=new Error(`No files found in ${a}`);throw s&&(f.stack=s),f}let d=f=>{o.update(f.mode.toString()),o.update(f.size.toString())};for(let f of c){let p=f.relativePosix();if(o.update(p),f.isSymbolicLink()){let h=Ta.default.statSync(f.fullpath(),{throwIfNoEntry:!1});if(!(i&&(h?.isFile()||h?.isDirectory()))){let E=Ta.default.lstatSync(f.fullpath());d(E);let b=Ta.default.readlinkSync(f.fullpath());o.update(b);continue}}let m=Ta.default.statSync(f.fullpath());if(d(m),m.isFile()){let h=Ta.default.readFileSync(f.fullpath());o.update(new Uint8Array(h))}}return o.digest("hex")}function Fl(t){let e=new Error().stack;if(!e)return;let n=e.split(`
385
385
  `).slice(1);if(!(n.length<t+1))return n.slice(t).join(`
386
- `)}function ZLe(t){let e=Error.prepareStackTrace;try{let n=[];return Error.prepareStackTrace=(r,i)=>{let s=i.slice(t);return n=s,s},new Error().stack,n}finally{Error.prepareStackTrace=e}}function JLe(t){let e=ZLe(t+1);if(e.length===0)return;let n=e[0].getFileName();if(n)return n.startsWith("file:")&&(n=(0,QK.fileURLToPath)(n)),ya.default.dirname(n)}function LK(t){return t.toString(8).padStart(4,"0")}async function e5e(t,e,n,r){let{create:i}=await WN("tar"),a=(await XK(t,e,n,!0)).map(o=>o.relativePosix());return i({gzip:!0,cwd:e,follow:r,noDirRecurse:!0},a)}async function t5e(t,e,n,r){return e5e(t,e,n,r)}function n5e(t,e){return t===zLe?0:t===KLe?e-1:Number(t)}function r5e(t,e){return typeof e=="string"?Ta.default.readFileSync(ya.default.join(t,e),"utf-8"):JSON.stringify(e)}async function i5e(t,{name:e,tags:n,cpuCount:r,memoryMB:i}){let s=await t.api.POST("/v3/templates",{body:{name:e,tags:n,cpuCount:r,memoryMB:i}}),a=xn(s,Ti);if(a)throw a;if(!s.data)throw new Ti("Failed to request build");return s.data}async function s5e(t,{templateID:e,filesHash:n},r){let i=await t.api.GET("/templates/{templateID}/files/{hash}",{params:{path:{templateID:e,hash:n}}}),s=xn(i,wu,r);if(s)throw s;if(!i.data)throw new wu("Failed to get file upload link",r);return i.data}async function a5e(t,e){let{fileName:n,url:r,fileContextPath:i,ignorePatterns:s,resolveSymlinks:a}=t;try{let o=await t5e(n,i,s,a),{buffer:l}=await WN("node:stream/consumers"),c=await l(o),d=await fetch(r,{method:"PUT",body:c});if(!d.ok)throw new wu(`Failed to upload file: ${d.statusText}`,e)}catch(o){throw o instanceof wu?o:new wu(`Failed to upload file: ${o}`,e)}}async function o5e(t,{templateID:e,buildID:n,template:r}){let i=await t.api.POST("/v2/templates/{templateID}/builds/{buildID}",{params:{path:{templateID:e,buildID:n}},body:r}),s=xn(i,Ti);if(s)throw s}function ZK(t){return new bi(new Date(t.timestamp),t.level,t.message)}function l5e(t){var e;if(t)return{message:t.message,step:t.step,logEntries:((e=t.logEntries)!=null?e:[]).map(ZK)}}async function JK(t,{templateID:e,buildID:n,logsOffset:r}){let i=await t.api.GET("/templates/{templateID}/builds/{buildID}/status",{params:{path:{templateID:e,buildID:n},query:{logsOffset:r}}}),s=xn(i,Ti);if(s)throw s;if(!i.data)throw new Ti("Failed to get build status");return{buildID:i.data.buildID,templateID:i.data.templateID,status:i.data.status,logEntries:i.data.logEntries.map(ZK),logs:i.data.logs,reason:l5e(i.data.reason)}}async function c5e(t,{alias:e}){let n=await t.api.GET("/templates/aliases/{alias}",{params:{path:{alias:e}}});if(n.response.status===404)return!1;if(n.response.status===403)return!0;let r=xn(n,yi);if(r)throw r;return n.data!==void 0}async function u5e(t,{templateID:e,buildID:n,onBuildLogs:r,logsRefreshFrequency:i,stackTraces:s}){var a,o,l;let c=0,d="building";for(;d==="building"||d==="waiting";){let f=await JK(t,{templateID:e,buildID:n,logsOffset:c});switch(c+=f.logEntries.length,f.logEntries.forEach(p=>r?.(new bi(p.timestamp,p.level,BK(p.message)))),d=f.status,d){case"ready":return;case"waiting":break;case"error":{let p;if(((a=f.reason)==null?void 0:a.step)!==void 0){let m=n5e(f.reason.step,s.length);p=s[m]}throw new Ti((l=(o=f?.reason)==null?void 0:o.message)!=null?l:"Unknown error",p)}}await new Promise(p=>setTimeout(p,i))}throw new Ti("Unknown build error occurred.")}async function d5e(t,{targetName:e,tags:n}){let r=await t.api.POST("/templates/tags",{body:{target:e,tags:n}}),i=xn(r,yi);if(i)throw i;if(!r.data)throw new yi("Failed to assign tags");return{buildId:r.data.buildID,tags:r.data.tags}}async function f5e(t,{name:e,tags:n}){let r=await t.api.DELETE("/templates/tags",{body:{name:e,tags:n}}),i=xn(r,yi);if(i)throw i}async function p5e(t,{templateID:e}){let n=await t.api.GET("/templates/{templateID}/tags",{params:{path:{templateID:e}}}),r=xn(n,yi);if(r)throw r;if(!n.data)throw new yi("Failed to get template tags");return n.data.map(i=>({tag:i.tag,buildId:i.buildID,createdAt:new Date(i.createdAt)}))}var Rp=class{constructor(t){this.cmd=t}getCmd(){return this.cmd}};function tz(t){let e=`[ -f ${t} ]`;return new Rp(e)}function nz(t){let n=`sleep ${Math.max(1,Math.floor(t/1e3))}`;return new Rp(n)}function m5e(t,e){let n;try{F0.default.existsSync(t)&&F0.default.statSync(t).isFile()?n=F0.default.readFileSync(t,"utf-8"):n=t}catch{n=t}let i=ez.DockerfileParser.parse(n).getInstructions(),s=i.filter(f=>f.getKeyword()==="FROM");if(s.length>1)throw new Error("Multi-stage Dockerfiles are not supported");if(s.length===0)throw new Error("Dockerfile must contain a FROM instruction");let o=s[0].getArguments(),l="novita/base",c=!1,d=!1;o&&o.length>0&&(l=o[0].getValue()),e.setUser("root"),e.setWorkdir("/");for(let f of i){let p=f.getKeyword();switch(p){case"FROM":break;case"RUN":h5e(f,e);break;case"COPY":case"ADD":_5e(f,e);break;case"WORKDIR":g5e(f,e),d=!0;break;case"USER":E5e(f,e),c=!0;break;case"ENV":case"ARG":S5e(f,e);break;case"EXPOSE":break;case"VOLUME":break;case"CMD":case"ENTRYPOINT":b5e(f,e);break;default:console.warn(`Unsupported instruction: ${p}`);break}}return c||e.setUser("user"),d||e.setWorkdir("/home/user"),{baseImage:l}}function h5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n.map(i=>i.getValue()).join(" ");e.runCmd(r)}}function _5e(t,e){var n;let r=t.getArguments();if(r&&r.length>=2){let i=r[0].getValue(),s=r[r.length-1].getValue(),a,l=t.getFlags().find(c=>c.getName()==="chown");l&&(a=(n=l.getValue())!=null?n:void 0),e.copy(i,s,{user:a})}}function g5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n[0].getValue();e.setWorkdir(r)}}function E5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n[0].getValue();e.setUser(r)}}function S5e(t,e){let n=t.getArguments(),r=t.getKeyword();if(n&&n.length>=1){let i={};if(n.length===2){let s=n[0].getValue(),a=n[1].getValue();if(s.includes("=")&&a.includes("="))for(let o of n){let l=o.getValue(),c=l.indexOf("=");if(c>0){let d=l.substring(0,c),f=l.substring(c+1);i[d]=f}}else i[s]=a}else if(n.length===1){let s=n[0].getValue(),a=s.indexOf("=");if(a>0){let o=s.substring(0,a),l=s.substring(a+1);i[o]=l}else if(r==="ARG"&&s.trim()){let o=s.trim();i[o]=""}}else for(let s of n){let a=s.getValue(),o=a.indexOf("=");if(o>0){let l=a.substring(0,o),c=a.substring(o+1);i[l]=c}else if(r==="ARG"){let l=a;i[l]=""}}Object.keys(i).length>0&&e.setEnvs(i)}}function b5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n.map(i=>i.getValue()).join(" ");try{let i=JSON.parse(r);Array.isArray(i)&&(r=i.join(" "))}catch{}e.setStartCmd(r,nz(2e4))}}function BN(t){return t?new Date(t):null}function rz(t,e){var n,r,i,s,a,o,l,c,d,f,p,m;return{templateId:t.templateID,buildId:t.buildID,buildStatus:t.buildStatus,aliases:(n=t.aliases)!=null?n:[],names:(r=t.names)!=null?r:[],templateType:(i=t.templateType)!=null?i:e,buildCount:(s=t.buildCount)!=null?s:0,cpuCount:(a=t.cpuCount)!=null?a:0,memoryMB:(o=t.memoryMB)!=null?o:0,diskSizeMB:(l=t.diskSizeMB)!=null?l:0,spawnCount:(c=t.spawnCount)!=null?c:0,envdVersion:(d=t.envdVersion)!=null?d:"",public:(f=t.public)!=null?f:!1,metadata:t.metadata,createdAt:(p=BN(t.createdAt))!=null?p:new Date(0),updatedAt:(m=BN(t.updatedAt))!=null?m:new Date(0),lastSpawnedAt:BN(t.lastSpawnedAt),createdBy:t.createdBy}}var MK,xi=class iz{constructor(e){this.defaultBaseImage="novita/base",this.baseImage=this.defaultBaseImage,this.baseTemplate=void 0,this.registryConfig=void 0,this.startCmd=void 0,this.readyCmd=void 0,this.force=!1,this.forceNextLayer=!1,this.instructions=[],this.fileContextPath=mo==="browser"?".":(MK=JLe(Sa))!=null?MK:".",this.fileIgnorePatterns=[],this.logsRefreshFrequency=200,this.stackTraces=[],this.stackTracesEnabled=!0,this.stackTracesOverride=void 0;var n,r;this.fileContextPath=(n=e?.fileContextPath)!=null?n:this.fileContextPath,this.fileIgnorePatterns=(r=e?.fileIgnorePatterns)!=null?r:this.fileIgnorePatterns}static toJSON(e,n=!0){return e.toJSON(n)}static toDockerfile(e){return e.toDockerfile()}static async build(e,n,r){var i,s,a;let{name:o,buildOptions:l}=IK(n,r);try{(i=l.onBuildLogs)==null||i.call(l,new zN(new Date,"Build started"));let c=e,d=new ct(l),f=new qt(d),p=await c.build(f,o,l);return(s=l.onBuildLogs)==null||s.call(l,new bi(new Date,"info","Waiting for logs...")),await u5e(f,{templateID:p.templateId,buildID:p.buildId,onBuildLogs:l.onBuildLogs,logsRefreshFrequency:c.logsRefreshFrequency,stackTraces:c.stackTraces}),p}finally{(a=l.onBuildLogs)==null||a.call(l,new jN(new Date,"Build finished"))}}static async buildInBackground(e,n,r){let{name:i,buildOptions:s}=IK(n,r),a=new ct(s),o=new qt(a);return e.build(o,i,s)}static async getBuildStatus(e,n){let r=new ct(n),i=new qt(r);return await JK(i,{templateID:e.templateId,buildID:e.buildId,logsOffset:n?.logsOffset})}static async exists(e,n){return iz.aliasExists(e,n)}static async aliasExists(e,n){let r=new ct(n),i=new qt(r);return c5e(i,{alias:e})}static async assignTags(e,n,r){let i=new ct(r),s=new qt(i),a=Array.isArray(n)?n:[n];return d5e(s,{targetName:e,tags:a})}static async removeTags(e,n,r){let i=new ct(r),s=new qt(i),a=Array.isArray(n)?n:[n];return f5e(s,{name:e,tags:a})}static async getTags(e,n){let r=new ct(n),i=new qt(r);return p5e(i,{templateID:e})}fromDebianImage(e="stable"){return this.fromImage(`debian:${e}`)}fromUbuntuImage(e="latest"){return this.fromImage(`ubuntu:${e}`)}fromPythonImage(e="3"){return this.fromImage(`python:${e}`)}fromNodeImage(e="lts"){return this.fromImage(`node:${e}`)}fromBunImage(e="latest"){return this.fromImage(`oven/bun:${e}`)}fromBaseImage(){return this.fromImage(this.defaultBaseImage)}fromImage(e,n){return this.baseImage=e,this.baseTemplate=void 0,n&&(this.registryConfig={type:"registry",username:n.username,password:n.password}),this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromTemplate(e){return this.baseTemplate=e,this.baseImage=void 0,this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromDockerfile(e){let{baseImage:n}=this.runInStackTraceOverrideContext(()=>m5e(e,this),Fl(Sa-1));return this.baseImage=n,this.baseTemplate=void 0,this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromAWSRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"aws",awsAccessKeyId:n.accessKeyId,awsSecretAccessKey:n.secretAccessKey,awsRegion:n.region},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromGCPRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"gcp",serviceAccountJson:r5e(this.fileContextPath.toString(),n.serviceAccountJSON)},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromOCIRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"oci",tenancyOcid:n.tenancyOcid,userOcid:n.userOcid,fingerprint:n.fingerprint,privateKey:n.privateKey,region:n.region},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromHuaweiCloudRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"huawei",accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey,region:n.region},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}copy(e,n,r){var i;if(mo==="browser")throw new Error("Browser runtime is not supported for copy");let s=Array.isArray(e)?e:[e],a=Fl(Sa-1);for(let o of s){let l=o.toString();jLe(l,a);let c=[l,n.toString(),(i=r?.user)!=null?i:"",r?.mode?LK(r.mode):""];this.instructions.push({type:"COPY",args:c,force:r?.forceUpload||this.forceNextLayer,forceUpload:r?.forceUpload,resolveSymlinks:r?.resolveSymlinks})}return this.collectStackTrace(),this}copyItems(e){if(mo==="browser")throw new Error("Browser runtime is not supported for copyItems");let n=Fl(Sa-1);return this.runInNewStackTraceContext(()=>{for(let r of e)try{this.copy(r.src,r.dest,{forceUpload:r.forceUpload,user:r.user,mode:r.mode,resolveSymlinks:r.resolveSymlinks})}catch(i){let s=i;throw s.stack=n,s}}),this}remove(e,n){let r=Array.isArray(e)?e:[e],i=["rm"];return n?.recursive&&i.push("-r"),n?.force&&i.push("-f"),i.push(...r.map(s=>s.toString())),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:n?.user}))}rename(e,n,r){let i=["mv",e.toString(),n.toString()];return r?.force&&i.push("-f"),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:r?.user}))}makeDir(e,n){let r=Array.isArray(e)?e:[e],i=["mkdir","-p"];return n?.mode&&i.push(`-m ${LK(n.mode)}`),i.push(...r.map(s=>s.toString())),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:n?.user}))}makeSymlink(e,n,r){let i=["ln","-s"];return r?.force&&i.push("-f"),i.push(e.toString(),n.toString()),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:r?.user}))}runCmd(e,n){let i=[(Array.isArray(e)?e:[e]).join(" && ")];return n?.user&&i.push(n.user),this.instructions.push({type:"RUN",args:i,force:this.forceNextLayer}),this.collectStackTrace(),this}setWorkdir(e){return this.instructions.push({type:"WORKDIR",args:[e.toString()],force:this.forceNextLayer}),this.collectStackTrace(),this}setUser(e){return this.instructions.push({type:"USER",args:[e],force:this.forceNextLayer}),this.collectStackTrace(),this}pipInstall(e,n){var r;let i=(r=n?.g)!=null?r:!0,s=["pip","install"],a=e?Array.isArray(e)?e:[e]:void 0;return i===!1&&s.push("--user"),a?s.push(...a):s.push("."),this.runInNewStackTraceContext(()=>this.runCmd(s.join(" "),{user:i?"root":void 0}))}npmInstall(e,n){let r=["npm","install"],i=e?Array.isArray(e)?e:[e]:void 0;return n?.g&&r.push("-g"),n?.dev&&r.push("--save-dev"),i&&r.push(...i),this.runInNewStackTraceContext(()=>this.runCmd(r.join(" "),{user:n?.g?"root":void 0}))}bunInstall(e,n){let r=["bun","install"],i=e?Array.isArray(e)?e:[e]:void 0;return n?.g&&r.push("-g"),n?.dev&&r.push("--dev"),i&&r.push(...i),this.runInNewStackTraceContext(()=>this.runCmd(r.join(" "),{user:n?.g?"root":void 0}))}aptInstall(e,n){let r=Array.isArray(e)?e:[e];return this.runInNewStackTraceContext(()=>this.runCmd(["apt-get update",`DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes apt-get install -y ${n?.noInstallRecommends?"--no-install-recommends ":""}${n?.fixMissing?"--fix-missing ":""}${r.join(" ")}`],{user:"root"}))}addMcpServer(e){if(this.baseTemplate!=="mcp-gateway")throw new Ti("MCP servers can only be added to mcp-gateway template",Fl(Sa-1));let n=Array.isArray(e)?e:[e];return this.runInNewStackTraceContext(()=>this.runCmd(`mcp-gateway pull ${n.join(" ")}`,{user:"root"}))}gitClone(e,n,r){let i=["git","clone",e];return r?.branch&&(i.push(`--branch ${r.branch}`),i.push("--single-branch")),r?.depth&&i.push(`--depth ${r.depth}`),n&&i.push(n.toString()),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:r?.user}))}setStartCmd(e,n){return this.startCmd=e,n instanceof Rp?this.readyCmd=n.getCmd():this.readyCmd=n,this.collectStackTrace(),this}setReadyCmd(e){return e instanceof Rp?this.readyCmd=e.getCmd():this.readyCmd=e,this.collectStackTrace(),this}setEnvs(e){return Object.keys(e).length===0?this:(this.instructions.push({type:"ENV",args:Object.entries(e).flatMap(([n,r])=>[n,r]),force:this.forceNextLayer}),this.collectStackTrace(),this)}skipCache(){return this.forceNextLayer=!0,this}betaDevContainerPrebuild(e){if(this.baseTemplate!=="devcontainer")throw new Ti("Devcontainers can only used in the devcontainer template",Fl(Sa-1));return this.runInNewStackTraceContext(()=>this.runCmd(`devcontainer build --workspace-folder ${e}`,{user:"root"}))}betaSetDevContainerStart(e){if(this.baseTemplate!=="devcontainer")throw new Ti("Devcontainers can only used in the devcontainer template",Fl(Sa-1));return this.runInNewStackTraceContext(()=>this.setStartCmd(`sudo devcontainer up --workspace-folder ${e} && sudo /prepare-exec.sh ${e} | sudo tee /devcontainer.sh > /dev/null && sudo chmod +x /devcontainer.sh && sudo touch /devcontainer.up`,tz("/devcontainer.up")))}collectStackTrace(e=Sa){return this.stackTracesEnabled?this.stackTracesOverride?(this.stackTraces.push(this.stackTracesOverride),this):(this.stackTraces.push(Fl(e)),this):this}disableStackTrace(){return this.stackTracesEnabled=!1,this}enableStackTrace(){return this.stackTracesEnabled=!0,this}runInNewStackTraceContext(e){this.disableStackTrace();let n=e();return this.enableStackTrace(),this.collectStackTrace(Sa+1),n}runInStackTraceOverrideContext(e,n){this.stackTracesOverride=n;let r=e();return this.stackTracesOverride=void 0,r}async toJSON(e){let n=this.instructions;return e&&(n=await this.instructionsWithHashes()),JSON.stringify(this.serialize(n),void 0,2)}toDockerfile(){if(this.baseTemplate!==void 0)throw new Error("Cannot convert template built from another template to Dockerfile. Templates based on other templates can only be built using the Novita AI sandbox API.");if(this.baseImage===void 0)throw new Error("No base image specified for template");let e=`FROM ${this.baseImage}
386
+ `)}function ZLe(t){let e=Error.prepareStackTrace;try{let n=[];return Error.prepareStackTrace=(r,i)=>{let s=i.slice(t);return n=s,s},new Error().stack,n}finally{Error.prepareStackTrace=e}}function JLe(t){let e=ZLe(t+1);if(e.length===0)return;let n=e[0].getFileName();if(n)return n.startsWith("file:")&&(n=(0,QK.fileURLToPath)(n)),ya.default.dirname(n)}function LK(t){return t.toString(8).padStart(4,"0")}async function e5e(t,e,n,r){let{create:i}=await WN("tar"),a=(await XK(t,e,n,!0)).map(o=>o.relativePosix());return i({gzip:!0,cwd:e,follow:r,noDirRecurse:!0},a)}async function t5e(t,e,n,r){return e5e(t,e,n,r)}function n5e(t,e){return t===zLe?0:t===KLe?e-1:Number(t)}function r5e(t,e){return typeof e=="string"?Ta.default.readFileSync(ya.default.join(t,e),"utf-8"):JSON.stringify(e)}async function i5e(t,{name:e,tags:n,cpuCount:r,memoryMB:i}){let s=await t.api.POST("/v3/templates",{body:{name:e,tags:n,cpuCount:r,memoryMB:i}}),a=xn(s,Ti);if(a)throw a;if(!s.data)throw new Ti("Failed to request build");return s.data}async function s5e(t,{templateID:e,filesHash:n},r){let i=await t.api.GET("/templates/{templateID}/files/{hash}",{params:{path:{templateID:e,hash:n}}}),s=xn(i,wu,r);if(s)throw s;if(!i.data)throw new wu("Failed to get file upload link",r);return i.data}async function a5e(t,e){let{fileName:n,url:r,fileContextPath:i,ignorePatterns:s,resolveSymlinks:a}=t;try{let o=await t5e(n,i,s,a),{buffer:l}=await WN("node:stream/consumers"),c=await l(o),d=await fetch(r,{method:"PUT",body:c});if(!d.ok)throw new wu(`Failed to upload file: ${d.statusText}`,e)}catch(o){throw o instanceof wu?o:new wu(`Failed to upload file: ${o}`,e)}}async function o5e(t,{templateID:e,buildID:n,template:r}){let i=await t.api.POST("/v2/templates/{templateID}/builds/{buildID}",{params:{path:{templateID:e,buildID:n}},body:r}),s=xn(i,Ti);if(s)throw s}function ZK(t){return new bi(new Date(t.timestamp),t.level,t.message)}function l5e(t){var e;if(t)return{message:t.message,step:t.step,logEntries:((e=t.logEntries)!=null?e:[]).map(ZK)}}async function JK(t,{templateID:e,buildID:n,logsOffset:r}){let i=await t.api.GET("/templates/{templateID}/builds/{buildID}/status",{params:{path:{templateID:e,buildID:n},query:{logsOffset:r}}}),s=xn(i,Ti);if(s)throw s;if(!i.data)throw new Ti("Failed to get build status");return{buildID:i.data.buildID,templateID:i.data.templateID,status:i.data.status,logEntries:i.data.logEntries.map(ZK),logs:i.data.logs,reason:l5e(i.data.reason)}}async function c5e(t,{alias:e}){let n=await t.api.GET("/templates/aliases/{alias}",{params:{path:{alias:e}}});if(n.response.status===404)return!1;if(n.response.status===403)return!0;let r=xn(n,yi);if(r)throw r;return n.data!==void 0}async function u5e(t,{templateID:e,buildID:n,onBuildLogs:r,logsRefreshFrequency:i,stackTraces:s}){var a,o,l;let c=0,d="building";for(;d==="building"||d==="waiting";){let f=await JK(t,{templateID:e,buildID:n,logsOffset:c});switch(c+=f.logEntries.length,f.logEntries.forEach(p=>r?.(new bi(p.timestamp,p.level,BK(p.message)))),d=f.status,d){case"ready":return;case"waiting":break;case"error":{let p;if(((a=f.reason)==null?void 0:a.step)!==void 0){let m=n5e(f.reason.step,s.length);p=s[m]}throw new Ti((l=(o=f?.reason)==null?void 0:o.message)!=null?l:"Unknown error",p)}}await new Promise(p=>setTimeout(p,i))}throw new Ti("Unknown build error occurred.")}async function d5e(t,{targetName:e,tags:n}){let r=await t.api.POST("/templates/tags",{body:{target:e,tags:n}}),i=xn(r,yi);if(i)throw i;if(!r.data)throw new yi("Failed to assign tags");return{buildId:r.data.buildID,tags:r.data.tags}}async function f5e(t,{name:e,tags:n}){let r=await t.api.DELETE("/templates/tags",{body:{name:e,tags:n}}),i=xn(r,yi);if(i)throw i}async function p5e(t,{templateID:e}){let n=await t.api.GET("/templates/{templateID}/tags",{params:{path:{templateID:e}}}),r=xn(n,yi);if(r)throw r;if(!n.data)throw new yi("Failed to get template tags");return n.data.map(i=>({tag:i.tag,buildId:i.buildID,createdAt:new Date(i.createdAt)}))}var Rp=class{constructor(t){this.cmd=t}getCmd(){return this.cmd}};function tz(t){let e=`[ -f ${t} ]`;return new Rp(e)}function nz(t){let n=`sleep ${Math.max(1,Math.floor(t/1e3))}`;return new Rp(n)}function m5e(t,e){let n;try{F0.default.existsSync(t)&&F0.default.statSync(t).isFile()?n=F0.default.readFileSync(t,"utf-8"):n=t}catch{n=t}let i=ez.DockerfileParser.parse(n).getInstructions(),s=i.filter(f=>f.getKeyword()==="FROM");if(s.length>1)throw new Error("Multi-stage Dockerfiles are not supported");if(s.length===0)throw new Error("Dockerfile must contain a FROM instruction");let o=s[0].getArguments(),l="novita/base",c=!1,d=!1;o&&o.length>0&&(l=o[0].getValue()),e.setUser("root"),e.setWorkdir("/");for(let f of i){let p=f.getKeyword();switch(p){case"FROM":break;case"RUN":h5e(f,e);break;case"COPY":case"ADD":_5e(f,e);break;case"WORKDIR":g5e(f,e),d=!0;break;case"USER":E5e(f,e),c=!0;break;case"ENV":case"ARG":S5e(f,e);break;case"EXPOSE":break;case"VOLUME":break;case"CMD":case"ENTRYPOINT":b5e(f,e);break;default:console.warn(`Unsupported instruction: ${p}`);break}}return c||e.setUser("user"),d||e.setWorkdir("/home/user"),{baseImage:l}}function h5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n.map(i=>i.getValue()).join(" ");e.runCmd(r)}}function _5e(t,e){var n;let r=t.getArguments();if(r&&r.length>=2){let i=r[0].getValue(),s=r[r.length-1].getValue(),a,l=t.getFlags().find(c=>c.getName()==="chown");l&&(a=(n=l.getValue())!=null?n:void 0),e.copy(i,s,{user:a})}}function g5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n[0].getValue();e.setWorkdir(r)}}function E5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n[0].getValue();e.setUser(r)}}function S5e(t,e){let n=t.getArguments(),r=t.getKeyword();if(n&&n.length>=1){let i={};if(n.length===2){let s=n[0].getValue(),a=n[1].getValue();if(s.includes("=")&&a.includes("="))for(let o of n){let l=o.getValue(),c=l.indexOf("=");if(c>0){let d=l.substring(0,c),f=l.substring(c+1);i[d]=f}}else i[s]=a}else if(n.length===1){let s=n[0].getValue(),a=s.indexOf("=");if(a>0){let o=s.substring(0,a),l=s.substring(a+1);i[o]=l}else if(r==="ARG"&&s.trim()){let o=s.trim();i[o]=""}}else for(let s of n){let a=s.getValue(),o=a.indexOf("=");if(o>0){let l=a.substring(0,o),c=a.substring(o+1);i[l]=c}else if(r==="ARG"){let l=a;i[l]=""}}Object.keys(i).length>0&&e.setEnvs(i)}}function b5e(t,e){let n=t.getArguments();if(n&&n.length>0){let r=n.map(i=>i.getValue()).join(" ");try{let i=JSON.parse(r);Array.isArray(i)&&(r=i.join(" "))}catch{}e.setStartCmd(r,nz(2e4))}}function BN(t){return t?new Date(t):null}function rz(t,e){var n,r,i,s,a,o,l,c,d,f,p,m;return{templateId:t.templateID,buildId:t.buildID,buildStatus:t.buildStatus,aliases:(n=t.aliases)!=null?n:[],names:(r=t.names)!=null?r:[],templateType:(i=t.templateType)!=null?i:e,buildCount:(s=t.buildCount)!=null?s:0,cpuCount:(a=t.cpuCount)!=null?a:0,memoryMB:(o=t.memoryMB)!=null?o:0,diskSizeMB:(l=t.diskSizeMB)!=null?l:0,spawnCount:(c=t.spawnCount)!=null?c:0,envdVersion:(d=t.envdVersion)!=null?d:"",public:(f=t.public)!=null?f:!1,metadata:t.metadata,createdAt:(p=BN(t.createdAt))!=null?p:new Date(0),updatedAt:(m=BN(t.updatedAt))!=null?m:new Date(0),lastSpawnedAt:BN(t.lastSpawnedAt),createdBy:t.createdBy}}var MK,xi=class iz{constructor(e){this.defaultBaseImage="novita/base",this.baseImage=this.defaultBaseImage,this.baseTemplate=void 0,this.registryConfig=void 0,this.startCmd=void 0,this.readyCmd=void 0,this.preRunCmd=void 0,this.force=!1,this.forceNextLayer=!1,this.instructions=[],this.fileContextPath=mo==="browser"?".":(MK=JLe(Sa))!=null?MK:".",this.fileIgnorePatterns=[],this.logsRefreshFrequency=200,this.stackTraces=[],this.stackTracesEnabled=!0,this.stackTracesOverride=void 0;var n,r;this.fileContextPath=(n=e?.fileContextPath)!=null?n:this.fileContextPath,this.fileIgnorePatterns=(r=e?.fileIgnorePatterns)!=null?r:this.fileIgnorePatterns}static toJSON(e,n=!0){return e.toJSON(n)}static toDockerfile(e){return e.toDockerfile()}static async build(e,n,r){var i,s,a;let{name:o,buildOptions:l}=IK(n,r);try{(i=l.onBuildLogs)==null||i.call(l,new zN(new Date,"Build started"));let c=e,d=new ct(l),f=new qt(d),p=await c.build(f,o,l);return(s=l.onBuildLogs)==null||s.call(l,new bi(new Date,"info","Waiting for logs...")),await u5e(f,{templateID:p.templateId,buildID:p.buildId,onBuildLogs:l.onBuildLogs,logsRefreshFrequency:c.logsRefreshFrequency,stackTraces:c.stackTraces}),p}finally{(a=l.onBuildLogs)==null||a.call(l,new jN(new Date,"Build finished"))}}static async buildInBackground(e,n,r){let{name:i,buildOptions:s}=IK(n,r),a=new ct(s),o=new qt(a);return e.build(o,i,s)}static async getBuildStatus(e,n){let r=new ct(n),i=new qt(r);return await JK(i,{templateID:e.templateId,buildID:e.buildId,logsOffset:n?.logsOffset})}static async exists(e,n){return iz.aliasExists(e,n)}static async aliasExists(e,n){let r=new ct(n),i=new qt(r);return c5e(i,{alias:e})}static async assignTags(e,n,r){let i=new ct(r),s=new qt(i),a=Array.isArray(n)?n:[n];return d5e(s,{targetName:e,tags:a})}static async removeTags(e,n,r){let i=new ct(r),s=new qt(i),a=Array.isArray(n)?n:[n];return f5e(s,{name:e,tags:a})}static async getTags(e,n){let r=new ct(n),i=new qt(r);return p5e(i,{templateID:e})}fromDebianImage(e="stable"){return this.fromImage(`debian:${e}`)}fromUbuntuImage(e="latest"){return this.fromImage(`ubuntu:${e}`)}fromPythonImage(e="3"){return this.fromImage(`python:${e}`)}fromNodeImage(e="lts"){return this.fromImage(`node:${e}`)}fromBunImage(e="latest"){return this.fromImage(`oven/bun:${e}`)}fromBaseImage(){return this.fromImage(this.defaultBaseImage)}fromImage(e,n){return this.baseImage=e,this.baseTemplate=void 0,n&&(this.registryConfig={type:"registry",username:n.username,password:n.password}),this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromTemplate(e){return this.baseTemplate=e,this.baseImage=void 0,this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromDockerfile(e){let{baseImage:n}=this.runInStackTraceOverrideContext(()=>m5e(e,this),Fl(Sa-1));return this.baseImage=n,this.baseTemplate=void 0,this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromAWSRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"aws",awsAccessKeyId:n.accessKeyId,awsSecretAccessKey:n.secretAccessKey,awsRegion:n.region},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromGCPRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"gcp",serviceAccountJson:r5e(this.fileContextPath.toString(),n.serviceAccountJSON)},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromOCIRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"oci",tenancyOcid:n.tenancyOcid,userOcid:n.userOcid,fingerprint:n.fingerprint,privateKey:n.privateKey,region:n.region},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}fromHuaweiCloudRegistry(e,n){return this.baseImage=e,this.baseTemplate=void 0,this.registryConfig={type:"huawei",accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey,region:n.region},this.forceNextLayer&&(this.force=!0),this.collectStackTrace(),this}copy(e,n,r){var i;if(mo==="browser")throw new Error("Browser runtime is not supported for copy");let s=Array.isArray(e)?e:[e],a=Fl(Sa-1);for(let o of s){let l=o.toString();jLe(l,a);let c=[l,n.toString(),(i=r?.user)!=null?i:"",r?.mode?LK(r.mode):""];this.instructions.push({type:"COPY",args:c,force:r?.forceUpload||this.forceNextLayer,forceUpload:r?.forceUpload,resolveSymlinks:r?.resolveSymlinks})}return this.collectStackTrace(),this}copyItems(e){if(mo==="browser")throw new Error("Browser runtime is not supported for copyItems");let n=Fl(Sa-1);return this.runInNewStackTraceContext(()=>{for(let r of e)try{this.copy(r.src,r.dest,{forceUpload:r.forceUpload,user:r.user,mode:r.mode,resolveSymlinks:r.resolveSymlinks})}catch(i){let s=i;throw s.stack=n,s}}),this}remove(e,n){let r=Array.isArray(e)?e:[e],i=["rm"];return n?.recursive&&i.push("-r"),n?.force&&i.push("-f"),i.push(...r.map(s=>s.toString())),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:n?.user}))}rename(e,n,r){let i=["mv",e.toString(),n.toString()];return r?.force&&i.push("-f"),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:r?.user}))}makeDir(e,n){let r=Array.isArray(e)?e:[e],i=["mkdir","-p"];return n?.mode&&i.push(`-m ${LK(n.mode)}`),i.push(...r.map(s=>s.toString())),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:n?.user}))}makeSymlink(e,n,r){let i=["ln","-s"];return r?.force&&i.push("-f"),i.push(e.toString(),n.toString()),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:r?.user}))}runCmd(e,n){let i=[(Array.isArray(e)?e:[e]).join(" && ")];return n?.user&&i.push(n.user),this.instructions.push({type:"RUN",args:i,force:this.forceNextLayer}),this.collectStackTrace(),this}setWorkdir(e){return this.instructions.push({type:"WORKDIR",args:[e.toString()],force:this.forceNextLayer}),this.collectStackTrace(),this}setUser(e){return this.instructions.push({type:"USER",args:[e],force:this.forceNextLayer}),this.collectStackTrace(),this}pipInstall(e,n){var r;let i=(r=n?.g)!=null?r:!0,s=["pip","install"],a=e?Array.isArray(e)?e:[e]:void 0;return i===!1&&s.push("--user"),a?s.push(...a):s.push("."),this.runInNewStackTraceContext(()=>this.runCmd(s.join(" "),{user:i?"root":void 0}))}npmInstall(e,n){let r=["npm","install"],i=e?Array.isArray(e)?e:[e]:void 0;return n?.g&&r.push("-g"),n?.dev&&r.push("--save-dev"),i&&r.push(...i),this.runInNewStackTraceContext(()=>this.runCmd(r.join(" "),{user:n?.g?"root":void 0}))}bunInstall(e,n){let r=["bun","install"],i=e?Array.isArray(e)?e:[e]:void 0;return n?.g&&r.push("-g"),n?.dev&&r.push("--dev"),i&&r.push(...i),this.runInNewStackTraceContext(()=>this.runCmd(r.join(" "),{user:n?.g?"root":void 0}))}aptInstall(e,n){let r=Array.isArray(e)?e:[e];return this.runInNewStackTraceContext(()=>this.runCmd(["apt-get update",`DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes apt-get install -y ${n?.noInstallRecommends?"--no-install-recommends ":""}${n?.fixMissing?"--fix-missing ":""}${r.join(" ")}`],{user:"root"}))}addMcpServer(e){if(this.baseTemplate!=="mcp-gateway")throw new Ti("MCP servers can only be added to mcp-gateway template",Fl(Sa-1));let n=Array.isArray(e)?e:[e];return this.runInNewStackTraceContext(()=>this.runCmd(`mcp-gateway pull ${n.join(" ")}`,{user:"root"}))}gitClone(e,n,r){let i=["git","clone",e];return r?.branch&&(i.push(`--branch ${r.branch}`),i.push("--single-branch")),r?.depth&&i.push(`--depth ${r.depth}`),n&&i.push(n.toString()),this.runInNewStackTraceContext(()=>this.runCmd(i.join(" "),{user:r?.user}))}setStartCmd(e,n){return this.startCmd=e,n instanceof Rp?this.readyCmd=n.getCmd():this.readyCmd=n,this.collectStackTrace(),this}setReadyCmd(e){return e instanceof Rp?this.readyCmd=e.getCmd():this.readyCmd=e,this.collectStackTrace(),this}setEnvs(e){return Object.keys(e).length===0?this:(this.instructions.push({type:"ENV",args:Object.entries(e).flatMap(([n,r])=>[n,r]),force:this.forceNextLayer}),this.collectStackTrace(),this)}skipCache(){return this.forceNextLayer=!0,this}setPreRunCmd(e){return this.preRunCmd=e,this.collectStackTrace(),this}betaDevContainerPrebuild(e){if(this.baseTemplate!=="devcontainer")throw new Ti("Devcontainers can only used in the devcontainer template",Fl(Sa-1));return this.runInNewStackTraceContext(()=>this.runCmd(`devcontainer build --workspace-folder ${e}`,{user:"root"}))}betaSetDevContainerStart(e){if(this.baseTemplate!=="devcontainer")throw new Ti("Devcontainers can only used in the devcontainer template",Fl(Sa-1));return this.runInNewStackTraceContext(()=>this.setStartCmd(`sudo devcontainer up --workspace-folder ${e} && sudo /prepare-exec.sh ${e} | sudo tee /devcontainer.sh > /dev/null && sudo chmod +x /devcontainer.sh && sudo touch /devcontainer.up`,tz("/devcontainer.up")))}collectStackTrace(e=Sa){return this.stackTracesEnabled?this.stackTracesOverride?(this.stackTraces.push(this.stackTracesOverride),this):(this.stackTraces.push(Fl(e)),this):this}disableStackTrace(){return this.stackTracesEnabled=!1,this}enableStackTrace(){return this.stackTracesEnabled=!0,this}runInNewStackTraceContext(e){this.disableStackTrace();let n=e();return this.enableStackTrace(),this.collectStackTrace(Sa+1),n}runInStackTraceOverrideContext(e,n){this.stackTracesOverride=n;let r=e();return this.stackTracesOverride=void 0,r}async toJSON(e){let n=this.instructions;return e&&(n=await this.instructionsWithHashes()),JSON.stringify(this.serialize(n),void 0,2)}toDockerfile(){if(this.baseTemplate!==void 0)throw new Error("Cannot convert template built from another template to Dockerfile. Templates based on other templates can only be built using the Novita AI sandbox API.");if(this.baseImage===void 0)throw new Error("No base image specified for template");let e=`FROM ${this.baseImage}
387
387
  `;for(let n of this.instructions){if(n.type==="RUN"){e+=`RUN ${n.args[0]}
388
388
  `;continue}if(n.type==="COPY"){e+=`COPY ${n.args[0]} ${n.args[1]}
389
389
  `;continue}if(n.type==="ENV"){let r=[];for(let i=0;i<n.args.length;i+=2)r.push(`${n.args[i]}=${n.args[i+1]}`);e+=`ENV ${r.join(" ")}
390
390
  `;continue}e+=`${n.type} ${n.args.join(" ")}
391
391
  `}return this.startCmd&&(e+=`ENTRYPOINT ${this.startCmd}
392
- `),e}async build(e,n,r){var i,s,a,o,l,c;r.skipCache&&(this.force=!0),(i=r.onBuildLogs)==null||i.call(r,new bi(new Date,"info",`Requesting build for template: ${n}${r.tags&&r.tags.length>0?` with tags ${r.tags.join(", ")}`:""}`));let{templateID:d,buildID:f,tags:p}=await i5e(e,{name:n,tags:r.tags,cpuCount:(s=r.cpuCount)!=null?s:2,memoryMB:(a=r.memoryMB)!=null?a:1024});(o=r.onBuildLogs)==null||o.call(r,new bi(new Date,"info",`Template created with ID: ${d}, Build ID: ${f}`));let m=await this.instructionsWithHashes(),h=m.map(async(g,E)=>{var b,x,v,O;if(g.type!=="COPY")return;let I=g.args.length>0?g.args[0]:null,k=(b=g.filesHash)!=null?b:null;if(I===null||k===null)throw new Error("Source path and files hash are required");let F=g.forceUpload,N;E+1>=0&&E+1<this.stackTraces.length&&(N=this.stackTraces[E+1]);let{present:A,url:w}=await s5e(e,{templateID:d,filesHash:k},N);F&&w!=null||A===!1&&w!=null?(await a5e({fileName:I,fileContextPath:this.fileContextPath.toString(),url:w,ignorePatterns:[...this.fileIgnorePatterns,...wK(this.fileContextPath.toString())],resolveSymlinks:(x=g.resolveSymlinks)!=null?x:RK},N),(v=r.onBuildLogs)==null||v.call(r,new bi(new Date,"info",`Uploaded '${I}'`))):(O=r.onBuildLogs)==null||O.call(r,new bi(new Date,"info",`Skipping upload of '${I}', already cached`))});return await Promise.all(h),(l=r.onBuildLogs)==null||l.call(r,new bi(new Date,"info","All file uploads completed")),(c=r.onBuildLogs)==null||c.call(r,new bi(new Date,"info","Starting building...")),await o5e(e,{templateID:d,buildID:f,template:this.serialize(m)}),{alias:n,name:n,tags:p,templateId:d,buildId:f}}async instructionsWithHashes(){return Promise.all(this.instructions.map(async(e,n)=>{var r;if(e.type!=="COPY")return e;let i=e.args.length>0?e.args[0]:null,s=e.args.length>1?e.args[1]:null;if(i===null||s===null)throw new Error("Source path and destination path are required");let a;return n+1>=0&&n+1<this.stackTraces.length&&(a=this.stackTraces[n+1]),cr(ke({},e),{filesHash:await XLe(i,s,this.fileContextPath.toString(),[...this.fileIgnorePatterns,...mo==="browser"?[]:wK(this.fileContextPath.toString())],(r=e.resolveSymlinks)!=null?r:RK,a)})}))}serialize(e){let n={startCmd:this.startCmd,readyCmd:this.readyCmd,steps:e,force:this.force};return this.baseImage!==void 0&&(n.fromImage=this.baseImage),this.baseTemplate!==void 0&&(n.fromTemplate=this.baseTemplate),this.registryConfig!==void 0&&(n.fromImageRegistry=this.registryConfig),n}};function fn(t){return new xi(t)}fn.build=xi.build;fn.buildInBackground=xi.buildInBackground;fn.getBuildStatus=xi.getBuildStatus;fn.exists=xi.exists;fn.aliasExists=xi.aliasExists;fn.assignTags=xi.assignTags;fn.removeTags=xi.removeTags;fn.getTags=xi.getTags;fn.toJSON=xi.toJSON;fn.toDockerfile=xi.toDockerfile;async function UN(t){var e;let n=t.statusText;try{let r=await t.json();n=(e=r?.message)!=null?e:JSON.stringify(r)}catch{try{n=await t.text()}catch{}}return new Pn(`${t.status}: ${n}`)}function T5e(t){return t?.lifecycle?t.lifecycle:t?.autoPause?{onTimeout:"pause",autoResume:!1}:{onTimeout:"kill",autoResume:!1}}var Xn=class{constructor(){}static async kill(t,e){var n;let r=new ct(e),s=await new qt(r).api.DELETE("/sandboxes/{sandboxID}",{params:{path:{sandboxID:t}},signal:r.getSignal(e?.requestTimeoutMs)});if(((n=s.error)==null?void 0:n.code)===404)return!1;let a=xn(s);if(a)throw a;return!0}static async getInfo(t,e){let n=await this.getFullInfo(t,e);return delete n.envdAccessToken,delete n.sandboxDomain,n}static async getMetrics(t,e){var n,r;let i=new ct(e),s=new qt(i),a=e?.start?Math.round(e.start.getTime()/1e3):void 0,o=e?.end?Math.round(e.end.getTime()/1e3):void 0,l=await s.api.GET("/sandboxes/{sandboxID}/metrics",{params:{path:{sandboxID:t,start:a,end:o}},signal:i.getSignal(e?.requestTimeoutMs)}),c=xn(l);if(c)throw c;return(r=(n=l.data)==null?void 0:n.map(d=>({timestamp:new Date(d.timestamp),cpuUsedPct:d.cpuUsedPct,cpuCount:d.cpuCount,memUsed:d.memUsed,memTotal:d.memTotal,diskUsed:d.diskUsed,diskTotal:d.diskTotal})))!=null?r:[]}static async setTimeout(t,e,n){var r;let i=new ct(n),a=await new qt(i).api.POST("/sandboxes/{sandboxID}/timeout",{params:{path:{sandboxID:t}},body:{timeout:vp(e)},signal:i.getSignal(n?.requestTimeoutMs)});if(((r=a.error)==null?void 0:r.code)===404)throw new es(`Sandbox ${t} not found`);let o=xn(a);if(o)throw o}static async commit(t,e){let n=new ct(e),r=await fetch(`${n.apiUrl}/sandboxes/${encodeURIComponent(t)}/commit`,{method:"POST",headers:ke(ke(cr(ke({},n.headers),{"Content-Type":"application/json"}),n.apiKey?{"X-API-KEY":n.apiKey}:{}),n.accessToken?{Authorization:`Bearer ${n.accessToken}`}:{}),body:JSON.stringify(e?.alias?{alias:e.alias}:{}),signal:n.getSignal(e?.requestTimeoutMs)});if(r.status===404)throw new es(`Sandbox ${t} not found`);if(!r.ok)throw await UN(r);let i=await r.json();return rz(i,"snapshot_template")}static async reset(t,e){var n;let r=new ct(e),i=await fetch(`${r.apiUrl}/sandboxes/${encodeURIComponent(t)}/reset`,{method:"POST",headers:ke(ke(cr(ke({},r.headers),{"Content-Type":"application/json"}),r.apiKey?{"X-API-KEY":r.apiKey}:{}),r.accessToken?{Authorization:`Bearer ${r.accessToken}`}:{}),body:JSON.stringify(ke({resume:(n=e?.resume)!=null?n:!0},e?.timeoutMs!==void 0?{timeout:vp(e.timeoutMs)}:{})),signal:r.getSignal(e?.requestTimeoutMs)});if(i.status===404)throw new es(`Sandbox ${t} not found`);if(i.status===409)return!1;if(!i.ok)throw await UN(i);return!0}static async cloneSandboxes(t,e){var n,r,i,s;let a=new ct(e),o=await fetch(`${a.apiUrl}/sandboxes/${encodeURIComponent(t)}/clone`,{method:"POST",headers:ke(ke(cr(ke({},a.headers),{"Content-Type":"application/json"}),a.apiKey?{"X-API-KEY":a.apiKey}:{}),a.accessToken?{Authorization:`Bearer ${a.accessToken}`}:{}),body:JSON.stringify(ke(ke({count:(n=e?.count)!=null?n:1,strict:(r=e?.strict)!=null?r:!1},e?.nodeId?{nodeID:e.nodeId}:{}),e?.timeoutMs!==void 0?{timeout:vp(e.timeoutMs)}:{})),signal:a.getSignal((i=e?.requestTimeoutMs)!=null?i:3e5)});if(o.status===404)throw new es(`Sandbox ${t} not found`);if(!o.ok)throw await UN(o);let l=await o.json();return{sandboxes:((s=l.sandboxes)!=null?s:[]).map(c=>{var d;return{sandboxId:`${c.sandboxID}-${c.clientID}`,envdVersion:(d=c.envdVersion)!=null?d:"0.0.0",envdAccessToken:c.envdAccessToken,trafficAccessToken:c.trafficAccessToken}}),snapshotTemplateId:l.snapshotTemplateId}}static async getFullInfo(t,e){var n,r,i,s;let a=new ct(e),l=await new qt(a).api.GET("/sandboxes/{sandboxID}",{params:{path:{sandboxID:t}},signal:a.getSignal(e?.requestTimeoutMs)});if(((n=l.error)==null?void 0:n.code)===404)throw new es(`Sandbox ${t} not found`);let c=xn(l);if(c)throw c;if(!l.data)throw new Error("Sandbox not found");return cr(ke({sandboxId:l.data.sandboxID,templateId:l.data.templateID},l.data.alias&&{name:l.data.alias}),{metadata:(r=l.data.metadata)!=null?r:{},allowInternetAccess:(i=l.data.allowInternetAccess)!=null?i:void 0,envdVersion:l.data.envdVersion,envdAccessToken:l.data.envdAccessToken,startedAt:new Date(l.data.startedAt),endAt:new Date(l.data.endAt),state:l.data.state,cpuCount:l.data.cpuCount,memoryMB:l.data.memoryMB,network:l.data.network?{allowOut:l.data.network.allowOut,denyOut:l.data.network.denyOut,allowPublicTraffic:l.data.network.allowPublicTraffic,maskRequestHost:l.data.network.maskRequestHost}:void 0,lifecycle:l.data.lifecycle?{onTimeout:l.data.lifecycle.onTimeout,autoResume:l.data.lifecycle.autoResume}:void 0,sandboxDomain:l.data.domain||void 0,volumeMounts:(s=l.data.volumeMounts)!=null?s:[]})}static async pause(t,e){var n,r;let i=new ct(e),a=await new qt(i).api.POST("/sandboxes/{sandboxID}/pause",{params:{path:{sandboxID:t}},signal:i.getSignal(e?.requestTimeoutMs)});if(((n=a.error)==null?void 0:n.code)===404)throw new es(`Sandbox ${t} not found`);if(((r=a.error)==null?void 0:r.code)===409)return!1;let o=xn(a);if(o)throw o;return!0}static async betaPause(t,e){return this.pause(t,e)}static async createSnapshot(t,e){var n;let r=new ct(e),s=await new qt(r).api.POST("/sandboxes/{sandboxID}/snapshots",{params:{path:{sandboxID:t}},body:{},signal:r.getSignal(e?.requestTimeoutMs)});if(((n=s.error)==null?void 0:n.code)===404)throw new es(`Sandbox ${t} not found`);let a=xn(s);if(a)throw a;return{snapshotId:s.data.snapshotID}}static listSnapshots(t){return new x5e(t)}static async deleteSnapshot(t,e){var n;let r=new ct(e),s=await new qt(r).api.DELETE("/templates/{templateID}",{params:{path:{templateID:t}},signal:r.getSignal(e?.requestTimeoutMs)});if(((n=s.error)==null?void 0:n.code)===404)return!1;let a=xn(s);if(a)throw a;return!0}static async createSandbox(t,e,n){var r,i,s;let a=new ct(n),o=new qt(a),l=T5e(n),c=l.onTimeout==="pause",d=l.onTimeout==="pause"?(r=l.autoResume)!=null?r:!1:void 0,f=ke(ke(ke({templateID:t,metadata:n?.metadata,mcp:n?.mcp,envVars:n?.envs,timeout:vp(e),secure:(i=n?.secure)!=null?i:!0,allow_internet_access:(s=n?.allowInternetAccess)!=null?s:!0,network:n?.network},n?.nodeId?{nodeID:n.nodeId}:{}),c!==void 0?{autoPause:c}:{}),d!==void 0?{autoResume:{enabled:d}}:{});n?.volumeMounts&&(f.volumeMounts=Object.entries(n.volumeMounts).map(([h,g])=>({name:typeof g=="string"?g:g.name,path:h})));let p=await o.api.POST("/sandboxes",{body:f,signal:a.getSignal(n?.requestTimeoutMs)}),m=xn(p);if(m)throw m;if(Pr(p.data.envdVersion,"0.1.0")<0)throw await this.kill(p.data.sandboxID,n),new yi("You need to update the template to use the new SDK. You can do this by running `novita-sandbox-cli template build` in the directory with the template.");return{sandboxId:p.data.sandboxID,sandboxDomain:p.data.domain||void 0,envdVersion:p.data.envdVersion,envdAccessToken:p.data.envdAccessToken,trafficAccessToken:p.data.trafficAccessToken||void 0}}static async connectSandbox(t,e){var n,r;let i=(n=e?.timeoutMs)!=null?n:$K,s=new ct(e),o=await new qt(s).api.POST("/sandboxes/{sandboxID}/connect",{params:{path:{sandboxID:t}},body:{timeout:vp(i)},signal:s.getSignal(e?.requestTimeoutMs)});if(((r=o.error)==null?void 0:r.code)===404)throw new es(`Paused sandbox ${t} not found`);let l=xn(o);if(l)throw l;return{sandboxId:o.data.sandboxID,sandboxDomain:o.data.domain||void 0,envdVersion:o.data.envdVersion,envdAccessToken:o.data.envdAccessToken,trafficAccessToken:o.data.trafficAccessToken||void 0}}},sz=class{constructor(t,e,n){this.config=t,this.client=new qt(this.config),this._hasNext=!0,this._nextToken=n,this.limit=e}get hasNext(){return this._hasNext}get nextToken(){return this._nextToken}updatePagination(t){this._nextToken=t.headers.get("x-next-token")||void 0,this._hasNext=!!this._nextToken}},y5e=class extends sz{constructor(t){super(new ct(t),t?.limit,t?.nextToken),this.query=t?.query}async nextItems(){var t,e,n;if(!this.hasNext)throw new Error("No more items to fetch");let r;if((t=this.query)!=null&&t.metadata){let a=Object.fromEntries(Object.entries(this.query.metadata).map(([o,l])=>[encodeURIComponent(o),encodeURIComponent(l)]));r=new URLSearchParams(a).toString()}let i=await this.client.api.GET("/v2/sandboxes",{params:{query:{metadata:r,state:(e=this.query)==null?void 0:e.state,limit:this.limit,nextToken:this.nextToken}},signal:this.config.getSignal()}),s=xn(i);if(s)throw s;return this.updatePagination(i.response),((n=i.data)!=null?n:[]).map(a=>{var o,l;return cr(ke({sandboxId:a.sandboxID,templateId:a.templateID},a.alias&&{name:a.alias}),{metadata:(o=a.metadata)!=null?o:{},startedAt:new Date(a.startedAt),endAt:new Date(a.endAt),state:a.state,cpuCount:a.cpuCount,memoryMB:a.memoryMB,envdVersion:a.envdVersion,volumeMounts:(l=a.volumeMounts)!=null?l:[]})})}},x5e=class extends sz{constructor(t){super(new ct(t),t?.limit,t?.nextToken),this.sandboxId=t?.sandboxId}async nextItems(){var t;if(!this.hasNext)throw new Error("No more items to fetch");let e=await this.client.api.GET("/snapshots",{params:{query:{sandboxID:this.sandboxId,limit:this.limit,nextToken:this.nextToken}},signal:this.config.getSignal()}),n=xn(e);if(n)throw n;return this.updatePagination(e.response),((t=e.data)!=null?t:[]).map(r=>({snapshotId:r.snapshotID}))}},Nt=class extends Xn{constructor(t){var e,n,r;super(),this.envdPort=49983,this.mcpPort=50005,this.connectionConfig=new ct(t),this.sandboxId=t.sandboxId,this.sandboxDomain=(e=t.sandboxDomain)!=null?e:this.connectionConfig.domain,this.envdAccessToken=t.envdAccessToken,this.trafficAccessToken=t.trafficAccessToken,this.envdApiUrl=this.connectionConfig.getSandboxUrl(this.sandboxId,{sandboxDomain:this.sandboxDomain,envdPort:this.envdPort});let i={"Novita-Sandbox-Id":this.sandboxId,"Novita-Sandbox-Port":this.envdPort.toString()},s=RA({baseUrl:this.envdApiUrl,useBinaryFormat:!1,interceptors:t?.logger?[hLe(t.logger)]:void 0,fetch:(a,o)=>{let l=new Headers(this.connectionConfig.headers);return new Headers(o?.headers).forEach((c,d)=>l.append(d,c)),new Headers(i).forEach((c,d)=>l.append(d,c)),this.envdAccessToken&&l.append("X-Access-Token",this.envdAccessToken),o=cr(ke({},o??{}),{headers:l,redirect:"follow"}),fetch(a,o)}});this.envdApi=new yLe({apiUrl:this.envdApiUrl,logger:t?.logger,accessToken:this.envdAccessToken,headers:ke(ke({"User-Agent":(r=(n=this.connectionConfig.headers)==null?void 0:n["User-Agent"])!=null?r:""},i),this.envdAccessToken?{"X-Access-Token":this.envdAccessToken}:{})},{version:t.envdVersion}),this.files=new MLe(s,this.envdApi,this.connectionConfig),this.commands=new YLe(s,this.connectionConfig,{version:t.envdVersion}),this.pty=new $Le(s,this.connectionConfig,{version:t.envdVersion}),this.git=new KK(this.commands)}static list(t){return new y5e(t)}static async create(t,e){var n,r,i;let{template:s,sandboxOpts:a}=typeof t=="string"?{template:t,sandboxOpts:e}:{template:(n=t?.template)!=null?n:t?.mcp?this.defaultMcpTemplate:this.defaultTemplate,sandboxOpts:t},o=new ct(a);if(o.debug)return new this(ke({sandboxId:"debug_sandbox_id",envdVersion:SK},o));let l=await Xn.createSandbox(s,(r=a?.timeoutMs)!=null?r:this.defaultSandboxTimeoutMs,a),c=new this(ke(ke({},l),o));if(a?.mcp){c.mcpToken=crypto.randomUUID();let d=await c.commands.run(`mcp-gateway --config ${hK(JSON.stringify(a.mcp))}`,{user:"root",envs:{GATEWAY_ACCESS_TOKEN:(i=c.mcpToken)!=null?i:""}});if(d.exitCode!==0)throw new Error(`Failed to start MCP gateway: ${d.stderr}`)}return c}static async clone(t,e){let n=await Xn.cloneSandboxes(t,e),r=new ct(e),i=n.sandboxes.map(s=>new this(ke({sandboxId:s.sandboxId,envdVersion:s.envdVersion,envdAccessToken:s.envdAccessToken,trafficAccessToken:s.trafficAccessToken},r)));return{sandboxes:i,count:i.length,snapshotTemplateId:n.snapshotTemplateId}}static async commit(t,e){return await Xn.commit(t,e)}static async betaCreate(t,e){var n,r,i;let{template:s,sandboxOpts:a}=typeof t=="string"?{template:t,sandboxOpts:e}:{template:(n=t?.template)!=null?n:t?.mcp?this.defaultMcpTemplate:this.defaultTemplate,sandboxOpts:t},o=new ct(a);if(o.debug)return new this(ke({sandboxId:"debug_sandbox_id",envdVersion:SK},o));let l=await Xn.createSandbox(s,(r=a?.timeoutMs)!=null?r:this.defaultSandboxTimeoutMs,a),c=new this(ke(ke({},l),o));if(a?.mcp){c.mcpToken=crypto.randomUUID();let d=await c.commands.run(`mcp-gateway --config ${hK(JSON.stringify(a.mcp))}`,{user:"root",envs:{GATEWAY_ACCESS_TOKEN:(i=c.mcpToken)!=null?i:""}});if(d.exitCode!==0)throw new Error(`Failed to start MCP gateway: ${d.stderr}`)}return c}static async connect(t,e){let n=await Xn.connectSandbox(t,e),r=new ct(e);return new this(ke({sandboxId:t,sandboxDomain:n.sandboxDomain,envdAccessToken:n.envdAccessToken,trafficAccessToken:n.trafficAccessToken,envdVersion:n.envdVersion},r))}async connect(t){return await Xn.connectSandbox(this.sandboxId,this.resolveApiOpts(t)),this}getHost(t){return this.connectionConfig.getHost(this.sandboxId,t,this.sandboxDomain)}async isRunning(t){let e=this.connectionConfig.getSignal(t?.requestTimeoutMs),n=await this.envdApi.api.GET("/health",{signal:e});if(n.response.status==502)return!1;let r=await VK(n);if(r)throw r;return!0}async setTimeout(t,e){this.connectionConfig.debug||await Xn.setTimeout(this.sandboxId,t,this.resolveApiOpts(e))}async reset(t){return await Xn.reset(this.sandboxId,this.resolveApiOpts(t))}async commit(t){return await Xn.commit(this.sandboxId,this.resolveApiOpts(t))}async kill(t){this.connectionConfig.debug||await Xn.kill(this.sandboxId,this.resolveApiOpts(t))}async pause(t){return await Xn.pause(this.sandboxId,this.resolveApiOpts(t))}async betaPause(t){return await Xn.betaPause(this.sandboxId,this.resolveApiOpts(t))}async createSnapshot(t){return await Xn.createSnapshot(this.sandboxId,this.resolveApiOpts(t))}listSnapshots(t){return Xn.listSnapshots(cr(ke({},this.resolveApiOpts(t)),{sandboxId:this.sandboxId}))}getMcpUrl(){return`https://${this.getHost(this.mcpPort)}/mcp`}async getMcpToken(){return this.mcpToken||(this.mcpToken=await this.files.read("/etc/mcp-gateway/.token",{user:"root"})),this.mcpToken}async uploadUrl(t,e){e=e??{};let n=!!this.envdAccessToken;if(!n&&e.useSignatureExpiration!=null)throw new Error("Signature expiration can be used only when sandbox is created as secured.");let r=e.user;r==null&&Pr(this.envdApi.version,bK)<0&&(r=Op);let i=t??"",s=this.fileUrl(i,r);if(n){let a=new URL(s),o=await YN({path:i,operation:"write",user:r,expirationInSeconds:e.useSignatureExpiration,envdAccessToken:this.envdAccessToken});return a.searchParams.set("signature",o.signature),o.expiration&&a.searchParams.set("signature_expiration",o.expiration.toString()),a.toString()}return s}async downloadUrl(t,e){e=e??{};let n=!!this.envdAccessToken;if(!n&&e.useSignatureExpiration!=null)throw new Error("Signature expiration can be used only when sandbox is created as secured.");let r=e.user;r==null&&Pr(this.envdApi.version,bK)<0&&(r=Op);let i=this.fileUrl(t,r);if(n){let s=new URL(i),a=await YN({path:t,operation:"read",user:r,expirationInSeconds:e.useSignatureExpiration,envdAccessToken:this.envdAccessToken});return s.searchParams.set("signature",a.signature),a.expiration&&s.searchParams.set("signature_expiration",a.expiration.toString()),s.toString()}return i}async getInfo(t){return await Xn.getInfo(this.sandboxId,this.resolveApiOpts(t))}async getMetrics(t){var e,n;if(this.envdApi.version){if(Pr(this.envdApi.version,"0.1.5")<0)throw new Pn("You need to update the template to use the new SDK. You can do this by running `novita-sandbox-cli template build` in the directory with the template.");Pr(this.envdApi.version,"0.2.4")<0&&((n=(e=this.connectionConfig.logger)==null?void 0:e.warn)==null||n.call(e,"Disk metrics are not supported in this version of the sandbox, please rebuild the template to get disk metrics."))}return await Xn.getMetrics(this.sandboxId,this.resolveApiOpts(t))}resolveApiOpts(t){return ke(ke({},this.connectionConfig),t??{})}fileUrl(t,e){let n=new URL("/files",this.envdApiUrl);return e&&n.searchParams.set("username",e),t&&n.searchParams.set("path",t),n.toString()}};Nt.defaultTemplate="base";Nt.defaultMcpTemplate="mcp-gateway";Nt.defaultSandboxTimeoutMs=$K;var H0=Nt;u();u();var az=ee(require("os")),oz=ee(require("path")),$0=ee(require("fs")),Ur=oz.join(az.homedir(),".novita","config.json"),C5e="us-phx-1.sandbox.novita.ai";var v5e=["sandbox.novita.ai","us-01.sandbox.novita.ai","us-ga-01.sandbox.novita.ai"],D5e="1.2.3a1";function lz(){let t=process.env.NOVITA_DOMAIN||C5e;if(v5e.includes(t))throw new Error(`The current SDK version does not support the domain you provided: ${t}. Please use version ${D5e}.`);return t}var XN=process.env.NOVITA_DOCS_BASE||`https://${lz()}/docs`,A5e=process.env.NOVITA_DASHBOARD_BASE||`https://${lz()}/dashboard`,cz=t=>`${A5e}/inspect/sandbox/${t}`;function Gr(){return $0.existsSync(Ur)?JSON.parse($0.readFileSync(Ur,"utf8")):null}var Y0=process.env.NOVITA_API_KEY,V0=process.env.NOVITA_ACCESS_TOKEN,uz=process.env.NOVITA_TEAM_ID,fz=t=>{let e,n;switch(t){case"NOVITA_API_KEY":e="https://novita.ai/dashboard?tab=keys",n="API key";break;case"NOVITA_ACCESS_TOKEN":e="https://novita.ai/dashboard?tab=personal",n="access token";break}if(!e||!n)throw new Error(`Unknown key name: ${t}`);return Ei(`You must be logged in to use this command. Run ${pe("novita-sandbox-cli auth login")}.
392
+ `),e}async build(e,n,r){var i,s,a,o,l,c;r.skipCache&&(this.force=!0),(i=r.onBuildLogs)==null||i.call(r,new bi(new Date,"info",`Requesting build for template: ${n}${r.tags&&r.tags.length>0?` with tags ${r.tags.join(", ")}`:""}`));let{templateID:d,buildID:f,tags:p}=await i5e(e,{name:n,tags:r.tags,cpuCount:(s=r.cpuCount)!=null?s:2,memoryMB:(a=r.memoryMB)!=null?a:1024});(o=r.onBuildLogs)==null||o.call(r,new bi(new Date,"info",`Template created with ID: ${d}, Build ID: ${f}`));let m=await this.instructionsWithHashes(),h=m.map(async(g,E)=>{var b,x,v,O;if(g.type!=="COPY")return;let I=g.args.length>0?g.args[0]:null,k=(b=g.filesHash)!=null?b:null;if(I===null||k===null)throw new Error("Source path and files hash are required");let F=g.forceUpload,N;E+1>=0&&E+1<this.stackTraces.length&&(N=this.stackTraces[E+1]);let{present:A,url:w}=await s5e(e,{templateID:d,filesHash:k},N);F&&w!=null||A===!1&&w!=null?(await a5e({fileName:I,fileContextPath:this.fileContextPath.toString(),url:w,ignorePatterns:[...this.fileIgnorePatterns,...wK(this.fileContextPath.toString())],resolveSymlinks:(x=g.resolveSymlinks)!=null?x:RK},N),(v=r.onBuildLogs)==null||v.call(r,new bi(new Date,"info",`Uploaded '${I}'`))):(O=r.onBuildLogs)==null||O.call(r,new bi(new Date,"info",`Skipping upload of '${I}', already cached`))});return await Promise.all(h),(l=r.onBuildLogs)==null||l.call(r,new bi(new Date,"info","All file uploads completed")),(c=r.onBuildLogs)==null||c.call(r,new bi(new Date,"info","Starting building...")),await o5e(e,{templateID:d,buildID:f,template:this.serialize(m)}),{alias:n,name:n,tags:p,templateId:d,buildId:f}}async instructionsWithHashes(){return Promise.all(this.instructions.map(async(e,n)=>{var r;if(e.type!=="COPY")return e;let i=e.args.length>0?e.args[0]:null,s=e.args.length>1?e.args[1]:null;if(i===null||s===null)throw new Error("Source path and destination path are required");let a;return n+1>=0&&n+1<this.stackTraces.length&&(a=this.stackTraces[n+1]),cr(ke({},e),{filesHash:await XLe(i,s,this.fileContextPath.toString(),[...this.fileIgnorePatterns,...mo==="browser"?[]:wK(this.fileContextPath.toString())],(r=e.resolveSymlinks)!=null?r:RK,a)})}))}serialize(e){let n={startCmd:this.startCmd,readyCmd:this.readyCmd,preBootScript:this.preRunCmd,steps:e,force:this.force};return this.baseImage!==void 0&&(n.fromImage=this.baseImage),this.baseTemplate!==void 0&&(n.fromTemplate=this.baseTemplate),this.registryConfig!==void 0&&(n.fromImageRegistry=this.registryConfig),n}};function fn(t){return new xi(t)}fn.build=xi.build;fn.buildInBackground=xi.buildInBackground;fn.getBuildStatus=xi.getBuildStatus;fn.exists=xi.exists;fn.aliasExists=xi.aliasExists;fn.assignTags=xi.assignTags;fn.removeTags=xi.removeTags;fn.getTags=xi.getTags;fn.toJSON=xi.toJSON;fn.toDockerfile=xi.toDockerfile;async function UN(t){var e;let n=t.statusText;try{let r=await t.json();n=(e=r?.message)!=null?e:JSON.stringify(r)}catch{try{n=await t.text()}catch{}}return new Pn(`${t.status}: ${n}`)}function T5e(t){return t?.lifecycle?t.lifecycle:t?.autoPause?{onTimeout:"pause",autoResume:!1}:{onTimeout:"kill",autoResume:!1}}var Xn=class{constructor(){}static async kill(t,e){var n;let r=new ct(e),s=await new qt(r).api.DELETE("/sandboxes/{sandboxID}",{params:{path:{sandboxID:t}},signal:r.getSignal(e?.requestTimeoutMs)});if(((n=s.error)==null?void 0:n.code)===404)return!1;let a=xn(s);if(a)throw a;return!0}static async getInfo(t,e){let n=await this.getFullInfo(t,e);return delete n.envdAccessToken,delete n.sandboxDomain,n}static async getMetrics(t,e){var n,r;let i=new ct(e),s=new qt(i),a=e?.start?Math.round(e.start.getTime()/1e3):void 0,o=e?.end?Math.round(e.end.getTime()/1e3):void 0,l=await s.api.GET("/sandboxes/{sandboxID}/metrics",{params:{path:{sandboxID:t,start:a,end:o}},signal:i.getSignal(e?.requestTimeoutMs)}),c=xn(l);if(c)throw c;return(r=(n=l.data)==null?void 0:n.map(d=>({timestamp:new Date(d.timestamp),cpuUsedPct:d.cpuUsedPct,cpuCount:d.cpuCount,memUsed:d.memUsed,memTotal:d.memTotal,diskUsed:d.diskUsed,diskTotal:d.diskTotal})))!=null?r:[]}static async setTimeout(t,e,n){var r;let i=new ct(n),a=await new qt(i).api.POST("/sandboxes/{sandboxID}/timeout",{params:{path:{sandboxID:t}},body:{timeout:vp(e)},signal:i.getSignal(n?.requestTimeoutMs)});if(((r=a.error)==null?void 0:r.code)===404)throw new es(`Sandbox ${t} not found`);let o=xn(a);if(o)throw o}static async commit(t,e){let n=new ct(e),r=await fetch(`${n.apiUrl}/sandboxes/${encodeURIComponent(t)}/commit`,{method:"POST",headers:ke(ke(cr(ke({},n.headers),{"Content-Type":"application/json"}),n.apiKey?{"X-API-KEY":n.apiKey}:{}),n.accessToken?{Authorization:`Bearer ${n.accessToken}`}:{}),body:JSON.stringify(e?.alias?{alias:e.alias}:{}),signal:n.getSignal(e?.requestTimeoutMs)});if(r.status===404)throw new es(`Sandbox ${t} not found`);if(!r.ok)throw await UN(r);let i=await r.json();return rz(i,"snapshot_template")}static async reset(t,e){var n;let r=new ct(e),i=await fetch(`${r.apiUrl}/sandboxes/${encodeURIComponent(t)}/reset`,{method:"POST",headers:ke(ke(cr(ke({},r.headers),{"Content-Type":"application/json"}),r.apiKey?{"X-API-KEY":r.apiKey}:{}),r.accessToken?{Authorization:`Bearer ${r.accessToken}`}:{}),body:JSON.stringify(ke({resume:(n=e?.resume)!=null?n:!0},e?.timeoutMs!==void 0?{timeout:vp(e.timeoutMs)}:{})),signal:r.getSignal(e?.requestTimeoutMs)});if(i.status===404)throw new es(`Sandbox ${t} not found`);if(i.status===409)return!1;if(!i.ok)throw await UN(i);return!0}static async cloneSandboxes(t,e){var n,r,i,s;let a=new ct(e),o=await fetch(`${a.apiUrl}/sandboxes/${encodeURIComponent(t)}/clone`,{method:"POST",headers:ke(ke(cr(ke({},a.headers),{"Content-Type":"application/json"}),a.apiKey?{"X-API-KEY":a.apiKey}:{}),a.accessToken?{Authorization:`Bearer ${a.accessToken}`}:{}),body:JSON.stringify(ke(ke({count:(n=e?.count)!=null?n:1,strict:(r=e?.strict)!=null?r:!1},e?.nodeId?{nodeID:e.nodeId}:{}),e?.timeoutMs!==void 0?{timeout:vp(e.timeoutMs)}:{})),signal:a.getSignal((i=e?.requestTimeoutMs)!=null?i:3e5)});if(o.status===404)throw new es(`Sandbox ${t} not found`);if(!o.ok)throw await UN(o);let l=await o.json();return{sandboxes:((s=l.sandboxes)!=null?s:[]).map(c=>{var d;return{sandboxId:`${c.sandboxID}-${c.clientID}`,envdVersion:(d=c.envdVersion)!=null?d:"0.0.0",envdAccessToken:c.envdAccessToken,trafficAccessToken:c.trafficAccessToken}}),snapshotTemplateId:l.snapshotTemplateId}}static async getFullInfo(t,e){var n,r,i,s;let a=new ct(e),l=await new qt(a).api.GET("/sandboxes/{sandboxID}",{params:{path:{sandboxID:t}},signal:a.getSignal(e?.requestTimeoutMs)});if(((n=l.error)==null?void 0:n.code)===404)throw new es(`Sandbox ${t} not found`);let c=xn(l);if(c)throw c;if(!l.data)throw new Error("Sandbox not found");return cr(ke({sandboxId:l.data.sandboxID,templateId:l.data.templateID},l.data.alias&&{name:l.data.alias}),{metadata:(r=l.data.metadata)!=null?r:{},allowInternetAccess:(i=l.data.allowInternetAccess)!=null?i:void 0,envdVersion:l.data.envdVersion,envdAccessToken:l.data.envdAccessToken,startedAt:new Date(l.data.startedAt),endAt:new Date(l.data.endAt),state:l.data.state,cpuCount:l.data.cpuCount,memoryMB:l.data.memoryMB,network:l.data.network?{allowOut:l.data.network.allowOut,denyOut:l.data.network.denyOut,allowPublicTraffic:l.data.network.allowPublicTraffic,maskRequestHost:l.data.network.maskRequestHost}:void 0,lifecycle:l.data.lifecycle?{onTimeout:l.data.lifecycle.onTimeout,autoResume:l.data.lifecycle.autoResume}:void 0,sandboxDomain:l.data.domain||void 0,volumeMounts:(s=l.data.volumeMounts)!=null?s:[]})}static async pause(t,e){var n,r;let i=new ct(e),a=await new qt(i).api.POST("/sandboxes/{sandboxID}/pause",{params:{path:{sandboxID:t}},signal:i.getSignal(e?.requestTimeoutMs)});if(((n=a.error)==null?void 0:n.code)===404)throw new es(`Sandbox ${t} not found`);if(((r=a.error)==null?void 0:r.code)===409)return!1;let o=xn(a);if(o)throw o;return!0}static async betaPause(t,e){return this.pause(t,e)}static async createSnapshot(t,e){var n;let r=new ct(e),s=await new qt(r).api.POST("/sandboxes/{sandboxID}/snapshots",{params:{path:{sandboxID:t}},body:{},signal:r.getSignal(e?.requestTimeoutMs)});if(((n=s.error)==null?void 0:n.code)===404)throw new es(`Sandbox ${t} not found`);let a=xn(s);if(a)throw a;return{snapshotId:s.data.snapshotID}}static listSnapshots(t){return new x5e(t)}static async deleteSnapshot(t,e){var n;let r=new ct(e),s=await new qt(r).api.DELETE("/templates/{templateID}",{params:{path:{templateID:t}},signal:r.getSignal(e?.requestTimeoutMs)});if(((n=s.error)==null?void 0:n.code)===404)return!1;let a=xn(s);if(a)throw a;return!0}static async createSandbox(t,e,n){var r,i,s;let a=new ct(n),o=new qt(a),l=T5e(n),c=l.onTimeout==="pause",d=l.onTimeout==="pause"?(r=l.autoResume)!=null?r:!1:void 0,f=ke(ke(ke({templateID:t,metadata:n?.metadata,mcp:n?.mcp,envVars:n?.envs,timeout:vp(e),secure:(i=n?.secure)!=null?i:!0,allow_internet_access:(s=n?.allowInternetAccess)!=null?s:!0,network:n?.network},n?.nodeId?{nodeID:n.nodeId}:{}),c!==void 0?{autoPause:c}:{}),d!==void 0?{autoResume:{enabled:d}}:{});n?.volumeMounts&&(f.volumeMounts=Object.entries(n.volumeMounts).map(([h,g])=>({name:typeof g=="string"?g:g.name,path:h})));let p=await o.api.POST("/sandboxes",{body:f,signal:a.getSignal(n?.requestTimeoutMs)}),m=xn(p);if(m)throw m;if(Pr(p.data.envdVersion,"0.1.0")<0)throw await this.kill(p.data.sandboxID,n),new yi("You need to update the template to use the new SDK. You can do this by running `novita-sandbox-cli template build` in the directory with the template.");return{sandboxId:p.data.sandboxID,sandboxDomain:p.data.domain||void 0,envdVersion:p.data.envdVersion,envdAccessToken:p.data.envdAccessToken,trafficAccessToken:p.data.trafficAccessToken||void 0}}static async connectSandbox(t,e){var n,r;let i=(n=e?.timeoutMs)!=null?n:$K,s=new ct(e),o=await new qt(s).api.POST("/sandboxes/{sandboxID}/connect",{params:{path:{sandboxID:t}},body:{timeout:vp(i)},signal:s.getSignal(e?.requestTimeoutMs)});if(((r=o.error)==null?void 0:r.code)===404)throw new es(`Paused sandbox ${t} not found`);let l=xn(o);if(l)throw l;return{sandboxId:o.data.sandboxID,sandboxDomain:o.data.domain||void 0,envdVersion:o.data.envdVersion,envdAccessToken:o.data.envdAccessToken,trafficAccessToken:o.data.trafficAccessToken||void 0}}},sz=class{constructor(t,e,n){this.config=t,this.client=new qt(this.config),this._hasNext=!0,this._nextToken=n,this.limit=e}get hasNext(){return this._hasNext}get nextToken(){return this._nextToken}updatePagination(t){this._nextToken=t.headers.get("x-next-token")||void 0,this._hasNext=!!this._nextToken}},y5e=class extends sz{constructor(t){super(new ct(t),t?.limit,t?.nextToken),this.query=t?.query}async nextItems(){var t,e,n;if(!this.hasNext)throw new Error("No more items to fetch");let r;if((t=this.query)!=null&&t.metadata){let a=Object.fromEntries(Object.entries(this.query.metadata).map(([o,l])=>[encodeURIComponent(o),encodeURIComponent(l)]));r=new URLSearchParams(a).toString()}let i=await this.client.api.GET("/v2/sandboxes",{params:{query:{metadata:r,state:(e=this.query)==null?void 0:e.state,limit:this.limit,nextToken:this.nextToken}},signal:this.config.getSignal()}),s=xn(i);if(s)throw s;return this.updatePagination(i.response),((n=i.data)!=null?n:[]).map(a=>{var o,l;return cr(ke({sandboxId:a.sandboxID,templateId:a.templateID},a.alias&&{name:a.alias}),{metadata:(o=a.metadata)!=null?o:{},startedAt:new Date(a.startedAt),endAt:new Date(a.endAt),state:a.state,cpuCount:a.cpuCount,memoryMB:a.memoryMB,envdVersion:a.envdVersion,volumeMounts:(l=a.volumeMounts)!=null?l:[]})})}},x5e=class extends sz{constructor(t){super(new ct(t),t?.limit,t?.nextToken),this.sandboxId=t?.sandboxId}async nextItems(){var t;if(!this.hasNext)throw new Error("No more items to fetch");let e=await this.client.api.GET("/snapshots",{params:{query:{sandboxID:this.sandboxId,limit:this.limit,nextToken:this.nextToken}},signal:this.config.getSignal()}),n=xn(e);if(n)throw n;return this.updatePagination(e.response),((t=e.data)!=null?t:[]).map(r=>({snapshotId:r.snapshotID}))}},Nt=class extends Xn{constructor(t){var e,n,r;super(),this.envdPort=49983,this.mcpPort=50005,this.connectionConfig=new ct(t),this.sandboxId=t.sandboxId,this.sandboxDomain=(e=t.sandboxDomain)!=null?e:this.connectionConfig.domain,this.envdAccessToken=t.envdAccessToken,this.trafficAccessToken=t.trafficAccessToken,this.envdApiUrl=this.connectionConfig.getSandboxUrl(this.sandboxId,{sandboxDomain:this.sandboxDomain,envdPort:this.envdPort});let i={"Novita-Sandbox-Id":this.sandboxId,"Novita-Sandbox-Port":this.envdPort.toString()},s=RA({baseUrl:this.envdApiUrl,useBinaryFormat:!1,interceptors:t?.logger?[hLe(t.logger)]:void 0,fetch:(a,o)=>{let l=new Headers(this.connectionConfig.headers);return new Headers(o?.headers).forEach((c,d)=>l.append(d,c)),new Headers(i).forEach((c,d)=>l.append(d,c)),this.envdAccessToken&&l.append("X-Access-Token",this.envdAccessToken),o=cr(ke({},o??{}),{headers:l,redirect:"follow"}),fetch(a,o)}});this.envdApi=new yLe({apiUrl:this.envdApiUrl,logger:t?.logger,accessToken:this.envdAccessToken,headers:ke(ke({"User-Agent":(r=(n=this.connectionConfig.headers)==null?void 0:n["User-Agent"])!=null?r:""},i),this.envdAccessToken?{"X-Access-Token":this.envdAccessToken}:{})},{version:t.envdVersion}),this.files=new MLe(s,this.envdApi,this.connectionConfig),this.commands=new YLe(s,this.connectionConfig,{version:t.envdVersion}),this.pty=new $Le(s,this.connectionConfig,{version:t.envdVersion}),this.git=new KK(this.commands)}static list(t){return new y5e(t)}static async create(t,e){var n,r,i;let{template:s,sandboxOpts:a}=typeof t=="string"?{template:t,sandboxOpts:e}:{template:(n=t?.template)!=null?n:t?.mcp?this.defaultMcpTemplate:this.defaultTemplate,sandboxOpts:t},o=new ct(a);if(o.debug)return new this(ke({sandboxId:"debug_sandbox_id",envdVersion:SK},o));let l=await Xn.createSandbox(s,(r=a?.timeoutMs)!=null?r:this.defaultSandboxTimeoutMs,a),c=new this(ke(ke({},l),o));if(a?.mcp){c.mcpToken=crypto.randomUUID();let d=await c.commands.run(`mcp-gateway --config ${hK(JSON.stringify(a.mcp))}`,{user:"root",envs:{GATEWAY_ACCESS_TOKEN:(i=c.mcpToken)!=null?i:""}});if(d.exitCode!==0)throw new Error(`Failed to start MCP gateway: ${d.stderr}`)}return c}static async clone(t,e){let n=await Xn.cloneSandboxes(t,e),r=new ct(e),i=n.sandboxes.map(s=>new this(ke({sandboxId:s.sandboxId,envdVersion:s.envdVersion,envdAccessToken:s.envdAccessToken,trafficAccessToken:s.trafficAccessToken},r)));return{sandboxes:i,count:i.length,snapshotTemplateId:n.snapshotTemplateId}}static async commit(t,e){return await Xn.commit(t,e)}static async betaCreate(t,e){var n,r,i;let{template:s,sandboxOpts:a}=typeof t=="string"?{template:t,sandboxOpts:e}:{template:(n=t?.template)!=null?n:t?.mcp?this.defaultMcpTemplate:this.defaultTemplate,sandboxOpts:t},o=new ct(a);if(o.debug)return new this(ke({sandboxId:"debug_sandbox_id",envdVersion:SK},o));let l=await Xn.createSandbox(s,(r=a?.timeoutMs)!=null?r:this.defaultSandboxTimeoutMs,a),c=new this(ke(ke({},l),o));if(a?.mcp){c.mcpToken=crypto.randomUUID();let d=await c.commands.run(`mcp-gateway --config ${hK(JSON.stringify(a.mcp))}`,{user:"root",envs:{GATEWAY_ACCESS_TOKEN:(i=c.mcpToken)!=null?i:""}});if(d.exitCode!==0)throw new Error(`Failed to start MCP gateway: ${d.stderr}`)}return c}static async connect(t,e){let n=await Xn.connectSandbox(t,e),r=new ct(e);return new this(ke({sandboxId:t,sandboxDomain:n.sandboxDomain,envdAccessToken:n.envdAccessToken,trafficAccessToken:n.trafficAccessToken,envdVersion:n.envdVersion},r))}async connect(t){return await Xn.connectSandbox(this.sandboxId,this.resolveApiOpts(t)),this}getHost(t){return this.connectionConfig.getHost(this.sandboxId,t,this.sandboxDomain)}async isRunning(t){let e=this.connectionConfig.getSignal(t?.requestTimeoutMs),n=await this.envdApi.api.GET("/health",{signal:e});if(n.response.status==502)return!1;let r=await VK(n);if(r)throw r;return!0}async setTimeout(t,e){this.connectionConfig.debug||await Xn.setTimeout(this.sandboxId,t,this.resolveApiOpts(e))}async reset(t){return await Xn.reset(this.sandboxId,this.resolveApiOpts(t))}async commit(t){return await Xn.commit(this.sandboxId,this.resolveApiOpts(t))}async kill(t){this.connectionConfig.debug||await Xn.kill(this.sandboxId,this.resolveApiOpts(t))}async pause(t){return await Xn.pause(this.sandboxId,this.resolveApiOpts(t))}async betaPause(t){return await Xn.betaPause(this.sandboxId,this.resolveApiOpts(t))}async createSnapshot(t){return await Xn.createSnapshot(this.sandboxId,this.resolveApiOpts(t))}listSnapshots(t){return Xn.listSnapshots(cr(ke({},this.resolveApiOpts(t)),{sandboxId:this.sandboxId}))}getMcpUrl(){return`https://${this.getHost(this.mcpPort)}/mcp`}async getMcpToken(){return this.mcpToken||(this.mcpToken=await this.files.read("/etc/mcp-gateway/.token",{user:"root"})),this.mcpToken}async uploadUrl(t,e){e=e??{};let n=!!this.envdAccessToken;if(!n&&e.useSignatureExpiration!=null)throw new Error("Signature expiration can be used only when sandbox is created as secured.");let r=e.user;r==null&&Pr(this.envdApi.version,bK)<0&&(r=Op);let i=t??"",s=this.fileUrl(i,r);if(n){let a=new URL(s),o=await YN({path:i,operation:"write",user:r,expirationInSeconds:e.useSignatureExpiration,envdAccessToken:this.envdAccessToken});return a.searchParams.set("signature",o.signature),o.expiration&&a.searchParams.set("signature_expiration",o.expiration.toString()),a.toString()}return s}async downloadUrl(t,e){e=e??{};let n=!!this.envdAccessToken;if(!n&&e.useSignatureExpiration!=null)throw new Error("Signature expiration can be used only when sandbox is created as secured.");let r=e.user;r==null&&Pr(this.envdApi.version,bK)<0&&(r=Op);let i=this.fileUrl(t,r);if(n){let s=new URL(i),a=await YN({path:t,operation:"read",user:r,expirationInSeconds:e.useSignatureExpiration,envdAccessToken:this.envdAccessToken});return s.searchParams.set("signature",a.signature),a.expiration&&s.searchParams.set("signature_expiration",a.expiration.toString()),s.toString()}return i}async getInfo(t){return await Xn.getInfo(this.sandboxId,this.resolveApiOpts(t))}async getMetrics(t){var e,n;if(this.envdApi.version){if(Pr(this.envdApi.version,"0.1.5")<0)throw new Pn("You need to update the template to use the new SDK. You can do this by running `novita-sandbox-cli template build` in the directory with the template.");Pr(this.envdApi.version,"0.2.4")<0&&((n=(e=this.connectionConfig.logger)==null?void 0:e.warn)==null||n.call(e,"Disk metrics are not supported in this version of the sandbox, please rebuild the template to get disk metrics."))}return await Xn.getMetrics(this.sandboxId,this.resolveApiOpts(t))}resolveApiOpts(t){return ke(ke({},this.connectionConfig),t??{})}fileUrl(t,e){let n=new URL("/files",this.envdApiUrl);return e&&n.searchParams.set("username",e),t&&n.searchParams.set("path",t),n.toString()}};Nt.defaultTemplate="base";Nt.defaultMcpTemplate="mcp-gateway";Nt.defaultSandboxTimeoutMs=$K;var H0=Nt;u();u();var az=ee(require("os")),oz=ee(require("path")),$0=ee(require("fs")),Ur=oz.join(az.homedir(),".novita","config.json"),C5e="us-phx-1.sandbox.novita.ai";var v5e=["sandbox.novita.ai","us-01.sandbox.novita.ai","us-ga-01.sandbox.novita.ai"],D5e="1.2.3-a1";function lz(){let t=process.env.NOVITA_DOMAIN||C5e;if(v5e.includes(t))throw new Error(`The current SDK version does not support the domain you provided: ${t}. Please use version ${D5e}.`);return t}var XN=process.env.NOVITA_DOCS_BASE||`https://${lz()}/docs`,A5e=process.env.NOVITA_DASHBOARD_BASE||`https://${lz()}/dashboard`,cz=t=>`${A5e}/inspect/sandbox/${t}`;function Gr(){return $0.existsSync(Ur)?JSON.parse($0.readFileSync(Ur,"utf8")):null}var Y0=process.env.NOVITA_API_KEY,V0=process.env.NOVITA_ACCESS_TOKEN,uz=process.env.NOVITA_TEAM_ID,fz=t=>{let e,n;switch(t){case"NOVITA_API_KEY":e="https://novita.ai/dashboard?tab=keys",n="API key";break;case"NOVITA_ACCESS_TOKEN":e="https://novita.ai/dashboard?tab=personal",n="access token";break}if(!e||!n)throw new Error(`Unknown key name: ${t}`);return Ei(`You must be logged in to use this command. Run ${pe("novita-sandbox-cli auth login")}.
393
393
 
394
394
  If you are seeing this message in CI/CD you may need to set the ${pe(`${t}`)} environment variable.
395
395
  Visit ${qe(e)} to get the ${n}.`,{width:70,float:"center",padding:.5,margin:1,borderStyle:"round",borderColor:"redBright"})};function Zt(){if(Y0||(Y0=Gr()?.teamApiKey),!Y0)console.error(fz("NOVITA_API_KEY")),process.exit(1);else return Y0}function pz(){let t=Gr();return t||(console.error("No user config found, run `novita-sandbox-cli auth login` to log in first."),process.exit(1)),t}function As(){if(V0||(V0=Gr()?.accessToken),!V0)console.error(fz("NOVITA_ACCESS_TOKEN")),process.exit(1);else return V0}function go(t,e){if(t)return t;if(uz)return uz;if(e)return e;if(!process.env.NOVITA_API_KEY)return Gr()?.teamId}var dz=Gr(),pn=new ct({accessToken:process.env.NOVITA_ACCESS_TOKEN||dz?.accessToken,apiKey:process.env.NOVITA_API_KEY||dz?.teamApiKey}),nn=new qt(pn);u();var Ns="novita.Dockerfile",Eo="Dockerfile";u();var Sr=new Za("-p, --path <path>",`change root directory where command is executed to ${pe("<path>")} directory`),ts=new Za("--config <novita-toml>",`specify path to the Novita AI sandbox config toml. By default Novita AI sandbox tries to find ${pe("./novita.toml")} in root directory. We recommend using the new build system (https://novita.ai/docs/template/defining-template) that does not use config files.`),ayt=new Za("-s, --select","select multiple sandbox templates from interactive list"),Ip=new Za("-s, --select","select sandbox template from interactive list"),Ca=new Za("-t, --team <team-id>","specify the team ID that the operation will be associated with. You can find team ID in the team settings in the Novita AI sandbox dashboard (https://novita.ai/dashboard?tab=team).");u();var xE=ee(require("child_process")),Uj=ee(Tz());var kp=ee(require("fs")),Na=ee(require("path"));u();u();var Ci=ee(Az()),wp=ee(Rz()),Fz=ee(wz()),J5e=Object.prototype.toString,e9e=Error.prototype.toString,t9e=RegExp.prototype.toString,n9e=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",r9e=/^Symbol\((.*)\)(.*)$/;function i9e(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function Lz(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let n=typeof t;if(n==="number")return i9e(t);if(n==="string")return e?`"${t}"`:t;if(n==="function")return"[Function "+(t.name||"anonymous")+"]";if(n==="symbol")return n9e.call(t).replace(r9e,"Symbol($1)");let r=J5e.call(t).slice(8,-1);return r==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):r==="Error"||t instanceof Error?"["+e9e.call(t)+"]":r==="RegExp"?t9e.call(t):null}function Da(t,e){let n=Lz(t,e);return n!==null?n:JSON.stringify(t,function(r,i){let s=Lz(this[r],e);return s!==null?s:i},2)}function Bz(t){return t==null?[]:[].concat(t)}var Uz,Gz,qz,s9e=/\$\{\s*(\w+)\s*\}/g;Uz=Symbol.toStringTag;var J0=class{constructor(e,n,r,i){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[Uz]="Error",this.name="ValidationError",this.value=n,this.path=r,this.type=i,this.errors=[],this.inner=[],Bz(e).forEach(s=>{if(br.isError(s)){this.errors.push(...s.errors);let a=s.inner.length?s.inner:[s];this.inner.push(...a)}else this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}};Gz=Symbol.hasInstance;qz=Symbol.toStringTag;var br=class t extends Error{static formatError(e,n){let r=n.label||n.path||"this";return n=Object.assign({},n,{path:r,originalPath:n.path}),typeof e=="string"?e.replace(s9e,(i,s)=>Da(n[s])):typeof e=="function"?e(n):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,n,r,i,s){let a=new J0(e,n,r,i);if(s)return a;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[qz]="Error",this.name=a.name,this.message=a.message,this.type=a.type,this.value=a.value,this.path=a.path,this.errors=a.errors,this.inner=a.inner,Error.captureStackTrace&&Error.captureStackTrace(this,t)}static[Gz](e){return J0[Symbol.hasInstance](e)||super[Symbol.hasInstance](e)}},Os={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:n,originalValue:r})=>{let i=r!=null&&r!==n?` (cast from the value \`${Da(r,!0)}\`).`:".";return e!=="mixed"?`${t} must be a \`${e}\` type, but the final value was: \`${Da(n,!0)}\``+i:`${t} must match the configured type. The validated value was: \`${Da(n,!0)}\``+i}},qr={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},So={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},o2={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},l2={isValue:"${path} field must be ${value}"},Q0={noUnknown:"${path} field has unspecified keys: ${unknown}",exact:"${path} object contains unknown properties: ${properties}"},X0={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},Hz={notType:t=>{let{path:e,value:n,spec:r}=t,i=r.types.length;if(Array.isArray(n)){if(n.length<i)return`${e} tuple value has too few items, expected a length of ${i} but got ${n.length} for value: \`${Da(n,!0)}\``;if(n.length>i)return`${e} tuple value has too many items, expected a length of ${i} but got ${n.length} for value: \`${Da(n,!0)}\``}return br.formatError(Os.notType,t)}},Syt=Object.assign(Object.create(null),{mixed:Os,string:qr,number:So,date:o2,object:Q0,array:X0,boolean:l2,tuple:Hz}),cE=t=>t&&t.__isYupSchema__,eE=class t{static fromOptions(e,n){if(!n.then&&!n.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:i,otherwise:s}=n,a=typeof r=="function"?r:(...o)=>o.every(l=>l===r);return new t(e,(o,l)=>{var c;let d=a(...o)?i:s;return(c=d?.(l))!=null?c:l})}constructor(e,n){this.fn=void 0,this.refs=e,this.refs=e,this.fn=n}resolve(e,n){let r=this.refs.map(s=>s.getValue(n?.value,n?.parent,n?.context)),i=this.fn(r,e,n);if(i===void 0||i===e)return e;if(!cE(i))throw new TypeError("conditions must return a schema object");return i.resolve(n)}},j0={context:"$",value:"."};var Aa=class{constructor(e,n={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===j0.context,this.isValue=this.key[0]===j0.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?j0.context:this.isValue?j0.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&(0,Ci.getter)(this.path,!0),this.map=n.map}getValue(e,n,r){let i=this.isContext?r:this.isValue?e:n;return this.getter&&(i=this.getter(i||{})),this.map&&(i=this.map(i)),i}cast(e,n){return this.getValue(e,n?.parent,n?.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Aa.prototype.__isYupRef=!0;var ns=t=>t==null;function Mu(t){function e({value:n,path:r="",options:i,originalValue:s,schema:a},o,l){let{name:c,test:d,params:f,message:p,skipAbsent:m}=t,{parent:h,context:g,abortEarly:E=a.spec.abortEarly,disableStackTrace:b=a.spec.disableStackTrace}=i,x={value:n,parent:h,context:g};function v(V={}){let Q=$z(Object.assign({value:n,originalValue:s,label:a.spec.label,path:V.path||r,spec:a.spec,disableStackTrace:V.disableStackTrace||b},f,V.params),x),ne=new br(br.formatError(V.message||p,Q),n,Q.path,V.type||c,Q.disableStackTrace);return ne.params=Q,ne}let O=E?o:l,I={path:r,parent:h,type:c,from:i.from,createError:v,resolve(V){return Yz(V,x)},options:i,originalValue:s,schema:a},k=V=>{br.isError(V)?O(V):V?l(null):O(v())},F=V=>{br.isError(V)?O(V):o(V)};if(m&&ns(n))return k(!0);let A;try{var w;if(A=d.call(I,n,I),typeof((w=A)==null?void 0:w.then)=="function"){if(i.sync)throw new Error(`Validation test of type: "${I.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(A).then(k,F)}}catch(V){F(V);return}k(A)}return e.OPTIONS=t,e}function $z(t,e){if(!t)return t;for(let n of Object.keys(t))t[n]=Yz(t[n],e);return t}function Yz(t,e){return Aa.isRef(t)?t.getValue(e.value,e.parent,e.context):t}function a9e(t,e,n,r=n){let i,s,a;return e?((0,Ci.forEach)(e,(o,l,c)=>{let d=l?o.slice(1,o.length-1):o;t=t.resolve({context:r,parent:i,value:n});let f=t.type==="tuple",p=c?parseInt(d,10):0;if(t.innerType||f){if(f&&!c)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(n&&p>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${e}. because there is no value at that index. `);i=n,n=n&&n[p],t=f?t.spec.types[p]:t.innerType}if(!c){if(!t.fields||!t.fields[d])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${a} which is a type: "${t.type}")`);i=n,n=n&&n[d],t=t.fields[d]}s=d,a=l?"["+o+"]":"."+o}),{schema:t,parent:i,parentPath:s}):{parent:i,parentPath:e,schema:t}}var tE=class t extends Set{describe(){let e=[];for(let n of this.values())e.push(Aa.isRef(n)?n.describe():n);return e}resolveAll(e){let n=[];for(let r of this.values())n.push(e(r));return n}clone(){return new t(this.values())}merge(e,n){let r=this.clone();return e.forEach(i=>r.add(i)),n.forEach(i=>r.delete(i)),r}};function Pu(t,e=new Map){if(cE(t)||!t||typeof t!="object")return t;if(e.has(t))return e.get(t);let n;if(t instanceof Date)n=new Date(t.getTime()),e.set(t,n);else if(t instanceof RegExp)n=new RegExp(t),e.set(t,n);else if(Array.isArray(t)){n=new Array(t.length),e.set(t,n);for(let r=0;r<t.length;r++)n[r]=Pu(t[r],e)}else if(t instanceof Map){n=new Map,e.set(t,n);for(let[r,i]of t.entries())n.set(r,Pu(i,e))}else if(t instanceof Set){n=new Set,e.set(t,n);for(let r of t)n.add(Pu(r,e))}else if(t instanceof Object){n={},e.set(t,n);for(let[r,i]of Object.entries(t))n[r]=Pu(i,e)}else throw Error(`Unable to clone ${t}`);return n}function o9e(t){if(!(t!=null&&t.length))return;let e=[],n="",r=!1,i=!1;for(let s=0;s<t.length;s++){let a=t[s];if(a==="["&&!i){n&&(e.push(...n.split(".").filter(Boolean)),n=""),r=!0;continue}if(a==="]"&&!i){n&&(/^\d+$/.test(n)?e.push(n):e.push(n.replace(/^"|"$/g,"")),n=""),r=!1;continue}if(a==='"'){i=!i;continue}if(a==="."&&!r&&!i){n&&(e.push(n),n="");continue}n+=a}return n&&e.push(...n.split(".").filter(Boolean)),e}function l9e(t,e){let n=e?`${e}.${t.path}`:t.path;return t.errors.map(r=>({message:r,path:o9e(n)}))}function Vz(t,e){var n;if(!((n=t.inner)!=null&&n.length)&&t.errors.length)return l9e(t,e);let r=e?`${e}.${t.path}`:t.path;return t.inner.flatMap(i=>Vz(i,r))}var Zn=class{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new tE,this._blacklist=new tE,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Os.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},e?.spec),this.withMutation(n=>{n.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let n=Object.create(Object.getPrototypeOf(this));return n.type=this.type,n._typeCheck=this._typeCheck,n._whitelist=this._whitelist.clone(),n._blacklist=this._blacklist.clone(),n.internalTests=Object.assign({},this.internalTests),n.exclusiveTests=Object.assign({},this.exclusiveTests),n.deps=[...this.deps],n.conditions=[...this.conditions],n.tests=[...this.tests],n.transforms=[...this.transforms],n.spec=Pu(Object.assign({},this.spec,e)),n}label(e){let n=this.clone();return n.spec.label=e,n}meta(...e){if(e.length===0)return this.spec.meta;let n=this.clone();return n.spec.meta=Object.assign(n.spec.meta||{},e[0]),n}withMutation(e){let n=this._mutate;this._mutate=!0;let r=e(this);return this._mutate=n,r}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let n=this,r=e.clone(),i=Object.assign({},n.spec,r.spec);return r.spec=i,r.internalTests=Object.assign({},n.internalTests,r.internalTests),r._whitelist=n._whitelist.merge(e._whitelist,e._blacklist),r._blacklist=n._blacklist.merge(e._blacklist,e._whitelist),r.tests=n.tests,r.exclusiveTests=n.exclusiveTests,r.withMutation(s=>{e.tests.forEach(a=>{s.test(a.OPTIONS)})}),r.transforms=[...n.transforms,...r.transforms],r}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let n=this;if(n.conditions.length){let r=n.conditions;n=n.clone(),n.conditions=[],n=r.reduce((i,s)=>s.resolve(i,e),n),n=n.resolve(e)}return n}resolveOptions(e){var n,r,i,s;return Object.assign({},e,{from:e.from||[],strict:(n=e.strict)!=null?n:this.spec.strict,abortEarly:(r=e.abortEarly)!=null?r:this.spec.abortEarly,recursive:(i=e.recursive)!=null?i:this.spec.recursive,disableStackTrace:(s=e.disableStackTrace)!=null?s:this.spec.disableStackTrace})}cast(e,n={}){let r=this.resolve(Object.assign({value:e},n)),i=n.assert==="ignore-optionality",s=r._cast(e,n);if(n.assert!==!1&&!r.isType(s)){if(i&&ns(s))return s;let a=Da(e),o=Da(s);throw new TypeError(`The value of ${n.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}".
@@ -439,8 +439,8 @@ ${d}
439
439
  `);break}case"error":throw new Error(`
440
440
  \u274C Building sandbox template ${Dt({aliases:s,...i})} failed.
441
441
  Check the logs above for more details or contact us ${qe("(https://novita.ai/docs/support)")} to get help.
442
- `)}while(i.status==="building")}function x2(t){if(kp.existsSync(t))return kp.readFileSync(t,"utf-8")}function Fp(t,e){if(e){let o=Na.join(t,e),l=x2(o),c=Na.relative(t,o);if(l===void 0)throw new Error(`No ${pt(c)} found in the root directory.`);return{dockerfilePath:o,dockerfileContent:l,dockerfileRelativePath:c}}let n=Na.join(t,Ns),r=x2(n),i=Na.relative(t,n),s=i;if(r!==void 0)return{dockerfilePath:n,dockerfileContent:r,dockerfileRelativePath:s};n=Na.join(t,Eo),r=x2(n);let a=Na.relative(t,n);if(s=a,r!==void 0)return{dockerfilePath:n,dockerfileContent:r,dockerfileRelativePath:s};throw new Error(`No ${pt(i)} or ${pt(a)} found in the root directory (${t}). You can specify a custom Dockerfile with ${pe("--dockerfile <file>")} option.`)}async function EMe(t,e){let n;return e?n=await hMe(e,t):n=await mMe(t),rn(n,"Error requesting template build"),n.data}async function SMe(t,e){await _Me(t,e)}function bMe(t,e,n,r){return r==null?`docker.${n}/novita/custom-envs/${t}:${e}`:r.replaceAll("{templateID}",t).replaceAll("{buildID}",e)}var qj=new Ne("create").description("build Dockerfile as a Sandbox template. This command reads a Dockerfile and builds it directly.").argument("<template-name>","template name to create or rebuild. The template name must be lowercase and contain only letters, numbers, dashes and underscores.").addOption(Sr).option("-d, --dockerfile <file>",`specify path to Dockerfile. By default Novita AI sandbox tries to find ${At(Ns)} or ${At(Eo)} in root directory.`).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.").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("--no-cache","skip cache when building the template.").alias("ct").action(async(t,e)=>{try{As(),process.stdout.write(`
443
- `),/^[a-z0-9-_]+$/.test(t)||(console.error(`Template name ${At(t)} is not valid. Template name can only contain lowercase letters, numbers, dashes and underscores.`),process.exit(1)),e.memoryMb&&e.memoryMb%2!==0&&(console.error(`The memory in megabytes must be an even number. You provided ${At(e.memoryMb.toFixed(0))}.`),process.exit(1));let n=lr(e.path),r=e.dockerfile,i=e.cmd,s=e.readyCmd,a=e.cpuCount,o=e.memoryMb,{dockerfileContent:l,dockerfileRelativePath:c}=Fp(n,r);console.log(`Found ${pt(c)} that will be used to build the sandbox template.`);let d=fn({fileContextPath:n}).fromDockerfile(l),f=d;i&&s?f=d.setStartCmd(i,s):s?f=d.setReadyCmd(s):i&&(console.error("Both start and ready commands must be provided."),process.exit(1)),console.log(`
442
+ `)}while(i.status==="building")}function x2(t){if(kp.existsSync(t))return kp.readFileSync(t,"utf-8")}function Fp(t,e){if(e){let o=Na.join(t,e),l=x2(o),c=Na.relative(t,o);if(l===void 0)throw new Error(`No ${pt(c)} found in the root directory.`);return{dockerfilePath:o,dockerfileContent:l,dockerfileRelativePath:c}}let n=Na.join(t,Ns),r=x2(n),i=Na.relative(t,n),s=i;if(r!==void 0)return{dockerfilePath:n,dockerfileContent:r,dockerfileRelativePath:s};n=Na.join(t,Eo),r=x2(n);let a=Na.relative(t,n);if(s=a,r!==void 0)return{dockerfilePath:n,dockerfileContent:r,dockerfileRelativePath:s};throw new Error(`No ${pt(i)} or ${pt(a)} found in the root directory (${t}). You can specify a custom Dockerfile with ${pe("--dockerfile <file>")} option.`)}async function EMe(t,e){let n;return e?n=await hMe(e,t):n=await mMe(t),rn(n,"Error requesting template build"),n.data}async function SMe(t,e){await _Me(t,e)}function bMe(t,e,n,r){return r==null?`docker.${n}/novita/custom-envs/${t}:${e}`:r.replaceAll("{templateID}",t).replaceAll("{buildID}",e)}var qj=new Ne("create").description("build Dockerfile as a Sandbox template. This command reads a Dockerfile and builds it directly.").argument("<template-name>","template name to create or rebuild. The template name must be lowercase and contain only letters, numbers, dashes and underscores.").addOption(Sr).option("-d, --dockerfile <file>",`specify path to Dockerfile. By default Novita AI sandbox tries to find ${At(Ns)} or ${At(Eo)} in root directory.`).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.").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("--no-cache","skip cache when building the template.").option("--pre-run-cmd <cmd>","a command that runs during base image provisioning, before systemd boot.").alias("ct").action(async(t,e)=>{try{As(),process.stdout.write(`
443
+ `),/^[a-z0-9-_]+$/.test(t)||(console.error(`Template name ${At(t)} is not valid. Template name can only contain lowercase letters, numbers, dashes and underscores.`),process.exit(1)),e.memoryMb&&e.memoryMb%2!==0&&(console.error(`The memory in megabytes must be an even number. You provided ${At(e.memoryMb.toFixed(0))}.`),process.exit(1));let n=lr(e.path),r=e.dockerfile,i=e.cmd,s=e.readyCmd,a=e.cpuCount,o=e.memoryMb,{dockerfileContent:l,dockerfileRelativePath:c}=Fp(n,r);console.log(`Found ${pt(c)} that will be used to build the sandbox template.`);let d=fn({fileContextPath:n}).fromDockerfile(l);e.preRunCmd&&d.setPreRunCmd(e.preRunCmd);let f=d;i&&s?f=d.setStartCmd(i,s):s?f=d.setReadyCmd(s):i&&(console.error("Both start and ready commands must be provided."),process.exit(1)),console.log(`
444
444
  Building sandbox template...
445
445
  `);let p=Zt(),m=pn.domain;try{await fn.build(f,{alias:t,cpuCount:a,memoryMB:o,skipCache:e.noCache,apiKey:p,domain:m,onBuildLogs:QN()})}catch(v){console.error(`
446
446
  \u274C Template build failed.`),v instanceof Error&&console.error("Error:",v.message),process.exit(1)}let h=gu(`from novita import Sandbox, AsyncSandbox
@@ -760,7 +760,7 @@ ${pe(V)}
760
760
  `);let Q=`docker push ${w}`;P.info(`Pushing docker image with the following command:
761
761
  ${pe(Q)}
762
762
  `);try{Zy.execSync(Q,{stdio:"inherit",cwd:h})}catch{await yE(x,pn,r,F,h)}return P.info(`> Docker image pushed.
763
- `),P.info("Triggering build..."),await this.triggerBuild(e,F.buildID,void 0,void 0,void 0),P.info("Waiting for build to finish..."),await this.waitForBuildFinish(e,F.buildID,v),{templateID:e,buildID:F.buildID,aliases:v?[v]:void 0}}};u();var Spe=ee(require("path"));var l_=class{static convertToTemplateBuildOptions(e,n,r){let i=new Date().toISOString().replace(/[:.]/g,"-").split(".")[0],s=`${e.metadata.name}_v${e.metadata.version.replace(/\./g,"-")}_${i}`;console.log("Original entrypoint:",e.spec.entrypoint),console.log("Project path:",r);let a=_s.getModulePath(e.spec.entrypoint),o={path:r,name:s,cmd:""};if(console.log("modulePath:",a),console.log("start cmd:",""),o.metadata={agent_runtime:JSON.stringify(e),created_by:"novita-sandbox-cli",build_timestamp:new Date().toISOString()},e.spec.runtime){let c=e.spec.runtime;if(c.cpu_limit&&(o.cpuCount=this.parseCpuLimit(c.cpu_limit)),c.memory_limit&&(o.memoryMb=this.parseMemoryLimit(c.memory_limit)),c.timeout){let d=_s.getModulePath(e.spec.entrypoint);o.readyCmd=`timeout ${c.timeout}s python -c "import ${d}; print('Agent ready')" || exit 1`}}n.cache!==void 0&&(o.noCache=!n.cache);let l=n;return l.dockerfile&&(o.dockerfile=l.dockerfile),l.cpuCount&&(o.cpuCount=l.cpuCount),l.memoryMb&&(o.memoryMb=l.memoryMb),l.buildArg&&(o.buildArg=l.buildArg),l.image&&(o.image=l.image),l.username&&(o.username=l.username),l.password&&(o.password=l.password),l.team&&(o.team=l.team),l.readyCmd&&(o.readyCmd=l.readyCmd),P.verbose("Converted AgentConfig to TemplateBuildOptions:",{agentName:e.metadata.name,templateName:s,entrypoint:e.spec.entrypoint,hasAgentRuntime:!!o.metadata?.agent_runtime,runtime:{cpuCount:o.cpuCount,memoryMb:o.memoryMb,readyCmd:o.readyCmd}}),o}static parseCpuLimit(e){return e.endsWith("m")?Math.ceil(parseInt(e.slice(0,-1))/1e3):Math.ceil(parseFloat(e))}static parseMemoryLimit(e){let n=e.toLowerCase();if(n.endsWith("gi")){let i=parseFloat(n.slice(0,-2));return Math.ceil(i*1024)}if(n.endsWith("g")){let i=parseFloat(n.slice(0,-1));return Math.ceil(i*1e3)}if(n.endsWith("mi"))return Math.ceil(parseFloat(n.slice(0,-2)));if(n.endsWith("m"))return Math.ceil(parseFloat(n.slice(0,-1)));let r=parseInt(e);return Math.ceil(r/(1024*1024))}static getDockerfilePath(e,n){return Spe.join(n,"novita.Dockerfile")}static validateForTemplateBuild(e){let n=[];if(e.metadata.name||n.push("Agent name is required for template build"),e.metadata.author||n.push("Agent author email is required for template build"),e.spec.entrypoint||n.push("Agent entrypoint is required for template build"),e.metadata.name&&!/^[a-z0-9-]+$/.test(e.metadata.name)&&n.push("Agent name must contain only lowercase letters, numbers, and hyphens"),e.metadata.author&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.metadata.author)&&n.push("Invalid author email format"),e.spec.entrypoint&&!e.spec.entrypoint.endsWith(".py")&&n.push("Agent entrypoint must be a Python file (.py)"),e.spec.runtime){let r=e.spec.runtime;if(r.timeout&&(r.timeout<=0||r.timeout>3600)&&n.push(`Invalid timeout value: ${r.timeout}. Must be between 1 and 3600 seconds`),r.cpu_limit)try{this.parseCpuLimit(r.cpu_limit)}catch{n.push(`Invalid CPU limit format: ${r.cpu_limit}. Expected formats: "1", "1000m", "2.5"`)}if(r.memory_limit)try{this.parseMemoryLimit(r.memory_limit)}catch{n.push(`Invalid memory limit format: ${r.memory_limit}. Expected formats: "512Mi", "1Gi", "512M"`)}}return{valid:n.length===0,errors:n}}};var tJe="us-phx-1.sandbox.novita.ai";var nJe=["sandbox.novita.ai","us-01.sandbox.novita.ai","us-ga-01.sandbox.novita.ai"],rJe="1.2.3a1";function iJe(t){if(nJe.includes(t))throw new Error(`The current SDK version does not support the domain you provided: ${t}. Please use version ${rJe}.`)}var ex=class{apiKey;domain;templateService;constructor(e,n){this.apiKey=e,this.domain=n||process.env.NOVITA_DOMAIN||tJe,iJe(this.domain),this.templateService=new Jy}async listTemplates(e){P.verbose("Listing sandbox templates...",e);try{return P.warn("Template listing not yet implemented with Novita Sandbox SDK"),[]}catch(n){throw P.error("Failed to list templates:",n),new Error(`Template listing failed: ${n}`)}}async getTemplate(e){P.verbose(`Getting template: ${e}`);try{return P.warn("Template details not yet implemented with Novita Sandbox SDK"),{id:e,name:"unknown",created_at:new Date().toISOString(),status:"ready"}}catch(n){throw P.error("Failed to get template:",n),new Error(`Template retrieval failed: ${n}`)}}async deleteTemplate(e){P.verbose(`Deleting template: ${e}`);try{P.warn("Template deletion not yet implemented with Novita Sandbox SDK")}catch(n){throw P.error("Failed to delete template:",n),new Error(`Template deletion failed: ${n}`)}}async buildTemplateFromConfig(e,n,r={}){P.info("Building template from agent configuration...");let i=l_.validateForTemplateBuild(e);if(!i.valid)throw P.error("Agent configuration validation failed:"),i.errors.forEach(s=>P.error(` - ${s}`)),new Error("Invalid agent configuration for template build");try{let s=l_.convertToTemplateBuildOptions(e,r,n);P.verbose("Template build options:",s);let a;if(r.updateExisting)if(e.status?.agent_id){let l=e.status.agent_id.split("-");a=l[l.length-1],P.info("Updating existing template:",a)}else P.warn("No existing agent_id found, will create new template");else P.info("Creating new template for Agent version:",e.metadata.version);let o=await this.templateService.buildTemplate(a,s);return P.success(`Template built successfully: ${o.templateID}, buildID: ${o.buildID}`),o}catch(s){throw P.error("Failed to build template from config:",s),new Error(`Template build failed: ${s}`)}}async healthCheck(){try{return P.verbose("Novita Sandbox health check not yet implemented"),!0}catch(e){return P.warn("Novita Sandbox health check failed:",e),!1}}async validateApiKey(){try{return!this.apiKey||this.apiKey.trim()===""?(P.error("Missing Novita Sandbox API key"),!1):!0}catch(e){return P.error("API key validation failed:",e),!1}}};var nx=class{configManager;sandboxService;projectPath;constructor(e=process.cwd()){this.projectPath=e,this.configManager=new ll(e);let n=process.env.NOVITA_API_KEY!==void 0?process.env.NOVITA_API_KEY:process.env.NOVITA_API_KEY||"";this.sandboxService=new ex(n)}async execute(e={}){try{P.info("Deploying agent to Novita Sandbox..."),await this.checkPrerequisites(),await this.handleExistingDeployment(e);let n=await this.configManager.load();P.verbose(`Deploying agent: ${n.metadata.name}`);let r=await this.configManager.validate(n);if(!r.valid)throw P.error("Configuration validation failed:"),r.errors.forEach(o=>P.error(` - ${o}`)),new Error("Invalid configuration");if(!await this.sandboxService.validateApiKey())throw new Error("Missing Novita Sandbox API key. Please set NOVITA_API_KEY environment variable.");if(await this.checkServiceHealth(),e.dryRun)return P.info("Dry run completed successfully - no actual deployment performed"),{agentId:"dry-run",templateId:"dry-run",buildId:"dry-run",endpointName:"production",status:"dry-run",message:"Dry run completed"};await this.configManager.updateStatus({phase:"building",last_deployed:new Date().toISOString()});let i=await this.buildSandboxTemplate(n,e),a=`${n.metadata.name.replace(/-/g,"_")}-${i.templateID}`;return await this.configManager.updateStatus({phase:"deployed",agent_id:a,build_id:i.buildID,last_deployed:new Date().toISOString()}),P.success("Agent deployed successfully!"),P.info(`Agent: ${n.metadata.name} v${n.metadata.version}`),P.info(`Agent ID: ${a}`),{agentId:a,templateId:i.templateID,buildId:i.buildID,endpointName:"production",status:"deployed",message:"Agent deployed successfully"}}catch(n){try{await this.configManager.updateStatus({phase:"failed"})}catch(r){P.verbose("Failed to update status after error:",r)}throw P.error(`Deployment failed: ${n}`),n}}async checkPrerequisites(){P.verbose("Checking prerequisites...");let e=tx.join(this.projectPath,".novita-agent.yaml");if(!await jd.pathExists(e))throw new Error('Agent configuration not found. Please run "novita-sandbox-cli agent configure" first.');let n=tx.join(this.projectPath,"novita.Dockerfile");if(!await jd.pathExists(n))throw new Error('Dockerfile not found. Please run "novita-sandbox-cli agent configure" first.');P.verbose("Prerequisites check passed")}async handleExistingDeployment(e){let n=tx.join(this.projectPath,"novita.toml");if(await jd.pathExists(n))if(P.verbose("Found existing deployment (novita.toml)"),e.updateExisting){let{confirm:r}=await bpe.default.prompt([{type:"confirm",name:"confirm",message:"This will update the existing template. Continue?",default:!1}]);if(!r)throw new Error("Deployment cancelled by user");P.info("Updating existing template...")}else P.info("Removing existing deployment metadata to create new template..."),await jd.remove(n)}async checkServiceHealth(){P.verbose("Checking Novita Sandbox health..."),await this.sandboxService.healthCheck()?P.verbose("Novita Sandbox health check passed"):P.warn("Novita Sandbox health check failed, but continuing deployment...")}async buildSandboxTemplate(e,n){P.info("Building Sandbox template...");try{let r=await this.sandboxService.buildTemplateFromConfig(e,this.projectPath,n);return P.success(`Sandbox template built: ${r.templateID}`),r}catch(r){throw P.error("Failed to build Sandbox template:",r),r}}};function Tpe(){let t=new Ne("launch");return t.description("Deploy agent to Novita Sandbox").option("--timeout <seconds>","Deployment timeout in seconds","300").option("--no-cache","Disable build cache").option("--dry-run","Perform a dry run without actual deployment").option("--update-existing","Update existing template instead of creating new one").option("--verbose","Verbose output").action(async e=>{try{let n=process.cwd();e.verbose&&(process.env.VERBOSE="true"),P.info(`Deploying agent from: ${n}`);let i=await new nx(n).execute(e);P.success("\u{1F389} Agent deployment completed successfully! \u{1F389}"),P.info(`Agent ID: ${i.agentId}`),P.info(`Template ID: ${i.templateId}`),P.info(`Build ID: ${i.buildId}`),P.info(`Status: ${i.status}`)}catch(n){zd(n)}}),t}u();u();var fM=ee(require("path")),sx=ee($a());u();u();function sJe(t){return t.startsWith("arn:")&&t.split("/").pop()||t}function aJe(t){let e=t.lastIndexOf("-");if(e===-1)throw new Error(`Invalid agentId format. Expected 'agent_name-template_id', got: ${t}`);let n=t.substring(e+1);if(!n)throw new Error(`Invalid agentId format. Template ID cannot be empty, got: ${t}`);return n}function oJe(t){let e=t.lastIndexOf("-");if(e===-1)throw new Error(`Invalid agentId format. Expected 'agent_name-template_id', got: ${t}`);return t.substring(0,e)}function ype(t){let e=sJe(t),n=oJe(e),r=aJe(e);return{agentNameNormalized:n,templateId:r}}var rx=class{apiKey;connectionConfig;apiClient;constructor(e){this.apiKey=e,this.connectionConfig=new ct({accessToken:e}),this.apiClient=new qt(this.connectionConfig)}async invokeAgent(e,n,r){P.verbose(`Invoking agent with template: ${e}`,{input:n,options:r});try{let i={...n,timeout:r?.timeout,stream:r?.stream},s=Date.now(),a=await this.callAgent(e,i),o=(Date.now()-s)/1e3;return{result:a,sessionId:this.generateSessionId(),executionTime:o,metadata:{templateId:e,timestamp:new Date().toISOString()}}}catch(i){throw P.error("Failed to invoke agent:",i),new Error(`Agent invocation failed: ${i}`)}}async getTemplateMetadata(e){try{P.verbose("Getting template metadata",{templateId:e});let n=this.connectionConfig.getSignal(),r=await this.apiClient.api.GET("/templates",{signal:n,params:{query:{metadata:"true"}}});if(r.error){P.error("Error getting templates:",r.error);return}let s=r.data?.find(a=>a.templateID===e||a.id===e);if(s&&s.metadata)return s.metadata;P.verbose("No metadata found for template",{templateId:e});return}catch(n){P.error("Failed to get template metadata:",n);return}}async invokeAgentWithRuntime(e,n,r){P.verbose(`Invoking agent with runtime: ${e}`);let i=null;try{let s;if(e.includes("-"))s=ype(e).templateId,P.verbose(`Parsed agent_id: ${e} -> templateId: ${s}`);else throw P.error("Invalid agent_id format: ",e),new Error("Invalid agent_id format");let a=await this.getTemplateMetadata(s),o;if(a?.agent_runtime)try{let v=JSON.parse(a.agent_runtime).spec?.entrypoint;v&&(o=this.generateStartupCmd(v),P.verbose(`Generated startup command: ${o}`))}catch(x){P.warn("Failed to parse agent_runtime metadata:",x)}let l=r?.envVars||{},c=Object.keys(l).length;if(c>0?(P.info(`Creating sandbox with ${c} environment variable(s):`),Object.entries(l).forEach(([x,v])=>{let O=v.length>4?`${v.substring(0,4)}***`:"***";P.info(` ${x}=${O}`)})):P.verbose("Creating sandbox without environment variables"),i=await H0.create(s,{apiKey:this.apiKey,envs:l}),P.success(`Sandbox created: ${i.sandboxId}`),o)await this.executeStartupCmd(i,o),await this.waitForServiceReady(i,60,3);else if(P.verbose("No entrypoint found, using direct health check"),!await this.healthCheck(i))throw new Error("Agent Runtime health check failed");let d=i.getHost(8080),f=Date.now();P.verbose("Sending request to Agent:"),P.verbose(` URL: https://${d}/invocations`),P.verbose(` Payload: ${JSON.stringify(n,null,2)}`);let p=await fetch(`https://${d}/invocations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});P.info(`Response status: ${p.status} ${p.statusText}`);let m=p.headers.get("content-type")||"";if(!p.ok){let x=await p.text();throw P.error(`Error response body: ${x}`),new Error(`Agent returned status ${p.status}: ${x}`)}if(r?.stream)return P.verbose("Streaming mode enabled, returning async iterator"),this.createStreamIterator(p,i);let h=await p.text();if(P.info(`Response body (first 500 chars): ${h.substring(0,500)}`),P.info(`Response body length: ${h.length} bytes`),!h||h.trim()==="")throw P.error("Agent returned empty response (0 bytes)"),P.error("Possible causes:"),P.error(" 1. Agent code missing return statement"),P.error(" 2. Async function not awaited properly"),P.error(" 3. Exception caught but not returned"),P.error(" 4. Request payload format mismatch"),new Error("Agent returned empty response. Check agent logs for errors.");let g=m.toLowerCase().includes("text/event-stream")||m.toLowerCase().includes("application/x-ndjson");P.info(`Is streaming: ${g}`);let E;if(g){P.verbose("Detected streaming response, collecting chunks...");let x=[];for(let v of h.split(`
763
+ `),P.info("Triggering build..."),await this.triggerBuild(e,F.buildID,void 0,void 0,void 0),P.info("Waiting for build to finish..."),await this.waitForBuildFinish(e,F.buildID,v),{templateID:e,buildID:F.buildID,aliases:v?[v]:void 0}}};u();var Spe=ee(require("path"));var l_=class{static convertToTemplateBuildOptions(e,n,r){let i=new Date().toISOString().replace(/[:.]/g,"-").split(".")[0],s=`${e.metadata.name}_v${e.metadata.version.replace(/\./g,"-")}_${i}`;console.log("Original entrypoint:",e.spec.entrypoint),console.log("Project path:",r);let a=_s.getModulePath(e.spec.entrypoint),o={path:r,name:s,cmd:""};if(console.log("modulePath:",a),console.log("start cmd:",""),o.metadata={agent_runtime:JSON.stringify(e),created_by:"novita-sandbox-cli",build_timestamp:new Date().toISOString()},e.spec.runtime){let c=e.spec.runtime;if(c.cpu_limit&&(o.cpuCount=this.parseCpuLimit(c.cpu_limit)),c.memory_limit&&(o.memoryMb=this.parseMemoryLimit(c.memory_limit)),c.timeout){let d=_s.getModulePath(e.spec.entrypoint);o.readyCmd=`timeout ${c.timeout}s python -c "import ${d}; print('Agent ready')" || exit 1`}}n.cache!==void 0&&(o.noCache=!n.cache);let l=n;return l.dockerfile&&(o.dockerfile=l.dockerfile),l.cpuCount&&(o.cpuCount=l.cpuCount),l.memoryMb&&(o.memoryMb=l.memoryMb),l.buildArg&&(o.buildArg=l.buildArg),l.image&&(o.image=l.image),l.username&&(o.username=l.username),l.password&&(o.password=l.password),l.team&&(o.team=l.team),l.readyCmd&&(o.readyCmd=l.readyCmd),P.verbose("Converted AgentConfig to TemplateBuildOptions:",{agentName:e.metadata.name,templateName:s,entrypoint:e.spec.entrypoint,hasAgentRuntime:!!o.metadata?.agent_runtime,runtime:{cpuCount:o.cpuCount,memoryMb:o.memoryMb,readyCmd:o.readyCmd}}),o}static parseCpuLimit(e){return e.endsWith("m")?Math.ceil(parseInt(e.slice(0,-1))/1e3):Math.ceil(parseFloat(e))}static parseMemoryLimit(e){let n=e.toLowerCase();if(n.endsWith("gi")){let i=parseFloat(n.slice(0,-2));return Math.ceil(i*1024)}if(n.endsWith("g")){let i=parseFloat(n.slice(0,-1));return Math.ceil(i*1e3)}if(n.endsWith("mi"))return Math.ceil(parseFloat(n.slice(0,-2)));if(n.endsWith("m"))return Math.ceil(parseFloat(n.slice(0,-1)));let r=parseInt(e);return Math.ceil(r/(1024*1024))}static getDockerfilePath(e,n){return Spe.join(n,"novita.Dockerfile")}static validateForTemplateBuild(e){let n=[];if(e.metadata.name||n.push("Agent name is required for template build"),e.metadata.author||n.push("Agent author email is required for template build"),e.spec.entrypoint||n.push("Agent entrypoint is required for template build"),e.metadata.name&&!/^[a-z0-9-]+$/.test(e.metadata.name)&&n.push("Agent name must contain only lowercase letters, numbers, and hyphens"),e.metadata.author&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.metadata.author)&&n.push("Invalid author email format"),e.spec.entrypoint&&!e.spec.entrypoint.endsWith(".py")&&n.push("Agent entrypoint must be a Python file (.py)"),e.spec.runtime){let r=e.spec.runtime;if(r.timeout&&(r.timeout<=0||r.timeout>3600)&&n.push(`Invalid timeout value: ${r.timeout}. Must be between 1 and 3600 seconds`),r.cpu_limit)try{this.parseCpuLimit(r.cpu_limit)}catch{n.push(`Invalid CPU limit format: ${r.cpu_limit}. Expected formats: "1", "1000m", "2.5"`)}if(r.memory_limit)try{this.parseMemoryLimit(r.memory_limit)}catch{n.push(`Invalid memory limit format: ${r.memory_limit}. Expected formats: "512Mi", "1Gi", "512M"`)}}return{valid:n.length===0,errors:n}}};var tJe="us-phx-1.sandbox.novita.ai";var nJe=["sandbox.novita.ai","us-01.sandbox.novita.ai","us-ga-01.sandbox.novita.ai"],rJe="1.2.3-a1";function iJe(t){if(nJe.includes(t))throw new Error(`The current SDK version does not support the domain you provided: ${t}. Please use version ${rJe}.`)}var ex=class{apiKey;domain;templateService;constructor(e,n){this.apiKey=e,this.domain=n||process.env.NOVITA_DOMAIN||tJe,iJe(this.domain),this.templateService=new Jy}async listTemplates(e){P.verbose("Listing sandbox templates...",e);try{return P.warn("Template listing not yet implemented with Novita Sandbox SDK"),[]}catch(n){throw P.error("Failed to list templates:",n),new Error(`Template listing failed: ${n}`)}}async getTemplate(e){P.verbose(`Getting template: ${e}`);try{return P.warn("Template details not yet implemented with Novita Sandbox SDK"),{id:e,name:"unknown",created_at:new Date().toISOString(),status:"ready"}}catch(n){throw P.error("Failed to get template:",n),new Error(`Template retrieval failed: ${n}`)}}async deleteTemplate(e){P.verbose(`Deleting template: ${e}`);try{P.warn("Template deletion not yet implemented with Novita Sandbox SDK")}catch(n){throw P.error("Failed to delete template:",n),new Error(`Template deletion failed: ${n}`)}}async buildTemplateFromConfig(e,n,r={}){P.info("Building template from agent configuration...");let i=l_.validateForTemplateBuild(e);if(!i.valid)throw P.error("Agent configuration validation failed:"),i.errors.forEach(s=>P.error(` - ${s}`)),new Error("Invalid agent configuration for template build");try{let s=l_.convertToTemplateBuildOptions(e,r,n);P.verbose("Template build options:",s);let a;if(r.updateExisting)if(e.status?.agent_id){let l=e.status.agent_id.split("-");a=l[l.length-1],P.info("Updating existing template:",a)}else P.warn("No existing agent_id found, will create new template");else P.info("Creating new template for Agent version:",e.metadata.version);let o=await this.templateService.buildTemplate(a,s);return P.success(`Template built successfully: ${o.templateID}, buildID: ${o.buildID}`),o}catch(s){throw P.error("Failed to build template from config:",s),new Error(`Template build failed: ${s}`)}}async healthCheck(){try{return P.verbose("Novita Sandbox health check not yet implemented"),!0}catch(e){return P.warn("Novita Sandbox health check failed:",e),!1}}async validateApiKey(){try{return!this.apiKey||this.apiKey.trim()===""?(P.error("Missing Novita Sandbox API key"),!1):!0}catch(e){return P.error("API key validation failed:",e),!1}}};var nx=class{configManager;sandboxService;projectPath;constructor(e=process.cwd()){this.projectPath=e,this.configManager=new ll(e);let n=process.env.NOVITA_API_KEY!==void 0?process.env.NOVITA_API_KEY:process.env.NOVITA_API_KEY||"";this.sandboxService=new ex(n)}async execute(e={}){try{P.info("Deploying agent to Novita Sandbox..."),await this.checkPrerequisites(),await this.handleExistingDeployment(e);let n=await this.configManager.load();P.verbose(`Deploying agent: ${n.metadata.name}`);let r=await this.configManager.validate(n);if(!r.valid)throw P.error("Configuration validation failed:"),r.errors.forEach(o=>P.error(` - ${o}`)),new Error("Invalid configuration");if(!await this.sandboxService.validateApiKey())throw new Error("Missing Novita Sandbox API key. Please set NOVITA_API_KEY environment variable.");if(await this.checkServiceHealth(),e.dryRun)return P.info("Dry run completed successfully - no actual deployment performed"),{agentId:"dry-run",templateId:"dry-run",buildId:"dry-run",endpointName:"production",status:"dry-run",message:"Dry run completed"};await this.configManager.updateStatus({phase:"building",last_deployed:new Date().toISOString()});let i=await this.buildSandboxTemplate(n,e),a=`${n.metadata.name.replace(/-/g,"_")}-${i.templateID}`;return await this.configManager.updateStatus({phase:"deployed",agent_id:a,build_id:i.buildID,last_deployed:new Date().toISOString()}),P.success("Agent deployed successfully!"),P.info(`Agent: ${n.metadata.name} v${n.metadata.version}`),P.info(`Agent ID: ${a}`),{agentId:a,templateId:i.templateID,buildId:i.buildID,endpointName:"production",status:"deployed",message:"Agent deployed successfully"}}catch(n){try{await this.configManager.updateStatus({phase:"failed"})}catch(r){P.verbose("Failed to update status after error:",r)}throw P.error(`Deployment failed: ${n}`),n}}async checkPrerequisites(){P.verbose("Checking prerequisites...");let e=tx.join(this.projectPath,".novita-agent.yaml");if(!await jd.pathExists(e))throw new Error('Agent configuration not found. Please run "novita-sandbox-cli agent configure" first.');let n=tx.join(this.projectPath,"novita.Dockerfile");if(!await jd.pathExists(n))throw new Error('Dockerfile not found. Please run "novita-sandbox-cli agent configure" first.');P.verbose("Prerequisites check passed")}async handleExistingDeployment(e){let n=tx.join(this.projectPath,"novita.toml");if(await jd.pathExists(n))if(P.verbose("Found existing deployment (novita.toml)"),e.updateExisting){let{confirm:r}=await bpe.default.prompt([{type:"confirm",name:"confirm",message:"This will update the existing template. Continue?",default:!1}]);if(!r)throw new Error("Deployment cancelled by user");P.info("Updating existing template...")}else P.info("Removing existing deployment metadata to create new template..."),await jd.remove(n)}async checkServiceHealth(){P.verbose("Checking Novita Sandbox health..."),await this.sandboxService.healthCheck()?P.verbose("Novita Sandbox health check passed"):P.warn("Novita Sandbox health check failed, but continuing deployment...")}async buildSandboxTemplate(e,n){P.info("Building Sandbox template...");try{let r=await this.sandboxService.buildTemplateFromConfig(e,this.projectPath,n);return P.success(`Sandbox template built: ${r.templateID}`),r}catch(r){throw P.error("Failed to build Sandbox template:",r),r}}};function Tpe(){let t=new Ne("launch");return t.description("Deploy agent to Novita Sandbox").option("--timeout <seconds>","Deployment timeout in seconds","300").option("--no-cache","Disable build cache").option("--dry-run","Perform a dry run without actual deployment").option("--update-existing","Update existing template instead of creating new one").option("--verbose","Verbose output").action(async e=>{try{let n=process.cwd();e.verbose&&(process.env.VERBOSE="true"),P.info(`Deploying agent from: ${n}`);let i=await new nx(n).execute(e);P.success("\u{1F389} Agent deployment completed successfully! \u{1F389}"),P.info(`Agent ID: ${i.agentId}`),P.info(`Template ID: ${i.templateId}`),P.info(`Build ID: ${i.buildId}`),P.info(`Status: ${i.status}`)}catch(n){zd(n)}}),t}u();u();var fM=ee(require("path")),sx=ee($a());u();u();function sJe(t){return t.startsWith("arn:")&&t.split("/").pop()||t}function aJe(t){let e=t.lastIndexOf("-");if(e===-1)throw new Error(`Invalid agentId format. Expected 'agent_name-template_id', got: ${t}`);let n=t.substring(e+1);if(!n)throw new Error(`Invalid agentId format. Template ID cannot be empty, got: ${t}`);return n}function oJe(t){let e=t.lastIndexOf("-");if(e===-1)throw new Error(`Invalid agentId format. Expected 'agent_name-template_id', got: ${t}`);return t.substring(0,e)}function ype(t){let e=sJe(t),n=oJe(e),r=aJe(e);return{agentNameNormalized:n,templateId:r}}var rx=class{apiKey;connectionConfig;apiClient;constructor(e){this.apiKey=e,this.connectionConfig=new ct({accessToken:e}),this.apiClient=new qt(this.connectionConfig)}async invokeAgent(e,n,r){P.verbose(`Invoking agent with template: ${e}`,{input:n,options:r});try{let i={...n,timeout:r?.timeout,stream:r?.stream},s=Date.now(),a=await this.callAgent(e,i),o=(Date.now()-s)/1e3;return{result:a,sessionId:this.generateSessionId(),executionTime:o,metadata:{templateId:e,timestamp:new Date().toISOString()}}}catch(i){throw P.error("Failed to invoke agent:",i),new Error(`Agent invocation failed: ${i}`)}}async getTemplateMetadata(e){try{P.verbose("Getting template metadata",{templateId:e});let n=this.connectionConfig.getSignal(),r=await this.apiClient.api.GET("/templates",{signal:n,params:{query:{metadata:"true"}}});if(r.error){P.error("Error getting templates:",r.error);return}let s=r.data?.find(a=>a.templateID===e||a.id===e);if(s&&s.metadata)return s.metadata;P.verbose("No metadata found for template",{templateId:e});return}catch(n){P.error("Failed to get template metadata:",n);return}}async invokeAgentWithRuntime(e,n,r){P.verbose(`Invoking agent with runtime: ${e}`);let i=null;try{let s;if(e.includes("-"))s=ype(e).templateId,P.verbose(`Parsed agent_id: ${e} -> templateId: ${s}`);else throw P.error("Invalid agent_id format: ",e),new Error("Invalid agent_id format");let a=await this.getTemplateMetadata(s),o;if(a?.agent_runtime)try{let v=JSON.parse(a.agent_runtime).spec?.entrypoint;v&&(o=this.generateStartupCmd(v),P.verbose(`Generated startup command: ${o}`))}catch(x){P.warn("Failed to parse agent_runtime metadata:",x)}let l=r?.envVars||{},c=Object.keys(l).length;if(c>0?(P.info(`Creating sandbox with ${c} environment variable(s):`),Object.entries(l).forEach(([x,v])=>{let O=v.length>4?`${v.substring(0,4)}***`:"***";P.info(` ${x}=${O}`)})):P.verbose("Creating sandbox without environment variables"),i=await H0.create(s,{apiKey:this.apiKey,envs:l}),P.success(`Sandbox created: ${i.sandboxId}`),o)await this.executeStartupCmd(i,o),await this.waitForServiceReady(i,60,3);else if(P.verbose("No entrypoint found, using direct health check"),!await this.healthCheck(i))throw new Error("Agent Runtime health check failed");let d=i.getHost(8080),f=Date.now();P.verbose("Sending request to Agent:"),P.verbose(` URL: https://${d}/invocations`),P.verbose(` Payload: ${JSON.stringify(n,null,2)}`);let p=await fetch(`https://${d}/invocations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});P.info(`Response status: ${p.status} ${p.statusText}`);let m=p.headers.get("content-type")||"";if(!p.ok){let x=await p.text();throw P.error(`Error response body: ${x}`),new Error(`Agent returned status ${p.status}: ${x}`)}if(r?.stream)return P.verbose("Streaming mode enabled, returning async iterator"),this.createStreamIterator(p,i);let h=await p.text();if(P.info(`Response body (first 500 chars): ${h.substring(0,500)}`),P.info(`Response body length: ${h.length} bytes`),!h||h.trim()==="")throw P.error("Agent returned empty response (0 bytes)"),P.error("Possible causes:"),P.error(" 1. Agent code missing return statement"),P.error(" 2. Async function not awaited properly"),P.error(" 3. Exception caught but not returned"),P.error(" 4. Request payload format mismatch"),new Error("Agent returned empty response. Check agent logs for errors.");let g=m.toLowerCase().includes("text/event-stream")||m.toLowerCase().includes("application/x-ndjson");P.info(`Is streaming: ${g}`);let E;if(g){P.verbose("Detected streaming response, collecting chunks...");let x=[];for(let v of h.split(`
764
764
  `))if(v.startsWith("data: ")){let O=v.substring(6).trim();O&&x.push(O)}E=x.join(""),P.verbose(`Collected ${x.length} chunks`)}else{P.verbose("Detected non-streaming response, parsing JSON...");try{E=JSON.parse(h),P.verbose("JSON parsed successfully")}catch(x){throw P.error(`Failed to parse JSON: ${x}`),P.error(`Raw response text: ${h}`),new Error(`Failed to parse response as JSON: ${x}`)}}let b=(Date.now()-f)/1e3;return{result:E,sessionId:i.sandboxId,executionTime:b,metadata:{templateId:s,agentId:e,timestamp:new Date().toISOString()}}}catch(s){if(P.error("Failed to invoke agent with runtime:",s),i&&!r?.stream)try{P.verbose("Killing sandbox after error..."),await i.kill(),P.verbose("Sandbox killed successfully")}catch(a){P.warn("Failed to kill sandbox:",a)}throw new Error(`Agent invocation failed: ${s}`)}finally{if(i&&!r?.stream)try{P.verbose("Killing sandbox..."),await i.kill(),P.verbose("Sandbox killed successfully")}catch(s){P.warn("Failed to kill sandbox:",s)}}}async*createStreamIterator(e,n){if(!e.body)throw new Error("Response body is null");let r=e.body.getReader(),i=new TextDecoder;try{for(;;){let{done:s,value:a}=await r.read();if(s)break;let o=i.decode(a,{stream:!0});for(let l of o.split(`
765
765
  `))if(l.startsWith("data: ")){let c=l.substring(6).trim();c&&c!=="[DONE]"&&(yield c)}else l.trim()&&!l.startsWith(":")&&(yield l)}}finally{r.releaseLock();try{P.verbose("Killing sandbox after streaming..."),await n.kill(),P.verbose("Sandbox killed successfully")}catch(s){P.warn("Failed to kill sandbox:",s)}}}async healthCheck(e){try{let n=e.getHost(8080);P.verbose("Health check host:",n);let i=await(await fetch(`https://${n}/ping`,{method:"GET"})).json();return P.verbose("Health check response:",i),i.status?.toLowerCase()==="healthy"}catch(n){return P.warn("Agent Runtime health check failed:",n),!1}}generateStartupCmd(e){return`cd /app && sudo -E python ${e}`}async executeStartupCmd(e,n){try{P.verbose(`Executing startup command: ${n}`),await e.commands.run(n,{background:!0}),P.verbose("Startup command executed in background")}catch(r){throw P.error("Failed to execute startup command:",r),new Error(`Startup command execution failed: ${r}`)}}async waitForServiceReady(e,n=60,r=3){let i=Date.now();for(P.verbose(`Waiting for service to be ready (timeout: ${n}s)...`);;){if((Date.now()-i)/1e3>=n)throw new Error(`Service failed to start within ${n} seconds`);try{let a=await this.healthCheck(e);if(P.verbose("Service health check:",a),a){P.verbose("Service is ready");return}}catch(a){P.verbose("Service health check failed:",a)}await this.sleep(r*1e3)}}sleep(e){return new Promise(n=>setTimeout(n,e))}async callAgent(e,n){let r=await H0.create(e,{apiKey:this.apiKey});if(!await this.healthCheck(r))throw new Error("Agent Runtime health check failed");let s=r.getHost(8080);return(await fetch(`https://${s}/invocations`,{method:"POST",body:JSON.stringify(n)})).json()}generateSessionId(){return`session-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}async validateApiKey(){try{return!this.apiKey||this.apiKey.trim()===""?(P.error("Missing Novita Sandbox API key"),!1):!0}catch(e){return P.error("API key validation failed:",e),!1}}};var ix=class{configManager;runtimeService;projectPath;constructor(e=process.cwd()){this.projectPath=e,this.configManager=new ll(e);let n=process.env.NOVITA_API_KEY!==void 0?process.env.NOVITA_API_KEY:process.env.NOVITA_API_KEY||"";this.runtimeService=new rx(n)}async execute(e,n={}){try{await this.checkEnv();let r=await this.getAgentId(n),i=await this.mergeEnvVars(n),s=this.prepareInput(e,i);if(i.stream)await this.handleStreamingInvocation(r,s,i);else{let a=await this.runtimeService.invokeAgentWithRuntime(r,s,i);if(this.isAsyncIterable(a))throw new Error("Unexpected streaming response in non-streaming mode");return P.success("Agent invoked successfully!"),P.info(`Agent ID: ${r}`),P.info(`Session ID: ${a.sessionId}`),P.info(`Execution Time: ${a.executionTime}s`),a}}catch(r){throw P.error(`Invocation failed: ${r}`),r}}async handleStreamingInvocation(e,n,r){P.info("Starting streaming invocation...");let i=await this.runtimeService.invokeAgentWithRuntime(e,n,r);if(this.isAsyncIterable(i))await this.handleStreamResponse(i);else throw new Error("Expected streaming response but got non-streaming response")}isAsyncIterable(e){return e&&typeof e[Symbol.asyncIterator]=="function"}async handleStreamResponse(e){try{console.log(`
766
766
  --- Streaming Response ---`);for await(let n of e)process.stdout.write(n);console.log(`