nemar-cli 0.3.7-dev.121 → 0.3.7-dev.132
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 +5 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -88,7 +88,7 @@ ${oN.default.cursorShow}`)}releaseCursor(){if(this.extraLinesUnderPrompt>0)EQ(th
|
|
|
88
88
|
${F}`,A8D=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Z8D=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),U8D=(D,F,$)=>{let B=$===""?"":`with ${$.trim()}() `,J=V8D.bind(null,B,F.toString());Object.defineProperty(J,"name",Z8D);let{writable:Q,enumerable:Y,configurable:X}=A8D;Object.defineProperty(D,"toString",{value:J,writable:Q,enumerable:Y,configurable:X})};function Z3(D,F,{ignoreNonConfigurable:$=!1}={}){let{name:B}=D;for(let J of Reflect.ownKeys(F))q8D(D,F,J,$);return z8D(D,F),U8D(D,F,B),D}var F7=new WeakMap,aR=(D,F={})=>{if(typeof D!=="function")throw TypeError("Expected a function");let $,B=0,J=D.displayName||D.name||"<anonymous>",Q=function(...Y){if(F7.set(Q,++B),B===1)$=D.apply(this,Y),D=void 0;else if(F.throw===!0)throw Error(`Function \`${J}\` can only be called once`);return $};return Z3(Q,D),F7.set(Q,B),Q};aR.callCount=(D)=>{if(!F7.has(D))throw Error(`The given function \`${D.name}\` is not wrapped by the \`onetime\` package`);return F7.get(D)};var oR=aR;var L6=[];L6.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")L6.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")L6.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var $7=(D)=>!!D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function",HY=Symbol.for("signal-exit emitter"),WY=globalThis,L8D=Object.defineProperty.bind(Object);class sR{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(WY[HY])return WY[HY];L8D(WY,HY,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,F){this.listeners[D].push(F)}removeListener(D,F){let $=this.listeners[D],B=$.indexOf(F);if(B===-1)return;if(B===0&&$.length===1)$.length=0;else $.splice(B,1)}emit(D,F,$){if(this.emitted[D])return!1;this.emitted[D]=!0;let B=!1;for(let J of this.listeners[D])B=J(F,$)===!0||B;if(D==="exit")B=this.emit("afterExit",F,$)||B;return B}}class qY{}var M8D=(D)=>{return{onExit(F,$){return D.onExit(F,$)},load(){return D.load()},unload(){return D.unload()}}};class rR extends qY{onExit(){return()=>{}}load(){}unload(){}}class tR extends qY{#$=EY.platform==="win32"?"SIGINT":"SIGHUP";#F=new sR;#D;#J;#q;#B={};#Y=!1;constructor(D){super();this.#D=D,this.#B={};for(let F of L6)this.#B[F]=()=>{let $=this.#D.listeners(F),{count:B}=this.#F,J=D;if(typeof J.__signal_exit_emitter__==="object"&&typeof J.__signal_exit_emitter__.count==="number")B+=J.__signal_exit_emitter__.count;if($.length===B){this.unload();let Q=this.#F.emit("exit",null,F),Y=F==="SIGHUP"?this.#$:F;if(!Q)D.kill(D.pid,Y)}};this.#q=D.reallyExit,this.#J=D.emit}onExit(D,F){if(!$7(this.#D))return()=>{};if(this.#Y===!1)this.load();let $=F?.alwaysLast?"afterExit":"exit";return this.#F.on($,D),()=>{if(this.#F.removeListener($,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#Y)return;this.#Y=!0,this.#F.count+=1;for(let D of L6)try{let F=this.#B[D];if(F)this.#D.on(D,F)}catch(F){}this.#D.emit=(D,...F)=>{return this.#K(D,...F)},this.#D.reallyExit=(D)=>{return this.#Q(D)}}unload(){if(!this.#Y)return;this.#Y=!1,L6.forEach((D)=>{let F=this.#B[D];if(!F)throw Error("Listener not defined for signal: "+D);try{this.#D.removeListener(D,F)}catch($){}}),this.#D.emit=this.#J,this.#D.reallyExit=this.#q,this.#F.count-=1}#Q(D){if(!$7(this.#D))return 0;return this.#D.exitCode=D||0,this.#F.emit("exit",this.#D.exitCode,null),this.#q.call(this.#D,this.#D.exitCode)}#K(D,...F){let $=this.#J;if(D==="exit"&&$7(this.#D)){if(typeof F[0]==="number")this.#D.exitCode=F[0];let B=$.call(this.#D,D,...F);return this.#F.emit("exit",this.#D.exitCode,null),B}else return $.call(this.#D,D,...F)}}var EY=globalThis.process,{onExit:eR,load:wAD,unload:TAD}=M8D($7(EY)?new tR(EY):new rR);var Dw=B7.stderr.isTTY?B7.stderr:B7.stdout.isTTY?B7.stdout:void 0,N8D=Dw?oR(()=>{eR(()=>{Dw.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Fw=N8D;var J7=!1,b4={};b4.show=(D=$w.stderr)=>{if(!D.isTTY)return;J7=!1,D.write("\x1B[?25h")};b4.hide=(D=$w.stderr)=>{if(!D.isTTY)return;Fw(),J7=!0,D.write("\x1B[?25l")};b4.toggle=(D,F)=>{if(D!==void 0)J7=D;if(J7)b4.show(F);else b4.hide(F)};var KY=b4;var M3=d(e5(),1);import F1 from"process";function zY(){if(F1.platform!=="win32")return F1.env.TERM!=="linux";return Boolean(F1.env.CI)||Boolean(F1.env.WT_SESSION)||Boolean(F1.env.TERMINUS_SUBLIME)||F1.env.ConEmuTask==="{cmd::Cmder}"||F1.env.TERM_PROGRAM==="Terminus-Sublime"||F1.env.TERM_PROGRAM==="vscode"||F1.env.TERM==="xterm-256color"||F1.env.TERM==="alacritty"||F1.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var C8D={info:E.blue("\u2139"),success:E.green("\u2714"),warning:E.yellow("\u26A0"),error:E.red("\u2716")},R8D={info:E.blue("i"),success:E.green("\u221A"),warning:E.yellow("\u203C"),error:E.red("\xD7")},w8D=zY()?C8D:R8D,U3=w8D;function VY({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var T8D=VY();function L3(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(T8D,"")}function Bw(D){return D===161||D===164||D===167||D===168||D===170||D===173||D===174||D>=176&&D<=180||D>=182&&D<=186||D>=188&&D<=191||D===198||D===208||D===215||D===216||D>=222&&D<=225||D===230||D>=232&&D<=234||D===236||D===237||D===240||D===242||D===243||D>=247&&D<=250||D===252||D===254||D===257||D===273||D===275||D===283||D===294||D===295||D===299||D>=305&&D<=307||D===312||D>=319&&D<=322||D===324||D>=328&&D<=331||D===333||D===338||D===339||D===358||D===359||D===363||D===462||D===464||D===466||D===468||D===470||D===472||D===474||D===476||D===593||D===609||D===708||D===711||D>=713&&D<=715||D===717||D===720||D>=728&&D<=731||D===733||D===735||D>=768&&D<=879||D>=913&&D<=929||D>=931&&D<=937||D>=945&&D<=961||D>=963&&D<=969||D===1025||D>=1040&&D<=1103||D===1105||D===8208||D>=8211&&D<=8214||D===8216||D===8217||D===8220||D===8221||D>=8224&&D<=8226||D>=8228&&D<=8231||D===8240||D===8242||D===8243||D===8245||D===8251||D===8254||D===8308||D===8319||D>=8321&&D<=8324||D===8364||D===8451||D===8453||D===8457||D===8467||D===8470||D===8481||D===8482||D===8486||D===8491||D===8531||D===8532||D>=8539&&D<=8542||D>=8544&&D<=8555||D>=8560&&D<=8569||D===8585||D>=8592&&D<=8601||D===8632||D===8633||D===8658||D===8660||D===8679||D===8704||D===8706||D===8707||D===8711||D===8712||D===8715||D===8719||D===8721||D===8725||D===8730||D>=8733&&D<=8736||D===8739||D===8741||D>=8743&&D<=8748||D===8750||D>=8756&&D<=8759||D===8764||D===8765||D===8776||D===8780||D===8786||D===8800||D===8801||D>=8804&&D<=8807||D===8810||D===8811||D===8814||D===8815||D===8834||D===8835||D===8838||D===8839||D===8853||D===8857||D===8869||D===8895||D===8978||D>=9312&&D<=9449||D>=9451&&D<=9547||D>=9552&&D<=9587||D>=9600&&D<=9615||D>=9618&&D<=9621||D===9632||D===9633||D>=9635&&D<=9641||D===9650||D===9651||D===9654||D===9655||D===9660||D===9661||D===9664||D===9665||D>=9670&&D<=9672||D===9675||D>=9678&&D<=9681||D>=9698&&D<=9701||D===9711||D===9733||D===9734||D===9737||D===9742||D===9743||D===9756||D===9758||D===9792||D===9794||D===9824||D===9825||D>=9827&&D<=9829||D>=9831&&D<=9834||D===9836||D===9837||D===9839||D===9886||D===9887||D===9919||D>=9926&&D<=9933||D>=9935&&D<=9939||D>=9941&&D<=9953||D===9955||D===9960||D===9961||D>=9963&&D<=9969||D===9972||D>=9974&&D<=9977||D===9979||D===9980||D===9982||D===9983||D===10045||D>=10102&&D<=10111||D>=11094&&D<=11097||D>=12872&&D<=12879||D>=57344&&D<=63743||D>=65024&&D<=65039||D===65533||D>=127232&&D<=127242||D>=127248&&D<=127277||D>=127280&&D<=127337||D>=127344&&D<=127373||D===127375||D===127376||D>=127387&&D<=127404||D>=917760&&D<=917999||D>=983040&&D<=1048573||D>=1048576&&D<=1114109}function Jw(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function Qw(D){return D>=4352&&D<=4447||D===8986||D===8987||D===9001||D===9002||D>=9193&&D<=9196||D===9200||D===9203||D===9725||D===9726||D===9748||D===9749||D>=9776&&D<=9783||D>=9800&&D<=9811||D===9855||D>=9866&&D<=9871||D===9875||D===9889||D===9898||D===9899||D===9917||D===9918||D===9924||D===9925||D===9934||D===9940||D===9962||D===9970||D===9971||D===9973||D===9978||D===9981||D===9989||D===9994||D===9995||D===10024||D===10060||D===10062||D>=10067&&D<=10069||D===10071||D>=10133&&D<=10135||D===10160||D===10175||D===11035||D===11036||D===11088||D===11093||D>=11904&&D<=11929||D>=11931&&D<=12019||D>=12032&&D<=12245||D>=12272&&D<=12287||D>=12289&&D<=12350||D>=12353&&D<=12438||D>=12441&&D<=12543||D>=12549&&D<=12591||D>=12593&&D<=12686||D>=12688&&D<=12773||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=42124||D>=42128&&D<=42182||D>=43360&&D<=43388||D>=44032&&D<=55203||D>=63744&&D<=64255||D>=65040&&D<=65049||D>=65072&&D<=65106||D>=65108&&D<=65126||D>=65128&&D<=65131||D>=94176&&D<=94180||D>=94192&&D<=94198||D>=94208&&D<=101589||D>=101631&&D<=101662||D>=101760&&D<=101874||D>=110576&&D<=110579||D>=110581&&D<=110587||D===110589||D===110590||D>=110592&&D<=110882||D===110898||D>=110928&&D<=110930||D===110933||D>=110948&&D<=110951||D>=110960&&D<=111355||D>=119552&&D<=119638||D>=119648&&D<=119670||D===126980||D===127183||D===127374||D>=127377&&D<=127386||D>=127488&&D<=127490||D>=127504&&D<=127547||D>=127552&&D<=127560||D===127568||D===127569||D>=127584&&D<=127589||D>=127744&&D<=127776||D>=127789&&D<=127797||D>=127799&&D<=127868||D>=127870&&D<=127891||D>=127904&&D<=127946||D>=127951&&D<=127955||D>=127968&&D<=127984||D===127988||D>=127992&&D<=128062||D===128064||D>=128066&&D<=128252||D>=128255&&D<=128317||D>=128331&&D<=128334||D>=128336&&D<=128359||D===128378||D===128405||D===128406||D===128420||D>=128507&&D<=128591||D>=128640&&D<=128709||D===128716||D>=128720&&D<=128722||D>=128725&&D<=128728||D>=128732&&D<=128735||D===128747||D===128748||D>=128756&&D<=128764||D>=128992&&D<=129003||D===129008||D>=129292&&D<=129338||D>=129340&&D<=129349||D>=129351&&D<=129535||D>=129648&&D<=129660||D>=129664&&D<=129674||D>=129678&&D<=129734||D===129736||D>=129741&&D<=129756||D>=129759&&D<=129770||D>=129775&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function O8D(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function Yw(D,{ambiguousAsWide:F=!1}={}){if(O8D(D),Jw(D)||Qw(D)||F&&Bw(D))return 2;return 1}var Xw=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g};var j8D=new Intl.Segmenter,I8D=/^\p{Default_Ignorable_Code_Point}$/u;function AY(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:$=!0,countAnsiEscapeCodes:B=!1}=F;if(!B)D=L3(D);if(D.length===0)return 0;let J=0,Q={ambiguousAsWide:!$};for(let{segment:Y}of j8D.segment(D)){let X=Y.codePointAt(0);if(X<=31||X>=127&&X<=159)continue;if(X>=8203&&X<=8207||X===65279)continue;if(X>=768&&X<=879||X>=6832&&X<=6911||X>=7616&&X<=7679||X>=8400&&X<=8447||X>=65056&&X<=65071)continue;if(X>=55296&&X<=57343)continue;if(X>=65024&&X<=65039)continue;if(I8D.test(Y))continue;if(Xw().test(Y)){J+=2;continue}J+=Yw(X,Q)}return J}function ZY({stream:D=process.stdout}={}){return Boolean(D&&D.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import Gw from"process";function UY(){let{env:D}=Gw,{TERM:F,TERM_PROGRAM:$}=D;if(Gw.platform!=="win32")return F!=="linux";return Boolean(D.WT_SESSION)||Boolean(D.TERMINUS_SUBLIME)||D.ConEmuTask==="{cmd::Cmder}"||$==="Terminus-Sublime"||$==="vscode"||F==="xterm-256color"||F==="alacritty"||F==="rxvt-unicode"||F==="rxvt-unicode-256color"||D.TERMINAL_EMULATOR==="JetBrains-JediTerm"}import k1 from"process";var P8D=3;class Hw{#$=0;start(){if(this.#$++,this.#$===1)this.#F()}stop(){if(this.#$<=0)throw Error("`stop` called more times than `start`");if(this.#$--,this.#$===0)this.#D()}#F(){if(k1.platform==="win32"||!k1.stdin.isTTY)return;k1.stdin.setRawMode(!0),k1.stdin.on("data",this.#J),k1.stdin.resume()}#D(){if(!k1.stdin.isTTY)return;k1.stdin.off("data",this.#J),k1.stdin.pause(),k1.stdin.setRawMode(!1)}#J(D){if(D[0]===P8D)k1.emit("SIGINT")}}var S8D=new Hw,LY=S8D;var k8D=d(e5(),1);class Ww{#$=0;#F=!1;#D=0;#J=-1;#q=0;#B;#Y;#Q;#K;#V;#H;#W;#E;#A;#X;#G;color;constructor(D){if(typeof D==="string")D={text:D};if(this.#B={color:"cyan",stream:Q7.stderr,discardStdin:!0,hideCursor:!0,...D},this.color=this.#B.color,this.spinner=this.#B.spinner,this.#V=this.#B.interval,this.#Q=this.#B.stream,this.#H=typeof this.#B.isEnabled==="boolean"?this.#B.isEnabled:ZY({stream:this.#Q}),this.#W=typeof this.#B.isSilent==="boolean"?this.#B.isSilent:!1,this.text=this.#B.text,this.prefixText=this.#B.prefixText,this.suffixText=this.#B.suffixText,this.indent=this.#B.indent,Q7.env.NODE_ENV==="test")this._stream=this.#Q,this._isEnabled=this.#H,Object.defineProperty(this,"_linesToClear",{get(){return this.#$},set(F){this.#$=F}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#J}}),Object.defineProperty(this,"_lineCount",{get(){return this.#D}})}get indent(){return this.#E}set indent(D=0){if(!(D>=0&&Number.isInteger(D)))throw Error("The `indent` option must be an integer from 0 and up");this.#E=D,this.#z()}get interval(){return this.#V??this.#Y.interval??100}get spinner(){return this.#Y}set spinner(D){if(this.#J=-1,this.#V=void 0,typeof D==="object"){if(D.frames===void 0)throw Error("The given spinner must have a `frames` property");this.#Y=D}else if(!UY())this.#Y=M3.default.line;else if(D===void 0)this.#Y=M3.default.dots;else if(D!=="default"&&M3.default[D])this.#Y=M3.default[D];else throw Error(`There is no built-in spinner named '${D}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#A}set text(D=""){this.#A=D,this.#z()}get prefixText(){return this.#X}set prefixText(D=""){this.#X=D,this.#z()}get suffixText(){return this.#G}set suffixText(D=""){this.#G=D,this.#z()}get isSpinning(){return this.#K!==void 0}#Z(D=this.#X,F=" "){if(typeof D==="string"&&D!=="")return D+F;if(typeof D==="function")return D()+F;return""}#U(D=this.#G,F=" "){if(typeof D==="string"&&D!=="")return F+D;if(typeof D==="function")return F+D();return""}#z(){let D=this.#Q.columns??80,F=this.#Z(this.#X,"-"),$=this.#U(this.#G,"-"),B=" ".repeat(this.#E)+F+"--"+this.#A+"--"+$;this.#D=0;for(let J of L3(B).split(`
|
|
89
89
|
`))this.#D+=Math.max(1,Math.ceil(AY(J,{countAnsiEscapeCodes:!0})/D))}get isEnabled(){return this.#H&&!this.#W}set isEnabled(D){if(typeof D!=="boolean")throw TypeError("The `isEnabled` option must be a boolean");this.#H=D}get isSilent(){return this.#W}set isSilent(D){if(typeof D!=="boolean")throw TypeError("The `isSilent` option must be a boolean");this.#W=D}frame(){let D=Date.now();if(this.#J===-1||D-this.#q>=this.interval)this.#J=++this.#J%this.#Y.frames.length,this.#q=D;let{frames:F}=this.#Y,$=F[this.#J];if(this.color)$=E[this.color]($);let B=typeof this.#X==="string"&&this.#X!==""?this.#X+" ":"",J=typeof this.text==="string"?" "+this.text:"",Q=typeof this.#G==="string"&&this.#G!==""?" "+this.#G:"";return B+$+J+Q}clear(){if(!this.#H||!this.#Q.isTTY)return this;this.#Q.cursorTo(0);for(let D=0;D<this.#$;D++){if(D>0)this.#Q.moveCursor(0,-1);this.#Q.clearLine(1)}if(this.#E||this.lastIndent!==this.#E)this.#Q.cursorTo(this.#E);return this.lastIndent=this.#E,this.#$=0,this}render(){if(this.#W)return this;return this.clear(),this.#Q.write(this.frame()),this.#$=this.#D,this}start(D){if(D)this.text=D;if(this.#W)return this;if(!this.#H){if(this.text)this.#Q.write(`- ${this.text}
|
|
90
90
|
`);return this}if(this.isSpinning)return this;if(this.#B.hideCursor)KY.hide(this.#Q);if(this.#B.discardStdin&&Q7.stdin.isTTY)this.#F=!0,LY.start();return this.render(),this.#K=setInterval(this.render.bind(this),this.interval),this}stop(){if(!this.#H)return this;if(clearInterval(this.#K),this.#K=void 0,this.#J=0,this.clear(),this.#B.hideCursor)KY.show(this.#Q);if(this.#B.discardStdin&&Q7.stdin.isTTY&&this.#F)LY.stop(),this.#F=!1;return this}succeed(D){return this.stopAndPersist({symbol:U3.success,text:D})}fail(D){return this.stopAndPersist({symbol:U3.error,text:D})}warn(D){return this.stopAndPersist({symbol:U3.warning,text:D})}info(D){return this.stopAndPersist({symbol:U3.info,text:D})}stopAndPersist(D={}){if(this.#W)return this;let F=D.prefixText??this.#X,$=this.#Z(F," "),B=D.symbol??" ",J=D.text??this.text,Y=typeof J==="string"?(B?" ":"")+J:"",X=D.suffixText??this.#G,G=this.#U(X," "),H=$+B+Y+G+`
|
|
91
|
-
`;return this.stop(),this.#Q.write(H),this}}function C(D){return new Ww(D)}import{isDeepStrictEqual as OXD}from"util";import uk from"process";import S6 from"fs";import mk from"path";import $5 from"crypto";import jXD from"assert";var M6=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var MY=new Set(["__proto__","prototype","constructor"]),v8D=new Set("0123456789");function Y7(D){let F=[],$="",B="start",J=!1;for(let Q of D)switch(Q){case"\\":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(J)$+=Q;B="property",J=!J;break}case".":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="property";break}if(J){J=!1,$+=Q;break}if(MY.has($))return[];F.push($),$="",B="property";break}case"[":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="index";break}if(J){J=!1,$+=Q;break}if(B==="property"){if(MY.has($))return[];F.push($),$=""}B="index";break}case"]":{if(B==="index"){F.push(Number.parseInt($,10)),$="",B="indexEnd";break}if(B==="indexEnd")throw Error("Invalid character after an index")}default:{if(B==="index"&&!v8D.has(Q))throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(B==="start")B="property";if(J)J=!1,$+="\\";$+=Q}}if(J)$+="\\";switch(B){case"property":{if(MY.has($))return[];F.push($);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function NY(D,F){if(typeof F!=="number"&&Array.isArray(D)){let $=Number.parseInt(F,10);return Number.isInteger($)&&D[$]===D[F]}return!1}function Ew(D,F){if(NY(D,F))throw Error("Cannot use string index")}function qw(D,F,$){if(!M6(D)||typeof F!=="string")return $===void 0?D:$;let B=Y7(F);if(B.length===0)return $;for(let J=0;J<B.length;J++){let Q=B[J];if(NY(D,Q))D=J===B.length-1?void 0:null;else D=D[Q];if(D===void 0||D===null){if(J!==B.length-1)return $;break}}return D===void 0?$:D}function CY(D,F,$){if(!M6(D)||typeof F!=="string")return D;let B=D,J=Y7(F);for(let Q=0;Q<J.length;Q++){let Y=J[Q];if(Ew(D,Y),Q===J.length-1)D[Y]=$;else if(!M6(D[Y]))D[Y]=typeof J[Q+1]==="number"?[]:{};D=D[Y]}return B}function Kw(D,F){if(!M6(D)||typeof F!=="string")return!1;let $=Y7(F);for(let B=0;B<$.length;B++){let J=$[B];if(Ew(D,J),B===$.length-1)return delete D[J],!0;if(D=D[J],!M6(D))return!1}}function zw(D,F){if(!M6(D)||typeof F!=="string")return!1;let $=Y7(F);if($.length===0)return!1;for(let B of $){if(!M6(D)||!(B in D)||NY(D,B))return!1;D=D[B]}return!0}import jD from"path";import Vw from"os";import RY from"process";var b8=Vw.homedir(),wY=Vw.tmpdir(),{env:u4}=RY,y8D=(D)=>{let F=jD.join(b8,"Library");return{data:jD.join(F,"Application Support",D),config:jD.join(F,"Preferences",D),cache:jD.join(F,"Caches",D),log:jD.join(F,"Logs",D),temp:jD.join(wY,D)}},x8D=(D)=>{let F=u4.APPDATA||jD.join(b8,"AppData","Roaming"),$=u4.LOCALAPPDATA||jD.join(b8,"AppData","Local");return{data:jD.join($,D,"Data"),config:jD.join(F,D,"Config"),cache:jD.join($,D,"Cache"),log:jD.join($,D,"Log"),temp:jD.join(wY,D)}},_8D=(D)=>{let F=jD.basename(b8);return{data:jD.join(u4.XDG_DATA_HOME||jD.join(b8,".local","share"),D),config:jD.join(u4.XDG_CONFIG_HOME||jD.join(b8,".config"),D),cache:jD.join(u4.XDG_CACHE_HOME||jD.join(b8,".cache"),D),log:jD.join(u4.XDG_STATE_HOME||jD.join(b8,".local","state"),D),temp:jD.join(wY,F,D)}};function TY(D,{suffix:F="nodejs"}={}){if(typeof D!=="string")throw TypeError(`Expected a string, got ${typeof D}`);if(F)D+=`-${F}`;if(RY.platform==="darwin")return y8D(D);if(RY.platform==="win32")return x8D(D);return _8D(D)}import d8D from"path";import HD from"fs";import{promisify as $0}from"util";var f8D=(D,F)=>{let{onError:$}=F;return function(...J){return D.apply(void 0,J).catch($)}},v1=f8D;var g8D=(D,F)=>{let{onError:$}=F;return function(...J){try{return D.apply(void 0,J)}catch(Q){return $(Q)}}},$1=g8D;var Aw=250;var h8D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,Y=J.interval??Aw,X=Date.now()+Q;return function G(...H){return D.apply(void 0,H).catch((W)=>{if(!$(W))throw W;if(Date.now()>=X)throw W;let K=Math.round(Y*Math.random());if(K>0)return new Promise((A)=>setTimeout(A,K)).then(()=>G.apply(void 0,H));else return G.apply(void 0,H)})}}},y1=h8D;var b8D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,Y=Date.now()+Q;return function(...G){while(!0)try{return D.apply(void 0,G)}catch(H){if(!$(H))throw H;if(Date.now()>=Y)throw H;continue}}}},x1=b8D;import Uw from"process";var N3={isChangeErrorOk:(D)=>{if(!N3.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!Zw&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!N3.isNodeError(D))return!1;let{code:F}=D;if(F==="EMFILE"||F==="ENFILE"||F==="EAGAIN"||F==="EBUSY"||F==="EACCESS"||F==="EACCES"||F==="EACCS"||F==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!N3.isNodeError(D))throw D;if(N3.isChangeErrorOk(D))return;throw D}},OY=N3;var C3={onError:OY.onChangeError},Z0={onError:()=>{return}},Zw=Uw.getuid?!Uw.getuid():!1,iD={isRetriable:OY.isRetriableError};var u8D={attempt:{chmod:v1($0(HD.chmod),C3),chown:v1($0(HD.chown),C3),close:v1($0(HD.close),Z0),fsync:v1($0(HD.fsync),Z0),mkdir:v1($0(HD.mkdir),Z0),realpath:v1($0(HD.realpath),Z0),stat:v1($0(HD.stat),Z0),unlink:v1($0(HD.unlink),Z0),chmodSync:$1(HD.chmodSync,C3),chownSync:$1(HD.chownSync,C3),closeSync:$1(HD.closeSync,Z0),existsSync:$1(HD.existsSync,Z0),fsyncSync:$1(HD.fsync,Z0),mkdirSync:$1(HD.mkdirSync,Z0),realpathSync:$1(HD.realpathSync,Z0),statSync:$1(HD.statSync,Z0),unlinkSync:$1(HD.unlinkSync,Z0)},retry:{close:y1($0(HD.close),iD),fsync:y1($0(HD.fsync),iD),open:y1($0(HD.open),iD),readFile:y1($0(HD.readFile),iD),rename:y1($0(HD.rename),iD),stat:y1($0(HD.stat),iD),write:y1($0(HD.write),iD),writeFile:y1($0(HD.writeFile),iD),closeSync:x1(HD.closeSync,iD),fsyncSync:x1(HD.fsyncSync,iD),openSync:x1(HD.openSync,iD),readFileSync:x1(HD.readFileSync,iD),renameSync:x1(HD.renameSync,iD),statSync:x1(HD.statSync,iD),writeSync:x1(HD.writeSync,iD),writeFileSync:x1(HD.writeFileSync,iD)}},uD=u8D;import N6 from"process";var Lw="utf8",jY=438,Mw=511;var Nw={},Cw=N6.geteuid?N6.geteuid():-1,Rw=N6.getegid?N6.getegid():-1;var ww=1000,Tw=!!N6.getuid,uZD=N6.getuid?!N6.getuid():!1,IY=128;var Ow=(D)=>{return D instanceof Error&&"code"in D};var PY=(D)=>{return typeof D==="string"},X7=(D)=>{return D===void 0};import l8D from"path";import m4 from"process";import jw from"process";var Iw=jw.platform==="linux",G7=jw.platform==="win32";var SY=["SIGHUP","SIGINT","SIGTERM"];if(!G7)SY.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(Iw)SY.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Pw=SY;class Sw{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let F of this.callbacks)F();if(D)if(G7&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))m4.kill(m4.pid,"SIGTERM");else m4.kill(m4.pid,D)},this.hook=()=>{m4.once("exit",()=>this.exit());for(let D of Pw)try{m4.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var kw=new Sw;var m8D=kw.register,vw=m8D;var P0={store:{},create:(D)=>{let F=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),$=Date.now().toString().slice(-10),B="tmp-",J=`.tmp-${$}${F}`;return`${D}${J}`},get:(D,F,$=!0)=>{let B=P0.truncate(F(D));if(B in P0.store)return P0.get(D,F,$);return P0.store[B]=$,[B,()=>delete P0.store[B]]},purge:(D)=>{if(!P0.store[D])return;delete P0.store[D],uD.attempt.unlink(D)},purgeSync:(D)=>{if(!P0.store[D])return;delete P0.store[D],uD.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in P0.store)P0.purgeSync(D)},truncate:(D)=>{let F=l8D.basename(D);if(F.length<=IY)return D;let $=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!$)return D;let B=F.length-IY;return`${D.slice(0,-F.length)}${$[1]}${$[2].slice(0,-B)}${$[3]}`}};vw(P0.purgeSyncAll);var R3=P0;function kY(D,F,$=Nw){if(PY($))return kY(D,F,{encoding:$});let J={timeout:$.timeout??ww},Q=null,Y=null,X=null;try{let G=uD.attempt.realpathSync(D),H=!!G;D=G||D,[Y,Q]=R3.get(D,$.tmpCreate||R3.create,$.tmpPurge!==!1);let W=Tw&&X7($.chown),K=X7($.mode);if(H&&(W||K)){let V=uD.attempt.statSync(D);if(V){if($={...$},W)$.chown={uid:V.uid,gid:V.gid};if(K)$.mode=V.mode}}if(!H){let V=d8D.dirname(D);uD.attempt.mkdirSync(V,{mode:Mw,recursive:!0})}if(X=uD.retry.openSync(J)(Y,"w",$.mode||jY),$.tmpCreated)$.tmpCreated(Y);if(PY(F))uD.retry.writeSync(J)(X,F,0,$.encoding||Lw);else if(!X7(F))uD.retry.writeSync(J)(X,F,0,F.length,0);if($.fsync!==!1)if($.fsyncWait!==!1)uD.retry.fsyncSync(J)(X);else uD.attempt.fsync(X);if(uD.retry.closeSync(J)(X),X=null,$.chown&&($.chown.uid!==Cw||$.chown.gid!==Rw))uD.attempt.chownSync(Y,$.chown.uid,$.chown.gid);if($.mode&&$.mode!==jY)uD.attempt.chmodSync(Y,$.mode);try{uD.retry.renameSync(J)(Y,D)}catch(V){if(!Ow(V))throw V;if(V.code!=="ENAMETOOLONG")throw V;uD.retry.renameSync(J)(Y,R3.truncate(D))}Q(),Y=null}finally{if(X)uD.attempt.closeSync(X);if(Y)R3.purge(Y)}}var dk=d(wP(),1),pk=d(nP(),1);var OJD=(D,F={})=>{if(typeof D!=="function")throw TypeError(`Expected the first argument to be a function, got \`${typeof D}\``);let{wait:$=0,maxWait:B=Number.POSITIVE_INFINITY,before:J=!1,after:Q=!0}=F;if($<0||B<0)throw RangeError("`wait` and `maxWait` must not be negative.");if(!J&&!Q)throw Error("Both `before` and `after` are false, function wouldn't be called.");let Y,X,G,H=function(...W){let K=this,V=()=>{if(Y=void 0,X)clearTimeout(X),X=void 0;if(Q)G=D.apply(K,W)},A=()=>{if(X=void 0,Y)clearTimeout(Y),Y=void 0;if(Q)G=D.apply(K,W)},Z=J&&!Y;if(clearTimeout(Y),Y=setTimeout(V,$),B>0&&B!==Number.POSITIVE_INFINITY&&!X)X=setTimeout(A,B);if(Z)G=D.apply(K,W);return G};return Z3(H,D),H.cancel=()=>{if(Y)clearTimeout(Y),Y=void 0;if(X)clearTimeout(X),X=void 0},H},nX=OJD;var k6=d(fk(),1);var LXD=Object.prototype.toString;function hk(D,F,$){if(!D)return!1;if(D.constructor===F)return!0;return LXD.call(D)===$}function bk(D){return hk(D,Uint8Array,"[object Uint8Array]")}function MXD(D){return hk(D,ArrayBuffer,"[object ArrayBuffer]")}function NXD(D){return bk(D)||MXD(D)}function CXD(D){if(!bk(D))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof D}\``)}function RXD(D){if(!NXD(D))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof D}\``)}function G2(D,F){if(D.length===0)return new Uint8Array(0);F??=D.reduce((J,Q)=>J+Q.length,0);let $=new Uint8Array(F),B=0;for(let J of D)CXD(J),$.set(J,B),B+=J.length;return $}var gk={utf8:new globalThis.TextDecoder("utf8")};function H2(D,F="utf8"){return RXD(D),gk[F]??=new globalThis.TextDecoder(F),gk[F].decode(D)}function wXD(D){if(typeof D!=="string")throw TypeError(`Expected \`string\`, got \`${typeof D}\``)}var TXD=new globalThis.TextEncoder;function Y$(D){return wXD(D),TXD.encode(D)}var OND=Array.from({length:256},(D,F)=>F.toString(16).padStart(2,"0"));var IXD=pk.default.default,lk="aes-256-cbc",BF=()=>Object.create(null),PXD=(D)=>D!==void 0&&D!==null,SXD=(D,F)=>{let $=new Set(["undefined","symbol","function"]),B=typeof F;if($.has(B))throw TypeError(`Setting a value of type \`${B}\` for key \`${D}\` is not allowed as it's not supported by JSON`)},X$="__internal__",W2=`${X$}.migrations.version`;class G${path;events;#$;#F;#D;#J={};constructor(D={}){let F={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...D};if(!F.cwd){if(!F.projectName)throw Error("Please specify the `projectName` option.");F.cwd=TY(F.projectName,{suffix:F.projectSuffix}).config}if(this.#D=F,F.schema??F.ajvOptions??F.rootSchema){if(F.schema&&typeof F.schema!=="object")throw TypeError("The `schema` option must be an object.");let Q=new dk.Ajv2020({allErrors:!0,useDefaults:!0,...F.ajvOptions});IXD(Q);let Y={...F.rootSchema,type:"object",properties:F.schema};this.#$=Q.compile(Y);for(let[X,G]of Object.entries(F.schema??{}))if(G?.default)this.#J[X]=G.default}if(F.defaults)this.#J={...this.#J,...F.defaults};if(F.serialize)this._serialize=F.serialize;if(F.deserialize)this._deserialize=F.deserialize;this.events=new EventTarget,this.#F=F.encryptionKey;let $=F.fileExtension?`.${F.fileExtension}`:"";this.path=mk.resolve(F.cwd,`${F.configName??"config"}${$}`);let B=this.store,J=Object.assign(BF(),F.defaults,B);if(F.migrations){if(!F.projectVersion)throw Error("Please specify the `projectVersion` option.");this._migrate(F.migrations,F.projectVersion,F.beforeEachMigration)}this._validate(J);try{jXD.deepEqual(B,J)}catch{this.store=J}if(F.watch)this._watch()}get(D,F){if(this.#D.accessPropertiesByDotNotation)return this._get(D,F);let{store:$}=this;return D in $?$[D]:F}set(D,F){if(typeof D!=="string"&&typeof D!=="object")throw TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof D}`);if(typeof D!=="object"&&F===void 0)throw TypeError("Use `delete()` to clear values");if(this._containsReservedKey(D))throw TypeError(`Please don't use the ${X$} key, as it's used to manage this module internal operations.`);let{store:$}=this,B=(J,Q)=>{if(SXD(J,Q),this.#D.accessPropertiesByDotNotation)CY($,J,Q);else $[J]=Q};if(typeof D==="object"){let J=D;for(let[Q,Y]of Object.entries(J))B(Q,Y)}else B(D,F);this.store=$}has(D){if(this.#D.accessPropertiesByDotNotation)return zw(this.store,D);return D in this.store}reset(...D){for(let F of D)if(PXD(this.#J[F]))this.set(F,this.#J[F])}delete(D){let{store:F}=this;if(this.#D.accessPropertiesByDotNotation)Kw(F,D);else delete F[D];this.store=F}clear(){this.store=BF();for(let D of Object.keys(this.#J))this.reset(D)}onDidChange(D,F){if(typeof D!=="string")throw TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof D}`);if(typeof F!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof F}`);return this._handleChange(()=>this.get(D),F)}onDidAnyChange(D){if(typeof D!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof D}`);return this._handleChange(()=>this.store,D)}get size(){return Object.keys(this.store).length}get store(){try{let D=S6.readFileSync(this.path,this.#F?null:"utf8"),F=this._encryptData(D),$=this._deserialize(F);return this._validate($),Object.assign(BF(),$)}catch(D){if(D?.code==="ENOENT")return this._ensureDirectory(),BF();if(this.#D.clearInvalidConfig&&D.name==="SyntaxError")return BF();throw D}}set store(D){this._ensureDirectory(),this._validate(D),this._write(D),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(let[D,F]of Object.entries(this.store))yield[D,F]}_encryptData(D){if(!this.#F)return typeof D==="string"?D:H2(D);try{let F=D.slice(0,16),$=$5.pbkdf2Sync(this.#F,F.toString(),1e4,32,"sha512"),B=$5.createDecipheriv(lk,$,F),J=D.slice(17),Q=typeof J==="string"?Y$(J):J;return H2(G2([B.update(Q),B.final()]))}catch{}return D.toString()}_handleChange(D,F){let $=D(),B=()=>{let J=$,Q=D();if(OXD(Q,J))return;$=Q,F.call(this,Q,J)};return this.events.addEventListener("change",B),()=>{this.events.removeEventListener("change",B)}}_deserialize=(D)=>JSON.parse(D);_serialize=(D)=>JSON.stringify(D,void 0,"\t");_validate(D){if(!this.#$)return;if(this.#$(D)||!this.#$.errors)return;let $=this.#$.errors.map(({instancePath:B,message:J=""})=>`\`${B.slice(1)}\` ${J}`);throw Error("Config schema violation: "+$.join("; "))}_ensureDirectory(){S6.mkdirSync(mk.dirname(this.path),{recursive:!0})}_write(D){let F=this._serialize(D);if(this.#F){let $=$5.randomBytes(16),B=$5.pbkdf2Sync(this.#F,$.toString(),1e4,32,"sha512"),J=$5.createCipheriv(lk,B,$);F=G2([$,Y$(":"),J.update(Y$(F)),J.final()])}if(uk.env.SNAP)S6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});else try{kY(this.path,F,{mode:this.#D.configFileMode})}catch($){if($?.code==="EXDEV"){S6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});return}throw $}}_watch(){if(this._ensureDirectory(),!S6.existsSync(this.path))this._write(BF());if(uk.platform==="win32")S6.watch(this.path,{persistent:!1},nX(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else S6.watchFile(this.path,{persistent:!1},nX(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(D,F,$){let B=this._get(W2,"0.0.0"),J=Object.keys(D).filter((Y)=>this._shouldPerformMigration(Y,B,F)),Q={...this.store};for(let Y of J)try{if($)$(this,{fromVersion:B,toVersion:Y,finalVersion:F,versions:J});let X=D[Y];X?.(this),this._set(W2,Y),B=Y,Q={...this.store}}catch(X){throw this.store=Q,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${X}`)}if(this._isVersionInRangeFormat(B)||!k6.default.eq(B,F))this._set(W2,F)}_containsReservedKey(D){if(typeof D==="object"){if(Object.keys(D)[0]===X$)return!0}if(typeof D!=="string")return!1;if(this.#D.accessPropertiesByDotNotation){if(D.startsWith(`${X$}.`))return!0;return!1}return!1}_isVersionInRangeFormat(D){return k6.default.clean(D)===null}_shouldPerformMigration(D,F,$){if(this._isVersionInRangeFormat(D)){if(F!=="0.0.0"&&k6.default.satisfies(F,D))return!1;return k6.default.satisfies($,D)}if(k6.default.lte(D,F))return!1;if(k6.default.gt(D,$))return!1;return!0}_get(D,F){return qw(this.store,D,F)}_set(D,F){let{store:$}=this;CY($,D,F),this.store=$}}var V1={};Ny(V1,{void:()=>z2D,util:()=>FD,unknown:()=>q2D,union:()=>U2D,undefined:()=>H2D,tuple:()=>N2D,transformer:()=>k2D,symbol:()=>G2D,string:()=>ek,strictObject:()=>Z2D,setErrorMap:()=>yXD,set:()=>w2D,record:()=>C2D,quotelessJson:()=>kXD,promise:()=>S2D,preprocess:()=>x2D,pipeline:()=>_2D,ostring:()=>f2D,optional:()=>v2D,onumber:()=>g2D,oboolean:()=>h2D,objectUtil:()=>E2,object:()=>A2D,number:()=>Dv,nullable:()=>y2D,null:()=>W2D,never:()=>K2D,nativeEnum:()=>P2D,nan:()=>Q2D,map:()=>R2D,makeIssue:()=>B5,literal:()=>j2D,lazy:()=>O2D,late:()=>B2D,isValid:()=>a8,isDirty:()=>W$,isAsync:()=>QF,isAborted:()=>H$,intersection:()=>M2D,instanceof:()=>J2D,getParsedType:()=>b1,getErrorMap:()=>JF,function:()=>T2D,enum:()=>I2D,effect:()=>k2D,discriminatedUnion:()=>L2D,defaultErrorMap:()=>B8,datetimeRegex:()=>sk,date:()=>X2D,custom:()=>tk,coerce:()=>b2D,boolean:()=>Fv,bigint:()=>Y2D,array:()=>V2D,any:()=>E2D,addIssueToContext:()=>O,ZodVoid:()=>Q5,ZodUnknown:()=>o8,ZodUnion:()=>EF,ZodUndefined:()=>HF,ZodType:()=>t,ZodTuple:()=>m1,ZodTransformer:()=>z1,ZodSymbol:()=>J5,ZodString:()=>W1,ZodSet:()=>_6,ZodSchema:()=>t,ZodRecord:()=>Y5,ZodReadonly:()=>UF,ZodPromise:()=>f6,ZodPipeline:()=>H5,ZodParsedType:()=>R,ZodOptional:()=>q1,ZodObject:()=>ID,ZodNumber:()=>s8,ZodNullable:()=>Q8,ZodNull:()=>WF,ZodNever:()=>u1,ZodNativeEnum:()=>VF,ZodNaN:()=>G5,ZodMap:()=>X5,ZodLiteral:()=>zF,ZodLazy:()=>KF,ZodIssueCode:()=>N,ZodIntersection:()=>qF,ZodFunction:()=>XF,ZodFirstPartyTypeKind:()=>h,ZodError:()=>R0,ZodEnum:()=>t8,ZodEffects:()=>z1,ZodDiscriminatedUnion:()=>E$,ZodDefault:()=>AF,ZodDate:()=>y6,ZodCatch:()=>ZF,ZodBranded:()=>q$,ZodBoolean:()=>GF,ZodBigInt:()=>r8,ZodArray:()=>E1,ZodAny:()=>x6,Schema:()=>t,ParseStatus:()=>oD,OK:()=>Y0,NEVER:()=>u2D,INVALID:()=>f,EMPTY_PATH:()=>xXD,DIRTY:()=>v6,BRAND:()=>$2D});var FD;(function(D){D.assertEqual=(J)=>{};function F(J){}D.assertIs=F;function $(J){throw Error()}D.assertNever=$,D.arrayToEnum=(J)=>{let Q={};for(let Y of J)Q[Y]=Y;return Q},D.getValidEnumValues=(J)=>{let Q=D.objectKeys(J).filter((X)=>typeof J[J[X]]!=="number"),Y={};for(let X of Q)Y[X]=J[X];return D.objectValues(Y)},D.objectValues=(J)=>{return D.objectKeys(J).map(function(Q){return J[Q]})},D.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let Q=[];for(let Y in J)if(Object.prototype.hasOwnProperty.call(J,Y))Q.push(Y);return Q},D.find=(J,Q)=>{for(let Y of J)if(Q(Y))return Y;return},D.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function B(J,Q=" | "){return J.map((Y)=>typeof Y==="string"?`'${Y}'`:Y).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(J,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(FD||(FD={}));var E2;(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(E2||(E2={}));var R=FD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),b1=(D)=>{switch(typeof D){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(D)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(D))return R.array;if(D===null)return R.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return R.promise;if(typeof Map<"u"&&D instanceof Map)return R.map;if(typeof Set<"u"&&D instanceof Set)return R.set;if(typeof Date<"u"&&D instanceof Date)return R.date;return R.object;default:return R.unknown}};var N=FD.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),kXD=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class R0 extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=($)=>{this.issues=[...this.issues,$]},this.addIssues=($=[])=>{this.issues=[...this.issues,...$]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(J){return J.message},$={_errors:[]},B=(J)=>{for(let Q of J.issues)if(Q.code==="invalid_union")Q.unionErrors.map(B);else if(Q.code==="invalid_return_type")B(Q.returnTypeError);else if(Q.code==="invalid_arguments")B(Q.argumentsError);else if(Q.path.length===0)$._errors.push(F(Q));else{let Y=$,X=0;while(X<Q.path.length){let G=Q.path[X];if(X!==Q.path.length-1)Y[G]=Y[G]||{_errors:[]};else Y[G]=Y[G]||{_errors:[]},Y[G]._errors.push(F(Q));Y=Y[G],X++}}};return B(this),$}static assert(D){if(!(D instanceof R0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,FD.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},$=[];for(let B of this.issues)if(B.path.length>0){let J=B.path[0];F[J]=F[J]||[],F[J].push(D(B))}else $.push(D(B));return{formErrors:$,fieldErrors:F}}get formErrors(){return this.flatten()}}R0.create=(D)=>{return new R0(D)};var vXD=(D,F)=>{let $;switch(D.code){case N.invalid_type:if(D.received===R.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case N.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,FD.jsonStringifyReplacer)}`;break;case N.unrecognized_keys:$=`Unrecognized key(s) in object: ${FD.joinValues(D.keys,", ")}`;break;case N.invalid_union:$="Invalid input";break;case N.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${FD.joinValues(D.options)}`;break;case N.invalid_enum_value:$=`Invalid enum value. Expected ${FD.joinValues(D.options)}, received '${D.received}'`;break;case N.invalid_arguments:$="Invalid function arguments";break;case N.invalid_return_type:$="Invalid function return type";break;case N.invalid_date:$="Invalid date";break;case N.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if($=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")$=`${$} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)$=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)$=`Invalid input: must end with "${D.validation.endsWith}"`;else FD.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case N.too_small:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else $="Invalid input";break;case N.too_big:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")$=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else $="Invalid input";break;case N.custom:$="Invalid input";break;case N.invalid_intersection_types:$="Intersection results could not be merged";break;case N.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case N.not_finite:$="Number must be finite";break;default:$=F.defaultError,FD.assertNever(D)}return{message:$}},B8=vXD;var ck=B8;function yXD(D){ck=D}function JF(){return ck}var B5=(D)=>{let{data:F,path:$,errorMaps:B,issueData:J}=D,Q=[...$,...J.path||[]],Y={...J,path:Q};if(J.message!==void 0)return{...J,path:Q,message:J.message};let X="",G=B.filter((H)=>!!H).slice().reverse();for(let H of G)X=H(Y,{data:F,defaultError:X}).message;return{...J,path:Q,message:X}},xXD=[];function O(D,F){let $=JF(),B=B5({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===B8?void 0:B8].filter((J)=>!!J)});D.common.issues.push(B)}class oD{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let $=[];for(let B of F){if(B.status==="aborted")return f;if(B.status==="dirty")D.dirty();$.push(B.value)}return{status:D.value,value:$}}static async mergeObjectAsync(D,F){let $=[];for(let B of F){let J=await B.key,Q=await B.value;$.push({key:J,value:Q})}return oD.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let B of F){let{key:J,value:Q}=B;if(J.status==="aborted")return f;if(Q.status==="aborted")return f;if(J.status==="dirty")D.dirty();if(Q.status==="dirty")D.dirty();if(J.value!=="__proto__"&&(typeof Q.value<"u"||B.alwaysSet))$[J.value]=Q.value}return{status:D.value,value:$}}}var f=Object.freeze({status:"aborted"}),v6=(D)=>({status:"dirty",value:D}),Y0=(D)=>({status:"valid",value:D}),H$=(D)=>D.status==="aborted",W$=(D)=>D.status==="dirty",a8=(D)=>D.status==="valid",QF=(D)=>typeof Promise<"u"&&D instanceof Promise;var y;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(y||(y={}));class K1{constructor(D,F,$,B){this._cachedPath=[],this.parent=D,this.data=F,this._path=$,this._key=B}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var nk=(D,F)=>{if(a8(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let $=new R0(D.common.issues);return this._error=$,this._error}}}};function o(D){if(!D)return{};let{errorMap:F,invalid_type_error:$,required_error:B,description:J}=D;if(F&&($||B))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:J};return{errorMap:(Y,X)=>{let{message:G}=D;if(Y.code==="invalid_enum_value")return{message:G??X.defaultError};if(typeof X.data>"u")return{message:G??B??X.defaultError};if(Y.code!=="invalid_type")return{message:X.defaultError};return{message:G??$??X.defaultError}},description:J}}class t{get description(){return this._def.description}_getType(D){return b1(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:b1(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new oD,ctx:{common:D.parent.common,data:D.data,parsedType:b1(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(QF(F))throw Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let $=this.safeParse(D,F);if($.success)return $.data;throw $.error}safeParse(D,F){let $={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:b1(D)},B=this._parseSync({data:D,path:$.path,parent:$});return nk($,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:b1(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return a8($)?{value:$.value}:{issues:F.common.issues}}catch($){if($?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then(($)=>a8($)?{value:$.value}:{issues:F.common.issues})}async parseAsync(D,F){let $=await this.safeParseAsync(D,F);if($.success)return $.data;throw $.error}async safeParseAsync(D,F){let $={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:b1(D)},B=this._parse({data:D,path:$.path,parent:$}),J=await(QF(B)?B:Promise.resolve(B));return nk($,J)}refine(D,F){let $=(B)=>{if(typeof F==="string"||typeof F>"u")return{message:F};else if(typeof F==="function")return F(B);else return F};return this._refinement((B,J)=>{let Q=D(B),Y=()=>J.addIssue({code:N.custom,...$(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((X)=>{if(!X)return Y(),!1;else return!0});if(!Q)return Y(),!1;else return!0})}refinement(D,F){return this._refinement(($,B)=>{if(!D($))return B.addIssue(typeof F==="function"?F($,B):F),!1;else return!0})}_refinement(D){return new z1({schema:this,typeName:h.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(F)=>this["~validate"](F)}}optional(){return q1.create(this,this._def)}nullable(){return Q8.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return E1.create(this)}promise(){return f6.create(this,this._def)}or(D){return EF.create([this,D],this._def)}and(D){return qF.create(this,D,this._def)}transform(D){return new z1({...o(this._def),schema:this,typeName:h.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new AF({...o(this._def),innerType:this,defaultValue:F,typeName:h.ZodDefault})}brand(){return new q$({typeName:h.ZodBranded,type:this,...o(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new ZF({...o(this._def),innerType:this,catchValue:F,typeName:h.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return H5.create(this,D)}readonly(){return UF.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var _XD=/^c[^\s-]{8,}$/i,fXD=/^[0-9a-z]+$/,gXD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hXD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,bXD=/^[a-z0-9_-]{21}$/i,uXD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mXD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,lXD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,dXD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",q2,pXD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cXD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,nXD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,iXD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aXD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,oXD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ak="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",sXD=new RegExp(`^${ak}$`);function ok(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let $=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${$}`}function rXD(D){return new RegExp(`^${ok(D)}$`)}function sk(D){let F=`${ak}T${ok(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function tXD(D,F){if((F==="v4"||!F)&&pXD.test(D))return!0;if((F==="v6"||!F)&&nXD.test(D))return!0;return!1}function eXD(D,F){if(!uXD.test(D))return!1;try{let[$]=D.split(".");if(!$)return!1;let B=$.replace(/-/g,"+").replace(/_/g,"/").padEnd($.length+(4-$.length%4)%4,"="),J=JSON.parse(atob(B));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(F&&J.alg!==F)return!1;return!0}catch{return!1}}function D2D(D,F){if((F==="v4"||!F)&&cXD.test(D))return!0;if((F==="v6"||!F)&&iXD.test(D))return!0;return!1}class W1 extends t{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==R.string){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_type,expected:R.string,received:J.parsedType}),f}let $=new oD,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.length<J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="max"){if(D.data.length>J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="length"){let Q=D.data.length>J.value,Y=D.data.length<J.value;if(Q||Y){if(B=this._getOrReturnCtx(D,B),Q)O(B,{code:N.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(Y)O(B,{code:N.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});$.dirty()}}else if(J.kind==="email"){if(!lXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"email",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="emoji"){if(!q2)q2=new RegExp(dXD,"u");if(!q2.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"emoji",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="uuid"){if(!hXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"uuid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="nanoid"){if(!bXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"nanoid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid"){if(!_XD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"cuid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid2"){if(!fXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"cuid2",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ulid"){if(!gXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"ulid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),O(B,{validation:"url",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"regex",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="trim")D.data=D.data.trim();else if(J.kind==="includes"){if(!D.data.includes(J.value,J.position))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),$.dirty()}else if(J.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(J.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(J.kind==="startsWith"){if(!D.data.startsWith(J.value))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:{startsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="endsWith"){if(!D.data.endsWith(J.value))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:{endsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="datetime"){if(!sk(J).test(D.data))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:"datetime",message:J.message}),$.dirty()}else if(J.kind==="date"){if(!sXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:"date",message:J.message}),$.dirty()}else if(J.kind==="time"){if(!rXD(J).test(D.data))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:"time",message:J.message}),$.dirty()}else if(J.kind==="duration"){if(!mXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"duration",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ip"){if(!tXD(D.data,J.version))B=this._getOrReturnCtx(D,B),O(B,{validation:"ip",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="jwt"){if(!eXD(D.data,J.alg))B=this._getOrReturnCtx(D,B),O(B,{validation:"jwt",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cidr"){if(!D2D(D.data,J.version))B=this._getOrReturnCtx(D,B),O(B,{validation:"cidr",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64"){if(!aXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"base64",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64url"){if(!oXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"base64url",code:N.invalid_string,message:J.message}),$.dirty()}else FD.assertNever(J);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((B)=>D.test(B),{validation:F,code:N.invalid_string,...y.errToObj($)})}_addCheck(D){return new W1({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...y.errToObj(D)})}url(D){return this._addCheck({kind:"url",...y.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...y.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...y.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...y.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...y.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...y.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...y.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...y.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...y.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...y.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...y.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...y.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...y.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...y.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...y.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...y.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...y.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...y.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...y.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...y.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...y.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...y.errToObj(F)})}nonempty(D){return this.min(1,y.errToObj(D))}trim(){return new W1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new W1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new W1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}W1.create=(D)=>{return new W1({checks:[],typeName:h.ZodString,coerce:D?.coerce??!1,...o(D)})};function F2D(D,F){let $=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,J=$>B?$:B,Q=Number.parseInt(D.toFixed(J).replace(".","")),Y=Number.parseInt(F.toFixed(J).replace(".",""));return Q%Y/10**J}class s8 extends t{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==R.number){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_type,expected:R.number,received:J.parsedType}),f}let $=void 0,B=new oD;for(let J of this._def.checks)if(J.kind==="int"){if(!FD.isInteger(D.data))$=this._getOrReturnCtx(D,$),O($,{code:N.invalid_type,expected:"integer",received:"float",message:J.message}),B.dirty()}else if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(F2D(D.data,J.value)!==0)$=this._getOrReturnCtx(D,$),O($,{code:N.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),O($,{code:N.not_finite,message:J.message}),B.dirty()}else FD.assertNever(J);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,y.toString(F))}gt(D,F){return this.setLimit("min",D,!1,y.toString(F))}lte(D,F){return this.setLimit("max",D,!0,y.toString(F))}lt(D,F){return this.setLimit("max",D,!1,y.toString(F))}setLimit(D,F,$,B){return new s8({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:y.toString(B)}]})}_addCheck(D){return new s8({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:y.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:y.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:y.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:y.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:y.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:y.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:y.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:y.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:y.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&FD.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let $ of this._def.checks)if($.kind==="finite"||$.kind==="int"||$.kind==="multipleOf")return!0;else if($.kind==="min"){if(F===null||$.value>F)F=$.value}else if($.kind==="max"){if(D===null||$.value<D)D=$.value}return Number.isFinite(F)&&Number.isFinite(D)}}s8.create=(D)=>{return new s8({checks:[],typeName:h.ZodNumber,coerce:D?.coerce||!1,...o(D)})};class r8 extends t{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==R.bigint)return this._getInvalidInput(D);let $=void 0,B=new oD;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(D.data%J.value!==BigInt(0))$=this._getOrReturnCtx(D,$),O($,{code:N.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else FD.assertNever(J);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return O(F,{code:N.invalid_type,expected:R.bigint,received:F.parsedType}),f}gte(D,F){return this.setLimit("min",D,!0,y.toString(F))}gt(D,F){return this.setLimit("min",D,!1,y.toString(F))}lte(D,F){return this.setLimit("max",D,!0,y.toString(F))}lt(D,F){return this.setLimit("max",D,!1,y.toString(F))}setLimit(D,F,$,B){return new r8({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:y.toString(B)}]})}_addCheck(D){return new r8({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:y.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:y.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:y.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:y.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:y.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}r8.create=(D)=>{return new r8({checks:[],typeName:h.ZodBigInt,coerce:D?.coerce??!1,...o(D)})};class GF extends t{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==R.boolean){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.boolean,received:$.parsedType}),f}return Y0(D.data)}}GF.create=(D)=>{return new GF({typeName:h.ZodBoolean,coerce:D?.coerce||!1,...o(D)})};class y6 extends t{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==R.date){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_type,expected:R.date,received:J.parsedType}),f}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_date}),f}let $=new oD,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.getTime()<J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),$.dirty()}else if(J.kind==="max"){if(D.data.getTime()>J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),$.dirty()}else FD.assertNever(J);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new y6({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:y.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:y.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}}y6.create=(D)=>{return new y6({checks:[],coerce:D?.coerce||!1,typeName:h.ZodDate,...o(D)})};class J5 extends t{_parse(D){if(this._getType(D)!==R.symbol){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.symbol,received:$.parsedType}),f}return Y0(D.data)}}J5.create=(D)=>{return new J5({typeName:h.ZodSymbol,...o(D)})};class HF extends t{_parse(D){if(this._getType(D)!==R.undefined){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.undefined,received:$.parsedType}),f}return Y0(D.data)}}HF.create=(D)=>{return new HF({typeName:h.ZodUndefined,...o(D)})};class WF extends t{_parse(D){if(this._getType(D)!==R.null){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.null,received:$.parsedType}),f}return Y0(D.data)}}WF.create=(D)=>{return new WF({typeName:h.ZodNull,...o(D)})};class x6 extends t{constructor(){super(...arguments);this._any=!0}_parse(D){return Y0(D.data)}}x6.create=(D)=>{return new x6({typeName:h.ZodAny,...o(D)})};class o8 extends t{constructor(){super(...arguments);this._unknown=!0}_parse(D){return Y0(D.data)}}o8.create=(D)=>{return new o8({typeName:h.ZodUnknown,...o(D)})};class u1 extends t{_parse(D){let F=this._getOrReturnCtx(D);return O(F,{code:N.invalid_type,expected:R.never,received:F.parsedType}),f}}u1.create=(D)=>{return new u1({typeName:h.ZodNever,...o(D)})};class Q5 extends t{_parse(D){if(this._getType(D)!==R.undefined){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.void,received:$.parsedType}),f}return Y0(D.data)}}Q5.create=(D)=>{return new Q5({typeName:h.ZodVoid,...o(D)})};class E1 extends t{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),B=this._def;if(F.parsedType!==R.array)return O(F,{code:N.invalid_type,expected:R.array,received:F.parsedType}),f;if(B.exactLength!==null){let Q=F.data.length>B.exactLength.value,Y=F.data.length<B.exactLength.value;if(Q||Y)O(F,{code:Q?N.too_big:N.too_small,minimum:Y?B.exactLength.value:void 0,maximum:Q?B.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:B.exactLength.message}),$.dirty()}if(B.minLength!==null){if(F.data.length<B.minLength.value)O(F,{code:N.too_small,minimum:B.minLength.value,type:"array",inclusive:!0,exact:!1,message:B.minLength.message}),$.dirty()}if(B.maxLength!==null){if(F.data.length>B.maxLength.value)O(F,{code:N.too_big,maximum:B.maxLength.value,type:"array",inclusive:!0,exact:!1,message:B.maxLength.message}),$.dirty()}if(F.common.async)return Promise.all([...F.data].map((Q,Y)=>{return B.type._parseAsync(new K1(F,Q,F.path,Y))})).then((Q)=>{return oD.mergeArray($,Q)});let J=[...F.data].map((Q,Y)=>{return B.type._parseSync(new K1(F,Q,F.path,Y))});return oD.mergeArray($,J)}get element(){return this._def.type}min(D,F){return new E1({...this._def,minLength:{value:D,message:y.toString(F)}})}max(D,F){return new E1({...this._def,maxLength:{value:D,message:y.toString(F)}})}length(D,F){return new E1({...this._def,exactLength:{value:D,message:y.toString(F)}})}nonempty(D){return this.min(1,D)}}E1.create=(D,F)=>{return new E1({type:D,minLength:null,maxLength:null,exactLength:null,typeName:h.ZodArray,...o(F)})};function YF(D){if(D instanceof ID){let F={};for(let $ in D.shape){let B=D.shape[$];F[$]=q1.create(YF(B))}return new ID({...D._def,shape:()=>F})}else if(D instanceof E1)return new E1({...D._def,type:YF(D.element)});else if(D instanceof q1)return q1.create(YF(D.unwrap()));else if(D instanceof Q8)return Q8.create(YF(D.unwrap()));else if(D instanceof m1)return m1.create(D.items.map((F)=>YF(F)));else return D}class ID extends t{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=FD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==R.object){let G=this._getOrReturnCtx(D);return O(G,{code:N.invalid_type,expected:R.object,received:G.parsedType}),f}let{status:$,ctx:B}=this._processInputParams(D),{shape:J,keys:Q}=this._getCached(),Y=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let G in B.data)if(!Q.includes(G))Y.push(G)}let X=[];for(let G of Q){let H=J[G],W=B.data[G];X.push({key:{status:"valid",value:G},value:H._parse(new K1(B,W,B.path,G)),alwaysSet:G in B.data})}if(this._def.catchall instanceof u1){let G=this._def.unknownKeys;if(G==="passthrough")for(let H of Y)X.push({key:{status:"valid",value:H},value:{status:"valid",value:B.data[H]}});else if(G==="strict"){if(Y.length>0)O(B,{code:N.unrecognized_keys,keys:Y}),$.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let H of Y){let W=B.data[H];X.push({key:{status:"valid",value:H},value:G._parse(new K1(B,W,B.path,H)),alwaysSet:H in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let G=[];for(let H of X){let W=await H.key,K=await H.value;G.push({key:W,value:K,alwaysSet:H.alwaysSet})}return G}).then((G)=>{return oD.mergeObjectSync($,G)});else return oD.mergeObjectSync($,X)}get shape(){return this._def.shape()}strict(D){return y.errToObj,new ID({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let B=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:y.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new ID({...this._def,unknownKeys:"strip"})}passthrough(){return new ID({...this._def,unknownKeys:"passthrough"})}extend(D){return new ID({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new ID({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:h.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new ID({...this._def,catchall:D})}pick(D){let F={};for(let $ of FD.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new ID({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of FD.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new ID({...this._def,shape:()=>F})}deepPartial(){return YF(this)}partial(D){let F={};for(let $ of FD.objectKeys(this.shape)){let B=this.shape[$];if(D&&!D[$])F[$]=B;else F[$]=B.optional()}return new ID({...this._def,shape:()=>F})}required(D){let F={};for(let $ of FD.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let J=this.shape[$];while(J instanceof q1)J=J._def.innerType;F[$]=J}return new ID({...this._def,shape:()=>F})}keyof(){return rk(FD.objectKeys(this.shape))}}ID.create=(D,F)=>{return new ID({shape:()=>D,unknownKeys:"strip",catchall:u1.create(),typeName:h.ZodObject,...o(F)})};ID.strictCreate=(D,F)=>{return new ID({shape:()=>D,unknownKeys:"strict",catchall:u1.create(),typeName:h.ZodObject,...o(F)})};ID.lazycreate=(D,F)=>{return new ID({shape:D,unknownKeys:"strip",catchall:u1.create(),typeName:h.ZodObject,...o(F)})};class EF extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function B(J){for(let Y of J)if(Y.result.status==="valid")return Y.result;for(let Y of J)if(Y.result.status==="dirty")return F.common.issues.push(...Y.ctx.common.issues),Y.result;let Q=J.map((Y)=>new R0(Y.ctx.common.issues));return O(F,{code:N.invalid_union,unionErrors:Q}),f}if(F.common.async)return Promise.all($.map(async(J)=>{let Q={...F,common:{...F.common,issues:[]},parent:null};return{result:await J._parseAsync({data:F.data,path:F.path,parent:Q}),ctx:Q}})).then(B);else{let J=void 0,Q=[];for(let X of $){let G={...F,common:{...F.common,issues:[]},parent:null},H=X._parseSync({data:F.data,path:F.path,parent:G});if(H.status==="valid")return H;else if(H.status==="dirty"&&!J)J={result:H,ctx:G};if(G.common.issues.length)Q.push(G.common.issues)}if(J)return F.common.issues.push(...J.ctx.common.issues),J.result;let Y=Q.map((X)=>new R0(X));return O(F,{code:N.invalid_union,unionErrors:Y}),f}}get options(){return this._def.options}}EF.create=(D,F)=>{return new EF({options:D,typeName:h.ZodUnion,...o(F)})};var J8=(D)=>{if(D instanceof KF)return J8(D.schema);else if(D instanceof z1)return J8(D.innerType());else if(D instanceof zF)return[D.value];else if(D instanceof t8)return D.options;else if(D instanceof VF)return FD.objectValues(D.enum);else if(D instanceof AF)return J8(D._def.innerType);else if(D instanceof HF)return[void 0];else if(D instanceof WF)return[null];else if(D instanceof q1)return[void 0,...J8(D.unwrap())];else if(D instanceof Q8)return[null,...J8(D.unwrap())];else if(D instanceof q$)return J8(D.unwrap());else if(D instanceof UF)return J8(D.unwrap());else if(D instanceof ZF)return J8(D._def.innerType);else return[]};class E$ extends t{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==R.object)return O(F,{code:N.invalid_type,expected:R.object,received:F.parsedType}),f;let $=this.discriminator,B=F.data[$],J=this.optionsMap.get(B);if(!J)return O(F,{code:N.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),f;if(F.common.async)return J._parseAsync({data:F.data,path:F.path,parent:F});else return J._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,$){let B=new Map;for(let J of F){let Q=J8(J.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let Y of Q){if(B.has(Y))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(Y)}`);B.set(Y,J)}}return new E$({typeName:h.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...o($)})}}function K2(D,F){let $=b1(D),B=b1(F);if(D===F)return{valid:!0,data:D};else if($===R.object&&B===R.object){let J=FD.objectKeys(F),Q=FD.objectKeys(D).filter((X)=>J.indexOf(X)!==-1),Y={...D,...F};for(let X of Q){let G=K2(D[X],F[X]);if(!G.valid)return{valid:!1};Y[X]=G.data}return{valid:!0,data:Y}}else if($===R.array&&B===R.array){if(D.length!==F.length)return{valid:!1};let J=[];for(let Q=0;Q<D.length;Q++){let Y=D[Q],X=F[Q],G=K2(Y,X);if(!G.valid)return{valid:!1};J.push(G.data)}return{valid:!0,data:J}}else if($===R.date&&B===R.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class qF extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=(J,Q)=>{if(H$(J)||H$(Q))return f;let Y=K2(J.value,Q.value);if(!Y.valid)return O($,{code:N.invalid_intersection_types}),f;if(W$(J)||W$(Q))F.dirty();return{status:F.value,value:Y.data}};if($.common.async)return Promise.all([this._def.left._parseAsync({data:$.data,path:$.path,parent:$}),this._def.right._parseAsync({data:$.data,path:$.path,parent:$})]).then(([J,Q])=>B(J,Q));else return B(this._def.left._parseSync({data:$.data,path:$.path,parent:$}),this._def.right._parseSync({data:$.data,path:$.path,parent:$}))}}qF.create=(D,F,$)=>{return new qF({left:D,right:F,typeName:h.ZodIntersection,...o($)})};class m1 extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.array)return O($,{code:N.invalid_type,expected:R.array,received:$.parsedType}),f;if($.data.length<this._def.items.length)return O($,{code:N.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),f;if(!this._def.rest&&$.data.length>this._def.items.length)O($,{code:N.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let J=[...$.data].map((Q,Y)=>{let X=this._def.items[Y]||this._def.rest;if(!X)return null;return X._parse(new K1($,Q,$.path,Y))}).filter((Q)=>!!Q);if($.common.async)return Promise.all(J).then((Q)=>{return oD.mergeArray(F,Q)});else return oD.mergeArray(F,J)}get items(){return this._def.items}rest(D){return new m1({...this._def,rest:D})}}m1.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new m1({items:D,typeName:h.ZodTuple,rest:null,...o(F)})};class Y5 extends t{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.object)return O($,{code:N.invalid_type,expected:R.object,received:$.parsedType}),f;let B=[],J=this._def.keyType,Q=this._def.valueType;for(let Y in $.data)B.push({key:J._parse(new K1($,Y,$.path,Y)),value:Q._parse(new K1($,$.data[Y],$.path,Y)),alwaysSet:Y in $.data});if($.common.async)return oD.mergeObjectAsync(F,B);else return oD.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof t)return new Y5({keyType:D,valueType:F,typeName:h.ZodRecord,...o($)});return new Y5({keyType:W1.create(),valueType:D,typeName:h.ZodRecord,...o(F)})}}class X5 extends t{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.map)return O($,{code:N.invalid_type,expected:R.map,received:$.parsedType}),f;let B=this._def.keyType,J=this._def.valueType,Q=[...$.data.entries()].map(([Y,X],G)=>{return{key:B._parse(new K1($,Y,$.path,[G,"key"])),value:J._parse(new K1($,X,$.path,[G,"value"]))}});if($.common.async){let Y=new Map;return Promise.resolve().then(async()=>{for(let X of Q){let G=await X.key,H=await X.value;if(G.status==="aborted"||H.status==="aborted")return f;if(G.status==="dirty"||H.status==="dirty")F.dirty();Y.set(G.value,H.value)}return{status:F.value,value:Y}})}else{let Y=new Map;for(let X of Q){let{key:G,value:H}=X;if(G.status==="aborted"||H.status==="aborted")return f;if(G.status==="dirty"||H.status==="dirty")F.dirty();Y.set(G.value,H.value)}return{status:F.value,value:Y}}}}X5.create=(D,F,$)=>{return new X5({valueType:F,keyType:D,typeName:h.ZodMap,...o($)})};class _6 extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.set)return O($,{code:N.invalid_type,expected:R.set,received:$.parsedType}),f;let B=this._def;if(B.minSize!==null){if($.data.size<B.minSize.value)O($,{code:N.too_small,minimum:B.minSize.value,type:"set",inclusive:!0,exact:!1,message:B.minSize.message}),F.dirty()}if(B.maxSize!==null){if($.data.size>B.maxSize.value)O($,{code:N.too_big,maximum:B.maxSize.value,type:"set",inclusive:!0,exact:!1,message:B.maxSize.message}),F.dirty()}let J=this._def.valueType;function Q(X){let G=new Set;for(let H of X){if(H.status==="aborted")return f;if(H.status==="dirty")F.dirty();G.add(H.value)}return{status:F.value,value:G}}let Y=[...$.data.values()].map((X,G)=>J._parse(new K1($,X,$.path,G)));if($.common.async)return Promise.all(Y).then((X)=>Q(X));else return Q(Y)}min(D,F){return new _6({...this._def,minSize:{value:D,message:y.toString(F)}})}max(D,F){return new _6({...this._def,maxSize:{value:D,message:y.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}_6.create=(D,F)=>{return new _6({valueType:D,minSize:null,maxSize:null,typeName:h.ZodSet,...o(F)})};class XF extends t{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==R.function)return O(F,{code:N.invalid_type,expected:R.function,received:F.parsedType}),f;function $(Y,X){return B5({data:Y,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,JF(),B8].filter((G)=>!!G),issueData:{code:N.invalid_arguments,argumentsError:X}})}function B(Y,X){return B5({data:Y,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,JF(),B8].filter((G)=>!!G),issueData:{code:N.invalid_return_type,returnTypeError:X}})}let J={errorMap:F.common.contextualErrorMap},Q=F.data;if(this._def.returns instanceof f6){let Y=this;return Y0(async function(...X){let G=new R0([]),H=await Y._def.args.parseAsync(X,J).catch((V)=>{throw G.addIssue($(X,V)),G}),W=await Reflect.apply(Q,this,H);return await Y._def.returns._def.type.parseAsync(W,J).catch((V)=>{throw G.addIssue(B(W,V)),G})})}else{let Y=this;return Y0(function(...X){let G=Y._def.args.safeParse(X,J);if(!G.success)throw new R0([$(X,G.error)]);let H=Reflect.apply(Q,this,G.data),W=Y._def.returns.safeParse(H,J);if(!W.success)throw new R0([B(H,W.error)]);return W.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new XF({...this._def,args:m1.create(D).rest(o8.create())})}returns(D){return new XF({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new XF({args:D?D:m1.create([]).rest(o8.create()),returns:F||o8.create(),typeName:h.ZodFunction,...o($)})}}class KF extends t{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}}KF.create=(D,F)=>{return new KF({getter:D,typeName:h.ZodLazy,...o(F)})};class zF extends t{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return O(F,{received:F.data,code:N.invalid_literal,expected:this._def.value}),f}return{status:"valid",value:D.data}}get value(){return this._def.value}}zF.create=(D,F)=>{return new zF({value:D,typeName:h.ZodLiteral,...o(F)})};function rk(D,F){return new t8({values:D,typeName:h.ZodEnum,...o(F)})}class t8 extends t{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return O(F,{expected:FD.joinValues($),received:F.parsedType,code:N.invalid_type}),f}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),$=this._def.values;return O(F,{received:F.data,code:N.invalid_enum_value,options:$}),f}return Y0(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return t8.create(D,{...this._def,...F})}exclude(D,F=this._def){return t8.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}}t8.create=rk;class VF extends t{_parse(D){let F=FD.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==R.string&&$.parsedType!==R.number){let B=FD.objectValues(F);return O($,{expected:FD.joinValues(B),received:$.parsedType,code:N.invalid_type}),f}if(!this._cache)this._cache=new Set(FD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=FD.objectValues(F);return O($,{received:$.data,code:N.invalid_enum_value,options:B}),f}return Y0(D.data)}get enum(){return this._def.values}}VF.create=(D,F)=>{return new VF({values:D,typeName:h.ZodNativeEnum,...o(F)})};class f6 extends t{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==R.promise&&F.common.async===!1)return O(F,{code:N.invalid_type,expected:R.promise,received:F.parsedType}),f;let $=F.parsedType===R.promise?F.data:Promise.resolve(F.data);return Y0($.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}f6.create=(D,F)=>{return new f6({type:D,typeName:h.ZodPromise,...o(F)})};class z1 extends t{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===h.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=this._def.effect||null,J={addIssue:(Q)=>{if(O($,Q),Q.fatal)F.abort();else F.dirty()},get path(){return $.path}};if(J.addIssue=J.addIssue.bind(J),B.type==="preprocess"){let Q=B.transform($.data,J);if($.common.async)return Promise.resolve(Q).then(async(Y)=>{if(F.value==="aborted")return f;let X=await this._def.schema._parseAsync({data:Y,path:$.path,parent:$});if(X.status==="aborted")return f;if(X.status==="dirty")return v6(X.value);if(F.value==="dirty")return v6(X.value);return X});else{if(F.value==="aborted")return f;let Y=this._def.schema._parseSync({data:Q,path:$.path,parent:$});if(Y.status==="aborted")return f;if(Y.status==="dirty")return v6(Y.value);if(F.value==="dirty")return v6(Y.value);return Y}}if(B.type==="refinement"){let Q=(Y)=>{let X=B.refinement(Y,J);if($.common.async)return Promise.resolve(X);if(X instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Y};if($.common.async===!1){let Y=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(Y.status==="aborted")return f;if(Y.status==="dirty")F.dirty();return Q(Y.value),{status:F.value,value:Y.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Y)=>{if(Y.status==="aborted")return f;if(Y.status==="dirty")F.dirty();return Q(Y.value).then(()=>{return{status:F.value,value:Y.value}})})}if(B.type==="transform")if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!a8(Q))return f;let Y=B.transform(Q.value,J);if(Y instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:Y}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(!a8(Q))return f;return Promise.resolve(B.transform(Q.value,J)).then((Y)=>({status:F.value,value:Y}))});FD.assertNever(B)}}z1.create=(D,F,$)=>{return new z1({schema:D,typeName:h.ZodEffects,effect:F,...o($)})};z1.createWithPreprocess=(D,F,$)=>{return new z1({schema:F,effect:{type:"preprocess",transform:D},typeName:h.ZodEffects,...o($)})};class q1 extends t{_parse(D){if(this._getType(D)===R.undefined)return Y0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}q1.create=(D,F)=>{return new q1({innerType:D,typeName:h.ZodOptional,...o(F)})};class Q8 extends t{_parse(D){if(this._getType(D)===R.null)return Y0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}Q8.create=(D,F)=>{return new Q8({innerType:D,typeName:h.ZodNullable,...o(F)})};class AF extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===R.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}AF.create=(D,F)=>{return new AF({innerType:D,typeName:h.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...o(F)})};class ZF extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(QF(B))return B.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new R0($.common.issues)},input:$.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new R0($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}}ZF.create=(D,F)=>{return new ZF({innerType:D,typeName:h.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...o(F)})};class G5 extends t{_parse(D){if(this._getType(D)!==R.nan){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.nan,received:$.parsedType}),f}return{status:"valid",value:D.data}}}G5.create=(D)=>{return new G5({typeName:h.ZodNaN,...o(D)})};var $2D=Symbol("zod_brand");class q$ extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;return this._def.type._parse({data:$,path:F.path,parent:F})}unwrap(){return this._def.type}}class H5 extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:$.data,path:$.path,parent:$});if(J.status==="aborted")return f;if(J.status==="dirty")return F.dirty(),v6(J.value);else return this._def.out._parseAsync({data:J.value,path:$.path,parent:$})})();else{let B=this._def.in._parseSync({data:$.data,path:$.path,parent:$});if(B.status==="aborted")return f;if(B.status==="dirty")return F.dirty(),{status:"dirty",value:B.value};else return this._def.out._parseSync({data:B.value,path:$.path,parent:$})}}static create(D,F){return new H5({in:D,out:F,typeName:h.ZodPipeline})}}class UF extends t{_parse(D){let F=this._def.innerType._parse(D),$=(B)=>{if(a8(B))B.value=Object.freeze(B.value);return B};return QF(F)?F.then((B)=>$(B)):$(F)}unwrap(){return this._def.innerType}}UF.create=(D,F)=>{return new UF({innerType:D,typeName:h.ZodReadonly,...o(F)})};function ik(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function tk(D,F={},$){if(D)return x6.create().superRefine((B,J)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((Y)=>{if(!Y){let X=ik(F,B),G=X.fatal??$??!0;J.addIssue({code:"custom",...X,fatal:G})}});if(!Q){let Y=ik(F,B),X=Y.fatal??$??!0;J.addIssue({code:"custom",...Y,fatal:X})}return});return x6.create()}var B2D={object:ID.lazycreate},h;(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(h||(h={}));var J2D=(D,F={message:`Input not instance of ${D.name}`})=>tk(($)=>$ instanceof D,F),ek=W1.create,Dv=s8.create,Q2D=G5.create,Y2D=r8.create,Fv=GF.create,X2D=y6.create,G2D=J5.create,H2D=HF.create,W2D=WF.create,E2D=x6.create,q2D=o8.create,K2D=u1.create,z2D=Q5.create,V2D=E1.create,A2D=ID.create,Z2D=ID.strictCreate,U2D=EF.create,L2D=E$.create,M2D=qF.create,N2D=m1.create,C2D=Y5.create,R2D=X5.create,w2D=_6.create,T2D=XF.create,O2D=KF.create,j2D=zF.create,I2D=t8.create,P2D=VF.create,S2D=f6.create,k2D=z1.create,v2D=q1.create,y2D=Q8.create,x2D=z1.createWithPreprocess,_2D=H5.create,f2D=()=>ek().optional(),g2D=()=>Dv().optional(),h2D=()=>Fv().optional(),b2D={string:(D)=>W1.create({...D,coerce:!0}),number:(D)=>s8.create({...D,coerce:!0}),boolean:(D)=>GF.create({...D,coerce:!0}),bigint:(D)=>r8.create({...D,coerce:!0}),date:(D)=>y6.create({...D,coerce:!0})};var u2D=f;var zCD=V1.object({apiKey:V1.string().optional(),apiUrl:V1.string().url().default("https://api.osc.earth/nemar"),username:V1.string().optional(),email:V1.string().email().optional(),githubUsername:V1.string().optional(),sandboxCompleted:V1.boolean().optional(),sandboxDatasetId:V1.string().optional()}),S0=new G$({projectName:"nemar",schema:{apiKey:{type:"string"},apiUrl:{type:"string",default:"https://api.osc.earth/nemar"},username:{type:"string"},email:{type:"string"},githubUsername:{type:"string"},sandboxCompleted:{type:"boolean"},sandboxDatasetId:{type:"string"}},...process.env.NEMAR_CONFIG_DIR?{cwd:process.env.NEMAR_CONFIG_DIR}:{}});function sD(){return{apiKey:S0.get("apiKey"),apiUrl:S0.get("apiUrl"),username:S0.get("username"),email:S0.get("email"),githubUsername:S0.get("githubUsername"),sandboxCompleted:S0.get("sandboxCompleted"),sandboxDatasetId:S0.get("sandboxDatasetId")}}function $v(){return!!S0.get("sandboxCompleted")}function q0(D,F){S0.set(D,F)}function z2(D){S0.delete(D)}function Bv(){S0.clear()}function PD(){return!!S0.get("apiKey")}function Jv(){return S0.path}var m2D="https://api.osc.earth/nemar";class u extends Error{statusCode;details;constructor(D,F,$){super(F);this.statusCode=D;this.details=$;this.name="ApiError"}}function Qv(){return sD().apiUrl||m2D}async function JD(D,F={},$=!1){let B=`${Qv()}${D}`,J={"Content-Type":"application/json",...F.headers};if($){let X=sD();if(!X.apiKey)throw new u(401,"Not authenticated. Run 'nemar auth login' first.");J.Authorization=`Bearer ${X.apiKey}`}let Q;try{Q=await fetch(B,{...F,headers:J})}catch(X){throw new u(0,`Network error: Could not connect to ${Qv()}`,{originalError:X instanceof Error?X.message:String(X)})}let Y;try{Y=await Q.json()}catch{throw new u(Q.status,`Invalid response from server (status ${Q.status})`)}if(!Q.ok)throw new u(Q.status,Y.error||Y.message||"Request failed",Y.details);return Y}async function Yv(D){return JD(`/auth/check-username?username=${encodeURIComponent(D)}`)}async function Xv(D){return JD(`/auth/check-github?username=${encodeURIComponent(D)}`)}async function Gv(D){return JD("/auth/signup",{method:"POST",body:JSON.stringify(D)})}async function Hv(D){return JD("/auth/login",{method:"POST",body:JSON.stringify({api_key:D})})}async function Wv(D){return JD("/auth/resend-verification",{method:"POST",body:JSON.stringify({email:D})})}async function Ev(){return JD("/users/me",{},!0)}async function qv(D){let F=D?`?status=${D}`:"";return JD(`/admin/users${F}`,{},!0)}async function Kv(D){return JD(`/admin/approve/${D}`,{method:"POST"},!0)}async function zv(D){return JD(`/admin/revoke/${D}`,{method:"POST"},!0)}async function Vv(D){return JD(`/admin/regenerate-iam/${D}`,{method:"POST"},!0)}async function V2(D,F){return JD(`/admin/datasets/${D}/visibility`,{method:"PATCH",body:JSON.stringify({visibility:F})},!0)}async function Av(D){return JD(`/admin/datasets/${D}/ci`,{},!0)}async function K$(D){return JD(`/admin/datasets/${D}/ci`,{method:"POST"},!0)}async function Zv(D){return JD(`/datasets/${D}/ci/status`,{},!0)}async function Uv(D){return JD(`/datasets/${D}/manifest`,{},!0)}async function Lv(D,F){return JD(`/datasets/${D}/manifest/${F}`,{},!0)}function l2D(D){let F=D;if(!["active","archived","deleted"].includes(F.status))throw Error(`Invalid dataset status: ${F.status}`);if(!["public","private"].includes(F.visibility))throw Error(`Invalid dataset visibility: ${F.visibility}`);return F}async function Mv(){let D=await JD("/datasets");return D.datasets=D.datasets.map(l2D),D}async function e8(D){return(await JD(`/datasets/${D}`)).dataset}async function z$(D){return JD("/datasets",{method:"POST",body:JSON.stringify(D)},!0)}async function V$(D){return JD(`/datasets/${D}/finalize`,{method:"POST"},!0)}async function Nv(D,F){return JD(`/datasets/${D}/upload-urls`,{method:"POST",body:JSON.stringify({files:F})},!0)}async function Cv(D,F){return JD(`/admin/datasets/${D}/doi/concept`,{method:"POST",body:JSON.stringify(F)},!0)}async function A2(D){return JD(`/admin/datasets/${D}/doi`,{},!0)}async function Rv(D){return JD(`/datasets/${D}/request-access`,{method:"POST"},!0)}async function wv(D,F){return JD(`/datasets/${D}/invite`,{method:"POST",body:JSON.stringify({username:F})},!0)}async function Tv(D){return JD(`/datasets/${D}/collaborators`,{},!0)}async function Ov(D){return JD("/sandbox/complete",{method:"POST",body:JSON.stringify({dataset_id:D})},!0)}async function jv(){return JD("/sandbox/reset",{method:"POST"},!0)}async function Iv(){return JD("/sandbox/status",{},!0)}async function Pv(D){return JD(`/datasets/${D}/publish/request`,{method:"POST"},!0)}async function Sv(D){return JD(`/datasets/${D}/publish/status`,{},!0)}async function kv(D){return JD(`/datasets/${D}/publish/resend`,{method:"POST"},!0)}async function vv(D){let F=D?`?status=${D}`:"";return JD(`/admin/publish/requests${F}`,{},!0)}async function yv(D,F){return JD(`/admin/publish/${D}/deny`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:F})},!0)}async function xv(D,F=!1){return JD(`/admin/publish/${D}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resume:F})},!0)}async function rD(D,F,$=!1){if(F.no)return"declined";if(F.yes)return"confirmed";try{let{confirmed:B}=await D1.prompt([{type:"confirm",name:"confirmed",message:D,default:$}]);return B?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}async function _v(D,F,$){if($.no)return"declined";if($.yes)return"confirmed";try{let{input:B}=await D1.prompt([{type:"input",name:"input",message:D,validate:(J)=>{if(J!==F)return`Input does not match. Expected: ${F}`;return!0}}]);return B===F?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}var _D="-y, --yes",tD="-n, --no",fD="Skip confirmation and proceed",eD="Skip confirmation and decline";import{existsSync as hv,statSync as d2D}from"fs";import{join as Z2}from"path";var{spawn:p2D}=globalThis.Bun;async function m(D,F={}){let $=p2D({cmd:D,cwd:F.cwd,stdout:"pipe",stderr:"pipe",env:{...process.env,...F.env}}),B=await new Response($.stdout).text(),J=await new Response($.stderr).text(),Q=await $.exited;return{stdout:B,stderr:J,exitCode:Q}}function fv(D){return D.split(".").map((F)=>{let $=Number.parseInt(F.replace(/[^0-9]/g,""),10);return Number.isNaN($)?0:$})}function c2D(D,F){let $=fv(D),B=fv(F);for(let J=0;J<Math.max($.length,B.length);J++){let Q=$[J]||0,Y=B[J]||0;if(Q>Y)return!0;if(Q<Y)return!1}return!0}async function bv(){try{let{stdout:F,exitCode:$,stderr:B}=await m(["git-annex","version"]);if($!==0)return console.warn("git-annex version returned non-zero exit code:",$),console.warn("stderr:",B),{installed:!1,minVersion:"10.0",error:`Version check failed: ${B.trim()}`};let J=F.match(/version:\s*(\d+\.\d+)/),Q=J?J[1]:void 0;if(!Q)console.warn("Could not parse git-annex version from output:",F);return{installed:!0,version:Q,minVersion:"10.0",compatible:Q?c2D(Q,"10.0"):void 0}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return console.info("git-annex not found in PATH"),{installed:!1,minVersion:"10.0"};return console.error("Error checking git-annex installation:",$),{installed:!1,minVersion:"10.0",error:$}}}async function n2D(){if(process.env.GH_TOKEN)return{accessible:!0,username:"token-auth",useHttps:!0};try{let{stdout:D,stderr:F,exitCode:$}=await m(["ssh","-T","-o","BatchMode=yes","-o","StrictHostKeyChecking=accept-new","-o","ConnectTimeout=10","git@github.com"]),B=D+F,J=B.match(/Hi ([^!]+)!/);if(J)return{accessible:!0,username:J[1]};if(B.includes("Permission denied"))return{accessible:!1};return{accessible:B.includes("successfully authenticated")}}catch(D){let F=D instanceof Error?D.message:String(D);if(F.includes("ENOENT")||F.includes("not found"))console.info("SSH command not found");else console.error("Error checking GitHub SSH access:",F);return{accessible:!1}}}function uv(){let D=process.platform;if(D==="darwin")return"brew install git-annex";if(D==="linux")return"apt install git-annex (Debian/Ubuntu)";return"See https://git-annex.branchable.com/install/"}async function A$(){let[D,F]=await Promise.all([bv(),n2D()]),$=[];if(!D.installed)$.push(`git-annex is not installed. Install: ${uv()}`);else if(D.compatible===!1)$.push(`git-annex version ${D.version} is too old. Required: >= ${D.minVersion}`);if(!F.accessible)$.push("GitHub SSH access not configured. Run 'nemar auth setup-ssh' to configure automatically.");return{gitAnnex:D,githubSSH:F,allPassed:$.length===0,errors:$}}async function Y8(D){if(!hv(Z2(D,".git")))return!1;try{let{exitCode:F}=await m(["git","annex","info"],{cwd:D});return F===0}catch(F){let $=F instanceof Error?F.message:String(F);if(!$.includes("ENOENT")&&!$.includes("not found"))console.error(`Error checking if ${D} is a git-annex dataset:`,$);return!1}}async function Z$(D,F={}){if(!F.force&&await Y8(D))return{success:!0};try{let $={};if(F.author)$.GIT_AUTHOR_NAME=F.author.name,$.GIT_AUTHOR_EMAIL=F.author.email,$.GIT_COMMITTER_NAME=F.author.name,$.GIT_COMMITTER_EMAIL=F.author.email;let{stderr:B,exitCode:J}=await m(["git","init",D],{...Object.keys($).length>0?{env:$}:{}});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git repository"};let{stderr:Q,exitCode:Y}=await m(["git","annex","init"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(Y!==0)return{success:!1,error:Q.trim()||"Failed to initialize git-annex"};return{success:!0}}catch($){return{success:!1,error:$.message}}}async function mv(D){try{let{exitCode:F,stderr:$}=await m(["git","annex","info"],{cwd:D});if(F===0)return{success:!0};if($.includes("First run: git-annex init")){let{stderr:B,exitCode:J}=await m(["git","annex","init"],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git-annex"};return{success:!0}}return{success:!1,error:$.trim()||"Failed to check git-annex status"}}catch(F){return{success:!1,error:F.message}}}async function U$(D,F){let B=F||"include=*.edf or include=*.bdf or include=*.set or include=*.fif or include=*.vhdr or include=*.eeg or include=*.cnt or include=*.fdt or largerthan=100kb";try{let{stderr:J,exitCode:Q}=await m(["git","annex","config","--set","annex.largefiles",B],{cwd:D});if(Q!==0)return{success:!1,error:J.trim()||"Failed to configure largefiles"};return{success:!0}}catch(J){return{success:!1,error:J.message}}}async function i2D(){try{let{exitCode:D,stderr:F}=await m(["ssh","-T","-o","BatchMode=yes","-o","ConnectTimeout=5","git@github.com"]),$=F.includes("successfully authenticated");if(!$)console.warn("SSH test to github.com failed:",{exitCode:D,stderr:F.trim().slice(0,500)});return{works:$,error:$?void 0:F.trim().slice(0,500)}}catch(D){let F=D instanceof Error?D.message:String(D);return console.warn("SSH test exception:",F),{works:!1,error:F}}}async function a2D(){try{let{stdout:D,exitCode:F,stderr:$}=await m(["gh","auth","token"]);if(F!==0)return console.warn("gh CLI returned non-zero exit code:",F),console.warn("stderr:",$),{token:null,error:`gh auth token failed: ${$.trim()||"unknown error"}`};if(!D.trim())return console.warn("gh auth token returned empty output"),{token:null,error:"gh CLI returned empty token"};return{token:D.trim()}}catch(D){let F=D instanceof Error?D.message:String(D);if(console.error("Failed to get GitHub token from gh CLI:",F),F.includes("ENOENT")||F.includes("not found"))return{token:null,error:"gh CLI not installed (command not found)"};return{token:null,error:`gh CLI error: ${F}`}}}async function L$(D){try{let{stdout:F,exitCode:$,stderr:B}=await m(["gh","api","user","--jq",".login"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{authenticated:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};return{authenticated:!1,error:`gh CLI error: ${B.trim()||"unknown error"}`}}let J=F.trim();if(!J)return{authenticated:!1,error:"gh CLI returned empty username"};if(D){let Q=J.toLowerCase()===D.toLowerCase();return{authenticated:!0,username:J,matches:Q,error:Q?void 0:`gh CLI authenticated as '${J}', expected '${D}'`}}return{authenticated:!0,username:J}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return{authenticated:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{authenticated:!1,error:`Failed to verify gh CLI: ${$}`}}}async function M$(D){if(!/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/.test(D))return{accepted:!1,error:`Invalid repository format: ${D}`};let{stdout:F,exitCode:$,stderr:B}=await m(["gh","api","/user/repository_invitations"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{accepted:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};if(B.includes("API rate limit")||B.includes("403"))return{accepted:!1,error:"GitHub API rate limit exceeded. Please try again in a few minutes."};if(B.includes("ENOENT")||B.includes("not found"))return{accepted:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{accepted:!1,error:`Failed to list invitations: ${B.trim()||"unknown error"}`}}let J=null;try{J=JSON.parse(F||"[]").find((H)=>H.repository.full_name===D)?.id??null}catch(X){let G=X instanceof Error?X.message:String(X);return console.error("Failed to parse GitHub invitations response:",G),console.error(" Raw response (first 500 chars):",(F||"").slice(0,500)),{accepted:!1,error:`Failed to parse GitHub API response: ${G}`}}if(!J){let{exitCode:X}=await m(["gh","api",`/repos/${D}`,"--silent"]);if(X===0)return{accepted:!0,alreadyCollaborator:!0};return{accepted:!1,error:`No pending invitation found for ${D}. You may need to accept it manually via GitHub.`}}let{exitCode:Q,stderr:Y}=await m(["gh","api","--method","PATCH",`/user/repository_invitations/${J}`]);if(Q!==0)return{accepted:!1,error:`Failed to accept invitation: ${Y.trim()||"unknown error"}`};return{accepted:!0}}async function N$(D,F,$="origin"){let B=F;if(process.env.GH_TOKEN&&F.startsWith("git@github.com:")){let J=process.env.GH_TOKEN.trim();if(!J||/\s/.test(J))return{success:!1,error:"GH_TOKEN environment variable is set but appears malformed (empty or contains whitespace)"};let Q=F.replace("git@github.com:","");B=`https://${J}@github.com/${Q}`}else if(F.startsWith("git@github.com:")){let J=F.replace("git@github.com:",""),Q=await i2D();if(Q.works)B=F;else{console.warn("GitHub SSH not available, falling back to HTTPS with gh CLI token...");let Y=await a2D();if(Y.token)B=`https://${Y.token}@github.com/${J}`,console.warn("Note: using HTTPS with gh CLI token. If the token expires, re-run 'gh auth login'.");else return{success:!1,error:`GitHub authentication not configured.
|
|
91
|
+
`;return this.stop(),this.#Q.write(H),this}}function C(D){return new Ww(D)}import{isDeepStrictEqual as OXD}from"util";import uk from"process";import S6 from"fs";import mk from"path";import $5 from"crypto";import jXD from"assert";var M6=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var MY=new Set(["__proto__","prototype","constructor"]),v8D=new Set("0123456789");function Y7(D){let F=[],$="",B="start",J=!1;for(let Q of D)switch(Q){case"\\":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(J)$+=Q;B="property",J=!J;break}case".":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="property";break}if(J){J=!1,$+=Q;break}if(MY.has($))return[];F.push($),$="",B="property";break}case"[":{if(B==="index")throw Error("Invalid character in an index");if(B==="indexEnd"){B="index";break}if(J){J=!1,$+=Q;break}if(B==="property"){if(MY.has($))return[];F.push($),$=""}B="index";break}case"]":{if(B==="index"){F.push(Number.parseInt($,10)),$="",B="indexEnd";break}if(B==="indexEnd")throw Error("Invalid character after an index")}default:{if(B==="index"&&!v8D.has(Q))throw Error("Invalid character in an index");if(B==="indexEnd")throw Error("Invalid character after an index");if(B==="start")B="property";if(J)J=!1,$+="\\";$+=Q}}if(J)$+="\\";switch(B){case"property":{if(MY.has($))return[];F.push($);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function NY(D,F){if(typeof F!=="number"&&Array.isArray(D)){let $=Number.parseInt(F,10);return Number.isInteger($)&&D[$]===D[F]}return!1}function Ew(D,F){if(NY(D,F))throw Error("Cannot use string index")}function qw(D,F,$){if(!M6(D)||typeof F!=="string")return $===void 0?D:$;let B=Y7(F);if(B.length===0)return $;for(let J=0;J<B.length;J++){let Q=B[J];if(NY(D,Q))D=J===B.length-1?void 0:null;else D=D[Q];if(D===void 0||D===null){if(J!==B.length-1)return $;break}}return D===void 0?$:D}function CY(D,F,$){if(!M6(D)||typeof F!=="string")return D;let B=D,J=Y7(F);for(let Q=0;Q<J.length;Q++){let Y=J[Q];if(Ew(D,Y),Q===J.length-1)D[Y]=$;else if(!M6(D[Y]))D[Y]=typeof J[Q+1]==="number"?[]:{};D=D[Y]}return B}function Kw(D,F){if(!M6(D)||typeof F!=="string")return!1;let $=Y7(F);for(let B=0;B<$.length;B++){let J=$[B];if(Ew(D,J),B===$.length-1)return delete D[J],!0;if(D=D[J],!M6(D))return!1}}function zw(D,F){if(!M6(D)||typeof F!=="string")return!1;let $=Y7(F);if($.length===0)return!1;for(let B of $){if(!M6(D)||!(B in D)||NY(D,B))return!1;D=D[B]}return!0}import jD from"path";import Vw from"os";import RY from"process";var b8=Vw.homedir(),wY=Vw.tmpdir(),{env:u4}=RY,y8D=(D)=>{let F=jD.join(b8,"Library");return{data:jD.join(F,"Application Support",D),config:jD.join(F,"Preferences",D),cache:jD.join(F,"Caches",D),log:jD.join(F,"Logs",D),temp:jD.join(wY,D)}},x8D=(D)=>{let F=u4.APPDATA||jD.join(b8,"AppData","Roaming"),$=u4.LOCALAPPDATA||jD.join(b8,"AppData","Local");return{data:jD.join($,D,"Data"),config:jD.join(F,D,"Config"),cache:jD.join($,D,"Cache"),log:jD.join($,D,"Log"),temp:jD.join(wY,D)}},_8D=(D)=>{let F=jD.basename(b8);return{data:jD.join(u4.XDG_DATA_HOME||jD.join(b8,".local","share"),D),config:jD.join(u4.XDG_CONFIG_HOME||jD.join(b8,".config"),D),cache:jD.join(u4.XDG_CACHE_HOME||jD.join(b8,".cache"),D),log:jD.join(u4.XDG_STATE_HOME||jD.join(b8,".local","state"),D),temp:jD.join(wY,F,D)}};function TY(D,{suffix:F="nodejs"}={}){if(typeof D!=="string")throw TypeError(`Expected a string, got ${typeof D}`);if(F)D+=`-${F}`;if(RY.platform==="darwin")return y8D(D);if(RY.platform==="win32")return x8D(D);return _8D(D)}import d8D from"path";import HD from"fs";import{promisify as $0}from"util";var f8D=(D,F)=>{let{onError:$}=F;return function(...J){return D.apply(void 0,J).catch($)}},v1=f8D;var g8D=(D,F)=>{let{onError:$}=F;return function(...J){try{return D.apply(void 0,J)}catch(Q){return $(Q)}}},$1=g8D;var Aw=250;var h8D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,Y=J.interval??Aw,X=Date.now()+Q;return function G(...H){return D.apply(void 0,H).catch((W)=>{if(!$(W))throw W;if(Date.now()>=X)throw W;let K=Math.round(Y*Math.random());if(K>0)return new Promise((A)=>setTimeout(A,K)).then(()=>G.apply(void 0,H));else return G.apply(void 0,H)})}}},y1=h8D;var b8D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,Y=Date.now()+Q;return function(...G){while(!0)try{return D.apply(void 0,G)}catch(H){if(!$(H))throw H;if(Date.now()>=Y)throw H;continue}}}},x1=b8D;import Uw from"process";var N3={isChangeErrorOk:(D)=>{if(!N3.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!Zw&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!N3.isNodeError(D))return!1;let{code:F}=D;if(F==="EMFILE"||F==="ENFILE"||F==="EAGAIN"||F==="EBUSY"||F==="EACCESS"||F==="EACCES"||F==="EACCS"||F==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!N3.isNodeError(D))throw D;if(N3.isChangeErrorOk(D))return;throw D}},OY=N3;var C3={onError:OY.onChangeError},Z0={onError:()=>{return}},Zw=Uw.getuid?!Uw.getuid():!1,iD={isRetriable:OY.isRetriableError};var u8D={attempt:{chmod:v1($0(HD.chmod),C3),chown:v1($0(HD.chown),C3),close:v1($0(HD.close),Z0),fsync:v1($0(HD.fsync),Z0),mkdir:v1($0(HD.mkdir),Z0),realpath:v1($0(HD.realpath),Z0),stat:v1($0(HD.stat),Z0),unlink:v1($0(HD.unlink),Z0),chmodSync:$1(HD.chmodSync,C3),chownSync:$1(HD.chownSync,C3),closeSync:$1(HD.closeSync,Z0),existsSync:$1(HD.existsSync,Z0),fsyncSync:$1(HD.fsync,Z0),mkdirSync:$1(HD.mkdirSync,Z0),realpathSync:$1(HD.realpathSync,Z0),statSync:$1(HD.statSync,Z0),unlinkSync:$1(HD.unlinkSync,Z0)},retry:{close:y1($0(HD.close),iD),fsync:y1($0(HD.fsync),iD),open:y1($0(HD.open),iD),readFile:y1($0(HD.readFile),iD),rename:y1($0(HD.rename),iD),stat:y1($0(HD.stat),iD),write:y1($0(HD.write),iD),writeFile:y1($0(HD.writeFile),iD),closeSync:x1(HD.closeSync,iD),fsyncSync:x1(HD.fsyncSync,iD),openSync:x1(HD.openSync,iD),readFileSync:x1(HD.readFileSync,iD),renameSync:x1(HD.renameSync,iD),statSync:x1(HD.statSync,iD),writeSync:x1(HD.writeSync,iD),writeFileSync:x1(HD.writeFileSync,iD)}},uD=u8D;import N6 from"process";var Lw="utf8",jY=438,Mw=511;var Nw={},Cw=N6.geteuid?N6.geteuid():-1,Rw=N6.getegid?N6.getegid():-1;var ww=1000,Tw=!!N6.getuid,uZD=N6.getuid?!N6.getuid():!1,IY=128;var Ow=(D)=>{return D instanceof Error&&"code"in D};var PY=(D)=>{return typeof D==="string"},X7=(D)=>{return D===void 0};import l8D from"path";import m4 from"process";import jw from"process";var Iw=jw.platform==="linux",G7=jw.platform==="win32";var SY=["SIGHUP","SIGINT","SIGTERM"];if(!G7)SY.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(Iw)SY.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Pw=SY;class Sw{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let F of this.callbacks)F();if(D)if(G7&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))m4.kill(m4.pid,"SIGTERM");else m4.kill(m4.pid,D)},this.hook=()=>{m4.once("exit",()=>this.exit());for(let D of Pw)try{m4.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var kw=new Sw;var m8D=kw.register,vw=m8D;var P0={store:{},create:(D)=>{let F=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),$=Date.now().toString().slice(-10),B="tmp-",J=`.tmp-${$}${F}`;return`${D}${J}`},get:(D,F,$=!0)=>{let B=P0.truncate(F(D));if(B in P0.store)return P0.get(D,F,$);return P0.store[B]=$,[B,()=>delete P0.store[B]]},purge:(D)=>{if(!P0.store[D])return;delete P0.store[D],uD.attempt.unlink(D)},purgeSync:(D)=>{if(!P0.store[D])return;delete P0.store[D],uD.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in P0.store)P0.purgeSync(D)},truncate:(D)=>{let F=l8D.basename(D);if(F.length<=IY)return D;let $=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!$)return D;let B=F.length-IY;return`${D.slice(0,-F.length)}${$[1]}${$[2].slice(0,-B)}${$[3]}`}};vw(P0.purgeSyncAll);var R3=P0;function kY(D,F,$=Nw){if(PY($))return kY(D,F,{encoding:$});let J={timeout:$.timeout??ww},Q=null,Y=null,X=null;try{let G=uD.attempt.realpathSync(D),H=!!G;D=G||D,[Y,Q]=R3.get(D,$.tmpCreate||R3.create,$.tmpPurge!==!1);let W=Tw&&X7($.chown),K=X7($.mode);if(H&&(W||K)){let V=uD.attempt.statSync(D);if(V){if($={...$},W)$.chown={uid:V.uid,gid:V.gid};if(K)$.mode=V.mode}}if(!H){let V=d8D.dirname(D);uD.attempt.mkdirSync(V,{mode:Mw,recursive:!0})}if(X=uD.retry.openSync(J)(Y,"w",$.mode||jY),$.tmpCreated)$.tmpCreated(Y);if(PY(F))uD.retry.writeSync(J)(X,F,0,$.encoding||Lw);else if(!X7(F))uD.retry.writeSync(J)(X,F,0,F.length,0);if($.fsync!==!1)if($.fsyncWait!==!1)uD.retry.fsyncSync(J)(X);else uD.attempt.fsync(X);if(uD.retry.closeSync(J)(X),X=null,$.chown&&($.chown.uid!==Cw||$.chown.gid!==Rw))uD.attempt.chownSync(Y,$.chown.uid,$.chown.gid);if($.mode&&$.mode!==jY)uD.attempt.chmodSync(Y,$.mode);try{uD.retry.renameSync(J)(Y,D)}catch(V){if(!Ow(V))throw V;if(V.code!=="ENAMETOOLONG")throw V;uD.retry.renameSync(J)(Y,R3.truncate(D))}Q(),Y=null}finally{if(X)uD.attempt.closeSync(X);if(Y)R3.purge(Y)}}var dk=d(wP(),1),pk=d(nP(),1);var OJD=(D,F={})=>{if(typeof D!=="function")throw TypeError(`Expected the first argument to be a function, got \`${typeof D}\``);let{wait:$=0,maxWait:B=Number.POSITIVE_INFINITY,before:J=!1,after:Q=!0}=F;if($<0||B<0)throw RangeError("`wait` and `maxWait` must not be negative.");if(!J&&!Q)throw Error("Both `before` and `after` are false, function wouldn't be called.");let Y,X,G,H=function(...W){let K=this,V=()=>{if(Y=void 0,X)clearTimeout(X),X=void 0;if(Q)G=D.apply(K,W)},A=()=>{if(X=void 0,Y)clearTimeout(Y),Y=void 0;if(Q)G=D.apply(K,W)},Z=J&&!Y;if(clearTimeout(Y),Y=setTimeout(V,$),B>0&&B!==Number.POSITIVE_INFINITY&&!X)X=setTimeout(A,B);if(Z)G=D.apply(K,W);return G};return Z3(H,D),H.cancel=()=>{if(Y)clearTimeout(Y),Y=void 0;if(X)clearTimeout(X),X=void 0},H},nX=OJD;var k6=d(fk(),1);var LXD=Object.prototype.toString;function hk(D,F,$){if(!D)return!1;if(D.constructor===F)return!0;return LXD.call(D)===$}function bk(D){return hk(D,Uint8Array,"[object Uint8Array]")}function MXD(D){return hk(D,ArrayBuffer,"[object ArrayBuffer]")}function NXD(D){return bk(D)||MXD(D)}function CXD(D){if(!bk(D))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof D}\``)}function RXD(D){if(!NXD(D))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof D}\``)}function G2(D,F){if(D.length===0)return new Uint8Array(0);F??=D.reduce((J,Q)=>J+Q.length,0);let $=new Uint8Array(F),B=0;for(let J of D)CXD(J),$.set(J,B),B+=J.length;return $}var gk={utf8:new globalThis.TextDecoder("utf8")};function H2(D,F="utf8"){return RXD(D),gk[F]??=new globalThis.TextDecoder(F),gk[F].decode(D)}function wXD(D){if(typeof D!=="string")throw TypeError(`Expected \`string\`, got \`${typeof D}\``)}var TXD=new globalThis.TextEncoder;function Y$(D){return wXD(D),TXD.encode(D)}var OND=Array.from({length:256},(D,F)=>F.toString(16).padStart(2,"0"));var IXD=pk.default.default,lk="aes-256-cbc",BF=()=>Object.create(null),PXD=(D)=>D!==void 0&&D!==null,SXD=(D,F)=>{let $=new Set(["undefined","symbol","function"]),B=typeof F;if($.has(B))throw TypeError(`Setting a value of type \`${B}\` for key \`${D}\` is not allowed as it's not supported by JSON`)},X$="__internal__",W2=`${X$}.migrations.version`;class G${path;events;#$;#F;#D;#J={};constructor(D={}){let F={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...D};if(!F.cwd){if(!F.projectName)throw Error("Please specify the `projectName` option.");F.cwd=TY(F.projectName,{suffix:F.projectSuffix}).config}if(this.#D=F,F.schema??F.ajvOptions??F.rootSchema){if(F.schema&&typeof F.schema!=="object")throw TypeError("The `schema` option must be an object.");let Q=new dk.Ajv2020({allErrors:!0,useDefaults:!0,...F.ajvOptions});IXD(Q);let Y={...F.rootSchema,type:"object",properties:F.schema};this.#$=Q.compile(Y);for(let[X,G]of Object.entries(F.schema??{}))if(G?.default)this.#J[X]=G.default}if(F.defaults)this.#J={...this.#J,...F.defaults};if(F.serialize)this._serialize=F.serialize;if(F.deserialize)this._deserialize=F.deserialize;this.events=new EventTarget,this.#F=F.encryptionKey;let $=F.fileExtension?`.${F.fileExtension}`:"";this.path=mk.resolve(F.cwd,`${F.configName??"config"}${$}`);let B=this.store,J=Object.assign(BF(),F.defaults,B);if(F.migrations){if(!F.projectVersion)throw Error("Please specify the `projectVersion` option.");this._migrate(F.migrations,F.projectVersion,F.beforeEachMigration)}this._validate(J);try{jXD.deepEqual(B,J)}catch{this.store=J}if(F.watch)this._watch()}get(D,F){if(this.#D.accessPropertiesByDotNotation)return this._get(D,F);let{store:$}=this;return D in $?$[D]:F}set(D,F){if(typeof D!=="string"&&typeof D!=="object")throw TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof D}`);if(typeof D!=="object"&&F===void 0)throw TypeError("Use `delete()` to clear values");if(this._containsReservedKey(D))throw TypeError(`Please don't use the ${X$} key, as it's used to manage this module internal operations.`);let{store:$}=this,B=(J,Q)=>{if(SXD(J,Q),this.#D.accessPropertiesByDotNotation)CY($,J,Q);else $[J]=Q};if(typeof D==="object"){let J=D;for(let[Q,Y]of Object.entries(J))B(Q,Y)}else B(D,F);this.store=$}has(D){if(this.#D.accessPropertiesByDotNotation)return zw(this.store,D);return D in this.store}reset(...D){for(let F of D)if(PXD(this.#J[F]))this.set(F,this.#J[F])}delete(D){let{store:F}=this;if(this.#D.accessPropertiesByDotNotation)Kw(F,D);else delete F[D];this.store=F}clear(){this.store=BF();for(let D of Object.keys(this.#J))this.reset(D)}onDidChange(D,F){if(typeof D!=="string")throw TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof D}`);if(typeof F!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof F}`);return this._handleChange(()=>this.get(D),F)}onDidAnyChange(D){if(typeof D!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof D}`);return this._handleChange(()=>this.store,D)}get size(){return Object.keys(this.store).length}get store(){try{let D=S6.readFileSync(this.path,this.#F?null:"utf8"),F=this._encryptData(D),$=this._deserialize(F);return this._validate($),Object.assign(BF(),$)}catch(D){if(D?.code==="ENOENT")return this._ensureDirectory(),BF();if(this.#D.clearInvalidConfig&&D.name==="SyntaxError")return BF();throw D}}set store(D){this._ensureDirectory(),this._validate(D),this._write(D),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(let[D,F]of Object.entries(this.store))yield[D,F]}_encryptData(D){if(!this.#F)return typeof D==="string"?D:H2(D);try{let F=D.slice(0,16),$=$5.pbkdf2Sync(this.#F,F.toString(),1e4,32,"sha512"),B=$5.createDecipheriv(lk,$,F),J=D.slice(17),Q=typeof J==="string"?Y$(J):J;return H2(G2([B.update(Q),B.final()]))}catch{}return D.toString()}_handleChange(D,F){let $=D(),B=()=>{let J=$,Q=D();if(OXD(Q,J))return;$=Q,F.call(this,Q,J)};return this.events.addEventListener("change",B),()=>{this.events.removeEventListener("change",B)}}_deserialize=(D)=>JSON.parse(D);_serialize=(D)=>JSON.stringify(D,void 0,"\t");_validate(D){if(!this.#$)return;if(this.#$(D)||!this.#$.errors)return;let $=this.#$.errors.map(({instancePath:B,message:J=""})=>`\`${B.slice(1)}\` ${J}`);throw Error("Config schema violation: "+$.join("; "))}_ensureDirectory(){S6.mkdirSync(mk.dirname(this.path),{recursive:!0})}_write(D){let F=this._serialize(D);if(this.#F){let $=$5.randomBytes(16),B=$5.pbkdf2Sync(this.#F,$.toString(),1e4,32,"sha512"),J=$5.createCipheriv(lk,B,$);F=G2([$,Y$(":"),J.update(Y$(F)),J.final()])}if(uk.env.SNAP)S6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});else try{kY(this.path,F,{mode:this.#D.configFileMode})}catch($){if($?.code==="EXDEV"){S6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});return}throw $}}_watch(){if(this._ensureDirectory(),!S6.existsSync(this.path))this._write(BF());if(uk.platform==="win32")S6.watch(this.path,{persistent:!1},nX(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else S6.watchFile(this.path,{persistent:!1},nX(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(D,F,$){let B=this._get(W2,"0.0.0"),J=Object.keys(D).filter((Y)=>this._shouldPerformMigration(Y,B,F)),Q={...this.store};for(let Y of J)try{if($)$(this,{fromVersion:B,toVersion:Y,finalVersion:F,versions:J});let X=D[Y];X?.(this),this._set(W2,Y),B=Y,Q={...this.store}}catch(X){throw this.store=Q,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${X}`)}if(this._isVersionInRangeFormat(B)||!k6.default.eq(B,F))this._set(W2,F)}_containsReservedKey(D){if(typeof D==="object"){if(Object.keys(D)[0]===X$)return!0}if(typeof D!=="string")return!1;if(this.#D.accessPropertiesByDotNotation){if(D.startsWith(`${X$}.`))return!0;return!1}return!1}_isVersionInRangeFormat(D){return k6.default.clean(D)===null}_shouldPerformMigration(D,F,$){if(this._isVersionInRangeFormat(D)){if(F!=="0.0.0"&&k6.default.satisfies(F,D))return!1;return k6.default.satisfies($,D)}if(k6.default.lte(D,F))return!1;if(k6.default.gt(D,$))return!1;return!0}_get(D,F){return qw(this.store,D,F)}_set(D,F){let{store:$}=this;CY($,D,F),this.store=$}}var V1={};Ny(V1,{void:()=>z2D,util:()=>FD,unknown:()=>q2D,union:()=>U2D,undefined:()=>H2D,tuple:()=>N2D,transformer:()=>k2D,symbol:()=>G2D,string:()=>ek,strictObject:()=>Z2D,setErrorMap:()=>yXD,set:()=>w2D,record:()=>C2D,quotelessJson:()=>kXD,promise:()=>S2D,preprocess:()=>x2D,pipeline:()=>_2D,ostring:()=>f2D,optional:()=>v2D,onumber:()=>g2D,oboolean:()=>h2D,objectUtil:()=>E2,object:()=>A2D,number:()=>Dv,nullable:()=>y2D,null:()=>W2D,never:()=>K2D,nativeEnum:()=>P2D,nan:()=>Q2D,map:()=>R2D,makeIssue:()=>B5,literal:()=>j2D,lazy:()=>O2D,late:()=>B2D,isValid:()=>a8,isDirty:()=>W$,isAsync:()=>QF,isAborted:()=>H$,intersection:()=>M2D,instanceof:()=>J2D,getParsedType:()=>b1,getErrorMap:()=>JF,function:()=>T2D,enum:()=>I2D,effect:()=>k2D,discriminatedUnion:()=>L2D,defaultErrorMap:()=>B8,datetimeRegex:()=>sk,date:()=>X2D,custom:()=>tk,coerce:()=>b2D,boolean:()=>Fv,bigint:()=>Y2D,array:()=>V2D,any:()=>E2D,addIssueToContext:()=>O,ZodVoid:()=>Q5,ZodUnknown:()=>o8,ZodUnion:()=>EF,ZodUndefined:()=>HF,ZodType:()=>t,ZodTuple:()=>m1,ZodTransformer:()=>z1,ZodSymbol:()=>J5,ZodString:()=>W1,ZodSet:()=>_6,ZodSchema:()=>t,ZodRecord:()=>Y5,ZodReadonly:()=>UF,ZodPromise:()=>f6,ZodPipeline:()=>H5,ZodParsedType:()=>R,ZodOptional:()=>q1,ZodObject:()=>ID,ZodNumber:()=>s8,ZodNullable:()=>Q8,ZodNull:()=>WF,ZodNever:()=>u1,ZodNativeEnum:()=>VF,ZodNaN:()=>G5,ZodMap:()=>X5,ZodLiteral:()=>zF,ZodLazy:()=>KF,ZodIssueCode:()=>N,ZodIntersection:()=>qF,ZodFunction:()=>XF,ZodFirstPartyTypeKind:()=>h,ZodError:()=>R0,ZodEnum:()=>t8,ZodEffects:()=>z1,ZodDiscriminatedUnion:()=>E$,ZodDefault:()=>AF,ZodDate:()=>y6,ZodCatch:()=>ZF,ZodBranded:()=>q$,ZodBoolean:()=>GF,ZodBigInt:()=>r8,ZodArray:()=>E1,ZodAny:()=>x6,Schema:()=>t,ParseStatus:()=>oD,OK:()=>Y0,NEVER:()=>u2D,INVALID:()=>f,EMPTY_PATH:()=>xXD,DIRTY:()=>v6,BRAND:()=>$2D});var FD;(function(D){D.assertEqual=(J)=>{};function F(J){}D.assertIs=F;function $(J){throw Error()}D.assertNever=$,D.arrayToEnum=(J)=>{let Q={};for(let Y of J)Q[Y]=Y;return Q},D.getValidEnumValues=(J)=>{let Q=D.objectKeys(J).filter((X)=>typeof J[J[X]]!=="number"),Y={};for(let X of Q)Y[X]=J[X];return D.objectValues(Y)},D.objectValues=(J)=>{return D.objectKeys(J).map(function(Q){return J[Q]})},D.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let Q=[];for(let Y in J)if(Object.prototype.hasOwnProperty.call(J,Y))Q.push(Y);return Q},D.find=(J,Q)=>{for(let Y of J)if(Q(Y))return Y;return},D.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function B(J,Q=" | "){return J.map((Y)=>typeof Y==="string"?`'${Y}'`:Y).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(J,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(FD||(FD={}));var E2;(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(E2||(E2={}));var R=FD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),b1=(D)=>{switch(typeof D){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(D)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(D))return R.array;if(D===null)return R.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return R.promise;if(typeof Map<"u"&&D instanceof Map)return R.map;if(typeof Set<"u"&&D instanceof Set)return R.set;if(typeof Date<"u"&&D instanceof Date)return R.date;return R.object;default:return R.unknown}};var N=FD.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),kXD=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class R0 extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=($)=>{this.issues=[...this.issues,$]},this.addIssues=($=[])=>{this.issues=[...this.issues,...$]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(J){return J.message},$={_errors:[]},B=(J)=>{for(let Q of J.issues)if(Q.code==="invalid_union")Q.unionErrors.map(B);else if(Q.code==="invalid_return_type")B(Q.returnTypeError);else if(Q.code==="invalid_arguments")B(Q.argumentsError);else if(Q.path.length===0)$._errors.push(F(Q));else{let Y=$,X=0;while(X<Q.path.length){let G=Q.path[X];if(X!==Q.path.length-1)Y[G]=Y[G]||{_errors:[]};else Y[G]=Y[G]||{_errors:[]},Y[G]._errors.push(F(Q));Y=Y[G],X++}}};return B(this),$}static assert(D){if(!(D instanceof R0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,FD.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},$=[];for(let B of this.issues)if(B.path.length>0){let J=B.path[0];F[J]=F[J]||[],F[J].push(D(B))}else $.push(D(B));return{formErrors:$,fieldErrors:F}}get formErrors(){return this.flatten()}}R0.create=(D)=>{return new R0(D)};var vXD=(D,F)=>{let $;switch(D.code){case N.invalid_type:if(D.received===R.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case N.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,FD.jsonStringifyReplacer)}`;break;case N.unrecognized_keys:$=`Unrecognized key(s) in object: ${FD.joinValues(D.keys,", ")}`;break;case N.invalid_union:$="Invalid input";break;case N.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${FD.joinValues(D.options)}`;break;case N.invalid_enum_value:$=`Invalid enum value. Expected ${FD.joinValues(D.options)}, received '${D.received}'`;break;case N.invalid_arguments:$="Invalid function arguments";break;case N.invalid_return_type:$="Invalid function return type";break;case N.invalid_date:$="Invalid date";break;case N.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if($=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")$=`${$} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)$=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)$=`Invalid input: must end with "${D.validation.endsWith}"`;else FD.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case N.too_small:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else $="Invalid input";break;case N.too_big:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")$=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else $="Invalid input";break;case N.custom:$="Invalid input";break;case N.invalid_intersection_types:$="Intersection results could not be merged";break;case N.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case N.not_finite:$="Number must be finite";break;default:$=F.defaultError,FD.assertNever(D)}return{message:$}},B8=vXD;var ck=B8;function yXD(D){ck=D}function JF(){return ck}var B5=(D)=>{let{data:F,path:$,errorMaps:B,issueData:J}=D,Q=[...$,...J.path||[]],Y={...J,path:Q};if(J.message!==void 0)return{...J,path:Q,message:J.message};let X="",G=B.filter((H)=>!!H).slice().reverse();for(let H of G)X=H(Y,{data:F,defaultError:X}).message;return{...J,path:Q,message:X}},xXD=[];function O(D,F){let $=JF(),B=B5({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===B8?void 0:B8].filter((J)=>!!J)});D.common.issues.push(B)}class oD{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let $=[];for(let B of F){if(B.status==="aborted")return f;if(B.status==="dirty")D.dirty();$.push(B.value)}return{status:D.value,value:$}}static async mergeObjectAsync(D,F){let $=[];for(let B of F){let J=await B.key,Q=await B.value;$.push({key:J,value:Q})}return oD.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let B of F){let{key:J,value:Q}=B;if(J.status==="aborted")return f;if(Q.status==="aborted")return f;if(J.status==="dirty")D.dirty();if(Q.status==="dirty")D.dirty();if(J.value!=="__proto__"&&(typeof Q.value<"u"||B.alwaysSet))$[J.value]=Q.value}return{status:D.value,value:$}}}var f=Object.freeze({status:"aborted"}),v6=(D)=>({status:"dirty",value:D}),Y0=(D)=>({status:"valid",value:D}),H$=(D)=>D.status==="aborted",W$=(D)=>D.status==="dirty",a8=(D)=>D.status==="valid",QF=(D)=>typeof Promise<"u"&&D instanceof Promise;var y;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(y||(y={}));class K1{constructor(D,F,$,B){this._cachedPath=[],this.parent=D,this.data=F,this._path=$,this._key=B}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var nk=(D,F)=>{if(a8(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let $=new R0(D.common.issues);return this._error=$,this._error}}}};function o(D){if(!D)return{};let{errorMap:F,invalid_type_error:$,required_error:B,description:J}=D;if(F&&($||B))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:J};return{errorMap:(Y,X)=>{let{message:G}=D;if(Y.code==="invalid_enum_value")return{message:G??X.defaultError};if(typeof X.data>"u")return{message:G??B??X.defaultError};if(Y.code!=="invalid_type")return{message:X.defaultError};return{message:G??$??X.defaultError}},description:J}}class t{get description(){return this._def.description}_getType(D){return b1(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:b1(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new oD,ctx:{common:D.parent.common,data:D.data,parsedType:b1(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(QF(F))throw Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let $=this.safeParse(D,F);if($.success)return $.data;throw $.error}safeParse(D,F){let $={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:b1(D)},B=this._parseSync({data:D,path:$.path,parent:$});return nk($,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:b1(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return a8($)?{value:$.value}:{issues:F.common.issues}}catch($){if($?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then(($)=>a8($)?{value:$.value}:{issues:F.common.issues})}async parseAsync(D,F){let $=await this.safeParseAsync(D,F);if($.success)return $.data;throw $.error}async safeParseAsync(D,F){let $={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:b1(D)},B=this._parse({data:D,path:$.path,parent:$}),J=await(QF(B)?B:Promise.resolve(B));return nk($,J)}refine(D,F){let $=(B)=>{if(typeof F==="string"||typeof F>"u")return{message:F};else if(typeof F==="function")return F(B);else return F};return this._refinement((B,J)=>{let Q=D(B),Y=()=>J.addIssue({code:N.custom,...$(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((X)=>{if(!X)return Y(),!1;else return!0});if(!Q)return Y(),!1;else return!0})}refinement(D,F){return this._refinement(($,B)=>{if(!D($))return B.addIssue(typeof F==="function"?F($,B):F),!1;else return!0})}_refinement(D){return new z1({schema:this,typeName:h.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(F)=>this["~validate"](F)}}optional(){return q1.create(this,this._def)}nullable(){return Q8.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return E1.create(this)}promise(){return f6.create(this,this._def)}or(D){return EF.create([this,D],this._def)}and(D){return qF.create(this,D,this._def)}transform(D){return new z1({...o(this._def),schema:this,typeName:h.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new AF({...o(this._def),innerType:this,defaultValue:F,typeName:h.ZodDefault})}brand(){return new q$({typeName:h.ZodBranded,type:this,...o(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new ZF({...o(this._def),innerType:this,catchValue:F,typeName:h.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return H5.create(this,D)}readonly(){return UF.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var _XD=/^c[^\s-]{8,}$/i,fXD=/^[0-9a-z]+$/,gXD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hXD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,bXD=/^[a-z0-9_-]{21}$/i,uXD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mXD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,lXD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,dXD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",q2,pXD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cXD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,nXD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,iXD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aXD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,oXD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ak="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",sXD=new RegExp(`^${ak}$`);function ok(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let $=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${$}`}function rXD(D){return new RegExp(`^${ok(D)}$`)}function sk(D){let F=`${ak}T${ok(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function tXD(D,F){if((F==="v4"||!F)&&pXD.test(D))return!0;if((F==="v6"||!F)&&nXD.test(D))return!0;return!1}function eXD(D,F){if(!uXD.test(D))return!1;try{let[$]=D.split(".");if(!$)return!1;let B=$.replace(/-/g,"+").replace(/_/g,"/").padEnd($.length+(4-$.length%4)%4,"="),J=JSON.parse(atob(B));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(F&&J.alg!==F)return!1;return!0}catch{return!1}}function D2D(D,F){if((F==="v4"||!F)&&cXD.test(D))return!0;if((F==="v6"||!F)&&iXD.test(D))return!0;return!1}class W1 extends t{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==R.string){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_type,expected:R.string,received:J.parsedType}),f}let $=new oD,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.length<J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="max"){if(D.data.length>J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),$.dirty()}else if(J.kind==="length"){let Q=D.data.length>J.value,Y=D.data.length<J.value;if(Q||Y){if(B=this._getOrReturnCtx(D,B),Q)O(B,{code:N.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(Y)O(B,{code:N.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});$.dirty()}}else if(J.kind==="email"){if(!lXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"email",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="emoji"){if(!q2)q2=new RegExp(dXD,"u");if(!q2.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"emoji",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="uuid"){if(!hXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"uuid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="nanoid"){if(!bXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"nanoid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid"){if(!_XD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"cuid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid2"){if(!fXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"cuid2",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ulid"){if(!gXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"ulid",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),O(B,{validation:"url",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"regex",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="trim")D.data=D.data.trim();else if(J.kind==="includes"){if(!D.data.includes(J.value,J.position))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),$.dirty()}else if(J.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(J.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(J.kind==="startsWith"){if(!D.data.startsWith(J.value))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:{startsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="endsWith"){if(!D.data.endsWith(J.value))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:{endsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="datetime"){if(!sk(J).test(D.data))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:"datetime",message:J.message}),$.dirty()}else if(J.kind==="date"){if(!sXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:"date",message:J.message}),$.dirty()}else if(J.kind==="time"){if(!rXD(J).test(D.data))B=this._getOrReturnCtx(D,B),O(B,{code:N.invalid_string,validation:"time",message:J.message}),$.dirty()}else if(J.kind==="duration"){if(!mXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"duration",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ip"){if(!tXD(D.data,J.version))B=this._getOrReturnCtx(D,B),O(B,{validation:"ip",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="jwt"){if(!eXD(D.data,J.alg))B=this._getOrReturnCtx(D,B),O(B,{validation:"jwt",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cidr"){if(!D2D(D.data,J.version))B=this._getOrReturnCtx(D,B),O(B,{validation:"cidr",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64"){if(!aXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"base64",code:N.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64url"){if(!oXD.test(D.data))B=this._getOrReturnCtx(D,B),O(B,{validation:"base64url",code:N.invalid_string,message:J.message}),$.dirty()}else FD.assertNever(J);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((B)=>D.test(B),{validation:F,code:N.invalid_string,...y.errToObj($)})}_addCheck(D){return new W1({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...y.errToObj(D)})}url(D){return this._addCheck({kind:"url",...y.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...y.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...y.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...y.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...y.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...y.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...y.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...y.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...y.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...y.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...y.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...y.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...y.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...y.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...y.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...y.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...y.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...y.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...y.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...y.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...y.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...y.errToObj(F)})}nonempty(D){return this.min(1,y.errToObj(D))}trim(){return new W1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new W1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new W1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}W1.create=(D)=>{return new W1({checks:[],typeName:h.ZodString,coerce:D?.coerce??!1,...o(D)})};function F2D(D,F){let $=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,J=$>B?$:B,Q=Number.parseInt(D.toFixed(J).replace(".","")),Y=Number.parseInt(F.toFixed(J).replace(".",""));return Q%Y/10**J}class s8 extends t{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==R.number){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_type,expected:R.number,received:J.parsedType}),f}let $=void 0,B=new oD;for(let J of this._def.checks)if(J.kind==="int"){if(!FD.isInteger(D.data))$=this._getOrReturnCtx(D,$),O($,{code:N.invalid_type,expected:"integer",received:"float",message:J.message}),B.dirty()}else if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(F2D(D.data,J.value)!==0)$=this._getOrReturnCtx(D,$),O($,{code:N.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),O($,{code:N.not_finite,message:J.message}),B.dirty()}else FD.assertNever(J);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,y.toString(F))}gt(D,F){return this.setLimit("min",D,!1,y.toString(F))}lte(D,F){return this.setLimit("max",D,!0,y.toString(F))}lt(D,F){return this.setLimit("max",D,!1,y.toString(F))}setLimit(D,F,$,B){return new s8({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:y.toString(B)}]})}_addCheck(D){return new s8({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:y.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:y.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:y.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:y.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:y.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:y.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:y.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:y.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:y.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&FD.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let $ of this._def.checks)if($.kind==="finite"||$.kind==="int"||$.kind==="multipleOf")return!0;else if($.kind==="min"){if(F===null||$.value>F)F=$.value}else if($.kind==="max"){if(D===null||$.value<D)D=$.value}return Number.isFinite(F)&&Number.isFinite(D)}}s8.create=(D)=>{return new s8({checks:[],typeName:h.ZodNumber,coerce:D?.coerce||!1,...o(D)})};class r8 extends t{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==R.bigint)return this._getInvalidInput(D);let $=void 0,B=new oD;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)$=this._getOrReturnCtx(D,$),O($,{code:N.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(D.data%J.value!==BigInt(0))$=this._getOrReturnCtx(D,$),O($,{code:N.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else FD.assertNever(J);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return O(F,{code:N.invalid_type,expected:R.bigint,received:F.parsedType}),f}gte(D,F){return this.setLimit("min",D,!0,y.toString(F))}gt(D,F){return this.setLimit("min",D,!1,y.toString(F))}lte(D,F){return this.setLimit("max",D,!0,y.toString(F))}lt(D,F){return this.setLimit("max",D,!1,y.toString(F))}setLimit(D,F,$,B){return new r8({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:y.toString(B)}]})}_addCheck(D){return new r8({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:y.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:y.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:y.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:y.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:y.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}}r8.create=(D)=>{return new r8({checks:[],typeName:h.ZodBigInt,coerce:D?.coerce??!1,...o(D)})};class GF extends t{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==R.boolean){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.boolean,received:$.parsedType}),f}return Y0(D.data)}}GF.create=(D)=>{return new GF({typeName:h.ZodBoolean,coerce:D?.coerce||!1,...o(D)})};class y6 extends t{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==R.date){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_type,expected:R.date,received:J.parsedType}),f}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return O(J,{code:N.invalid_date}),f}let $=new oD,B=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.getTime()<J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),$.dirty()}else if(J.kind==="max"){if(D.data.getTime()>J.value)B=this._getOrReturnCtx(D,B),O(B,{code:N.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),$.dirty()}else FD.assertNever(J);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new y6({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:y.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:y.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}}y6.create=(D)=>{return new y6({checks:[],coerce:D?.coerce||!1,typeName:h.ZodDate,...o(D)})};class J5 extends t{_parse(D){if(this._getType(D)!==R.symbol){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.symbol,received:$.parsedType}),f}return Y0(D.data)}}J5.create=(D)=>{return new J5({typeName:h.ZodSymbol,...o(D)})};class HF extends t{_parse(D){if(this._getType(D)!==R.undefined){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.undefined,received:$.parsedType}),f}return Y0(D.data)}}HF.create=(D)=>{return new HF({typeName:h.ZodUndefined,...o(D)})};class WF extends t{_parse(D){if(this._getType(D)!==R.null){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.null,received:$.parsedType}),f}return Y0(D.data)}}WF.create=(D)=>{return new WF({typeName:h.ZodNull,...o(D)})};class x6 extends t{constructor(){super(...arguments);this._any=!0}_parse(D){return Y0(D.data)}}x6.create=(D)=>{return new x6({typeName:h.ZodAny,...o(D)})};class o8 extends t{constructor(){super(...arguments);this._unknown=!0}_parse(D){return Y0(D.data)}}o8.create=(D)=>{return new o8({typeName:h.ZodUnknown,...o(D)})};class u1 extends t{_parse(D){let F=this._getOrReturnCtx(D);return O(F,{code:N.invalid_type,expected:R.never,received:F.parsedType}),f}}u1.create=(D)=>{return new u1({typeName:h.ZodNever,...o(D)})};class Q5 extends t{_parse(D){if(this._getType(D)!==R.undefined){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.void,received:$.parsedType}),f}return Y0(D.data)}}Q5.create=(D)=>{return new Q5({typeName:h.ZodVoid,...o(D)})};class E1 extends t{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),B=this._def;if(F.parsedType!==R.array)return O(F,{code:N.invalid_type,expected:R.array,received:F.parsedType}),f;if(B.exactLength!==null){let Q=F.data.length>B.exactLength.value,Y=F.data.length<B.exactLength.value;if(Q||Y)O(F,{code:Q?N.too_big:N.too_small,minimum:Y?B.exactLength.value:void 0,maximum:Q?B.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:B.exactLength.message}),$.dirty()}if(B.minLength!==null){if(F.data.length<B.minLength.value)O(F,{code:N.too_small,minimum:B.minLength.value,type:"array",inclusive:!0,exact:!1,message:B.minLength.message}),$.dirty()}if(B.maxLength!==null){if(F.data.length>B.maxLength.value)O(F,{code:N.too_big,maximum:B.maxLength.value,type:"array",inclusive:!0,exact:!1,message:B.maxLength.message}),$.dirty()}if(F.common.async)return Promise.all([...F.data].map((Q,Y)=>{return B.type._parseAsync(new K1(F,Q,F.path,Y))})).then((Q)=>{return oD.mergeArray($,Q)});let J=[...F.data].map((Q,Y)=>{return B.type._parseSync(new K1(F,Q,F.path,Y))});return oD.mergeArray($,J)}get element(){return this._def.type}min(D,F){return new E1({...this._def,minLength:{value:D,message:y.toString(F)}})}max(D,F){return new E1({...this._def,maxLength:{value:D,message:y.toString(F)}})}length(D,F){return new E1({...this._def,exactLength:{value:D,message:y.toString(F)}})}nonempty(D){return this.min(1,D)}}E1.create=(D,F)=>{return new E1({type:D,minLength:null,maxLength:null,exactLength:null,typeName:h.ZodArray,...o(F)})};function YF(D){if(D instanceof ID){let F={};for(let $ in D.shape){let B=D.shape[$];F[$]=q1.create(YF(B))}return new ID({...D._def,shape:()=>F})}else if(D instanceof E1)return new E1({...D._def,type:YF(D.element)});else if(D instanceof q1)return q1.create(YF(D.unwrap()));else if(D instanceof Q8)return Q8.create(YF(D.unwrap()));else if(D instanceof m1)return m1.create(D.items.map((F)=>YF(F)));else return D}class ID extends t{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=FD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==R.object){let G=this._getOrReturnCtx(D);return O(G,{code:N.invalid_type,expected:R.object,received:G.parsedType}),f}let{status:$,ctx:B}=this._processInputParams(D),{shape:J,keys:Q}=this._getCached(),Y=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let G in B.data)if(!Q.includes(G))Y.push(G)}let X=[];for(let G of Q){let H=J[G],W=B.data[G];X.push({key:{status:"valid",value:G},value:H._parse(new K1(B,W,B.path,G)),alwaysSet:G in B.data})}if(this._def.catchall instanceof u1){let G=this._def.unknownKeys;if(G==="passthrough")for(let H of Y)X.push({key:{status:"valid",value:H},value:{status:"valid",value:B.data[H]}});else if(G==="strict"){if(Y.length>0)O(B,{code:N.unrecognized_keys,keys:Y}),$.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let H of Y){let W=B.data[H];X.push({key:{status:"valid",value:H},value:G._parse(new K1(B,W,B.path,H)),alwaysSet:H in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let G=[];for(let H of X){let W=await H.key,K=await H.value;G.push({key:W,value:K,alwaysSet:H.alwaysSet})}return G}).then((G)=>{return oD.mergeObjectSync($,G)});else return oD.mergeObjectSync($,X)}get shape(){return this._def.shape()}strict(D){return y.errToObj,new ID({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let B=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:y.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new ID({...this._def,unknownKeys:"strip"})}passthrough(){return new ID({...this._def,unknownKeys:"passthrough"})}extend(D){return new ID({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new ID({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:h.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new ID({...this._def,catchall:D})}pick(D){let F={};for(let $ of FD.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new ID({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of FD.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new ID({...this._def,shape:()=>F})}deepPartial(){return YF(this)}partial(D){let F={};for(let $ of FD.objectKeys(this.shape)){let B=this.shape[$];if(D&&!D[$])F[$]=B;else F[$]=B.optional()}return new ID({...this._def,shape:()=>F})}required(D){let F={};for(let $ of FD.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let J=this.shape[$];while(J instanceof q1)J=J._def.innerType;F[$]=J}return new ID({...this._def,shape:()=>F})}keyof(){return rk(FD.objectKeys(this.shape))}}ID.create=(D,F)=>{return new ID({shape:()=>D,unknownKeys:"strip",catchall:u1.create(),typeName:h.ZodObject,...o(F)})};ID.strictCreate=(D,F)=>{return new ID({shape:()=>D,unknownKeys:"strict",catchall:u1.create(),typeName:h.ZodObject,...o(F)})};ID.lazycreate=(D,F)=>{return new ID({shape:D,unknownKeys:"strip",catchall:u1.create(),typeName:h.ZodObject,...o(F)})};class EF extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function B(J){for(let Y of J)if(Y.result.status==="valid")return Y.result;for(let Y of J)if(Y.result.status==="dirty")return F.common.issues.push(...Y.ctx.common.issues),Y.result;let Q=J.map((Y)=>new R0(Y.ctx.common.issues));return O(F,{code:N.invalid_union,unionErrors:Q}),f}if(F.common.async)return Promise.all($.map(async(J)=>{let Q={...F,common:{...F.common,issues:[]},parent:null};return{result:await J._parseAsync({data:F.data,path:F.path,parent:Q}),ctx:Q}})).then(B);else{let J=void 0,Q=[];for(let X of $){let G={...F,common:{...F.common,issues:[]},parent:null},H=X._parseSync({data:F.data,path:F.path,parent:G});if(H.status==="valid")return H;else if(H.status==="dirty"&&!J)J={result:H,ctx:G};if(G.common.issues.length)Q.push(G.common.issues)}if(J)return F.common.issues.push(...J.ctx.common.issues),J.result;let Y=Q.map((X)=>new R0(X));return O(F,{code:N.invalid_union,unionErrors:Y}),f}}get options(){return this._def.options}}EF.create=(D,F)=>{return new EF({options:D,typeName:h.ZodUnion,...o(F)})};var J8=(D)=>{if(D instanceof KF)return J8(D.schema);else if(D instanceof z1)return J8(D.innerType());else if(D instanceof zF)return[D.value];else if(D instanceof t8)return D.options;else if(D instanceof VF)return FD.objectValues(D.enum);else if(D instanceof AF)return J8(D._def.innerType);else if(D instanceof HF)return[void 0];else if(D instanceof WF)return[null];else if(D instanceof q1)return[void 0,...J8(D.unwrap())];else if(D instanceof Q8)return[null,...J8(D.unwrap())];else if(D instanceof q$)return J8(D.unwrap());else if(D instanceof UF)return J8(D.unwrap());else if(D instanceof ZF)return J8(D._def.innerType);else return[]};class E$ extends t{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==R.object)return O(F,{code:N.invalid_type,expected:R.object,received:F.parsedType}),f;let $=this.discriminator,B=F.data[$],J=this.optionsMap.get(B);if(!J)return O(F,{code:N.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),f;if(F.common.async)return J._parseAsync({data:F.data,path:F.path,parent:F});else return J._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,$){let B=new Map;for(let J of F){let Q=J8(J.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let Y of Q){if(B.has(Y))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(Y)}`);B.set(Y,J)}}return new E$({typeName:h.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...o($)})}}function K2(D,F){let $=b1(D),B=b1(F);if(D===F)return{valid:!0,data:D};else if($===R.object&&B===R.object){let J=FD.objectKeys(F),Q=FD.objectKeys(D).filter((X)=>J.indexOf(X)!==-1),Y={...D,...F};for(let X of Q){let G=K2(D[X],F[X]);if(!G.valid)return{valid:!1};Y[X]=G.data}return{valid:!0,data:Y}}else if($===R.array&&B===R.array){if(D.length!==F.length)return{valid:!1};let J=[];for(let Q=0;Q<D.length;Q++){let Y=D[Q],X=F[Q],G=K2(Y,X);if(!G.valid)return{valid:!1};J.push(G.data)}return{valid:!0,data:J}}else if($===R.date&&B===R.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class qF extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=(J,Q)=>{if(H$(J)||H$(Q))return f;let Y=K2(J.value,Q.value);if(!Y.valid)return O($,{code:N.invalid_intersection_types}),f;if(W$(J)||W$(Q))F.dirty();return{status:F.value,value:Y.data}};if($.common.async)return Promise.all([this._def.left._parseAsync({data:$.data,path:$.path,parent:$}),this._def.right._parseAsync({data:$.data,path:$.path,parent:$})]).then(([J,Q])=>B(J,Q));else return B(this._def.left._parseSync({data:$.data,path:$.path,parent:$}),this._def.right._parseSync({data:$.data,path:$.path,parent:$}))}}qF.create=(D,F,$)=>{return new qF({left:D,right:F,typeName:h.ZodIntersection,...o($)})};class m1 extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.array)return O($,{code:N.invalid_type,expected:R.array,received:$.parsedType}),f;if($.data.length<this._def.items.length)return O($,{code:N.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),f;if(!this._def.rest&&$.data.length>this._def.items.length)O($,{code:N.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let J=[...$.data].map((Q,Y)=>{let X=this._def.items[Y]||this._def.rest;if(!X)return null;return X._parse(new K1($,Q,$.path,Y))}).filter((Q)=>!!Q);if($.common.async)return Promise.all(J).then((Q)=>{return oD.mergeArray(F,Q)});else return oD.mergeArray(F,J)}get items(){return this._def.items}rest(D){return new m1({...this._def,rest:D})}}m1.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new m1({items:D,typeName:h.ZodTuple,rest:null,...o(F)})};class Y5 extends t{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.object)return O($,{code:N.invalid_type,expected:R.object,received:$.parsedType}),f;let B=[],J=this._def.keyType,Q=this._def.valueType;for(let Y in $.data)B.push({key:J._parse(new K1($,Y,$.path,Y)),value:Q._parse(new K1($,$.data[Y],$.path,Y)),alwaysSet:Y in $.data});if($.common.async)return oD.mergeObjectAsync(F,B);else return oD.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof t)return new Y5({keyType:D,valueType:F,typeName:h.ZodRecord,...o($)});return new Y5({keyType:W1.create(),valueType:D,typeName:h.ZodRecord,...o(F)})}}class X5 extends t{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.map)return O($,{code:N.invalid_type,expected:R.map,received:$.parsedType}),f;let B=this._def.keyType,J=this._def.valueType,Q=[...$.data.entries()].map(([Y,X],G)=>{return{key:B._parse(new K1($,Y,$.path,[G,"key"])),value:J._parse(new K1($,X,$.path,[G,"value"]))}});if($.common.async){let Y=new Map;return Promise.resolve().then(async()=>{for(let X of Q){let G=await X.key,H=await X.value;if(G.status==="aborted"||H.status==="aborted")return f;if(G.status==="dirty"||H.status==="dirty")F.dirty();Y.set(G.value,H.value)}return{status:F.value,value:Y}})}else{let Y=new Map;for(let X of Q){let{key:G,value:H}=X;if(G.status==="aborted"||H.status==="aborted")return f;if(G.status==="dirty"||H.status==="dirty")F.dirty();Y.set(G.value,H.value)}return{status:F.value,value:Y}}}}X5.create=(D,F,$)=>{return new X5({valueType:F,keyType:D,typeName:h.ZodMap,...o($)})};class _6 extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==R.set)return O($,{code:N.invalid_type,expected:R.set,received:$.parsedType}),f;let B=this._def;if(B.minSize!==null){if($.data.size<B.minSize.value)O($,{code:N.too_small,minimum:B.minSize.value,type:"set",inclusive:!0,exact:!1,message:B.minSize.message}),F.dirty()}if(B.maxSize!==null){if($.data.size>B.maxSize.value)O($,{code:N.too_big,maximum:B.maxSize.value,type:"set",inclusive:!0,exact:!1,message:B.maxSize.message}),F.dirty()}let J=this._def.valueType;function Q(X){let G=new Set;for(let H of X){if(H.status==="aborted")return f;if(H.status==="dirty")F.dirty();G.add(H.value)}return{status:F.value,value:G}}let Y=[...$.data.values()].map((X,G)=>J._parse(new K1($,X,$.path,G)));if($.common.async)return Promise.all(Y).then((X)=>Q(X));else return Q(Y)}min(D,F){return new _6({...this._def,minSize:{value:D,message:y.toString(F)}})}max(D,F){return new _6({...this._def,maxSize:{value:D,message:y.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}_6.create=(D,F)=>{return new _6({valueType:D,minSize:null,maxSize:null,typeName:h.ZodSet,...o(F)})};class XF extends t{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==R.function)return O(F,{code:N.invalid_type,expected:R.function,received:F.parsedType}),f;function $(Y,X){return B5({data:Y,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,JF(),B8].filter((G)=>!!G),issueData:{code:N.invalid_arguments,argumentsError:X}})}function B(Y,X){return B5({data:Y,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,JF(),B8].filter((G)=>!!G),issueData:{code:N.invalid_return_type,returnTypeError:X}})}let J={errorMap:F.common.contextualErrorMap},Q=F.data;if(this._def.returns instanceof f6){let Y=this;return Y0(async function(...X){let G=new R0([]),H=await Y._def.args.parseAsync(X,J).catch((V)=>{throw G.addIssue($(X,V)),G}),W=await Reflect.apply(Q,this,H);return await Y._def.returns._def.type.parseAsync(W,J).catch((V)=>{throw G.addIssue(B(W,V)),G})})}else{let Y=this;return Y0(function(...X){let G=Y._def.args.safeParse(X,J);if(!G.success)throw new R0([$(X,G.error)]);let H=Reflect.apply(Q,this,G.data),W=Y._def.returns.safeParse(H,J);if(!W.success)throw new R0([B(H,W.error)]);return W.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new XF({...this._def,args:m1.create(D).rest(o8.create())})}returns(D){return new XF({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new XF({args:D?D:m1.create([]).rest(o8.create()),returns:F||o8.create(),typeName:h.ZodFunction,...o($)})}}class KF extends t{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}}KF.create=(D,F)=>{return new KF({getter:D,typeName:h.ZodLazy,...o(F)})};class zF extends t{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return O(F,{received:F.data,code:N.invalid_literal,expected:this._def.value}),f}return{status:"valid",value:D.data}}get value(){return this._def.value}}zF.create=(D,F)=>{return new zF({value:D,typeName:h.ZodLiteral,...o(F)})};function rk(D,F){return new t8({values:D,typeName:h.ZodEnum,...o(F)})}class t8 extends t{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return O(F,{expected:FD.joinValues($),received:F.parsedType,code:N.invalid_type}),f}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),$=this._def.values;return O(F,{received:F.data,code:N.invalid_enum_value,options:$}),f}return Y0(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return t8.create(D,{...this._def,...F})}exclude(D,F=this._def){return t8.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}}t8.create=rk;class VF extends t{_parse(D){let F=FD.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==R.string&&$.parsedType!==R.number){let B=FD.objectValues(F);return O($,{expected:FD.joinValues(B),received:$.parsedType,code:N.invalid_type}),f}if(!this._cache)this._cache=new Set(FD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=FD.objectValues(F);return O($,{received:$.data,code:N.invalid_enum_value,options:B}),f}return Y0(D.data)}get enum(){return this._def.values}}VF.create=(D,F)=>{return new VF({values:D,typeName:h.ZodNativeEnum,...o(F)})};class f6 extends t{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==R.promise&&F.common.async===!1)return O(F,{code:N.invalid_type,expected:R.promise,received:F.parsedType}),f;let $=F.parsedType===R.promise?F.data:Promise.resolve(F.data);return Y0($.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}f6.create=(D,F)=>{return new f6({type:D,typeName:h.ZodPromise,...o(F)})};class z1 extends t{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===h.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=this._def.effect||null,J={addIssue:(Q)=>{if(O($,Q),Q.fatal)F.abort();else F.dirty()},get path(){return $.path}};if(J.addIssue=J.addIssue.bind(J),B.type==="preprocess"){let Q=B.transform($.data,J);if($.common.async)return Promise.resolve(Q).then(async(Y)=>{if(F.value==="aborted")return f;let X=await this._def.schema._parseAsync({data:Y,path:$.path,parent:$});if(X.status==="aborted")return f;if(X.status==="dirty")return v6(X.value);if(F.value==="dirty")return v6(X.value);return X});else{if(F.value==="aborted")return f;let Y=this._def.schema._parseSync({data:Q,path:$.path,parent:$});if(Y.status==="aborted")return f;if(Y.status==="dirty")return v6(Y.value);if(F.value==="dirty")return v6(Y.value);return Y}}if(B.type==="refinement"){let Q=(Y)=>{let X=B.refinement(Y,J);if($.common.async)return Promise.resolve(X);if(X instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Y};if($.common.async===!1){let Y=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(Y.status==="aborted")return f;if(Y.status==="dirty")F.dirty();return Q(Y.value),{status:F.value,value:Y.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Y)=>{if(Y.status==="aborted")return f;if(Y.status==="dirty")F.dirty();return Q(Y.value).then(()=>{return{status:F.value,value:Y.value}})})}if(B.type==="transform")if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!a8(Q))return f;let Y=B.transform(Q.value,J);if(Y instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:Y}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(!a8(Q))return f;return Promise.resolve(B.transform(Q.value,J)).then((Y)=>({status:F.value,value:Y}))});FD.assertNever(B)}}z1.create=(D,F,$)=>{return new z1({schema:D,typeName:h.ZodEffects,effect:F,...o($)})};z1.createWithPreprocess=(D,F,$)=>{return new z1({schema:F,effect:{type:"preprocess",transform:D},typeName:h.ZodEffects,...o($)})};class q1 extends t{_parse(D){if(this._getType(D)===R.undefined)return Y0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}q1.create=(D,F)=>{return new q1({innerType:D,typeName:h.ZodOptional,...o(F)})};class Q8 extends t{_parse(D){if(this._getType(D)===R.null)return Y0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}Q8.create=(D,F)=>{return new Q8({innerType:D,typeName:h.ZodNullable,...o(F)})};class AF extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===R.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}AF.create=(D,F)=>{return new AF({innerType:D,typeName:h.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...o(F)})};class ZF extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(QF(B))return B.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new R0($.common.issues)},input:$.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new R0($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}}ZF.create=(D,F)=>{return new ZF({innerType:D,typeName:h.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...o(F)})};class G5 extends t{_parse(D){if(this._getType(D)!==R.nan){let $=this._getOrReturnCtx(D);return O($,{code:N.invalid_type,expected:R.nan,received:$.parsedType}),f}return{status:"valid",value:D.data}}}G5.create=(D)=>{return new G5({typeName:h.ZodNaN,...o(D)})};var $2D=Symbol("zod_brand");class q$ extends t{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;return this._def.type._parse({data:$,path:F.path,parent:F})}unwrap(){return this._def.type}}class H5 extends t{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:$.data,path:$.path,parent:$});if(J.status==="aborted")return f;if(J.status==="dirty")return F.dirty(),v6(J.value);else return this._def.out._parseAsync({data:J.value,path:$.path,parent:$})})();else{let B=this._def.in._parseSync({data:$.data,path:$.path,parent:$});if(B.status==="aborted")return f;if(B.status==="dirty")return F.dirty(),{status:"dirty",value:B.value};else return this._def.out._parseSync({data:B.value,path:$.path,parent:$})}}static create(D,F){return new H5({in:D,out:F,typeName:h.ZodPipeline})}}class UF extends t{_parse(D){let F=this._def.innerType._parse(D),$=(B)=>{if(a8(B))B.value=Object.freeze(B.value);return B};return QF(F)?F.then((B)=>$(B)):$(F)}unwrap(){return this._def.innerType}}UF.create=(D,F)=>{return new UF({innerType:D,typeName:h.ZodReadonly,...o(F)})};function ik(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function tk(D,F={},$){if(D)return x6.create().superRefine((B,J)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((Y)=>{if(!Y){let X=ik(F,B),G=X.fatal??$??!0;J.addIssue({code:"custom",...X,fatal:G})}});if(!Q){let Y=ik(F,B),X=Y.fatal??$??!0;J.addIssue({code:"custom",...Y,fatal:X})}return});return x6.create()}var B2D={object:ID.lazycreate},h;(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(h||(h={}));var J2D=(D,F={message:`Input not instance of ${D.name}`})=>tk(($)=>$ instanceof D,F),ek=W1.create,Dv=s8.create,Q2D=G5.create,Y2D=r8.create,Fv=GF.create,X2D=y6.create,G2D=J5.create,H2D=HF.create,W2D=WF.create,E2D=x6.create,q2D=o8.create,K2D=u1.create,z2D=Q5.create,V2D=E1.create,A2D=ID.create,Z2D=ID.strictCreate,U2D=EF.create,L2D=E$.create,M2D=qF.create,N2D=m1.create,C2D=Y5.create,R2D=X5.create,w2D=_6.create,T2D=XF.create,O2D=KF.create,j2D=zF.create,I2D=t8.create,P2D=VF.create,S2D=f6.create,k2D=z1.create,v2D=q1.create,y2D=Q8.create,x2D=z1.createWithPreprocess,_2D=H5.create,f2D=()=>ek().optional(),g2D=()=>Dv().optional(),h2D=()=>Fv().optional(),b2D={string:(D)=>W1.create({...D,coerce:!0}),number:(D)=>s8.create({...D,coerce:!0}),boolean:(D)=>GF.create({...D,coerce:!0}),bigint:(D)=>r8.create({...D,coerce:!0}),date:(D)=>y6.create({...D,coerce:!0})};var u2D=f;var zCD=V1.object({apiKey:V1.string().optional(),apiUrl:V1.string().url().default("https://api.osc.earth/nemar"),username:V1.string().optional(),email:V1.string().email().optional(),githubUsername:V1.string().optional(),sandboxCompleted:V1.boolean().optional(),sandboxDatasetId:V1.string().optional()}),S0=new G$({projectName:"nemar",schema:{apiKey:{type:"string"},apiUrl:{type:"string",default:"https://api.osc.earth/nemar"},username:{type:"string"},email:{type:"string"},githubUsername:{type:"string"},sandboxCompleted:{type:"boolean"},sandboxDatasetId:{type:"string"}},...process.env.NEMAR_CONFIG_DIR?{cwd:process.env.NEMAR_CONFIG_DIR}:{}});function sD(){return{apiKey:S0.get("apiKey"),apiUrl:S0.get("apiUrl"),username:S0.get("username"),email:S0.get("email"),githubUsername:S0.get("githubUsername"),sandboxCompleted:S0.get("sandboxCompleted"),sandboxDatasetId:S0.get("sandboxDatasetId")}}function $v(){return!!S0.get("sandboxCompleted")}function q0(D,F){S0.set(D,F)}function z2(D){S0.delete(D)}function Bv(){S0.clear()}function PD(){return!!S0.get("apiKey")}function Jv(){return S0.path}var m2D="https://api.osc.earth/nemar";class u extends Error{statusCode;details;constructor(D,F,$){super(F);this.statusCode=D;this.details=$;this.name="ApiError"}}function Qv(){if(process.env.TEST_API_URL)return process.env.TEST_API_URL;return sD().apiUrl||m2D}async function JD(D,F={},$=!1){let B=`${Qv()}${D}`,J={"Content-Type":"application/json",...F.headers};if($){let X=sD();if(!X.apiKey)throw new u(401,"Not authenticated. Run 'nemar auth login' first.");J.Authorization=`Bearer ${X.apiKey}`}let Q;try{Q=await fetch(B,{...F,headers:J})}catch(X){throw new u(0,`Network error: Could not connect to ${Qv()}`,{originalError:X instanceof Error?X.message:String(X)})}let Y;try{Y=await Q.json()}catch{throw new u(Q.status,`Invalid response from server (status ${Q.status})`)}if(!Q.ok)throw new u(Q.status,Y.error||Y.message||"Request failed",Y.details);return Y}async function Yv(D){return JD(`/auth/check-username?username=${encodeURIComponent(D)}`)}async function Xv(D){return JD(`/auth/check-github?username=${encodeURIComponent(D)}`)}async function Gv(D){return JD("/auth/signup",{method:"POST",body:JSON.stringify(D)})}async function Hv(D){return JD("/auth/login",{method:"POST",body:JSON.stringify({api_key:D})})}async function Wv(D){return JD("/auth/resend-verification",{method:"POST",body:JSON.stringify({email:D})})}async function Ev(){return JD("/users/me",{},!0)}async function qv(D){let F=D?`?status=${D}`:"";return JD(`/admin/users${F}`,{},!0)}async function Kv(D){return JD(`/admin/approve/${D}`,{method:"POST"},!0)}async function zv(D){return JD(`/admin/revoke/${D}`,{method:"POST"},!0)}async function Vv(D){return JD(`/admin/regenerate-iam/${D}`,{method:"POST"},!0)}async function V2(D,F){return JD(`/admin/datasets/${D}/visibility`,{method:"PATCH",body:JSON.stringify({visibility:F})},!0)}async function Av(D){return JD(`/admin/datasets/${D}/ci`,{},!0)}async function K$(D){return JD(`/admin/datasets/${D}/ci`,{method:"POST"},!0)}async function Zv(D){return JD(`/datasets/${D}/ci/status`,{},!0)}async function Uv(D){return JD(`/datasets/${D}/manifest`,{},!0)}async function Lv(D,F){return JD(`/datasets/${D}/manifest/${F}`,{},!0)}function l2D(D){let F=D;if(!["active","archived","deleted"].includes(F.status))throw Error(`Invalid dataset status: ${F.status}`);if(!["public","private"].includes(F.visibility))throw Error(`Invalid dataset visibility: ${F.visibility}`);return F}async function Mv(){let D=await JD("/datasets");return D.datasets=D.datasets.map(l2D),D}async function e8(D){return(await JD(`/datasets/${D}`)).dataset}async function z$(D){return JD("/datasets",{method:"POST",body:JSON.stringify(D)},!0)}async function V$(D){return JD(`/datasets/${D}/finalize`,{method:"POST"},!0)}async function Nv(D,F){return JD(`/datasets/${D}/upload-urls`,{method:"POST",body:JSON.stringify({files:F})},!0)}async function Cv(D,F){return JD(`/admin/datasets/${D}/doi/concept`,{method:"POST",body:JSON.stringify(F)},!0)}async function A2(D){return JD(`/admin/datasets/${D}/doi`,{},!0)}async function Rv(D){return JD(`/datasets/${D}/request-access`,{method:"POST"},!0)}async function wv(D,F){return JD(`/datasets/${D}/invite`,{method:"POST",body:JSON.stringify({username:F})},!0)}async function Tv(D){return JD(`/datasets/${D}/collaborators`,{},!0)}async function Ov(D){return JD("/sandbox/complete",{method:"POST",body:JSON.stringify({dataset_id:D})},!0)}async function jv(){return JD("/sandbox/reset",{method:"POST"},!0)}async function Iv(){return JD("/sandbox/status",{},!0)}async function Pv(D){return JD(`/datasets/${D}/publish/request`,{method:"POST"},!0)}async function Sv(D){return JD(`/datasets/${D}/publish/status`,{},!0)}async function kv(D){return JD(`/datasets/${D}/publish/resend`,{method:"POST"},!0)}async function vv(D){let F=D?`?status=${D}`:"";return JD(`/admin/publish/requests${F}`,{},!0)}async function yv(D,F){return JD(`/admin/publish/${D}/deny`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:F})},!0)}async function xv(D,F=!1,$=!1){return JD(`/admin/publish/${D}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resume:F,sandbox:$})},!0)}async function rD(D,F,$=!1){if(F.no)return"declined";if(F.yes)return"confirmed";try{let{confirmed:B}=await D1.prompt([{type:"confirm",name:"confirmed",message:D,default:$}]);return B?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}async function _v(D,F,$){if($.no)return"declined";if($.yes)return"confirmed";try{let{input:B}=await D1.prompt([{type:"input",name:"input",message:D,validate:(J)=>{if(J!==F)return`Input does not match. Expected: ${F}`;return!0}}]);return B===F?"confirmed":"cancelled"}catch(B){let J=B instanceof Error?B.message:String(B);if(J.includes("closed")||J.includes("TTY")||J.includes("SIGINT")||J.includes("readline"))console.error("Interactive prompt unavailable (non-interactive terminal or interrupted)"),console.error(" Use --yes or --no flags for non-interactive mode");else console.error("Prompt error:",J);return"cancelled"}}var _D="-y, --yes",tD="-n, --no",fD="Skip confirmation and proceed",eD="Skip confirmation and decline";import{existsSync as hv,statSync as d2D}from"fs";import{join as Z2}from"path";var{spawn:p2D}=globalThis.Bun;async function m(D,F={}){let $=p2D({cmd:D,cwd:F.cwd,stdout:"pipe",stderr:"pipe",env:{...process.env,...F.env}}),B=await new Response($.stdout).text(),J=await new Response($.stderr).text(),Q=await $.exited;return{stdout:B,stderr:J,exitCode:Q}}function fv(D){return D.split(".").map((F)=>{let $=Number.parseInt(F.replace(/[^0-9]/g,""),10);return Number.isNaN($)?0:$})}function c2D(D,F){let $=fv(D),B=fv(F);for(let J=0;J<Math.max($.length,B.length);J++){let Q=$[J]||0,Y=B[J]||0;if(Q>Y)return!0;if(Q<Y)return!1}return!0}async function bv(){try{let{stdout:F,exitCode:$,stderr:B}=await m(["git-annex","version"]);if($!==0)return console.warn("git-annex version returned non-zero exit code:",$),console.warn("stderr:",B),{installed:!1,minVersion:"10.0",error:`Version check failed: ${B.trim()}`};let J=F.match(/version:\s*(\d+\.\d+)/),Q=J?J[1]:void 0;if(!Q)console.warn("Could not parse git-annex version from output:",F);return{installed:!0,version:Q,minVersion:"10.0",compatible:Q?c2D(Q,"10.0"):void 0}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return console.info("git-annex not found in PATH"),{installed:!1,minVersion:"10.0"};return console.error("Error checking git-annex installation:",$),{installed:!1,minVersion:"10.0",error:$}}}async function n2D(){if(process.env.GH_TOKEN)return{accessible:!0,username:"token-auth",useHttps:!0};try{let{stdout:D,stderr:F,exitCode:$}=await m(["ssh","-T","-o","BatchMode=yes","-o","StrictHostKeyChecking=accept-new","-o","ConnectTimeout=10","git@github.com"]),B=D+F,J=B.match(/Hi ([^!]+)!/);if(J)return{accessible:!0,username:J[1]};if(B.includes("Permission denied"))return{accessible:!1};return{accessible:B.includes("successfully authenticated")}}catch(D){let F=D instanceof Error?D.message:String(D);if(F.includes("ENOENT")||F.includes("not found"))console.info("SSH command not found");else console.error("Error checking GitHub SSH access:",F);return{accessible:!1}}}function uv(){let D=process.platform;if(D==="darwin")return"brew install git-annex";if(D==="linux")return"apt install git-annex (Debian/Ubuntu)";return"See https://git-annex.branchable.com/install/"}async function A$(){let[D,F]=await Promise.all([bv(),n2D()]),$=[];if(!D.installed)$.push(`git-annex is not installed. Install: ${uv()}`);else if(D.compatible===!1)$.push(`git-annex version ${D.version} is too old. Required: >= ${D.minVersion}`);if(!F.accessible)$.push("GitHub SSH access not configured. Run 'nemar auth setup-ssh' to configure automatically.");return{gitAnnex:D,githubSSH:F,allPassed:$.length===0,errors:$}}async function Y8(D){if(!hv(Z2(D,".git")))return!1;try{let{exitCode:F}=await m(["git","annex","info"],{cwd:D});return F===0}catch(F){let $=F instanceof Error?F.message:String(F);if(!$.includes("ENOENT")&&!$.includes("not found"))console.error(`Error checking if ${D} is a git-annex dataset:`,$);return!1}}async function Z$(D,F={}){if(!F.force&&await Y8(D))return{success:!0};try{let $={};if(F.author)$.GIT_AUTHOR_NAME=F.author.name,$.GIT_AUTHOR_EMAIL=F.author.email,$.GIT_COMMITTER_NAME=F.author.name,$.GIT_COMMITTER_EMAIL=F.author.email;let{stderr:B,exitCode:J}=await m(["git","init",D],{...Object.keys($).length>0?{env:$}:{}});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git repository"};let{stderr:Q,exitCode:Y}=await m(["git","annex","init"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(Y!==0)return{success:!1,error:Q.trim()||"Failed to initialize git-annex"};return{success:!0}}catch($){return{success:!1,error:$.message}}}async function mv(D){try{let{exitCode:F,stderr:$}=await m(["git","annex","info"],{cwd:D});if(F===0)return{success:!0};if($.includes("First run: git-annex init")){let{stderr:B,exitCode:J}=await m(["git","annex","init"],{cwd:D});if(J!==0)return{success:!1,error:B.trim()||"Failed to initialize git-annex"};return{success:!0}}return{success:!1,error:$.trim()||"Failed to check git-annex status"}}catch(F){return{success:!1,error:F.message}}}async function U$(D,F){let B=F||"include=*.edf or include=*.bdf or include=*.set or include=*.fif or include=*.vhdr or include=*.eeg or include=*.cnt or include=*.fdt or largerthan=100kb";try{let{stderr:J,exitCode:Q}=await m(["git","annex","config","--set","annex.largefiles",B],{cwd:D});if(Q!==0)return{success:!1,error:J.trim()||"Failed to configure largefiles"};return{success:!0}}catch(J){return{success:!1,error:J.message}}}async function i2D(){try{let{exitCode:D,stderr:F}=await m(["ssh","-T","-o","BatchMode=yes","-o","ConnectTimeout=5","git@github.com"]),$=F.includes("successfully authenticated");if(!$)console.warn("SSH test to github.com failed:",{exitCode:D,stderr:F.trim().slice(0,500)});return{works:$,error:$?void 0:F.trim().slice(0,500)}}catch(D){let F=D instanceof Error?D.message:String(D);return console.warn("SSH test exception:",F),{works:!1,error:F}}}async function a2D(){try{let{stdout:D,exitCode:F,stderr:$}=await m(["gh","auth","token"]);if(F!==0)return console.warn("gh CLI returned non-zero exit code:",F),console.warn("stderr:",$),{token:null,error:`gh auth token failed: ${$.trim()||"unknown error"}`};if(!D.trim())return console.warn("gh auth token returned empty output"),{token:null,error:"gh CLI returned empty token"};return{token:D.trim()}}catch(D){let F=D instanceof Error?D.message:String(D);if(console.error("Failed to get GitHub token from gh CLI:",F),F.includes("ENOENT")||F.includes("not found"))return{token:null,error:"gh CLI not installed (command not found)"};return{token:null,error:`gh CLI error: ${F}`}}}async function L$(D){try{let{stdout:F,exitCode:$,stderr:B}=await m(["gh","api","user","--jq",".login"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{authenticated:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};return{authenticated:!1,error:`gh CLI error: ${B.trim()||"unknown error"}`}}let J=F.trim();if(!J)return{authenticated:!1,error:"gh CLI returned empty username"};if(D){let Q=J.toLowerCase()===D.toLowerCase();return{authenticated:!0,username:J,matches:Q,error:Q?void 0:`gh CLI authenticated as '${J}', expected '${D}'`}}return{authenticated:!0,username:J}}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("ENOENT")||$.includes("not found"))return{authenticated:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{authenticated:!1,error:`Failed to verify gh CLI: ${$}`}}}async function M$(D){if(!/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/.test(D))return{accepted:!1,error:`Invalid repository format: ${D}`};let{stdout:F,exitCode:$,stderr:B}=await m(["gh","api","/user/repository_invitations"]);if($!==0){if(B.includes("not logged in")||B.includes("auth login"))return{accepted:!1,error:"gh CLI not authenticated. Run 'gh auth login' to authenticate."};if(B.includes("API rate limit")||B.includes("403"))return{accepted:!1,error:"GitHub API rate limit exceeded. Please try again in a few minutes."};if(B.includes("ENOENT")||B.includes("not found"))return{accepted:!1,error:"gh CLI not installed. Install from https://cli.github.com/"};return{accepted:!1,error:`Failed to list invitations: ${B.trim()||"unknown error"}`}}let J=null;try{J=JSON.parse(F||"[]").find((H)=>H.repository.full_name===D)?.id??null}catch(X){let G=X instanceof Error?X.message:String(X);return console.error("Failed to parse GitHub invitations response:",G),console.error(" Raw response (first 500 chars):",(F||"").slice(0,500)),{accepted:!1,error:`Failed to parse GitHub API response: ${G}`}}if(!J){let{exitCode:X}=await m(["gh","api",`/repos/${D}`,"--silent"]);if(X===0)return{accepted:!0,alreadyCollaborator:!0};return{accepted:!1,error:`No pending invitation found for ${D}. You may need to accept it manually via GitHub.`}}let{exitCode:Q,stderr:Y}=await m(["gh","api","--method","PATCH",`/user/repository_invitations/${J}`]);if(Q!==0)return{accepted:!1,error:`Failed to accept invitation: ${Y.trim()||"unknown error"}`};return{accepted:!0}}async function N$(D,F,$="origin"){let B=F;if(process.env.GH_TOKEN&&F.startsWith("git@github.com:")){let J=process.env.GH_TOKEN.trim();if(!J||/\s/.test(J))return{success:!1,error:"GH_TOKEN environment variable is set but appears malformed (empty or contains whitespace)"};let Q=F.replace("git@github.com:","");B=`https://${J}@github.com/${Q}`}else if(F.startsWith("git@github.com:")){let J=F.replace("git@github.com:",""),Q=await i2D();if(Q.works)B=F;else{console.warn("GitHub SSH not available, falling back to HTTPS with gh CLI token...");let Y=await a2D();if(Y.token)B=`https://${Y.token}@github.com/${J}`,console.warn("Note: using HTTPS with gh CLI token. If the token expires, re-run 'gh auth login'.");else return{success:!1,error:`GitHub authentication not configured.
|
|
92
92
|
|
|
93
93
|
SSH failed: ${Q.error||"could not connect"}
|
|
94
94
|
gh CLI failed: ${Y.error||"could not get token"}
|
|
@@ -180,7 +180,7 @@ Requirements:
|
|
|
180
180
|
Examples:
|
|
181
181
|
$ nemar admin publish deny nm000104 --reason "BIDS validation failing"
|
|
182
182
|
$ nemar admin publish deny nm000104 -r "Dataset incomplete - missing subjects"
|
|
183
|
-
$ nemar admin publish deny nm000104 # Prompts for reason interactively`).action(async(D,F)=>{if(!w0())return;let $=F.reason;if(!$){let{inputReason:Q}=await D1.prompt([{type:"input",name:"inputReason",message:"Reason for denial:"}]);$=Q}if(!$){console.log(E.red("Reason is required"));return}let B=await rD(`Deny publication of ${D}?`,F);if(B!=="confirmed"){console.log(E.gray(B==="declined"?"Skipped":"Cancelled"));return}let J=C(`Denying publication for ${D}...`).start();try{await yv(D,$),J.succeed(`Publication denied for ${D}`),console.log(E.gray(" User has been notified."))}catch(Q){if(Q instanceof u)J.fail(Q.message),console.log(E.gray(` ${Q.message}`));else{J.fail("Failed to deny publication");let Y=Q instanceof Error?Q.message:String(Q);console.log(E.gray(` Error details: ${Y}`))}}});T$.command("approve").description("Approve and publish a dataset (runs orchestrator)").argument("<dataset-id>","Dataset ID").option("--resume","Resume from last failed step").option(_D,fD).option(tD,eD).addHelpText("after",`
|
|
183
|
+
$ nemar admin publish deny nm000104 # Prompts for reason interactively`).action(async(D,F)=>{if(!w0())return;let $=F.reason;if(!$){let{inputReason:Q}=await D1.prompt([{type:"input",name:"inputReason",message:"Reason for denial:"}]);$=Q}if(!$){console.log(E.red("Reason is required"));return}let B=await rD(`Deny publication of ${D}?`,F);if(B!=="confirmed"){console.log(E.gray(B==="declined"?"Skipped":"Cancelled"));return}let J=C(`Denying publication for ${D}...`).start();try{await yv(D,$),J.succeed(`Publication denied for ${D}`),console.log(E.gray(" User has been notified."))}catch(Q){if(Q instanceof u)J.fail(Q.message),console.log(E.gray(` ${Q.message}`));else{J.fail("Failed to deny publication");let Y=Q instanceof Error?Q.message:String(Q);console.log(E.gray(` Error details: ${Y}`))}}});T$.command("approve").description("Approve and publish a dataset (runs orchestrator)").argument("<dataset-id>","Dataset ID").option("--resume","Resume from last failed step").option("--sandbox","Use Zenodo sandbox for testing").option(_D,fD).option(tD,eD).addHelpText("after",`
|
|
184
184
|
Description:
|
|
185
185
|
Approve a publication request and run the automated 6-step orchestrator
|
|
186
186
|
to make the dataset publicly accessible with a permanent DOI.
|
|
@@ -212,9 +212,9 @@ After Approval:
|
|
|
212
212
|
- User receives email with DOI and public dataset link
|
|
213
213
|
- Dataset is publicly visible on GitHub
|
|
214
214
|
- Tags are protected (prevents version manipulation)
|
|
215
|
-
- Data is protected by S3 Object Lock`).action(async(D,F)=>{if(!w0())return;let $=F.resume?`Resume publication of ${D}`:`Approve and publish ${D}`;console.log(E.cyan(`
|
|
215
|
+
- Data is protected by S3 Object Lock`).action(async(D,F)=>{if(!w0())return;let $=F.resume?`Resume publication of ${D}`:`Approve and publish ${D}`;if(console.log(E.cyan(`
|
|
216
216
|
${$}
|
|
217
|
-
`)),console.log("This will run the following steps:"),console.log(" 1. Check CI (deploy if missing, verify passing)"),console.log(" 2. Make repository public"),console.log(" 3. Enable tag protection (prevents version manipulation)"),console.log(" 4. Create concept DOI (if needed)"),console.log(" 5. Apply S3 Object Lock"),console.log(" 6. Notify user"),console.log();let B=await rD(`${$}?`,F);if(B!=="confirmed"){console.log(E.gray(B==="declined"?"Skipped":"Cancelled"));return}let J=C("Running publication workflow...").start();try{let Q=await xv(D,!!F.resume);if(J.succeed(Q.message),Q.steps_completed){console.log();for(let Y of Q.steps_completed)console.log(` ${E.green("[x]")} ${Y.replace(/_/g," ")}`);console.log()}}catch(Q){if(Q instanceof u){if(J.fail(Q.message),console.log(E.gray(` ${Q.message}`)),Q.statusCode===422)console.log(E.yellow(" Fix the CI issues and retry with --resume"))}else{J.fail("Failed to approve publication");let Y=Q instanceof Error?Q.message:String(Q);console.log(E.gray(` Error details: ${Y}`))}}});n0.addCommand(T$);n0.command("revert").description("Revert a dataset to a previous version (creates PR for review)").argument("<dataset-id>","Dataset ID (e.g., nm000104)").argument("[version]","Target version to revert to (e.g., 1.0.0)").option("--list","List available versions without reverting").option("--force","Direct push to main without PR (emergency only)").option("--message <msg>","Custom revert commit message").option("--dir <path>","Use existing local clone instead of cloning fresh").option(_D,fD).option(tD,eD).action(async(D,F,$)=>{if(!w0())return;let B=await q5();if(!B.allPassed){console.log(E.red("Error: Missing prerequisites"));for(let T of B.errors)console.log(E.gray(` - ${T}`));return}let J,Q=!0;if($.dir){if(!e2D($.dir)){console.log(E.red(`Error: Directory not found: ${$.dir}`));return}J=$.dir,Q=!1}else J=DGD(process.cwd(),`${D}-revert-${Date.now()}`);let Y=C("Fetching dataset info...").start(),X;try{X=await e8(D),Y.succeed(`Found dataset: ${X.name}`)}catch(T){if(T instanceof u){if(Y.fail(T.message),T.statusCode===404)console.log(E.gray(" Dataset not found"))}else Y.fail("Failed to fetch dataset");return}if(!X.github_repo){console.log(E.red("Error: Dataset has no GitHub repository"));return}if(Q){let T=C(`Cloning ${D}...`).start(),P=`https://github.com/${X.github_repo}.git`,VD=await K5(P,J);if(!VD.success){T.fail(`Clone failed: ${VD.error}`);return}T.succeed(`Cloned to ${J}`)}let G=await nv(J);if(G.length===0){console.log(E.yellow("No versions found for this dataset")),console.log(E.gray(" Dataset may not have any tagged releases yet"));return}if($.list){console.log(`
|
|
217
|
+
`)),console.log("This will run the following steps:"),console.log(" 1. Check CI (deploy if missing, verify passing)"),console.log(" 2. Make repository public"),console.log(" 3. Enable tag protection (prevents version manipulation)"),console.log(F.sandbox?" 4. Create concept DOI (SANDBOX - for testing)":" 4. Create concept DOI (if needed)"),console.log(" 5. Apply S3 Object Lock"),console.log(" 6. Notify user"),console.log(),F.sandbox)console.log(E.yellow("\u2501".repeat(60))),console.log(E.yellow.bold(" SANDBOX MODE ENABLED")),console.log(E.yellow("\u2501".repeat(60))),console.log(E.yellow(" \u2022 DOI will be created on sandbox.zenodo.org")),console.log(E.yellow(" \u2022 DOI will NOT be indexed by DataCite")),console.log(E.yellow(" \u2022 DOI will NOT resolve in production")),console.log(E.yellow(" \u2022 Use this for testing workflows only")),console.log(E.yellow("\u2501".repeat(60))),console.log();let B=await rD(`${$}?`,F);if(B!=="confirmed"){console.log(E.gray(B==="declined"?"Skipped":"Cancelled"));return}let J=C("Running publication workflow...").start();try{let Q=await xv(D,!!F.resume,!!F.sandbox);if(J.succeed(Q.message),Q.steps_completed){console.log();for(let Y of Q.steps_completed)console.log(` ${E.green("[x]")} ${Y.replace(/_/g," ")}`);console.log()}}catch(Q){if(Q instanceof u){if(J.fail(Q.message),console.log(E.gray(` ${Q.message}`)),Q.statusCode===422)console.log(E.yellow(" Fix the CI issues and retry with --resume"))}else{J.fail("Failed to approve publication");let Y=Q instanceof Error?Q.message:String(Q);console.log(E.gray(` Error details: ${Y}`))}}});n0.addCommand(T$);n0.command("revert").description("Revert a dataset to a previous version (creates PR for review)").argument("<dataset-id>","Dataset ID (e.g., nm000104)").argument("[version]","Target version to revert to (e.g., 1.0.0)").option("--list","List available versions without reverting").option("--force","Direct push to main without PR (emergency only)").option("--message <msg>","Custom revert commit message").option("--dir <path>","Use existing local clone instead of cloning fresh").option(_D,fD).option(tD,eD).action(async(D,F,$)=>{if(!w0())return;let B=await q5();if(!B.allPassed){console.log(E.red("Error: Missing prerequisites"));for(let T of B.errors)console.log(E.gray(` - ${T}`));return}let J,Q=!0;if($.dir){if(!e2D($.dir)){console.log(E.red(`Error: Directory not found: ${$.dir}`));return}J=$.dir,Q=!1}else J=DGD(process.cwd(),`${D}-revert-${Date.now()}`);let Y=C("Fetching dataset info...").start(),X;try{X=await e8(D),Y.succeed(`Found dataset: ${X.name}`)}catch(T){if(T instanceof u){if(Y.fail(T.message),T.statusCode===404)console.log(E.gray(" Dataset not found"))}else Y.fail("Failed to fetch dataset");return}if(!X.github_repo){console.log(E.red("Error: Dataset has no GitHub repository"));return}if(Q){let T=C(`Cloning ${D}...`).start(),P=`https://github.com/${X.github_repo}.git`,VD=await K5(P,J);if(!VD.success){T.fail(`Clone failed: ${VD.error}`);return}T.succeed(`Cloned to ${J}`)}let G=await nv(J);if(G.length===0){console.log(E.yellow("No versions found for this dataset")),console.log(E.gray(" Dataset may not have any tagged releases yet"));return}if($.list){console.log(`
|
|
218
218
|
${E.cyan("Available Versions:")}
|
|
219
219
|
`);for(let T of G)console.log(` ${E.green(T.version)} ${E.gray(T.date)} ${E.gray(T.commit)}`);return}let H=F;if(!H){console.log(`
|
|
220
220
|
${E.cyan("Available Versions:")}
|
|
@@ -563,7 +563,7 @@ Examples:
|
|
|
563
563
|
$ nemar sandbox # Run sandbox training
|
|
564
564
|
$ nemar sandbox status # Check if training is completed
|
|
565
565
|
$ nemar sandbox reset # Reset for re-training
|
|
566
|
-
`).action(MGD);async function MGD(){if(console.log(),console.log(E.bold("NEMAR Sandbox Training")),console.log(E.gray("Verify your setup and learn the upload workflow")),console.log(),!PD()){console.log(E.red("Not authenticated")),console.log(E.gray("Run 'nemar auth login' first"));return}let D=sD();if(D.sandboxCompleted){console.log(E.green("Sandbox training already completed!")),console.log(E.gray(`Dataset ID: ${D.sandboxDatasetId}`)),console.log(),console.log("You can upload real datasets with:"),console.log(E.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(E.gray("To re-run training, use: nemar sandbox reset"));return}console.log(E.bold("Step 1/6: Checking prerequisites..."));let F=C("Checking git-annex and SSH...").start(),$=await A$();if(!$.allPassed){F.fail("Prerequisites check failed"),console.log(),console.log(E.red("Missing requirements:"));for(let P of $.errors)console.log(E.yellow(` - ${P}`));if(!$.githubSSH.accessible)console.log(E.gray(" Run 'nemar auth setup-ssh' to configure SSH"));return}F.succeed("All prerequisites met");let B=C("Verifying GitHub CLI authentication...").start(),J=await L$(D.githubUsername);if(!J.authenticated){B.fail("GitHub CLI not authenticated"),console.log(E.red(` ${J.error}`)),console.log(),console.log("GitHub CLI is required for sandbox training. Install and authenticate:"),console.log(E.cyan(" brew install gh # or visit https://cli.github.com/")),console.log(E.cyan(" gh auth login"));return}if(D.githubUsername&&!J.matches)B.warn("GitHub CLI user mismatch"),console.log(E.yellow(` ${J.error}`)),console.log(),console.log("Your gh CLI is authenticated as a different GitHub account than your NEMAR account."),console.log("This may cause issues with repository access. To fix:"),console.log(E.cyan(` gh auth login # Login as ${D.githubUsername}`)),console.log(),console.log(E.yellow("WARNING: If upload fails with permission errors, this mismatch is the likely cause.")),console.log();else B.succeed(`GitHub CLI authenticated as ${J.username}`);console.log(),console.log(E.bold("Step 2/6: Generating test dataset..."));let Q=C("Creating minimal BIDS structure...").start(),Y;try{let P=Ky();Y=P.root;let VD=zy(P);Q.succeed(`Test dataset created (${C$(VD)})`),console.log(E.gray(` Location: ${Y}`))}catch(P){Q.fail("Failed to generate test dataset"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`));return}console.log(),console.log(E.bold("Step 3/6: Registering sandbox dataset..."));let X=C("Creating dataset on NEMAR...").start(),G,H,W,K,V,A;try{let P=await z$({name:"Sandbox Training Dataset",description:"Placeholder dataset for sandbox training",files:[{path:"sub-01/eeg/sub-01_task-rest_eeg.edf",size:512000,type:"data"},{path:"dataset_description.json",size:200,type:"metadata"},{path:"participants.tsv",size:50,type:"metadata"},{path:"README",size:500,type:"metadata"},{path:"sub-01/eeg/sub-01_task-rest_eeg.json",size:300,type:"metadata"}],sandbox:!0});G=P.dataset.dataset_id,H=P.dataset.ssh_url,W=P.dataset.github_url,K=P.s3_config,V=P.dataset.s3_prefix,A=P.upload_urls||{},X.succeed(`Sandbox dataset created: ${E.cyan(G)}`),console.log(E.gray(` GitHub: ${W}`)),await new Promise((VD)=>setTimeout(VD,1e4))}catch(P){if(X.fail("Failed to create sandbox dataset"),P instanceof u)console.log(E.red(` ${P.message}`));else console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`));A1(Y);return}let Z=C("Accepting GitHub repository invitation...").start(),U=W?.match(/github\.com\/([a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+)/),L=U?U[1].replace(/\.git$/,""):null;if(!L){Z.fail("Invalid GitHub repository URL from backend"),console.log(E.red(` Received: ${W||"(empty)"}`)),console.log(E.red(" Expected format: https://github.com/owner/repo")),console.log(),console.log("This may indicate a backend issue. Please contact support."),A1(Y);return}let M=await M$(L);if(M.accepted)if(M.alreadyCollaborator)Z.succeed("Already a collaborator on this repository");else Z.succeed("GitHub invitation accepted");else Z.warn("Could not auto-accept invitation"),console.log(E.yellow(` ${M.error}`)),console.log(),console.log("You may need to accept the invitation manually:"),console.log(E.cyan(` https://github.com/${L}/invitations`)),console.log();console.log(),console.log(E.bold("Step 4/6: Initializing repository..."));let w=C("Setting up git-annex...").start(),I=D.username&&D.email?{name:D.username,email:D.email}:void 0;try{await Z$(Y,{author:I}),await U$(Y),await N$(Y,H),w.succeed("Repository initialized")}catch(P){w.fail("Failed to initialize repository"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`)),A1(Y);return}if(console.log(),console.log(E.bold("Step 5/6: Uploading to S3...")),Object.keys(A).length===0)console.log(E.yellow(" No data files to upload (metadata only)"));else{let P=C("Uploading test data...").start();try{let yD=0,g=Object.keys(A).length,ED=await R$(Y,A,{jobs:4,onProgress:(WD)=>{if(WD.status==="completed"||WD.status==="failed")yD++,P.text=`Uploading... ${yD}/${g} files`}});if(ED.failed.length>0){P.fail(`Upload failed for ${ED.failed.length} file(s)`);for(let WD of ED.failed)console.log(E.red(` Failed: ${WD}`));if(ED.error)console.log(E.red(` Error: ${ED.error}`));console.log(),console.log(E.yellow("Sandbox training aborted due to upload failures.")),console.log(E.gray("Please check your network connection and try again.")),A1(Y);return}P.succeed(`Uploaded ${ED.uploaded} file(s)`)}catch(yD){P.fail("Upload failed"),console.log(E.red(` ${yD instanceof Error?yD.message:"Unknown error"}`)),A1(Y);return}let VD=C("Registering file URLs...").start();try{let yD={};for(let ED of Object.keys(A))yD[ED]=`${K.public_url}/${V}/${ED}`;let g=await w$(Y,yD);if(!g.success){VD.fail(`URL registration failed for ${g.failed.length} file(s)`);for(let ED of g.failed)console.log(E.red(` Failed: ${ED}`));console.log(),console.log(E.yellow("Sandbox training aborted due to URL registration failures.")),console.log(E.gray("This may indicate a git-annex configuration issue.")),A1(Y);return}VD.succeed(`Registered ${g.registered} file URLs`)}catch(yD){VD.fail("Failed to register URLs"),console.log(E.red(` ${yD instanceof Error?yD.message:"Unknown error"}`)),A1(Y);return}}console.log(),console.log(E.bold("Step 6/6: Pushing to GitHub..."));let b=C("Saving and pushing...").start();try{await W5(Y,"Initial sandbox training upload",I),await E5(Y),b.succeed("Pushed to GitHub")}catch(P){b.fail("Failed to push to GitHub"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`)),A1(Y);return}let T=C("Finalizing...").start();try{await V$(G),await Ov(G),q0("sandboxCompleted",!0),q0("sandboxDatasetId",G),T.succeed("Sandbox training complete!")}catch(P){T.fail("Failed to finalize"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`)),A1(Y);return}A1(Y),console.log(),console.log(E.green.bold("Congratulations! Sandbox training completed successfully.")),console.log(),console.log("Your setup is verified and you're ready to upload real datasets:"),console.log(E.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(E.gray(`Sandbox dataset: ${G}`))}v$.command("status").description("Check sandbox training completion status").option("--refresh","Fetch latest status from server").action(async(D)=>{if(!PD()){console.log(E.red("Not authenticated")),console.log(E.gray("Run 'nemar auth login' first"));return}if(D.refresh){let F=C("Checking status...").start();try{let $=await Iv();if(q0("sandboxCompleted",$.sandbox_completed),$.sandbox_dataset_id)q0("sandboxDatasetId",$.sandbox_dataset_id);if(F.stop(),$.sandbox_completed){if(console.log(E.green("Sandbox training: Completed")),console.log(E.gray(` Dataset ID: ${$.sandbox_dataset_id}`)),$.sandbox_completed_at)console.log(E.gray(` Completed: ${$.sandbox_completed_at}`))}else console.log(E.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(E.cyan(" nemar sandbox"))}catch($){if(F.fail("Failed to check status"),$ instanceof u)console.log(E.red(` ${$.message}`))}}else{let F=sD();if(F.sandboxCompleted)console.log(E.green("Sandbox training: Completed")),console.log(E.gray(` Dataset ID: ${F.sandboxDatasetId}`));else console.log(E.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(E.cyan(" nemar sandbox"))}});v$.command("reset").description("Reset sandbox training status for re-training").option(_D,fD).option(tD,eD).action(async(D)=>{if(!PD()){console.log(E.red("Not authenticated")),console.log(E.gray("Run 'nemar auth login' first"));return}if(!sD().sandboxCompleted){console.log(E.yellow("Sandbox training not yet completed")),console.log(E.gray("Nothing to reset"));return}let $=await rD("Reset sandbox training status? You will need to complete training again.",D);if($!=="confirmed"){console.log(E.gray($==="declined"?"Skipped":"Cancelled"));return}let B=C("Resetting sandbox status...").start();try{await jv(),z2("sandboxCompleted"),z2("sandboxDatasetId"),B.succeed("Sandbox status reset"),console.log(),console.log("Run sandbox training again with:"),console.log(E.cyan(" nemar sandbox"))}catch(J){if(B.fail("Failed to reset"),J instanceof u)console.log(E.red(` ${J.message}`));else console.log(E.red(` ${J instanceof Error?J.message:"Unknown error"}`))}});var Vy={name:"nemar-cli",version:"0.3.7-dev.121",description:"CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource) dataset management",type:"module",main:"dist/index.js",bin:{nemar:"dist/index.js"},scripts:{dev:"bun run src/index.ts",build:"bun build src/index.ts --outdir dist --target bun --minify && sed '1s|#!/usr/bin/env node|#!/usr/bin/env bun|' dist/index.js > dist/index.js.tmp && mv dist/index.js.tmp dist/index.js",test:"bun test",lint:"biome check src/","lint:fix":"biome check --fix src/",format:"biome format --write src/",typecheck:"tsc --noEmit",prepublishOnly:"bun run build","docs:generate":"bun run scripts/generate-docs.ts","docs:serve":"mkdocs serve","docs:build":"mkdocs build"},keywords:["nemar","bids","neuroimaging","eeg","emg","datalad","cli"],author:"NEMAR Team",license:"MIT",repository:{type:"git",url:"git+https://github.com/nemarDatasets/nemar-cli.git"},bugs:{url:"https://github.com/nemarDatasets/nemar-cli/issues"},homepage:"https://nemar-cli.pages.dev",engines:{bun:">=1.0.0"},files:["dist","README.md","LICENSE"],dependencies:{chalk:"^5.3.0",commander:"^12.1.0",conf:"^13.0.1",inquirer:"^9.2.15",ora:"^8.0.1",zod:"^3.23.8"},devDependencies:{"@biomejs/biome":"^1.9.4","@types/bcryptjs":"^3.0.0","@types/bun":"latest","@types/inquirer":"^9.0.7",bcryptjs:"^3.0.3",typescript:"^5.5.4"}};var Ay=Vy.version;var Z1=new D0;Z1.name("nemar").description(`CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource)
|
|
566
|
+
`).action(MGD);async function MGD(){if(console.log(),console.log(E.bold("NEMAR Sandbox Training")),console.log(E.gray("Verify your setup and learn the upload workflow")),console.log(),!PD()){console.log(E.red("Not authenticated")),console.log(E.gray("Run 'nemar auth login' first"));return}let D=sD();if(D.sandboxCompleted){console.log(E.green("Sandbox training already completed!")),console.log(E.gray(`Dataset ID: ${D.sandboxDatasetId}`)),console.log(),console.log("You can upload real datasets with:"),console.log(E.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(E.gray("To re-run training, use: nemar sandbox reset"));return}console.log(E.bold("Step 1/6: Checking prerequisites..."));let F=C("Checking git-annex and SSH...").start(),$=await A$();if(!$.allPassed){F.fail("Prerequisites check failed"),console.log(),console.log(E.red("Missing requirements:"));for(let P of $.errors)console.log(E.yellow(` - ${P}`));if(!$.githubSSH.accessible)console.log(E.gray(" Run 'nemar auth setup-ssh' to configure SSH"));return}F.succeed("All prerequisites met");let B=C("Verifying GitHub CLI authentication...").start(),J=await L$(D.githubUsername);if(!J.authenticated){B.fail("GitHub CLI not authenticated"),console.log(E.red(` ${J.error}`)),console.log(),console.log("GitHub CLI is required for sandbox training. Install and authenticate:"),console.log(E.cyan(" brew install gh # or visit https://cli.github.com/")),console.log(E.cyan(" gh auth login"));return}if(D.githubUsername&&!J.matches)B.warn("GitHub CLI user mismatch"),console.log(E.yellow(` ${J.error}`)),console.log(),console.log("Your gh CLI is authenticated as a different GitHub account than your NEMAR account."),console.log("This may cause issues with repository access. To fix:"),console.log(E.cyan(` gh auth login # Login as ${D.githubUsername}`)),console.log(),console.log(E.yellow("WARNING: If upload fails with permission errors, this mismatch is the likely cause.")),console.log();else B.succeed(`GitHub CLI authenticated as ${J.username}`);console.log(),console.log(E.bold("Step 2/6: Generating test dataset..."));let Q=C("Creating minimal BIDS structure...").start(),Y;try{let P=Ky();Y=P.root;let VD=zy(P);Q.succeed(`Test dataset created (${C$(VD)})`),console.log(E.gray(` Location: ${Y}`))}catch(P){Q.fail("Failed to generate test dataset"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`));return}console.log(),console.log(E.bold("Step 3/6: Registering sandbox dataset..."));let X=C("Creating dataset on NEMAR...").start(),G,H,W,K,V,A;try{let P=await z$({name:"Sandbox Training Dataset",description:"Placeholder dataset for sandbox training",files:[{path:"sub-01/eeg/sub-01_task-rest_eeg.edf",size:512000,type:"data"},{path:"dataset_description.json",size:200,type:"metadata"},{path:"participants.tsv",size:50,type:"metadata"},{path:"README",size:500,type:"metadata"},{path:"sub-01/eeg/sub-01_task-rest_eeg.json",size:300,type:"metadata"}],sandbox:!0});G=P.dataset.dataset_id,H=P.dataset.ssh_url,W=P.dataset.github_url,K=P.s3_config,V=P.dataset.s3_prefix,A=P.upload_urls||{},X.succeed(`Sandbox dataset created: ${E.cyan(G)}`),console.log(E.gray(` GitHub: ${W}`)),await new Promise((VD)=>setTimeout(VD,1e4))}catch(P){if(X.fail("Failed to create sandbox dataset"),P instanceof u)console.log(E.red(` ${P.message}`));else console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`));A1(Y);return}let Z=C("Accepting GitHub repository invitation...").start(),U=W?.match(/github\.com\/([a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+)/),L=U?U[1].replace(/\.git$/,""):null;if(!L){Z.fail("Invalid GitHub repository URL from backend"),console.log(E.red(` Received: ${W||"(empty)"}`)),console.log(E.red(" Expected format: https://github.com/owner/repo")),console.log(),console.log("This may indicate a backend issue. Please contact support."),A1(Y);return}let M=await M$(L);if(M.accepted)if(M.alreadyCollaborator)Z.succeed("Already a collaborator on this repository");else Z.succeed("GitHub invitation accepted");else Z.warn("Could not auto-accept invitation"),console.log(E.yellow(` ${M.error}`)),console.log(),console.log("You may need to accept the invitation manually:"),console.log(E.cyan(` https://github.com/${L}/invitations`)),console.log();console.log(),console.log(E.bold("Step 4/6: Initializing repository..."));let w=C("Setting up git-annex...").start(),I=D.username&&D.email?{name:D.username,email:D.email}:void 0;try{await Z$(Y,{author:I}),await U$(Y),await N$(Y,H),w.succeed("Repository initialized")}catch(P){w.fail("Failed to initialize repository"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`)),A1(Y);return}if(console.log(),console.log(E.bold("Step 5/6: Uploading to S3...")),Object.keys(A).length===0)console.log(E.yellow(" No data files to upload (metadata only)"));else{let P=C("Uploading test data...").start();try{let yD=0,g=Object.keys(A).length,ED=await R$(Y,A,{jobs:4,onProgress:(WD)=>{if(WD.status==="completed"||WD.status==="failed")yD++,P.text=`Uploading... ${yD}/${g} files`}});if(ED.failed.length>0){P.fail(`Upload failed for ${ED.failed.length} file(s)`);for(let WD of ED.failed)console.log(E.red(` Failed: ${WD}`));if(ED.error)console.log(E.red(` Error: ${ED.error}`));console.log(),console.log(E.yellow("Sandbox training aborted due to upload failures.")),console.log(E.gray("Please check your network connection and try again.")),A1(Y);return}P.succeed(`Uploaded ${ED.uploaded} file(s)`)}catch(yD){P.fail("Upload failed"),console.log(E.red(` ${yD instanceof Error?yD.message:"Unknown error"}`)),A1(Y);return}let VD=C("Registering file URLs...").start();try{let yD={};for(let ED of Object.keys(A))yD[ED]=`${K.public_url}/${V}/${ED}`;let g=await w$(Y,yD);if(!g.success){VD.fail(`URL registration failed for ${g.failed.length} file(s)`);for(let ED of g.failed)console.log(E.red(` Failed: ${ED}`));console.log(),console.log(E.yellow("Sandbox training aborted due to URL registration failures.")),console.log(E.gray("This may indicate a git-annex configuration issue.")),A1(Y);return}VD.succeed(`Registered ${g.registered} file URLs`)}catch(yD){VD.fail("Failed to register URLs"),console.log(E.red(` ${yD instanceof Error?yD.message:"Unknown error"}`)),A1(Y);return}}console.log(),console.log(E.bold("Step 6/6: Pushing to GitHub..."));let b=C("Saving and pushing...").start();try{await W5(Y,"Initial sandbox training upload",I),await E5(Y),b.succeed("Pushed to GitHub")}catch(P){b.fail("Failed to push to GitHub"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`)),A1(Y);return}let T=C("Finalizing...").start();try{await V$(G),await Ov(G),q0("sandboxCompleted",!0),q0("sandboxDatasetId",G),T.succeed("Sandbox training complete!")}catch(P){T.fail("Failed to finalize"),console.log(E.red(` ${P instanceof Error?P.message:"Unknown error"}`)),A1(Y);return}A1(Y),console.log(),console.log(E.green.bold("Congratulations! Sandbox training completed successfully.")),console.log(),console.log("Your setup is verified and you're ready to upload real datasets:"),console.log(E.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(E.gray(`Sandbox dataset: ${G}`))}v$.command("status").description("Check sandbox training completion status").option("--refresh","Fetch latest status from server").action(async(D)=>{if(!PD()){console.log(E.red("Not authenticated")),console.log(E.gray("Run 'nemar auth login' first"));return}if(D.refresh){let F=C("Checking status...").start();try{let $=await Iv();if(q0("sandboxCompleted",$.sandbox_completed),$.sandbox_dataset_id)q0("sandboxDatasetId",$.sandbox_dataset_id);if(F.stop(),$.sandbox_completed){if(console.log(E.green("Sandbox training: Completed")),console.log(E.gray(` Dataset ID: ${$.sandbox_dataset_id}`)),$.sandbox_completed_at)console.log(E.gray(` Completed: ${$.sandbox_completed_at}`))}else console.log(E.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(E.cyan(" nemar sandbox"))}catch($){if(F.fail("Failed to check status"),$ instanceof u)console.log(E.red(` ${$.message}`))}}else{let F=sD();if(F.sandboxCompleted)console.log(E.green("Sandbox training: Completed")),console.log(E.gray(` Dataset ID: ${F.sandboxDatasetId}`));else console.log(E.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(E.cyan(" nemar sandbox"))}});v$.command("reset").description("Reset sandbox training status for re-training").option(_D,fD).option(tD,eD).action(async(D)=>{if(!PD()){console.log(E.red("Not authenticated")),console.log(E.gray("Run 'nemar auth login' first"));return}if(!sD().sandboxCompleted){console.log(E.yellow("Sandbox training not yet completed")),console.log(E.gray("Nothing to reset"));return}let $=await rD("Reset sandbox training status? You will need to complete training again.",D);if($!=="confirmed"){console.log(E.gray($==="declined"?"Skipped":"Cancelled"));return}let B=C("Resetting sandbox status...").start();try{await jv(),z2("sandboxCompleted"),z2("sandboxDatasetId"),B.succeed("Sandbox status reset"),console.log(),console.log("Run sandbox training again with:"),console.log(E.cyan(" nemar sandbox"))}catch(J){if(B.fail("Failed to reset"),J instanceof u)console.log(E.red(` ${J.message}`));else console.log(E.red(` ${J instanceof Error?J.message:"Unknown error"}`))}});var Vy={name:"nemar-cli",version:"0.3.7-dev.132",description:"CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource) dataset management",type:"module",main:"dist/index.js",bin:{nemar:"dist/index.js"},scripts:{dev:"bun run src/index.ts",build:"bun build src/index.ts --outdir dist --target bun --minify && sed '1s|#!/usr/bin/env node|#!/usr/bin/env bun|' dist/index.js > dist/index.js.tmp && mv dist/index.js.tmp dist/index.js",test:"bun test",lint:"biome check src/","lint:fix":"biome check --fix src/",format:"biome format --write src/",typecheck:"tsc --noEmit",prepublishOnly:"bun run build","docs:generate":"bun run scripts/generate-docs.ts","docs:serve":"mkdocs serve","docs:build":"mkdocs build"},keywords:["nemar","bids","neuroimaging","eeg","emg","datalad","cli"],author:"NEMAR Team",license:"MIT",repository:{type:"git",url:"git+https://github.com/nemarDatasets/nemar-cli.git"},bugs:{url:"https://github.com/nemarDatasets/nemar-cli/issues"},homepage:"https://nemar-cli.pages.dev",engines:{bun:">=1.0.0"},files:["dist","README.md","LICENSE"],dependencies:{chalk:"^5.3.0",commander:"^12.1.0",conf:"^13.0.1",inquirer:"^9.2.15",ora:"^8.0.1",zod:"^3.23.8"},devDependencies:{"@biomejs/biome":"^1.9.4","@types/bcryptjs":"^3.0.0","@types/bun":"latest","@types/inquirer":"^9.0.7",bcryptjs:"^3.0.3",typescript:"^5.5.4"}};var Ay=Vy.version;var Z1=new D0;Z1.name("nemar").description(`CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource)
|
|
567
567
|
|
|
568
568
|
NEMAR is a curated repository for neurophysiology data in BIDS format.
|
|
569
569
|
This CLI provides tools for uploading, downloading, and managing datasets.`).version(Ay,"-v, --version","Output the current version").option("--no-color","Disable colored output").option("--verbose","Enable verbose output").addHelpText("after",`
|
package/package.json
CHANGED