nemar-cli 0.5.2-dev.267 → 0.5.2
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 +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -116,7 +116,7 @@ ${IC.default.cursorShow}`)}releaseCursor(){if(this.extraLinesUnderPrompt>0)bQ(th
|
|
|
116
116
|
${F}`,z6D=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),V6D=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Z6D=(D,F,$)=>{let B=$===""?"":`with ${$.trim()}() `,J=K6D.bind(null,B,F.toString());Object.defineProperty(J,"name",V6D);let{writable:Q,enumerable:X,configurable:Y}=z6D;Object.defineProperty(D,"toString",{value:J,writable:Q,enumerable:X,configurable:Y})};function kF(D,F,{ignoreNonConfigurable:$=!1}={}){let{name:B}=D;for(let J of Reflect.ownKeys(F))H6D(D,F,J,$);return E6D(D,F),Z6D(D,F,B),D}var T7=new WeakMap,wj=(D,F={})=>{if(typeof D!=="function")throw TypeError("Expected a function");let $,B=0,J=D.displayName||D.name||"<anonymous>",Q=function(...X){if(T7.set(Q,++B),B===1)$=D.apply(this,X),D=void 0;else if(F.throw===!0)throw Error(`Function \`${J}\` can only be called once`);return $};return kF(Q,D),T7.set(Q,B),Q};wj.callCount=(D)=>{if(!T7.has(D))throw Error(`The given function \`${D.name}\` is not wrapped by the \`onetime\` package`);return T7.get(D)};var Ij=wj;var y6=[];y6.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")y6.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")y6.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var O7=(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",gX=Symbol.for("signal-exit emitter"),hX=globalThis,A6D=Object.defineProperty.bind(Object);class Pj{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(hX[gX])return hX[gX];A6D(hX,gX,{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 uX{}var U6D=(D)=>{return{onExit(F,$){return D.onExit(F,$)},load(){return D.load()},unload(){return D.unload()}}};class Sj extends uX{onExit(){return()=>{}}load(){}unload(){}}class kj extends uX{#$=bX.platform==="win32"?"SIGINT":"SIGHUP";#F=new Pj;#D;#J;#E;#B={};#X=!1;constructor(D){super();this.#D=D,this.#B={};for(let F of y6)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),X=F==="SIGHUP"?this.#$:F;if(!Q)D.kill(D.pid,X)}};this.#E=D.reallyExit,this.#J=D.emit}onExit(D,F){if(!O7(this.#D))return()=>{};if(this.#X===!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.#X)return;this.#X=!0,this.#F.count+=1;for(let D of y6)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.#X)return;this.#X=!1,y6.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.#E,this.#F.count-=1}#Q(D){if(!O7(this.#D))return 0;return this.#D.exitCode=D||0,this.#F.emit("exit",this.#D.exitCode,null),this.#E.call(this.#D,this.#D.exitCode)}#K(D,...F){let $=this.#J;if(D==="exit"&&O7(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 bX=globalThis.process,{onExit:vj,load:yAD,unload:xAD}=U6D(O7(bX)?new kj(bX):new Sj);var yj=w7.stderr.isTTY?w7.stderr:w7.stdout.isTTY?w7.stdout:void 0,L6D=yj?Ij(()=>{vj(()=>{yj.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},xj=L6D;var I7=!1,e4={};e4.show=(D=_j.stderr)=>{if(!D.isTTY)return;I7=!1,D.write("\x1B[?25h")};e4.hide=(D=_j.stderr)=>{if(!D.isTTY)return;xj(),I7=!0,D.write("\x1B[?25l")};e4.toggle=(D,F)=>{if(D!==void 0)I7=D;if(I7)e4.show(F);else e4.hide(F)};var mX=e4;var xF=n(R9(),1);import A1 from"process";function lX(){if(A1.platform!=="win32")return A1.env.TERM!=="linux";return Boolean(A1.env.CI)||Boolean(A1.env.WT_SESSION)||Boolean(A1.env.TERMINUS_SUBLIME)||A1.env.ConEmuTask==="{cmd::Cmder}"||A1.env.TERM_PROGRAM==="Terminus-Sublime"||A1.env.TERM_PROGRAM==="vscode"||A1.env.TERM==="xterm-256color"||A1.env.TERM==="alacritty"||A1.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var M6D={info:H.blue("\u2139"),success:H.green("\u2714"),warning:H.yellow("\u26A0"),error:H.red("\u2716")},N6D={info:H.blue("i"),success:H.green("\u221A"),warning:H.yellow("\u203C"),error:H.red("\xD7")},C6D=lX()?M6D:N6D,vF=C6D;function dX({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 R6D=dX();function yF(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(R6D,"")}function fj(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 gj(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function hj(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 j6D(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function bj(D,{ambiguousAsWide:F=!1}={}){if(j6D(D),gj(D)||hj(D)||F&&fj(D))return 2;return 1}var uj=()=>{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 T6D=new Intl.Segmenter,O6D=/^\p{Default_Ignorable_Code_Point}$/u;function pX(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:$=!0,countAnsiEscapeCodes:B=!1}=F;if(!B)D=yF(D);if(D.length===0)return 0;let J=0,Q={ambiguousAsWide:!$};for(let{segment:X}of T6D.segment(D)){let Y=X.codePointAt(0);if(Y<=31||Y>=127&&Y<=159)continue;if(Y>=8203&&Y<=8207||Y===65279)continue;if(Y>=768&&Y<=879||Y>=6832&&Y<=6911||Y>=7616&&Y<=7679||Y>=8400&&Y<=8447||Y>=65056&&Y<=65071)continue;if(Y>=55296&&Y<=57343)continue;if(Y>=65024&&Y<=65039)continue;if(O6D.test(X))continue;if(uj().test(X)){J+=2;continue}J+=bj(Y,Q)}return J}function cX({stream:D=process.stdout}={}){return Boolean(D&&D.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import mj from"process";function nX(){let{env:D}=mj,{TERM:F,TERM_PROGRAM:$}=D;if(mj.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 n1 from"process";var w6D=3;class lj{#$=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(n1.platform==="win32"||!n1.stdin.isTTY)return;n1.stdin.setRawMode(!0),n1.stdin.on("data",this.#J),n1.stdin.resume()}#D(){if(!n1.stdin.isTTY)return;n1.stdin.off("data",this.#J),n1.stdin.pause(),n1.stdin.setRawMode(!1)}#J(D){if(D[0]===w6D)n1.emit("SIGINT")}}var I6D=new lj,iX=I6D;var P6D=n(R9(),1);class dj{#$=0;#F=!1;#D=0;#J=-1;#E=0;#B;#X;#Q;#K;#V;#W;#H;#q;#Z;#Y;#G;color;constructor(D){if(typeof D==="string")D={text:D};if(this.#B={color:"cyan",stream:P7.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.#W=typeof this.#B.isEnabled==="boolean"?this.#B.isEnabled:cX({stream:this.#Q}),this.#H=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,P7.env.NODE_ENV==="test")this._stream=this.#Q,this._isEnabled=this.#W,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.#q}set indent(D=0){if(!(D>=0&&Number.isInteger(D)))throw Error("The `indent` option must be an integer from 0 and up");this.#q=D,this.#z()}get interval(){return this.#V??this.#X.interval??100}get spinner(){return this.#X}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.#X=D}else if(!nX())this.#X=xF.default.line;else if(D===void 0)this.#X=xF.default.dots;else if(D!=="default"&&xF.default[D])this.#X=xF.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.#Z}set text(D=""){this.#Z=D,this.#z()}get prefixText(){return this.#Y}set prefixText(D=""){this.#Y=D,this.#z()}get suffixText(){return this.#G}set suffixText(D=""){this.#G=D,this.#z()}get isSpinning(){return this.#K!==void 0}#A(D=this.#Y,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.#A(this.#Y,"-"),$=this.#U(this.#G,"-"),B=" ".repeat(this.#q)+F+"--"+this.#Z+"--"+$;this.#D=0;for(let J of yF(B).split(`
|
|
117
117
|
`))this.#D+=Math.max(1,Math.ceil(pX(J,{countAnsiEscapeCodes:!0})/D))}get isEnabled(){return this.#W&&!this.#H}set isEnabled(D){if(typeof D!=="boolean")throw TypeError("The `isEnabled` option must be a boolean");this.#W=D}get isSilent(){return this.#H}set isSilent(D){if(typeof D!=="boolean")throw TypeError("The `isSilent` option must be a boolean");this.#H=D}frame(){let D=Date.now();if(this.#J===-1||D-this.#E>=this.interval)this.#J=++this.#J%this.#X.frames.length,this.#E=D;let{frames:F}=this.#X,$=F[this.#J];if(this.color)$=H[this.color]($);let B=typeof this.#Y==="string"&&this.#Y!==""?this.#Y+" ":"",J=typeof this.text==="string"?" "+this.text:"",Q=typeof this.#G==="string"&&this.#G!==""?" "+this.#G:"";return B+$+J+Q}clear(){if(!this.#W||!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.#q||this.lastIndent!==this.#q)this.#Q.cursorTo(this.#q);return this.lastIndent=this.#q,this.#$=0,this}render(){if(this.#H)return this;return this.clear(),this.#Q.write(this.frame()),this.#$=this.#D,this}start(D){if(D)this.text=D;if(this.#H)return this;if(!this.#W){if(this.text)this.#Q.write(`- ${this.text}
|
|
118
118
|
`);return this}if(this.isSpinning)return this;if(this.#B.hideCursor)mX.hide(this.#Q);if(this.#B.discardStdin&&P7.stdin.isTTY)this.#F=!0,iX.start();return this.render(),this.#K=setInterval(this.render.bind(this),this.interval),this}stop(){if(!this.#W)return this;if(clearInterval(this.#K),this.#K=void 0,this.#J=0,this.clear(),this.#B.hideCursor)mX.show(this.#Q);if(this.#B.discardStdin&&P7.stdin.isTTY&&this.#F)iX.stop(),this.#F=!1;return this}succeed(D){return this.stopAndPersist({symbol:vF.success,text:D})}fail(D){return this.stopAndPersist({symbol:vF.error,text:D})}warn(D){return this.stopAndPersist({symbol:vF.warning,text:D})}info(D){return this.stopAndPersist({symbol:vF.info,text:D})}stopAndPersist(D={}){if(this.#H)return this;let F=D.prefixText??this.#Y,$=this.#A(F," "),B=D.symbol??" ",J=D.text??this.text,X=typeof J==="string"?(B?" ":"")+J:"",Y=D.suffixText??this.#G,G=this.#U(Y," "),W=$+B+X+G+`
|
|
119
|
-
`;return this.stop(),this.#Q.write(W),this}}function C(D){return new dj(D)}import{isDeepStrictEqual as j2D}from"util";import Lv from"process";import p6 from"fs";import Mv from"path";import Z5 from"crypto";import T2D from"assert";var x6=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var aX=new Set(["__proto__","prototype","constructor"]),S6D=new Set("0123456789");function S7(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(aX.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(aX.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"&&!S6D.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(aX.has($))return[];F.push($);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function oX(D,F){if(typeof F!=="number"&&Array.isArray(D)){let $=Number.parseInt(F,10);return Number.isInteger($)&&D[$]===D[F]}return!1}function pj(D,F){if(oX(D,F))throw Error("Cannot use string index")}function cj(D,F,$){if(!x6(D)||typeof F!=="string")return $===void 0?D:$;let B=S7(F);if(B.length===0)return $;for(let J=0;J<B.length;J++){let Q=B[J];if(oX(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 sX(D,F,$){if(!x6(D)||typeof F!=="string")return D;let B=D,J=S7(F);for(let Q=0;Q<J.length;Q++){let X=J[Q];if(pj(D,X),Q===J.length-1)D[X]=$;else if(!x6(D[X]))D[X]=typeof J[Q+1]==="number"?[]:{};D=D[X]}return B}function nj(D,F){if(!x6(D)||typeof F!=="string")return!1;let $=S7(F);for(let B=0;B<$.length;B++){let J=$[B];if(pj(D,J),B===$.length-1)return delete D[J],!0;if(D=D[J],!x6(D))return!1}}function ij(D,F){if(!x6(D)||typeof F!=="string")return!1;let $=S7(F);if($.length===0)return!1;for(let B of $){if(!x6(D)||!(B in D)||oX(D,B))return!1;D=D[B]}return!0}import fD from"path";import aj from"os";import rX from"process";var D6=aj.homedir(),tX=aj.tmpdir(),{env:D3}=rX,k6D=(D)=>{let F=fD.join(D6,"Library");return{data:fD.join(F,"Application Support",D),config:fD.join(F,"Preferences",D),cache:fD.join(F,"Caches",D),log:fD.join(F,"Logs",D),temp:fD.join(tX,D)}},v6D=(D)=>{let F=D3.APPDATA||fD.join(D6,"AppData","Roaming"),$=D3.LOCALAPPDATA||fD.join(D6,"AppData","Local");return{data:fD.join($,D,"Data"),config:fD.join(F,D,"Config"),cache:fD.join($,D,"Cache"),log:fD.join($,D,"Log"),temp:fD.join(tX,D)}},y6D=(D)=>{let F=fD.basename(D6);return{data:fD.join(D3.XDG_DATA_HOME||fD.join(D6,".local","share"),D),config:fD.join(D3.XDG_CONFIG_HOME||fD.join(D6,".config"),D),cache:fD.join(D3.XDG_CACHE_HOME||fD.join(D6,".cache"),D),log:fD.join(D3.XDG_STATE_HOME||fD.join(D6,".local","state"),D),temp:fD.join(tX,F,D)}};function eX(D,{suffix:F="nodejs"}={}){if(typeof D!=="string")throw TypeError(`Expected a string, got ${typeof D}`);if(F)D+=`-${F}`;if(rX.platform==="darwin")return k6D(D);if(rX.platform==="win32")return v6D(D);return y6D(D)}import m6D from"path";import VD from"fs";import{promisify as E0}from"util";var x6D=(D,F)=>{let{onError:$}=F;return function(...J){return D.apply(void 0,J).catch($)}},i1=x6D;var _6D=(D,F)=>{let{onError:$}=F;return function(...J){try{return D.apply(void 0,J)}catch(Q){return $(Q)}}},U1=_6D;var oj=250;var f6D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=J.interval??oj,Y=Date.now()+Q;return function G(...W){return D.apply(void 0,W).catch((q)=>{if(!$(q))throw q;if(Date.now()>=Y)throw q;let K=Math.round(X*Math.random());if(K>0)return new Promise((Z)=>setTimeout(Z,K)).then(()=>G.apply(void 0,W));else return G.apply(void 0,W)})}}},a1=f6D;var g6D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=Date.now()+Q;return function(...G){while(!0)try{return D.apply(void 0,G)}catch(W){if(!$(W))throw W;if(Date.now()>=X)throw W;continue}}}},o1=g6D;import rj from"process";var _F={isChangeErrorOk:(D)=>{if(!_F.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!sj&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!_F.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(!_F.isNodeError(D))throw D;if(_F.isChangeErrorOk(D))return;throw D}},DY=_F;var fF={onError:DY.onChangeError},P0={onError:()=>{return}},sj=rj.getuid?!rj.getuid():!1,X0={isRetriable:DY.isRetriableError};var h6D={attempt:{chmod:i1(E0(VD.chmod),fF),chown:i1(E0(VD.chown),fF),close:i1(E0(VD.close),P0),fsync:i1(E0(VD.fsync),P0),mkdir:i1(E0(VD.mkdir),P0),realpath:i1(E0(VD.realpath),P0),stat:i1(E0(VD.stat),P0),unlink:i1(E0(VD.unlink),P0),chmodSync:U1(VD.chmodSync,fF),chownSync:U1(VD.chownSync,fF),closeSync:U1(VD.closeSync,P0),existsSync:U1(VD.existsSync,P0),fsyncSync:U1(VD.fsync,P0),mkdirSync:U1(VD.mkdirSync,P0),realpathSync:U1(VD.realpathSync,P0),statSync:U1(VD.statSync,P0),unlinkSync:U1(VD.unlinkSync,P0)},retry:{close:a1(E0(VD.close),X0),fsync:a1(E0(VD.fsync),X0),open:a1(E0(VD.open),X0),readFile:a1(E0(VD.readFile),X0),rename:a1(E0(VD.rename),X0),stat:a1(E0(VD.stat),X0),write:a1(E0(VD.write),X0),writeFile:a1(E0(VD.writeFile),X0),closeSync:o1(VD.closeSync,X0),fsyncSync:o1(VD.fsyncSync,X0),openSync:o1(VD.openSync,X0),readFileSync:o1(VD.readFileSync,X0),renameSync:o1(VD.renameSync,X0),statSync:o1(VD.statSync,X0),writeSync:o1(VD.writeSync,X0),writeFileSync:o1(VD.writeFileSync,X0)}},eD=h6D;import _6 from"process";var tj="utf8",FY=438,ej=511;var DT={},FT=_6.geteuid?_6.geteuid():-1,$T=_6.getegid?_6.getegid():-1;var BT=1000,JT=!!_6.getuid,oUD=_6.getuid?!_6.getuid():!1,$Y=128;var QT=(D)=>{return D instanceof Error&&"code"in D};var BY=(D)=>{return typeof D==="string"},k7=(D)=>{return D===void 0};import u6D from"path";import F3 from"process";import XT from"process";var YT=XT.platform==="linux",v7=XT.platform==="win32";var JY=["SIGHUP","SIGINT","SIGTERM"];if(!v7)JY.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(YT)JY.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var GT=JY;class WT{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(v7&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))F3.kill(F3.pid,"SIGTERM");else F3.kill(F3.pid,D)},this.hook=()=>{F3.once("exit",()=>this.exit());for(let D of GT)try{F3.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var HT=new WT;var b6D=HT.register,qT=b6D;var m0={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=m0.truncate(F(D));if(B in m0.store)return m0.get(D,F,$);return m0.store[B]=$,[B,()=>delete m0.store[B]]},purge:(D)=>{if(!m0.store[D])return;delete m0.store[D],eD.attempt.unlink(D)},purgeSync:(D)=>{if(!m0.store[D])return;delete m0.store[D],eD.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in m0.store)m0.purgeSync(D)},truncate:(D)=>{let F=u6D.basename(D);if(F.length<=$Y)return D;let $=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!$)return D;let B=F.length-$Y;return`${D.slice(0,-F.length)}${$[1]}${$[2].slice(0,-B)}${$[3]}`}};qT(m0.purgeSyncAll);var gF=m0;function QY(D,F,$=DT){if(BY($))return QY(D,F,{encoding:$});let J={timeout:$.timeout??BT},Q=null,X=null,Y=null;try{let G=eD.attempt.realpathSync(D),W=!!G;D=G||D,[X,Q]=gF.get(D,$.tmpCreate||gF.create,$.tmpPurge!==!1);let q=JT&&k7($.chown),K=k7($.mode);if(W&&(q||K)){let V=eD.attempt.statSync(D);if(V){if($={...$},q)$.chown={uid:V.uid,gid:V.gid};if(K)$.mode=V.mode}}if(!W){let V=m6D.dirname(D);eD.attempt.mkdirSync(V,{mode:ej,recursive:!0})}if(Y=eD.retry.openSync(J)(X,"w",$.mode||FY),$.tmpCreated)$.tmpCreated(X);if(BY(F))eD.retry.writeSync(J)(Y,F,0,$.encoding||tj);else if(!k7(F))eD.retry.writeSync(J)(Y,F,0,F.length,0);if($.fsync!==!1)if($.fsyncWait!==!1)eD.retry.fsyncSync(J)(Y);else eD.attempt.fsync(Y);if(eD.retry.closeSync(J)(Y),Y=null,$.chown&&($.chown.uid!==FT||$.chown.gid!==$T))eD.attempt.chownSync(X,$.chown.uid,$.chown.gid);if($.mode&&$.mode!==FY)eD.attempt.chmodSync(X,$.mode);try{eD.retry.renameSync(J)(X,D)}catch(V){if(!QT(V))throw V;if(V.code!=="ENAMETOOLONG")throw V;eD.retry.renameSync(J)(X,gF.truncate(D))}Q(),X=null}finally{if(Y)eD.attempt.closeSync(Y);if(X)gF.purge(X)}}var Cv=n(BS(),1),Rv=n(TS(),1);var jQD=(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 X,Y,G,W=function(...q){let K=this,V=()=>{if(X=void 0,Y)clearTimeout(Y),Y=void 0;if(Q)G=D.apply(K,q)},Z=()=>{if(Y=void 0,X)clearTimeout(X),X=void 0;if(Q)G=D.apply(K,q)},A=J&&!X;if(clearTimeout(X),X=setTimeout(V,$),B>0&&B!==Number.POSITIVE_INFINITY&&!Y)Y=setTimeout(Z,B);if(A)G=D.apply(K,q);return G};return kF(W,D),W.cancel=()=>{if(X)clearTimeout(X),X=void 0;if(Y)clearTimeout(Y),Y=void 0},W},M2=jQD;var c6=n(Vv(),1);var A2D=Object.prototype.toString;function Av(D,F,$){if(!D)return!1;if(D.constructor===F)return!0;return A2D.call(D)===$}function Uv(D){return Av(D,Uint8Array,"[object Uint8Array]")}function U2D(D){return Av(D,ArrayBuffer,"[object ArrayBuffer]")}function L2D(D){return Uv(D)||U2D(D)}function M2D(D){if(!Uv(D))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof D}\``)}function N2D(D){if(!L2D(D))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof D}\``)}function f2(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)M2D(J),$.set(J,B),B+=J.length;return $}var Zv={utf8:new globalThis.TextDecoder("utf8")};function g2(D,F="utf8"){return N2D(D),Zv[F]??=new globalThis.TextDecoder(F),Zv[F].decode(D)}function C2D(D){if(typeof D!=="string")throw TypeError(`Expected \`string\`, got \`${typeof D}\``)}var R2D=new globalThis.TextEncoder;function S$(D){return C2D(D),R2D.encode(D)}var _CD=Array.from({length:256},(D,F)=>F.toString(16).padStart(2,"0"));var O2D=Rv.default.default,Nv="aes-256-cbc",A3=()=>Object.create(null),w2D=(D)=>D!==void 0&&D!==null,I2D=(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`)},k$="__internal__",h2=`${k$}.migrations.version`;class v${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=eX(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 Cv.Ajv2020({allErrors:!0,useDefaults:!0,...F.ajvOptions});O2D(Q);let X={...F.rootSchema,type:"object",properties:F.schema};this.#$=Q.compile(X);for(let[Y,G]of Object.entries(F.schema??{}))if(G?.default)this.#J[Y]=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=Mv.resolve(F.cwd,`${F.configName??"config"}${$}`);let B=this.store,J=Object.assign(A3(),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{T2D.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 ${k$} key, as it's used to manage this module internal operations.`);let{store:$}=this,B=(J,Q)=>{if(I2D(J,Q),this.#D.accessPropertiesByDotNotation)sX($,J,Q);else $[J]=Q};if(typeof D==="object"){let J=D;for(let[Q,X]of Object.entries(J))B(Q,X)}else B(D,F);this.store=$}has(D){if(this.#D.accessPropertiesByDotNotation)return ij(this.store,D);return D in this.store}reset(...D){for(let F of D)if(w2D(this.#J[F]))this.set(F,this.#J[F])}delete(D){let{store:F}=this;if(this.#D.accessPropertiesByDotNotation)nj(F,D);else delete F[D];this.store=F}clear(){this.store=A3();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=p6.readFileSync(this.path,this.#F?null:"utf8"),F=this._encryptData(D),$=this._deserialize(F);return this._validate($),Object.assign(A3(),$)}catch(D){if(D?.code==="ENOENT")return this._ensureDirectory(),A3();if(this.#D.clearInvalidConfig&&D.name==="SyntaxError")return A3();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:g2(D);try{let F=D.slice(0,16),$=Z5.pbkdf2Sync(this.#F,F.toString(),1e4,32,"sha512"),B=Z5.createDecipheriv(Nv,$,F),J=D.slice(17),Q=typeof J==="string"?S$(J):J;return g2(f2([B.update(Q),B.final()]))}catch{}return D.toString()}_handleChange(D,F){let $=D(),B=()=>{let J=$,Q=D();if(j2D(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(){p6.mkdirSync(Mv.dirname(this.path),{recursive:!0})}_write(D){let F=this._serialize(D);if(this.#F){let $=Z5.randomBytes(16),B=Z5.pbkdf2Sync(this.#F,$.toString(),1e4,32,"sha512"),J=Z5.createCipheriv(Nv,B,$);F=f2([$,S$(":"),J.update(S$(F)),J.final()])}if(Lv.env.SNAP)p6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});else try{QY(this.path,F,{mode:this.#D.configFileMode})}catch($){if($?.code==="EXDEV"){p6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});return}throw $}}_watch(){if(this._ensureDirectory(),!p6.existsSync(this.path))this._write(A3());if(Lv.platform==="win32")p6.watch(this.path,{persistent:!1},M2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else p6.watchFile(this.path,{persistent:!1},M2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(D,F,$){let B=this._get(h2,"0.0.0"),J=Object.keys(D).filter((X)=>this._shouldPerformMigration(X,B,F)),Q={...this.store};for(let X of J)try{if($)$(this,{fromVersion:B,toVersion:X,finalVersion:F,versions:J});let Y=D[X];Y?.(this),this._set(h2,X),B=X,Q={...this.store}}catch(Y){throw this.store=Q,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${Y}`)}if(this._isVersionInRangeFormat(B)||!c6.default.eq(B,F))this._set(h2,F)}_containsReservedKey(D){if(typeof D==="object"){if(Object.keys(D)[0]===k$)return!0}if(typeof D!=="string")return!1;if(this.#D.accessPropertiesByDotNotation){if(D.startsWith(`${k$}.`))return!0;return!1}return!1}_isVersionInRangeFormat(D){return c6.default.clean(D)===null}_shouldPerformMigration(D,F,$){if(this._isVersionInRangeFormat(D)){if(F!=="0.0.0"&&c6.default.satisfies(F,D))return!1;return c6.default.satisfies($,D)}if(c6.default.lte(D,F))return!1;if(c6.default.gt(D,$))return!1;return!0}_get(D,F){return cj(this.store,D,F)}_set(D,F){let{store:$}=this;sX($,D,F),this.store=$}}var k1={};HG(k1,{void:()=>EGD,util:()=>YD,unknown:()=>HGD,union:()=>ZGD,undefined:()=>YGD,tuple:()=>LGD,transformer:()=>PGD,symbol:()=>XGD,string:()=>vv,strictObject:()=>VGD,setErrorMap:()=>k2D,set:()=>CGD,record:()=>MGD,quotelessJson:()=>P2D,promise:()=>IGD,preprocess:()=>vGD,pipeline:()=>yGD,ostring:()=>xGD,optional:()=>SGD,onumber:()=>_GD,oboolean:()=>fGD,objectUtil:()=>b2,object:()=>zGD,number:()=>yv,nullable:()=>kGD,null:()=>GGD,never:()=>qGD,nativeEnum:()=>wGD,nan:()=>BGD,map:()=>NGD,makeIssue:()=>A5,literal:()=>TGD,lazy:()=>jGD,late:()=>FGD,isValid:()=>W6,isDirty:()=>x$,isAsync:()=>L3,isAborted:()=>y$,intersection:()=>UGD,instanceof:()=>$GD,getParsedType:()=>D8,getErrorMap:()=>U3,function:()=>RGD,enum:()=>OGD,effect:()=>PGD,discriminatedUnion:()=>AGD,defaultErrorMap:()=>U8,datetimeRegex:()=>Pv,date:()=>QGD,custom:()=>kv,coerce:()=>gGD,boolean:()=>xv,bigint:()=>JGD,array:()=>KGD,any:()=>WGD,addIssueToContext:()=>P,ZodVoid:()=>L5,ZodUnknown:()=>H6,ZodUnion:()=>T3,ZodUndefined:()=>R3,ZodType:()=>$D,ZodTuple:()=>$8,ZodTransformer:()=>S1,ZodSymbol:()=>U5,ZodString:()=>O1,ZodSet:()=>o6,ZodSchema:()=>$D,ZodRecord:()=>M5,ZodReadonly:()=>v3,ZodPromise:()=>s6,ZodPipeline:()=>R5,ZodParsedType:()=>T,ZodOptional:()=>I1,ZodObject:()=>gD,ZodNumber:()=>q6,ZodNullable:()=>M8,ZodNull:()=>j3,ZodNever:()=>F8,ZodNativeEnum:()=>P3,ZodNaN:()=>C5,ZodMap:()=>N5,ZodLiteral:()=>I3,ZodLazy:()=>w3,ZodIssueCode:()=>R,ZodIntersection:()=>O3,ZodFunction:()=>N3,ZodFirstPartyTypeKind:()=>m,ZodError:()=>_0,ZodEnum:()=>K6,ZodEffects:()=>S1,ZodDiscriminatedUnion:()=>_$,ZodDefault:()=>S3,ZodDate:()=>i6,ZodCatch:()=>k3,ZodBranded:()=>f$,ZodBoolean:()=>C3,ZodBigInt:()=>E6,ZodArray:()=>w1,ZodAny:()=>a6,Schema:()=>$D,ParseStatus:()=>G0,OK:()=>Z0,NEVER:()=>hGD,INVALID:()=>b,EMPTY_PATH:()=>v2D,DIRTY:()=>n6,BRAND:()=>DGD});var YD;(function(D){D.assertEqual=(J)=>{};function F(J){}D.assertIs=F;function $(J){throw Error()}D.assertNever=$,D.arrayToEnum=(J)=>{let Q={};for(let X of J)Q[X]=X;return Q},D.getValidEnumValues=(J)=>{let Q=D.objectKeys(J).filter((Y)=>typeof J[J[Y]]!=="number"),X={};for(let Y of Q)X[Y]=J[Y];return D.objectValues(X)},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 X in J)if(Object.prototype.hasOwnProperty.call(J,X))Q.push(X);return Q},D.find=(J,Q)=>{for(let X of J)if(Q(X))return X;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((X)=>typeof X==="string"?`'${X}'`:X).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(J,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(YD||(YD={}));var b2;(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(b2||(b2={}));var T=YD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),D8=(D)=>{switch(typeof D){case"undefined":return T.undefined;case"string":return T.string;case"number":return Number.isNaN(D)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":if(Array.isArray(D))return T.array;if(D===null)return T.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return T.promise;if(typeof Map<"u"&&D instanceof Map)return T.map;if(typeof Set<"u"&&D instanceof Set)return T.set;if(typeof Date<"u"&&D instanceof Date)return T.date;return T.object;default:return T.unknown}};var R=YD.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"]),P2D=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class _0 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 X=$,Y=0;while(Y<Q.path.length){let G=Q.path[Y];if(Y!==Q.path.length-1)X[G]=X[G]||{_errors:[]};else X[G]=X[G]||{_errors:[]},X[G]._errors.push(F(Q));X=X[G],Y++}}};return B(this),$}static assert(D){if(!(D instanceof _0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,YD.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()}}_0.create=(D)=>{return new _0(D)};var S2D=(D,F)=>{let $;switch(D.code){case R.invalid_type:if(D.received===T.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case R.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,YD.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:$=`Unrecognized key(s) in object: ${YD.joinValues(D.keys,", ")}`;break;case R.invalid_union:$="Invalid input";break;case R.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${YD.joinValues(D.options)}`;break;case R.invalid_enum_value:$=`Invalid enum value. Expected ${YD.joinValues(D.options)}, received '${D.received}'`;break;case R.invalid_arguments:$="Invalid function arguments";break;case R.invalid_return_type:$="Invalid function return type";break;case R.invalid_date:$="Invalid date";break;case R.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 YD.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case R.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 R.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 R.custom:$="Invalid input";break;case R.invalid_intersection_types:$="Intersection results could not be merged";break;case R.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case R.not_finite:$="Number must be finite";break;default:$=F.defaultError,YD.assertNever(D)}return{message:$}},U8=S2D;var jv=U8;function k2D(D){jv=D}function U3(){return jv}var A5=(D)=>{let{data:F,path:$,errorMaps:B,issueData:J}=D,Q=[...$,...J.path||[]],X={...J,path:Q};if(J.message!==void 0)return{...J,path:Q,message:J.message};let Y="",G=B.filter((W)=>!!W).slice().reverse();for(let W of G)Y=W(X,{data:F,defaultError:Y}).message;return{...J,path:Q,message:Y}},v2D=[];function P(D,F){let $=U3(),B=A5({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===U8?void 0:U8].filter((J)=>!!J)});D.common.issues.push(B)}class G0{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 b;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 G0.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let B of F){let{key:J,value:Q}=B;if(J.status==="aborted")return b;if(Q.status==="aborted")return b;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 b=Object.freeze({status:"aborted"}),n6=(D)=>({status:"dirty",value:D}),Z0=(D)=>({status:"valid",value:D}),y$=(D)=>D.status==="aborted",x$=(D)=>D.status==="dirty",W6=(D)=>D.status==="valid",L3=(D)=>typeof Promise<"u"&&D instanceof Promise;var _;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(_||(_={}));class P1{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 Tv=(D,F)=>{if(W6(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 _0(D.common.issues);return this._error=$,this._error}}}};function e(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:(X,Y)=>{let{message:G}=D;if(X.code==="invalid_enum_value")return{message:G??Y.defaultError};if(typeof Y.data>"u")return{message:G??B??Y.defaultError};if(X.code!=="invalid_type")return{message:Y.defaultError};return{message:G??$??Y.defaultError}},description:J}}class $D{get description(){return this._def.description}_getType(D){return D8(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:D8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new G0,ctx:{common:D.parent.common,data:D.data,parsedType:D8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(L3(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:D8(D)},B=this._parseSync({data:D,path:$.path,parent:$});return Tv($,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:D8(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return W6($)?{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(($)=>W6($)?{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:D8(D)},B=this._parse({data:D,path:$.path,parent:$}),J=await(L3(B)?B:Promise.resolve(B));return Tv($,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),X=()=>J.addIssue({code:R.custom,...$(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((Y)=>{if(!Y)return X(),!1;else return!0});if(!Q)return X(),!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 S1({schema:this,typeName:m.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 I1.create(this,this._def)}nullable(){return M8.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w1.create(this)}promise(){return s6.create(this,this._def)}or(D){return T3.create([this,D],this._def)}and(D){return O3.create(this,D,this._def)}transform(D){return new S1({...e(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new S3({...e(this._def),innerType:this,defaultValue:F,typeName:m.ZodDefault})}brand(){return new f$({typeName:m.ZodBranded,type:this,...e(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new k3({...e(this._def),innerType:this,catchValue:F,typeName:m.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return R5.create(this,D)}readonly(){return v3.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var y2D=/^c[^\s-]{8,}$/i,x2D=/^[0-9a-z]+$/,_2D=/^[0-9A-HJKMNP-TV-Z]{26}$/i,f2D=/^[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,g2D=/^[a-z0-9_-]{21}$/i,h2D=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,b2D=/^[-+]?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)?)??$/,u2D=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,m2D="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",u2,l2D=/^(?:(?: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])$/,d2D=/^(?:(?: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])$/,p2D=/^(([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]))$/,c2D=/^(([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])$/,n2D=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,i2D=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wv="((\\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])))",a2D=new RegExp(`^${wv}$`);function Iv(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 o2D(D){return new RegExp(`^${Iv(D)}$`)}function Pv(D){let F=`${wv}T${Iv(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function s2D(D,F){if((F==="v4"||!F)&&l2D.test(D))return!0;if((F==="v6"||!F)&&p2D.test(D))return!0;return!1}function r2D(D,F){if(!h2D.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 t2D(D,F){if((F==="v4"||!F)&&d2D.test(D))return!0;if((F==="v6"||!F)&&c2D.test(D))return!0;return!1}class O1 extends $D{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==T.string){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_type,expected:T.string,received:J.parsedType}),b}let $=new G0,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),P(B,{code:R.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),P(B,{code:R.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,X=D.data.length<J.value;if(Q||X){if(B=this._getOrReturnCtx(D,B),Q)P(B,{code:R.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(X)P(B,{code:R.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});$.dirty()}}else if(J.kind==="email"){if(!u2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"email",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="emoji"){if(!u2)u2=new RegExp(m2D,"u");if(!u2.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"emoji",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="uuid"){if(!f2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"uuid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="nanoid"){if(!g2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"nanoid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid"){if(!y2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid2"){if(!x2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid2",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ulid"){if(!_2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"ulid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),P(B,{validation:"url",code:R.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),P(B,{validation:"regex",code:R.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),P(B,{code:R.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),P(B,{code:R.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),P(B,{code:R.invalid_string,validation:{endsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="datetime"){if(!Pv(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:R.invalid_string,validation:"datetime",message:J.message}),$.dirty()}else if(J.kind==="date"){if(!a2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:R.invalid_string,validation:"date",message:J.message}),$.dirty()}else if(J.kind==="time"){if(!o2D(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:R.invalid_string,validation:"time",message:J.message}),$.dirty()}else if(J.kind==="duration"){if(!b2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"duration",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ip"){if(!s2D(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"ip",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="jwt"){if(!r2D(D.data,J.alg))B=this._getOrReturnCtx(D,B),P(B,{validation:"jwt",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cidr"){if(!t2D(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"cidr",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64"){if(!n2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64url"){if(!i2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64url",code:R.invalid_string,message:J.message}),$.dirty()}else YD.assertNever(J);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((B)=>D.test(B),{validation:F,code:R.invalid_string,..._.errToObj($)})}_addCheck(D){return new O1({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",..._.errToObj(D)})}url(D){return this._addCheck({kind:"url",..._.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",..._.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",..._.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",..._.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",..._.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",..._.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",..._.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",..._.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",..._.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",..._.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",..._.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",..._.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,..._.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,..._.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",..._.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,..._.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,..._.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,..._.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,..._.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,..._.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,..._.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,..._.errToObj(F)})}nonempty(D){return this.min(1,_.errToObj(D))}trim(){return new O1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new O1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new O1({...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}}O1.create=(D)=>{return new O1({checks:[],typeName:m.ZodString,coerce:D?.coerce??!1,...e(D)})};function e2D(D,F){let $=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,J=$>B?$:B,Q=Number.parseInt(D.toFixed(J).replace(".","")),X=Number.parseInt(F.toFixed(J).replace(".",""));return Q%X/10**J}class q6 extends $D{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)!==T.number){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_type,expected:T.number,received:J.parsedType}),b}let $=void 0,B=new G0;for(let J of this._def.checks)if(J.kind==="int"){if(!YD.isInteger(D.data))$=this._getOrReturnCtx(D,$),P($,{code:R.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,$),P($,{code:R.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,$),P($,{code:R.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(e2D(D.data,J.value)!==0)$=this._getOrReturnCtx(D,$),P($,{code:R.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),P($,{code:R.not_finite,message:J.message}),B.dirty()}else YD.assertNever(J);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,_.toString(F))}gt(D,F){return this.setLimit("min",D,!1,_.toString(F))}lte(D,F){return this.setLimit("max",D,!0,_.toString(F))}lt(D,F){return this.setLimit("max",D,!1,_.toString(F))}setLimit(D,F,$,B){return new q6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:_.toString(B)}]})}_addCheck(D){return new q6({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:_.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:_.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:_.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.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"&&YD.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)}}q6.create=(D)=>{return new q6({checks:[],typeName:m.ZodNumber,coerce:D?.coerce||!1,...e(D)})};class E6 extends $D{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)!==T.bigint)return this._getInvalidInput(D);let $=void 0,B=new G0;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,$),P($,{code:R.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,$),P($,{code:R.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,$),P($,{code:R.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else YD.assertNever(J);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return P(F,{code:R.invalid_type,expected:T.bigint,received:F.parsedType}),b}gte(D,F){return this.setLimit("min",D,!0,_.toString(F))}gt(D,F){return this.setLimit("min",D,!1,_.toString(F))}lte(D,F){return this.setLimit("max",D,!0,_.toString(F))}lt(D,F){return this.setLimit("max",D,!1,_.toString(F))}setLimit(D,F,$,B){return new E6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:_.toString(B)}]})}_addCheck(D){return new E6({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:_.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}}E6.create=(D)=>{return new E6({checks:[],typeName:m.ZodBigInt,coerce:D?.coerce??!1,...e(D)})};class C3 extends $D{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==T.boolean){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.boolean,received:$.parsedType}),b}return Z0(D.data)}}C3.create=(D)=>{return new C3({typeName:m.ZodBoolean,coerce:D?.coerce||!1,...e(D)})};class i6 extends $D{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==T.date){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_type,expected:T.date,received:J.parsedType}),b}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_date}),b}let $=new G0,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),P(B,{code:R.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),P(B,{code:R.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),$.dirty()}else YD.assertNever(J);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new i6({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:_.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:_.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}}i6.create=(D)=>{return new i6({checks:[],coerce:D?.coerce||!1,typeName:m.ZodDate,...e(D)})};class U5 extends $D{_parse(D){if(this._getType(D)!==T.symbol){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.symbol,received:$.parsedType}),b}return Z0(D.data)}}U5.create=(D)=>{return new U5({typeName:m.ZodSymbol,...e(D)})};class R3 extends $D{_parse(D){if(this._getType(D)!==T.undefined){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.undefined,received:$.parsedType}),b}return Z0(D.data)}}R3.create=(D)=>{return new R3({typeName:m.ZodUndefined,...e(D)})};class j3 extends $D{_parse(D){if(this._getType(D)!==T.null){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.null,received:$.parsedType}),b}return Z0(D.data)}}j3.create=(D)=>{return new j3({typeName:m.ZodNull,...e(D)})};class a6 extends $D{constructor(){super(...arguments);this._any=!0}_parse(D){return Z0(D.data)}}a6.create=(D)=>{return new a6({typeName:m.ZodAny,...e(D)})};class H6 extends $D{constructor(){super(...arguments);this._unknown=!0}_parse(D){return Z0(D.data)}}H6.create=(D)=>{return new H6({typeName:m.ZodUnknown,...e(D)})};class F8 extends $D{_parse(D){let F=this._getOrReturnCtx(D);return P(F,{code:R.invalid_type,expected:T.never,received:F.parsedType}),b}}F8.create=(D)=>{return new F8({typeName:m.ZodNever,...e(D)})};class L5 extends $D{_parse(D){if(this._getType(D)!==T.undefined){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.void,received:$.parsedType}),b}return Z0(D.data)}}L5.create=(D)=>{return new L5({typeName:m.ZodVoid,...e(D)})};class w1 extends $D{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),B=this._def;if(F.parsedType!==T.array)return P(F,{code:R.invalid_type,expected:T.array,received:F.parsedType}),b;if(B.exactLength!==null){let Q=F.data.length>B.exactLength.value,X=F.data.length<B.exactLength.value;if(Q||X)P(F,{code:Q?R.too_big:R.too_small,minimum:X?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)P(F,{code:R.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)P(F,{code:R.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,X)=>{return B.type._parseAsync(new P1(F,Q,F.path,X))})).then((Q)=>{return G0.mergeArray($,Q)});let J=[...F.data].map((Q,X)=>{return B.type._parseSync(new P1(F,Q,F.path,X))});return G0.mergeArray($,J)}get element(){return this._def.type}min(D,F){return new w1({...this._def,minLength:{value:D,message:_.toString(F)}})}max(D,F){return new w1({...this._def,maxLength:{value:D,message:_.toString(F)}})}length(D,F){return new w1({...this._def,exactLength:{value:D,message:_.toString(F)}})}nonempty(D){return this.min(1,D)}}w1.create=(D,F)=>{return new w1({type:D,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...e(F)})};function M3(D){if(D instanceof gD){let F={};for(let $ in D.shape){let B=D.shape[$];F[$]=I1.create(M3(B))}return new gD({...D._def,shape:()=>F})}else if(D instanceof w1)return new w1({...D._def,type:M3(D.element)});else if(D instanceof I1)return I1.create(M3(D.unwrap()));else if(D instanceof M8)return M8.create(M3(D.unwrap()));else if(D instanceof $8)return $8.create(D.items.map((F)=>M3(F)));else return D}class gD extends $D{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=YD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==T.object){let G=this._getOrReturnCtx(D);return P(G,{code:R.invalid_type,expected:T.object,received:G.parsedType}),b}let{status:$,ctx:B}=this._processInputParams(D),{shape:J,keys:Q}=this._getCached(),X=[];if(!(this._def.catchall instanceof F8&&this._def.unknownKeys==="strip")){for(let G in B.data)if(!Q.includes(G))X.push(G)}let Y=[];for(let G of Q){let W=J[G],q=B.data[G];Y.push({key:{status:"valid",value:G},value:W._parse(new P1(B,q,B.path,G)),alwaysSet:G in B.data})}if(this._def.catchall instanceof F8){let G=this._def.unknownKeys;if(G==="passthrough")for(let W of X)Y.push({key:{status:"valid",value:W},value:{status:"valid",value:B.data[W]}});else if(G==="strict"){if(X.length>0)P(B,{code:R.unrecognized_keys,keys:X}),$.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let W of X){let q=B.data[W];Y.push({key:{status:"valid",value:W},value:G._parse(new P1(B,q,B.path,W)),alwaysSet:W in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let G=[];for(let W of Y){let q=await W.key,K=await W.value;G.push({key:q,value:K,alwaysSet:W.alwaysSet})}return G}).then((G)=>{return G0.mergeObjectSync($,G)});else return G0.mergeObjectSync($,Y)}get shape(){return this._def.shape()}strict(D){return _.errToObj,new gD({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let B=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:_.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new gD({...this._def,unknownKeys:"strip"})}passthrough(){return new gD({...this._def,unknownKeys:"passthrough"})}extend(D){return new gD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new gD({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:m.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new gD({...this._def,catchall:D})}pick(D){let F={};for(let $ of YD.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new gD({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of YD.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new gD({...this._def,shape:()=>F})}deepPartial(){return M3(this)}partial(D){let F={};for(let $ of YD.objectKeys(this.shape)){let B=this.shape[$];if(D&&!D[$])F[$]=B;else F[$]=B.optional()}return new gD({...this._def,shape:()=>F})}required(D){let F={};for(let $ of YD.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let J=this.shape[$];while(J instanceof I1)J=J._def.innerType;F[$]=J}return new gD({...this._def,shape:()=>F})}keyof(){return Sv(YD.objectKeys(this.shape))}}gD.create=(D,F)=>{return new gD({shape:()=>D,unknownKeys:"strip",catchall:F8.create(),typeName:m.ZodObject,...e(F)})};gD.strictCreate=(D,F)=>{return new gD({shape:()=>D,unknownKeys:"strict",catchall:F8.create(),typeName:m.ZodObject,...e(F)})};gD.lazycreate=(D,F)=>{return new gD({shape:D,unknownKeys:"strip",catchall:F8.create(),typeName:m.ZodObject,...e(F)})};class T3 extends $D{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function B(J){for(let X of J)if(X.result.status==="valid")return X.result;for(let X of J)if(X.result.status==="dirty")return F.common.issues.push(...X.ctx.common.issues),X.result;let Q=J.map((X)=>new _0(X.ctx.common.issues));return P(F,{code:R.invalid_union,unionErrors:Q}),b}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 Y of $){let G={...F,common:{...F.common,issues:[]},parent:null},W=Y._parseSync({data:F.data,path:F.path,parent:G});if(W.status==="valid")return W;else if(W.status==="dirty"&&!J)J={result:W,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 X=Q.map((Y)=>new _0(Y));return P(F,{code:R.invalid_union,unionErrors:X}),b}}get options(){return this._def.options}}T3.create=(D,F)=>{return new T3({options:D,typeName:m.ZodUnion,...e(F)})};var L8=(D)=>{if(D instanceof w3)return L8(D.schema);else if(D instanceof S1)return L8(D.innerType());else if(D instanceof I3)return[D.value];else if(D instanceof K6)return D.options;else if(D instanceof P3)return YD.objectValues(D.enum);else if(D instanceof S3)return L8(D._def.innerType);else if(D instanceof R3)return[void 0];else if(D instanceof j3)return[null];else if(D instanceof I1)return[void 0,...L8(D.unwrap())];else if(D instanceof M8)return[null,...L8(D.unwrap())];else if(D instanceof f$)return L8(D.unwrap());else if(D instanceof v3)return L8(D.unwrap());else if(D instanceof k3)return L8(D._def.innerType);else return[]};class _$ extends $D{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==T.object)return P(F,{code:R.invalid_type,expected:T.object,received:F.parsedType}),b;let $=this.discriminator,B=F.data[$],J=this.optionsMap.get(B);if(!J)return P(F,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),b;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=L8(J.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let X of Q){if(B.has(X))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(X)}`);B.set(X,J)}}return new _$({typeName:m.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...e($)})}}function m2(D,F){let $=D8(D),B=D8(F);if(D===F)return{valid:!0,data:D};else if($===T.object&&B===T.object){let J=YD.objectKeys(F),Q=YD.objectKeys(D).filter((Y)=>J.indexOf(Y)!==-1),X={...D,...F};for(let Y of Q){let G=m2(D[Y],F[Y]);if(!G.valid)return{valid:!1};X[Y]=G.data}return{valid:!0,data:X}}else if($===T.array&&B===T.array){if(D.length!==F.length)return{valid:!1};let J=[];for(let Q=0;Q<D.length;Q++){let X=D[Q],Y=F[Q],G=m2(X,Y);if(!G.valid)return{valid:!1};J.push(G.data)}return{valid:!0,data:J}}else if($===T.date&&B===T.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class O3 extends $D{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=(J,Q)=>{if(y$(J)||y$(Q))return b;let X=m2(J.value,Q.value);if(!X.valid)return P($,{code:R.invalid_intersection_types}),b;if(x$(J)||x$(Q))F.dirty();return{status:F.value,value:X.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:$}))}}O3.create=(D,F,$)=>{return new O3({left:D,right:F,typeName:m.ZodIntersection,...e($)})};class $8 extends $D{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.array)return P($,{code:R.invalid_type,expected:T.array,received:$.parsedType}),b;if($.data.length<this._def.items.length)return P($,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),b;if(!this._def.rest&&$.data.length>this._def.items.length)P($,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let J=[...$.data].map((Q,X)=>{let Y=this._def.items[X]||this._def.rest;if(!Y)return null;return Y._parse(new P1($,Q,$.path,X))}).filter((Q)=>!!Q);if($.common.async)return Promise.all(J).then((Q)=>{return G0.mergeArray(F,Q)});else return G0.mergeArray(F,J)}get items(){return this._def.items}rest(D){return new $8({...this._def,rest:D})}}$8.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new $8({items:D,typeName:m.ZodTuple,rest:null,...e(F)})};class M5 extends $D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.object)return P($,{code:R.invalid_type,expected:T.object,received:$.parsedType}),b;let B=[],J=this._def.keyType,Q=this._def.valueType;for(let X in $.data)B.push({key:J._parse(new P1($,X,$.path,X)),value:Q._parse(new P1($,$.data[X],$.path,X)),alwaysSet:X in $.data});if($.common.async)return G0.mergeObjectAsync(F,B);else return G0.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof $D)return new M5({keyType:D,valueType:F,typeName:m.ZodRecord,...e($)});return new M5({keyType:O1.create(),valueType:D,typeName:m.ZodRecord,...e(F)})}}class N5 extends $D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.map)return P($,{code:R.invalid_type,expected:T.map,received:$.parsedType}),b;let B=this._def.keyType,J=this._def.valueType,Q=[...$.data.entries()].map(([X,Y],G)=>{return{key:B._parse(new P1($,X,$.path,[G,"key"])),value:J._parse(new P1($,Y,$.path,[G,"value"]))}});if($.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let Y of Q){let G=await Y.key,W=await Y.value;if(G.status==="aborted"||W.status==="aborted")return b;if(G.status==="dirty"||W.status==="dirty")F.dirty();X.set(G.value,W.value)}return{status:F.value,value:X}})}else{let X=new Map;for(let Y of Q){let{key:G,value:W}=Y;if(G.status==="aborted"||W.status==="aborted")return b;if(G.status==="dirty"||W.status==="dirty")F.dirty();X.set(G.value,W.value)}return{status:F.value,value:X}}}}N5.create=(D,F,$)=>{return new N5({valueType:F,keyType:D,typeName:m.ZodMap,...e($)})};class o6 extends $D{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.set)return P($,{code:R.invalid_type,expected:T.set,received:$.parsedType}),b;let B=this._def;if(B.minSize!==null){if($.data.size<B.minSize.value)P($,{code:R.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)P($,{code:R.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(Y){let G=new Set;for(let W of Y){if(W.status==="aborted")return b;if(W.status==="dirty")F.dirty();G.add(W.value)}return{status:F.value,value:G}}let X=[...$.data.values()].map((Y,G)=>J._parse(new P1($,Y,$.path,G)));if($.common.async)return Promise.all(X).then((Y)=>Q(Y));else return Q(X)}min(D,F){return new o6({...this._def,minSize:{value:D,message:_.toString(F)}})}max(D,F){return new o6({...this._def,maxSize:{value:D,message:_.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}o6.create=(D,F)=>{return new o6({valueType:D,minSize:null,maxSize:null,typeName:m.ZodSet,...e(F)})};class N3 extends $D{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==T.function)return P(F,{code:R.invalid_type,expected:T.function,received:F.parsedType}),b;function $(X,Y){return A5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,U3(),U8].filter((G)=>!!G),issueData:{code:R.invalid_arguments,argumentsError:Y}})}function B(X,Y){return A5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,U3(),U8].filter((G)=>!!G),issueData:{code:R.invalid_return_type,returnTypeError:Y}})}let J={errorMap:F.common.contextualErrorMap},Q=F.data;if(this._def.returns instanceof s6){let X=this;return Z0(async function(...Y){let G=new _0([]),W=await X._def.args.parseAsync(Y,J).catch((V)=>{throw G.addIssue($(Y,V)),G}),q=await Reflect.apply(Q,this,W);return await X._def.returns._def.type.parseAsync(q,J).catch((V)=>{throw G.addIssue(B(q,V)),G})})}else{let X=this;return Z0(function(...Y){let G=X._def.args.safeParse(Y,J);if(!G.success)throw new _0([$(Y,G.error)]);let W=Reflect.apply(Q,this,G.data),q=X._def.returns.safeParse(W,J);if(!q.success)throw new _0([B(W,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new N3({...this._def,args:$8.create(D).rest(H6.create())})}returns(D){return new N3({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new N3({args:D?D:$8.create([]).rest(H6.create()),returns:F||H6.create(),typeName:m.ZodFunction,...e($)})}}class w3 extends $D{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})}}w3.create=(D,F)=>{return new w3({getter:D,typeName:m.ZodLazy,...e(F)})};class I3 extends $D{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return P(F,{received:F.data,code:R.invalid_literal,expected:this._def.value}),b}return{status:"valid",value:D.data}}get value(){return this._def.value}}I3.create=(D,F)=>{return new I3({value:D,typeName:m.ZodLiteral,...e(F)})};function Sv(D,F){return new K6({values:D,typeName:m.ZodEnum,...e(F)})}class K6 extends $D{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return P(F,{expected:YD.joinValues($),received:F.parsedType,code:R.invalid_type}),b}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 P(F,{received:F.data,code:R.invalid_enum_value,options:$}),b}return Z0(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 K6.create(D,{...this._def,...F})}exclude(D,F=this._def){return K6.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}}K6.create=Sv;class P3 extends $D{_parse(D){let F=YD.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==T.string&&$.parsedType!==T.number){let B=YD.objectValues(F);return P($,{expected:YD.joinValues(B),received:$.parsedType,code:R.invalid_type}),b}if(!this._cache)this._cache=new Set(YD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=YD.objectValues(F);return P($,{received:$.data,code:R.invalid_enum_value,options:B}),b}return Z0(D.data)}get enum(){return this._def.values}}P3.create=(D,F)=>{return new P3({values:D,typeName:m.ZodNativeEnum,...e(F)})};class s6 extends $D{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==T.promise&&F.common.async===!1)return P(F,{code:R.invalid_type,expected:T.promise,received:F.parsedType}),b;let $=F.parsedType===T.promise?F.data:Promise.resolve(F.data);return Z0($.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}s6.create=(D,F)=>{return new s6({type:D,typeName:m.ZodPromise,...e(F)})};class S1 extends $D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.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(P($,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(X)=>{if(F.value==="aborted")return b;let Y=await this._def.schema._parseAsync({data:X,path:$.path,parent:$});if(Y.status==="aborted")return b;if(Y.status==="dirty")return n6(Y.value);if(F.value==="dirty")return n6(Y.value);return Y});else{if(F.value==="aborted")return b;let X=this._def.schema._parseSync({data:Q,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")return n6(X.value);if(F.value==="dirty")return n6(X.value);return X}}if(B.type==="refinement"){let Q=(X)=>{let Y=B.refinement(X,J);if($.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if($.common.async===!1){let X=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value),{status:F.value,value:X.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((X)=>{if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value).then(()=>{return{status:F.value,value:X.value}})})}if(B.type==="transform")if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!W6(Q))return b;let X=B.transform(Q.value,J);if(X instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:X}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(!W6(Q))return b;return Promise.resolve(B.transform(Q.value,J)).then((X)=>({status:F.value,value:X}))});YD.assertNever(B)}}S1.create=(D,F,$)=>{return new S1({schema:D,typeName:m.ZodEffects,effect:F,...e($)})};S1.createWithPreprocess=(D,F,$)=>{return new S1({schema:F,effect:{type:"preprocess",transform:D},typeName:m.ZodEffects,...e($)})};class I1 extends $D{_parse(D){if(this._getType(D)===T.undefined)return Z0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}I1.create=(D,F)=>{return new I1({innerType:D,typeName:m.ZodOptional,...e(F)})};class M8 extends $D{_parse(D){if(this._getType(D)===T.null)return Z0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}M8.create=(D,F)=>{return new M8({innerType:D,typeName:m.ZodNullable,...e(F)})};class S3 extends $D{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===T.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}S3.create=(D,F)=>{return new S3({innerType:D,typeName:m.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...e(F)})};class k3 extends $D{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(L3(B))return B.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new _0($.common.issues)},input:$.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new _0($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}}k3.create=(D,F)=>{return new k3({innerType:D,typeName:m.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...e(F)})};class C5 extends $D{_parse(D){if(this._getType(D)!==T.nan){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.nan,received:$.parsedType}),b}return{status:"valid",value:D.data}}}C5.create=(D)=>{return new C5({typeName:m.ZodNaN,...e(D)})};var DGD=Symbol("zod_brand");class f$ extends $D{_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 R5 extends $D{_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 b;if(J.status==="dirty")return F.dirty(),n6(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 b;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 R5({in:D,out:F,typeName:m.ZodPipeline})}}class v3 extends $D{_parse(D){let F=this._def.innerType._parse(D),$=(B)=>{if(W6(B))B.value=Object.freeze(B.value);return B};return L3(F)?F.then((B)=>$(B)):$(F)}unwrap(){return this._def.innerType}}v3.create=(D,F)=>{return new v3({innerType:D,typeName:m.ZodReadonly,...e(F)})};function Ov(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function kv(D,F={},$){if(D)return a6.create().superRefine((B,J)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((X)=>{if(!X){let Y=Ov(F,B),G=Y.fatal??$??!0;J.addIssue({code:"custom",...Y,fatal:G})}});if(!Q){let X=Ov(F,B),Y=X.fatal??$??!0;J.addIssue({code:"custom",...X,fatal:Y})}return});return a6.create()}var FGD={object:gD.lazycreate},m;(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"})(m||(m={}));var $GD=(D,F={message:`Input not instance of ${D.name}`})=>kv(($)=>$ instanceof D,F),vv=O1.create,yv=q6.create,BGD=C5.create,JGD=E6.create,xv=C3.create,QGD=i6.create,XGD=U5.create,YGD=R3.create,GGD=j3.create,WGD=a6.create,HGD=H6.create,qGD=F8.create,EGD=L5.create,KGD=w1.create,zGD=gD.create,VGD=gD.strictCreate,ZGD=T3.create,AGD=_$.create,UGD=O3.create,LGD=$8.create,MGD=M5.create,NGD=N5.create,CGD=o6.create,RGD=N3.create,jGD=w3.create,TGD=I3.create,OGD=K6.create,wGD=P3.create,IGD=s6.create,PGD=S1.create,SGD=I1.create,kGD=M8.create,vGD=S1.createWithPreprocess,yGD=R5.create,xGD=()=>vv().optional(),_GD=()=>yv().optional(),fGD=()=>xv().optional(),gGD={string:(D)=>O1.create({...D,coerce:!0}),number:(D)=>q6.create({...D,coerce:!0}),boolean:(D)=>C3.create({...D,coerce:!0}),bigint:(D)=>E6.create({...D,coerce:!0}),date:(D)=>i6.create({...D,coerce:!0})};var hGD=b;var g$="https://nemar-api-dev.shirazi-10f.workers.dev",RRD=k1.object({apiKey:k1.string().optional(),apiUrl:k1.string().url().default(g$),username:k1.string().optional(),email:k1.string().email().optional(),githubUsername:k1.string().optional(),sandboxCompleted:k1.boolean().optional(),sandboxDatasetId:k1.string().optional()}),lD=new v$({projectName:"nemar",schema:{activeAccount:{type:"string"},accounts:{type:"object"},apiKey:{type:"string"},apiUrl:{type:"string",default:g$},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}:{}}),bGD=["apiKey","apiUrl","username","email","githubUsername","sandboxCompleted","sandboxDatasetId"];function uGD(){let D=lD.get("accounts");if(D&&Object.keys(D).length>0)return;let F=lD.get("apiKey"),$=lD.get("username");if(!F&&!$)return;try{let B=$||"default",J={};for(let Q of bGD){let X=lD.get(Q);if(X!==void 0)J[Q]=X}lD.store={activeAccount:B,accounts:{[B]:J}}}catch(B){console.error("Config migration failed (legacy config preserved):",B)}}uGD();function j5(){return lD.get("activeAccount")}function r6(){return lD.get("accounts")||{}}function oD(){let D={apiUrl:g$},F=j5();if(!F)return D;return r6()[F]||D}function _v(){return!!oD().sandboxCompleted}function N8(D,F){let $=j5()||"default",B=r6();if(!B[$])B[$]={apiUrl:g$};B[$][D]=F,lD.store={...lD.store,accounts:B,activeAccount:$}}function l2(D){let F=j5();if(!F)return;let $=r6();if($[F])delete $[F][D],lD.set("accounts",$)}function fv(){let D=j5();if(!D){lD.clear();return}let F=r6();delete F[D];let $=Object.keys(F);if($.length>0)lD.store={...lD.store,accounts:F,activeAccount:$[0]};else lD.clear()}function gv(){lD.clear()}function xD(){return!!oD().apiKey}function hv(){return lD.path}function T5(){let D=r6(),F=j5();return Object.entries(D).map(([$,B])=>({username:B.username||$,email:B.email,githubUsername:B.githubUsername,active:$===F}))}function bv(D,F){let $=r6();$[D]=F,lD.store={...lD.store,accounts:$,activeAccount:D}}function uv(D){let F=r6();if(F[D])return lD.store={...lD.store,activeAccount:D},F[D];for(let[$,B]of Object.entries(F))if(B.githubUsername===D)return lD.store={...lD.store,activeAccount:$},B;return null}var d2="https://nemar-api-dev.shirazi-10f.workers.dev",h$=/^\d{4}-\d{4}-\d{4}-\d{3}[\dX]$/;function f0(D){if(D instanceof Error)return D.message;return String(D)}class u extends Error{statusCode;details;constructor(D,F,$){super(F);this.statusCode=D;this.details=$;this.name="ApiError"}}var mGD=d2.includes("workers.dev");function mv(){if(process.env.TEST_API_URL)return process.env.TEST_API_URL;if(mGD)return d2;return oD().apiUrl||d2}async function o(D,F={},$=!1){let B=`${mv()}${D}`,J={"Content-Type":"application/json",...F.headers};if($){let Y=oD();if(!Y.apiKey&&$===!0)throw new u(401,"Not authenticated. Run 'nemar auth login' first.");if(Y.apiKey)J.Authorization=`Bearer ${Y.apiKey}`}let Q;try{Q=await fetch(B,{...F,headers:J})}catch(Y){throw new u(0,`Network error: Could not connect to ${mv()}`,{originalError:Y instanceof Error?Y.message:String(Y)})}let X;try{X=await Q.json()}catch{throw new u(Q.status,`Invalid response from server (status ${Q.status})`)}if(!Q.ok)throw new u(Q.status,X.error||X.message||"Request failed",X.details);return X}async function lv(D){return o(`/auth/check-username?username=${encodeURIComponent(D)}`)}async function dv(D){return o(`/auth/check-github?username=${encodeURIComponent(D)}`)}async function pv(D){return o("/auth/signup",{method:"POST",body:JSON.stringify(D)})}async function cv(D){return o("/auth/login",{method:"POST",body:JSON.stringify({api_key:D})})}async function nv(D){return o("/auth/resend-verification",{method:"POST",body:JSON.stringify({email:D})})}async function iv(D,F){return o("/auth/retrieve-key",{method:"POST",body:JSON.stringify({email:D,password:F})})}async function av(D){return o("/auth/request-key-regeneration",{method:"POST",body:JSON.stringify({email:D})})}async function b$(){return o("/users/me",{},!0)}async function ov(D,F){let $=new URLSearchParams;if(D)$.set("status",D);if(F)$.set("role",F);let B=$.toString()?`?${$.toString()}`:"";return o(`/admin/users${B}`,{},!0)}async function sv(D){return o(`/admin/approve/${D}`,{method:"POST"},!0)}async function rv(D){return o(`/admin/revoke/${D}`,{method:"POST"},!0)}async function tv(D,F){return o(`/admin/users/${D}/role`,{method:"POST",body:JSON.stringify({role:F})},!0)}async function ev(D){return o(`/admin/regenerate-iam/${D}`,{method:"POST"},!0)}async function p2(D,F){return o(`/admin/datasets/${D}/visibility`,{method:"PATCH",body:JSON.stringify({visibility:F})},!0)}async function Dy(D){return o(`/datasets/${D}/publish`,{method:"POST"},!0)}async function Fy(D){return o(`/admin/datasets/${D}/ci`,{},!0)}async function u$(D){return o(`/admin/datasets/${D}/ci`,{method:"POST"},!0)}async function $y(D){return o(`/datasets/${D}/ci/status`,{},!0)}async function By(D){return o(`/datasets/${D}/manifest`,{},!0)}async function Jy(D,F){return o(`/datasets/${D}/manifest/${F}`,{},!0)}function Qy(D){let F=D;if(!["active","archived","deleted"].includes(F.status))throw Error(`Invalid dataset status: ${F.status}`);if(!F.visibility)F.visibility="private";else if(!["public","private"].includes(F.visibility))throw Error(`Invalid dataset visibility: ${F.visibility}`);return F}async function Xy(D=!1){let $=await o(`/datasets${D?"?mine=true":""}`,{},D?!0:"optional");return $.datasets=$.datasets.map(Qy),$}async function l0(D){let F=await o(`/datasets/${D}`,{},"optional");return Qy(F.dataset)}async function Yy(D){return o(`/datasets/${D}/versions`,{},!0)}async function m$(D){return o("/datasets",{method:"POST",body:JSON.stringify(D)},!0)}async function l$(D){return o(`/datasets/${D}/finalize`,{method:"POST"},!0)}async function Gy(D,F){return o(`/datasets/${D}/upload-urls`,{method:"POST",body:JSON.stringify({files:F})},!0)}async function Wy(D,F){return o(`/admin/datasets/${D}/doi/concept`,{method:"POST",body:JSON.stringify(F)},!0)}async function O5(D){return o(`/admin/datasets/${D}/doi`,{},!0)}async function c2(D,F){return o(`/admin/datasets/${D}/doi/update`,{method:"POST",body:JSON.stringify(F)},!0)}async function Hy(D){return o(`/datasets/${D}/request-access`,{method:"POST"},!0)}async function qy(D,F){return o(`/datasets/${D}/invite`,{method:"POST",body:JSON.stringify({username:F})},!0)}async function Ey(D){return o(`/datasets/${D}/collaborators`,{},!0)}async function Ky(D){return o("/sandbox/complete",{method:"POST",body:JSON.stringify({dataset_id:D})},!0)}async function zy(){return o("/sandbox/reset",{method:"POST"},!0)}async function Vy(){return o("/sandbox/status",{},!0)}async function Zy(D){return o(`/datasets/${D}/publish/request`,{method:"POST"},!0)}async function Ay(D){return o(`/datasets/${D}/publish/status`,{},!0)}async function Uy(D){return o(`/datasets/${D}/publish/resend`,{method:"POST"},!0)}async function Ly(D){let F=D?`?status=${D}`:"";return o(`/admin/publish/requests${F}`,{},!0)}async function My(D,F){return o(`/admin/publish/${D}/deny`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:F})},!0)}async function Ny(D,F=!1,$=!1){let B,J;do if(J=await o(`/admin/publish/${D}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resume:F,sandbox:$,s3_lock_offset:B})},!0),J.hasMore&&J.s3_lock_offset!==void 0)B=J.s3_lock_offset;else break;while(J.hasMore);return J}async function Cy(D,F){return o(`/admin/datasets/${D}/enrichment`,{method:"POST",body:JSON.stringify(F)},!0)}async function Ry(D){return o(`/admin/datasets/${D}/files`,{},!0)}async function jy(D){let F=0,$=0,B=[],J=0,Q=!0;while(Q){let X=await o(`/admin/datasets/${D}/s3-lock`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({offset:F})},!0);if($+=X.locked,B.push(...X.failed),J=X.total,Q=X.hasMore,Q)F+=40}return{locked:$,total:J,failed:B}}async function Ty(D,F=!1){return o(`/admin/datasets/${D}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({force:F})},!0)}async function TD(D,F,$=!1){if(F.no)return"declined";if(F.yes)return"confirmed";try{let{confirmed:B}=await LD.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 Oy(D,F,$){if($.no)return"declined";if($.yes)return"confirmed";try{let{input:B}=await LD.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 CD="-y, --yes",hD="-n, --no",RD="Skip confirmation and proceed",bD="Skip confirmation and decline";import{existsSync as Py,statSync as lGD}from"fs";import{join as n2}from"path";var{spawn:dGD}=globalThis.Bun;async function l(D,F={}){let $=dGD({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 wy(D){return D.split(".").map((F)=>{let $=Number.parseInt(F.replace(/[^0-9]/g,""),10);return Number.isNaN($)?0:$})}function pGD(D,F){let $=wy(D),B=wy(F);for(let J=0;J<Math.max($.length,B.length);J++){let Q=$[J]||0,X=B[J]||0;if(Q>X)return!0;if(Q<X)return!1}return!0}async function Sy(){try{let{stdout:F,exitCode:$,stderr:B}=await l(["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?pGD(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 cGD(){if(process.env.GH_TOKEN)return{accessible:!0,username:"token-auth",useHttps:!0};try{let{stdout:D,stderr:F}=await l(["ssh","-T","-o","BatchMode=yes","-o","StrictHostKeyChecking=accept-new","-o","ConnectTimeout=10","git@github.com"]),$=D+F,B=$.match(/Hi ([^!]+)!/);if(B)return{accessible:!0,username:B[1]};if($.includes("Permission denied"))return{accessible:!1};return{accessible:$.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 ky(){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 d$(){let[D,F]=await Promise.all([Sy(),cGD()]),$=[];if(!D.installed)$.push(`git-annex is not installed. Install: ${ky()}`);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 C8(D){if(!Py(n2(D,".git")))return!1;try{let{exitCode:F}=await l(["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 p$(D,F={}){if(!F.force&&await C8(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 l(["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:X}=await l(["git","annex","init"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(X!==0)return{success:!1,error:Q.trim()||"Failed to initialize git-annex"};return{success:!0}}catch($){return{success:!1,error:$.message}}}async function vy(D){try{let{exitCode:F,stderr:$}=await l(["git","annex","info"],{cwd:D});if(F===0)return{success:!0};if($.includes("First run: git-annex init")){let{stderr:B,exitCode:J}=await l(["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 c$(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 l(["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 nGD(){try{let{exitCode:D,stderr:F}=await l(["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 iGD(){try{let{stdout:D,exitCode:F,stderr:$}=await l(["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 n$(D){try{let{stdout:F,exitCode:$,stderr:B}=await l(["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 i$(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 l(["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((W)=>W.repository.full_name===D)?.id??null}catch(Y){let G=Y instanceof Error?Y.message:String(Y);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:Y}=await l(["gh","api",`/repos/${D}`,"--silent"]);if(Y===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:X}=await l(["gh","api","--method","PATCH",`/user/repository_invitations/${J}`]);if(Q!==0)return{accepted:!1,error:`Failed to accept invitation: ${X.trim()||"unknown error"}`};return{accepted:!0}}async function a$(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 nGD();if(Q.works)B=F;else{console.warn("GitHub SSH not available, falling back to HTTPS with gh CLI token...");let X=await iGD();if(X.token)B=`https://${X.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.
|
|
119
|
+
`;return this.stop(),this.#Q.write(W),this}}function C(D){return new dj(D)}import{isDeepStrictEqual as j2D}from"util";import Lv from"process";import p6 from"fs";import Mv from"path";import Z5 from"crypto";import T2D from"assert";var x6=(D)=>{let F=typeof D;return D!==null&&(F==="object"||F==="function")};var aX=new Set(["__proto__","prototype","constructor"]),S6D=new Set("0123456789");function S7(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(aX.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(aX.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"&&!S6D.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(aX.has($))return[];F.push($);break}case"index":throw Error("Index was not closed");case"start":{F.push("");break}}return F}function oX(D,F){if(typeof F!=="number"&&Array.isArray(D)){let $=Number.parseInt(F,10);return Number.isInteger($)&&D[$]===D[F]}return!1}function pj(D,F){if(oX(D,F))throw Error("Cannot use string index")}function cj(D,F,$){if(!x6(D)||typeof F!=="string")return $===void 0?D:$;let B=S7(F);if(B.length===0)return $;for(let J=0;J<B.length;J++){let Q=B[J];if(oX(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 sX(D,F,$){if(!x6(D)||typeof F!=="string")return D;let B=D,J=S7(F);for(let Q=0;Q<J.length;Q++){let X=J[Q];if(pj(D,X),Q===J.length-1)D[X]=$;else if(!x6(D[X]))D[X]=typeof J[Q+1]==="number"?[]:{};D=D[X]}return B}function nj(D,F){if(!x6(D)||typeof F!=="string")return!1;let $=S7(F);for(let B=0;B<$.length;B++){let J=$[B];if(pj(D,J),B===$.length-1)return delete D[J],!0;if(D=D[J],!x6(D))return!1}}function ij(D,F){if(!x6(D)||typeof F!=="string")return!1;let $=S7(F);if($.length===0)return!1;for(let B of $){if(!x6(D)||!(B in D)||oX(D,B))return!1;D=D[B]}return!0}import fD from"path";import aj from"os";import rX from"process";var D6=aj.homedir(),tX=aj.tmpdir(),{env:D3}=rX,k6D=(D)=>{let F=fD.join(D6,"Library");return{data:fD.join(F,"Application Support",D),config:fD.join(F,"Preferences",D),cache:fD.join(F,"Caches",D),log:fD.join(F,"Logs",D),temp:fD.join(tX,D)}},v6D=(D)=>{let F=D3.APPDATA||fD.join(D6,"AppData","Roaming"),$=D3.LOCALAPPDATA||fD.join(D6,"AppData","Local");return{data:fD.join($,D,"Data"),config:fD.join(F,D,"Config"),cache:fD.join($,D,"Cache"),log:fD.join($,D,"Log"),temp:fD.join(tX,D)}},y6D=(D)=>{let F=fD.basename(D6);return{data:fD.join(D3.XDG_DATA_HOME||fD.join(D6,".local","share"),D),config:fD.join(D3.XDG_CONFIG_HOME||fD.join(D6,".config"),D),cache:fD.join(D3.XDG_CACHE_HOME||fD.join(D6,".cache"),D),log:fD.join(D3.XDG_STATE_HOME||fD.join(D6,".local","state"),D),temp:fD.join(tX,F,D)}};function eX(D,{suffix:F="nodejs"}={}){if(typeof D!=="string")throw TypeError(`Expected a string, got ${typeof D}`);if(F)D+=`-${F}`;if(rX.platform==="darwin")return k6D(D);if(rX.platform==="win32")return v6D(D);return y6D(D)}import m6D from"path";import VD from"fs";import{promisify as E0}from"util";var x6D=(D,F)=>{let{onError:$}=F;return function(...J){return D.apply(void 0,J).catch($)}},i1=x6D;var _6D=(D,F)=>{let{onError:$}=F;return function(...J){try{return D.apply(void 0,J)}catch(Q){return $(Q)}}},U1=_6D;var oj=250;var f6D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=J.interval??oj,Y=Date.now()+Q;return function G(...W){return D.apply(void 0,W).catch((q)=>{if(!$(q))throw q;if(Date.now()>=Y)throw q;let K=Math.round(X*Math.random());if(K>0)return new Promise((Z)=>setTimeout(Z,K)).then(()=>G.apply(void 0,W));else return G.apply(void 0,W)})}}},a1=f6D;var g6D=(D,F)=>{let{isRetriable:$}=F;return function(J){let{timeout:Q}=J,X=Date.now()+Q;return function(...G){while(!0)try{return D.apply(void 0,G)}catch(W){if(!$(W))throw W;if(Date.now()>=X)throw W;continue}}}},o1=g6D;import rj from"process";var _F={isChangeErrorOk:(D)=>{if(!_F.isNodeError(D))return!1;let{code:F}=D;if(F==="ENOSYS")return!0;if(!sj&&(F==="EINVAL"||F==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!_F.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(!_F.isNodeError(D))throw D;if(_F.isChangeErrorOk(D))return;throw D}},DY=_F;var fF={onError:DY.onChangeError},P0={onError:()=>{return}},sj=rj.getuid?!rj.getuid():!1,X0={isRetriable:DY.isRetriableError};var h6D={attempt:{chmod:i1(E0(VD.chmod),fF),chown:i1(E0(VD.chown),fF),close:i1(E0(VD.close),P0),fsync:i1(E0(VD.fsync),P0),mkdir:i1(E0(VD.mkdir),P0),realpath:i1(E0(VD.realpath),P0),stat:i1(E0(VD.stat),P0),unlink:i1(E0(VD.unlink),P0),chmodSync:U1(VD.chmodSync,fF),chownSync:U1(VD.chownSync,fF),closeSync:U1(VD.closeSync,P0),existsSync:U1(VD.existsSync,P0),fsyncSync:U1(VD.fsync,P0),mkdirSync:U1(VD.mkdirSync,P0),realpathSync:U1(VD.realpathSync,P0),statSync:U1(VD.statSync,P0),unlinkSync:U1(VD.unlinkSync,P0)},retry:{close:a1(E0(VD.close),X0),fsync:a1(E0(VD.fsync),X0),open:a1(E0(VD.open),X0),readFile:a1(E0(VD.readFile),X0),rename:a1(E0(VD.rename),X0),stat:a1(E0(VD.stat),X0),write:a1(E0(VD.write),X0),writeFile:a1(E0(VD.writeFile),X0),closeSync:o1(VD.closeSync,X0),fsyncSync:o1(VD.fsyncSync,X0),openSync:o1(VD.openSync,X0),readFileSync:o1(VD.readFileSync,X0),renameSync:o1(VD.renameSync,X0),statSync:o1(VD.statSync,X0),writeSync:o1(VD.writeSync,X0),writeFileSync:o1(VD.writeFileSync,X0)}},eD=h6D;import _6 from"process";var tj="utf8",FY=438,ej=511;var DT={},FT=_6.geteuid?_6.geteuid():-1,$T=_6.getegid?_6.getegid():-1;var BT=1000,JT=!!_6.getuid,oUD=_6.getuid?!_6.getuid():!1,$Y=128;var QT=(D)=>{return D instanceof Error&&"code"in D};var BY=(D)=>{return typeof D==="string"},k7=(D)=>{return D===void 0};import u6D from"path";import F3 from"process";import XT from"process";var YT=XT.platform==="linux",v7=XT.platform==="win32";var JY=["SIGHUP","SIGINT","SIGTERM"];if(!v7)JY.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(YT)JY.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var GT=JY;class WT{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(v7&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))F3.kill(F3.pid,"SIGTERM");else F3.kill(F3.pid,D)},this.hook=()=>{F3.once("exit",()=>this.exit());for(let D of GT)try{F3.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var HT=new WT;var b6D=HT.register,qT=b6D;var m0={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=m0.truncate(F(D));if(B in m0.store)return m0.get(D,F,$);return m0.store[B]=$,[B,()=>delete m0.store[B]]},purge:(D)=>{if(!m0.store[D])return;delete m0.store[D],eD.attempt.unlink(D)},purgeSync:(D)=>{if(!m0.store[D])return;delete m0.store[D],eD.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in m0.store)m0.purgeSync(D)},truncate:(D)=>{let F=u6D.basename(D);if(F.length<=$Y)return D;let $=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(F);if(!$)return D;let B=F.length-$Y;return`${D.slice(0,-F.length)}${$[1]}${$[2].slice(0,-B)}${$[3]}`}};qT(m0.purgeSyncAll);var gF=m0;function QY(D,F,$=DT){if(BY($))return QY(D,F,{encoding:$});let J={timeout:$.timeout??BT},Q=null,X=null,Y=null;try{let G=eD.attempt.realpathSync(D),W=!!G;D=G||D,[X,Q]=gF.get(D,$.tmpCreate||gF.create,$.tmpPurge!==!1);let q=JT&&k7($.chown),K=k7($.mode);if(W&&(q||K)){let V=eD.attempt.statSync(D);if(V){if($={...$},q)$.chown={uid:V.uid,gid:V.gid};if(K)$.mode=V.mode}}if(!W){let V=m6D.dirname(D);eD.attempt.mkdirSync(V,{mode:ej,recursive:!0})}if(Y=eD.retry.openSync(J)(X,"w",$.mode||FY),$.tmpCreated)$.tmpCreated(X);if(BY(F))eD.retry.writeSync(J)(Y,F,0,$.encoding||tj);else if(!k7(F))eD.retry.writeSync(J)(Y,F,0,F.length,0);if($.fsync!==!1)if($.fsyncWait!==!1)eD.retry.fsyncSync(J)(Y);else eD.attempt.fsync(Y);if(eD.retry.closeSync(J)(Y),Y=null,$.chown&&($.chown.uid!==FT||$.chown.gid!==$T))eD.attempt.chownSync(X,$.chown.uid,$.chown.gid);if($.mode&&$.mode!==FY)eD.attempt.chmodSync(X,$.mode);try{eD.retry.renameSync(J)(X,D)}catch(V){if(!QT(V))throw V;if(V.code!=="ENAMETOOLONG")throw V;eD.retry.renameSync(J)(X,gF.truncate(D))}Q(),X=null}finally{if(Y)eD.attempt.closeSync(Y);if(X)gF.purge(X)}}var Cv=n(BS(),1),Rv=n(TS(),1);var jQD=(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 X,Y,G,W=function(...q){let K=this,V=()=>{if(X=void 0,Y)clearTimeout(Y),Y=void 0;if(Q)G=D.apply(K,q)},Z=()=>{if(Y=void 0,X)clearTimeout(X),X=void 0;if(Q)G=D.apply(K,q)},A=J&&!X;if(clearTimeout(X),X=setTimeout(V,$),B>0&&B!==Number.POSITIVE_INFINITY&&!Y)Y=setTimeout(Z,B);if(A)G=D.apply(K,q);return G};return kF(W,D),W.cancel=()=>{if(X)clearTimeout(X),X=void 0;if(Y)clearTimeout(Y),Y=void 0},W},M2=jQD;var c6=n(Vv(),1);var A2D=Object.prototype.toString;function Av(D,F,$){if(!D)return!1;if(D.constructor===F)return!0;return A2D.call(D)===$}function Uv(D){return Av(D,Uint8Array,"[object Uint8Array]")}function U2D(D){return Av(D,ArrayBuffer,"[object ArrayBuffer]")}function L2D(D){return Uv(D)||U2D(D)}function M2D(D){if(!Uv(D))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof D}\``)}function N2D(D){if(!L2D(D))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof D}\``)}function f2(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)M2D(J),$.set(J,B),B+=J.length;return $}var Zv={utf8:new globalThis.TextDecoder("utf8")};function g2(D,F="utf8"){return N2D(D),Zv[F]??=new globalThis.TextDecoder(F),Zv[F].decode(D)}function C2D(D){if(typeof D!=="string")throw TypeError(`Expected \`string\`, got \`${typeof D}\``)}var R2D=new globalThis.TextEncoder;function S$(D){return C2D(D),R2D.encode(D)}var _CD=Array.from({length:256},(D,F)=>F.toString(16).padStart(2,"0"));var O2D=Rv.default.default,Nv="aes-256-cbc",A3=()=>Object.create(null),w2D=(D)=>D!==void 0&&D!==null,I2D=(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`)},k$="__internal__",h2=`${k$}.migrations.version`;class v${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=eX(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 Cv.Ajv2020({allErrors:!0,useDefaults:!0,...F.ajvOptions});O2D(Q);let X={...F.rootSchema,type:"object",properties:F.schema};this.#$=Q.compile(X);for(let[Y,G]of Object.entries(F.schema??{}))if(G?.default)this.#J[Y]=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=Mv.resolve(F.cwd,`${F.configName??"config"}${$}`);let B=this.store,J=Object.assign(A3(),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{T2D.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 ${k$} key, as it's used to manage this module internal operations.`);let{store:$}=this,B=(J,Q)=>{if(I2D(J,Q),this.#D.accessPropertiesByDotNotation)sX($,J,Q);else $[J]=Q};if(typeof D==="object"){let J=D;for(let[Q,X]of Object.entries(J))B(Q,X)}else B(D,F);this.store=$}has(D){if(this.#D.accessPropertiesByDotNotation)return ij(this.store,D);return D in this.store}reset(...D){for(let F of D)if(w2D(this.#J[F]))this.set(F,this.#J[F])}delete(D){let{store:F}=this;if(this.#D.accessPropertiesByDotNotation)nj(F,D);else delete F[D];this.store=F}clear(){this.store=A3();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=p6.readFileSync(this.path,this.#F?null:"utf8"),F=this._encryptData(D),$=this._deserialize(F);return this._validate($),Object.assign(A3(),$)}catch(D){if(D?.code==="ENOENT")return this._ensureDirectory(),A3();if(this.#D.clearInvalidConfig&&D.name==="SyntaxError")return A3();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:g2(D);try{let F=D.slice(0,16),$=Z5.pbkdf2Sync(this.#F,F.toString(),1e4,32,"sha512"),B=Z5.createDecipheriv(Nv,$,F),J=D.slice(17),Q=typeof J==="string"?S$(J):J;return g2(f2([B.update(Q),B.final()]))}catch{}return D.toString()}_handleChange(D,F){let $=D(),B=()=>{let J=$,Q=D();if(j2D(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(){p6.mkdirSync(Mv.dirname(this.path),{recursive:!0})}_write(D){let F=this._serialize(D);if(this.#F){let $=Z5.randomBytes(16),B=Z5.pbkdf2Sync(this.#F,$.toString(),1e4,32,"sha512"),J=Z5.createCipheriv(Nv,B,$);F=f2([$,S$(":"),J.update(S$(F)),J.final()])}if(Lv.env.SNAP)p6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});else try{QY(this.path,F,{mode:this.#D.configFileMode})}catch($){if($?.code==="EXDEV"){p6.writeFileSync(this.path,F,{mode:this.#D.configFileMode});return}throw $}}_watch(){if(this._ensureDirectory(),!p6.existsSync(this.path))this._write(A3());if(Lv.platform==="win32")p6.watch(this.path,{persistent:!1},M2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else p6.watchFile(this.path,{persistent:!1},M2(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(D,F,$){let B=this._get(h2,"0.0.0"),J=Object.keys(D).filter((X)=>this._shouldPerformMigration(X,B,F)),Q={...this.store};for(let X of J)try{if($)$(this,{fromVersion:B,toVersion:X,finalVersion:F,versions:J});let Y=D[X];Y?.(this),this._set(h2,X),B=X,Q={...this.store}}catch(Y){throw this.store=Q,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${Y}`)}if(this._isVersionInRangeFormat(B)||!c6.default.eq(B,F))this._set(h2,F)}_containsReservedKey(D){if(typeof D==="object"){if(Object.keys(D)[0]===k$)return!0}if(typeof D!=="string")return!1;if(this.#D.accessPropertiesByDotNotation){if(D.startsWith(`${k$}.`))return!0;return!1}return!1}_isVersionInRangeFormat(D){return c6.default.clean(D)===null}_shouldPerformMigration(D,F,$){if(this._isVersionInRangeFormat(D)){if(F!=="0.0.0"&&c6.default.satisfies(F,D))return!1;return c6.default.satisfies($,D)}if(c6.default.lte(D,F))return!1;if(c6.default.gt(D,$))return!1;return!0}_get(D,F){return cj(this.store,D,F)}_set(D,F){let{store:$}=this;sX($,D,F),this.store=$}}var k1={};HG(k1,{void:()=>EGD,util:()=>YD,unknown:()=>HGD,union:()=>ZGD,undefined:()=>YGD,tuple:()=>LGD,transformer:()=>PGD,symbol:()=>XGD,string:()=>vv,strictObject:()=>VGD,setErrorMap:()=>k2D,set:()=>CGD,record:()=>MGD,quotelessJson:()=>P2D,promise:()=>IGD,preprocess:()=>vGD,pipeline:()=>yGD,ostring:()=>xGD,optional:()=>SGD,onumber:()=>_GD,oboolean:()=>fGD,objectUtil:()=>b2,object:()=>zGD,number:()=>yv,nullable:()=>kGD,null:()=>GGD,never:()=>qGD,nativeEnum:()=>wGD,nan:()=>BGD,map:()=>NGD,makeIssue:()=>A5,literal:()=>TGD,lazy:()=>jGD,late:()=>FGD,isValid:()=>W6,isDirty:()=>x$,isAsync:()=>L3,isAborted:()=>y$,intersection:()=>UGD,instanceof:()=>$GD,getParsedType:()=>D8,getErrorMap:()=>U3,function:()=>RGD,enum:()=>OGD,effect:()=>PGD,discriminatedUnion:()=>AGD,defaultErrorMap:()=>U8,datetimeRegex:()=>Pv,date:()=>QGD,custom:()=>kv,coerce:()=>gGD,boolean:()=>xv,bigint:()=>JGD,array:()=>KGD,any:()=>WGD,addIssueToContext:()=>P,ZodVoid:()=>L5,ZodUnknown:()=>H6,ZodUnion:()=>T3,ZodUndefined:()=>R3,ZodType:()=>$D,ZodTuple:()=>$8,ZodTransformer:()=>S1,ZodSymbol:()=>U5,ZodString:()=>O1,ZodSet:()=>o6,ZodSchema:()=>$D,ZodRecord:()=>M5,ZodReadonly:()=>v3,ZodPromise:()=>s6,ZodPipeline:()=>R5,ZodParsedType:()=>T,ZodOptional:()=>I1,ZodObject:()=>gD,ZodNumber:()=>q6,ZodNullable:()=>M8,ZodNull:()=>j3,ZodNever:()=>F8,ZodNativeEnum:()=>P3,ZodNaN:()=>C5,ZodMap:()=>N5,ZodLiteral:()=>I3,ZodLazy:()=>w3,ZodIssueCode:()=>R,ZodIntersection:()=>O3,ZodFunction:()=>N3,ZodFirstPartyTypeKind:()=>m,ZodError:()=>_0,ZodEnum:()=>K6,ZodEffects:()=>S1,ZodDiscriminatedUnion:()=>_$,ZodDefault:()=>S3,ZodDate:()=>i6,ZodCatch:()=>k3,ZodBranded:()=>f$,ZodBoolean:()=>C3,ZodBigInt:()=>E6,ZodArray:()=>w1,ZodAny:()=>a6,Schema:()=>$D,ParseStatus:()=>G0,OK:()=>Z0,NEVER:()=>hGD,INVALID:()=>b,EMPTY_PATH:()=>v2D,DIRTY:()=>n6,BRAND:()=>DGD});var YD;(function(D){D.assertEqual=(J)=>{};function F(J){}D.assertIs=F;function $(J){throw Error()}D.assertNever=$,D.arrayToEnum=(J)=>{let Q={};for(let X of J)Q[X]=X;return Q},D.getValidEnumValues=(J)=>{let Q=D.objectKeys(J).filter((Y)=>typeof J[J[Y]]!=="number"),X={};for(let Y of Q)X[Y]=J[Y];return D.objectValues(X)},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 X in J)if(Object.prototype.hasOwnProperty.call(J,X))Q.push(X);return Q},D.find=(J,Q)=>{for(let X of J)if(Q(X))return X;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((X)=>typeof X==="string"?`'${X}'`:X).join(Q)}D.joinValues=B,D.jsonStringifyReplacer=(J,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(YD||(YD={}));var b2;(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(b2||(b2={}));var T=YD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),D8=(D)=>{switch(typeof D){case"undefined":return T.undefined;case"string":return T.string;case"number":return Number.isNaN(D)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":if(Array.isArray(D))return T.array;if(D===null)return T.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return T.promise;if(typeof Map<"u"&&D instanceof Map)return T.map;if(typeof Set<"u"&&D instanceof Set)return T.set;if(typeof Date<"u"&&D instanceof Date)return T.date;return T.object;default:return T.unknown}};var R=YD.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"]),P2D=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")};class _0 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 X=$,Y=0;while(Y<Q.path.length){let G=Q.path[Y];if(Y!==Q.path.length-1)X[G]=X[G]||{_errors:[]};else X[G]=X[G]||{_errors:[]},X[G]._errors.push(F(Q));X=X[G],Y++}}};return B(this),$}static assert(D){if(!(D instanceof _0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,YD.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()}}_0.create=(D)=>{return new _0(D)};var S2D=(D,F)=>{let $;switch(D.code){case R.invalid_type:if(D.received===T.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case R.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,YD.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:$=`Unrecognized key(s) in object: ${YD.joinValues(D.keys,", ")}`;break;case R.invalid_union:$="Invalid input";break;case R.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${YD.joinValues(D.options)}`;break;case R.invalid_enum_value:$=`Invalid enum value. Expected ${YD.joinValues(D.options)}, received '${D.received}'`;break;case R.invalid_arguments:$="Invalid function arguments";break;case R.invalid_return_type:$="Invalid function return type";break;case R.invalid_date:$="Invalid date";break;case R.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 YD.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case R.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 R.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 R.custom:$="Invalid input";break;case R.invalid_intersection_types:$="Intersection results could not be merged";break;case R.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case R.not_finite:$="Number must be finite";break;default:$=F.defaultError,YD.assertNever(D)}return{message:$}},U8=S2D;var jv=U8;function k2D(D){jv=D}function U3(){return jv}var A5=(D)=>{let{data:F,path:$,errorMaps:B,issueData:J}=D,Q=[...$,...J.path||[]],X={...J,path:Q};if(J.message!==void 0)return{...J,path:Q,message:J.message};let Y="",G=B.filter((W)=>!!W).slice().reverse();for(let W of G)Y=W(X,{data:F,defaultError:Y}).message;return{...J,path:Q,message:Y}},v2D=[];function P(D,F){let $=U3(),B=A5({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===U8?void 0:U8].filter((J)=>!!J)});D.common.issues.push(B)}class G0{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 b;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 G0.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let B of F){let{key:J,value:Q}=B;if(J.status==="aborted")return b;if(Q.status==="aborted")return b;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 b=Object.freeze({status:"aborted"}),n6=(D)=>({status:"dirty",value:D}),Z0=(D)=>({status:"valid",value:D}),y$=(D)=>D.status==="aborted",x$=(D)=>D.status==="dirty",W6=(D)=>D.status==="valid",L3=(D)=>typeof Promise<"u"&&D instanceof Promise;var _;(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(_||(_={}));class P1{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 Tv=(D,F)=>{if(W6(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 _0(D.common.issues);return this._error=$,this._error}}}};function e(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:(X,Y)=>{let{message:G}=D;if(X.code==="invalid_enum_value")return{message:G??Y.defaultError};if(typeof Y.data>"u")return{message:G??B??Y.defaultError};if(X.code!=="invalid_type")return{message:Y.defaultError};return{message:G??$??Y.defaultError}},description:J}}class $D{get description(){return this._def.description}_getType(D){return D8(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:D8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new G0,ctx:{common:D.parent.common,data:D.data,parsedType:D8(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(L3(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:D8(D)},B=this._parseSync({data:D,path:$.path,parent:$});return Tv($,B)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:D8(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return W6($)?{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(($)=>W6($)?{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:D8(D)},B=this._parse({data:D,path:$.path,parent:$}),J=await(L3(B)?B:Promise.resolve(B));return Tv($,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),X=()=>J.addIssue({code:R.custom,...$(B)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((Y)=>{if(!Y)return X(),!1;else return!0});if(!Q)return X(),!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 S1({schema:this,typeName:m.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 I1.create(this,this._def)}nullable(){return M8.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w1.create(this)}promise(){return s6.create(this,this._def)}or(D){return T3.create([this,D],this._def)}and(D){return O3.create(this,D,this._def)}transform(D){return new S1({...e(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new S3({...e(this._def),innerType:this,defaultValue:F,typeName:m.ZodDefault})}brand(){return new f$({typeName:m.ZodBranded,type:this,...e(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new k3({...e(this._def),innerType:this,catchValue:F,typeName:m.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return R5.create(this,D)}readonly(){return v3.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var y2D=/^c[^\s-]{8,}$/i,x2D=/^[0-9a-z]+$/,_2D=/^[0-9A-HJKMNP-TV-Z]{26}$/i,f2D=/^[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,g2D=/^[a-z0-9_-]{21}$/i,h2D=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,b2D=/^[-+]?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)?)??$/,u2D=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,m2D="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",u2,l2D=/^(?:(?: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])$/,d2D=/^(?:(?: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])$/,p2D=/^(([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]))$/,c2D=/^(([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])$/,n2D=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,i2D=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wv="((\\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])))",a2D=new RegExp(`^${wv}$`);function Iv(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 o2D(D){return new RegExp(`^${Iv(D)}$`)}function Pv(D){let F=`${wv}T${Iv(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function s2D(D,F){if((F==="v4"||!F)&&l2D.test(D))return!0;if((F==="v6"||!F)&&p2D.test(D))return!0;return!1}function r2D(D,F){if(!h2D.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 t2D(D,F){if((F==="v4"||!F)&&d2D.test(D))return!0;if((F==="v6"||!F)&&c2D.test(D))return!0;return!1}class O1 extends $D{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==T.string){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_type,expected:T.string,received:J.parsedType}),b}let $=new G0,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),P(B,{code:R.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),P(B,{code:R.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,X=D.data.length<J.value;if(Q||X){if(B=this._getOrReturnCtx(D,B),Q)P(B,{code:R.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(X)P(B,{code:R.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});$.dirty()}}else if(J.kind==="email"){if(!u2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"email",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="emoji"){if(!u2)u2=new RegExp(m2D,"u");if(!u2.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"emoji",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="uuid"){if(!f2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"uuid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="nanoid"){if(!g2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"nanoid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid"){if(!y2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cuid2"){if(!x2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"cuid2",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ulid"){if(!_2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"ulid",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{B=this._getOrReturnCtx(D,B),P(B,{validation:"url",code:R.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),P(B,{validation:"regex",code:R.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),P(B,{code:R.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),P(B,{code:R.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),P(B,{code:R.invalid_string,validation:{endsWith:J.value},message:J.message}),$.dirty()}else if(J.kind==="datetime"){if(!Pv(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:R.invalid_string,validation:"datetime",message:J.message}),$.dirty()}else if(J.kind==="date"){if(!a2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:R.invalid_string,validation:"date",message:J.message}),$.dirty()}else if(J.kind==="time"){if(!o2D(J).test(D.data))B=this._getOrReturnCtx(D,B),P(B,{code:R.invalid_string,validation:"time",message:J.message}),$.dirty()}else if(J.kind==="duration"){if(!b2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"duration",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="ip"){if(!s2D(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"ip",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="jwt"){if(!r2D(D.data,J.alg))B=this._getOrReturnCtx(D,B),P(B,{validation:"jwt",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="cidr"){if(!t2D(D.data,J.version))B=this._getOrReturnCtx(D,B),P(B,{validation:"cidr",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64"){if(!n2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64",code:R.invalid_string,message:J.message}),$.dirty()}else if(J.kind==="base64url"){if(!i2D.test(D.data))B=this._getOrReturnCtx(D,B),P(B,{validation:"base64url",code:R.invalid_string,message:J.message}),$.dirty()}else YD.assertNever(J);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((B)=>D.test(B),{validation:F,code:R.invalid_string,..._.errToObj($)})}_addCheck(D){return new O1({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",..._.errToObj(D)})}url(D){return this._addCheck({kind:"url",..._.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",..._.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",..._.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",..._.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",..._.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",..._.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",..._.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",..._.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",..._.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",..._.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",..._.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",..._.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,..._.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,..._.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",..._.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,..._.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,..._.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,..._.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,..._.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,..._.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,..._.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,..._.errToObj(F)})}nonempty(D){return this.min(1,_.errToObj(D))}trim(){return new O1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new O1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new O1({...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}}O1.create=(D)=>{return new O1({checks:[],typeName:m.ZodString,coerce:D?.coerce??!1,...e(D)})};function e2D(D,F){let $=(D.toString().split(".")[1]||"").length,B=(F.toString().split(".")[1]||"").length,J=$>B?$:B,Q=Number.parseInt(D.toFixed(J).replace(".","")),X=Number.parseInt(F.toFixed(J).replace(".",""));return Q%X/10**J}class q6 extends $D{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)!==T.number){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_type,expected:T.number,received:J.parsedType}),b}let $=void 0,B=new G0;for(let J of this._def.checks)if(J.kind==="int"){if(!YD.isInteger(D.data))$=this._getOrReturnCtx(D,$),P($,{code:R.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,$),P($,{code:R.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,$),P($,{code:R.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),B.dirty()}else if(J.kind==="multipleOf"){if(e2D(D.data,J.value)!==0)$=this._getOrReturnCtx(D,$),P($,{code:R.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),P($,{code:R.not_finite,message:J.message}),B.dirty()}else YD.assertNever(J);return{status:B.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,_.toString(F))}gt(D,F){return this.setLimit("min",D,!1,_.toString(F))}lte(D,F){return this.setLimit("max",D,!0,_.toString(F))}lt(D,F){return this.setLimit("max",D,!1,_.toString(F))}setLimit(D,F,$,B){return new q6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:_.toString(B)}]})}_addCheck(D){return new q6({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:_.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:_.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:_.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.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"&&YD.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)}}q6.create=(D)=>{return new q6({checks:[],typeName:m.ZodNumber,coerce:D?.coerce||!1,...e(D)})};class E6 extends $D{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)!==T.bigint)return this._getInvalidInput(D);let $=void 0,B=new G0;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,$),P($,{code:R.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,$),P($,{code:R.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,$),P($,{code:R.not_multiple_of,multipleOf:J.value,message:J.message}),B.dirty()}else YD.assertNever(J);return{status:B.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return P(F,{code:R.invalid_type,expected:T.bigint,received:F.parsedType}),b}gte(D,F){return this.setLimit("min",D,!0,_.toString(F))}gt(D,F){return this.setLimit("min",D,!1,_.toString(F))}lte(D,F){return this.setLimit("max",D,!0,_.toString(F))}lt(D,F){return this.setLimit("max",D,!1,_.toString(F))}setLimit(D,F,$,B){return new E6({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:_.toString(B)}]})}_addCheck(D){return new E6({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:_.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}}E6.create=(D)=>{return new E6({checks:[],typeName:m.ZodBigInt,coerce:D?.coerce??!1,...e(D)})};class C3 extends $D{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==T.boolean){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.boolean,received:$.parsedType}),b}return Z0(D.data)}}C3.create=(D)=>{return new C3({typeName:m.ZodBoolean,coerce:D?.coerce||!1,...e(D)})};class i6 extends $D{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==T.date){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_type,expected:T.date,received:J.parsedType}),b}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return P(J,{code:R.invalid_date}),b}let $=new G0,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),P(B,{code:R.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),P(B,{code:R.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),$.dirty()}else YD.assertNever(J);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new i6({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:_.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:_.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}}i6.create=(D)=>{return new i6({checks:[],coerce:D?.coerce||!1,typeName:m.ZodDate,...e(D)})};class U5 extends $D{_parse(D){if(this._getType(D)!==T.symbol){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.symbol,received:$.parsedType}),b}return Z0(D.data)}}U5.create=(D)=>{return new U5({typeName:m.ZodSymbol,...e(D)})};class R3 extends $D{_parse(D){if(this._getType(D)!==T.undefined){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.undefined,received:$.parsedType}),b}return Z0(D.data)}}R3.create=(D)=>{return new R3({typeName:m.ZodUndefined,...e(D)})};class j3 extends $D{_parse(D){if(this._getType(D)!==T.null){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.null,received:$.parsedType}),b}return Z0(D.data)}}j3.create=(D)=>{return new j3({typeName:m.ZodNull,...e(D)})};class a6 extends $D{constructor(){super(...arguments);this._any=!0}_parse(D){return Z0(D.data)}}a6.create=(D)=>{return new a6({typeName:m.ZodAny,...e(D)})};class H6 extends $D{constructor(){super(...arguments);this._unknown=!0}_parse(D){return Z0(D.data)}}H6.create=(D)=>{return new H6({typeName:m.ZodUnknown,...e(D)})};class F8 extends $D{_parse(D){let F=this._getOrReturnCtx(D);return P(F,{code:R.invalid_type,expected:T.never,received:F.parsedType}),b}}F8.create=(D)=>{return new F8({typeName:m.ZodNever,...e(D)})};class L5 extends $D{_parse(D){if(this._getType(D)!==T.undefined){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.void,received:$.parsedType}),b}return Z0(D.data)}}L5.create=(D)=>{return new L5({typeName:m.ZodVoid,...e(D)})};class w1 extends $D{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),B=this._def;if(F.parsedType!==T.array)return P(F,{code:R.invalid_type,expected:T.array,received:F.parsedType}),b;if(B.exactLength!==null){let Q=F.data.length>B.exactLength.value,X=F.data.length<B.exactLength.value;if(Q||X)P(F,{code:Q?R.too_big:R.too_small,minimum:X?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)P(F,{code:R.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)P(F,{code:R.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,X)=>{return B.type._parseAsync(new P1(F,Q,F.path,X))})).then((Q)=>{return G0.mergeArray($,Q)});let J=[...F.data].map((Q,X)=>{return B.type._parseSync(new P1(F,Q,F.path,X))});return G0.mergeArray($,J)}get element(){return this._def.type}min(D,F){return new w1({...this._def,minLength:{value:D,message:_.toString(F)}})}max(D,F){return new w1({...this._def,maxLength:{value:D,message:_.toString(F)}})}length(D,F){return new w1({...this._def,exactLength:{value:D,message:_.toString(F)}})}nonempty(D){return this.min(1,D)}}w1.create=(D,F)=>{return new w1({type:D,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...e(F)})};function M3(D){if(D instanceof gD){let F={};for(let $ in D.shape){let B=D.shape[$];F[$]=I1.create(M3(B))}return new gD({...D._def,shape:()=>F})}else if(D instanceof w1)return new w1({...D._def,type:M3(D.element)});else if(D instanceof I1)return I1.create(M3(D.unwrap()));else if(D instanceof M8)return M8.create(M3(D.unwrap()));else if(D instanceof $8)return $8.create(D.items.map((F)=>M3(F)));else return D}class gD extends $D{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=YD.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==T.object){let G=this._getOrReturnCtx(D);return P(G,{code:R.invalid_type,expected:T.object,received:G.parsedType}),b}let{status:$,ctx:B}=this._processInputParams(D),{shape:J,keys:Q}=this._getCached(),X=[];if(!(this._def.catchall instanceof F8&&this._def.unknownKeys==="strip")){for(let G in B.data)if(!Q.includes(G))X.push(G)}let Y=[];for(let G of Q){let W=J[G],q=B.data[G];Y.push({key:{status:"valid",value:G},value:W._parse(new P1(B,q,B.path,G)),alwaysSet:G in B.data})}if(this._def.catchall instanceof F8){let G=this._def.unknownKeys;if(G==="passthrough")for(let W of X)Y.push({key:{status:"valid",value:W},value:{status:"valid",value:B.data[W]}});else if(G==="strict"){if(X.length>0)P(B,{code:R.unrecognized_keys,keys:X}),$.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let W of X){let q=B.data[W];Y.push({key:{status:"valid",value:W},value:G._parse(new P1(B,q,B.path,W)),alwaysSet:W in B.data})}}if(B.common.async)return Promise.resolve().then(async()=>{let G=[];for(let W of Y){let q=await W.key,K=await W.value;G.push({key:q,value:K,alwaysSet:W.alwaysSet})}return G}).then((G)=>{return G0.mergeObjectSync($,G)});else return G0.mergeObjectSync($,Y)}get shape(){return this._def.shape()}strict(D){return _.errToObj,new gD({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let B=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:_.errToObj(D).message??B};return{message:B}}}:{}})}strip(){return new gD({...this._def,unknownKeys:"strip"})}passthrough(){return new gD({...this._def,unknownKeys:"passthrough"})}extend(D){return new gD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new gD({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:m.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new gD({...this._def,catchall:D})}pick(D){let F={};for(let $ of YD.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new gD({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of YD.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new gD({...this._def,shape:()=>F})}deepPartial(){return M3(this)}partial(D){let F={};for(let $ of YD.objectKeys(this.shape)){let B=this.shape[$];if(D&&!D[$])F[$]=B;else F[$]=B.optional()}return new gD({...this._def,shape:()=>F})}required(D){let F={};for(let $ of YD.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let J=this.shape[$];while(J instanceof I1)J=J._def.innerType;F[$]=J}return new gD({...this._def,shape:()=>F})}keyof(){return Sv(YD.objectKeys(this.shape))}}gD.create=(D,F)=>{return new gD({shape:()=>D,unknownKeys:"strip",catchall:F8.create(),typeName:m.ZodObject,...e(F)})};gD.strictCreate=(D,F)=>{return new gD({shape:()=>D,unknownKeys:"strict",catchall:F8.create(),typeName:m.ZodObject,...e(F)})};gD.lazycreate=(D,F)=>{return new gD({shape:D,unknownKeys:"strip",catchall:F8.create(),typeName:m.ZodObject,...e(F)})};class T3 extends $D{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function B(J){for(let X of J)if(X.result.status==="valid")return X.result;for(let X of J)if(X.result.status==="dirty")return F.common.issues.push(...X.ctx.common.issues),X.result;let Q=J.map((X)=>new _0(X.ctx.common.issues));return P(F,{code:R.invalid_union,unionErrors:Q}),b}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 Y of $){let G={...F,common:{...F.common,issues:[]},parent:null},W=Y._parseSync({data:F.data,path:F.path,parent:G});if(W.status==="valid")return W;else if(W.status==="dirty"&&!J)J={result:W,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 X=Q.map((Y)=>new _0(Y));return P(F,{code:R.invalid_union,unionErrors:X}),b}}get options(){return this._def.options}}T3.create=(D,F)=>{return new T3({options:D,typeName:m.ZodUnion,...e(F)})};var L8=(D)=>{if(D instanceof w3)return L8(D.schema);else if(D instanceof S1)return L8(D.innerType());else if(D instanceof I3)return[D.value];else if(D instanceof K6)return D.options;else if(D instanceof P3)return YD.objectValues(D.enum);else if(D instanceof S3)return L8(D._def.innerType);else if(D instanceof R3)return[void 0];else if(D instanceof j3)return[null];else if(D instanceof I1)return[void 0,...L8(D.unwrap())];else if(D instanceof M8)return[null,...L8(D.unwrap())];else if(D instanceof f$)return L8(D.unwrap());else if(D instanceof v3)return L8(D.unwrap());else if(D instanceof k3)return L8(D._def.innerType);else return[]};class _$ extends $D{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==T.object)return P(F,{code:R.invalid_type,expected:T.object,received:F.parsedType}),b;let $=this.discriminator,B=F.data[$],J=this.optionsMap.get(B);if(!J)return P(F,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),b;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=L8(J.shape[D]);if(!Q.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let X of Q){if(B.has(X))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(X)}`);B.set(X,J)}}return new _$({typeName:m.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:B,...e($)})}}function m2(D,F){let $=D8(D),B=D8(F);if(D===F)return{valid:!0,data:D};else if($===T.object&&B===T.object){let J=YD.objectKeys(F),Q=YD.objectKeys(D).filter((Y)=>J.indexOf(Y)!==-1),X={...D,...F};for(let Y of Q){let G=m2(D[Y],F[Y]);if(!G.valid)return{valid:!1};X[Y]=G.data}return{valid:!0,data:X}}else if($===T.array&&B===T.array){if(D.length!==F.length)return{valid:!1};let J=[];for(let Q=0;Q<D.length;Q++){let X=D[Q],Y=F[Q],G=m2(X,Y);if(!G.valid)return{valid:!1};J.push(G.data)}return{valid:!0,data:J}}else if($===T.date&&B===T.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}class O3 extends $D{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),B=(J,Q)=>{if(y$(J)||y$(Q))return b;let X=m2(J.value,Q.value);if(!X.valid)return P($,{code:R.invalid_intersection_types}),b;if(x$(J)||x$(Q))F.dirty();return{status:F.value,value:X.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:$}))}}O3.create=(D,F,$)=>{return new O3({left:D,right:F,typeName:m.ZodIntersection,...e($)})};class $8 extends $D{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.array)return P($,{code:R.invalid_type,expected:T.array,received:$.parsedType}),b;if($.data.length<this._def.items.length)return P($,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),b;if(!this._def.rest&&$.data.length>this._def.items.length)P($,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let J=[...$.data].map((Q,X)=>{let Y=this._def.items[X]||this._def.rest;if(!Y)return null;return Y._parse(new P1($,Q,$.path,X))}).filter((Q)=>!!Q);if($.common.async)return Promise.all(J).then((Q)=>{return G0.mergeArray(F,Q)});else return G0.mergeArray(F,J)}get items(){return this._def.items}rest(D){return new $8({...this._def,rest:D})}}$8.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new $8({items:D,typeName:m.ZodTuple,rest:null,...e(F)})};class M5 extends $D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.object)return P($,{code:R.invalid_type,expected:T.object,received:$.parsedType}),b;let B=[],J=this._def.keyType,Q=this._def.valueType;for(let X in $.data)B.push({key:J._parse(new P1($,X,$.path,X)),value:Q._parse(new P1($,$.data[X],$.path,X)),alwaysSet:X in $.data});if($.common.async)return G0.mergeObjectAsync(F,B);else return G0.mergeObjectSync(F,B)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof $D)return new M5({keyType:D,valueType:F,typeName:m.ZodRecord,...e($)});return new M5({keyType:O1.create(),valueType:D,typeName:m.ZodRecord,...e(F)})}}class N5 extends $D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.map)return P($,{code:R.invalid_type,expected:T.map,received:$.parsedType}),b;let B=this._def.keyType,J=this._def.valueType,Q=[...$.data.entries()].map(([X,Y],G)=>{return{key:B._parse(new P1($,X,$.path,[G,"key"])),value:J._parse(new P1($,Y,$.path,[G,"value"]))}});if($.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let Y of Q){let G=await Y.key,W=await Y.value;if(G.status==="aborted"||W.status==="aborted")return b;if(G.status==="dirty"||W.status==="dirty")F.dirty();X.set(G.value,W.value)}return{status:F.value,value:X}})}else{let X=new Map;for(let Y of Q){let{key:G,value:W}=Y;if(G.status==="aborted"||W.status==="aborted")return b;if(G.status==="dirty"||W.status==="dirty")F.dirty();X.set(G.value,W.value)}return{status:F.value,value:X}}}}N5.create=(D,F,$)=>{return new N5({valueType:F,keyType:D,typeName:m.ZodMap,...e($)})};class o6 extends $D{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==T.set)return P($,{code:R.invalid_type,expected:T.set,received:$.parsedType}),b;let B=this._def;if(B.minSize!==null){if($.data.size<B.minSize.value)P($,{code:R.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)P($,{code:R.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(Y){let G=new Set;for(let W of Y){if(W.status==="aborted")return b;if(W.status==="dirty")F.dirty();G.add(W.value)}return{status:F.value,value:G}}let X=[...$.data.values()].map((Y,G)=>J._parse(new P1($,Y,$.path,G)));if($.common.async)return Promise.all(X).then((Y)=>Q(Y));else return Q(X)}min(D,F){return new o6({...this._def,minSize:{value:D,message:_.toString(F)}})}max(D,F){return new o6({...this._def,maxSize:{value:D,message:_.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}}o6.create=(D,F)=>{return new o6({valueType:D,minSize:null,maxSize:null,typeName:m.ZodSet,...e(F)})};class N3 extends $D{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==T.function)return P(F,{code:R.invalid_type,expected:T.function,received:F.parsedType}),b;function $(X,Y){return A5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,U3(),U8].filter((G)=>!!G),issueData:{code:R.invalid_arguments,argumentsError:Y}})}function B(X,Y){return A5({data:X,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,U3(),U8].filter((G)=>!!G),issueData:{code:R.invalid_return_type,returnTypeError:Y}})}let J={errorMap:F.common.contextualErrorMap},Q=F.data;if(this._def.returns instanceof s6){let X=this;return Z0(async function(...Y){let G=new _0([]),W=await X._def.args.parseAsync(Y,J).catch((V)=>{throw G.addIssue($(Y,V)),G}),q=await Reflect.apply(Q,this,W);return await X._def.returns._def.type.parseAsync(q,J).catch((V)=>{throw G.addIssue(B(q,V)),G})})}else{let X=this;return Z0(function(...Y){let G=X._def.args.safeParse(Y,J);if(!G.success)throw new _0([$(Y,G.error)]);let W=Reflect.apply(Q,this,G.data),q=X._def.returns.safeParse(W,J);if(!q.success)throw new _0([B(W,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new N3({...this._def,args:$8.create(D).rest(H6.create())})}returns(D){return new N3({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new N3({args:D?D:$8.create([]).rest(H6.create()),returns:F||H6.create(),typeName:m.ZodFunction,...e($)})}}class w3 extends $D{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})}}w3.create=(D,F)=>{return new w3({getter:D,typeName:m.ZodLazy,...e(F)})};class I3 extends $D{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return P(F,{received:F.data,code:R.invalid_literal,expected:this._def.value}),b}return{status:"valid",value:D.data}}get value(){return this._def.value}}I3.create=(D,F)=>{return new I3({value:D,typeName:m.ZodLiteral,...e(F)})};function Sv(D,F){return new K6({values:D,typeName:m.ZodEnum,...e(F)})}class K6 extends $D{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return P(F,{expected:YD.joinValues($),received:F.parsedType,code:R.invalid_type}),b}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 P(F,{received:F.data,code:R.invalid_enum_value,options:$}),b}return Z0(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 K6.create(D,{...this._def,...F})}exclude(D,F=this._def){return K6.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}}K6.create=Sv;class P3 extends $D{_parse(D){let F=YD.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==T.string&&$.parsedType!==T.number){let B=YD.objectValues(F);return P($,{expected:YD.joinValues(B),received:$.parsedType,code:R.invalid_type}),b}if(!this._cache)this._cache=new Set(YD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let B=YD.objectValues(F);return P($,{received:$.data,code:R.invalid_enum_value,options:B}),b}return Z0(D.data)}get enum(){return this._def.values}}P3.create=(D,F)=>{return new P3({values:D,typeName:m.ZodNativeEnum,...e(F)})};class s6 extends $D{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==T.promise&&F.common.async===!1)return P(F,{code:R.invalid_type,expected:T.promise,received:F.parsedType}),b;let $=F.parsedType===T.promise?F.data:Promise.resolve(F.data);return Z0($.then((B)=>{return this._def.type.parseAsync(B,{path:F.path,errorMap:F.common.contextualErrorMap})}))}}s6.create=(D,F)=>{return new s6({type:D,typeName:m.ZodPromise,...e(F)})};class S1 extends $D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.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(P($,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(X)=>{if(F.value==="aborted")return b;let Y=await this._def.schema._parseAsync({data:X,path:$.path,parent:$});if(Y.status==="aborted")return b;if(Y.status==="dirty")return n6(Y.value);if(F.value==="dirty")return n6(Y.value);return Y});else{if(F.value==="aborted")return b;let X=this._def.schema._parseSync({data:Q,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")return n6(X.value);if(F.value==="dirty")return n6(X.value);return X}}if(B.type==="refinement"){let Q=(X)=>{let Y=B.refinement(X,J);if($.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if($.common.async===!1){let X=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value),{status:F.value,value:X.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((X)=>{if(X.status==="aborted")return b;if(X.status==="dirty")F.dirty();return Q(X.value).then(()=>{return{status:F.value,value:X.value}})})}if(B.type==="transform")if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!W6(Q))return b;let X=B.transform(Q.value,J);if(X instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:X}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(!W6(Q))return b;return Promise.resolve(B.transform(Q.value,J)).then((X)=>({status:F.value,value:X}))});YD.assertNever(B)}}S1.create=(D,F,$)=>{return new S1({schema:D,typeName:m.ZodEffects,effect:F,...e($)})};S1.createWithPreprocess=(D,F,$)=>{return new S1({schema:F,effect:{type:"preprocess",transform:D},typeName:m.ZodEffects,...e($)})};class I1 extends $D{_parse(D){if(this._getType(D)===T.undefined)return Z0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}I1.create=(D,F)=>{return new I1({innerType:D,typeName:m.ZodOptional,...e(F)})};class M8 extends $D{_parse(D){if(this._getType(D)===T.null)return Z0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}}M8.create=(D,F)=>{return new M8({innerType:D,typeName:m.ZodNullable,...e(F)})};class S3 extends $D{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===T.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}}S3.create=(D,F)=>{return new S3({innerType:D,typeName:m.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...e(F)})};class k3 extends $D{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},B=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(L3(B))return B.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new _0($.common.issues)},input:$.data})}});else return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new _0($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}}k3.create=(D,F)=>{return new k3({innerType:D,typeName:m.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...e(F)})};class C5 extends $D{_parse(D){if(this._getType(D)!==T.nan){let $=this._getOrReturnCtx(D);return P($,{code:R.invalid_type,expected:T.nan,received:$.parsedType}),b}return{status:"valid",value:D.data}}}C5.create=(D)=>{return new C5({typeName:m.ZodNaN,...e(D)})};var DGD=Symbol("zod_brand");class f$ extends $D{_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 R5 extends $D{_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 b;if(J.status==="dirty")return F.dirty(),n6(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 b;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 R5({in:D,out:F,typeName:m.ZodPipeline})}}class v3 extends $D{_parse(D){let F=this._def.innerType._parse(D),$=(B)=>{if(W6(B))B.value=Object.freeze(B.value);return B};return L3(F)?F.then((B)=>$(B)):$(F)}unwrap(){return this._def.innerType}}v3.create=(D,F)=>{return new v3({innerType:D,typeName:m.ZodReadonly,...e(F)})};function Ov(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function kv(D,F={},$){if(D)return a6.create().superRefine((B,J)=>{let Q=D(B);if(Q instanceof Promise)return Q.then((X)=>{if(!X){let Y=Ov(F,B),G=Y.fatal??$??!0;J.addIssue({code:"custom",...Y,fatal:G})}});if(!Q){let X=Ov(F,B),Y=X.fatal??$??!0;J.addIssue({code:"custom",...X,fatal:Y})}return});return a6.create()}var FGD={object:gD.lazycreate},m;(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"})(m||(m={}));var $GD=(D,F={message:`Input not instance of ${D.name}`})=>kv(($)=>$ instanceof D,F),vv=O1.create,yv=q6.create,BGD=C5.create,JGD=E6.create,xv=C3.create,QGD=i6.create,XGD=U5.create,YGD=R3.create,GGD=j3.create,WGD=a6.create,HGD=H6.create,qGD=F8.create,EGD=L5.create,KGD=w1.create,zGD=gD.create,VGD=gD.strictCreate,ZGD=T3.create,AGD=_$.create,UGD=O3.create,LGD=$8.create,MGD=M5.create,NGD=N5.create,CGD=o6.create,RGD=N3.create,jGD=w3.create,TGD=I3.create,OGD=K6.create,wGD=P3.create,IGD=s6.create,PGD=S1.create,SGD=I1.create,kGD=M8.create,vGD=S1.createWithPreprocess,yGD=R5.create,xGD=()=>vv().optional(),_GD=()=>yv().optional(),fGD=()=>xv().optional(),gGD={string:(D)=>O1.create({...D,coerce:!0}),number:(D)=>q6.create({...D,coerce:!0}),boolean:(D)=>C3.create({...D,coerce:!0}),bigint:(D)=>E6.create({...D,coerce:!0}),date:(D)=>i6.create({...D,coerce:!0})};var hGD=b;var g$="https://api.osc.earth/nemar",RRD=k1.object({apiKey:k1.string().optional(),apiUrl:k1.string().url().default(g$),username:k1.string().optional(),email:k1.string().email().optional(),githubUsername:k1.string().optional(),sandboxCompleted:k1.boolean().optional(),sandboxDatasetId:k1.string().optional()}),lD=new v$({projectName:"nemar",schema:{activeAccount:{type:"string"},accounts:{type:"object"},apiKey:{type:"string"},apiUrl:{type:"string",default:g$},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}:{}}),bGD=["apiKey","apiUrl","username","email","githubUsername","sandboxCompleted","sandboxDatasetId"];function uGD(){let D=lD.get("accounts");if(D&&Object.keys(D).length>0)return;let F=lD.get("apiKey"),$=lD.get("username");if(!F&&!$)return;try{let B=$||"default",J={};for(let Q of bGD){let X=lD.get(Q);if(X!==void 0)J[Q]=X}lD.store={activeAccount:B,accounts:{[B]:J}}}catch(B){console.error("Config migration failed (legacy config preserved):",B)}}uGD();function j5(){return lD.get("activeAccount")}function r6(){return lD.get("accounts")||{}}function oD(){let D={apiUrl:g$},F=j5();if(!F)return D;return r6()[F]||D}function _v(){return!!oD().sandboxCompleted}function N8(D,F){let $=j5()||"default",B=r6();if(!B[$])B[$]={apiUrl:g$};B[$][D]=F,lD.store={...lD.store,accounts:B,activeAccount:$}}function l2(D){let F=j5();if(!F)return;let $=r6();if($[F])delete $[F][D],lD.set("accounts",$)}function fv(){let D=j5();if(!D){lD.clear();return}let F=r6();delete F[D];let $=Object.keys(F);if($.length>0)lD.store={...lD.store,accounts:F,activeAccount:$[0]};else lD.clear()}function gv(){lD.clear()}function xD(){return!!oD().apiKey}function hv(){return lD.path}function T5(){let D=r6(),F=j5();return Object.entries(D).map(([$,B])=>({username:B.username||$,email:B.email,githubUsername:B.githubUsername,active:$===F}))}function bv(D,F){let $=r6();$[D]=F,lD.store={...lD.store,accounts:$,activeAccount:D}}function uv(D){let F=r6();if(F[D])return lD.store={...lD.store,activeAccount:D},F[D];for(let[$,B]of Object.entries(F))if(B.githubUsername===D)return lD.store={...lD.store,activeAccount:$},B;return null}var d2="https://api.osc.earth/nemar",h$=/^\d{4}-\d{4}-\d{4}-\d{3}[\dX]$/;function f0(D){if(D instanceof Error)return D.message;return String(D)}class u extends Error{statusCode;details;constructor(D,F,$){super(F);this.statusCode=D;this.details=$;this.name="ApiError"}}var mGD=d2.includes("workers.dev");function mv(){if(process.env.TEST_API_URL)return process.env.TEST_API_URL;if(mGD)return d2;return oD().apiUrl||d2}async function o(D,F={},$=!1){let B=`${mv()}${D}`,J={"Content-Type":"application/json",...F.headers};if($){let Y=oD();if(!Y.apiKey&&$===!0)throw new u(401,"Not authenticated. Run 'nemar auth login' first.");if(Y.apiKey)J.Authorization=`Bearer ${Y.apiKey}`}let Q;try{Q=await fetch(B,{...F,headers:J})}catch(Y){throw new u(0,`Network error: Could not connect to ${mv()}`,{originalError:Y instanceof Error?Y.message:String(Y)})}let X;try{X=await Q.json()}catch{throw new u(Q.status,`Invalid response from server (status ${Q.status})`)}if(!Q.ok)throw new u(Q.status,X.error||X.message||"Request failed",X.details);return X}async function lv(D){return o(`/auth/check-username?username=${encodeURIComponent(D)}`)}async function dv(D){return o(`/auth/check-github?username=${encodeURIComponent(D)}`)}async function pv(D){return o("/auth/signup",{method:"POST",body:JSON.stringify(D)})}async function cv(D){return o("/auth/login",{method:"POST",body:JSON.stringify({api_key:D})})}async function nv(D){return o("/auth/resend-verification",{method:"POST",body:JSON.stringify({email:D})})}async function iv(D,F){return o("/auth/retrieve-key",{method:"POST",body:JSON.stringify({email:D,password:F})})}async function av(D){return o("/auth/request-key-regeneration",{method:"POST",body:JSON.stringify({email:D})})}async function b$(){return o("/users/me",{},!0)}async function ov(D,F){let $=new URLSearchParams;if(D)$.set("status",D);if(F)$.set("role",F);let B=$.toString()?`?${$.toString()}`:"";return o(`/admin/users${B}`,{},!0)}async function sv(D){return o(`/admin/approve/${D}`,{method:"POST"},!0)}async function rv(D){return o(`/admin/revoke/${D}`,{method:"POST"},!0)}async function tv(D,F){return o(`/admin/users/${D}/role`,{method:"POST",body:JSON.stringify({role:F})},!0)}async function ev(D){return o(`/admin/regenerate-iam/${D}`,{method:"POST"},!0)}async function p2(D,F){return o(`/admin/datasets/${D}/visibility`,{method:"PATCH",body:JSON.stringify({visibility:F})},!0)}async function Dy(D){return o(`/datasets/${D}/publish`,{method:"POST"},!0)}async function Fy(D){return o(`/admin/datasets/${D}/ci`,{},!0)}async function u$(D){return o(`/admin/datasets/${D}/ci`,{method:"POST"},!0)}async function $y(D){return o(`/datasets/${D}/ci/status`,{},!0)}async function By(D){return o(`/datasets/${D}/manifest`,{},!0)}async function Jy(D,F){return o(`/datasets/${D}/manifest/${F}`,{},!0)}function Qy(D){let F=D;if(!["active","archived","deleted"].includes(F.status))throw Error(`Invalid dataset status: ${F.status}`);if(!F.visibility)F.visibility="private";else if(!["public","private"].includes(F.visibility))throw Error(`Invalid dataset visibility: ${F.visibility}`);return F}async function Xy(D=!1){let $=await o(`/datasets${D?"?mine=true":""}`,{},D?!0:"optional");return $.datasets=$.datasets.map(Qy),$}async function l0(D){let F=await o(`/datasets/${D}`,{},"optional");return Qy(F.dataset)}async function Yy(D){return o(`/datasets/${D}/versions`,{},!0)}async function m$(D){return o("/datasets",{method:"POST",body:JSON.stringify(D)},!0)}async function l$(D){return o(`/datasets/${D}/finalize`,{method:"POST"},!0)}async function Gy(D,F){return o(`/datasets/${D}/upload-urls`,{method:"POST",body:JSON.stringify({files:F})},!0)}async function Wy(D,F){return o(`/admin/datasets/${D}/doi/concept`,{method:"POST",body:JSON.stringify(F)},!0)}async function O5(D){return o(`/admin/datasets/${D}/doi`,{},!0)}async function c2(D,F){return o(`/admin/datasets/${D}/doi/update`,{method:"POST",body:JSON.stringify(F)},!0)}async function Hy(D){return o(`/datasets/${D}/request-access`,{method:"POST"},!0)}async function qy(D,F){return o(`/datasets/${D}/invite`,{method:"POST",body:JSON.stringify({username:F})},!0)}async function Ey(D){return o(`/datasets/${D}/collaborators`,{},!0)}async function Ky(D){return o("/sandbox/complete",{method:"POST",body:JSON.stringify({dataset_id:D})},!0)}async function zy(){return o("/sandbox/reset",{method:"POST"},!0)}async function Vy(){return o("/sandbox/status",{},!0)}async function Zy(D){return o(`/datasets/${D}/publish/request`,{method:"POST"},!0)}async function Ay(D){return o(`/datasets/${D}/publish/status`,{},!0)}async function Uy(D){return o(`/datasets/${D}/publish/resend`,{method:"POST"},!0)}async function Ly(D){let F=D?`?status=${D}`:"";return o(`/admin/publish/requests${F}`,{},!0)}async function My(D,F){return o(`/admin/publish/${D}/deny`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:F})},!0)}async function Ny(D,F=!1,$=!1){let B,J;do if(J=await o(`/admin/publish/${D}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resume:F,sandbox:$,s3_lock_offset:B})},!0),J.hasMore&&J.s3_lock_offset!==void 0)B=J.s3_lock_offset;else break;while(J.hasMore);return J}async function Cy(D,F){return o(`/admin/datasets/${D}/enrichment`,{method:"POST",body:JSON.stringify(F)},!0)}async function Ry(D){return o(`/admin/datasets/${D}/files`,{},!0)}async function jy(D){let F=0,$=0,B=[],J=0,Q=!0;while(Q){let X=await o(`/admin/datasets/${D}/s3-lock`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({offset:F})},!0);if($+=X.locked,B.push(...X.failed),J=X.total,Q=X.hasMore,Q)F+=40}return{locked:$,total:J,failed:B}}async function Ty(D,F=!1){return o(`/admin/datasets/${D}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({force:F})},!0)}async function TD(D,F,$=!1){if(F.no)return"declined";if(F.yes)return"confirmed";try{let{confirmed:B}=await LD.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 Oy(D,F,$){if($.no)return"declined";if($.yes)return"confirmed";try{let{input:B}=await LD.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 CD="-y, --yes",hD="-n, --no",RD="Skip confirmation and proceed",bD="Skip confirmation and decline";import{existsSync as Py,statSync as lGD}from"fs";import{join as n2}from"path";var{spawn:dGD}=globalThis.Bun;async function l(D,F={}){let $=dGD({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 wy(D){return D.split(".").map((F)=>{let $=Number.parseInt(F.replace(/[^0-9]/g,""),10);return Number.isNaN($)?0:$})}function pGD(D,F){let $=wy(D),B=wy(F);for(let J=0;J<Math.max($.length,B.length);J++){let Q=$[J]||0,X=B[J]||0;if(Q>X)return!0;if(Q<X)return!1}return!0}async function Sy(){try{let{stdout:F,exitCode:$,stderr:B}=await l(["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?pGD(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 cGD(){if(process.env.GH_TOKEN)return{accessible:!0,username:"token-auth",useHttps:!0};try{let{stdout:D,stderr:F}=await l(["ssh","-T","-o","BatchMode=yes","-o","StrictHostKeyChecking=accept-new","-o","ConnectTimeout=10","git@github.com"]),$=D+F,B=$.match(/Hi ([^!]+)!/);if(B)return{accessible:!0,username:B[1]};if($.includes("Permission denied"))return{accessible:!1};return{accessible:$.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 ky(){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 d$(){let[D,F]=await Promise.all([Sy(),cGD()]),$=[];if(!D.installed)$.push(`git-annex is not installed. Install: ${ky()}`);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 C8(D){if(!Py(n2(D,".git")))return!1;try{let{exitCode:F}=await l(["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 p$(D,F={}){if(!F.force&&await C8(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 l(["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:X}=await l(["git","annex","init"],{cwd:D,...Object.keys($).length>0?{env:$}:{}});if(X!==0)return{success:!1,error:Q.trim()||"Failed to initialize git-annex"};return{success:!0}}catch($){return{success:!1,error:$.message}}}async function vy(D){try{let{exitCode:F,stderr:$}=await l(["git","annex","info"],{cwd:D});if(F===0)return{success:!0};if($.includes("First run: git-annex init")){let{stderr:B,exitCode:J}=await l(["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 c$(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 l(["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 nGD(){try{let{exitCode:D,stderr:F}=await l(["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 iGD(){try{let{stdout:D,exitCode:F,stderr:$}=await l(["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 n$(D){try{let{stdout:F,exitCode:$,stderr:B}=await l(["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 i$(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 l(["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((W)=>W.repository.full_name===D)?.id??null}catch(Y){let G=Y instanceof Error?Y.message:String(Y);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:Y}=await l(["gh","api",`/repos/${D}`,"--silent"]);if(Y===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:X}=await l(["gh","api","--method","PATCH",`/user/repository_invitations/${J}`]);if(Q!==0)return{accepted:!1,error:`Failed to accept invitation: ${X.trim()||"unknown error"}`};return{accepted:!0}}async function a$(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 nGD();if(Q.works)B=F;else{console.warn("GitHub SSH not available, falling back to HTTPS with gh CLI token...");let X=await iGD();if(X.token)B=`https://${X.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.
|
|
120
120
|
|
|
121
121
|
SSH failed: ${Q.error||"could not connect"}
|
|
122
122
|
gh CLI failed: ${X.error||"could not get token"}
|
|
@@ -357,7 +357,7 @@ Examples:
|
|
|
357
357
|
$ nemar auth whoami # Alias for status
|
|
358
358
|
$ nemar auth switch # Switch between accounts
|
|
359
359
|
$ nemar auth logout # Clear active account
|
|
360
|
-
$ nemar auth logout --all # Clear all accounts`);async function t2(D){if(xD()){let B=oD();if(console.log(H.yellow(`Already logged in as ${B.username||"unknown"}`)),console.log(H.gray(" This will add another account (use 'nemar auth switch' to switch)")),await TD("Log in with a different account?",D)!=="confirmed")return}let F=D.key||process.env.NEMAR_API_KEY;if(!F)F=(await LD.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",mask:"*",validate:(J)=>{if(!J||J.length<32)return"Please enter a valid API key";return!0}}])).apiKey;if(!F){console.log(H.red("No API key provided"));return}let $=C("Validating API key...").start();try{let B=await cv(F);if(!B.valid){$.fail("Invalid API key");return}if(bv(B.user.username,{apiKey:F,apiUrl:"https://
|
|
360
|
+
$ nemar auth logout --all # Clear all accounts`);async function t2(D){if(xD()){let B=oD();if(console.log(H.yellow(`Already logged in as ${B.username||"unknown"}`)),console.log(H.gray(" This will add another account (use 'nemar auth switch' to switch)")),await TD("Log in with a different account?",D)!=="confirmed")return}let F=D.key||process.env.NEMAR_API_KEY;if(!F)F=(await LD.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",mask:"*",validate:(J)=>{if(!J||J.length<32)return"Please enter a valid API key";return!0}}])).apiKey;if(!F){console.log(H.red("No API key provided"));return}let $=C("Validating API key...").start();try{let B=await cv(F);if(!B.valid){$.fail("Invalid API key");return}if(bv(B.user.username,{apiKey:F,apiUrl:"https://api.osc.earth/nemar",username:B.user.username,email:B.user.email,githubUsername:B.user.github_username,sandboxCompleted:B.user.sandbox_completed,...B.user.sandbox_dataset_id?{sandboxDatasetId:B.user.sandbox_dataset_id}:{}}),$.succeed("Login successful"),console.log(),console.log(` Welcome back, ${H.cyan(B.user.username)}!`),B.user.role==="owner")console.log(` ${H.red("Owner access enabled")}`);else if(B.user.role==="admin")console.log(` ${H.magenta("Admin access enabled")}`);if(!B.user.sandbox_completed)console.log(),console.log(H.yellow(" Note: Sandbox training required before uploading datasets")),console.log(H.gray(" Run 'nemar sandbox' to complete training"))}catch(B){if(B instanceof u){if($.fail(B.message),B.statusCode===401)console.log(H.gray(" Check that your API key is correct"));else if(B.statusCode===403)console.log(H.gray(" Your account may not be approved yet"))}else $.fail("Connection failed"),console.log(H.gray(" Check your internet connection"))}}X1.command("login").description("Authenticate with your NEMAR API key").option("-k, --key <key>","API key (alternative: set NEMAR_API_KEY env var)").option(CD,RD).option(hD,bD).addHelpText("after",`
|
|
361
361
|
Environment Variables:
|
|
362
362
|
NEMAR_API_KEY Your API key (alternative to -k flag)
|
|
363
363
|
|
|
@@ -751,7 +751,7 @@ Examples:
|
|
|
751
751
|
$ nemar sandbox # Run sandbox training
|
|
752
752
|
$ nemar sandbox status # Check if training is completed
|
|
753
753
|
$ nemar sandbox reset # Reset for re-training
|
|
754
|
-
`).action(PWD);async function PWD(){if(console.log(),console.log(H.bold("NEMAR Sandbox Training")),console.log(H.gray("Verify your setup and learn the upload workflow")),console.log(),!xD()){console.log(H.red("Not authenticated")),console.log(H.gray("Run 'nemar auth login' first"));return}let D=oD();if(D.sandboxCompleted){console.log(H.green("Sandbox training already completed!")),console.log(H.gray(`Dataset ID: ${D.sandboxDatasetId}`)),console.log(),console.log("You can upload real datasets with:"),console.log(H.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(H.gray("To re-run training, use: nemar sandbox reset"));return}console.log(H.bold("Step 1/6: Checking prerequisites..."));let F=C("Checking git-annex and SSH...").start(),$=await d$();if(!$.allPassed){F.fail("Prerequisites check failed"),console.log(),console.log(H.red("Missing requirements:"));for(let I of $.errors)console.log(H.yellow(` - ${I}`));if(!$.githubSSH.accessible)console.log(H.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 n$(D.githubUsername);if(!J.authenticated){B.fail("GitHub CLI not authenticated"),console.log(H.red(` ${J.error}`)),console.log(),console.log("GitHub CLI is required for sandbox training. Install and authenticate:"),console.log(H.cyan(" brew install gh # or visit https://cli.github.com/")),console.log(H.cyan(" gh auth login"));return}if(D.githubUsername&&!J.matches)B.warn("GitHub CLI user mismatch"),console.log(H.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(H.cyan(` gh auth login # Login as ${D.githubUsername}`)),console.log(),console.log(H.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(H.bold("Step 2/6: Generating test dataset..."));let Q=C("Creating minimal BIDS structure...").start(),X;try{let I=qx();X=I.root;let w=Ex(I);Q.succeed(`Test dataset created (${y3(w)})`),console.log(H.gray(` Location: ${X}`))}catch(I){Q.fail("Failed to generate test dataset"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`));return}console.log(),console.log(H.bold("Step 3/6: Registering sandbox dataset..."));let Y=C("Creating dataset on NEMAR...").start(),G,W,q,K,V,Z;try{let I=await m$({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=I.dataset.dataset_id,W=I.dataset.ssh_url,q=I.dataset.github_url,K=I.s3_config,V=I.dataset.s3_prefix,Z=I.upload_urls||{},Y.succeed(`Sandbox dataset created: ${H.cyan(G)}`),console.log(H.gray(` GitHub: ${q}`)),await new Promise((w)=>setTimeout(w,1e4))}catch(I){if(Y.fail("Failed to create sandbox dataset"),I instanceof u)console.log(H.red(` ${I.message}`));else console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`));v1(X);return}let A=C("Accepting GitHub repository invitation...").start(),U=q?.match(/github\.com\/([a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+)/),L=U?U[1].replace(/\.git$/,""):null;if(!L){A.fail("Invalid GitHub repository URL from backend"),console.log(H.red(` Received: ${q||"(empty)"}`)),console.log(H.red(" Expected format: https://github.com/owner/repo")),console.log(),console.log("This may indicate a backend issue. Please contact support."),v1(X);return}let M=await i$(L);if(M.accepted)if(M.alreadyCollaborator)A.succeed("Already a collaborator on this repository");else A.succeed("GitHub invitation accepted");else A.warn("Could not auto-accept invitation"),console.log(H.yellow(` ${M.error}`)),console.log(),console.log("You may need to accept the invitation manually:"),console.log(H.cyan(` https://github.com/${L}/invitations`)),console.log();console.log(),console.log(H.bold("Step 4/6: Initializing repository..."));let N=C("Setting up git-annex...").start(),O=D.username&&D.email?{name:D.username,email:D.email}:void 0;try{await p$(X,{author:O}),await c$(X),await a$(X,W),N.succeed("Repository initialized")}catch(I){N.fail("Failed to initialize repository"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`)),v1(X);return}if(console.log(),console.log(H.bold("Step 5/6: Uploading to S3...")),Object.keys(Z).length===0)console.log(H.yellow(" No data files to upload (metadata only)"));else{let I=C("Uploading test data...").start();try{let c=0,GD=Object.keys(Z).length,S=await o$(X,Z,{jobs:4,onProgress:(JD)=>{if(JD.status==="completed"||JD.status==="failed")c++,I.text=`Uploading... ${c}/${GD} files`}});if(S.failed.length>0){I.fail(`Upload failed for ${S.failed.length} file(s)`);for(let JD of S.failed)console.log(H.red(` Failed: ${JD}`));if(S.error)console.log(H.red(` Error: ${S.error}`));console.log(),console.log(H.yellow("Sandbox training aborted due to upload failures.")),console.log(H.gray("Please check your network connection and try again.")),v1(X);return}I.succeed(`Uploaded ${S.uploaded} file(s)`)}catch(c){I.fail("Upload failed"),console.log(H.red(` ${c instanceof Error?c.message:"Unknown error"}`)),v1(X);return}let w=C("Registering file URLs...").start();try{let c={};for(let S of Object.keys(Z))c[S]=`${K.public_url}/${V}/objects/${S}`;let GD=await s$(X,c);if(!GD.success){w.fail(`URL registration failed for ${GD.failed.length} file(s)`);for(let S of GD.failed)console.log(H.red(` Failed: ${S}`));console.log(),console.log(H.yellow("Sandbox training aborted due to URL registration failures.")),console.log(H.gray("This may indicate a git-annex configuration issue.")),v1(X);return}w.succeed(`Registered ${GD.registered} file URLs`)}catch(c){w.fail("Failed to register URLs"),console.log(H.red(` ${c instanceof Error?c.message:"Unknown error"}`)),v1(X);return}}console.log(),console.log(H.bold("Step 6/6: Pushing to GitHub..."));let g=C("Saving and pushing...").start();try{await w5(X,"Initial sandbox training upload",O),await I5(X),g.succeed("Pushed to GitHub")}catch(I){g.fail("Failed to push to GitHub"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`)),v1(X);return}let j=C("Finalizing...").start();try{await l$(G),await Ky(G),N8("sandboxCompleted",!0),N8("sandboxDatasetId",G),j.succeed("Sandbox training complete!")}catch(I){j.fail("Failed to finalize"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`)),v1(X);return}v1(X),console.log(),console.log(H.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(H.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(H.gray(`Sandbox dataset: ${G}`))}YB.command("status").description("Check sandbox training completion status").option("--refresh","Fetch latest status from server").action(async(D)=>{if(!xD()){console.log(H.red("Not authenticated")),console.log(H.gray("Run 'nemar auth login' first"));return}if(D.refresh){let F=C("Checking status...").start();try{let $=await Vy();if(N8("sandboxCompleted",$.sandbox_completed),$.sandbox_dataset_id)N8("sandboxDatasetId",$.sandbox_dataset_id);if(F.stop(),$.sandbox_completed){if(console.log(H.green("Sandbox training: Completed")),console.log(H.gray(` Dataset ID: ${$.sandbox_dataset_id}`)),$.sandbox_completed_at)console.log(H.gray(` Completed: ${$.sandbox_completed_at}`))}else console.log(H.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(H.cyan(" nemar sandbox"))}catch($){if(F.fail("Failed to check status"),$ instanceof u)console.log(H.red(` ${$.message}`))}}else{let F=oD();if(F.sandboxCompleted)console.log(H.green("Sandbox training: Completed")),console.log(H.gray(` Dataset ID: ${F.sandboxDatasetId}`));else console.log(H.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(H.cyan(" nemar sandbox"))}});YB.command("reset").description("Reset sandbox training status for re-training").option(CD,RD).option(hD,bD).action(async(D)=>{if(!xD()){console.log(H.red("Not authenticated")),console.log(H.gray("Run 'nemar auth login' first"));return}if(!oD().sandboxCompleted){console.log(H.yellow("Sandbox training not yet completed")),console.log(H.gray("Nothing to reset"));return}let $=await TD("Reset sandbox training status? You will need to complete training again.",D);if($!=="confirmed"){console.log(H.gray($==="declined"?"Skipped":"Cancelled"));return}let B=C("Resetting sandbox status...").start();try{await zy(),l2("sandboxCompleted"),l2("sandboxDatasetId"),B.succeed("Sandbox status reset"),console.log(),console.log("Run sandbox training again with:"),console.log(H.cyan(" nemar sandbox"))}catch(J){if(B.fail("Failed to reset"),J instanceof u)console.log(H.red(` ${J.message}`));else console.log(H.red(` ${J instanceof Error?J.message:"Unknown error"}`))}});var Kx={name:"nemar-cli",version:"0.5.2-dev.267",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/nemarOrg/nemar-cli.git"},bugs:{url:"https://github.com/nemarOrg/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 zx=Kx.version;var G1=new H0;G1.name("nemar").description(`CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource)
|
|
754
|
+
`).action(PWD);async function PWD(){if(console.log(),console.log(H.bold("NEMAR Sandbox Training")),console.log(H.gray("Verify your setup and learn the upload workflow")),console.log(),!xD()){console.log(H.red("Not authenticated")),console.log(H.gray("Run 'nemar auth login' first"));return}let D=oD();if(D.sandboxCompleted){console.log(H.green("Sandbox training already completed!")),console.log(H.gray(`Dataset ID: ${D.sandboxDatasetId}`)),console.log(),console.log("You can upload real datasets with:"),console.log(H.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(H.gray("To re-run training, use: nemar sandbox reset"));return}console.log(H.bold("Step 1/6: Checking prerequisites..."));let F=C("Checking git-annex and SSH...").start(),$=await d$();if(!$.allPassed){F.fail("Prerequisites check failed"),console.log(),console.log(H.red("Missing requirements:"));for(let I of $.errors)console.log(H.yellow(` - ${I}`));if(!$.githubSSH.accessible)console.log(H.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 n$(D.githubUsername);if(!J.authenticated){B.fail("GitHub CLI not authenticated"),console.log(H.red(` ${J.error}`)),console.log(),console.log("GitHub CLI is required for sandbox training. Install and authenticate:"),console.log(H.cyan(" brew install gh # or visit https://cli.github.com/")),console.log(H.cyan(" gh auth login"));return}if(D.githubUsername&&!J.matches)B.warn("GitHub CLI user mismatch"),console.log(H.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(H.cyan(` gh auth login # Login as ${D.githubUsername}`)),console.log(),console.log(H.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(H.bold("Step 2/6: Generating test dataset..."));let Q=C("Creating minimal BIDS structure...").start(),X;try{let I=qx();X=I.root;let w=Ex(I);Q.succeed(`Test dataset created (${y3(w)})`),console.log(H.gray(` Location: ${X}`))}catch(I){Q.fail("Failed to generate test dataset"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`));return}console.log(),console.log(H.bold("Step 3/6: Registering sandbox dataset..."));let Y=C("Creating dataset on NEMAR...").start(),G,W,q,K,V,Z;try{let I=await m$({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=I.dataset.dataset_id,W=I.dataset.ssh_url,q=I.dataset.github_url,K=I.s3_config,V=I.dataset.s3_prefix,Z=I.upload_urls||{},Y.succeed(`Sandbox dataset created: ${H.cyan(G)}`),console.log(H.gray(` GitHub: ${q}`)),await new Promise((w)=>setTimeout(w,1e4))}catch(I){if(Y.fail("Failed to create sandbox dataset"),I instanceof u)console.log(H.red(` ${I.message}`));else console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`));v1(X);return}let A=C("Accepting GitHub repository invitation...").start(),U=q?.match(/github\.com\/([a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+)/),L=U?U[1].replace(/\.git$/,""):null;if(!L){A.fail("Invalid GitHub repository URL from backend"),console.log(H.red(` Received: ${q||"(empty)"}`)),console.log(H.red(" Expected format: https://github.com/owner/repo")),console.log(),console.log("This may indicate a backend issue. Please contact support."),v1(X);return}let M=await i$(L);if(M.accepted)if(M.alreadyCollaborator)A.succeed("Already a collaborator on this repository");else A.succeed("GitHub invitation accepted");else A.warn("Could not auto-accept invitation"),console.log(H.yellow(` ${M.error}`)),console.log(),console.log("You may need to accept the invitation manually:"),console.log(H.cyan(` https://github.com/${L}/invitations`)),console.log();console.log(),console.log(H.bold("Step 4/6: Initializing repository..."));let N=C("Setting up git-annex...").start(),O=D.username&&D.email?{name:D.username,email:D.email}:void 0;try{await p$(X,{author:O}),await c$(X),await a$(X,W),N.succeed("Repository initialized")}catch(I){N.fail("Failed to initialize repository"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`)),v1(X);return}if(console.log(),console.log(H.bold("Step 5/6: Uploading to S3...")),Object.keys(Z).length===0)console.log(H.yellow(" No data files to upload (metadata only)"));else{let I=C("Uploading test data...").start();try{let c=0,GD=Object.keys(Z).length,S=await o$(X,Z,{jobs:4,onProgress:(JD)=>{if(JD.status==="completed"||JD.status==="failed")c++,I.text=`Uploading... ${c}/${GD} files`}});if(S.failed.length>0){I.fail(`Upload failed for ${S.failed.length} file(s)`);for(let JD of S.failed)console.log(H.red(` Failed: ${JD}`));if(S.error)console.log(H.red(` Error: ${S.error}`));console.log(),console.log(H.yellow("Sandbox training aborted due to upload failures.")),console.log(H.gray("Please check your network connection and try again.")),v1(X);return}I.succeed(`Uploaded ${S.uploaded} file(s)`)}catch(c){I.fail("Upload failed"),console.log(H.red(` ${c instanceof Error?c.message:"Unknown error"}`)),v1(X);return}let w=C("Registering file URLs...").start();try{let c={};for(let S of Object.keys(Z))c[S]=`${K.public_url}/${V}/objects/${S}`;let GD=await s$(X,c);if(!GD.success){w.fail(`URL registration failed for ${GD.failed.length} file(s)`);for(let S of GD.failed)console.log(H.red(` Failed: ${S}`));console.log(),console.log(H.yellow("Sandbox training aborted due to URL registration failures.")),console.log(H.gray("This may indicate a git-annex configuration issue.")),v1(X);return}w.succeed(`Registered ${GD.registered} file URLs`)}catch(c){w.fail("Failed to register URLs"),console.log(H.red(` ${c instanceof Error?c.message:"Unknown error"}`)),v1(X);return}}console.log(),console.log(H.bold("Step 6/6: Pushing to GitHub..."));let g=C("Saving and pushing...").start();try{await w5(X,"Initial sandbox training upload",O),await I5(X),g.succeed("Pushed to GitHub")}catch(I){g.fail("Failed to push to GitHub"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`)),v1(X);return}let j=C("Finalizing...").start();try{await l$(G),await Ky(G),N8("sandboxCompleted",!0),N8("sandboxDatasetId",G),j.succeed("Sandbox training complete!")}catch(I){j.fail("Failed to finalize"),console.log(H.red(` ${I instanceof Error?I.message:"Unknown error"}`)),v1(X);return}v1(X),console.log(),console.log(H.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(H.cyan(" nemar dataset upload ./your-dataset")),console.log(),console.log(H.gray(`Sandbox dataset: ${G}`))}YB.command("status").description("Check sandbox training completion status").option("--refresh","Fetch latest status from server").action(async(D)=>{if(!xD()){console.log(H.red("Not authenticated")),console.log(H.gray("Run 'nemar auth login' first"));return}if(D.refresh){let F=C("Checking status...").start();try{let $=await Vy();if(N8("sandboxCompleted",$.sandbox_completed),$.sandbox_dataset_id)N8("sandboxDatasetId",$.sandbox_dataset_id);if(F.stop(),$.sandbox_completed){if(console.log(H.green("Sandbox training: Completed")),console.log(H.gray(` Dataset ID: ${$.sandbox_dataset_id}`)),$.sandbox_completed_at)console.log(H.gray(` Completed: ${$.sandbox_completed_at}`))}else console.log(H.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(H.cyan(" nemar sandbox"))}catch($){if(F.fail("Failed to check status"),$ instanceof u)console.log(H.red(` ${$.message}`))}}else{let F=oD();if(F.sandboxCompleted)console.log(H.green("Sandbox training: Completed")),console.log(H.gray(` Dataset ID: ${F.sandboxDatasetId}`));else console.log(H.yellow("Sandbox training: Not completed")),console.log(),console.log("Run sandbox training with:"),console.log(H.cyan(" nemar sandbox"))}});YB.command("reset").description("Reset sandbox training status for re-training").option(CD,RD).option(hD,bD).action(async(D)=>{if(!xD()){console.log(H.red("Not authenticated")),console.log(H.gray("Run 'nemar auth login' first"));return}if(!oD().sandboxCompleted){console.log(H.yellow("Sandbox training not yet completed")),console.log(H.gray("Nothing to reset"));return}let $=await TD("Reset sandbox training status? You will need to complete training again.",D);if($!=="confirmed"){console.log(H.gray($==="declined"?"Skipped":"Cancelled"));return}let B=C("Resetting sandbox status...").start();try{await zy(),l2("sandboxCompleted"),l2("sandboxDatasetId"),B.succeed("Sandbox status reset"),console.log(),console.log("Run sandbox training again with:"),console.log(H.cyan(" nemar sandbox"))}catch(J){if(B.fail("Failed to reset"),J instanceof u)console.log(H.red(` ${J.message}`));else console.log(H.red(` ${J instanceof Error?J.message:"Unknown error"}`))}});var Kx={name:"nemar-cli",version:"0.5.2",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/nemarOrg/nemar-cli.git"},bugs:{url:"https://github.com/nemarOrg/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 zx=Kx.version;var G1=new H0;G1.name("nemar").description(`CLI for NEMAR (Neuroelectromagnetic Data Archive and Tools Resource)
|
|
755
755
|
|
|
756
756
|
NEMAR is a curated repository for neurophysiology data in BIDS format.
|
|
757
757
|
This CLI provides tools for uploading, downloading, and managing datasets.`).version(zx,"-v, --version","Output the current version").option("--no-color","Disable colored output").option("--verbose","Enable verbose output").addHelpText("after",`
|