@atomic-ehr/codegen 0.0.1-canary.20251006070905.fb6ed98 → 0.0.1-canary.20251006092200.fdb4a88

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/cli/index.js CHANGED
@@ -13,20 +13,20 @@ import{createRequire as w6}from"node:module";var L6=Object.create;var{getPrototy
13
13
  `).trim()}
14
14
  `}generateSimpleExports(D){D.push("// Exports");let F=Array.from(this.exports.entries());if(this.sortFunction)F=F.sort(this.sortFunction);else F=F.sort(([C],[E])=>C.localeCompare(E));let u=new Map;for(let[C,E]of F){if(!u.has(E))u.set(E,[]);u.get(E)?.push(C)}for(let[C,E]of u){let B=E.sort();if(B.length===1)D.push(`export type { ${B[0]} } from './${C}';`);else if(B.length<=3)D.push(`export type { ${B.join(", ")} } from './${C}';`);else D.push("export type {"),B.forEach(($,Z)=>{let Q=Z===B.length-1;D.push(` ${$}${Q?"":","}`)}),D.push(`} from './${C}';`)}}generateGroupedExports(D){if(!this.groupingFunction)return;let F=new Map;for(let[C,E]of this.exports){let B=this.groupingFunction(C);if(!F.has(B))F.set(B,new Map);let $=F.get(B);if(!$.has(E))$.set(E,[]);$.get(E)?.push(C)}let u=Array.from(F.entries()).sort();for(let[C,E]of u){D.push(`// ${C}`);for(let[B,$]of E){let Z=$.sort();if(Z.length===1)D.push(`export type { ${Z[0]} } from './${B}';`);else D.push(`export type { ${Z.join(", ")} } from './${B}';`)}D.push("")}}getExports(){return new Map(this.exports)}getNamespaces(){return new Map(this.namespaces)}getReExports(){return new Map(this.reExports)}}import{notStrictEqual as Ou,strictEqual as Ju}from"assert";var b6={right:S6,center:v6};class Z1{constructor(D){var F;this.width=D.width,this.wrap=(F=D.wrap)!==null&&F!==void 0?F:!0,this.rows=[]}span(...D){let F=this.div(...D);F.span=!0}resetOutput(){this.rows=[]}div(...D){if(D.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...D)&&typeof D[0]==="string")return this.applyLayoutDSL(D[0]);let F=D.map((u)=>{if(typeof u==="string")return this.colFromString(u);return u});return this.rows.push(F),F}shouldApplyLayoutDSL(...D){return D.length===1&&typeof D[0]==="string"&&/[\t\n]/.test(D[0])}applyLayoutDSL(D){let F=D.split(`
15
15
  `).map((C)=>C.split("\t")),u=0;return F.forEach((C)=>{if(C.length>1&&WD.stringWidth(C[0])>u)u=Math.min(Math.floor(this.width*0.5),WD.stringWidth(C[0]))}),F.forEach((C)=>{this.div(...C.map((E,B)=>{return{text:E.trim(),padding:this.measurePadding(E),width:B===0&&C.length>1?u:void 0}}))}),this.rows[this.rows.length-1]}colFromString(D){return{text:D,padding:this.measurePadding(D)}}measurePadding(D){let F=WD.stripAnsi(D);return[0,F.match(/\s*$/)[0].length,0,F.match(/^\s*/)[0].length]}toString(){let D=[];return this.rows.forEach((F)=>{this.rowToString(F,D)}),D.filter((F)=>!F.hidden).map((F)=>F.text).join(`
16
- `)}rowToString(D,F){return this.rasterize(D).forEach((u,C)=>{let E="";u.forEach((B,$)=>{let{width:Z}=D[$],Q=this.negatePadding(D[$]),z=B;if(Q>WD.stringWidth(B))z+=" ".repeat(Q-WD.stringWidth(B));if(D[$].align&&D[$].align!=="left"&&this.wrap){let A=b6[D[$].align];if(z=A(z,Q),WD.stringWidth(z)<Q)z+=" ".repeat((Z||0)-WD.stringWidth(z)-1)}let O=D[$].padding||[0,0,0,0];if(O[3])E+=" ".repeat(O[3]);if(E+=$1(D[$],z,"| "),E+=z,E+=$1(D[$],z," |"),O[1])E+=" ".repeat(O[1]);if(C===0&&F.length>0)E=this.renderInline(E,F[F.length-1])}),F.push({text:E.replace(/ +$/,""),span:D.span})}),F}renderInline(D,F){let u=D.match(/^ */),C=u?u[0].length:0,E=F.text,B=WD.stringWidth(E.trimRight());if(!F.span)return D;if(!this.wrap)return F.hidden=!0,E+D;if(C<B)return D;return F.hidden=!0,E.trimRight()+" ".repeat(C-B)+D.trimLeft()}rasterize(D){let F=[],u=this.columnWidths(D),C;return D.forEach((E,B)=>{if(E.width=u[B],this.wrap)C=WD.wrap(E.text,this.negatePadding(E),{hard:!0}).split(`
16
+ `)}rowToString(D,F){return this.rasterize(D).forEach((u,C)=>{let E="";u.forEach((B,$)=>{let{width:Z}=D[$],Q=this.negatePadding(D[$]),z=B;if(Q>WD.stringWidth(B))z+=" ".repeat(Q-WD.stringWidth(B));if(D[$].align&&D[$].align!=="left"&&this.wrap){let W=b6[D[$].align];if(z=W(z,Q),WD.stringWidth(z)<Q)z+=" ".repeat((Z||0)-WD.stringWidth(z)-1)}let O=D[$].padding||[0,0,0,0];if(O[3])E+=" ".repeat(O[3]);if(E+=$1(D[$],z,"| "),E+=z,E+=$1(D[$],z," |"),O[1])E+=" ".repeat(O[1]);if(C===0&&F.length>0)E=this.renderInline(E,F[F.length-1])}),F.push({text:E.replace(/ +$/,""),span:D.span})}),F}renderInline(D,F){let u=D.match(/^ */),C=u?u[0].length:0,E=F.text,B=WD.stringWidth(E.trimRight());if(!F.span)return D;if(!this.wrap)return F.hidden=!0,E+D;if(C<B)return D;return F.hidden=!0,E.trimRight()+" ".repeat(C-B)+D.trimLeft()}rasterize(D){let F=[],u=this.columnWidths(D),C;return D.forEach((E,B)=>{if(E.width=u[B],this.wrap)C=WD.wrap(E.text,this.negatePadding(E),{hard:!0}).split(`
17
17
  `);else C=E.text.split(`
18
- `);if(E.border)C.unshift("."+"-".repeat(this.negatePadding(E)+2)+"."),C.push("'"+"-".repeat(this.negatePadding(E)+2)+"'");if(E.padding)C.unshift(...Array(E.padding[0]||0).fill("")),C.push(...Array(E.padding[2]||0).fill(""));C.forEach(($,Z)=>{if(!F[Z])F.push([]);let Q=F[Z];for(let z=0;z<B;z++)if(Q[z]===void 0)Q.push("");Q.push($)})}),F}negatePadding(D){let F=D.width||0;if(D.padding)F-=(D.padding[3]||0)+(D.padding[1]||0);if(D.border)F-=4;return F}columnWidths(D){if(!this.wrap)return D.map((B)=>{return B.width||WD.stringWidth(B.text)});let F=D.length,u=this.width,C=D.map((B)=>{if(B.width)return F--,u-=B.width,B.width;return}),E=F?Math.floor(u/F):0;return C.map((B,$)=>{if(B===void 0)return Math.max(E,x6(D[$]));return B})}}function $1(D,F,u){if(D.border){if(/[.']-+[.']/.test(F))return"";if(F.trim().length!==0)return u;return" "}return""}function x6(D){let F=D.padding||[],u=1+(F[3]||0)+(F[1]||0);if(D.border)return u+4;return u}function P6(){if(typeof process==="object"&&process.stdout&&process.stdout.columns)return process.stdout.columns;return 80}function S6(D,F){D=D.trim();let u=WD.stringWidth(D);if(u<F)return" ".repeat(F-u)+D;return D}function v6(D,F){D=D.trim();let u=WD.stringWidth(D);if(u>=F)return D;return" ".repeat(F-u>>1)+D}var WD;function X1(D,F){return WD=F,new Z1({width:(D===null||D===void 0?void 0:D.width)||P6(),wrap:D===null||D===void 0?void 0:D.wrap})}function IF({onlyFirst:D=!1}={}){let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(u,D?void 0:"g")}var f6=IF();function mD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(f6,"")}function Q1(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 z1(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function Y1(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===94193||D>=94208&&D<=100343||D>=100352&&D<=101589||D>=101631&&D<=101640||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<=128727||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<=129673||D>=129679&&D<=129734||D>=129742&&D<=129756||D>=129759&&D<=129769||D>=129776&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function k6(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function O1(D,{ambiguousAsWide:F=!1}={}){if(k6(D),z1(D)||Y1(D)||F&&Q1(D))return 2;return 1}var A1=b0(W1(),1),y6=new Intl.Segmenter,h6=/^\p{Default_Ignorable_Code_Point}$/u;function RD(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:u=!0,countAnsiEscapeCodes:C=!1}=F;if(!C)D=mD(D);if(D.length===0)return 0;let E=0,B={ambiguousAsWide:!u};for(let{segment:$}of y6.segment(D)){let Z=$.codePointAt(0);if(Z<=31||Z>=127&&Z<=159)continue;if(Z>=8203&&Z<=8207||Z===65279)continue;if(Z>=768&&Z<=879||Z>=6832&&Z<=6911||Z>=7616&&Z<=7679||Z>=8400&&Z<=8447||Z>=65056&&Z<=65071)continue;if(Z>=55296&&Z<=57343)continue;if(Z>=65024&&Z<=65039)continue;if(h6.test($))continue;if(A1.default().test($)){E+=2;continue}E+=O1(Z,B)}return E}var G1=(D=0)=>(F)=>`\x1B[${F+D}m`,H1=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,q1=(D=0)=>(F,u,C)=>`\x1B[${38+D};2;${F};${u};${C}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},WC=Object.keys(r.modifier),d6=Object.keys(r.color),p6=Object.keys(r.bgColor),AC=[...d6,...p6];function g6(){let D=new Map;for(let[F,u]of Object.entries(r)){for(let[C,E]of Object.entries(u))r[C]={open:`\x1B[${E[0]}m`,close:`\x1B[${E[1]}m`},u[C]=r[C],D.set(E[0],E[1]);Object.defineProperty(r,F,{value:u,enumerable:!1})}return Object.defineProperty(r,"codes",{value:D,enumerable:!1}),r.color.close="\x1B[39m",r.bgColor.close="\x1B[49m",r.color.ansi=G1(),r.color.ansi256=H1(),r.color.ansi16m=q1(),r.bgColor.ansi=G1(10),r.bgColor.ansi256=H1(10),r.bgColor.ansi16m=q1(10),Object.defineProperties(r,{rgbToAnsi256:{value:(F,u,C)=>{if(F===u&&u===C){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round(u/255*5)+Math.round(C/255*5)},enumerable:!1},hexToRgb:{value:(F)=>{let u=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!u)return[0,0,0];let[C]=u;if(C.length===3)C=[...C].map((B)=>B+B).join("");let E=Number.parseInt(C,16);return[E>>16&255,E>>8&255,E&255]},enumerable:!1},hexToAnsi256:{value:(F)=>r.rgbToAnsi256(...r.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value:(F)=>{if(F<8)return 30+F;if(F<16)return 90+(F-8);let u,C,E;if(F>=232)u=((F-232)*10+8)/255,C=u,E=u;else{F-=16;let Z=F%36;u=Math.floor(F/36)/5,C=Math.floor(Z/6)/5,E=Z%6/5}let B=Math.max(u,C,E)*2;if(B===0)return 30;let $=30+(Math.round(E)<<2|Math.round(C)<<1|Math.round(u));if(B===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(F,u,C)=>r.ansi256ToAnsi(r.rgbToAnsi256(F,u,C)),enumerable:!1},hexToAnsi:{value:(F)=>r.ansi256ToAnsi(r.hexToAnsi256(F)),enumerable:!1}}),r}var m6=g6(),_1=m6;var P0=new Set(["\x1B","›"]),c6=39,NF="\x07",K1="[",l6="]",R1="m",x0=`${l6}8;;`,M1=(D)=>`${P0.values().next().value}${K1}${D}${R1}`,V1=(D)=>`${P0.values().next().value}${x0}${D}${NF}`,o6=(D)=>D.split(" ").map((F)=>RD(F)),LF=(D,F,u)=>{let C=[...F],E=!1,B=!1,$=RD(mD(D.at(-1)));for(let[Z,Q]of C.entries()){let z=RD(Q);if($+z<=u)D[D.length-1]+=Q;else D.push(Q),$=0;if(P0.has(Q))E=!0,B=C.slice(Z+1,Z+1+x0.length).join("")===x0;if(E){if(B){if(Q===NF)E=!1,B=!1}else if(Q===R1)E=!1;continue}if($+=z,$===u&&Z<C.length-1)D.push(""),$=0}if(!$&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},n6=(D)=>{let F=D.split(" "),u=F.length;while(u>0){if(RD(F[u-1])>0)break;u--}if(u===F.length)return D;return F.slice(0,u).join(" ")+F.slice(u).join("")},i6=(D,F,u={})=>{if(u.trim!==!1&&D.trim()==="")return"";let C="",E,B,$=o6(D),Z=[""];for(let[A,J]of D.split(" ").entries()){if(u.trim!==!1)Z[Z.length-1]=Z.at(-1).trimStart();let W=RD(Z.at(-1));if(A!==0){if(W>=F&&(u.wordWrap===!1||u.trim===!1))Z.push(""),W=0;if(W>0||u.trim===!1)Z[Z.length-1]+=" ",W++}if(u.hard&&$[A]>F){let _=F-W,q=1+Math.floor(($[A]-_-1)/F);if(Math.floor(($[A]-1)/F)<q)Z.push("");LF(Z,J,F);continue}if(W+$[A]>F&&W>0&&$[A]>0){if(u.wordWrap===!1&&W<F){LF(Z,J,F);continue}Z.push("")}if(W+$[A]>F&&u.wordWrap===!1){LF(Z,J,F);continue}Z[Z.length-1]+=J}if(u.trim!==!1)Z=Z.map((A)=>n6(A));let Q=Z.join(`
19
- `),z=[...Q],O=0;for(let[A,J]of z.entries()){if(C+=J,P0.has(J)){let{groups:_}=new RegExp(`(?:\\${K1}(?<code>\\d+)m|\\${x0}(?<uri>.*)${NF})`).exec(Q.slice(O))||{groups:{}};if(_.code!==void 0){let q=Number.parseFloat(_.code);E=q===c6?void 0:q}else if(_.uri!==void 0)B=_.uri.length===0?void 0:_.uri}let W=_1.codes.get(Number(E));if(z[A+1]===`
20
- `){if(B)C+=V1("");if(E&&W)C+=M1(W)}else if(J===`
21
- `){if(E&&W)C+=M1(E);if(B)C+=V1(B)}O+=J.length}return C};function TF(D,F,u){return String(D).normalize().replaceAll(`\r
18
+ `);if(E.border)C.unshift("."+"-".repeat(this.negatePadding(E)+2)+"."),C.push("'"+"-".repeat(this.negatePadding(E)+2)+"'");if(E.padding)C.unshift(...Array(E.padding[0]||0).fill("")),C.push(...Array(E.padding[2]||0).fill(""));C.forEach(($,Z)=>{if(!F[Z])F.push([]);let Q=F[Z];for(let z=0;z<B;z++)if(Q[z]===void 0)Q.push("");Q.push($)})}),F}negatePadding(D){let F=D.width||0;if(D.padding)F-=(D.padding[3]||0)+(D.padding[1]||0);if(D.border)F-=4;return F}columnWidths(D){if(!this.wrap)return D.map((B)=>{return B.width||WD.stringWidth(B.text)});let F=D.length,u=this.width,C=D.map((B)=>{if(B.width)return F--,u-=B.width,B.width;return}),E=F?Math.floor(u/F):0;return C.map((B,$)=>{if(B===void 0)return Math.max(E,x6(D[$]));return B})}}function $1(D,F,u){if(D.border){if(/[.']-+[.']/.test(F))return"";if(F.trim().length!==0)return u;return" "}return""}function x6(D){let F=D.padding||[],u=1+(F[3]||0)+(F[1]||0);if(D.border)return u+4;return u}function P6(){if(typeof process==="object"&&process.stdout&&process.stdout.columns)return process.stdout.columns;return 80}function S6(D,F){D=D.trim();let u=WD.stringWidth(D);if(u<F)return" ".repeat(F-u)+D;return D}function v6(D,F){D=D.trim();let u=WD.stringWidth(D);if(u>=F)return D;return" ".repeat(F-u>>1)+D}var WD;function X1(D,F){return WD=F,new Z1({width:(D===null||D===void 0?void 0:D.width)||P6(),wrap:D===null||D===void 0?void 0:D.wrap})}function IF({onlyFirst:D=!1}={}){let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(u,D?void 0:"g")}var f6=IF();function mD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(f6,"")}function Q1(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 z1(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function Y1(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===94193||D>=94208&&D<=100343||D>=100352&&D<=101589||D>=101631&&D<=101640||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<=128727||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<=129673||D>=129679&&D<=129734||D>=129742&&D<=129756||D>=129759&&D<=129769||D>=129776&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function k6(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function O1(D,{ambiguousAsWide:F=!1}={}){if(k6(D),z1(D)||Y1(D)||F&&Q1(D))return 2;return 1}var A1=b0(W1(),1),y6=new Intl.Segmenter,h6=/^\p{Default_Ignorable_Code_Point}$/u;function RD(D,F={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:u=!0,countAnsiEscapeCodes:C=!1}=F;if(!C)D=mD(D);if(D.length===0)return 0;let E=0,B={ambiguousAsWide:!u};for(let{segment:$}of y6.segment(D)){let Z=$.codePointAt(0);if(Z<=31||Z>=127&&Z<=159)continue;if(Z>=8203&&Z<=8207||Z===65279)continue;if(Z>=768&&Z<=879||Z>=6832&&Z<=6911||Z>=7616&&Z<=7679||Z>=8400&&Z<=8447||Z>=65056&&Z<=65071)continue;if(Z>=55296&&Z<=57343)continue;if(Z>=65024&&Z<=65039)continue;if(h6.test($))continue;if(A1.default().test($)){E+=2;continue}E+=O1(Z,B)}return E}var G1=(D=0)=>(F)=>`\x1B[${F+D}m`,H1=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,q1=(D=0)=>(F,u,C)=>`\x1B[${38+D};2;${F};${u};${C}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},WC=Object.keys(r.modifier),d6=Object.keys(r.color),p6=Object.keys(r.bgColor),AC=[...d6,...p6];function g6(){let D=new Map;for(let[F,u]of Object.entries(r)){for(let[C,E]of Object.entries(u))r[C]={open:`\x1B[${E[0]}m`,close:`\x1B[${E[1]}m`},u[C]=r[C],D.set(E[0],E[1]);Object.defineProperty(r,F,{value:u,enumerable:!1})}return Object.defineProperty(r,"codes",{value:D,enumerable:!1}),r.color.close="\x1B[39m",r.bgColor.close="\x1B[49m",r.color.ansi=G1(),r.color.ansi256=H1(),r.color.ansi16m=q1(),r.bgColor.ansi=G1(10),r.bgColor.ansi256=H1(10),r.bgColor.ansi16m=q1(10),Object.defineProperties(r,{rgbToAnsi256:{value:(F,u,C)=>{if(F===u&&u===C){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round(u/255*5)+Math.round(C/255*5)},enumerable:!1},hexToRgb:{value:(F)=>{let u=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!u)return[0,0,0];let[C]=u;if(C.length===3)C=[...C].map((B)=>B+B).join("");let E=Number.parseInt(C,16);return[E>>16&255,E>>8&255,E&255]},enumerable:!1},hexToAnsi256:{value:(F)=>r.rgbToAnsi256(...r.hexToRgb(F)),enumerable:!1},ansi256ToAnsi:{value:(F)=>{if(F<8)return 30+F;if(F<16)return 90+(F-8);let u,C,E;if(F>=232)u=((F-232)*10+8)/255,C=u,E=u;else{F-=16;let Z=F%36;u=Math.floor(F/36)/5,C=Math.floor(Z/6)/5,E=Z%6/5}let B=Math.max(u,C,E)*2;if(B===0)return 30;let $=30+(Math.round(E)<<2|Math.round(C)<<1|Math.round(u));if(B===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(F,u,C)=>r.ansi256ToAnsi(r.rgbToAnsi256(F,u,C)),enumerable:!1},hexToAnsi:{value:(F)=>r.ansi256ToAnsi(r.hexToAnsi256(F)),enumerable:!1}}),r}var m6=g6(),_1=m6;var P0=new Set(["\x1B","›"]),c6=39,NF="\x07",K1="[",l6="]",R1="m",x0=`${l6}8;;`,M1=(D)=>`${P0.values().next().value}${K1}${D}${R1}`,V1=(D)=>`${P0.values().next().value}${x0}${D}${NF}`,o6=(D)=>D.split(" ").map((F)=>RD(F)),LF=(D,F,u)=>{let C=[...F],E=!1,B=!1,$=RD(mD(D.at(-1)));for(let[Z,Q]of C.entries()){let z=RD(Q);if($+z<=u)D[D.length-1]+=Q;else D.push(Q),$=0;if(P0.has(Q))E=!0,B=C.slice(Z+1,Z+1+x0.length).join("")===x0;if(E){if(B){if(Q===NF)E=!1,B=!1}else if(Q===R1)E=!1;continue}if($+=z,$===u&&Z<C.length-1)D.push(""),$=0}if(!$&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},n6=(D)=>{let F=D.split(" "),u=F.length;while(u>0){if(RD(F[u-1])>0)break;u--}if(u===F.length)return D;return F.slice(0,u).join(" ")+F.slice(u).join("")},i6=(D,F,u={})=>{if(u.trim!==!1&&D.trim()==="")return"";let C="",E,B,$=o6(D),Z=[""];for(let[W,J]of D.split(" ").entries()){if(u.trim!==!1)Z[Z.length-1]=Z.at(-1).trimStart();let A=RD(Z.at(-1));if(W!==0){if(A>=F&&(u.wordWrap===!1||u.trim===!1))Z.push(""),A=0;if(A>0||u.trim===!1)Z[Z.length-1]+=" ",A++}if(u.hard&&$[W]>F){let _=F-A,q=1+Math.floor(($[W]-_-1)/F);if(Math.floor(($[W]-1)/F)<q)Z.push("");LF(Z,J,F);continue}if(A+$[W]>F&&A>0&&$[W]>0){if(u.wordWrap===!1&&A<F){LF(Z,J,F);continue}Z.push("")}if(A+$[W]>F&&u.wordWrap===!1){LF(Z,J,F);continue}Z[Z.length-1]+=J}if(u.trim!==!1)Z=Z.map((W)=>n6(W));let Q=Z.join(`
19
+ `),z=[...Q],O=0;for(let[W,J]of z.entries()){if(C+=J,P0.has(J)){let{groups:_}=new RegExp(`(?:\\${K1}(?<code>\\d+)m|\\${x0}(?<uri>.*)${NF})`).exec(Q.slice(O))||{groups:{}};if(_.code!==void 0){let q=Number.parseFloat(_.code);E=q===c6?void 0:q}else if(_.uri!==void 0)B=_.uri.length===0?void 0:_.uri}let A=_1.codes.get(Number(E));if(z[W+1]===`
20
+ `){if(B)C+=V1("");if(E&&A)C+=M1(A)}else if(J===`
21
+ `){if(E&&A)C+=M1(E);if(B)C+=V1(B)}O+=J.length}return C};function TF(D,F,u){return String(D).normalize().replaceAll(`\r
22
22
  `,`
23
23
  `).split(`
24
24
  `).map((C)=>i6(C,F,u)).join(`
25
- `)}function wF(D){return X1(D,{stringWidth:RD,stripAnsi:mD,wrap:TF})}import{dirname as U1,resolve as j1}from"path";import{readdirSync as t6,statSync as s6}from"fs";function bF(D,F){let u=j1(".",D),C;if(!s6(u).isDirectory())u=U1(u);while(!0){if(C=F(u,t6(u)),C)return j1(u,C);if(u=U1(C=u),C===u)break}}import{inspect as Wu}from"util";import{fileURLToPath as g1}from"url";import{format as e6}from"util";import{normalize as Du,resolve as Fu}from"path";function cD(D){if(!(D!==D.toLowerCase()&&D!==D.toUpperCase()))D=D.toLowerCase();if(D.indexOf("-")===-1&&D.indexOf("_")===-1)return D;else{let u="",C=!1,E=D.match(/^-+/);for(let B=E?E[0].length:0;B<D.length;B++){let $=D.charAt(B);if(C)C=!1,$=$.toUpperCase();if(B!==0&&($==="-"||$==="_"))C=!0;else if($!=="-"&&$!=="_")u+=$}return u}}function S0(D,F){let u=D.toLowerCase();F=F||"-";let C="";for(let E=0;E<D.length;E++){let B=u.charAt(E),$=D.charAt(E);if(B!==$&&E>0)C+=`${F}${u.charAt(E)}`;else C+=$}return C}function v0(D){if(D===null||D===void 0)return!1;if(typeof D==="number")return!0;if(/^0x[0-9a-f]+$/i.test(D))return!0;if(/^0[^.]/.test(D))return!1;return/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(D)}function I1(D){if(Array.isArray(D))return D.map(($)=>typeof $!=="string"?$+"":$);D=D.trim();let F=0,u=null,C=null,E=null,B=[];for(let $=0;$<D.length;$++){if(u=C,C=D.charAt($),C===" "&&!E){if(u!==" ")F++;continue}if(C===E)E=null;else if((C==="'"||C==='"')&&!E)E=C;if(!B[F])B[F]="";B[F]+=C}return B}var qD;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(qD||(qD={}));var bD;class PF{constructor(D){bD=D}parse(D,F){let u=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},F),C=I1(D),E=typeof D==="string",B=r6(Object.assign(Object.create(null),u.alias)),$=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},u.configuration),Z=Object.assign(Object.create(null),u.default),Q=u.configObjects||[],z=u.envPrefix,O=$["populate--"],A=O?"--":"_",J=Object.create(null),W=Object.create(null),_=u.__||bD.format,q={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},P=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,c=new RegExp("^--"+$["negation-prefix"]+"(.+)");if([].concat(u.array||[]).filter(Boolean).forEach(function(Y){let H=typeof Y==="object"?Y.key:Y,V=Object.keys(Y).map(function(M){return{boolean:"bools",string:"strings",number:"numbers"}[M]}).filter(Boolean).pop();if(V)q[V][H]=!0;q.arrays[H]=!0,q.keys.push(H)}),[].concat(u.boolean||[]).filter(Boolean).forEach(function(Y){q.bools[Y]=!0,q.keys.push(Y)}),[].concat(u.string||[]).filter(Boolean).forEach(function(Y){q.strings[Y]=!0,q.keys.push(Y)}),[].concat(u.number||[]).filter(Boolean).forEach(function(Y){q.numbers[Y]=!0,q.keys.push(Y)}),[].concat(u.count||[]).filter(Boolean).forEach(function(Y){q.counts[Y]=!0,q.keys.push(Y)}),[].concat(u.normalize||[]).filter(Boolean).forEach(function(Y){q.normalize[Y]=!0,q.keys.push(Y)}),typeof u.narg==="object")Object.entries(u.narg).forEach(([Y,H])=>{if(typeof H==="number")q.nargs[Y]=H,q.keys.push(Y)});if(typeof u.coerce==="object")Object.entries(u.coerce).forEach(([Y,H])=>{if(typeof H==="function")q.coercions[Y]=H,q.keys.push(Y)});if(typeof u.config<"u"){if(Array.isArray(u.config)||typeof u.config==="string")[].concat(u.config).filter(Boolean).forEach(function(Y){q.configs[Y]=!0});else if(typeof u.config==="object")Object.entries(u.config).forEach(([Y,H])=>{if(typeof H==="boolean"||typeof H==="function")q.configs[Y]=H})}H0(u.key,B,u.default,q.arrays),Object.keys(Z).forEach(function(Y){(q.aliases[Y]||[]).forEach(function(H){Z[H]=Z[Y]})});let p=null;VF();let QD=[],d=Object.assign(Object.create(null),{_:[]}),U={};for(let Y=0;Y<C.length;Y++){let H=C[Y],V=H.replace(/^-{3,}/,"---"),M,G,T,R,x,ZD;if(H!=="--"&&/^-/.test(H)&&i(H))j(H);else if(V.match(/^---+(=|$)/)){j(H);continue}else if(H.match(/^--.+=/)||!$["short-option-groups"]&&H.match(/^-.+=/)){if(R=H.match(/^--?([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)if(v(R[1],q.arrays))Y=l(Y,R[1],C,R[2]);else if(v(R[1],q.nargs)!==!1)Y=S(Y,R[1],C,R[2]);else g(R[1],R[2],!0)}else if(H.match(c)&&$["boolean-negation"]){if(R=H.match(c),R!==null&&Array.isArray(R)&&R.length>=2)G=R[1],g(G,v(G,q.arrays)?[!1]:!1)}else if(H.match(/^--.+/)||!$["short-option-groups"]&&H.match(/^-[^-]+/)){if(R=H.match(/^--?(.+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],v(G,q.arrays))Y=l(Y,G,C);else if(v(G,q.nargs)!==!1)Y=S(Y,G,C);else if(x=C[Y+1],x!==void 0&&(!x.match(/^-/)||x.match(P))&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),Y++;else if(/^(true|false)$/.test(x))g(G,x),Y++;else g(G,m(G))}else if(H.match(/^-.\..+=/)){if(R=H.match(/^-([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)g(R[1],R[2])}else if(H.match(/^-.\..+/)&&!H.match(P)){if(x=C[Y+1],R=H.match(/^-(.\..+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],x!==void 0&&!x.match(/^-/)&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),Y++;else g(G,m(G))}else if(H.match(/^-[^-]+/)&&!H.match(P)){T=H.slice(1,-1).split(""),M=!1;for(let YD=0;YD<T.length;YD++){if(x=H.slice(YD+2),T[YD+1]&&T[YD+1]==="="){if(ZD=H.slice(YD+3),G=T[YD],v(G,q.arrays))Y=l(Y,G,C,ZD);else if(v(G,q.nargs)!==!1)Y=S(Y,G,C,ZD);else g(G,ZD);M=!0;break}if(x==="-"){g(T[YD],x);continue}if(/[A-Za-z]/.test(T[YD])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(x)&&v(x,q.bools)===!1){g(T[YD],x),M=!0;break}if(T[YD+1]&&T[YD+1].match(/\W/)){g(T[YD],x),M=!0;break}else g(T[YD],m(T[YD]))}if(G=H.slice(-1)[0],!M&&G!=="-")if(v(G,q.arrays))Y=l(Y,G,C);else if(v(G,q.nargs)!==!1)Y=S(Y,G,C);else if(x=C[Y+1],x!==void 0&&(!/^(-|--)[^-]/.test(x)||x.match(P))&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),Y++;else if(/^(true|false)$/.test(x))g(G,x),Y++;else g(G,m(G))}else if(H.match(/^-[0-9]$/)&&H.match(P)&&v(H.slice(1),q.bools))G=H.slice(1),g(G,m(G));else if(H==="--"){QD=C.slice(Y+1);break}else if($["halt-at-non-option"]){QD=C.slice(Y);break}else j(H)}if(uD(d,!0),uD(d,!1),w(d),n(),PD(d,q.aliases,Z,!0),o(d),$["set-placeholder-key"])CD(d);if(Object.keys(q.counts).forEach(function(Y){if(!t(d,Y.split(".")))g(Y,0)}),O&&QD.length)d[A]=[];if(QD.forEach(function(Y){d[A].push(Y)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(d).filter((Y)=>Y!=="--"&&Y.includes("-")).forEach((Y)=>{delete d[Y]});if($["strip-aliased"])[].concat(...Object.keys(B).map((Y)=>B[Y])).forEach((Y)=>{if($["camel-case-expansion"]&&Y.includes("-"))delete d[Y.split(".").map((H)=>cD(H)).join(".")];delete d[Y]});function j(Y){let H=K("_",Y);if(typeof H==="string"||typeof H==="number")d._.push(H)}function S(Y,H,V,M){let G,T=v(H,q.nargs);if(T=typeof T!=="number"||isNaN(T)?1:T,T===0){if(!BD(M))p=Error(_("Argument unexpected for: %s",H));return g(H,m(H)),Y}let R=BD(M)?0:1;if($["nargs-eats-options"]){if(V.length-(Y+1)+R<T)p=Error(_("Not enough arguments following: %s",H));R=T}else{for(G=Y+1;G<V.length;G++)if(!V[G].match(/^-[^0-9]/)||V[G].match(P)||i(V[G]))R++;else break;if(R<T)p=Error(_("Not enough arguments following: %s",H))}let x=Math.min(R,T);if(!BD(M)&&x>0)g(H,M),x--;for(G=Y+1;G<x+Y+1;G++)g(H,V[G]);return Y+x}function l(Y,H,V,M){let G=[],T=M||V[Y+1],R=v(H,q.nargs);if(v(H,q.bools)&&!/^(true|false)$/.test(T))G.push(!0);else if(BD(T)||BD(M)&&/^-/.test(T)&&!P.test(T)&&!i(T)){if(Z[H]!==void 0){let x=Z[H];G=Array.isArray(x)?x:[x]}}else{if(!BD(M))G.push(I(H,M,!0));for(let x=Y+1;x<V.length;x++){if(!$["greedy-arrays"]&&G.length>0||R&&typeof R==="number"&&G.length>=R)break;if(T=V[x],/^-/.test(T)&&!P.test(T)&&!i(T))break;Y=x,G.push(I(H,T,E))}}if(typeof R==="number"&&(R&&G.length<R||isNaN(R)&&G.length===0))p=Error(_("Not enough arguments following: %s",H));return g(H,G),Y}function g(Y,H,V=E){if(/-/.test(Y)&&$["camel-case-expansion"]){let T=Y.split(".").map(function(R){return cD(R)}).join(".");LD(Y,T)}let M=I(Y,H,V),G=Y.split(".");if(wD(d,G,M),q.aliases[Y])q.aliases[Y].forEach(function(T){let R=T.split(".");wD(d,R,M)});if(G.length>1&&$["dot-notation"])(q.aliases[G[0]]||[]).forEach(function(T){let R=T.split("."),x=[].concat(G);if(x.shift(),R=R.concat(x),!(q.aliases[Y]||[]).includes(R.join(".")))wD(d,R,M)});if(v(Y,q.normalize)&&!v(Y,q.arrays))[Y].concat(q.aliases[Y]||[]).forEach(function(R){Object.defineProperty(U,R,{enumerable:!0,get(){return H},set(x){H=typeof x==="string"?bD.normalize(x):x}})})}function LD(Y,H){if(!(q.aliases[Y]&&q.aliases[Y].length))q.aliases[Y]=[H],J[H]=!0;if(!(q.aliases[H]&&q.aliases[H].length))LD(H,Y)}function I(Y,H,V){if(V)H=a6(H);if(v(Y,q.bools)||v(Y,q.counts)){if(typeof H==="string")H=H==="true"}let M=Array.isArray(H)?H.map(function(G){return K(Y,G)}):K(Y,H);if(v(Y,q.counts)&&(BD(M)||typeof M==="boolean"))M=xF();if(v(Y,q.normalize)&&v(Y,q.arrays))if(Array.isArray(H))M=H.map((G)=>{return bD.normalize(G)});else M=bD.normalize(H);return M}function K(Y,H){if(!$["parse-positional-numbers"]&&Y==="_")return H;if(!v(Y,q.strings)&&!v(Y,q.bools)&&!Array.isArray(H)){if(v0(H)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${H}`)))||!BD(H)&&v(Y,q.numbers))H=Number(H)}return H}function w(Y){let H=Object.create(null);PD(H,q.aliases,Z),Object.keys(q.configs).forEach(function(V){let M=Y[V]||H[V];if(M)try{let G=null,T=bD.resolve(bD.cwd(),M),R=q.configs[V];if(typeof R==="function"){try{G=R(T)}catch(x){G=x}if(G instanceof Error){p=G;return}}else G=bD.require(T);y(G)}catch(G){if(G.name==="PermissionDenied")p=G;else if(Y[V])p=Error(_("Invalid JSON config file: %s",M))}})}function y(Y,H){Object.keys(Y).forEach(function(V){let M=Y[V],G=H?H+"."+V:V;if(typeof M==="object"&&M!==null&&!Array.isArray(M)&&$["dot-notation"])y(M,G);else if(!t(d,G.split("."))||v(G,q.arrays)&&$["combine-arrays"])g(G,M)})}function n(){if(typeof Q<"u")Q.forEach(function(Y){y(Y)})}function uD(Y,H){if(typeof z>"u")return;let V=typeof z==="string"?z:"",M=bD.env();Object.keys(M).forEach(function(G){if(V===""||G.lastIndexOf(V,0)===0){let T=G.split("__").map(function(R,x){if(x===0)R=R.substring(V.length);return cD(R)});if((H&&q.configs[T.join(".")]||!H)&&!t(Y,T))g(T.join("."),M[G])}})}function o(Y){let H,V=new Set;Object.keys(Y).forEach(function(M){if(!V.has(M)){if(H=v(M,q.coercions),typeof H==="function")try{let G=K(M,H(Y[M]));[].concat(q.aliases[M]||[],M).forEach((T)=>{V.add(T),Y[T]=G})}catch(G){p=G}}})}function CD(Y){return q.keys.forEach((H)=>{if(~H.indexOf("."))return;if(typeof Y[H]>"u")Y[H]=void 0}),Y}function PD(Y,H,V,M=!1){Object.keys(V).forEach(function(G){if(!t(Y,G.split("."))){if(wD(Y,G.split("."),V[G]),M)W[G]=!0;(H[G]||[]).forEach(function(T){if(t(Y,T.split(".")))return;wD(Y,T.split("."),V[G])})}})}function t(Y,H){let V=Y;if(!$["dot-notation"])H=[H.join(".")];H.slice(0,-1).forEach(function(G){V=V[G]||{}});let M=H[H.length-1];if(typeof V!=="object")return!1;else return M in V}function wD(Y,H,V){let M=Y;if(!$["dot-notation"])H=[H.join(".")];H.slice(0,-1).forEach(function(ZD){if(ZD=L1(ZD),typeof M==="object"&&M[ZD]===void 0)M[ZD]={};if(typeof M[ZD]!=="object"||Array.isArray(M[ZD])){if(Array.isArray(M[ZD]))M[ZD].push({});else M[ZD]=[M[ZD],{}];M=M[ZD][M[ZD].length-1]}else M=M[ZD]});let G=L1(H[H.length-1]),T=v(H.join("."),q.arrays),R=Array.isArray(V),x=$["duplicate-arguments-array"];if(!x&&v(G,q.nargs)){if(x=!0,!BD(M[G])&&q.nargs[G]===1||Array.isArray(M[G])&&M[G].length===q.nargs[G])M[G]=void 0}if(V===xF())M[G]=xF(M[G]);else if(Array.isArray(M[G]))if(x&&T&&R)M[G]=$["flatten-duplicate-arrays"]?M[G].concat(V):(Array.isArray(M[G][0])?M[G]:[M[G]]).concat([V]);else if(!x&&Boolean(T)===Boolean(R))M[G]=V;else M[G]=M[G].concat([V]);else if(M[G]===void 0&&T)M[G]=R?V:[V];else if(x&&!(M[G]===void 0||v(G,q.counts)||v(G,q.bools)))M[G]=[M[G],V];else M[G]=V}function H0(...Y){Y.forEach(function(H){Object.keys(H||{}).forEach(function(V){if(q.aliases[V])return;q.aliases[V]=[].concat(B[V]||[]),q.aliases[V].concat(V).forEach(function(M){if(/-/.test(M)&&$["camel-case-expansion"]){let G=cD(M);if(G!==V&&q.aliases[V].indexOf(G)===-1)q.aliases[V].push(G),J[G]=!0}}),q.aliases[V].concat(V).forEach(function(M){if(M.length>1&&/[A-Z]/.test(M)&&$["camel-case-expansion"]){let G=S0(M,"-");if(G!==V&&q.aliases[V].indexOf(G)===-1)q.aliases[V].push(G),J[G]=!0}}),q.aliases[V].forEach(function(M){q.aliases[M]=[V].concat(q.aliases[V].filter(function(G){return M!==G}))})})})}function v(Y,H){let V=[].concat(q.aliases[Y]||[],Y),M=Object.keys(H),G=V.find((T)=>M.includes(T));return G?H[G]:!1}function Q0(Y){let H=Object.keys(q);return[].concat(H.map((M)=>q[M])).some(function(M){return Array.isArray(M)?M.includes(Y):M[Y]})}function F1(Y,...H){return[].concat(...H).some(function(M){let G=Y.match(M);return G&&Q0(G[1])})}function f(Y){if(Y.match(P)||!Y.match(/^-[^-]+/))return!1;let H=!0,V,M=Y.slice(1).split("");for(let G=0;G<M.length;G++){if(V=Y.slice(G+2),!Q0(M[G])){H=!1;break}if(M[G+1]&&M[G+1]==="="||V==="-"||/[A-Za-z]/.test(M[G])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(V)||M[G+1]&&M[G+1].match(/\W/))break}return H}function i(Y){return $["unknown-options-as-args"]&&ED(Y)}function ED(Y){if(Y=Y.replace(/^-{3,}/,"--"),Y.match(P))return!1;if(f(Y))return!1;return!F1(Y,/^-+([^=]+?)=[\s\S]*$/,c,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function m(Y){if(!v(Y,q.bools)&&!v(Y,q.counts)&&`${Y}`in Z)return Z[Y];else return zD(e(Y))}function zD(Y){return{[qD.BOOLEAN]:!0,[qD.STRING]:"",[qD.NUMBER]:void 0,[qD.ARRAY]:[]}[Y]}function e(Y){let H=qD.BOOLEAN;if(v(Y,q.strings))H=qD.STRING;else if(v(Y,q.numbers))H=qD.NUMBER;else if(v(Y,q.bools))H=qD.BOOLEAN;else if(v(Y,q.arrays))H=qD.ARRAY;return H}function BD(Y){return Y===void 0}function VF(){Object.keys(q.counts).find((Y)=>{if(v(Y,q.arrays))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.array.",Y)),!0;else if(v(Y,q.nargs))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.narg.",Y)),!0;return!1})}return{aliases:Object.assign({},q.aliases),argv:Object.assign(U,d),configuration:$,defaulted:Object.assign({},W),error:p,newAliases:Object.assign({},J)}}}function r6(D){let F=[],u=Object.create(null),C=!0;Object.keys(D).forEach(function(E){F.push([].concat(D[E],E))});while(C){C=!1;for(let E=0;E<F.length;E++)for(let B=E+1;B<F.length;B++)if(F[E].filter(function(Z){return F[B].indexOf(Z)!==-1}).length){F[E]=F[E].concat(F[B]),F.splice(B,1),C=!0;break}}return F.forEach(function(E){E=E.filter(function($,Z,Q){return Q.indexOf($)===Z});let B=E.pop();if(B!==void 0&&typeof B==="string")u[B]=E}),u}function xF(D){return D!==void 0?D+1:1}function L1(D){if(D==="__proto__")return"___proto___";return D}function a6(D){return typeof D==="string"&&(D[0]==="'"||D[0]==='"')&&D[D.length-1]===D[0]?D.substring(1,D.length-1):D}import{readFileSync as uu}from"fs";import{createRequire as N1}from"node:module";var SF,vF,fF,T1=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,w1=(vF=(SF=process===null||process===void 0?void 0:process.versions)===null||SF===void 0?void 0:SF.node)!==null&&vF!==void 0?vF:(fF=process===null||process===void 0?void 0:process.version)===null||fF===void 0?void 0:fF.slice(1);if(w1){if(Number(w1.match(/^([^.]+)/)[1])<T1)throw Error(`yargs parser supports a minimum Node.js version of ${T1}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var Cu=process?process.env:{},b1=N1?N1(import.meta.url):void 0,x1=new PF({cwd:process.cwd,env:()=>{return Cu},format:e6,normalize:Du,resolve:Fu,require:(D)=>{if(typeof b1<"u")return b1(D);else if(D.match(/\.json$/))return JSON.parse(uu(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),_0=function(F,u){return x1.parse(F.slice(),u).argv};_0.detailed=function(D,F){return x1.parse(D.slice(),F)};_0.camelCase=cD;_0.decamelize=S0;_0.looksLikeNumber=v0;var kF=_0;import{basename as Au,dirname as Gu,extname as Hu,relative as qu,resolve as p1,join as _u}from"path";function P1(){if(Eu())return 0;return 1}function Eu(){return Bu()&&!process.defaultApp}function Bu(){return!!process.versions.electron}function yF(D){return D.slice(P1()+1)}function S1(){return process.argv[P1()]}import{readFileSync as $u,statSync as Zu,writeFile as Xu}from"fs";import{format as Qu}from"util";import{resolve as zu}from"path";var v1={fs:{readFileSync:$u,writeFile:Xu},format:Qu,resolve:zu,exists:(D)=>{try{return Zu(D).isFile()}catch(F){return!1}}};var UD;class f1{constructor(D){D=D||{},this.directory=D.directory||"./locales",this.updateFiles=typeof D.updateFiles==="boolean"?D.updateFiles:!0,this.locale=D.locale||"en",this.fallbackToLanguage=typeof D.fallbackToLanguage==="boolean"?D.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...D){if(typeof arguments[0]!=="string")return this._taggedLiteral(arguments[0],...arguments);let F=D.shift(),u=function(){};if(typeof D[D.length-1]==="function")u=D.pop();if(u=u||function(){},!this.cache[this.locale])this._readLocaleFile();if(!this.cache[this.locale][F]&&this.updateFiles)this.cache[this.locale][F]=F,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:u});else u();return UD.format.apply(UD.format,[this.cache[this.locale][F]||F].concat(D))}__n(){let D=Array.prototype.slice.call(arguments),F=D.shift(),u=D.shift(),C=D.shift(),E=function(){};if(typeof D[D.length-1]==="function")E=D.pop();if(!this.cache[this.locale])this._readLocaleFile();let B=C===1?F:u;if(this.cache[this.locale][F])B=this.cache[this.locale][F][C===1?"one":"other"];if(!this.cache[this.locale][F]&&this.updateFiles)this.cache[this.locale][F]={one:F,other:u},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:E});else E();let $=[B];if(~B.indexOf("%d"))$.push(C);return UD.format.apply(UD.format,$.concat(D))}setLocale(D){this.locale=D}getLocale(){return this.locale}updateLocale(D){if(!this.cache[this.locale])this._readLocaleFile();for(let F in D)if(Object.prototype.hasOwnProperty.call(D,F))this.cache[this.locale][F]=D[F]}_taggedLiteral(D,...F){let u="";return D.forEach(function(C,E){let B=F[E+1];if(u+=C,typeof B<"u")u+="%s"}),this.__.apply(this,[u].concat([].slice.call(F,1)))}_enqueueWrite(D){if(this.writeQueue.push(D),this.writeQueue.length===1)this._processWriteQueue()}_processWriteQueue(){let D=this,F=this.writeQueue[0],u=F.directory,C=F.locale,E=F.cb,B=this._resolveLocaleFile(u,C),$=JSON.stringify(this.cache[C],null,2);UD.fs.writeFile(B,$,"utf-8",function(Z){if(D.writeQueue.shift(),D.writeQueue.length>0)D._processWriteQueue();E(Z)})}_readLocaleFile(){let D={},F=this._resolveLocaleFile(this.directory,this.locale);try{if(UD.fs.readFileSync)D=JSON.parse(UD.fs.readFileSync(F,"utf-8"))}catch(u){if(u instanceof SyntaxError)u.message="syntax error in "+F;if(u.code==="ENOENT")D={};else throw u}this.cache[this.locale]=D}_resolveLocaleFile(D,F){let u=UD.resolve(D,"./",F+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(u)&&~F.lastIndexOf("_")){let C=UD.resolve(D,"./",F.split("_")[0]+".json");if(this._fileExistsSync(C))u=C}return u}_fileExistsSync(D){return UD.exists(D)}}function k1(D,F){UD=F;let u=new f1(D);return{__:u.__.bind(u),__n:u.__n.bind(u),setLocale:u.setLocale.bind(u),getLocale:u.getLocale.bind(u),updateLocale:u.updateLocale.bind(u),locale:u.locale}}var Yu=(D)=>{return k1(D,v1)},y1=Yu;var m1=b0(d1(),1);import{createRequire as Mu}from"node:module";import{readFileSync as Vu,readdirSync as Ku}from"node:fs";var hF=g1(import.meta.url),Ru=hF.substring(0,hF.lastIndexOf("node_modules")),Uu=Mu(import.meta.url),dF={assert:{notStrictEqual:Ou,strictEqual:Ju},cliui:wF,findUp:bF,getEnv:(D)=>{return process.env[D]},inspect:Wu,getProcessArgvBin:S1,mainFilename:Ru||process.cwd(),Parser:kF,path:{basename:Au,dirname:Gu,extname:Hu,relative:qu,resolve:p1,join:_u},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(D,F)=>process.emitWarning(D,F),execPath:()=>process.execPath,exit:(D)=>{process.exit(D)},nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:Vu,readdirSync:Ku,require:Uu,getCallerFile:()=>{let D=m1.default(3);return D.match(/^file:\/\//)?g1(D):D},stringWidth:RD,y18n:y1({directory:p1(hF,"../../../locales"),updateFiles:!1})};function OD(D,F,u,C){u.assert.notStrictEqual(D,F,C)}function pF(D,F){F.assert.strictEqual(typeof D,"string")}function z0(D){return Object.keys(D)}function s(D){return!!D&&!!D.then&&typeof D.then==="function"}class DD extends Error{constructor(D){super(D||"yargs error");if(this.name="YError",Error.captureStackTrace)Error.captureStackTrace(this,DD)}}function SD(D){let u=D.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),C=/\.*[\][<>]/g,E=u.shift();if(!E)throw Error(`No command found in: ${D}`);let B={cmd:E.replace(C,""),demanded:[],optional:[]};return u.forEach(($,Z)=>{let Q=!1;if($=$.replace(/\s/g,""),/\.+[\]>]/.test($)&&Z===u.length-1)Q=!0;if(/^\[/.test($))B.optional.push({cmd:$.replace(C,"").split("|"),variadic:Q});else B.demanded.push({cmd:$.replace(C,"").split("|"),variadic:Q})}),B}var ju=["first","second","third","fourth","fifth","sixth"];function L(D,F,u){function C(){return typeof D==="object"?[{demanded:[],optional:[]},D,F]:[SD(`cmd ${D}`),F,u]}try{let E=0,[B,$,Z]=C(),Q=[].slice.call($);while(Q.length&&Q[Q.length-1]===void 0)Q.pop();let z=Z||Q.length;if(z<B.demanded.length)throw new DD(`Not enough arguments provided. Expected ${B.demanded.length} but received ${Q.length}.`);let O=B.demanded.length+B.optional.length;if(z>O)throw new DD(`Too many arguments provided. Expected max ${O} but received ${z}.`);B.demanded.forEach((A)=>{let J=Q.shift(),W=c1(J);if(A.cmd.filter((q)=>q===W||q==="*").length===0)l1(W,A.cmd,E);E+=1}),B.optional.forEach((A)=>{if(Q.length===0)return;let J=Q.shift(),W=c1(J);if(A.cmd.filter((q)=>q===W||q==="*").length===0)l1(W,A.cmd,E);E+=1})}catch(E){console.warn(E.stack)}}function c1(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function l1(D,F,u){throw new DD(`Invalid ${ju[u]||"manyith"} argument. Expected ${F.join(" or ")} but received ${D}.`)}class gF{constructor(D){this.globalMiddleware=[],this.frozens=[],this.yargs=D}addMiddleware(D,F,u=!0,C=!1){if(L("<array|function> [boolean] [boolean] [boolean]",[D,F,u],arguments.length),Array.isArray(D)){for(let E=0;E<D.length;E++){if(typeof D[E]!=="function")throw Error("middleware must be a function");let B=D[E];B.applyBeforeValidation=F,B.global=u}Array.prototype.push.apply(this.globalMiddleware,D)}else if(typeof D==="function"){let E=D;E.applyBeforeValidation=F,E.global=u,E.mutates=C,this.globalMiddleware.push(D)}return this.yargs}addCoerceMiddleware(D,F){let u=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((C)=>{let E=[...u[F]||[],F];if(!C.option)return!0;else return!E.includes(C.option)}),D.option=F,this.addMiddleware(D,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){let D=this.frozens.pop();if(D!==void 0)this.globalMiddleware=D}reset(){this.globalMiddleware=this.globalMiddleware.filter((D)=>D.global)}}function o1(D){if(!D)return[];return D.map((F)=>{return F.applyBeforeValidation=!1,F})}function lD(D,F,u,C){return u.reduce((E,B)=>{if(B.applyBeforeValidation!==C)return E;if(B.mutates){if(B.applied)return E;B.applied=!0}if(s(E))return E.then(($)=>Promise.all([$,B($,F)])).then(([$,Z])=>Object.assign($,Z));else{let $=B(E,F);return s($)?$.then((Z)=>Object.assign(E,Z)):Object.assign(E,$)}},D)}function oD(D,F,u=(C)=>{throw C}){try{let C=Iu(D)?D():D;return s(C)?C.then((E)=>F(E)):F(C)}catch(C){return u(C)}}function Iu(D){return typeof D==="function"}var Y0=/(^\*)|(^\$0)/;class i1{constructor(D,F,u,C){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=C,this.usage=D,this.globalMiddleware=u,this.validation=F}addDirectory(D,F,u,C){C=C||{},this.requireCache.add(u);let E=this.shim.path.resolve(this.shim.path.dirname(u),D),B=this.shim.readdirSync(E,{recursive:C.recurse?!0:!1});if(!Array.isArray(C.extensions))C.extensions=["js"];let $=typeof C.visit==="function"?C.visit:(Z)=>Z;for(let Z of B){let Q=Z.toString();if(C.exclude){let O=!1;if(typeof C.exclude==="function")O=C.exclude(Q);else O=C.exclude.test(Q);if(O)continue}if(C.include){let O=!1;if(typeof C.include==="function")O=C.include(Q);else O=C.include.test(Q);if(!O)continue}let z=!1;for(let O of C.extensions)if(Q.endsWith(O))z=!0;if(z){let O=this.shim.path.join(E,Q),A=F(O),J=Object.create(null,Object.getOwnPropertyDescriptors({...A}));if($(J,O,Q)){if(this.requireCache.has(O))continue;else this.requireCache.add(O);if(!J.command)J.command=this.shim.path.basename(O,this.shim.path.extname(O));this.addHandler(J)}}}}addHandler(D,F,u,C,E,B){let $=[],Z=o1(E);if(C=C||(()=>{}),Array.isArray(D))if(Lu(D))[D,...$]=D;else for(let Q of D)this.addHandler(Q);else if(Tu(D)){let Q=Array.isArray(D.command)||typeof D.command==="string"?D.command:null;if(Q===null)throw Error(`No command name given for module: ${this.shim.inspect(D)}`);if(D.aliases)Q=[].concat(Q).concat(D.aliases);this.addHandler(Q,this.extractDesc(D),D.builder,D.handler,D.middlewares,D.deprecated);return}else if(n1(u)){this.addHandler([D].concat($),F,u.builder,u.handler,u.middlewares,u.deprecated);return}if(typeof D==="string"){let Q=SD(D);$=$.map((A)=>SD(A).cmd);let z=!1,O=[Q.cmd].concat($).filter((A)=>{if(Y0.test(A))return z=!0,!1;return!0});if(O.length===0&&z)O.push("$0");if(z)Q.cmd=O[0],$=O.slice(1),D=D.replace(Y0,Q.cmd);if($.forEach((A)=>{this.aliasMap[A]=Q.cmd}),F!==!1)this.usage.command(D,F,z,$,B);if(this.handlers[Q.cmd]={original:D,description:F,handler:C,builder:u||{},middlewares:Z,deprecated:B,demanded:Q.demanded,optional:Q.optional},z)this.defaultCommand=this.handlers[Q.cmd]}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(D,F,u,C,E,B){let $=this.handlers[D]||this.handlers[this.aliasMap[D]]||this.defaultCommand,Z=F.getInternalMethods().getContext(),Q=Z.commands.slice(),z=!D;if(D)Z.commands.push(D),Z.fullCommands.push($.original);let O=this.applyBuilderUpdateUsageAndParse(z,$,F,u.aliases,Q,C,E,B);return s(O)?O.then((A)=>this.applyMiddlewareAndGetResult(z,$,A.innerArgv,Z,E,A.aliases,F)):this.applyMiddlewareAndGetResult(z,$,O.innerArgv,Z,E,O.aliases,F)}applyBuilderUpdateUsageAndParse(D,F,u,C,E,B,$,Z){let Q=F.builder,z=u;if(f0(Q)){u.getInternalMethods().getUsageInstance().freeze();let O=Q(u.getInternalMethods().reset(C),Z);if(s(O))return O.then((A)=>{return z=s1(A)?A:u,this.parseAndUpdateUsage(D,F,z,E,B,$)})}else if(Nu(Q))u.getInternalMethods().getUsageInstance().freeze(),z=u.getInternalMethods().reset(C),Object.keys(F.builder).forEach((O)=>{z.option(O,Q[O])});return this.parseAndUpdateUsage(D,F,z,E,B,$)}parseAndUpdateUsage(D,F,u,C,E,B){if(D)u.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(u))u.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(C,F),F.description);let $=u.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,E,B);return s($)?$.then((Z)=>({aliases:u.parsed.aliases,innerArgv:Z})):{aliases:u.parsed.aliases,innerArgv:$}}shouldUpdateUsage(D){return!D.getInternalMethods().getUsageInstance().getUsageDisabled()&&D.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(D,F){let u=Y0.test(F.original)?F.original.replace(Y0,"").trim():F.original,C=D.filter((E)=>{return!Y0.test(E)});return C.push(u),`$0 ${C.join(" ")}`}handleValidationAndGetResult(D,F,u,C,E,B,$,Z){if(!B.getInternalMethods().getHasOutput()){let Q=B.getInternalMethods().runValidation(E,Z,B.parsed.error,D);u=oD(u,(z)=>{return Q(z),z})}if(F.handler&&!B.getInternalMethods().getHasOutput()){B.getInternalMethods().setHasOutput();let Q=!!B.getOptions().configuration["populate--"];if(B.getInternalMethods().postProcess(u,Q,!1,!1),u=lD(u,B,$,!1),u=oD(u,(z)=>{let O=F.handler(z);return s(O)?O.then(()=>z):z}),!D)B.getInternalMethods().getUsageInstance().cacheHelpMessage();if(s(u)&&!B.getInternalMethods().hasParseCallback())u.catch((z)=>{try{B.getInternalMethods().getUsageInstance().fail(null,z)}catch(O){}})}if(!D)C.commands.pop(),C.fullCommands.pop();return u}applyMiddlewareAndGetResult(D,F,u,C,E,B,$){let Z={};if(E)return u;if(!$.getInternalMethods().getHasOutput())Z=this.populatePositionals(F,u,C,$);let Q=this.globalMiddleware.getMiddleware().slice(0).concat(F.middlewares),z=lD(u,$,Q,!0);return s(z)?z.then((O)=>this.handleValidationAndGetResult(D,F,O,C,B,$,Q,Z)):this.handleValidationAndGetResult(D,F,z,C,B,$,Q,Z)}populatePositionals(D,F,u,C){F._=F._.slice(u.commands.length);let E=D.demanded.slice(0),B=D.optional.slice(0),$={};this.validation.positionalCount(E.length,F._.length);while(E.length){let Z=E.shift();this.populatePositional(Z,F,$)}while(B.length){let Z=B.shift();this.populatePositional(Z,F,$)}return F._=u.commands.concat(F._.map((Z)=>""+Z)),this.postProcessPositionals(F,$,this.cmdToParseOptions(D.original),C),$}populatePositional(D,F,u){let C=D.cmd[0];if(D.variadic)u[C]=F._.splice(0).map(String);else if(F._.length)u[C]=[String(F._.shift())]}cmdToParseOptions(D){let F={array:[],default:{},alias:{},demand:{}},u=SD(D);return u.demanded.forEach((C)=>{let[E,...B]=C.cmd;if(C.variadic)F.array.push(E),F.default[E]=[];F.alias[E]=B,F.demand[E]=!0}),u.optional.forEach((C)=>{let[E,...B]=C.cmd;if(C.variadic)F.array.push(E),F.default[E]=[];F.alias[E]=B}),F}postProcessPositionals(D,F,u,C){let E=Object.assign({},C.getOptions());E.default=Object.assign(u.default,E.default);for(let Q of Object.keys(u.alias))E.alias[Q]=(E.alias[Q]||[]).concat(u.alias[Q]);E.array=E.array.concat(u.array),E.config={};let B=[];if(Object.keys(F).forEach((Q)=>{F[Q].map((z)=>{if(E.configuration["unknown-options-as-args"])E.key[Q]=!0;B.push(`--${Q}`),B.push(z)})}),!B.length)return;let $=Object.assign({},E.configuration,{"populate--":!1}),Z=this.shim.Parser.detailed(B,Object.assign({},E,{configuration:$}));if(Z.error)C.getInternalMethods().getUsageInstance().fail(Z.error.message,Z.error);else{let Q=Object.keys(F);Object.keys(F).forEach((z)=>{Q.push(...Z.aliases[z])}),Object.keys(Z.argv).forEach((z)=>{if(Q.includes(z)){if(!F[z])F[z]=Z.argv[z];if(!this.isInConfigs(C,z)&&!this.isDefaulted(C,z)&&Object.prototype.hasOwnProperty.call(D,z)&&Object.prototype.hasOwnProperty.call(Z.argv,z)&&(Array.isArray(D[z])||Array.isArray(Z.argv[z])))D[z]=[].concat(D[z],Z.argv[z]);else D[z]=Z.argv[z]}})}}isDefaulted(D,F){let{default:u}=D.getOptions();return Object.prototype.hasOwnProperty.call(u,F)||Object.prototype.hasOwnProperty.call(u,this.shim.Parser.camelCase(F))}isInConfigs(D,F){let{configObjects:u}=D.getOptions();return u.some((C)=>Object.prototype.hasOwnProperty.call(C,F))||u.some((C)=>Object.prototype.hasOwnProperty.call(C,this.shim.Parser.camelCase(F)))}runDefaultBuilderOn(D){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(D)){let u=Y0.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");D.getInternalMethods().getUsageInstance().usage(u,this.defaultCommand.description)}let F=this.defaultCommand.builder;if(f0(F))return F(D,!0);else if(!n1(F))Object.keys(F).forEach((u)=>{D.option(u,F[u])});return}extractDesc({describe:D,description:F,desc:u}){for(let C of[D,F,u]){if(typeof C==="string"||C===!1)return C;OD(C,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){let D=this.frozens.pop();OD(D,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=D}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function t1(D,F,u,C){return new i1(D,F,u,C)}function n1(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function Lu(D){return D.every((F)=>typeof F==="string")}function f0(D){return typeof D==="function"}function Nu(D){return typeof D==="object"}function Tu(D){return typeof D==="object"&&!Array.isArray(D)}function vD(D={},F=()=>!0){let u={};return z0(D).forEach((C)=>{if(F(C,D[C]))u[C]=D[C]}),u}function fD(D){if(typeof process>"u")return;[process.stdout,process.stderr].forEach((F)=>{let u=F;if(u._handle&&u.isTTY&&typeof u._handle.setBlocking==="function")u._handle.setBlocking(D)})}function wu(D){return typeof D==="boolean"}function a1(D,F){let u=F.y18n.__,C={},E=[];C.failFn=function(K){E.push(K)};let B=null,$=null,Z=!0;C.showHelpOnFail=function(K=!0,w){let[y,n]=typeof K==="string"?[!0,K]:[K,w];if(D.getInternalMethods().isGlobalContext())$=n;return B=n,Z=y,C};let Q=!1;C.fail=function(K,w){let y=D.getInternalMethods().getLoggerInstance();if(E.length)for(let n=E.length-1;n>=0;--n){let uD=E[n];if(wu(uD)){if(w)throw w;else if(K)throw Error(K)}else uD(K,w,C)}else{if(D.getExitProcess())fD(!0);if(!Q){if(Q=!0,Z)D.showHelp("error"),y.error();if(K||w)y.error(K||w);let n=B||$;if(n){if(K||w)y.error("");y.error(n)}}if(w=w||new DD(K),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,w);else throw w}};let z=[],O=!1;C.usage=(I,K)=>{if(I===null)return O=!0,z=[],C;return O=!1,z.push([I,K||""]),C},C.getUsage=()=>{return z},C.getUsageDisabled=()=>{return O},C.getPositionalGroupName=()=>{return u("Positionals:")};let A=[];C.example=(I,K)=>{A.push([I,K||""])};let J=[];C.command=function(K,w,y,n,uD=!1){if(y)J=J.map((o)=>{return o[2]=!1,o});J.push([K,w||"",y,n,uD])},C.getCommands=()=>J;let W={};C.describe=function(K,w){if(Array.isArray(K))K.forEach((y)=>{C.describe(y,w)});else if(typeof K==="object")Object.keys(K).forEach((y)=>{C.describe(y,K[y])});else W[K]=w},C.getDescriptions=()=>W;let _=[];C.epilog=(I)=>{_.push(I)};let q=!1,P;C.wrap=(I)=>{q=!0,P=I},C.getWrap=()=>{if(F.getEnv("YARGS_DISABLE_WRAP"))return null;if(!q)P=l(),q=!0;return P};let c="__yargsString__:";C.deferY18nLookup=(I)=>c+I,C.help=function(){if(d)return d;QD();let K=D.customScriptName?D.$0:F.path.basename(D.$0),w=D.getDemandedOptions(),y=D.getDemandedCommands(),n=D.getDeprecatedOptions(),uD=D.getGroups(),o=D.getOptions(),CD=[];CD=CD.concat(Object.keys(W)),CD=CD.concat(Object.keys(w)),CD=CD.concat(Object.keys(y)),CD=CD.concat(Object.keys(o.default)),CD=CD.filter(j),CD=Object.keys(CD.reduce((f,i)=>{if(i!=="_")f[i]=!0;return f},{}));let PD=C.getWrap(),t=F.cliui({width:PD,wrap:!!PD});if(!O){if(z.length)z.forEach((f)=>{if(t.div({text:`${f[0].replace(/\$0/g,K)}`}),f[1])t.div({text:`${f[1]}`,padding:[1,0,0,0]})}),t.div();else if(J.length){let f=null;if(y._)f=`${K} <${u("command")}>
25
+ `)}function wF(D){return X1(D,{stringWidth:RD,stripAnsi:mD,wrap:TF})}import{dirname as U1,resolve as j1}from"path";import{readdirSync as t6,statSync as s6}from"fs";function bF(D,F){let u=j1(".",D),C;if(!s6(u).isDirectory())u=U1(u);while(!0){if(C=F(u,t6(u)),C)return j1(u,C);if(u=U1(C=u),C===u)break}}import{inspect as Wu}from"util";import{fileURLToPath as g1}from"url";import{format as e6}from"util";import{normalize as Du,resolve as Fu}from"path";function cD(D){if(!(D!==D.toLowerCase()&&D!==D.toUpperCase()))D=D.toLowerCase();if(D.indexOf("-")===-1&&D.indexOf("_")===-1)return D;else{let u="",C=!1,E=D.match(/^-+/);for(let B=E?E[0].length:0;B<D.length;B++){let $=D.charAt(B);if(C)C=!1,$=$.toUpperCase();if(B!==0&&($==="-"||$==="_"))C=!0;else if($!=="-"&&$!=="_")u+=$}return u}}function S0(D,F){let u=D.toLowerCase();F=F||"-";let C="";for(let E=0;E<D.length;E++){let B=u.charAt(E),$=D.charAt(E);if(B!==$&&E>0)C+=`${F}${u.charAt(E)}`;else C+=$}return C}function v0(D){if(D===null||D===void 0)return!1;if(typeof D==="number")return!0;if(/^0x[0-9a-f]+$/i.test(D))return!0;if(/^0[^.]/.test(D))return!1;return/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(D)}function I1(D){if(Array.isArray(D))return D.map(($)=>typeof $!=="string"?$+"":$);D=D.trim();let F=0,u=null,C=null,E=null,B=[];for(let $=0;$<D.length;$++){if(u=C,C=D.charAt($),C===" "&&!E){if(u!==" ")F++;continue}if(C===E)E=null;else if((C==="'"||C==='"')&&!E)E=C;if(!B[F])B[F]="";B[F]+=C}return B}var qD;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(qD||(qD={}));var bD;class PF{constructor(D){bD=D}parse(D,F){let u=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},F),C=I1(D),E=typeof D==="string",B=r6(Object.assign(Object.create(null),u.alias)),$=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},u.configuration),Z=Object.assign(Object.create(null),u.default),Q=u.configObjects||[],z=u.envPrefix,O=$["populate--"],W=O?"--":"_",J=Object.create(null),A=Object.create(null),_=u.__||bD.format,q={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},P=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,c=new RegExp("^--"+$["negation-prefix"]+"(.+)");if([].concat(u.array||[]).filter(Boolean).forEach(function(Y){let H=typeof Y==="object"?Y.key:Y,V=Object.keys(Y).map(function(M){return{boolean:"bools",string:"strings",number:"numbers"}[M]}).filter(Boolean).pop();if(V)q[V][H]=!0;q.arrays[H]=!0,q.keys.push(H)}),[].concat(u.boolean||[]).filter(Boolean).forEach(function(Y){q.bools[Y]=!0,q.keys.push(Y)}),[].concat(u.string||[]).filter(Boolean).forEach(function(Y){q.strings[Y]=!0,q.keys.push(Y)}),[].concat(u.number||[]).filter(Boolean).forEach(function(Y){q.numbers[Y]=!0,q.keys.push(Y)}),[].concat(u.count||[]).filter(Boolean).forEach(function(Y){q.counts[Y]=!0,q.keys.push(Y)}),[].concat(u.normalize||[]).filter(Boolean).forEach(function(Y){q.normalize[Y]=!0,q.keys.push(Y)}),typeof u.narg==="object")Object.entries(u.narg).forEach(([Y,H])=>{if(typeof H==="number")q.nargs[Y]=H,q.keys.push(Y)});if(typeof u.coerce==="object")Object.entries(u.coerce).forEach(([Y,H])=>{if(typeof H==="function")q.coercions[Y]=H,q.keys.push(Y)});if(typeof u.config<"u"){if(Array.isArray(u.config)||typeof u.config==="string")[].concat(u.config).filter(Boolean).forEach(function(Y){q.configs[Y]=!0});else if(typeof u.config==="object")Object.entries(u.config).forEach(([Y,H])=>{if(typeof H==="boolean"||typeof H==="function")q.configs[Y]=H})}H0(u.key,B,u.default,q.arrays),Object.keys(Z).forEach(function(Y){(q.aliases[Y]||[]).forEach(function(H){Z[H]=Z[Y]})});let p=null;VF();let QD=[],d=Object.assign(Object.create(null),{_:[]}),U={};for(let Y=0;Y<C.length;Y++){let H=C[Y],V=H.replace(/^-{3,}/,"---"),M,G,T,R,x,ZD;if(H!=="--"&&/^-/.test(H)&&i(H))j(H);else if(V.match(/^---+(=|$)/)){j(H);continue}else if(H.match(/^--.+=/)||!$["short-option-groups"]&&H.match(/^-.+=/)){if(R=H.match(/^--?([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)if(v(R[1],q.arrays))Y=l(Y,R[1],C,R[2]);else if(v(R[1],q.nargs)!==!1)Y=S(Y,R[1],C,R[2]);else g(R[1],R[2],!0)}else if(H.match(c)&&$["boolean-negation"]){if(R=H.match(c),R!==null&&Array.isArray(R)&&R.length>=2)G=R[1],g(G,v(G,q.arrays)?[!1]:!1)}else if(H.match(/^--.+/)||!$["short-option-groups"]&&H.match(/^-[^-]+/)){if(R=H.match(/^--?(.+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],v(G,q.arrays))Y=l(Y,G,C);else if(v(G,q.nargs)!==!1)Y=S(Y,G,C);else if(x=C[Y+1],x!==void 0&&(!x.match(/^-/)||x.match(P))&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),Y++;else if(/^(true|false)$/.test(x))g(G,x),Y++;else g(G,m(G))}else if(H.match(/^-.\..+=/)){if(R=H.match(/^-([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)g(R[1],R[2])}else if(H.match(/^-.\..+/)&&!H.match(P)){if(x=C[Y+1],R=H.match(/^-(.\..+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],x!==void 0&&!x.match(/^-/)&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),Y++;else g(G,m(G))}else if(H.match(/^-[^-]+/)&&!H.match(P)){T=H.slice(1,-1).split(""),M=!1;for(let YD=0;YD<T.length;YD++){if(x=H.slice(YD+2),T[YD+1]&&T[YD+1]==="="){if(ZD=H.slice(YD+3),G=T[YD],v(G,q.arrays))Y=l(Y,G,C,ZD);else if(v(G,q.nargs)!==!1)Y=S(Y,G,C,ZD);else g(G,ZD);M=!0;break}if(x==="-"){g(T[YD],x);continue}if(/[A-Za-z]/.test(T[YD])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(x)&&v(x,q.bools)===!1){g(T[YD],x),M=!0;break}if(T[YD+1]&&T[YD+1].match(/\W/)){g(T[YD],x),M=!0;break}else g(T[YD],m(T[YD]))}if(G=H.slice(-1)[0],!M&&G!=="-")if(v(G,q.arrays))Y=l(Y,G,C);else if(v(G,q.nargs)!==!1)Y=S(Y,G,C);else if(x=C[Y+1],x!==void 0&&(!/^(-|--)[^-]/.test(x)||x.match(P))&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),Y++;else if(/^(true|false)$/.test(x))g(G,x),Y++;else g(G,m(G))}else if(H.match(/^-[0-9]$/)&&H.match(P)&&v(H.slice(1),q.bools))G=H.slice(1),g(G,m(G));else if(H==="--"){QD=C.slice(Y+1);break}else if($["halt-at-non-option"]){QD=C.slice(Y);break}else j(H)}if(uD(d,!0),uD(d,!1),w(d),n(),PD(d,q.aliases,Z,!0),o(d),$["set-placeholder-key"])CD(d);if(Object.keys(q.counts).forEach(function(Y){if(!t(d,Y.split(".")))g(Y,0)}),O&&QD.length)d[W]=[];if(QD.forEach(function(Y){d[W].push(Y)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(d).filter((Y)=>Y!=="--"&&Y.includes("-")).forEach((Y)=>{delete d[Y]});if($["strip-aliased"])[].concat(...Object.keys(B).map((Y)=>B[Y])).forEach((Y)=>{if($["camel-case-expansion"]&&Y.includes("-"))delete d[Y.split(".").map((H)=>cD(H)).join(".")];delete d[Y]});function j(Y){let H=K("_",Y);if(typeof H==="string"||typeof H==="number")d._.push(H)}function S(Y,H,V,M){let G,T=v(H,q.nargs);if(T=typeof T!=="number"||isNaN(T)?1:T,T===0){if(!BD(M))p=Error(_("Argument unexpected for: %s",H));return g(H,m(H)),Y}let R=BD(M)?0:1;if($["nargs-eats-options"]){if(V.length-(Y+1)+R<T)p=Error(_("Not enough arguments following: %s",H));R=T}else{for(G=Y+1;G<V.length;G++)if(!V[G].match(/^-[^0-9]/)||V[G].match(P)||i(V[G]))R++;else break;if(R<T)p=Error(_("Not enough arguments following: %s",H))}let x=Math.min(R,T);if(!BD(M)&&x>0)g(H,M),x--;for(G=Y+1;G<x+Y+1;G++)g(H,V[G]);return Y+x}function l(Y,H,V,M){let G=[],T=M||V[Y+1],R=v(H,q.nargs);if(v(H,q.bools)&&!/^(true|false)$/.test(T))G.push(!0);else if(BD(T)||BD(M)&&/^-/.test(T)&&!P.test(T)&&!i(T)){if(Z[H]!==void 0){let x=Z[H];G=Array.isArray(x)?x:[x]}}else{if(!BD(M))G.push(I(H,M,!0));for(let x=Y+1;x<V.length;x++){if(!$["greedy-arrays"]&&G.length>0||R&&typeof R==="number"&&G.length>=R)break;if(T=V[x],/^-/.test(T)&&!P.test(T)&&!i(T))break;Y=x,G.push(I(H,T,E))}}if(typeof R==="number"&&(R&&G.length<R||isNaN(R)&&G.length===0))p=Error(_("Not enough arguments following: %s",H));return g(H,G),Y}function g(Y,H,V=E){if(/-/.test(Y)&&$["camel-case-expansion"]){let T=Y.split(".").map(function(R){return cD(R)}).join(".");LD(Y,T)}let M=I(Y,H,V),G=Y.split(".");if(wD(d,G,M),q.aliases[Y])q.aliases[Y].forEach(function(T){let R=T.split(".");wD(d,R,M)});if(G.length>1&&$["dot-notation"])(q.aliases[G[0]]||[]).forEach(function(T){let R=T.split("."),x=[].concat(G);if(x.shift(),R=R.concat(x),!(q.aliases[Y]||[]).includes(R.join(".")))wD(d,R,M)});if(v(Y,q.normalize)&&!v(Y,q.arrays))[Y].concat(q.aliases[Y]||[]).forEach(function(R){Object.defineProperty(U,R,{enumerable:!0,get(){return H},set(x){H=typeof x==="string"?bD.normalize(x):x}})})}function LD(Y,H){if(!(q.aliases[Y]&&q.aliases[Y].length))q.aliases[Y]=[H],J[H]=!0;if(!(q.aliases[H]&&q.aliases[H].length))LD(H,Y)}function I(Y,H,V){if(V)H=a6(H);if(v(Y,q.bools)||v(Y,q.counts)){if(typeof H==="string")H=H==="true"}let M=Array.isArray(H)?H.map(function(G){return K(Y,G)}):K(Y,H);if(v(Y,q.counts)&&(BD(M)||typeof M==="boolean"))M=xF();if(v(Y,q.normalize)&&v(Y,q.arrays))if(Array.isArray(H))M=H.map((G)=>{return bD.normalize(G)});else M=bD.normalize(H);return M}function K(Y,H){if(!$["parse-positional-numbers"]&&Y==="_")return H;if(!v(Y,q.strings)&&!v(Y,q.bools)&&!Array.isArray(H)){if(v0(H)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${H}`)))||!BD(H)&&v(Y,q.numbers))H=Number(H)}return H}function w(Y){let H=Object.create(null);PD(H,q.aliases,Z),Object.keys(q.configs).forEach(function(V){let M=Y[V]||H[V];if(M)try{let G=null,T=bD.resolve(bD.cwd(),M),R=q.configs[V];if(typeof R==="function"){try{G=R(T)}catch(x){G=x}if(G instanceof Error){p=G;return}}else G=bD.require(T);y(G)}catch(G){if(G.name==="PermissionDenied")p=G;else if(Y[V])p=Error(_("Invalid JSON config file: %s",M))}})}function y(Y,H){Object.keys(Y).forEach(function(V){let M=Y[V],G=H?H+"."+V:V;if(typeof M==="object"&&M!==null&&!Array.isArray(M)&&$["dot-notation"])y(M,G);else if(!t(d,G.split("."))||v(G,q.arrays)&&$["combine-arrays"])g(G,M)})}function n(){if(typeof Q<"u")Q.forEach(function(Y){y(Y)})}function uD(Y,H){if(typeof z>"u")return;let V=typeof z==="string"?z:"",M=bD.env();Object.keys(M).forEach(function(G){if(V===""||G.lastIndexOf(V,0)===0){let T=G.split("__").map(function(R,x){if(x===0)R=R.substring(V.length);return cD(R)});if((H&&q.configs[T.join(".")]||!H)&&!t(Y,T))g(T.join("."),M[G])}})}function o(Y){let H,V=new Set;Object.keys(Y).forEach(function(M){if(!V.has(M)){if(H=v(M,q.coercions),typeof H==="function")try{let G=K(M,H(Y[M]));[].concat(q.aliases[M]||[],M).forEach((T)=>{V.add(T),Y[T]=G})}catch(G){p=G}}})}function CD(Y){return q.keys.forEach((H)=>{if(~H.indexOf("."))return;if(typeof Y[H]>"u")Y[H]=void 0}),Y}function PD(Y,H,V,M=!1){Object.keys(V).forEach(function(G){if(!t(Y,G.split("."))){if(wD(Y,G.split("."),V[G]),M)A[G]=!0;(H[G]||[]).forEach(function(T){if(t(Y,T.split(".")))return;wD(Y,T.split("."),V[G])})}})}function t(Y,H){let V=Y;if(!$["dot-notation"])H=[H.join(".")];H.slice(0,-1).forEach(function(G){V=V[G]||{}});let M=H[H.length-1];if(typeof V!=="object")return!1;else return M in V}function wD(Y,H,V){let M=Y;if(!$["dot-notation"])H=[H.join(".")];H.slice(0,-1).forEach(function(ZD){if(ZD=L1(ZD),typeof M==="object"&&M[ZD]===void 0)M[ZD]={};if(typeof M[ZD]!=="object"||Array.isArray(M[ZD])){if(Array.isArray(M[ZD]))M[ZD].push({});else M[ZD]=[M[ZD],{}];M=M[ZD][M[ZD].length-1]}else M=M[ZD]});let G=L1(H[H.length-1]),T=v(H.join("."),q.arrays),R=Array.isArray(V),x=$["duplicate-arguments-array"];if(!x&&v(G,q.nargs)){if(x=!0,!BD(M[G])&&q.nargs[G]===1||Array.isArray(M[G])&&M[G].length===q.nargs[G])M[G]=void 0}if(V===xF())M[G]=xF(M[G]);else if(Array.isArray(M[G]))if(x&&T&&R)M[G]=$["flatten-duplicate-arrays"]?M[G].concat(V):(Array.isArray(M[G][0])?M[G]:[M[G]]).concat([V]);else if(!x&&Boolean(T)===Boolean(R))M[G]=V;else M[G]=M[G].concat([V]);else if(M[G]===void 0&&T)M[G]=R?V:[V];else if(x&&!(M[G]===void 0||v(G,q.counts)||v(G,q.bools)))M[G]=[M[G],V];else M[G]=V}function H0(...Y){Y.forEach(function(H){Object.keys(H||{}).forEach(function(V){if(q.aliases[V])return;q.aliases[V]=[].concat(B[V]||[]),q.aliases[V].concat(V).forEach(function(M){if(/-/.test(M)&&$["camel-case-expansion"]){let G=cD(M);if(G!==V&&q.aliases[V].indexOf(G)===-1)q.aliases[V].push(G),J[G]=!0}}),q.aliases[V].concat(V).forEach(function(M){if(M.length>1&&/[A-Z]/.test(M)&&$["camel-case-expansion"]){let G=S0(M,"-");if(G!==V&&q.aliases[V].indexOf(G)===-1)q.aliases[V].push(G),J[G]=!0}}),q.aliases[V].forEach(function(M){q.aliases[M]=[V].concat(q.aliases[V].filter(function(G){return M!==G}))})})})}function v(Y,H){let V=[].concat(q.aliases[Y]||[],Y),M=Object.keys(H),G=V.find((T)=>M.includes(T));return G?H[G]:!1}function Q0(Y){let H=Object.keys(q);return[].concat(H.map((M)=>q[M])).some(function(M){return Array.isArray(M)?M.includes(Y):M[Y]})}function F1(Y,...H){return[].concat(...H).some(function(M){let G=Y.match(M);return G&&Q0(G[1])})}function f(Y){if(Y.match(P)||!Y.match(/^-[^-]+/))return!1;let H=!0,V,M=Y.slice(1).split("");for(let G=0;G<M.length;G++){if(V=Y.slice(G+2),!Q0(M[G])){H=!1;break}if(M[G+1]&&M[G+1]==="="||V==="-"||/[A-Za-z]/.test(M[G])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(V)||M[G+1]&&M[G+1].match(/\W/))break}return H}function i(Y){return $["unknown-options-as-args"]&&ED(Y)}function ED(Y){if(Y=Y.replace(/^-{3,}/,"--"),Y.match(P))return!1;if(f(Y))return!1;return!F1(Y,/^-+([^=]+?)=[\s\S]*$/,c,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function m(Y){if(!v(Y,q.bools)&&!v(Y,q.counts)&&`${Y}`in Z)return Z[Y];else return zD(e(Y))}function zD(Y){return{[qD.BOOLEAN]:!0,[qD.STRING]:"",[qD.NUMBER]:void 0,[qD.ARRAY]:[]}[Y]}function e(Y){let H=qD.BOOLEAN;if(v(Y,q.strings))H=qD.STRING;else if(v(Y,q.numbers))H=qD.NUMBER;else if(v(Y,q.bools))H=qD.BOOLEAN;else if(v(Y,q.arrays))H=qD.ARRAY;return H}function BD(Y){return Y===void 0}function VF(){Object.keys(q.counts).find((Y)=>{if(v(Y,q.arrays))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.array.",Y)),!0;else if(v(Y,q.nargs))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.narg.",Y)),!0;return!1})}return{aliases:Object.assign({},q.aliases),argv:Object.assign(U,d),configuration:$,defaulted:Object.assign({},A),error:p,newAliases:Object.assign({},J)}}}function r6(D){let F=[],u=Object.create(null),C=!0;Object.keys(D).forEach(function(E){F.push([].concat(D[E],E))});while(C){C=!1;for(let E=0;E<F.length;E++)for(let B=E+1;B<F.length;B++)if(F[E].filter(function(Z){return F[B].indexOf(Z)!==-1}).length){F[E]=F[E].concat(F[B]),F.splice(B,1),C=!0;break}}return F.forEach(function(E){E=E.filter(function($,Z,Q){return Q.indexOf($)===Z});let B=E.pop();if(B!==void 0&&typeof B==="string")u[B]=E}),u}function xF(D){return D!==void 0?D+1:1}function L1(D){if(D==="__proto__")return"___proto___";return D}function a6(D){return typeof D==="string"&&(D[0]==="'"||D[0]==='"')&&D[D.length-1]===D[0]?D.substring(1,D.length-1):D}import{readFileSync as uu}from"fs";import{createRequire as N1}from"node:module";var SF,vF,fF,T1=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,w1=(vF=(SF=process===null||process===void 0?void 0:process.versions)===null||SF===void 0?void 0:SF.node)!==null&&vF!==void 0?vF:(fF=process===null||process===void 0?void 0:process.version)===null||fF===void 0?void 0:fF.slice(1);if(w1){if(Number(w1.match(/^([^.]+)/)[1])<T1)throw Error(`yargs parser supports a minimum Node.js version of ${T1}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var Cu=process?process.env:{},b1=N1?N1(import.meta.url):void 0,x1=new PF({cwd:process.cwd,env:()=>{return Cu},format:e6,normalize:Du,resolve:Fu,require:(D)=>{if(typeof b1<"u")return b1(D);else if(D.match(/\.json$/))return JSON.parse(uu(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),_0=function(F,u){return x1.parse(F.slice(),u).argv};_0.detailed=function(D,F){return x1.parse(D.slice(),F)};_0.camelCase=cD;_0.decamelize=S0;_0.looksLikeNumber=v0;var kF=_0;import{basename as Au,dirname as Gu,extname as Hu,relative as qu,resolve as p1,join as _u}from"path";function P1(){if(Eu())return 0;return 1}function Eu(){return Bu()&&!process.defaultApp}function Bu(){return!!process.versions.electron}function yF(D){return D.slice(P1()+1)}function S1(){return process.argv[P1()]}import{readFileSync as $u,statSync as Zu,writeFile as Xu}from"fs";import{format as Qu}from"util";import{resolve as zu}from"path";var v1={fs:{readFileSync:$u,writeFile:Xu},format:Qu,resolve:zu,exists:(D)=>{try{return Zu(D).isFile()}catch(F){return!1}}};var UD;class f1{constructor(D){D=D||{},this.directory=D.directory||"./locales",this.updateFiles=typeof D.updateFiles==="boolean"?D.updateFiles:!0,this.locale=D.locale||"en",this.fallbackToLanguage=typeof D.fallbackToLanguage==="boolean"?D.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...D){if(typeof arguments[0]!=="string")return this._taggedLiteral(arguments[0],...arguments);let F=D.shift(),u=function(){};if(typeof D[D.length-1]==="function")u=D.pop();if(u=u||function(){},!this.cache[this.locale])this._readLocaleFile();if(!this.cache[this.locale][F]&&this.updateFiles)this.cache[this.locale][F]=F,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:u});else u();return UD.format.apply(UD.format,[this.cache[this.locale][F]||F].concat(D))}__n(){let D=Array.prototype.slice.call(arguments),F=D.shift(),u=D.shift(),C=D.shift(),E=function(){};if(typeof D[D.length-1]==="function")E=D.pop();if(!this.cache[this.locale])this._readLocaleFile();let B=C===1?F:u;if(this.cache[this.locale][F])B=this.cache[this.locale][F][C===1?"one":"other"];if(!this.cache[this.locale][F]&&this.updateFiles)this.cache[this.locale][F]={one:F,other:u},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:E});else E();let $=[B];if(~B.indexOf("%d"))$.push(C);return UD.format.apply(UD.format,$.concat(D))}setLocale(D){this.locale=D}getLocale(){return this.locale}updateLocale(D){if(!this.cache[this.locale])this._readLocaleFile();for(let F in D)if(Object.prototype.hasOwnProperty.call(D,F))this.cache[this.locale][F]=D[F]}_taggedLiteral(D,...F){let u="";return D.forEach(function(C,E){let B=F[E+1];if(u+=C,typeof B<"u")u+="%s"}),this.__.apply(this,[u].concat([].slice.call(F,1)))}_enqueueWrite(D){if(this.writeQueue.push(D),this.writeQueue.length===1)this._processWriteQueue()}_processWriteQueue(){let D=this,F=this.writeQueue[0],u=F.directory,C=F.locale,E=F.cb,B=this._resolveLocaleFile(u,C),$=JSON.stringify(this.cache[C],null,2);UD.fs.writeFile(B,$,"utf-8",function(Z){if(D.writeQueue.shift(),D.writeQueue.length>0)D._processWriteQueue();E(Z)})}_readLocaleFile(){let D={},F=this._resolveLocaleFile(this.directory,this.locale);try{if(UD.fs.readFileSync)D=JSON.parse(UD.fs.readFileSync(F,"utf-8"))}catch(u){if(u instanceof SyntaxError)u.message="syntax error in "+F;if(u.code==="ENOENT")D={};else throw u}this.cache[this.locale]=D}_resolveLocaleFile(D,F){let u=UD.resolve(D,"./",F+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(u)&&~F.lastIndexOf("_")){let C=UD.resolve(D,"./",F.split("_")[0]+".json");if(this._fileExistsSync(C))u=C}return u}_fileExistsSync(D){return UD.exists(D)}}function k1(D,F){UD=F;let u=new f1(D);return{__:u.__.bind(u),__n:u.__n.bind(u),setLocale:u.setLocale.bind(u),getLocale:u.getLocale.bind(u),updateLocale:u.updateLocale.bind(u),locale:u.locale}}var Yu=(D)=>{return k1(D,v1)},y1=Yu;var m1=b0(d1(),1);import{createRequire as Mu}from"node:module";import{readFileSync as Vu,readdirSync as Ku}from"node:fs";var hF=g1(import.meta.url),Ru=hF.substring(0,hF.lastIndexOf("node_modules")),Uu=Mu(import.meta.url),dF={assert:{notStrictEqual:Ou,strictEqual:Ju},cliui:wF,findUp:bF,getEnv:(D)=>{return process.env[D]},inspect:Wu,getProcessArgvBin:S1,mainFilename:Ru||process.cwd(),Parser:kF,path:{basename:Au,dirname:Gu,extname:Hu,relative:qu,resolve:p1,join:_u},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(D,F)=>process.emitWarning(D,F),execPath:()=>process.execPath,exit:(D)=>{process.exit(D)},nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:Vu,readdirSync:Ku,require:Uu,getCallerFile:()=>{let D=m1.default(3);return D.match(/^file:\/\//)?g1(D):D},stringWidth:RD,y18n:y1({directory:p1(hF,"../../../locales"),updateFiles:!1})};function OD(D,F,u,C){u.assert.notStrictEqual(D,F,C)}function pF(D,F){F.assert.strictEqual(typeof D,"string")}function z0(D){return Object.keys(D)}function s(D){return!!D&&!!D.then&&typeof D.then==="function"}class DD extends Error{constructor(D){super(D||"yargs error");if(this.name="YError",Error.captureStackTrace)Error.captureStackTrace(this,DD)}}function SD(D){let u=D.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),C=/\.*[\][<>]/g,E=u.shift();if(!E)throw Error(`No command found in: ${D}`);let B={cmd:E.replace(C,""),demanded:[],optional:[]};return u.forEach(($,Z)=>{let Q=!1;if($=$.replace(/\s/g,""),/\.+[\]>]/.test($)&&Z===u.length-1)Q=!0;if(/^\[/.test($))B.optional.push({cmd:$.replace(C,"").split("|"),variadic:Q});else B.demanded.push({cmd:$.replace(C,"").split("|"),variadic:Q})}),B}var ju=["first","second","third","fourth","fifth","sixth"];function L(D,F,u){function C(){return typeof D==="object"?[{demanded:[],optional:[]},D,F]:[SD(`cmd ${D}`),F,u]}try{let E=0,[B,$,Z]=C(),Q=[].slice.call($);while(Q.length&&Q[Q.length-1]===void 0)Q.pop();let z=Z||Q.length;if(z<B.demanded.length)throw new DD(`Not enough arguments provided. Expected ${B.demanded.length} but received ${Q.length}.`);let O=B.demanded.length+B.optional.length;if(z>O)throw new DD(`Too many arguments provided. Expected max ${O} but received ${z}.`);B.demanded.forEach((W)=>{let J=Q.shift(),A=c1(J);if(W.cmd.filter((q)=>q===A||q==="*").length===0)l1(A,W.cmd,E);E+=1}),B.optional.forEach((W)=>{if(Q.length===0)return;let J=Q.shift(),A=c1(J);if(W.cmd.filter((q)=>q===A||q==="*").length===0)l1(A,W.cmd,E);E+=1})}catch(E){console.warn(E.stack)}}function c1(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function l1(D,F,u){throw new DD(`Invalid ${ju[u]||"manyith"} argument. Expected ${F.join(" or ")} but received ${D}.`)}class gF{constructor(D){this.globalMiddleware=[],this.frozens=[],this.yargs=D}addMiddleware(D,F,u=!0,C=!1){if(L("<array|function> [boolean] [boolean] [boolean]",[D,F,u],arguments.length),Array.isArray(D)){for(let E=0;E<D.length;E++){if(typeof D[E]!=="function")throw Error("middleware must be a function");let B=D[E];B.applyBeforeValidation=F,B.global=u}Array.prototype.push.apply(this.globalMiddleware,D)}else if(typeof D==="function"){let E=D;E.applyBeforeValidation=F,E.global=u,E.mutates=C,this.globalMiddleware.push(D)}return this.yargs}addCoerceMiddleware(D,F){let u=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((C)=>{let E=[...u[F]||[],F];if(!C.option)return!0;else return!E.includes(C.option)}),D.option=F,this.addMiddleware(D,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){let D=this.frozens.pop();if(D!==void 0)this.globalMiddleware=D}reset(){this.globalMiddleware=this.globalMiddleware.filter((D)=>D.global)}}function o1(D){if(!D)return[];return D.map((F)=>{return F.applyBeforeValidation=!1,F})}function lD(D,F,u,C){return u.reduce((E,B)=>{if(B.applyBeforeValidation!==C)return E;if(B.mutates){if(B.applied)return E;B.applied=!0}if(s(E))return E.then(($)=>Promise.all([$,B($,F)])).then(([$,Z])=>Object.assign($,Z));else{let $=B(E,F);return s($)?$.then((Z)=>Object.assign(E,Z)):Object.assign(E,$)}},D)}function oD(D,F,u=(C)=>{throw C}){try{let C=Iu(D)?D():D;return s(C)?C.then((E)=>F(E)):F(C)}catch(C){return u(C)}}function Iu(D){return typeof D==="function"}var Y0=/(^\*)|(^\$0)/;class i1{constructor(D,F,u,C){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=C,this.usage=D,this.globalMiddleware=u,this.validation=F}addDirectory(D,F,u,C){C=C||{},this.requireCache.add(u);let E=this.shim.path.resolve(this.shim.path.dirname(u),D),B=this.shim.readdirSync(E,{recursive:C.recurse?!0:!1});if(!Array.isArray(C.extensions))C.extensions=["js"];let $=typeof C.visit==="function"?C.visit:(Z)=>Z;for(let Z of B){let Q=Z.toString();if(C.exclude){let O=!1;if(typeof C.exclude==="function")O=C.exclude(Q);else O=C.exclude.test(Q);if(O)continue}if(C.include){let O=!1;if(typeof C.include==="function")O=C.include(Q);else O=C.include.test(Q);if(!O)continue}let z=!1;for(let O of C.extensions)if(Q.endsWith(O))z=!0;if(z){let O=this.shim.path.join(E,Q),W=F(O),J=Object.create(null,Object.getOwnPropertyDescriptors({...W}));if($(J,O,Q)){if(this.requireCache.has(O))continue;else this.requireCache.add(O);if(!J.command)J.command=this.shim.path.basename(O,this.shim.path.extname(O));this.addHandler(J)}}}}addHandler(D,F,u,C,E,B){let $=[],Z=o1(E);if(C=C||(()=>{}),Array.isArray(D))if(Lu(D))[D,...$]=D;else for(let Q of D)this.addHandler(Q);else if(Tu(D)){let Q=Array.isArray(D.command)||typeof D.command==="string"?D.command:null;if(Q===null)throw Error(`No command name given for module: ${this.shim.inspect(D)}`);if(D.aliases)Q=[].concat(Q).concat(D.aliases);this.addHandler(Q,this.extractDesc(D),D.builder,D.handler,D.middlewares,D.deprecated);return}else if(n1(u)){this.addHandler([D].concat($),F,u.builder,u.handler,u.middlewares,u.deprecated);return}if(typeof D==="string"){let Q=SD(D);$=$.map((W)=>SD(W).cmd);let z=!1,O=[Q.cmd].concat($).filter((W)=>{if(Y0.test(W))return z=!0,!1;return!0});if(O.length===0&&z)O.push("$0");if(z)Q.cmd=O[0],$=O.slice(1),D=D.replace(Y0,Q.cmd);if($.forEach((W)=>{this.aliasMap[W]=Q.cmd}),F!==!1)this.usage.command(D,F,z,$,B);if(this.handlers[Q.cmd]={original:D,description:F,handler:C,builder:u||{},middlewares:Z,deprecated:B,demanded:Q.demanded,optional:Q.optional},z)this.defaultCommand=this.handlers[Q.cmd]}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(D,F,u,C,E,B){let $=this.handlers[D]||this.handlers[this.aliasMap[D]]||this.defaultCommand,Z=F.getInternalMethods().getContext(),Q=Z.commands.slice(),z=!D;if(D)Z.commands.push(D),Z.fullCommands.push($.original);let O=this.applyBuilderUpdateUsageAndParse(z,$,F,u.aliases,Q,C,E,B);return s(O)?O.then((W)=>this.applyMiddlewareAndGetResult(z,$,W.innerArgv,Z,E,W.aliases,F)):this.applyMiddlewareAndGetResult(z,$,O.innerArgv,Z,E,O.aliases,F)}applyBuilderUpdateUsageAndParse(D,F,u,C,E,B,$,Z){let Q=F.builder,z=u;if(f0(Q)){u.getInternalMethods().getUsageInstance().freeze();let O=Q(u.getInternalMethods().reset(C),Z);if(s(O))return O.then((W)=>{return z=s1(W)?W:u,this.parseAndUpdateUsage(D,F,z,E,B,$)})}else if(Nu(Q))u.getInternalMethods().getUsageInstance().freeze(),z=u.getInternalMethods().reset(C),Object.keys(F.builder).forEach((O)=>{z.option(O,Q[O])});return this.parseAndUpdateUsage(D,F,z,E,B,$)}parseAndUpdateUsage(D,F,u,C,E,B){if(D)u.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(u))u.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(C,F),F.description);let $=u.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,E,B);return s($)?$.then((Z)=>({aliases:u.parsed.aliases,innerArgv:Z})):{aliases:u.parsed.aliases,innerArgv:$}}shouldUpdateUsage(D){return!D.getInternalMethods().getUsageInstance().getUsageDisabled()&&D.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(D,F){let u=Y0.test(F.original)?F.original.replace(Y0,"").trim():F.original,C=D.filter((E)=>{return!Y0.test(E)});return C.push(u),`$0 ${C.join(" ")}`}handleValidationAndGetResult(D,F,u,C,E,B,$,Z){if(!B.getInternalMethods().getHasOutput()){let Q=B.getInternalMethods().runValidation(E,Z,B.parsed.error,D);u=oD(u,(z)=>{return Q(z),z})}if(F.handler&&!B.getInternalMethods().getHasOutput()){B.getInternalMethods().setHasOutput();let Q=!!B.getOptions().configuration["populate--"];if(B.getInternalMethods().postProcess(u,Q,!1,!1),u=lD(u,B,$,!1),u=oD(u,(z)=>{let O=F.handler(z);return s(O)?O.then(()=>z):z}),!D)B.getInternalMethods().getUsageInstance().cacheHelpMessage();if(s(u)&&!B.getInternalMethods().hasParseCallback())u.catch((z)=>{try{B.getInternalMethods().getUsageInstance().fail(null,z)}catch(O){}})}if(!D)C.commands.pop(),C.fullCommands.pop();return u}applyMiddlewareAndGetResult(D,F,u,C,E,B,$){let Z={};if(E)return u;if(!$.getInternalMethods().getHasOutput())Z=this.populatePositionals(F,u,C,$);let Q=this.globalMiddleware.getMiddleware().slice(0).concat(F.middlewares),z=lD(u,$,Q,!0);return s(z)?z.then((O)=>this.handleValidationAndGetResult(D,F,O,C,B,$,Q,Z)):this.handleValidationAndGetResult(D,F,z,C,B,$,Q,Z)}populatePositionals(D,F,u,C){F._=F._.slice(u.commands.length);let E=D.demanded.slice(0),B=D.optional.slice(0),$={};this.validation.positionalCount(E.length,F._.length);while(E.length){let Z=E.shift();this.populatePositional(Z,F,$)}while(B.length){let Z=B.shift();this.populatePositional(Z,F,$)}return F._=u.commands.concat(F._.map((Z)=>""+Z)),this.postProcessPositionals(F,$,this.cmdToParseOptions(D.original),C),$}populatePositional(D,F,u){let C=D.cmd[0];if(D.variadic)u[C]=F._.splice(0).map(String);else if(F._.length)u[C]=[String(F._.shift())]}cmdToParseOptions(D){let F={array:[],default:{},alias:{},demand:{}},u=SD(D);return u.demanded.forEach((C)=>{let[E,...B]=C.cmd;if(C.variadic)F.array.push(E),F.default[E]=[];F.alias[E]=B,F.demand[E]=!0}),u.optional.forEach((C)=>{let[E,...B]=C.cmd;if(C.variadic)F.array.push(E),F.default[E]=[];F.alias[E]=B}),F}postProcessPositionals(D,F,u,C){let E=Object.assign({},C.getOptions());E.default=Object.assign(u.default,E.default);for(let Q of Object.keys(u.alias))E.alias[Q]=(E.alias[Q]||[]).concat(u.alias[Q]);E.array=E.array.concat(u.array),E.config={};let B=[];if(Object.keys(F).forEach((Q)=>{F[Q].map((z)=>{if(E.configuration["unknown-options-as-args"])E.key[Q]=!0;B.push(`--${Q}`),B.push(z)})}),!B.length)return;let $=Object.assign({},E.configuration,{"populate--":!1}),Z=this.shim.Parser.detailed(B,Object.assign({},E,{configuration:$}));if(Z.error)C.getInternalMethods().getUsageInstance().fail(Z.error.message,Z.error);else{let Q=Object.keys(F);Object.keys(F).forEach((z)=>{Q.push(...Z.aliases[z])}),Object.keys(Z.argv).forEach((z)=>{if(Q.includes(z)){if(!F[z])F[z]=Z.argv[z];if(!this.isInConfigs(C,z)&&!this.isDefaulted(C,z)&&Object.prototype.hasOwnProperty.call(D,z)&&Object.prototype.hasOwnProperty.call(Z.argv,z)&&(Array.isArray(D[z])||Array.isArray(Z.argv[z])))D[z]=[].concat(D[z],Z.argv[z]);else D[z]=Z.argv[z]}})}}isDefaulted(D,F){let{default:u}=D.getOptions();return Object.prototype.hasOwnProperty.call(u,F)||Object.prototype.hasOwnProperty.call(u,this.shim.Parser.camelCase(F))}isInConfigs(D,F){let{configObjects:u}=D.getOptions();return u.some((C)=>Object.prototype.hasOwnProperty.call(C,F))||u.some((C)=>Object.prototype.hasOwnProperty.call(C,this.shim.Parser.camelCase(F)))}runDefaultBuilderOn(D){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(D)){let u=Y0.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");D.getInternalMethods().getUsageInstance().usage(u,this.defaultCommand.description)}let F=this.defaultCommand.builder;if(f0(F))return F(D,!0);else if(!n1(F))Object.keys(F).forEach((u)=>{D.option(u,F[u])});return}extractDesc({describe:D,description:F,desc:u}){for(let C of[D,F,u]){if(typeof C==="string"||C===!1)return C;OD(C,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){let D=this.frozens.pop();OD(D,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=D}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function t1(D,F,u,C){return new i1(D,F,u,C)}function n1(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function Lu(D){return D.every((F)=>typeof F==="string")}function f0(D){return typeof D==="function"}function Nu(D){return typeof D==="object"}function Tu(D){return typeof D==="object"&&!Array.isArray(D)}function vD(D={},F=()=>!0){let u={};return z0(D).forEach((C)=>{if(F(C,D[C]))u[C]=D[C]}),u}function fD(D){if(typeof process>"u")return;[process.stdout,process.stderr].forEach((F)=>{let u=F;if(u._handle&&u.isTTY&&typeof u._handle.setBlocking==="function")u._handle.setBlocking(D)})}function wu(D){return typeof D==="boolean"}function a1(D,F){let u=F.y18n.__,C={},E=[];C.failFn=function(K){E.push(K)};let B=null,$=null,Z=!0;C.showHelpOnFail=function(K=!0,w){let[y,n]=typeof K==="string"?[!0,K]:[K,w];if(D.getInternalMethods().isGlobalContext())$=n;return B=n,Z=y,C};let Q=!1;C.fail=function(K,w){let y=D.getInternalMethods().getLoggerInstance();if(E.length)for(let n=E.length-1;n>=0;--n){let uD=E[n];if(wu(uD)){if(w)throw w;else if(K)throw Error(K)}else uD(K,w,C)}else{if(D.getExitProcess())fD(!0);if(!Q){if(Q=!0,Z)D.showHelp("error"),y.error();if(K||w)y.error(K||w);let n=B||$;if(n){if(K||w)y.error("");y.error(n)}}if(w=w||new DD(K),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,w);else throw w}};let z=[],O=!1;C.usage=(I,K)=>{if(I===null)return O=!0,z=[],C;return O=!1,z.push([I,K||""]),C},C.getUsage=()=>{return z},C.getUsageDisabled=()=>{return O},C.getPositionalGroupName=()=>{return u("Positionals:")};let W=[];C.example=(I,K)=>{W.push([I,K||""])};let J=[];C.command=function(K,w,y,n,uD=!1){if(y)J=J.map((o)=>{return o[2]=!1,o});J.push([K,w||"",y,n,uD])},C.getCommands=()=>J;let A={};C.describe=function(K,w){if(Array.isArray(K))K.forEach((y)=>{C.describe(y,w)});else if(typeof K==="object")Object.keys(K).forEach((y)=>{C.describe(y,K[y])});else A[K]=w},C.getDescriptions=()=>A;let _=[];C.epilog=(I)=>{_.push(I)};let q=!1,P;C.wrap=(I)=>{q=!0,P=I},C.getWrap=()=>{if(F.getEnv("YARGS_DISABLE_WRAP"))return null;if(!q)P=l(),q=!0;return P};let c="__yargsString__:";C.deferY18nLookup=(I)=>c+I,C.help=function(){if(d)return d;QD();let K=D.customScriptName?D.$0:F.path.basename(D.$0),w=D.getDemandedOptions(),y=D.getDemandedCommands(),n=D.getDeprecatedOptions(),uD=D.getGroups(),o=D.getOptions(),CD=[];CD=CD.concat(Object.keys(A)),CD=CD.concat(Object.keys(w)),CD=CD.concat(Object.keys(y)),CD=CD.concat(Object.keys(o.default)),CD=CD.filter(j),CD=Object.keys(CD.reduce((f,i)=>{if(i!=="_")f[i]=!0;return f},{}));let PD=C.getWrap(),t=F.cliui({width:PD,wrap:!!PD});if(!O){if(z.length)z.forEach((f)=>{if(t.div({text:`${f[0].replace(/\$0/g,K)}`}),f[1])t.div({text:`${f[1]}`,padding:[1,0,0,0]})}),t.div();else if(J.length){let f=null;if(y._)f=`${K} <${u("command")}>
26
26
  `;else f=`${K} [${u("command")}]
27
- `;t.div(`${f}`)}}if(J.length>1||J.length===1&&!J[0][2]){t.div(u("Commands:"));let f=D.getInternalMethods().getContext(),i=f.commands.length?`${f.commands.join(" ")} `:"";if(D.getInternalMethods().getParserConfiguration()["sort-commands"]===!0)J=J.sort((m,zD)=>m[0].localeCompare(zD[0]));let ED=K?`${K} `:"";J.forEach((m)=>{let zD=`${ED}${i}${m[0].replace(/^\$0 ?/,"")}`;t.span({text:zD,padding:[0,2,0,2],width:p(J,PD,`${K}${i}`)+4},{text:m[1]});let e=[];if(m[2])e.push(`[${u("default")}]`);if(m[3]&&m[3].length)e.push(`[${u("aliases:")} ${m[3].join(", ")}]`);if(m[4])if(typeof m[4]==="string")e.push(`[${u("deprecated: %s",m[4])}]`);else e.push(`[${u("deprecated")}]`);if(e.length)t.div({text:e.join(" "),padding:[0,0,0,2],align:"right"});else t.div()}),t.div()}let wD=(Object.keys(o.alias)||[]).concat(Object.keys(D.parsed.newAliases)||[]);CD=CD.filter((f)=>!D.parsed.newAliases[f]&&wD.every((i)=>(o.alias[i]||[]).indexOf(f)===-1));let H0=u("Options:");if(!uD[H0])uD[H0]=[];U(CD,o.alias,uD,H0);let v=(f)=>/^--/.test(k0(f)),Q0=Object.keys(uD).filter((f)=>uD[f].length>0).map((f)=>{let i=uD[f].filter(j).map((ED)=>{if(wD.includes(ED))return ED;for(let m=0,zD;(zD=wD[m])!==void 0;m++)if((o.alias[zD]||[]).includes(ED))return zD;return ED});return{groupName:f,normalizedKeys:i}}).filter(({normalizedKeys:f})=>f.length>0).map(({groupName:f,normalizedKeys:i})=>{let ED=i.reduce((m,zD)=>{return m[zD]=[zD].concat(o.alias[zD]||[]).map((e)=>{if(f===C.getPositionalGroupName())return e;else return(/^[0-9]$/.test(e)?o.boolean.includes(zD)?"-":"--":e.length>1?"--":"-")+e}).sort((e,BD)=>v(e)===v(BD)?0:v(e)?1:-1).join(", "),m},{});return{groupName:f,normalizedKeys:i,switches:ED}});if(Q0.filter(({groupName:f})=>f!==C.getPositionalGroupName()).some(({normalizedKeys:f,switches:i})=>!f.every((ED)=>v(i[ED]))))Q0.filter(({groupName:f})=>f!==C.getPositionalGroupName()).forEach(({normalizedKeys:f,switches:i})=>{f.forEach((ED)=>{if(v(i[ED]))i[ED]=bu(i[ED],4)})});if(Q0.forEach(({groupName:f,normalizedKeys:i,switches:ED})=>{t.div(f),i.forEach((m)=>{let zD=ED[m],e=W[m]||"",BD=null;if(e.includes(c))e=u(e.substring(c.length));if(o.boolean.includes(m))BD=`[${u("boolean")}]`;if(o.count.includes(m))BD=`[${u("count")}]`;if(o.string.includes(m))BD=`[${u("string")}]`;if(o.normalize.includes(m))BD=`[${u("string")}]`;if(o.array.includes(m))BD=`[${u("array")}]`;if(o.number.includes(m))BD=`[${u("number")}]`;let VF=(V)=>typeof V==="string"?`[${u("deprecated: %s",V)}]`:`[${u("deprecated")}]`,Y=[m in n?VF(n[m]):null,BD,m in w?`[${u("required")}]`:null,o.choices&&o.choices[m]?`[${u("choices:")} ${C.stringifiedValues(o.choices[m])}]`:null,S(o.default[m],o.defaultDescription[m])].filter(Boolean).join(" ");t.span({text:k0(zD),padding:[0,2,0,2+r1(zD)],width:p(ED,PD)+4},e);let H=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(Y&&!H)t.div({text:Y,padding:[0,0,0,2],align:"right"});else t.div()}),t.div()}),A.length)t.div(u("Examples:")),A.forEach((f)=>{f[0]=f[0].replace(/\$0/g,K)}),A.forEach((f)=>{if(f[1]==="")t.div({text:f[0],padding:[0,2,0,2]});else t.div({text:f[0],padding:[0,2,0,2],width:p(A,PD)+4},{text:f[1]})}),t.div();if(_.length>0){let f=_.map((i)=>i.replace(/\$0/g,K)).join(`
27
+ `;t.div(`${f}`)}}if(J.length>1||J.length===1&&!J[0][2]){t.div(u("Commands:"));let f=D.getInternalMethods().getContext(),i=f.commands.length?`${f.commands.join(" ")} `:"";if(D.getInternalMethods().getParserConfiguration()["sort-commands"]===!0)J=J.sort((m,zD)=>m[0].localeCompare(zD[0]));let ED=K?`${K} `:"";J.forEach((m)=>{let zD=`${ED}${i}${m[0].replace(/^\$0 ?/,"")}`;t.span({text:zD,padding:[0,2,0,2],width:p(J,PD,`${K}${i}`)+4},{text:m[1]});let e=[];if(m[2])e.push(`[${u("default")}]`);if(m[3]&&m[3].length)e.push(`[${u("aliases:")} ${m[3].join(", ")}]`);if(m[4])if(typeof m[4]==="string")e.push(`[${u("deprecated: %s",m[4])}]`);else e.push(`[${u("deprecated")}]`);if(e.length)t.div({text:e.join(" "),padding:[0,0,0,2],align:"right"});else t.div()}),t.div()}let wD=(Object.keys(o.alias)||[]).concat(Object.keys(D.parsed.newAliases)||[]);CD=CD.filter((f)=>!D.parsed.newAliases[f]&&wD.every((i)=>(o.alias[i]||[]).indexOf(f)===-1));let H0=u("Options:");if(!uD[H0])uD[H0]=[];U(CD,o.alias,uD,H0);let v=(f)=>/^--/.test(k0(f)),Q0=Object.keys(uD).filter((f)=>uD[f].length>0).map((f)=>{let i=uD[f].filter(j).map((ED)=>{if(wD.includes(ED))return ED;for(let m=0,zD;(zD=wD[m])!==void 0;m++)if((o.alias[zD]||[]).includes(ED))return zD;return ED});return{groupName:f,normalizedKeys:i}}).filter(({normalizedKeys:f})=>f.length>0).map(({groupName:f,normalizedKeys:i})=>{let ED=i.reduce((m,zD)=>{return m[zD]=[zD].concat(o.alias[zD]||[]).map((e)=>{if(f===C.getPositionalGroupName())return e;else return(/^[0-9]$/.test(e)?o.boolean.includes(zD)?"-":"--":e.length>1?"--":"-")+e}).sort((e,BD)=>v(e)===v(BD)?0:v(e)?1:-1).join(", "),m},{});return{groupName:f,normalizedKeys:i,switches:ED}});if(Q0.filter(({groupName:f})=>f!==C.getPositionalGroupName()).some(({normalizedKeys:f,switches:i})=>!f.every((ED)=>v(i[ED]))))Q0.filter(({groupName:f})=>f!==C.getPositionalGroupName()).forEach(({normalizedKeys:f,switches:i})=>{f.forEach((ED)=>{if(v(i[ED]))i[ED]=bu(i[ED],4)})});if(Q0.forEach(({groupName:f,normalizedKeys:i,switches:ED})=>{t.div(f),i.forEach((m)=>{let zD=ED[m],e=A[m]||"",BD=null;if(e.includes(c))e=u(e.substring(c.length));if(o.boolean.includes(m))BD=`[${u("boolean")}]`;if(o.count.includes(m))BD=`[${u("count")}]`;if(o.string.includes(m))BD=`[${u("string")}]`;if(o.normalize.includes(m))BD=`[${u("string")}]`;if(o.array.includes(m))BD=`[${u("array")}]`;if(o.number.includes(m))BD=`[${u("number")}]`;let VF=(V)=>typeof V==="string"?`[${u("deprecated: %s",V)}]`:`[${u("deprecated")}]`,Y=[m in n?VF(n[m]):null,BD,m in w?`[${u("required")}]`:null,o.choices&&o.choices[m]?`[${u("choices:")} ${C.stringifiedValues(o.choices[m])}]`:null,S(o.default[m],o.defaultDescription[m])].filter(Boolean).join(" ");t.span({text:k0(zD),padding:[0,2,0,2+r1(zD)],width:p(ED,PD)+4},e);let H=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(Y&&!H)t.div({text:Y,padding:[0,0,0,2],align:"right"});else t.div()}),t.div()}),W.length)t.div(u("Examples:")),W.forEach((f)=>{f[0]=f[0].replace(/\$0/g,K)}),W.forEach((f)=>{if(f[1]==="")t.div({text:f[0],padding:[0,2,0,2]});else t.div({text:f[0],padding:[0,2,0,2],width:p(W,PD)+4},{text:f[1]})}),t.div();if(_.length>0){let f=_.map((i)=>i.replace(/\$0/g,K)).join(`
28
28
  `);t.div(`${f}
29
- `)}return t.toString().replace(/\s*$/,"")};function p(I,K,w){let y=0;if(!Array.isArray(I))I=Object.values(I).map((n)=>[n]);if(I.forEach((n)=>{y=Math.max(F.stringWidth(w?`${w} ${k0(n[0])}`:k0(n[0]))+r1(n[0]),y)}),K)y=Math.min(y,parseInt((K*0.5).toString(),10));return y}function QD(){let I=D.getDemandedOptions(),K=D.getOptions();(Object.keys(K.alias)||[]).forEach((w)=>{K.alias[w].forEach((y)=>{if(W[y])C.describe(w,W[y]);if(y in I)D.demandOption(w,I[y]);if(K.boolean.includes(y))D.boolean(w);if(K.count.includes(y))D.count(w);if(K.string.includes(y))D.string(w);if(K.normalize.includes(y))D.normalize(w);if(K.array.includes(y))D.array(w);if(K.number.includes(y))D.number(w)})})}let d;C.cacheHelpMessage=function(){d=this.help()},C.clearCachedHelpMessage=function(){d=void 0},C.hasCachedHelpMessage=function(){return!!d};function U(I,K,w,y){let n=[],uD=null;return Object.keys(w).forEach((o)=>{n=n.concat(w[o])}),I.forEach((o)=>{if(uD=[o].concat(K[o]),!uD.some((CD)=>n.indexOf(CD)!==-1))w[y].push(o)}),n}function j(I){return D.getOptions().hiddenOptions.indexOf(I)<0||D.parsed.argv[D.getOptions().showHiddenOpt]}C.showHelp=(I)=>{let K=D.getInternalMethods().getLoggerInstance();if(!I)I="error";(typeof I==="function"?I:K[I])(C.help())},C.functionDescription=(I)=>{return["(",I.name?F.Parser.decamelize(I.name,"-"):u("generated-value"),")"].join("")},C.stringifiedValues=function(K,w){let y="",n=w||", ",uD=[].concat(K);if(!K||!uD.length)return y;return uD.forEach((o)=>{if(y.length)y+=n;y+=JSON.stringify(o)}),y};function S(I,K){let w=`[${u("default:")} `;if(I===void 0&&!K)return null;if(K)w+=K;else switch(typeof I){case"string":w+=`"${I}"`;break;case"object":w+=JSON.stringify(I);break;default:w+=I}return`${w}]`}function l(){if(F.process.stdColumns)return Math.min(80,F.process.stdColumns);else return 80}let g=null;C.version=(I)=>{g=I},C.showVersion=(I)=>{let K=D.getInternalMethods().getLoggerInstance();if(!I)I="error";(typeof I==="function"?I:K[I])(g)},C.reset=function(K){return B=null,Q=!1,z=[],O=!1,_=[],A=[],J=[],W=vD(W,(w)=>!K[w]),C};let LD=[];return C.freeze=function(){LD.push({failMessage:B,failureOutput:Q,usages:z,usageDisabled:O,epilogs:_,examples:A,commands:J,descriptions:W})},C.unfreeze=function(K=!1){let w=LD.pop();if(!w)return;if(K)W={...w.descriptions,...W},J=[...w.commands,...J],z=[...w.usages,...z],A=[...w.examples,...A],_=[...w.epilogs,..._];else({failMessage:B,failureOutput:Q,usages:z,usageDisabled:O,epilogs:_,examples:A,commands:J,descriptions:W}=w)},C}function mF(D){return typeof D==="object"}function bu(D,F){return mF(D)?{text:D.text,indentation:D.indentation+F}:{text:D,indentation:F}}function r1(D){return mF(D)?D.indentation:0}function k0(D){return mF(D)?D.text:D}var e1=`###-begin-{{app_name}}-completions-###
29
+ `)}return t.toString().replace(/\s*$/,"")};function p(I,K,w){let y=0;if(!Array.isArray(I))I=Object.values(I).map((n)=>[n]);if(I.forEach((n)=>{y=Math.max(F.stringWidth(w?`${w} ${k0(n[0])}`:k0(n[0]))+r1(n[0]),y)}),K)y=Math.min(y,parseInt((K*0.5).toString(),10));return y}function QD(){let I=D.getDemandedOptions(),K=D.getOptions();(Object.keys(K.alias)||[]).forEach((w)=>{K.alias[w].forEach((y)=>{if(A[y])C.describe(w,A[y]);if(y in I)D.demandOption(w,I[y]);if(K.boolean.includes(y))D.boolean(w);if(K.count.includes(y))D.count(w);if(K.string.includes(y))D.string(w);if(K.normalize.includes(y))D.normalize(w);if(K.array.includes(y))D.array(w);if(K.number.includes(y))D.number(w)})})}let d;C.cacheHelpMessage=function(){d=this.help()},C.clearCachedHelpMessage=function(){d=void 0},C.hasCachedHelpMessage=function(){return!!d};function U(I,K,w,y){let n=[],uD=null;return Object.keys(w).forEach((o)=>{n=n.concat(w[o])}),I.forEach((o)=>{if(uD=[o].concat(K[o]),!uD.some((CD)=>n.indexOf(CD)!==-1))w[y].push(o)}),n}function j(I){return D.getOptions().hiddenOptions.indexOf(I)<0||D.parsed.argv[D.getOptions().showHiddenOpt]}C.showHelp=(I)=>{let K=D.getInternalMethods().getLoggerInstance();if(!I)I="error";(typeof I==="function"?I:K[I])(C.help())},C.functionDescription=(I)=>{return["(",I.name?F.Parser.decamelize(I.name,"-"):u("generated-value"),")"].join("")},C.stringifiedValues=function(K,w){let y="",n=w||", ",uD=[].concat(K);if(!K||!uD.length)return y;return uD.forEach((o)=>{if(y.length)y+=n;y+=JSON.stringify(o)}),y};function S(I,K){let w=`[${u("default:")} `;if(I===void 0&&!K)return null;if(K)w+=K;else switch(typeof I){case"string":w+=`"${I}"`;break;case"object":w+=JSON.stringify(I);break;default:w+=I}return`${w}]`}function l(){if(F.process.stdColumns)return Math.min(80,F.process.stdColumns);else return 80}let g=null;C.version=(I)=>{g=I},C.showVersion=(I)=>{let K=D.getInternalMethods().getLoggerInstance();if(!I)I="error";(typeof I==="function"?I:K[I])(g)},C.reset=function(K){return B=null,Q=!1,z=[],O=!1,_=[],W=[],J=[],A=vD(A,(w)=>!K[w]),C};let LD=[];return C.freeze=function(){LD.push({failMessage:B,failureOutput:Q,usages:z,usageDisabled:O,epilogs:_,examples:W,commands:J,descriptions:A})},C.unfreeze=function(K=!1){let w=LD.pop();if(!w)return;if(K)A={...w.descriptions,...A},J=[...w.commands,...J],z=[...w.usages,...z],W=[...w.examples,...W],_=[...w.epilogs,..._];else({failMessage:B,failureOutput:Q,usages:z,usageDisabled:O,epilogs:_,examples:W,commands:J,descriptions:A}=w)},C}function mF(D){return typeof D==="object"}function bu(D,F){return mF(D)?{text:D.text,indentation:D.indentation+F}:{text:D,indentation:F}}function r1(D){return mF(D)?D.indentation:0}function k0(D){return mF(D)?D.text:D}var e1=`###-begin-{{app_name}}-completions-###
30
30
  #
31
31
  # yargs command completion script
32
32
  #
@@ -82,15 +82,15 @@ else
82
82
  compdef _{{app_name}}_yargs_completions {{app_name}}
83
83
  fi
84
84
  ###-end-{{app_name}}-completions-###
85
- `;class F3{constructor(D,F,u,C){var E,B,$;this.yargs=D,this.usage=F,this.command=u,this.shim=C,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=($=((E=this.shim.getEnv("SHELL"))===null||E===void 0?void 0:E.includes("zsh"))||((B=this.shim.getEnv("ZSH_NAME"))===null||B===void 0?void 0:B.includes("zsh")))!==null&&$!==void 0?$:!1}defaultCompletion(D,F,u,C){let E=this.command.getCommandHandlers();for(let $=0,Z=D.length;$<Z;++$)if(E[D[$]]&&E[D[$]].builder){let Q=E[D[$]].builder;if(f0(Q)){this.indexAfterLastReset=$+1;let z=this.yargs.getInternalMethods().reset();return Q(z,!0),z.argv}}let B=[];this.commandCompletions(B,D,u),this.optionCompletions(B,D,F,u),this.choicesFromOptionsCompletions(B,D,F,u),this.choicesFromPositionalsCompletions(B,D,F,u),C(null,B)}commandCompletions(D,F,u){let C=this.yargs.getInternalMethods().getContext().commands;if(!u.match(/^-/)&&C[C.length-1]!==u&&!this.previousArgHasChoices(F))this.usage.getCommands().forEach((E)=>{let B=SD(E[0]).cmd;if(F.indexOf(B)===-1)if(!this.zshShell)D.push(B);else{let $=E[1]||"";D.push(B.replace(/:/g,"\\:")+":"+$)}})}optionCompletions(D,F,u,C){if((C.match(/^-/)||C===""&&D.length===0)&&!this.previousArgHasChoices(F)){let E=this.yargs.getOptions(),B=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(E.key).forEach(($)=>{let Z=!!E.configuration["boolean-negation"]&&E.boolean.includes($);if(!B.includes($)&&!E.hiddenOptions.includes($)&&!this.argsContainKey(F,$,Z))this.completeOptionKey($,D,C,Z&&!!E.default[$])})}}choicesFromOptionsCompletions(D,F,u,C){if(this.previousArgHasChoices(F)){let E=this.getPreviousArgChoices(F);if(E&&E.length>0)D.push(...E.map((B)=>B.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(D,F,u,C){if(C===""&&D.length>0&&this.previousArgHasChoices(F))return;let E=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],B=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),$=E[u._.length-B-1];if(!$)return;let Z=this.yargs.getOptions().choices[$]||[];for(let Q of Z)if(Q.startsWith(C))D.push(Q.replace(/:/g,"\\:"))}getPreviousArgChoices(D){if(D.length<1)return;let F=D[D.length-1],u="";if(!F.startsWith("-")&&D.length>1)u=F,F=D[D.length-2];if(!F.startsWith("-"))return;let C=F.replace(/^-+/,""),E=this.yargs.getOptions(),B=[C,...this.yargs.getAliases()[C]||[]],$;for(let Z of B)if(Object.prototype.hasOwnProperty.call(E.key,Z)&&Array.isArray(E.choices[Z])){$=E.choices[Z];break}if($)return $.filter((Z)=>!u||Z.startsWith(u))}previousArgHasChoices(D){let F=this.getPreviousArgChoices(D);return F!==void 0&&F.length>0}argsContainKey(D,F,u){let C=(E)=>D.indexOf((/^[^0-9]$/.test(E)?"-":"--")+E)!==-1;if(C(F))return!0;if(u&&C(`no-${F}`))return!0;if(this.aliases){for(let E of this.aliases[F])if(C(E))return!0}return!1}completeOptionKey(D,F,u,C){var E,B,$,Z;let Q=D;if(this.zshShell){let J=this.usage.getDescriptions(),W=(B=(E=this===null||this===void 0?void 0:this.aliases)===null||E===void 0?void 0:E[D])===null||B===void 0?void 0:B.find((P)=>{let c=J[P];return typeof c==="string"&&c.length>0}),_=W?J[W]:void 0,q=(Z=($=J[D])!==null&&$!==void 0?$:_)!==null&&Z!==void 0?Z:"";Q=`${D.replace(/:/g,"\\:")}:${q.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let z=(J)=>/^--/.test(J),O=(J)=>/^[^0-9]$/.test(J),A=!z(u)&&O(D)?"-":"--";if(F.push(A+Q),C)F.push(A+"no-"+Q)}customCompletion(D,F,u,C){if(OD(this.customCompletionFunction,null,this.shim),Pu(this.customCompletionFunction)){let E=this.customCompletionFunction(u,F);if(s(E))return E.then((B)=>{this.shim.process.nextTick(()=>{C(null,B)})}).catch((B)=>{this.shim.process.nextTick(()=>{C(B,void 0)})});return C(null,E)}else if(Su(this.customCompletionFunction))return this.customCompletionFunction(u,F,(E=C)=>this.defaultCompletion(D,F,u,E),(E)=>{C(null,E)});else return this.customCompletionFunction(u,F,(E)=>{C(null,E)})}getCompletion(D,F){let u=D.length?D[D.length-1]:"",C=this.yargs.parse(D,!0),E=this.customCompletionFunction?(B)=>this.customCompletion(D,B,u,F):(B)=>this.defaultCompletion(D,B,u,F);return s(C)?C.then(E):E(C)}generateCompletionScript(D,F){let u=this.zshShell?D3:e1,C=this.shim.path.basename(D);if(D.match(/\.js$/))D=`./${D}`;return u=u.replace(/{{app_name}}/g,C),u=u.replace(/{{completion_command}}/g,F),u.replace(/{{app_path}}/g,D)}registerFunction(D){this.customCompletionFunction=D}setParsed(D){this.aliases=D.aliases}}function u3(D,F,u,C){return new F3(D,F,u,C)}function Pu(D){return D.length<3}function Su(D){return D.length>3}function C3(D,F){if(D.length===0)return F.length;if(F.length===0)return D.length;let u=[],C;for(C=0;C<=F.length;C++)u[C]=[C];let E;for(E=0;E<=D.length;E++)u[0][E]=E;for(C=1;C<=F.length;C++)for(E=1;E<=D.length;E++)if(F.charAt(C-1)===D.charAt(E-1))u[C][E]=u[C-1][E-1];else if(C>1&&E>1&&F.charAt(C-2)===D.charAt(E-1)&&F.charAt(C-1)===D.charAt(E-2))u[C][E]=u[C-2][E-2]+1;else u[C][E]=Math.min(u[C-1][E-1]+1,Math.min(u[C][E-1]+1,u[C-1][E]+1));return u[F.length][D.length]}var E3=["$0","--","_"];function B3(D,F,u){let C=u.y18n.__,E=u.y18n.__n,B={};B.nonOptionCount=function(A){let J=D.getDemandedCommands(),_=A._.length+(A["--"]?A["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(J._&&(_<J._.min||_>J._.max)){if(_<J._.min)if(J._.minMsg!==void 0)F.fail(J._.minMsg?J._.minMsg.replace(/\$0/g,_.toString()).replace(/\$1/,J._.min.toString()):null);else F.fail(E("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",_,_.toString(),J._.min.toString()));else if(_>J._.max)if(J._.maxMsg!==void 0)F.fail(J._.maxMsg?J._.maxMsg.replace(/\$0/g,_.toString()).replace(/\$1/,J._.max.toString()):null);else F.fail(E("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",_,_.toString(),J._.max.toString()))}},B.positionalCount=function(A,J){if(J<A)F.fail(E("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",J,J+"",A+""))},B.requiredArguments=function(A,J){let W=null;for(let _ of Object.keys(J))if(!Object.prototype.hasOwnProperty.call(A,_)||typeof A[_]>"u")W=W||{},W[_]=J[_];if(W){let _=[];for(let P of Object.keys(W)){let c=W[P];if(c&&_.indexOf(c)<0)_.push(c)}let q=_.length?`
85
+ `;class F3{constructor(D,F,u,C){var E,B,$;this.yargs=D,this.usage=F,this.command=u,this.shim=C,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=($=((E=this.shim.getEnv("SHELL"))===null||E===void 0?void 0:E.includes("zsh"))||((B=this.shim.getEnv("ZSH_NAME"))===null||B===void 0?void 0:B.includes("zsh")))!==null&&$!==void 0?$:!1}defaultCompletion(D,F,u,C){let E=this.command.getCommandHandlers();for(let $=0,Z=D.length;$<Z;++$)if(E[D[$]]&&E[D[$]].builder){let Q=E[D[$]].builder;if(f0(Q)){this.indexAfterLastReset=$+1;let z=this.yargs.getInternalMethods().reset();return Q(z,!0),z.argv}}let B=[];this.commandCompletions(B,D,u),this.optionCompletions(B,D,F,u),this.choicesFromOptionsCompletions(B,D,F,u),this.choicesFromPositionalsCompletions(B,D,F,u),C(null,B)}commandCompletions(D,F,u){let C=this.yargs.getInternalMethods().getContext().commands;if(!u.match(/^-/)&&C[C.length-1]!==u&&!this.previousArgHasChoices(F))this.usage.getCommands().forEach((E)=>{let B=SD(E[0]).cmd;if(F.indexOf(B)===-1)if(!this.zshShell)D.push(B);else{let $=E[1]||"";D.push(B.replace(/:/g,"\\:")+":"+$)}})}optionCompletions(D,F,u,C){if((C.match(/^-/)||C===""&&D.length===0)&&!this.previousArgHasChoices(F)){let E=this.yargs.getOptions(),B=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(E.key).forEach(($)=>{let Z=!!E.configuration["boolean-negation"]&&E.boolean.includes($);if(!B.includes($)&&!E.hiddenOptions.includes($)&&!this.argsContainKey(F,$,Z))this.completeOptionKey($,D,C,Z&&!!E.default[$])})}}choicesFromOptionsCompletions(D,F,u,C){if(this.previousArgHasChoices(F)){let E=this.getPreviousArgChoices(F);if(E&&E.length>0)D.push(...E.map((B)=>B.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(D,F,u,C){if(C===""&&D.length>0&&this.previousArgHasChoices(F))return;let E=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],B=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),$=E[u._.length-B-1];if(!$)return;let Z=this.yargs.getOptions().choices[$]||[];for(let Q of Z)if(Q.startsWith(C))D.push(Q.replace(/:/g,"\\:"))}getPreviousArgChoices(D){if(D.length<1)return;let F=D[D.length-1],u="";if(!F.startsWith("-")&&D.length>1)u=F,F=D[D.length-2];if(!F.startsWith("-"))return;let C=F.replace(/^-+/,""),E=this.yargs.getOptions(),B=[C,...this.yargs.getAliases()[C]||[]],$;for(let Z of B)if(Object.prototype.hasOwnProperty.call(E.key,Z)&&Array.isArray(E.choices[Z])){$=E.choices[Z];break}if($)return $.filter((Z)=>!u||Z.startsWith(u))}previousArgHasChoices(D){let F=this.getPreviousArgChoices(D);return F!==void 0&&F.length>0}argsContainKey(D,F,u){let C=(E)=>D.indexOf((/^[^0-9]$/.test(E)?"-":"--")+E)!==-1;if(C(F))return!0;if(u&&C(`no-${F}`))return!0;if(this.aliases){for(let E of this.aliases[F])if(C(E))return!0}return!1}completeOptionKey(D,F,u,C){var E,B,$,Z;let Q=D;if(this.zshShell){let J=this.usage.getDescriptions(),A=(B=(E=this===null||this===void 0?void 0:this.aliases)===null||E===void 0?void 0:E[D])===null||B===void 0?void 0:B.find((P)=>{let c=J[P];return typeof c==="string"&&c.length>0}),_=A?J[A]:void 0,q=(Z=($=J[D])!==null&&$!==void 0?$:_)!==null&&Z!==void 0?Z:"";Q=`${D.replace(/:/g,"\\:")}:${q.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let z=(J)=>/^--/.test(J),O=(J)=>/^[^0-9]$/.test(J),W=!z(u)&&O(D)?"-":"--";if(F.push(W+Q),C)F.push(W+"no-"+Q)}customCompletion(D,F,u,C){if(OD(this.customCompletionFunction,null,this.shim),Pu(this.customCompletionFunction)){let E=this.customCompletionFunction(u,F);if(s(E))return E.then((B)=>{this.shim.process.nextTick(()=>{C(null,B)})}).catch((B)=>{this.shim.process.nextTick(()=>{C(B,void 0)})});return C(null,E)}else if(Su(this.customCompletionFunction))return this.customCompletionFunction(u,F,(E=C)=>this.defaultCompletion(D,F,u,E),(E)=>{C(null,E)});else return this.customCompletionFunction(u,F,(E)=>{C(null,E)})}getCompletion(D,F){let u=D.length?D[D.length-1]:"",C=this.yargs.parse(D,!0),E=this.customCompletionFunction?(B)=>this.customCompletion(D,B,u,F):(B)=>this.defaultCompletion(D,B,u,F);return s(C)?C.then(E):E(C)}generateCompletionScript(D,F){let u=this.zshShell?D3:e1,C=this.shim.path.basename(D);if(D.match(/\.js$/))D=`./${D}`;return u=u.replace(/{{app_name}}/g,C),u=u.replace(/{{completion_command}}/g,F),u.replace(/{{app_path}}/g,D)}registerFunction(D){this.customCompletionFunction=D}setParsed(D){this.aliases=D.aliases}}function u3(D,F,u,C){return new F3(D,F,u,C)}function Pu(D){return D.length<3}function Su(D){return D.length>3}function C3(D,F){if(D.length===0)return F.length;if(F.length===0)return D.length;let u=[],C;for(C=0;C<=F.length;C++)u[C]=[C];let E;for(E=0;E<=D.length;E++)u[0][E]=E;for(C=1;C<=F.length;C++)for(E=1;E<=D.length;E++)if(F.charAt(C-1)===D.charAt(E-1))u[C][E]=u[C-1][E-1];else if(C>1&&E>1&&F.charAt(C-2)===D.charAt(E-1)&&F.charAt(C-1)===D.charAt(E-2))u[C][E]=u[C-2][E-2]+1;else u[C][E]=Math.min(u[C-1][E-1]+1,Math.min(u[C][E-1]+1,u[C-1][E]+1));return u[F.length][D.length]}var E3=["$0","--","_"];function B3(D,F,u){let C=u.y18n.__,E=u.y18n.__n,B={};B.nonOptionCount=function(W){let J=D.getDemandedCommands(),_=W._.length+(W["--"]?W["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(J._&&(_<J._.min||_>J._.max)){if(_<J._.min)if(J._.minMsg!==void 0)F.fail(J._.minMsg?J._.minMsg.replace(/\$0/g,_.toString()).replace(/\$1/,J._.min.toString()):null);else F.fail(E("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",_,_.toString(),J._.min.toString()));else if(_>J._.max)if(J._.maxMsg!==void 0)F.fail(J._.maxMsg?J._.maxMsg.replace(/\$0/g,_.toString()).replace(/\$1/,J._.max.toString()):null);else F.fail(E("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",_,_.toString(),J._.max.toString()))}},B.positionalCount=function(W,J){if(J<W)F.fail(E("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",J,J+"",W+""))},B.requiredArguments=function(W,J){let A=null;for(let _ of Object.keys(J))if(!Object.prototype.hasOwnProperty.call(W,_)||typeof W[_]>"u")A=A||{},A[_]=J[_];if(A){let _=[];for(let P of Object.keys(A)){let c=A[P];if(c&&_.indexOf(c)<0)_.push(c)}let q=_.length?`
86
86
  ${_.join(`
87
- `)}`:"";F.fail(E("Missing required argument: %s","Missing required arguments: %s",Object.keys(W).length,Object.keys(W).join(", ")+q))}},B.unknownArguments=function(A,J,W,_,q=!0){var P;let c=D.getInternalMethods().getCommandInstance().getCommands(),p=[],QD=D.getInternalMethods().getContext();if(Object.keys(A).forEach((d)=>{if(!E3.includes(d)&&!Object.prototype.hasOwnProperty.call(W,d)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),d)&&!B.isValidAndSomeAliasIsNotNew(d,J))p.push(d)}),q&&(QD.commands.length>0||c.length>0||_))A._.slice(QD.commands.length).forEach((d)=>{if(!c.includes(""+d))p.push(""+d)});if(q){let U=((P=D.getDemandedCommands()._)===null||P===void 0?void 0:P.max)||0,j=QD.commands.length+U;if(j<A._.length)A._.slice(j).forEach((S)=>{if(S=String(S),!QD.commands.includes(S)&&!p.includes(S))p.push(S)})}if(p.length)F.fail(E("Unknown argument: %s","Unknown arguments: %s",p.length,p.map((d)=>d.trim()?d:`"${d}"`).join(", ")))},B.unknownCommands=function(A){let J=D.getInternalMethods().getCommandInstance().getCommands(),W=[],_=D.getInternalMethods().getContext();if(_.commands.length>0||J.length>0)A._.slice(_.commands.length).forEach((q)=>{if(!J.includes(""+q))W.push(""+q)});if(W.length>0)return F.fail(E("Unknown command: %s","Unknown commands: %s",W.length,W.join(", "))),!0;else return!1},B.isValidAndSomeAliasIsNotNew=function(A,J){if(!Object.prototype.hasOwnProperty.call(J,A))return!1;let W=D.parsed.newAliases;return[A,...J[A]].some((_)=>!Object.prototype.hasOwnProperty.call(W,_)||!W[A])},B.limitedChoices=function(A){let J=D.getOptions(),W={};if(!Object.keys(J.choices).length)return;Object.keys(A).forEach((P)=>{if(E3.indexOf(P)===-1&&Object.prototype.hasOwnProperty.call(J.choices,P))[].concat(A[P]).forEach((c)=>{if(J.choices[P].indexOf(c)===-1&&c!==void 0)W[P]=(W[P]||[]).concat(c)})});let _=Object.keys(W);if(!_.length)return;let q=C("Invalid values:");_.forEach((P)=>{q+=`
88
- ${C("Argument: %s, Given: %s, Choices: %s",P,F.stringifiedValues(W[P]),F.stringifiedValues(J.choices[P]))}`}),F.fail(q)};let $={};B.implies=function(A,J){if(L("<string|object> [array|number|string]",[A,J],arguments.length),typeof A==="object")Object.keys(A).forEach((W)=>{B.implies(W,A[W])});else{if(D.global(A),!$[A])$[A]=[];if(Array.isArray(J))J.forEach((W)=>B.implies(A,W));else OD(J,void 0,u),$[A].push(J)}},B.getImplied=function(){return $};function Z(O,A){let J=Number(A);if(A=isNaN(J)?A:J,typeof A==="number")A=O._.length>=A;else if(A.match(/^--no-.+/))A=A.match(/^--no-(.+)/)[1],A=!Object.prototype.hasOwnProperty.call(O,A);else A=Object.prototype.hasOwnProperty.call(O,A);return A}B.implications=function(A){let J=[];if(Object.keys($).forEach((W)=>{let _=W;($[W]||[]).forEach((q)=>{let P=_,c=q;if(P=Z(A,P),q=Z(A,q),P&&!q)J.push(` ${_} -> ${c}`)})}),J.length){let W=`${C("Implications failed:")}
89
- `;J.forEach((_)=>{W+=_}),F.fail(W)}};let Q={};B.conflicts=function(A,J){if(L("<string|object> [array|string]",[A,J],arguments.length),typeof A==="object")Object.keys(A).forEach((W)=>{B.conflicts(W,A[W])});else{if(D.global(A),!Q[A])Q[A]=[];if(Array.isArray(J))J.forEach((W)=>B.conflicts(A,W));else Q[A].push(J)}},B.getConflicting=()=>Q,B.conflicting=function(A){if(Object.keys(A).forEach((J)=>{if(Q[J])Q[J].forEach((W)=>{if(W&&A[J]!==void 0&&A[W]!==void 0)F.fail(C("Arguments %s and %s are mutually exclusive",J,W))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Q).forEach((J)=>{Q[J].forEach((W)=>{if(W&&A[u.Parser.camelCase(J)]!==void 0&&A[u.Parser.camelCase(W)]!==void 0)F.fail(C("Arguments %s and %s are mutually exclusive",J,W))})})},B.recommendCommands=function(A,J){J=J.sort((P,c)=>c.length-P.length);let _=null,q=1/0;for(let P=0,c;(c=J[P])!==void 0;P++){let p=C3(A,c);if(p<=3&&p<q)q=p,_=c}if(_)F.fail(C("Did you mean %s?",_))},B.reset=function(A){return $=vD($,(J)=>!A[J]),Q=vD(Q,(J)=>!A[J]),B};let z=[];return B.freeze=function(){z.push({implied:$,conflicting:Q})},B.unfreeze=function(){let A=z.pop();OD(A,void 0,u),{implied:$,conflicting:Q}=A},B}var cF=[],M0;function V0(D,F,u,C){M0=C;let E={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return E;let B=/\.json|\..*rc$/.test(D.extends),$=null;if(!B)try{$=import.meta.resolve(D.extends)}catch(Z){return D}else $=fu(F,D.extends);vu($),cF.push($),E=B?JSON.parse(M0.readFileSync($,"utf8")):C.require(D.extends),delete D.extends,E=V0(E,M0.path.dirname($),u,M0)}return cF=[],u?$3(E,D):Object.assign({},E,D)}function vu(D){if(cF.indexOf(D)>-1)throw new DD(`Circular extended configurations: '${D}'.`)}function fu(D,F){return M0.path.resolve(D,F)}function $3(D,F){let u={};function C(E){return E&&typeof E==="object"&&!Array.isArray(E)}Object.assign(u,D);for(let E of Object.keys(F))if(C(F[E])&&C(u[E]))u[E]=$3(D[E],F[E]);else u[E]=F[E];return u}var N=function(D,F,u,C,E){if(C==="m")throw TypeError("Private method is not writable");if(C==="a"&&!E)throw TypeError("Private accessor was defined without a setter");if(typeof F==="function"?D!==F||!E:!F.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return C==="a"?E.call(D,u):E?E.value=u:F.set(D,u),u},X=function(D,F,u,C){if(u==="a"&&!C)throw TypeError("Private accessor was defined without a getter");if(typeof F==="function"?D!==F||!C:!F.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return u==="m"?C:u==="a"?C.call(D):C?C.value:F.get(D)},FD,nD,K0,JD,AD,y0,kD,iD,h0,_D,d0,MD,ND,GD,VD,p0,tD,XD,b,g0,m0,HD,sD,O0,rD,yD,c0,k,aD,eD,D0,h,l0,TD,a;function I3(D){return(F=[],u=D.process.cwd(),C)=>{let E=new L3(F,u,C,D);return Object.defineProperty(E,"argv",{get:()=>{return E.parse()},enumerable:!0}),E.help(),E.version(),E}}var Z3=Symbol("copyDoubleDash"),X3=Symbol("copyDoubleDash"),lF=Symbol("deleteFromParserHintObject"),Q3=Symbol("emitWarning"),z3=Symbol("freeze"),Y3=Symbol("getDollarZero"),F0=Symbol("getParserConfiguration"),O3=Symbol("getUsageConfiguration"),oF=Symbol("guessLocale"),J3=Symbol("guessVersion"),W3=Symbol("parsePositionalNumbers"),nF=Symbol("pkgUp"),hD=Symbol("populateParserHintArray"),J0=Symbol("populateParserHintSingleValueDictionary"),iF=Symbol("populateParserHintArrayDictionary"),tF=Symbol("populateParserHintDictionary"),sF=Symbol("sanitizeKey"),rF=Symbol("setKey"),aF=Symbol("unfreeze"),A3=Symbol("validateAsync"),G3=Symbol("getCommandInstance"),H3=Symbol("getContext"),q3=Symbol("getHasOutput"),_3=Symbol("getLoggerInstance"),M3=Symbol("getParseContext"),V3=Symbol("getUsageInstance"),K3=Symbol("getValidationInstance"),o0=Symbol("hasParseCallback"),R3=Symbol("isGlobalContext"),u0=Symbol("postProcess"),U3=Symbol("rebase"),eF=Symbol("reset"),R0=Symbol("runYargsParserAndExecuteCommands"),D2=Symbol("runValidation"),j3=Symbol("setHasOutput"),C0=Symbol("kTrackManuallySetKeys"),ku="en_US";class L3{constructor(D=[],F,u,C){this.customScriptName=!1,this.parsed=!1,FD.set(this,void 0),nD.set(this,void 0),K0.set(this,{commands:[],fullCommands:[]}),JD.set(this,null),AD.set(this,null),y0.set(this,"show-hidden"),kD.set(this,null),iD.set(this,!0),h0.set(this,{}),_D.set(this,!0),d0.set(this,[]),MD.set(this,void 0),ND.set(this,{}),GD.set(this,!1),VD.set(this,null),p0.set(this,!0),tD.set(this,void 0),XD.set(this,""),b.set(this,void 0),g0.set(this,void 0),m0.set(this,{}),HD.set(this,null),sD.set(this,null),O0.set(this,{}),rD.set(this,{}),yD.set(this,void 0),c0.set(this,!1),k.set(this,void 0),aD.set(this,!1),eD.set(this,!1),D0.set(this,!1),h.set(this,void 0),l0.set(this,{}),TD.set(this,null),a.set(this,void 0),N(this,k,C,"f"),N(this,yD,D,"f"),N(this,nD,F,"f"),N(this,g0,u,"f"),N(this,MD,new gF(this),"f"),this.$0=this[Y3](),this[eF](),N(this,FD,X(this,FD,"f"),"f"),N(this,h,X(this,h,"f"),"f"),N(this,a,X(this,a,"f"),"f"),N(this,b,X(this,b,"f"),"f"),X(this,b,"f").showHiddenOpt=X(this,y0,"f"),N(this,tD,this[X3](),"f"),X(this,k,"f").y18n.setLocale(ku)}addHelpOpt(D,F){if(L("[string|boolean] [string]",[D,F],arguments.length),X(this,VD,"f"))this[lF](X(this,VD,"f")),N(this,VD,null,"f");if(D===!1&&F===void 0)return this;return N(this,VD,typeof D==="string"?D:"help","f"),this.boolean(X(this,VD,"f")),this.describe(X(this,VD,"f"),F||X(this,h,"f").deferY18nLookup("Show help")),this}help(D,F){return this.addHelpOpt(D,F)}addShowHiddenOpt(D,F){if(L("[string|boolean] [string]",[D,F],arguments.length),D===!1&&F===void 0)return this;let u=typeof D==="string"?D:X(this,y0,"f");return this.boolean(u),this.describe(u,F||X(this,h,"f").deferY18nLookup("Show hidden options")),X(this,b,"f").showHiddenOpt=u,this}showHidden(D,F){return this.addShowHiddenOpt(D,F)}alias(D,F){return L("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.alias.bind(this),"alias",D,F),this}array(D){return L("<array|string>",[D],arguments.length),this[hD]("array",D),this[C0](D),this}boolean(D){return L("<array|string>",[D],arguments.length),this[hD]("boolean",D),this[C0](D),this}check(D,F){return L("<function> [boolean]",[D,F],arguments.length),this.middleware((u,C)=>{return oD(()=>{return D(u,C.getOptions())},(E)=>{if(!E)X(this,h,"f").fail(X(this,k,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof E==="string"||E instanceof Error)X(this,h,"f").fail(E.toString(),E);return u},(E)=>{return X(this,h,"f").fail(E.message?E.message:E.toString(),E),u})},!1,F),this}choices(D,F){return L("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.choices.bind(this),"choices",D,F),this}coerce(D,F){if(L("<object|string|array> [function]",[D,F],arguments.length),Array.isArray(D)){if(!F)throw new DD("coerce callback must be provided");for(let C of D)this.coerce(C,F);return this}else if(typeof D==="object"){for(let C of Object.keys(D))this.coerce(C,D[C]);return this}if(!F)throw new DD("coerce callback must be provided");let u=D;return X(this,b,"f").key[u]=!0,X(this,MD,"f").addCoerceMiddleware((C,E)=>{var B;let $=(B=E.getAliases()[u])!==null&&B!==void 0?B:[],Z=[u,...$].filter((Q)=>Object.prototype.hasOwnProperty.call(C,Q));if(Z.length===0)return C;return oD(()=>{return F(C[Z[0]])},(Q)=>{return Z.forEach((z)=>{C[z]=Q}),C},(Q)=>{throw new DD(Q.message)})},u),this}conflicts(D,F){return L("<string|object> [string|array]",[D,F],arguments.length),X(this,a,"f").conflicts(D,F),this}config(D="config",F,u){if(L("[object|string] [string|function] [function]",[D,F,u],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=V0(D,X(this,nD,"f"),this[F0]()["deep-merge-config"]||!1,X(this,k,"f")),X(this,b,"f").configObjects=(X(this,b,"f").configObjects||[]).concat(D),this;if(typeof F==="function")u=F,F=void 0;return this.describe(D,F||X(this,h,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((C)=>{X(this,b,"f").config[C]=u||!0}),this}completion(D,F,u){if(L("[string] [string|boolean|function] [function]",[D,F,u],arguments.length),typeof F==="function")u=F,F=void 0;if(N(this,AD,D||X(this,AD,"f")||"completion","f"),!F&&F!==!1)F="generate completion script";if(this.command(X(this,AD,"f"),F),u)X(this,JD,"f").registerFunction(u);return this}command(D,F,u,C,E,B){return L("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,F,u,C,E,B],arguments.length),X(this,FD,"f").addHandler(D,F,u,C,E,B),this}commands(D,F,u,C,E,B){return this.command(D,F,u,C,E,B)}commandDir(D,F){L("<string> [object]",[D,F],arguments.length);let u=X(this,g0,"f")||X(this,k,"f").require;return X(this,FD,"f").addDirectory(D,u,X(this,k,"f").getCallerFile(),F),this}count(D){return L("<array|string>",[D],arguments.length),this[hD]("count",D),this[C0](D),this}default(D,F,u){if(L("<object|string|array> [*] [string]",[D,F,u],arguments.length),u)pF(D,X(this,k,"f")),X(this,b,"f").defaultDescription[D]=u;if(typeof F==="function"){if(pF(D,X(this,k,"f")),!X(this,b,"f").defaultDescription[D])X(this,b,"f").defaultDescription[D]=X(this,h,"f").functionDescription(F);F=F.call()}return this[J0](this.default.bind(this),"default",D,F),this}defaults(D,F,u){return this.default(D,F,u)}demandCommand(D=1,F,u,C){if(L("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,F,u,C],arguments.length),typeof F!=="number")u=F,F=1/0;return this.global("_",!1),X(this,b,"f").demandedCommands._={min:D,max:F,minMsg:u,maxMsg:C},this}demand(D,F,u){if(Array.isArray(F))F.forEach((C)=>{OD(u,!0,X(this,k,"f")),this.demandOption(C,u)}),F=1/0;else if(typeof F!=="number")u=F,F=1/0;if(typeof D==="number")OD(u,!0,X(this,k,"f")),this.demandCommand(D,F,u,u);else if(Array.isArray(D))D.forEach((C)=>{OD(u,!0,X(this,k,"f")),this.demandOption(C,u)});else if(typeof u==="string")this.demandOption(D,u);else if(u===!0||typeof u>"u")this.demandOption(D);return this}demandOption(D,F){return L("<object|string|array> [string]",[D,F],arguments.length),this[J0](this.demandOption.bind(this),"demandedOptions",D,F),this}deprecateOption(D,F){return L("<string> [string|boolean]",[D,F],arguments.length),X(this,b,"f").deprecatedOptions[D]=F,this}describe(D,F){return L("<object|string|array> [string]",[D,F],arguments.length),this[rF](D,!0),X(this,h,"f").describe(D,F),this}detectLocale(D){return L("<boolean>",[D],arguments.length),N(this,iD,D,"f"),this}env(D){if(L("[string|boolean]",[D],arguments.length),D===!1)delete X(this,b,"f").envPrefix;else X(this,b,"f").envPrefix=D||"";return this}epilogue(D){return L("<string>",[D],arguments.length),X(this,h,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,F){if(L("<string|array> [string]",[D,F],arguments.length),Array.isArray(D))D.forEach((u)=>this.example(...u));else X(this,h,"f").example(D,F);return this}exit(D,F){if(N(this,GD,!0,"f"),N(this,kD,F,"f"),X(this,_D,"f"))X(this,k,"f").process.exit(D)}exitProcess(D=!0){return L("[boolean]",[D],arguments.length),N(this,_D,D,"f"),this}fail(D){if(L("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new DD("Invalid first argument. Expected function or boolean 'false'");return X(this,h,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,F){if(L("<array> [function]",[D,F],arguments.length),!F)return new Promise((u,C)=>{X(this,JD,"f").getCompletion(D,(E,B)=>{if(E)C(E);else u(B)})});else return X(this,JD,"f").getCompletion(D,F)}getDemandedOptions(){return L([],0),X(this,b,"f").demandedOptions}getDemandedCommands(){return L([],0),X(this,b,"f").demandedCommands}getDeprecatedOptions(){return L([],0),X(this,b,"f").deprecatedOptions}getDetectLocale(){return X(this,iD,"f")}getExitProcess(){return X(this,_D,"f")}getGroups(){return Object.assign({},X(this,ND,"f"),X(this,rD,"f"))}getHelp(){if(N(this,GD,!0,"f"),!X(this,h,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[R0](X(this,yD,"f"),void 0,void 0,0,!0);if(s(F))return F.then(()=>{return X(this,h,"f").help()})}let D=X(this,FD,"f").runDefaultBuilderOn(this);if(s(D))return D.then(()=>{return X(this,h,"f").help()})}return Promise.resolve(X(this,h,"f").help())}getOptions(){return X(this,b,"f")}getStrict(){return X(this,aD,"f")}getStrictCommands(){return X(this,eD,"f")}getStrictOptions(){return X(this,D0,"f")}global(D,F){if(L("<string|array> [boolean]",[D,F],arguments.length),D=[].concat(D),F!==!1)X(this,b,"f").local=X(this,b,"f").local.filter((u)=>D.indexOf(u)===-1);else D.forEach((u)=>{if(!X(this,b,"f").local.includes(u))X(this,b,"f").local.push(u)});return this}group(D,F){L("<string|array> <string>",[D,F],arguments.length);let u=X(this,rD,"f")[F]||X(this,ND,"f")[F];if(X(this,rD,"f")[F])delete X(this,rD,"f")[F];let C={};return X(this,ND,"f")[F]=(u||[]).concat(D).filter((E)=>{if(C[E])return!1;return C[E]=!0}),this}hide(D){return L("<string>",[D],arguments.length),X(this,b,"f").hiddenOptions.push(D),this}implies(D,F){return L("<string|object> [number|string|array]",[D,F],arguments.length),X(this,a,"f").implies(D,F),this}locale(D){if(L("[string]",[D],arguments.length),D===void 0)return this[oF](),X(this,k,"f").y18n.getLocale();return N(this,iD,!1,"f"),X(this,k,"f").y18n.setLocale(D),this}middleware(D,F,u){return X(this,MD,"f").addMiddleware(D,!!F,u)}nargs(D,F){return L("<string|object|array> [number]",[D,F],arguments.length),this[J0](this.nargs.bind(this),"narg",D,F),this}normalize(D){return L("<array|string>",[D],arguments.length),this[hD]("normalize",D),this}number(D){return L("<array|string>",[D],arguments.length),this[hD]("number",D),this[C0](D),this}option(D,F){if(L("<string|object> [object]",[D,F],arguments.length),typeof D==="object")Object.keys(D).forEach((u)=>{this.options(u,D[u])});else{if(typeof F!=="object")F={};if(this[C0](D),X(this,TD,"f")&&(D==="version"||(F===null||F===void 0?void 0:F.alias)==="version"))this[Q3](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
87
+ `)}`:"";F.fail(E("Missing required argument: %s","Missing required arguments: %s",Object.keys(A).length,Object.keys(A).join(", ")+q))}},B.unknownArguments=function(W,J,A,_,q=!0){var P;let c=D.getInternalMethods().getCommandInstance().getCommands(),p=[],QD=D.getInternalMethods().getContext();if(Object.keys(W).forEach((d)=>{if(!E3.includes(d)&&!Object.prototype.hasOwnProperty.call(A,d)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),d)&&!B.isValidAndSomeAliasIsNotNew(d,J))p.push(d)}),q&&(QD.commands.length>0||c.length>0||_))W._.slice(QD.commands.length).forEach((d)=>{if(!c.includes(""+d))p.push(""+d)});if(q){let U=((P=D.getDemandedCommands()._)===null||P===void 0?void 0:P.max)||0,j=QD.commands.length+U;if(j<W._.length)W._.slice(j).forEach((S)=>{if(S=String(S),!QD.commands.includes(S)&&!p.includes(S))p.push(S)})}if(p.length)F.fail(E("Unknown argument: %s","Unknown arguments: %s",p.length,p.map((d)=>d.trim()?d:`"${d}"`).join(", ")))},B.unknownCommands=function(W){let J=D.getInternalMethods().getCommandInstance().getCommands(),A=[],_=D.getInternalMethods().getContext();if(_.commands.length>0||J.length>0)W._.slice(_.commands.length).forEach((q)=>{if(!J.includes(""+q))A.push(""+q)});if(A.length>0)return F.fail(E("Unknown command: %s","Unknown commands: %s",A.length,A.join(", "))),!0;else return!1},B.isValidAndSomeAliasIsNotNew=function(W,J){if(!Object.prototype.hasOwnProperty.call(J,W))return!1;let A=D.parsed.newAliases;return[W,...J[W]].some((_)=>!Object.prototype.hasOwnProperty.call(A,_)||!A[W])},B.limitedChoices=function(W){let J=D.getOptions(),A={};if(!Object.keys(J.choices).length)return;Object.keys(W).forEach((P)=>{if(E3.indexOf(P)===-1&&Object.prototype.hasOwnProperty.call(J.choices,P))[].concat(W[P]).forEach((c)=>{if(J.choices[P].indexOf(c)===-1&&c!==void 0)A[P]=(A[P]||[]).concat(c)})});let _=Object.keys(A);if(!_.length)return;let q=C("Invalid values:");_.forEach((P)=>{q+=`
88
+ ${C("Argument: %s, Given: %s, Choices: %s",P,F.stringifiedValues(A[P]),F.stringifiedValues(J.choices[P]))}`}),F.fail(q)};let $={};B.implies=function(W,J){if(L("<string|object> [array|number|string]",[W,J],arguments.length),typeof W==="object")Object.keys(W).forEach((A)=>{B.implies(A,W[A])});else{if(D.global(W),!$[W])$[W]=[];if(Array.isArray(J))J.forEach((A)=>B.implies(W,A));else OD(J,void 0,u),$[W].push(J)}},B.getImplied=function(){return $};function Z(O,W){let J=Number(W);if(W=isNaN(J)?W:J,typeof W==="number")W=O._.length>=W;else if(W.match(/^--no-.+/))W=W.match(/^--no-(.+)/)[1],W=!Object.prototype.hasOwnProperty.call(O,W);else W=Object.prototype.hasOwnProperty.call(O,W);return W}B.implications=function(W){let J=[];if(Object.keys($).forEach((A)=>{let _=A;($[A]||[]).forEach((q)=>{let P=_,c=q;if(P=Z(W,P),q=Z(W,q),P&&!q)J.push(` ${_} -> ${c}`)})}),J.length){let A=`${C("Implications failed:")}
89
+ `;J.forEach((_)=>{A+=_}),F.fail(A)}};let Q={};B.conflicts=function(W,J){if(L("<string|object> [array|string]",[W,J],arguments.length),typeof W==="object")Object.keys(W).forEach((A)=>{B.conflicts(A,W[A])});else{if(D.global(W),!Q[W])Q[W]=[];if(Array.isArray(J))J.forEach((A)=>B.conflicts(W,A));else Q[W].push(J)}},B.getConflicting=()=>Q,B.conflicting=function(W){if(Object.keys(W).forEach((J)=>{if(Q[J])Q[J].forEach((A)=>{if(A&&W[J]!==void 0&&W[A]!==void 0)F.fail(C("Arguments %s and %s are mutually exclusive",J,A))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Q).forEach((J)=>{Q[J].forEach((A)=>{if(A&&W[u.Parser.camelCase(J)]!==void 0&&W[u.Parser.camelCase(A)]!==void 0)F.fail(C("Arguments %s and %s are mutually exclusive",J,A))})})},B.recommendCommands=function(W,J){J=J.sort((P,c)=>c.length-P.length);let _=null,q=1/0;for(let P=0,c;(c=J[P])!==void 0;P++){let p=C3(W,c);if(p<=3&&p<q)q=p,_=c}if(_)F.fail(C("Did you mean %s?",_))},B.reset=function(W){return $=vD($,(J)=>!W[J]),Q=vD(Q,(J)=>!W[J]),B};let z=[];return B.freeze=function(){z.push({implied:$,conflicting:Q})},B.unfreeze=function(){let W=z.pop();OD(W,void 0,u),{implied:$,conflicting:Q}=W},B}var cF=[],M0;function V0(D,F,u,C){M0=C;let E={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return E;let B=/\.json|\..*rc$/.test(D.extends),$=null;if(!B)try{$=import.meta.resolve(D.extends)}catch(Z){return D}else $=fu(F,D.extends);vu($),cF.push($),E=B?JSON.parse(M0.readFileSync($,"utf8")):C.require(D.extends),delete D.extends,E=V0(E,M0.path.dirname($),u,M0)}return cF=[],u?$3(E,D):Object.assign({},E,D)}function vu(D){if(cF.indexOf(D)>-1)throw new DD(`Circular extended configurations: '${D}'.`)}function fu(D,F){return M0.path.resolve(D,F)}function $3(D,F){let u={};function C(E){return E&&typeof E==="object"&&!Array.isArray(E)}Object.assign(u,D);for(let E of Object.keys(F))if(C(F[E])&&C(u[E]))u[E]=$3(D[E],F[E]);else u[E]=F[E];return u}var N=function(D,F,u,C,E){if(C==="m")throw TypeError("Private method is not writable");if(C==="a"&&!E)throw TypeError("Private accessor was defined without a setter");if(typeof F==="function"?D!==F||!E:!F.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return C==="a"?E.call(D,u):E?E.value=u:F.set(D,u),u},X=function(D,F,u,C){if(u==="a"&&!C)throw TypeError("Private accessor was defined without a getter");if(typeof F==="function"?D!==F||!C:!F.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return u==="m"?C:u==="a"?C.call(D):C?C.value:F.get(D)},FD,nD,K0,JD,AD,y0,kD,iD,h0,_D,d0,MD,ND,GD,VD,p0,tD,XD,b,g0,m0,HD,sD,O0,rD,yD,c0,k,aD,eD,D0,h,l0,TD,a;function I3(D){return(F=[],u=D.process.cwd(),C)=>{let E=new L3(F,u,C,D);return Object.defineProperty(E,"argv",{get:()=>{return E.parse()},enumerable:!0}),E.help(),E.version(),E}}var Z3=Symbol("copyDoubleDash"),X3=Symbol("copyDoubleDash"),lF=Symbol("deleteFromParserHintObject"),Q3=Symbol("emitWarning"),z3=Symbol("freeze"),Y3=Symbol("getDollarZero"),F0=Symbol("getParserConfiguration"),O3=Symbol("getUsageConfiguration"),oF=Symbol("guessLocale"),J3=Symbol("guessVersion"),W3=Symbol("parsePositionalNumbers"),nF=Symbol("pkgUp"),hD=Symbol("populateParserHintArray"),J0=Symbol("populateParserHintSingleValueDictionary"),iF=Symbol("populateParserHintArrayDictionary"),tF=Symbol("populateParserHintDictionary"),sF=Symbol("sanitizeKey"),rF=Symbol("setKey"),aF=Symbol("unfreeze"),A3=Symbol("validateAsync"),G3=Symbol("getCommandInstance"),H3=Symbol("getContext"),q3=Symbol("getHasOutput"),_3=Symbol("getLoggerInstance"),M3=Symbol("getParseContext"),V3=Symbol("getUsageInstance"),K3=Symbol("getValidationInstance"),o0=Symbol("hasParseCallback"),R3=Symbol("isGlobalContext"),u0=Symbol("postProcess"),U3=Symbol("rebase"),eF=Symbol("reset"),R0=Symbol("runYargsParserAndExecuteCommands"),D2=Symbol("runValidation"),j3=Symbol("setHasOutput"),C0=Symbol("kTrackManuallySetKeys"),ku="en_US";class L3{constructor(D=[],F,u,C){this.customScriptName=!1,this.parsed=!1,FD.set(this,void 0),nD.set(this,void 0),K0.set(this,{commands:[],fullCommands:[]}),JD.set(this,null),AD.set(this,null),y0.set(this,"show-hidden"),kD.set(this,null),iD.set(this,!0),h0.set(this,{}),_D.set(this,!0),d0.set(this,[]),MD.set(this,void 0),ND.set(this,{}),GD.set(this,!1),VD.set(this,null),p0.set(this,!0),tD.set(this,void 0),XD.set(this,""),b.set(this,void 0),g0.set(this,void 0),m0.set(this,{}),HD.set(this,null),sD.set(this,null),O0.set(this,{}),rD.set(this,{}),yD.set(this,void 0),c0.set(this,!1),k.set(this,void 0),aD.set(this,!1),eD.set(this,!1),D0.set(this,!1),h.set(this,void 0),l0.set(this,{}),TD.set(this,null),a.set(this,void 0),N(this,k,C,"f"),N(this,yD,D,"f"),N(this,nD,F,"f"),N(this,g0,u,"f"),N(this,MD,new gF(this),"f"),this.$0=this[Y3](),this[eF](),N(this,FD,X(this,FD,"f"),"f"),N(this,h,X(this,h,"f"),"f"),N(this,a,X(this,a,"f"),"f"),N(this,b,X(this,b,"f"),"f"),X(this,b,"f").showHiddenOpt=X(this,y0,"f"),N(this,tD,this[X3](),"f"),X(this,k,"f").y18n.setLocale(ku)}addHelpOpt(D,F){if(L("[string|boolean] [string]",[D,F],arguments.length),X(this,VD,"f"))this[lF](X(this,VD,"f")),N(this,VD,null,"f");if(D===!1&&F===void 0)return this;return N(this,VD,typeof D==="string"?D:"help","f"),this.boolean(X(this,VD,"f")),this.describe(X(this,VD,"f"),F||X(this,h,"f").deferY18nLookup("Show help")),this}help(D,F){return this.addHelpOpt(D,F)}addShowHiddenOpt(D,F){if(L("[string|boolean] [string]",[D,F],arguments.length),D===!1&&F===void 0)return this;let u=typeof D==="string"?D:X(this,y0,"f");return this.boolean(u),this.describe(u,F||X(this,h,"f").deferY18nLookup("Show hidden options")),X(this,b,"f").showHiddenOpt=u,this}showHidden(D,F){return this.addShowHiddenOpt(D,F)}alias(D,F){return L("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.alias.bind(this),"alias",D,F),this}array(D){return L("<array|string>",[D],arguments.length),this[hD]("array",D),this[C0](D),this}boolean(D){return L("<array|string>",[D],arguments.length),this[hD]("boolean",D),this[C0](D),this}check(D,F){return L("<function> [boolean]",[D,F],arguments.length),this.middleware((u,C)=>{return oD(()=>{return D(u,C.getOptions())},(E)=>{if(!E)X(this,h,"f").fail(X(this,k,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof E==="string"||E instanceof Error)X(this,h,"f").fail(E.toString(),E);return u},(E)=>{return X(this,h,"f").fail(E.message?E.message:E.toString(),E),u})},!1,F),this}choices(D,F){return L("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.choices.bind(this),"choices",D,F),this}coerce(D,F){if(L("<object|string|array> [function]",[D,F],arguments.length),Array.isArray(D)){if(!F)throw new DD("coerce callback must be provided");for(let C of D)this.coerce(C,F);return this}else if(typeof D==="object"){for(let C of Object.keys(D))this.coerce(C,D[C]);return this}if(!F)throw new DD("coerce callback must be provided");let u=D;return X(this,b,"f").key[u]=!0,X(this,MD,"f").addCoerceMiddleware((C,E)=>{var B;let $=(B=E.getAliases()[u])!==null&&B!==void 0?B:[],Z=[u,...$].filter((Q)=>Object.prototype.hasOwnProperty.call(C,Q));if(Z.length===0)return C;return oD(()=>{return F(C[Z[0]])},(Q)=>{return Z.forEach((z)=>{C[z]=Q}),C},(Q)=>{throw new DD(Q.message)})},u),this}conflicts(D,F){return L("<string|object> [string|array]",[D,F],arguments.length),X(this,a,"f").conflicts(D,F),this}config(D="config",F,u){if(L("[object|string] [string|function] [function]",[D,F,u],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=V0(D,X(this,nD,"f"),this[F0]()["deep-merge-config"]||!1,X(this,k,"f")),X(this,b,"f").configObjects=(X(this,b,"f").configObjects||[]).concat(D),this;if(typeof F==="function")u=F,F=void 0;return this.describe(D,F||X(this,h,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((C)=>{X(this,b,"f").config[C]=u||!0}),this}completion(D,F,u){if(L("[string] [string|boolean|function] [function]",[D,F,u],arguments.length),typeof F==="function")u=F,F=void 0;if(N(this,AD,D||X(this,AD,"f")||"completion","f"),!F&&F!==!1)F="generate completion script";if(this.command(X(this,AD,"f"),F),u)X(this,JD,"f").registerFunction(u);return this}command(D,F,u,C,E,B){return L("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,F,u,C,E,B],arguments.length),X(this,FD,"f").addHandler(D,F,u,C,E,B),this}commands(D,F,u,C,E,B){return this.command(D,F,u,C,E,B)}commandDir(D,F){L("<string> [object]",[D,F],arguments.length);let u=X(this,g0,"f")||X(this,k,"f").require;return X(this,FD,"f").addDirectory(D,u,X(this,k,"f").getCallerFile(),F),this}count(D){return L("<array|string>",[D],arguments.length),this[hD]("count",D),this[C0](D),this}default(D,F,u){if(L("<object|string|array> [*] [string]",[D,F,u],arguments.length),u)pF(D,X(this,k,"f")),X(this,b,"f").defaultDescription[D]=u;if(typeof F==="function"){if(pF(D,X(this,k,"f")),!X(this,b,"f").defaultDescription[D])X(this,b,"f").defaultDescription[D]=X(this,h,"f").functionDescription(F);F=F.call()}return this[J0](this.default.bind(this),"default",D,F),this}defaults(D,F,u){return this.default(D,F,u)}demandCommand(D=1,F,u,C){if(L("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,F,u,C],arguments.length),typeof F!=="number")u=F,F=1/0;return this.global("_",!1),X(this,b,"f").demandedCommands._={min:D,max:F,minMsg:u,maxMsg:C},this}demand(D,F,u){if(Array.isArray(F))F.forEach((C)=>{OD(u,!0,X(this,k,"f")),this.demandOption(C,u)}),F=1/0;else if(typeof F!=="number")u=F,F=1/0;if(typeof D==="number")OD(u,!0,X(this,k,"f")),this.demandCommand(D,F,u,u);else if(Array.isArray(D))D.forEach((C)=>{OD(u,!0,X(this,k,"f")),this.demandOption(C,u)});else if(typeof u==="string")this.demandOption(D,u);else if(u===!0||typeof u>"u")this.demandOption(D);return this}demandOption(D,F){return L("<object|string|array> [string]",[D,F],arguments.length),this[J0](this.demandOption.bind(this),"demandedOptions",D,F),this}deprecateOption(D,F){return L("<string> [string|boolean]",[D,F],arguments.length),X(this,b,"f").deprecatedOptions[D]=F,this}describe(D,F){return L("<object|string|array> [string]",[D,F],arguments.length),this[rF](D,!0),X(this,h,"f").describe(D,F),this}detectLocale(D){return L("<boolean>",[D],arguments.length),N(this,iD,D,"f"),this}env(D){if(L("[string|boolean]",[D],arguments.length),D===!1)delete X(this,b,"f").envPrefix;else X(this,b,"f").envPrefix=D||"";return this}epilogue(D){return L("<string>",[D],arguments.length),X(this,h,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,F){if(L("<string|array> [string]",[D,F],arguments.length),Array.isArray(D))D.forEach((u)=>this.example(...u));else X(this,h,"f").example(D,F);return this}exit(D,F){if(N(this,GD,!0,"f"),N(this,kD,F,"f"),X(this,_D,"f"))X(this,k,"f").process.exit(D)}exitProcess(D=!0){return L("[boolean]",[D],arguments.length),N(this,_D,D,"f"),this}fail(D){if(L("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new DD("Invalid first argument. Expected function or boolean 'false'");return X(this,h,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,F){if(L("<array> [function]",[D,F],arguments.length),!F)return new Promise((u,C)=>{X(this,JD,"f").getCompletion(D,(E,B)=>{if(E)C(E);else u(B)})});else return X(this,JD,"f").getCompletion(D,F)}getDemandedOptions(){return L([],0),X(this,b,"f").demandedOptions}getDemandedCommands(){return L([],0),X(this,b,"f").demandedCommands}getDeprecatedOptions(){return L([],0),X(this,b,"f").deprecatedOptions}getDetectLocale(){return X(this,iD,"f")}getExitProcess(){return X(this,_D,"f")}getGroups(){return Object.assign({},X(this,ND,"f"),X(this,rD,"f"))}getHelp(){if(N(this,GD,!0,"f"),!X(this,h,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[R0](X(this,yD,"f"),void 0,void 0,0,!0);if(s(F))return F.then(()=>{return X(this,h,"f").help()})}let D=X(this,FD,"f").runDefaultBuilderOn(this);if(s(D))return D.then(()=>{return X(this,h,"f").help()})}return Promise.resolve(X(this,h,"f").help())}getOptions(){return X(this,b,"f")}getStrict(){return X(this,aD,"f")}getStrictCommands(){return X(this,eD,"f")}getStrictOptions(){return X(this,D0,"f")}global(D,F){if(L("<string|array> [boolean]",[D,F],arguments.length),D=[].concat(D),F!==!1)X(this,b,"f").local=X(this,b,"f").local.filter((u)=>D.indexOf(u)===-1);else D.forEach((u)=>{if(!X(this,b,"f").local.includes(u))X(this,b,"f").local.push(u)});return this}group(D,F){L("<string|array> <string>",[D,F],arguments.length);let u=X(this,rD,"f")[F]||X(this,ND,"f")[F];if(X(this,rD,"f")[F])delete X(this,rD,"f")[F];let C={};return X(this,ND,"f")[F]=(u||[]).concat(D).filter((E)=>{if(C[E])return!1;return C[E]=!0}),this}hide(D){return L("<string>",[D],arguments.length),X(this,b,"f").hiddenOptions.push(D),this}implies(D,F){return L("<string|object> [number|string|array]",[D,F],arguments.length),X(this,a,"f").implies(D,F),this}locale(D){if(L("[string]",[D],arguments.length),D===void 0)return this[oF](),X(this,k,"f").y18n.getLocale();return N(this,iD,!1,"f"),X(this,k,"f").y18n.setLocale(D),this}middleware(D,F,u){return X(this,MD,"f").addMiddleware(D,!!F,u)}nargs(D,F){return L("<string|object|array> [number]",[D,F],arguments.length),this[J0](this.nargs.bind(this),"narg",D,F),this}normalize(D){return L("<array|string>",[D],arguments.length),this[hD]("normalize",D),this}number(D){return L("<array|string>",[D],arguments.length),this[hD]("number",D),this[C0](D),this}option(D,F){if(L("<string|object> [object]",[D,F],arguments.length),typeof D==="object")Object.keys(D).forEach((u)=>{this.options(u,D[u])});else{if(typeof F!=="object")F={};if(this[C0](D),X(this,TD,"f")&&(D==="version"||(F===null||F===void 0?void 0:F.alias)==="version"))this[Q3](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
90
90
  `),void 0,"versionWarning");if(X(this,b,"f").key[D]=!0,F.alias)this.alias(D,F.alias);let u=F.deprecate||F.deprecated;if(u)this.deprecateOption(D,u);let C=F.demand||F.required||F.require;if(C)this.demand(D,C);if(F.demandOption)this.demandOption(D,typeof F.demandOption==="string"?F.demandOption:void 0);if(F.conflicts)this.conflicts(D,F.conflicts);if("default"in F)this.default(D,F.default);if(F.implies!==void 0)this.implies(D,F.implies);if(F.nargs!==void 0)this.nargs(D,F.nargs);if(F.config)this.config(D,F.configParser);if(F.normalize)this.normalize(D);if(F.choices)this.choices(D,F.choices);if(F.coerce)this.coerce(D,F.coerce);if(F.group)this.group(D,F.group);if(F.boolean||F.type==="boolean"){if(this.boolean(D),F.alias)this.boolean(F.alias)}if(F.array||F.type==="array"){if(this.array(D),F.alias)this.array(F.alias)}if(F.number||F.type==="number"){if(this.number(D),F.alias)this.number(F.alias)}if(F.string||F.type==="string"){if(this.string(D),F.alias)this.string(F.alias)}if(F.count||F.type==="count")this.count(D);if(typeof F.global==="boolean")this.global(D,F.global);if(F.defaultDescription)X(this,b,"f").defaultDescription[D]=F.defaultDescription;if(F.skipValidation)this.skipValidation(D);let E=F.describe||F.description||F.desc,B=X(this,h,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(B,D)||typeof E==="string")this.describe(D,E);if(F.hidden)this.hide(D);if(F.requiresArg)this.requiresArg(D)}return this}options(D,F){return this.option(D,F)}parse(D,F,u){if(L("[string|array] [function|boolean|object] [function]",[D,F,u],arguments.length),this[z3](),typeof D>"u")D=X(this,yD,"f");if(typeof F==="object")N(this,sD,F,"f"),F=u;if(typeof F==="function")N(this,HD,F,"f"),F=!1;if(!F)N(this,yD,D,"f");if(X(this,HD,"f"))N(this,_D,!1,"f");let C=this[R0](D,!!F),E=this.parsed;if(X(this,JD,"f").setParsed(this.parsed),s(C))return C.then((B)=>{if(X(this,HD,"f"))X(this,HD,"f").call(this,X(this,kD,"f"),B,X(this,XD,"f"));return B}).catch((B)=>{if(X(this,HD,"f"))X(this,HD,"f")(B,this.parsed.argv,X(this,XD,"f"));throw B}).finally(()=>{this[aF](),this.parsed=E});else{if(X(this,HD,"f"))X(this,HD,"f").call(this,X(this,kD,"f"),C,X(this,XD,"f"));this[aF](),this.parsed=E}return C}parseAsync(D,F,u){let C=this.parse(D,F,u);return!s(C)?Promise.resolve(C):C}parseSync(D,F,u){let C=this.parse(D,F,u);if(s(C))throw new DD(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return C}parserConfiguration(D){return L("<object>",[D],arguments.length),N(this,m0,D,"f"),this}pkgConf(D,F){L("<string> [string]",[D,F],arguments.length);let u=null,C=this[nF](F||X(this,nD,"f"));if(C[D]&&typeof C[D]==="object")u=V0(C[D],F||X(this,nD,"f"),this[F0]()["deep-merge-config"]||!1,X(this,k,"f")),X(this,b,"f").configObjects=(X(this,b,"f").configObjects||[]).concat(u);return this}positional(D,F){L("<string> <object>",[D,F],arguments.length);let u=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];F=vD(F,(B,$)=>{if(B==="type"&&!["string","number","boolean"].includes($))return!1;return u.includes(B)});let C=X(this,K0,"f").fullCommands[X(this,K0,"f").fullCommands.length-1],E=C?X(this,FD,"f").cmdToParseOptions(C):{array:[],alias:{},default:{},demand:{}};return z0(E).forEach((B)=>{let $=E[B];if(Array.isArray($)){if($.indexOf(D)!==-1)F[B]=!0}else if($[D]&&!(B in F))F[B]=$[D]}),this.group(D,X(this,h,"f").getPositionalGroupName()),this.option(D,F)}recommendCommands(D=!0){return L("[boolean]",[D],arguments.length),N(this,c0,D,"f"),this}required(D,F,u){return this.demand(D,F,u)}require(D,F,u){return this.demand(D,F,u)}requiresArg(D){if(L("<array|string|object> [number]",[D],arguments.length),typeof D==="string"&&X(this,b,"f").narg[D])return this;else this[J0](this.requiresArg.bind(this),"narg",D,NaN);return this}showCompletionScript(D,F){return L("[string] [string]",[D,F],arguments.length),D=D||this.$0,X(this,tD,"f").log(X(this,JD,"f").generateCompletionScript(D,F||X(this,AD,"f")||"completion")),this}showHelp(D){if(L("[string|function]",[D],arguments.length),N(this,GD,!0,"f"),!X(this,h,"f").hasCachedHelpMessage()){if(!this.parsed){let u=this[R0](X(this,yD,"f"),void 0,void 0,0,!0);if(s(u))return u.then(()=>{X(this,h,"f").showHelp(D)}),this}let F=X(this,FD,"f").runDefaultBuilderOn(this);if(s(F))return F.then(()=>{X(this,h,"f").showHelp(D)}),this}return X(this,h,"f").showHelp(D),this}scriptName(D){return this.customScriptName=!0,this.$0=D,this}showHelpOnFail(D,F){return L("[boolean|string] [string]",[D,F],arguments.length),X(this,h,"f").showHelpOnFail(D,F),this}showVersion(D){return L("[string|function]",[D],arguments.length),X(this,h,"f").showVersion(D),this}skipValidation(D){return L("<array|string>",[D],arguments.length),this[hD]("skipValidation",D),this}strict(D){return L("[boolean]",[D],arguments.length),N(this,aD,D!==!1,"f"),this}strictCommands(D){return L("[boolean]",[D],arguments.length),N(this,eD,D!==!1,"f"),this}strictOptions(D){return L("[boolean]",[D],arguments.length),N(this,D0,D!==!1,"f"),this}string(D){return L("<array|string>",[D],arguments.length),this[hD]("string",D),this[C0](D),this}terminalWidth(){return L([],0),X(this,k,"f").process.stdColumns}updateLocale(D){return this.updateStrings(D)}updateStrings(D){return L("<object>",[D],arguments.length),N(this,iD,!1,"f"),X(this,k,"f").y18n.updateLocale(D),this}usage(D,F,u,C){if(L("<string|null|undefined> [string|boolean] [function|object] [function]",[D,F,u,C],arguments.length),F!==void 0)if(OD(D,null,X(this,k,"f")),(D||"").match(/^\$0( |$)/))return this.command(D,F,u,C);else throw new DD(".usage() description must start with $0 if being used as alias for .command()");else return X(this,h,"f").usage(D),this}usageConfiguration(D){return L("<object>",[D],arguments.length),N(this,l0,D,"f"),this}version(D,F,u){if(L("[boolean|string] [string] [string]",[D,F,u],arguments.length),X(this,TD,"f"))this[lF](X(this,TD,"f")),X(this,h,"f").version(void 0),N(this,TD,null,"f");if(arguments.length===0)u=this[J3](),D="version";else if(arguments.length===1){if(D===!1)return this;u=D,D="version"}else if(arguments.length===2)u=F,F=void 0;return N(this,TD,typeof D==="string"?D:"version","f"),F=F||X(this,h,"f").deferY18nLookup("Show version number"),X(this,h,"f").version(u||void 0),this.boolean(X(this,TD,"f")),this.describe(X(this,TD,"f"),F),this}wrap(D){return L("<number|null|undefined>",[D],arguments.length),X(this,h,"f").wrap(D),this}[(FD=new WeakMap,nD=new WeakMap,K0=new WeakMap,JD=new WeakMap,AD=new WeakMap,y0=new WeakMap,kD=new WeakMap,iD=new WeakMap,h0=new WeakMap,_D=new WeakMap,d0=new WeakMap,MD=new WeakMap,ND=new WeakMap,GD=new WeakMap,VD=new WeakMap,p0=new WeakMap,tD=new WeakMap,XD=new WeakMap,b=new WeakMap,g0=new WeakMap,m0=new WeakMap,HD=new WeakMap,sD=new WeakMap,O0=new WeakMap,rD=new WeakMap,yD=new WeakMap,c0=new WeakMap,k=new WeakMap,aD=new WeakMap,eD=new WeakMap,D0=new WeakMap,h=new WeakMap,l0=new WeakMap,TD=new WeakMap,a=new WeakMap,Z3)](D){if(!D._||!D["--"])return D;D._.push.apply(D._,D["--"]);try{delete D["--"]}catch(F){}return D}[X3](){return{log:(...D)=>{if(!this[o0]())console.log(...D);if(N(this,GD,!0,"f"),X(this,XD,"f").length)N(this,XD,X(this,XD,"f")+`
91
91
  `,"f");N(this,XD,X(this,XD,"f")+D.join(" "),"f")},error:(...D)=>{if(!this[o0]())console.error(...D);if(N(this,GD,!0,"f"),X(this,XD,"f").length)N(this,XD,X(this,XD,"f")+`
92
- `,"f");N(this,XD,X(this,XD,"f")+D.join(" "),"f")}}}[lF](D){z0(X(this,b,"f")).forEach((F)=>{if(((C)=>C==="configObjects")(F))return;let u=X(this,b,"f")[F];if(Array.isArray(u)){if(u.includes(D))u.splice(u.indexOf(D),1)}else if(typeof u==="object")delete u[D]}),delete X(this,h,"f").getDescriptions()[D]}[Q3](D,F,u){if(!X(this,h0,"f")[u])X(this,k,"f").process.emitWarning(D,F),X(this,h0,"f")[u]=!0}[z3](){X(this,d0,"f").push({options:X(this,b,"f"),configObjects:X(this,b,"f").configObjects.slice(0),exitProcess:X(this,_D,"f"),groups:X(this,ND,"f"),strict:X(this,aD,"f"),strictCommands:X(this,eD,"f"),strictOptions:X(this,D0,"f"),completionCommand:X(this,AD,"f"),output:X(this,XD,"f"),exitError:X(this,kD,"f"),hasOutput:X(this,GD,"f"),parsed:this.parsed,parseFn:X(this,HD,"f"),parseContext:X(this,sD,"f")}),X(this,h,"f").freeze(),X(this,a,"f").freeze(),X(this,FD,"f").freeze(),X(this,MD,"f").freeze()}[Y3](){let D="",F;if(/\b(node|iojs|electron)(\.exe)?$/.test(X(this,k,"f").process.argv()[0]))F=X(this,k,"f").process.argv().slice(1,2);else F=X(this,k,"f").process.argv().slice(0,1);if(D=F.map((u)=>{let C=this[U3](X(this,nD,"f"),u);return u.match(/^(\/|([a-zA-Z]:)?\\)/)&&C.length<u.length?C:u}).join(" ").trim(),X(this,k,"f").getEnv("_")&&X(this,k,"f").getProcessArgvBin()===X(this,k,"f").getEnv("_"))D=X(this,k,"f").getEnv("_").replace(`${X(this,k,"f").path.dirname(X(this,k,"f").process.execPath())}/`,"");return D}[F0](){return X(this,m0,"f")}[O3](){return X(this,l0,"f")}[oF](){if(!X(this,iD,"f"))return;let D=X(this,k,"f").getEnv("LC_ALL")||X(this,k,"f").getEnv("LC_MESSAGES")||X(this,k,"f").getEnv("LANG")||X(this,k,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[J3](){return this[nF]().version||"unknown"}[W3](D){let F=D["--"]?D["--"]:D._;for(let u=0,C;(C=F[u])!==void 0;u++)if(X(this,k,"f").Parser.looksLikeNumber(C)&&Number.isSafeInteger(Math.floor(parseFloat(`${C}`))))F[u]=Number(C);return D}[nF](D){let F=D||"*";if(X(this,O0,"f")[F])return X(this,O0,"f")[F];let u={};try{let C=D||X(this,k,"f").mainFilename;if(X(this,k,"f").path.extname(C))C=X(this,k,"f").path.dirname(C);let E=X(this,k,"f").findUp(C,(B,$)=>{if($.includes("package.json"))return"package.json";else return});OD(E,void 0,X(this,k,"f")),u=JSON.parse(X(this,k,"f").readFileSync(E,"utf8"))}catch(C){}return X(this,O0,"f")[F]=u||{},X(this,O0,"f")[F]}[hD](D,F){F=[].concat(F),F.forEach((u)=>{u=this[sF](u),X(this,b,"f")[D].push(u)})}[J0](D,F,u,C){this[tF](D,F,u,C,(E,B,$)=>{X(this,b,"f")[E][B]=$})}[iF](D,F,u,C){this[tF](D,F,u,C,(E,B,$)=>{X(this,b,"f")[E][B]=(X(this,b,"f")[E][B]||[]).concat($)})}[tF](D,F,u,C,E){if(Array.isArray(u))u.forEach((B)=>{D(B,C)});else if(((B)=>typeof B==="object")(u))for(let B of z0(u))D(B,u[B]);else E(F,this[sF](u),C)}[sF](D){if(D==="__proto__")return"___proto___";return D}[rF](D,F){return this[J0](this[rF].bind(this),"key",D,F),this}[aF](){var D,F,u,C,E,B,$,Z,Q,z,O,A;let J=X(this,d0,"f").pop();OD(J,void 0,X(this,k,"f"));let W;D=this,F=this,u=this,C=this,E=this,B=this,$=this,Z=this,Q=this,z=this,O=this,A=this,{options:{set value(_){N(D,b,_,"f")}}.value,configObjects:W,exitProcess:{set value(_){N(F,_D,_,"f")}}.value,groups:{set value(_){N(u,ND,_,"f")}}.value,output:{set value(_){N(C,XD,_,"f")}}.value,exitError:{set value(_){N(E,kD,_,"f")}}.value,hasOutput:{set value(_){N(B,GD,_,"f")}}.value,parsed:this.parsed,strict:{set value(_){N($,aD,_,"f")}}.value,strictCommands:{set value(_){N(Z,eD,_,"f")}}.value,strictOptions:{set value(_){N(Q,D0,_,"f")}}.value,completionCommand:{set value(_){N(z,AD,_,"f")}}.value,parseFn:{set value(_){N(O,HD,_,"f")}}.value,parseContext:{set value(_){N(A,sD,_,"f")}}.value}=J,X(this,b,"f").configObjects=W,X(this,h,"f").unfreeze(),X(this,a,"f").unfreeze(),X(this,FD,"f").unfreeze(),X(this,MD,"f").unfreeze()}[A3](D,F){return oD(F,(u)=>{return D(u),u})}getInternalMethods(){return{getCommandInstance:this[G3].bind(this),getContext:this[H3].bind(this),getHasOutput:this[q3].bind(this),getLoggerInstance:this[_3].bind(this),getParseContext:this[M3].bind(this),getParserConfiguration:this[F0].bind(this),getUsageConfiguration:this[O3].bind(this),getUsageInstance:this[V3].bind(this),getValidationInstance:this[K3].bind(this),hasParseCallback:this[o0].bind(this),isGlobalContext:this[R3].bind(this),postProcess:this[u0].bind(this),reset:this[eF].bind(this),runValidation:this[D2].bind(this),runYargsParserAndExecuteCommands:this[R0].bind(this),setHasOutput:this[j3].bind(this)}}[G3](){return X(this,FD,"f")}[H3](){return X(this,K0,"f")}[q3](){return X(this,GD,"f")}[_3](){return X(this,tD,"f")}[M3](){return X(this,sD,"f")||{}}[V3](){return X(this,h,"f")}[K3](){return X(this,a,"f")}[o0](){return!!X(this,HD,"f")}[R3](){return X(this,p0,"f")}[u0](D,F,u,C){if(u)return D;if(s(D))return D;if(!F)D=this[Z3](D);if(this[F0]()["parse-positional-numbers"]||this[F0]()["parse-positional-numbers"]===void 0)D=this[W3](D);if(C)D=lD(D,this,X(this,MD,"f").getMiddleware(),!1);return D}[eF](D={}){N(this,b,X(this,b,"f")||{},"f");let F={};F.local=X(this,b,"f").local||[],F.configObjects=X(this,b,"f").configObjects||[];let u={};F.local.forEach((B)=>{u[B]=!0,(D[B]||[]).forEach(($)=>{u[$]=!0})}),Object.assign(X(this,rD,"f"),Object.keys(X(this,ND,"f")).reduce((B,$)=>{let Z=X(this,ND,"f")[$].filter((Q)=>!(Q in u));if(Z.length>0)B[$]=Z;return B},{})),N(this,ND,{},"f");let C=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],E=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(C.forEach((B)=>{F[B]=(X(this,b,"f")[B]||[]).filter(($)=>!u[$])}),E.forEach((B)=>{F[B]=vD(X(this,b,"f")[B],($)=>!u[$])}),F.envPrefix=X(this,b,"f").envPrefix,N(this,b,F,"f"),N(this,h,X(this,h,"f")?X(this,h,"f").reset(u):a1(this,X(this,k,"f")),"f"),N(this,a,X(this,a,"f")?X(this,a,"f").reset(u):B3(this,X(this,h,"f"),X(this,k,"f")),"f"),N(this,FD,X(this,FD,"f")?X(this,FD,"f").reset():t1(X(this,h,"f"),X(this,a,"f"),X(this,MD,"f"),X(this,k,"f")),"f"),!X(this,JD,"f"))N(this,JD,u3(this,X(this,h,"f"),X(this,FD,"f"),X(this,k,"f")),"f");return X(this,MD,"f").reset(),N(this,AD,null,"f"),N(this,XD,"","f"),N(this,kD,null,"f"),N(this,GD,!1,"f"),this.parsed=!1,this}[U3](D,F){return X(this,k,"f").path.relative(D,F)}[R0](D,F,u,C=0,E=!1){var B,$,Z,Q;let z=!!u||E;D=D||X(this,yD,"f"),X(this,b,"f").__=X(this,k,"f").y18n.__,X(this,b,"f").configuration=this[F0]();let O=!!X(this,b,"f").configuration["populate--"],A=Object.assign({},X(this,b,"f").configuration,{"populate--":!0}),J=X(this,k,"f").Parser.detailed(D,Object.assign({},X(this,b,"f"),{configuration:{"parse-positional-numbers":!1,...A}})),W=Object.assign(J.argv,X(this,sD,"f")),_=void 0,q=J.aliases,P=!1,c=!1;if(Object.keys(W).forEach((p)=>{if(p===X(this,VD,"f")&&W[p])P=!0;else if(p===X(this,TD,"f")&&W[p])c=!0}),W.$0=this.$0,this.parsed=J,C===0)X(this,h,"f").clearCachedHelpMessage();try{if(this[oF](),F)return this[u0](W,O,!!u,!1);if(X(this,VD,"f")){if([X(this,VD,"f")].concat(q[X(this,VD,"f")]||[]).filter((j)=>j.length>1).includes(""+W._[W._.length-1]))W._.pop(),P=!0}N(this,p0,!1,"f");let p=X(this,FD,"f").getCommands(),QD=((B=X(this,JD,"f"))===null||B===void 0?void 0:B.completionKey)?[($=X(this,JD,"f"))===null||$===void 0?void 0:$.completionKey,...(Q=this.getAliases()[(Z=X(this,JD,"f"))===null||Z===void 0?void 0:Z.completionKey])!==null&&Q!==void 0?Q:[]].some((U)=>Object.prototype.hasOwnProperty.call(W,U)):!1,d=P||QD||E;if(W._.length){if(p.length){let U;for(let j=C||0,S;W._[j]!==void 0;j++)if(S=String(W._[j]),p.includes(S)&&S!==X(this,AD,"f")){let l=X(this,FD,"f").runCommand(S,this,J,j+1,E,P||c||E);return this[u0](l,O,!!u,!1)}else if(!U&&S!==X(this,AD,"f")){U=S;break}if(!X(this,FD,"f").hasDefaultCommand()&&X(this,c0,"f")&&U&&!d)X(this,a,"f").recommendCommands(U,p)}if(X(this,AD,"f")&&W._.includes(X(this,AD,"f"))&&!QD){if(X(this,_D,"f"))fD(!0);this.showCompletionScript(),this.exit(0)}}if(X(this,FD,"f").hasDefaultCommand()&&!d){let U=X(this,FD,"f").runCommand(null,this,J,0,E,P||c||E);return this[u0](U,O,!!u,!1)}if(QD){if(X(this,_D,"f"))fD(!0);D=[].concat(D);let U=D.slice(D.indexOf(`--${X(this,JD,"f").completionKey}`)+1);return X(this,JD,"f").getCompletion(U,(j,S)=>{if(j)throw new DD(j.message);(S||[]).forEach((l)=>{X(this,tD,"f").log(l)}),this.exit(0)}),this[u0](W,!O,!!u,!1)}if(!X(this,GD,"f")){if(P){if(X(this,_D,"f"))fD(!0);z=!0,this.showHelp((U)=>{X(this,tD,"f").log(U),this.exit(0)})}else if(c){if(X(this,_D,"f"))fD(!0);z=!0,X(this,h,"f").showVersion("log"),this.exit(0)}}if(!z&&X(this,b,"f").skipValidation.length>0)z=Object.keys(W).some((U)=>X(this,b,"f").skipValidation.indexOf(U)>=0&&W[U]===!0);if(!z){if(J.error)throw new DD(J.error.message);if(!QD){let U=this[D2](q,{},J.error);if(!u)_=lD(W,this,X(this,MD,"f").getMiddleware(),!0);if(_=this[A3](U,_!==null&&_!==void 0?_:W),s(_)&&!u)_=_.then(()=>{return lD(W,this,X(this,MD,"f").getMiddleware(),!1)})}}}catch(p){if(p instanceof DD)X(this,h,"f").fail(p.message,p);else throw p}return this[u0](_!==null&&_!==void 0?_:W,O,!!u,!0)}[D2](D,F,u,C){let E={...this.getDemandedOptions()};return(B)=>{if(u)throw new DD(u.message);X(this,a,"f").nonOptionCount(B),X(this,a,"f").requiredArguments(B,E);let $=!1;if(X(this,eD,"f"))$=X(this,a,"f").unknownCommands(B);if(X(this,aD,"f")&&!$)X(this,a,"f").unknownArguments(B,D,F,!!C);else if(X(this,D0,"f"))X(this,a,"f").unknownArguments(B,D,{},!1,!1);X(this,a,"f").limitedChoices(B),X(this,a,"f").implications(B),X(this,a,"f").conflicting(B)}}[j3](){N(this,GD,!0,"f")}[C0](D){if(typeof D==="string")X(this,b,"f").key[D]=!0;else for(let F of D)X(this,b,"f").key[F]=!0}}function s1(D){return!!D&&typeof D.getInternalMethods==="function"}var yu=I3(dF),N3=yu;import{performance as b3}from"node:perf_hooks";var dD=b0(u2(),1);class gu{total;message;current=0;barLength=30;startTime=b3.now();constructor(D,F){this.total=D;this.message=F}update(D,F){this.current=Math.min(D,this.total),this.render(F)}increment(D){this.update(this.current+1,D)}complete(D){this.current=this.total,this.render();let F=Math.round(b3.now()-this.startTime);console.log(dD.default.green(`✅ ${D||this.message} ${dD.default.gray(`(${F}ms)`)}`))}render(D){let F=Math.round(this.current/this.total*100),u=Math.round(this.current/this.total*this.barLength),C=this.barLength-u,E=dD.default.green("█".repeat(u))+dD.default.gray("░".repeat(C)),B=`${this.current}/${this.total}`,$=D?dD.default.gray(` ${D}`):"";if(process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(`${this.message} ${E} ${dD.default.cyan(B)} ${dD.default.yellow(`${F}%`)}${$}`),this.current===this.total)process.stdout.write(`
93
- `)}}var $D=b0(u2(),1);class t0{options;constructor(D={}){this.options={timestamp:!1,verbose:!1,...D}}formatMessage(D,F,u){let C=this.options.timestamp?`${$D.default.gray(new Date().toLocaleTimeString())} `:"",E=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";return`${C}${u(D)} ${E}${F}`}success(D){console.log(this.formatMessage("✅",D,$D.default.green))}error(D,F){if(console.error(this.formatMessage("❌",D,$D.default.red)),F&&this.options.verbose){if(console.error($D.default.red(` ${F.message}`)),F.stack)console.error($D.default.gray(F.stack))}}warn(D){console.warn(this.formatMessage("⚠️",D,$D.default.yellow))}info(D){console.log(this.formatMessage("ℹ️",D,$D.default.blue))}debug(D){if(this.options.verbose)console.log(this.formatMessage("\uD83D\uDC1B",D,$D.default.magenta))}step(D){console.log(this.formatMessage("\uD83D\uDE80",D,$D.default.cyan))}progress(D){console.log(this.formatMessage("⏳",D,$D.default.blue))}plain(D,F=(u)=>u){let u=this.options.timestamp?`${$D.default.gray(new Date().toLocaleTimeString())} `:"",C=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";console.log(`${u}${C}${F(D)}`)}dim(D){this.plain(D,$D.default.gray)}child(D){return new t0({...this.options,prefix:this.options.prefix?`${this.options.prefix}:${D}`:D})}configure(D){this.options={...this.options,...D}}}var E0=new t0;function s0(D){E0.success(D)}function KD(D,F){E0.error(D,F)}function C2(D){E0.warn(D)}function r0(D){E0.info(D)}function E2(D){E0.step(D)}function x3(D){E0.dim(D)}function B2(D){E0.configure(D)}function jD(D={}){return new t0(D)}function $2(D){console.log(),console.log($D.default.cyan($D.default.bold(`━━━ ${D} ━━━`)))}function Z2(D,F,u){let C=D;if(F)C+=` ${$D.default.gray(`(${F}ms)`)}`;if(s0(C),u)Object.entries(u).forEach(([E,B])=>{x3(` ${E}: ${B}`)})}function B0(D,F="•"){D.forEach((u)=>{console.log($D.default.gray(` ${F} ${u}`))})}import{existsSync as o8}from"node:fs";import{resolve as n8}from"node:path";import{existsSync as a0,mkdirSync as P3}from"node:fs";import{readdir as S3,readFile as mu,stat as cu,unlink as v3,writeFile as lu}from"node:fs/promises";import{join as X2}from"node:path";class $0{cache=new Map;config;cacheDir;constructor(D){if(this.config={enablePersistence:!0,cacheDir:".typeschema-cache",maxAge:86400000,validateCached:!0,...D},this.config.enablePersistence&&this.config.cacheDir)this.cacheDir=this.config.cacheDir}async set(D){let F=this.generateKey(D.identifier);if(this.cache.set(F,D),this.config.enablePersistence&&this.cacheDir)await this.persistSchema(D)}get(D){let F=this.generateKey(D);return this.cache.get(F)||null}getByUrl(D){for(let F of this.cache.values())if(F.identifier.url===D)return F;return null}has(D){let F=this.generateKey(D);return this.cache.has(F)}hasByUrl(D){for(let F of this.cache.values())if(F.identifier.url===D)return!0;return!1}delete(D){let F=this.generateKey(D);return this.cache.delete(F)}deleteByUrl(D){for(let[F,u]of this.cache.entries())if(u.identifier.url===D)return this.cache.delete(F);return!1}getByPackage(D){let F=[];for(let u of this.cache.values())if(u.identifier.package===D)F.push(u);return F}getByKind(D){let F=[];for(let u of this.cache.values())if(u.identifier.kind===D)F.push(u);return F}setMany(D){for(let F of D)this.set(F)}clear(){this.cache.clear()}generateKey(D){return`${D.package}:${D.version}:${D.kind}:${D.name}`}async initialize(){if(this.config.enablePersistence&&this.cacheDir){if(!a0(this.cacheDir))P3(this.cacheDir,{recursive:!0});await this.loadFromDisk()}}async loadFromDisk(){if(!this.cacheDir||!a0(this.cacheDir))return;try{let F=(await S3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F){let C=X2(this.cacheDir,u),E=await cu(C);if(this.config.maxAge){if(Date.now()-E.mtimeMs>this.config.maxAge){await v3(C);continue}}try{let B=await mu(C,"utf-8"),$=JSON.parse(B);if(this.config.validateCached){if(!$.schema?.identifier)continue}let Z=this.generateKey($.schema.identifier);this.cache.set(Z,$.schema)}catch(B){console.warn(`Failed to load cached schema from ${u}:`,B)}}}catch(D){console.warn("Failed to load cached schemas from disk:",D)}}async persistSchema(D){if(!this.cacheDir)return;if(!a0(this.cacheDir))P3(this.cacheDir,{recursive:!0});let F={schema:D,timestamp:Date.now(),version:D.identifier.version},u=`${D.identifier.package}-${D.identifier.version}-${D.identifier.kind}-${D.identifier.name}.typeschema.json`.replace(/[^a-zA-Z0-9.-]/g,"_"),C=X2(this.cacheDir,u);try{await lu(C,JSON.stringify(F,null,2),"utf-8")}catch(E){console.warn(`Failed to persist schema to ${C}:`,E)}}async clearDisk(){if(!this.cacheDir||!a0(this.cacheDir))return;try{let F=(await S3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F)await v3(X2(this.cacheDir,u))}catch(D){console.warn("Failed to clear cache directory:",D)}}}import{createHash as ou}from"crypto";var Q2=(D)=>{let F=`${D.packageName}@${D.packageVersion}:${D.filePath}`;return ou("sha256").update(F).digest("base64url")};var W0=()=>{let D={},F={};return{generateId:Q2,get:(E)=>D[E],set:(E,B)=>{if(D[E]=B,B.url){if(!F[B.url])F[B.url]=[];let $=F[B.url];if($&&!$.includes(E))$.push(E)}},has:(E)=>(E in D),clear:()=>{Object.keys(D).forEach((E)=>delete D[E]),Object.keys(F).forEach((E)=>delete F[E])},size:()=>Object.keys(D).length,getIdsByUrl:(E)=>F[E]||[],createReference:(E,B)=>({id:E,resourceType:B.resourceType}),getAllReferences:()=>D}};import*as K2 from"path";import*as n3 from"fs/promises";var f3="https://fs.get-ig.org/pkgs/";import*as e0 from"fs/promises";import*as k3 from"path";var A0=async(D)=>{try{return await e0.access(D),!0}catch{return!1}},G0=async(D)=>{try{await e0.mkdir(D,{recursive:!0})}catch{}},DF=async(D)=>{let F=k3.join(D,".index.json");return A0(F)};import{exec as nu}from"child_process";import{promisify as iu}from"util";var y3=iu(nu);async function z2(){try{return await y3("bun --version"),"bun"}catch{try{return await y3("npm --version"),"npm"}catch{return null}}}import*as d3 from"fs/promises";import*as p3 from"path";import{exec as tu}from"child_process";import{promisify as su}from"util";var h3=su(tu),FF=async(D,F,u)=>{await G0(F);let C=p3.join(F,"package.json");if(!await A0(C))await d3.writeFile(C,JSON.stringify({name:"fhir-canonical-manager-workspace",version:"1.0.0",private:!0,dependencies:{}},null,2));let E=await z2();if(!E)throw Error("No package manager found. Please install npm or bun.");for(let B of D)try{if(E==="bun"){let $={...process.env,HOME:F,NPM_CONFIG_USERCONFIG:"/dev/null"},Z=u?`cd ${F} && bun add ${B} --registry ${u}`:`cd ${F} && bun add ${B}`;await h3(Z,{env:$,maxBuffer:10485760})}else{let $=u?`cd ${F} && npm add ${B} --registry ${u}`:`cd ${F} && npm add ${B}`;await h3($,{maxBuffer:10485760})}}catch($){throw console.error(`Failed to install package ${B}:`,$),$}};var uF=()=>{let D=W0();return{entries:{},packages:{},references:{},referenceManager:D}};import*as CF from"fs/promises";import*as J2 from"path";import*as Y2 from"fs/promises";import*as O2 from"path";import{createHash as g3}from"crypto";var U0=async(D)=>{try{let F=O2.join(D,"package-lock.json");try{let u=await Y2.readFile(F,"utf-8");return g3("sha256").update(u).digest("hex")}catch{let u=O2.join(D,"bun.lock"),C=await Y2.readFile(u,"utf-8");return g3("sha256").update(C).digest("hex")}}catch{return null}};var EF=async(D,F,u)=>{let C=await U0(u),E={entries:D.entries,packages:D.packages,references:D.referenceManager.getAllReferences(),packageLockHash:C||void 0},B=J2.join(F,"index.json");await CF.writeFile(B,JSON.stringify(E,null,2))},W2=async(D)=>{try{let F=J2.join(D,"index.json"),u=await CF.readFile(F,"utf-8");return JSON.parse(u)}catch{return null}};var m3=(D)=>{if(!D||typeof D!=="object")return!1;if(!D.filename||typeof D.filename!=="string")return!1;if(!D.resourceType||typeof D.resourceType!=="string")return!1;if(!D.id||typeof D.id!=="string")return!1;let F=["url","version","kind","type"];for(let u of F)if(D[u]!==void 0&&typeof D[u]!=="string")return!1;return!0},c3=(D)=>{if(!D||typeof D!=="object")return!1;if(!D["index-version"]||typeof D["index-version"]!=="number")return!1;if(!Array.isArray(D.files))return!1;return D.files.every((F)=>m3(F))},A2=(D,F)=>{try{let u=JSON.parse(D);if(!c3(u))return null;return u}catch{return null}};import*as l3 from"fs/promises";import*as G2 from"path";var BF=async(D,F,u)=>{let C=G2.join(D,".index.json");try{let E=await l3.readFile(C,"utf-8"),B=A2(E,C);if(!B)return;for(let $ of B.files){if(!$.url)continue;let Z=G2.join(D,$.filename),Q=u.referenceManager.generateId({packageName:F.name,packageVersion:F.version,filePath:Z});u.referenceManager.set(Q,{packageName:F.name,packageVersion:F.version,filePath:Z,resourceType:$.resourceType,url:$.url,version:$.version});let z={id:Q,resourceType:$.resourceType,indexVersion:B["index-version"],url:$.url,version:$.version,kind:$.kind,type:$.type,package:{name:F.name,version:F.version}};if(!u.entries[$.url])u.entries[$.url]=[];let O=u.entries[$.url];if(O)O.push(z)}}catch{}};import*as o3 from"fs/promises";import*as $F from"path";var ZF=async(D,F)=>{try{let u=$F.join(D,"package.json"),C=await o3.readFile(u,"utf-8"),E=JSON.parse(C),B={id:{name:E.name,version:E.version},path:D,canonical:E.canonical,fhirVersions:E.fhirVersions};F.packages[E.name]=B,await BF(D,E,F);let $=$F.join(D,"examples");if(await A0($F.join($,".index.json")))await BF($,E,F)}catch{}};import*as H2 from"fs/promises";import*as q2 from"path";var XF=async(D,F)=>{try{let u=await H2.readdir(D,{withFileTypes:!0});for(let C of u){if(!C.isDirectory())continue;let E=q2.join(D,C.name);if(C.name.startsWith("@")){let B=await H2.readdir(E,{withFileTypes:!0});for(let $ of B){if(!$.isDirectory())continue;let Z=q2.join(E,$.name);if(await DF(Z))await ZF(Z,F)}}else if(await DF(E))await ZF(E,F)}}catch{}};var _2=async(D,F,u,C)=>{if(F.package)try{return await C(D,{package:F.package.name,version:F.package.version})}catch{}return null};var M2={str:["structure"],struct:["structure"],def:["definition"],pati:["patient"],obs:["observation"],org:["organization"],pract:["practitioner"],med:["medication","medicinal"],req:["request"],resp:["response"],ref:["reference"],val:["value"],code:["codesystem","code"],cs:["codesystem"],vs:["valueset"],sd:["structuredefinition"]};var V2=(D,F)=>{if(F.length===0)return D;let u=F.map((C)=>C.toLowerCase());return D.filter((C)=>{if(!C.url)return!1;let B=[C.url.toLowerCase(),C.type?.toLowerCase()||"",C.resourceType?.toLowerCase()||""].join(" ");return u.every(($)=>{let Z=B.split(/[\/\-_\.\s]+/);if(Z.some((O)=>O.startsWith($)))return!0;let z=M2[$]||[];for(let O of z)if(Z.some((A)=>A.startsWith(O)))return!0;return B.includes($)})})};var pD=(D)=>{let{packages:F=[],workingDir:u}=D,C=D.registry?D.registry.endsWith("/")?D.registry:`${D.registry}/`:f3,E=K2.join(u,"node_modules"),B=K2.join(u,".fcm","cache"),$=uF(),Z=!1,Q=new Map,z=()=>{if(!Z)throw Error("CanonicalManager not initialized. Call init() first.")},O=async()=>{if(Z)return;await G0(u),await G0(B);let U=await U0(u),j=await W2(B);if(j&&j.packageLockHash===U&&U!==null)$.entries=j.entries,$.packages=j.packages,Object.entries(j.references).forEach(([l,g])=>{$.referenceManager.set(l,g)});else{if(j&&j.packageLockHash!==U)console.log("Package dependencies have changed, rebuilding index...");await FF(F,u,C),$=uF(),await XF(E,$),await EF($,B,u)}Z=!0},A=async()=>{$.entries={},$.packages={},$.referenceManager.clear(),Q.clear(),Z=!1},J=async()=>{return z(),Object.values($.packages).map((U)=>U.id)},W=async(...U)=>{if(U.length===0)return;let j=U.filter((S)=>!F.includes(S));if(j.length!==0)F.push(...j);if(!Z){await O();return}if(j.length===0)return;await FF(F,u,C),await XF(E,$),await EF($,B,u)},_=async(U,j)=>{if(z(),j?.sourceContext){let g=await _2(U,j.sourceContext,$,_);if(g)return g}let S=$.entries[U]||[];if(S.length===0)throw Error(`Cannot resolve canonical URL: ${U}`);let l=[...S];if(j?.package)l=l.filter((g)=>g.package?.name===j.package);if(j?.version)l=l.filter((g)=>g.version===j.version);if(l.length===0)throw Error(`No matching resource found for ${U} with given options`);return l[0]},q=async(U,j)=>{let S=await _(U,j);return P(S)},P=async(U)=>{z();let j=$.referenceManager.get(U.id);if(!j)throw Error(`Invalid reference ID: ${U.id}`);try{let S=await n3.readFile(j.filePath,"utf-8");return{...JSON.parse(S),id:U.id,resourceType:U.resourceType}}catch(S){throw Error(`Failed to read resource: ${S}`)}},c=async(U)=>{z();let j=[];if(U.url)j=$.entries[U.url]||[];else for(let S of Object.values($.entries))j.push(...S);if(U.kind!==void 0)j=j.filter((S)=>S.kind===U.kind);if(U.type!==void 0)j=j.filter((S)=>S.type===U.type);if(U.version!==void 0)j=j.filter((S)=>S.version===U.version);if(U.package){let S=U.package;j=j.filter((l)=>l.package?.name===S.name&&l.package?.version===S.version)}return j};return{init:O,destroy:A,packages:J,addPackages:W,resolveEntry:_,resolve:q,read:P,searchEntries:c,search:async(U)=>{let j=await c(U);return await Promise.all(j.map((l)=>P(l)))},smartSearch:async(U,j)=>{z();let S=await c({kind:j?.kind,package:j?.package});if(j?.resourceType)S=S.filter((l)=>l.resourceType===j.resourceType);if(j?.type)S=S.filter((l)=>l.type===j.type);return V2(S,U)},getSearchParametersForResource:async(U)=>{if(z(),Q.has(U))return Q.get(U);let S=(await c({})).filter((g)=>g.resourceType==="SearchParameter"),l=[];for(let g of S){let LD=await P(g),I=LD.base||[];if(Array.isArray(I)&&I.includes(U))l.push(LD)}return l.sort((g,LD)=>{let I=g.code||"",K=LD.code||"";return I.localeCompare(K)}),Q.set(U,l),l}}};function R2(D){let C=D.path.split(".").slice(1).map(($)=>({el:$}));if(C.length===0)return[];let E=C.length-1,B={};if(D.slicing){if(B.slicing={...D.slicing},D.min!==void 0)B.slicing.min=D.min;if(D.max&&D.max!=="*")B.slicing.max=parseInt(D.max)}if(D.sliceName){if(B.slice={},D.min!==void 0)B.slice.min=D.min;if(D.max&&D.max!=="*")B.slice.max=parseInt(D.max);B.sliceName=D.sliceName}return C[E]={...C[E],...B},C}function U2(D,F){let u=[],C=Math.min(D.length,F.length);for(let E=0;E<C;E++)if(D[E].el===F[E].el)u.push({el:D[E].el});else break;return u}function j2(D,F){let u=[];for(let C=0;C<F.length;C++)if(C<D.length&&D[C].el===F[C].el)u.push({...D[C],...F[C],...D[C].slicing&&!F[C].slicing&&{slicing:D[C].slicing}});else u.push(F[C]);return u}function ru(D,F){return!!(D.sliceName&&F.sliceName&&D.sliceName!==F.sliceName)}function i3(D){return{type:"exit-slice",sliceName:D.sliceName,...D.slicing&&{slicing:D.slicing},...D.slice&&{slice:D.slice}}}function au(D,F,u,C){let E=[];for(let B=D-1;B>=F;B--){let $=u[B];if($.sliceName)E.push(i3($));E.push({type:"exit",el:$.el})}if(F>0){let B=u[F-1],$=C[F-1];if(ru(B,$))E.push(i3(B))}return E}function eu(D,F,u,C){let E=[];if(D>0&&D<=F){let B=u[D-1]||{},$=C[D-1];if($.sliceName&&(!B.sliceName||B.sliceName!==$.sliceName))E.push({type:"enter-slice",sliceName:$.sliceName});if(D===F)return E}for(let B=D;B<F;B++){let $=C[B];if(E.push({type:"enter",el:$.el}),$.sliceName)E.push({type:"enter-slice",sliceName:$.sliceName})}return E}function QF(D,F){let u=D.length,C=F.length,B=U2(D,F).length,$=au(u,B,D,F),Z=eu(B,C,D,F);return[...$,...Z]}function s3(D,F){if(!D)return;return D.find((u)=>u.url===F)}function t3(D){return{Instant:"instant",Time:"time",Date:"date",DateTime:"dateTime",Decimal:"decimal",Boolean:"boolean",Integer:"integer",String:"string",Uri:"uri",Base64Binary:"base64Binary",Code:"code",Id:"id",Oid:"oid",UnsignedInt:"unsignedInt",PositiveInt:"positiveInt",Markdown:"markdown",Url:"url",Canonical:"canonical",Uuid:"uuid"}[D]||D}function D8(D){let F={};for(let[u,C]of Object.entries(D))if(typeof u==="string"&&u.startsWith("pattern")){let E=t3(u.replace(/^pattern/,""));F.pattern={type:E,value:C}}else if(typeof u==="string"&&u.startsWith("fixed")){let E=t3(u.replace(/^fixed/,""));F.pattern={type:E,value:C}}else F[u]=C;if(F.pattern?.type&&!F.type)F.type=F.pattern.type;return F}function F8(D){let F=[];for(let u of D)if(u.targetProfile){let C=Array.isArray(u.targetProfile)?u.targetProfile:[u.targetProfile];F.push(...C)}return F.length>0?[...new Set(F)].sort():void 0}function u8(D){if(!D.type||D.type.length===0)return D;if(D.type[0].code==="Reference"){let u=F8(D.type);return{...D,type:[{code:"Reference"}],...u&&{refers:u}}}return D}function C8(D,F){let u=(B)=>{let $={strength:B.strength,...B.valueSet&&{valueSet:B.valueSet}},Z=s3(B.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName");if(Z?.valueString)$.bindingName=Z.valueString;return $};if(D.choices){let{binding:B,...$}=D;return $}if(D.choiceOf&&F.snapshot){let B=`${F.id}.${D.choiceOf}[x]`,$=F.snapshot.element.find((Z)=>Z.path===B);if($?.binding)return{...D,binding:u($.binding)}}if(D.binding?.valueSet)return{...D,binding:u(D.binding)};let{binding:C,...E}=D;return E}function E8(D){if(!D.constraint||D.constraint.length===0)return D;let F={};for(let u of D.constraint)F[u.key]={expression:u.expression,human:u.human,severity:u.severity};return{...D,constraint:F}}function B8(D,F){if(!D.type||D.type.length===0)return D;let u=D.type[0]?.extension?.[0];if(u?.url==="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"&&u.valueUrl)return{...D,type:u.valueUrl};let C=D.type[0].code,E={...D,type:C};if(F.kind==="logical"){let B=s3(D.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-defaulttype");if(B?.valueCanonical)E.defaultType=B.valueCanonical}return E}function $8(D){if(D.type?.[0]?.code!=="Extension")return D;let u=D.type[0]?.profile?.[0];if(!u)return D;return{...D,url:u,...D.min&&{min:D.min},...D.max&&D.max!=="*"&&{max:parseInt(D.max)}}}function Z8(D){if(D.url)return D;let F=D.max==="*"||D.min&&D.min>=2||D.max&&parseInt(D.max)>=2,u=D.min===1,C={...D};if(delete C.min,delete C.max,F){if(C.array=!0,D.min&&D.min>0)C.min=D.min;if(D.max&&D.max!=="*")C.max=parseInt(D.max)}if(u)C._required=!0;return C}function X8(D,F){let u=D.substring(1).split("."),C=[F.url];for(let E of u.slice(1))C.push("elements",E);return C}function Q8(D,F){if(!D.contentReference)return D;let{contentReference:u,...C}=D;return{...C,elementReference:X8(u,F)}}function z8(D){let{path:F,slicing:u,sliceName:C,id:E,mapping:B,example:$,alias:Z,condition:Q,comment:z,definition:O,requirements:A,extension:J,...W}=D;return W}function I2(D,F){let u=u8(D);return u=z8(u),u=C8(u,F),u=E8(u),u=Q8(u,F),u=$8(u),u=Z8(u),u=B8(u,F),u=D8(u),u}function L2(D){if(D.path.endsWith("[x]"))return!0;if(D.type&&D.type.length>1)return new Set(D.type.map((u)=>u.code)).size>1;return!1}function r3(D){if(!D)return D;return D.charAt(0).toUpperCase()+D.slice(1)}function a3(D){let F=D.split("/");return F[F.length-1]}function N2(D){let F=D.path.replace(/\[x\]$/,""),u=F.split(".").pop()||"";if(!D.type)return[];let C=[],E=D.type.map((z)=>u+r3(a3(z.code))),{type:B,binding:$,...Z}=D,Q={...Z,path:F,choices:E};C.push(Q);for(let z of D.type){let O=r3(a3(z.code)),A={...D,path:F+O,type:[z],choiceOf:u};if(D.binding)delete A.binding;C.push(A)}return C}function e3(D,F){let u=D[D.length-1],C=D.slice(0,-1),E=C[C.length-1],B=F(E,u);return[...C.slice(0,-1),B]}function Y8(D,F){if(!D.discriminator)return{};let u={};for(let C of D.discriminator){if(!C.type||!["pattern","value",void 0].includes(C.type))continue;let E=C.path.trim();if(E==="$this"){if(F.pattern?.value)Object.assign(u,F.pattern.value)}else{let B=E.split(".").filter((z)=>z),$=Object.keys(F).filter((z)=>z.startsWith("pattern"));for(let z of $){let O=z.replace("pattern","").toLowerCase();if(B.length===1&&B[0]===O)u[O]=F[z]}let Z=["elements"];for(let z of B)if(Z.push(z),B.indexOf(z)<B.length-1)Z.push("elements");Z.push("pattern");let Q=F;for(let z of Z)Q=Q?.[z];if(Q?.value!==void 0){let z=u;for(let O=0;O<B.length-1;O++){if(!z[B[O]])z[B[O]]={};z=z[B[O]]}z[B[B.length-1]]=Q.value}}}return u}function O8(D,F,u){let C={match:F,schema:D};if(u?.min!==void 0&&u.min!==0)C.min=u.min;if(u?.max!==void 0)C.max=u.max;return C}function J8(D,F,u){let C=F.slicing||D.slicing||{},E=Y8(C,u),B=O8(u,E,D.slice);if(!F.slicing)F.slicing={};if(D.slicing)F.slicing={...F.slicing,...D.slicing};if(!F.slicing.slices)F.slicing.slices={};return F.slicing.slices[D.sliceName]=B,F}function W8(D){if(!D.slicing?.slices)return{};let F={};for(let[u,C]of Object.entries(D.slicing.slices)){let{match:E,schema:B,...$}=C,{slicing:Z,elements:Q,type:z,min:O,...A}=B||{},J={};if(E?.url)J.url=E.url;if($.min!==void 0&&$.min!==0)J.min=$.min;if($.max!==void 0)J.max=$.max;if(Object.assign(J,A),O!==void 0&&O!==0&&J.min===void 0)J.min=O;F[u]=J}return F}function A8(D,F,u){let C={...F};if(D==="extension")C.extensions=W8(u);if(!C.elements)C.elements={};let E=u.choiceOf||D,{_required:B,...$}=u;if(C.elements[D]=$,B){if(!C.required)C.required=[];if(!C.required.includes(E))C.required.push(E)}return C}function zF(D,F,u){let C=[...D];for(let E=0;E<F.length;E++){let B=F[E],Z=F[E+1]?.type==="enter"?{}:u;switch(B.type){case"enter":C.push(Z);break;case"enter-slice":C.push(Z);break;case"exit":C=e3(C,(Q,z)=>A8(B.el,Q,z));break;case"exit-slice":C=e3(C,(Q,z)=>J8(B,Q,z));break}}return C}function D6(D,F){let u={};if(u.name=D.name,u.type=D.type,D.url)u.url=D.url;if(D.version)u.version=D.version;if(D.description)u.description=D.description;if(D.package_name)u.package_name=D.package_name;if(D.package_version)u.package_version=D.package_version;if(D.package_id)u.package_id=D.package_id;if(u.kind=D.kind,D.derivation)u.derivation=D.derivation;if(D.baseDefinition&&D.type!=="Element")u.base=D.baseDefinition;if(D.abstract)u.abstract=D.abstract;if(u.class=G8(D),F?.package_meta)u.package_meta=F.package_meta;return u}function G8(D){if(D.kind==="resource"&&D.derivation==="constraint")return"profile";if(D.type==="Extension")return"extension";return D.kind||"unknown"}function H8(D){return(D.differential?.element||[]).filter((u)=>u.path.includes("."))}function F6(D){let u=Object.entries(D).sort((E,B)=>{let $=E[1].index??1/0,Z=B[1].index??1/0;return $-Z}),C={};for(let[E,B]of u)if(B.elements)C[E]={...B,elements:F6(B.elements)};else C[E]=B;return C}function j0(D,F=new WeakSet){if(Array.isArray(D))return D.map((u)=>j0(u,F));if(D&&typeof D==="object"){if(F.has(D))return"[Circular Reference]";F.add(D);let u={},C=Object.keys(D);for(let E of C)if(E==="elements"&&D[E])u[E]=F6(j0(D[E],F));else if(E==="required"&&Array.isArray(D[E]))u[E]=[...D[E]].sort();else u[E]=j0(D[E],F);return u}return D}function I0(D,F){if(D.kind==="primitive-type")return j0(D6(D,F));let u=D6(D,F),C=H8(D),E=[u],B=[],$=[...C],Z=0;while($.length>0){let z=$.shift();if(L2(z)){let q=N2(z);$.unshift(...q),Z++;continue}let O=R2(z),A=j2(B,O),J=QF(B,A),_={...I2(z,D),index:Z++};E=zF(E,J,_),B=A}let Q=QF(B,[]);if(E=zF(E,Q,{index:Z}),E.length!==1)throw Error(`Invalid stack state: expected 1 element, got ${E.length}`);return j0(E[0])}var T2=(D,F)=>{if(!F)F={name:"undefined",version:"undefined"};return{...D,package_meta:D.package_meta||F,name:D.name,url:D.url,base:D.base}};function w2(D){return D.identifier.kind==="binding"}var b2=async(D,F,u)=>{let C=await D.search({}),E={};for(let W of C){let _=W.url;if(!_)continue;E[_]=W}let B={};for(let W of C)if(W.resourceType==="StructureDefinition"){let _=W.url;B[_]=W}let $={},Z={},[Q,z]=[0,0];for(let W of Object.values(B)){try{let _=T2(I0(W),u);$[_.url]=_,Z[_.name]=_.url,Q++}catch(_){F?.warn(`Failed to convert StructureDefinition ${W.name||W.id}: ${_ instanceof Error?_.message:String(_)}`),z++}F?.success(`FHIR Schema conversion completed: ${Q}/${Object.values(B).length} successful, ${z} failed`)}let O={};for(let W of C)if(W.resourceType==="ValueSet"){if(!W.package_meta)W.package_meta=u;O[W.url]=W}let A={};for(let W of Object.values($))if(W.kind==="complex-type")A[W.url]=W;return{...D,appendFs(W){let _=T2(W);$[_.url]=_,Z[_.name]=_.url},resolveFs:(W)=>$[W],resolveFsGenealogy:(W)=>{let _=$[W];if(_===void 0)throw Error(`Failed to resolve FHIR Schema genealogy for '${W}'`);let q=[_];while(_?.base)if(_=$[_.base]||$[Z[_.base]],q.push(_),_===void 0)throw Error(`Failed to resolve FHIR Schema genealogy for '${W}'`);return q},ensureCanonicalUrl:(W)=>Z[W]||W,allSd:()=>Object.values(B),resolveSd:(W)=>B[W],allFs:()=>Object.values($),allVs:()=>Object.values(O),resolveVs:(W)=>O[W],complexTypeDict:()=>A,resolveAny:(W)=>E[W]}};var x2=(D,F)=>{let[u,...C]=F;if(u===void 0)return[];return D.map((E)=>{if(!E.elements)return;let B=E.elements?.[u];for(let $ of C)B=B?.elements?.[$];return B}).filter((E)=>E!==void 0)};function P2(D){let F=D.reverse().reduce((u,C)=>({...u,...C}),{});return F.elements=void 0,F}function S2(D){let F=D.split("|")[0];return F?F:D}function q8(D){return D.split("|")[1]}function _8(D){if(D.derivation==="constraint")return"profile";if(D.kind==="primitive-type")return"primitive-type";if(D.kind==="complex-type")return"complex-type";if(D.kind==="resource")return"resource";return"resource"}function xD(D){return{kind:_8(D),package:D.package_meta.name,version:D.package_meta.version,name:D.name,url:D.url}}function L0(D,F){let u=F.join(".");return{kind:"nested",package:D.package_meta.name,version:D.package_meta.version,name:u,url:`${D.url}#${u}`}}var M8=(D)=>{let F=D.split("/"),u=F[F.length-1];if(u&&u.length>0)return u.split(/[-_]/).map((C)=>C.charAt(0).toUpperCase()+C.slice(1).toLowerCase()).join("");return D};function YF(D,F){let u=S2(F),C=M8(u),E={resourceType:"ValueSet",package_meta:{name:"missing_valuesets",version:q8(u)||"0.0.0"},name:C,id:F,url:u},B=D.resolveVs(u)||E,$=B?.id&&!/^[a-zA-Z0-9_-]{20,}$/.test(B.id)?B.id:C;return{kind:"value-set",package:B?.package_meta.name,version:B?.package_meta.version,name:$,url:u}}function OF(D,F,u){let C=F.join("."),[E,B,$]=u?[{name:"shared",version:"1.0.0"},u,`urn:fhir:binding:${u}`]:[D.package_meta,`${D.name}.${C}_binding`,`${D.url}#${C}_binding`];return{kind:"binding",package:E.name,version:E.version,name:B,url:$}}async function C6(D,F){let u=xD(F),C=F.package_meta;if(u.kind!=="profile")throw Error(`Expected profile, got ${u.kind} for ${F.name}`);let E;if(F.base){let O=F.base.includes("/")?F.base:`http://hl7.org/fhir/StructureDefinition/${F.base}`,A=F.base.split("/").pop()||F.base,J=await V8(O,D),W=O.startsWith("http://hl7.org/fhir/");E={kind:J,package:W?"hl7.fhir.r4.core":F.package_meta.name||"undefined",version:W?"4.0.1":F.package_meta.version||"undefined",name:A,url:O}}let B={identifier:u,base:E,dependencies:E?[E]:[]};if(F.description)B.description=F.description;let $=K8(F);if(Object.keys($).length>0)B.metadata=$;if(F.elements){let O=await JF(D,F,[],F.elements);if(O&&Object.keys(O).length>0)B.fields=O}let Z=await R8(F,D);if(Object.keys(Z).length>0)B.constraints=Z;let Q=await U8(F,D);if(Q.length>0)B.extensions=Q;let z=j8(F);if(z.length>0)B.validation=z;return B}async function V8(D,F){try{let u=F.resolveFs(D);if(!u)return"resource";if(u){if(u.derivation==="constraint")return"profile";if(u.kind==="resource")return"resource";if(u.kind==="complex-type")return"complex-type"}}catch(u){console.warn(`Could not resolve base schema ${D}:`,u)}if(D.includes("StructureDefinition/")&&!D.startsWith("http://hl7.org/fhir/StructureDefinition/"))return"profile";return"resource"}function K8(D){let F={},u=D.package_meta;if(D.publisher)F.publisher=D.publisher;if(D.contact)F.contact=D.contact;if(D.copyright)F.copyright=D.copyright;if(D.purpose)F.purpose=D.purpose;if(D.experimental!==void 0)F.experimental=D.experimental;if(D.date)F.date=D.date;if(D.jurisdiction)F.jurisdiction=D.jurisdiction;if(u?.name)F.package=u.name;else if(D.package_meta.name)F.package=D.package_meta.name;return F}async function R8(D,F){let u={};if(!D.elements)return u;for(let[C,E]of Object.entries(D.elements)){let B={};if(E.min!==void 0)B.min=E.min;if(E.max!==void 0)B.max=String(E.max);if(E.mustSupport)B.mustSupport=!0;if(E.fixedValue!==void 0)B.fixedValue=E.fixedValue;if(E.patternValue!==void 0)B.patternValue=E.patternValue;if(E.binding)B.binding={strength:E.binding.strength,valueSet:E.binding.valueSet??""};if(E.type&&Array.isArray(E.type)&&E.type.length>0)B.types=E.type.map(($)=>{let Z={code:$.code};if($.profile)Z.profile=$.profile;if($.targetProfile)Z.targetProfile=$.targetProfile;return Z});if(E.slicing)B.slicing={discriminator:E.slicing.discriminator??[],rules:String(E.slicing),ordered:E.slicing.ordered};if(Object.keys(B).length>0)u[C]=B}return u}async function U8(D,F){let u=[];if(!D.elements)return u;for(let[C,E]of Object.entries(D.elements))if(C.includes("extension")&&E.type&&Array.isArray(E.type)){for(let B of E.type)if(B.code==="Extension"&&B.profile)u.push({path:C,profile:B.profile,min:E.min,max:String(E.max),mustSupport:E.mustSupport})}return u}function j8(D){let F=[];if(!D.elements)return F;for(let[u,C]of Object.entries(D.elements))if(C.constraint&&Array.isArray(C.constraint))for(let E of C.constraint)F.push({path:u,key:E.key,severity:E.severity,human:E.human,expression:E.expression});return F}function E6(D,F,u){let C=u[u.length-1],E=u.slice(0,-1),B=D.resolveFsGenealogy(F.url).flatMap(($)=>{if(E.length===0)return $.required||[];if(!$.elements)return[];let Z=$;for(let Q of E)Z=Z?.elements?.[Q];return Z?.required||[]});return new Set(B).has(C)}function B6(D,F,u){let C=u[u.length-1];if(!C)throw Error(`Internal error: fieldName is missing for path ${u.join("/")}`);let E=u.slice(0,-1),B=D.resolveFsGenealogy(F.url).flatMap(($)=>{if(E.length===0)return $.excluded||[];if(!$.elements)return[];let Z=$;for(let Q of E)Z=Z?.elements?.[Q];return Z?.excluded||[]});return new Set(B).has(C)}var I8=(D,F,u)=>{if(!D.refers)return;return D.refers.map((C)=>{let E=F.ensureCanonicalUrl(C),B=F.resolveFs(E);return xD(B)})};function v2(D,F,u){if(u.elementReference){let C=u.elementReference.filter((E,B)=>B%2===1).map((E)=>E).filter((E)=>E!=="elements");if(C.length>0)return L0(F,C)}if(u.type){let C=u.type.match(/^[a-z]/)?"primitive-type":"complex-type",E=D.ensureCanonicalUrl(u.type),B=D.resolveFs(E);if(!B)throw Error(`Could not resolve field '${u.type}'`);return{kind:C,package:B.package_meta.name,version:B.package_meta.version,name:u.type,url:E}}return}var WF=(D,F,u,C)=>{let E,B;if(C.binding){if(E=OF(F,u,C.binding.bindingName),C.binding.strength==="required"&&C.type==="code")B=f2(D,C)}return{type:v2(D,F,C),required:E6(D,F,u),excluded:B6(D,F,u),reference:I8(C,D,F.package_meta),array:C.array||!1,min:C.min,max:C.max,choices:C.choices,choiceOf:C.choiceOf,binding:E,enum:B}};function N0(D){let F=D.type==="BackboneElement",u=D.type==="Element"&&D.elements!==void 0&&Object.keys(D.elements).length>0,C=D.type===void 0&&D.choiceOf===void 0&&D.elements!==void 0&&Object.keys(D.elements).length>0;return F||u||C}function AF(D,F,u,C){return{type:L0(F,u),array:C.array||!1,required:E6(D,F,u),excluded:B6(D,F,u)}}function k2(D,F){let u=S2(F)||F,C=D.resolveVs(u);if(!C)return;return L8(D,C)}function L8(D,F){if(F.expansion?.contains)return F.expansion.contains;let u=[];if(F.compose?.include){for(let C of F.compose.include)if(C.concept)for(let E of C.concept)u.push({system:C.system,code:E.code,display:E.display});else if(C.system&&!C.filter)try{let E=D.resolveAny(C.system);if(E?.concept){let B=($,Z)=>{for(let Q of $)if(u.push({system:Z,code:Q.code,display:Q.display}),Q.concept)B(Q.concept,Z)};B(E.concept,C.system)}}catch{}}return u.length>0?u:void 0}var $6=100;function f2(D,F){if(!F.binding)return;let u=F.binding.strength,C=F.binding.valueSet;if(!C)return;if(!(u==="required"||u==="extensible"&&(F.type==="code"||F.type==="Coding")||u==="preferred"&&(F.type==="code"||F.type==="Coding")))return;let B=k2(D,C);if(!B||B.length===0)return;let $=B.map((Z)=>Z.code).filter((Z)=>Z&&typeof Z==="string"&&Z.trim().length>0);if($.length>$6){console.warn(`Value set ${C} has more than ${$6} codes, which may cause issues with code generation.`);return}return $.length>0?$:void 0}async function N8(D,F,u,C){if(!C.binding?.valueSet)return;let E=OF(F,u,C.binding.bindingName),B=v2(D,F,C),$=YF(D,C.binding.valueSet),Z=[];if(B)Z.push(B);Z.push($);let Q=f2(D,C);return{identifier:E,type:B,valueset:$,strength:C.binding.strength,enum:Q,dependencies:Z}}async function y2(D,F){let u=new Set;if(!F.elements)return[];let C=[];async function E(Z,Q){for(let[z,O]of Object.entries(Z)){let A=[...Q,z],J=A.join(".");if(u.has(J))continue;if(u.add(J),O.binding){let W=await N8(D,F,A,O);if(W)C.push(W)}if(O.elements)await E(O.elements,A)}}await E(F.elements,[]),C.sort((Z,Q)=>Z.identifier.name.localeCompare(Q.identifier.name));let B=[],$=new Set;for(let Z of C)if(!$.has(Z.identifier.url))$.add(Z.identifier.url),B.push(Z);return B}function Z6(D,F,u){let C=[];for(let[E,B]of Object.entries(u)){let $=[...F,E];if(N0(B))C.push([$,B]);if(B.elements)C.push(...Z6(D,$,B.elements))}return C}async function T8(D,F,u,C,E){let B={};for(let[$,Z]of Object.entries(u)){let Q=[...F,$];if(N0(Z))B[$]=AF(C,D,Q,Z);else B[$]=WF(C,D,Q,Z)}return B}async function h2(D,F){if(!F.elements)return;let C=Z6(F,[],F.elements).filter(([B,$])=>$.elements&&Object.keys($.elements).length>0),E=[];for(let[B,$]of C){let Z=L0(F,B),Q;if($.type==="BackboneElement"||!$.type)Q={kind:"complex-type",package:F.package_meta.name,version:F.package_meta.version,name:"BackboneElement",url:"http://hl7.org/fhir/StructureDefinition/BackboneElement"};else Q={kind:"complex-type",package:F.package_meta.name,version:F.package_meta.version,name:$.type,url:`http://hl7.org/fhir/StructureDefinition/${$.type}`};let z=await T8(F,B,$.elements,D,F.package_meta),O={identifier:Z,base:Q,fields:z};E.push(O)}return E.sort((B,$)=>B.identifier.url.localeCompare($.identifier.url)),E.length===0?void 0:E}function d2(D){let F=[];for(let u of D){if(u.base)F.push(u.base);for(let C of Object.values(u.fields||{})){if("type"in C&&C.type)F.push(C.type);if("binding"in C&&C.binding)F.push(C.binding)}}return F}async function JF(D,F,u,C){if(!C)return;let E=D.resolveFsGenealogy(F.url),B={};for(let[Z,Q]of Object.entries(C)){let z=[...u,Z],O=x2(E,z),A=P2(O);B[Z]={elem:Q,elemSnapshot:A,path:z}}for(let[Z,{elem:Q,elemSnapshot:z,path:O}]of Object.entries(B))for(let A of Q?.choices||[])if(!B[A]){let J=[...u,A],W=x2(E,J),_=P2(W);B[A]={elem:void 0,elemSnapshot:_,path:J}}let $={};for(let[Z,{elem:Q,elemSnapshot:z,path:O}]of Object.entries(B))if(N0(z))$[Z]=AF(D,F,O,z);else $[Z]=WF(D,F,O,z);return $}function X6(D){let F=[];for(let u of Object.values(D)){if("type"in u&&u.type)F.push(u.type);if("binding"in u&&u.binding)F.push(u.binding)}return F}function w8(D){let F=new Set,u=[];for(let C of D){let E=C.url;if(!F.has(E))F.add(E),u.push(C)}return u.sort((C,E)=>C.name.localeCompare(E.name)),u}function b8(D,F){if(D.base==="Extension"||D.base==="http://hl7.org/fhir/StructureDefinition/Extension")return!0;if(D.url?.includes("/extension/")||D.url?.includes("-extension"))return!0;if(D.name?.toLowerCase().includes("extension"))return!0;if(D.type==="Extension")return!0;return!1}async function Q6(D,F){if(!F.url)throw Error("ValueSet URL is required");let u=YF(D,F.url),C=k2(D,F.url);return{identifier:u,description:F.description,concept:C,compose:!C?F.compose:void 0}}async function x8(D,F,u){try{let C=xD(D),E;if(D.base&&D.base!=="Extension"){let Z=D.base.includes("/")?D.base:`http://hl7.org/fhir/StructureDefinition/${D.base}`;E={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:D.base.split("/").pop()||D.base,url:Z}}else E={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:"Extension",url:"http://hl7.org/fhir/StructureDefinition/Extension"};let B={identifier:C,base:E,description:D.description,dependencies:[],metadata:{isExtension:!0}};if(E)B.dependencies.push(E);if(D.elements){let Z=await JF(F,D,[],D.elements);if(Z&&Object.keys(Z).length>0)B.fields=Z,B.dependencies.push(...X6(Z))}let $=await h2(F,D);if($&&$.length>0)B.nested=$,B.dependencies.push(...d2($));return B.dependencies=w8(B.dependencies),B.dependencies=B.dependencies.filter((Z)=>Z.url!==C.url),B}catch(C){return console.warn(`Failed to transform extension ${D.name}: ${C}`),null}}function P8(D,F,u,C){let E=[];if(F)E.push(F);if(u)E.push(...X6(u));if(C)E.push(...d2(C));let B={};for(let Q of E){if(Q.url===D.url)continue;B[Q.url]=Q}let $=new Set(C?.map((Q)=>Q.identifier.url)),Z=Object.values(B).filter((Q)=>!(Q.kind==="nested"&&$.has(Q.url))).sort((Q,z)=>Q.url.localeCompare(z.url));return Z.length>0?Z:void 0}async function S8(D,F){let u=xD(F),C;if(F.base&&F.type!=="Element"){let z=D.resolveFs(D.ensureCanonicalUrl(F.base));if(!z)throw Error(`Base resource not found '${F.base}' for '${F.url}'`);C=xD(z)}let E=await JF(D,F,[],F.elements),B=await h2(D,F),$=P8(u,C,E,B),Z={identifier:u,base:C,fields:E,nested:B,description:F.description,dependencies:$},Q=await y2(D,F);return[Z,...Q]}async function z6(D,F){let u=[],C=xD(F);if(C.kind==="profile"){let E=await C6(D,F);u.push(E);let B=await y2(D,F);return u.push(...B),u}if(b8(F,C)){let E=await x8(F,D,F.package_meta);if(E)u.push(E);return u}return await S8(D,F)}class gD{manager;options;cacheConfig;cache;logger;constructor(D={},F){this.options={verbose:!1,...D},this.manager=D.manager||pD({packages:[],workingDir:"tmp/fhir"}),this.cacheConfig=F,this.logger=D.logger||jD({verbose:this.options.verbose,prefix:"TypeSchema"})}async initializeCache(){if(this.cacheConfig&&!this.cache)this.cache=new $0(this.cacheConfig),await this.cache.initialize()}async registerFromPackageMetas(D){let F=D.map((u)=>`${u.name}${u.version}`);return this.logger.step(`Loading FHIR packages: ${F.join(", ")}`),await this.manager.init(),b2(this.manager)}generateFhirSchemas(D){this.logger.progress(`Converting ${D.length} StructureDefinitions to FHIRSchemas`);let F=this.applyStructureDefinitionTreeshaking(D),u=[],C=0,E=0;for(let B of F)try{let $=I0(B);u.push($),C++,this.logger.debug(`Converted StructureDefinition: ${B.name||B.id} (${B.resourceType})`)}catch($){E++,this.logger.warn(`Failed to convert StructureDefinition ${B.name||B.id}: ${$ instanceof Error?$.message:String($)}`)}return this.logger.success(`FHIR Schema conversion completed: ${C}/${F.length} successful, ${E} failed`),u}async generateValueSetSchemas(D,F){if(D.length>0)this.logger.debug(`${D.length} ValueSets available for enum extraction`);let u=[];if(D.length>0){this.logger.progress(`Converting ${D.length} ValueSets to TypeSchema`);let C=0,E=0;for(let B of D)try{let $=await Q6(await b2(this.manager),B);if($)u.push($),C++,this.logger.debug(`Converted ValueSet: ${B.name||B.id}`)}catch($){E++,this.logger.warn(`Failed to convert ValueSet ${B.name||B.id}: ${$ instanceof Error?$.message:String($)}`)}this.logger.success(`ValueSet conversion completed: ${C}/${D.length} successful, ${E} failed`)}return u}async generateFromPackage(D,F){if(await this.initializeCache(),this.cache&&!(this.cacheConfig?.forceRegenerate??!1)){let B=this.cache.getByPackage(D);if(B.length>0)return this.logger.info(`Using cached TypeSchemas for package: ${D} (${B.length} schemas)`),B}let u={name:D,version:F||"latest"},C=await this.registerFromPackageMetas([u]),E=[...(await Promise.all(C.allFs().map(async(B)=>await z6(C,B)))).flat(),...await this.generateValueSetSchemas(C.allVs(),u)];if(this.cache)for(let B of E)await this.cache.set(B);return E}applyStructureDefinitionTreeshaking(D){let F=this.options.treeshake;if(!F||F.length===0)return D;this.logger.info(`Applying treeshaking filter for ResourceTypes: ${F.join(", ")}`);let u=new Map,C=new Map,E=new Map;for(let z of D){let O=z.name||z.id;if(O)u.set(O,z),C.set(O,new Set),E.set(O,new Set)}for(let z of D){let O=z.name||z.id;if(!O)continue;let{realDeps:A,refTargets:J}=this.extractStructureDefinitionDependenciesWithReferences(z);C.set(O,new Set(A)),E.set(O,new Set(J))}let B=new Set;for(let z of F)if(u.has(z))B.add(z);else this.logger.warn(`ResourceType '${z}' not found in structure definitions`);let $=(z,O=new Set)=>{if(O.has(z)||!C.has(z))return;O.add(z);let A=C.get(z)||new Set;for(let J of Array.from(A))if(u.has(J))B.add(J),$(J,O)};for(let z of Array.from(B))$(z);let Z=D.filter((z)=>{let O=z.name||z.id;return O&&B.has(O)}),Q=new Set;for(let z of D){let O=z.name||z.id;if(O&&!B.has(O)){if(Array.from(E.values()).some((J)=>J.has(O)))Q.add(O)}}if(Q.size>0)this.logger.info(`Excluded reference-only targets: ${Array.from(Q).join(", ")}`);return this.logger.success(`Treeshaking completed: kept ${Z.length}/${D.length} structure definitions`),Z}extractStructureDefinitionDependenciesWithReferences(D){let F=new Set,u=new Set;if(D.baseDefinition){let C=this.extractResourceNameFromUrl(D.baseDefinition);if(C)F.add(C)}if(D.snapshot?.element||D.differential?.element){let C=D.snapshot?.element||D.differential?.element;for(let E of C)if(E.type)for(let B of E.type){if(B.code){if(F.add(B.code),B.code==="Reference"&&B.targetProfile)for(let $ of B.targetProfile){let Z=this.extractResourceNameFromUrl($);if(Z)u.add(Z)}}if(B.profile)for(let $ of B.profile){let Z=this.extractResourceNameFromUrl($);if(Z)F.add(Z)}}}return{realDeps:Array.from(F),refTargets:Array.from(u)}}extractResourceNameFromUrl(D){let F=D.match(/\/([^/]+)$/);return F?F[1]??null:null}}import{readFile as v8}from"node:fs/promises";class T0{options;constructor(D={}){this.options={format:"auto",validate:!0,strict:!1,...D}}async parseFromFile(D){let F=await v8(D,"utf-8"),u=this.options.format==="auto"?this.detectFormat(F,D):this.options.format;return this.parseFromString(F,u)}async parseFromString(D,F){let u=F||this.detectFormat(D),C;if(u==="ndjson")C=this.parseNDJSON(D);else C=this.parseJSON(D);if(this.options.validate)this.validateSchemas(C);return C}async parseFromFiles(D){let F=[];for(let u of D){let C=await this.parseFromFile(u);F.push(...C)}return F}parseSchema(D){if(!D.identifier)throw Error("TypeSchema must have an identifier");if(!this.isValidIdentifier(D.identifier))throw Error("TypeSchema identifier is invalid");return D}findByIdentifier(D,F){return D.filter((u)=>this.matchesIdentifier(u.identifier,F))}findByUrl(D,F){return D.find((u)=>u.identifier.url===F)}findByKind(D,F){return D.filter((u)=>u.identifier.kind===F)}findByPackage(D,F){return D.filter((u)=>u.identifier.package===F)}detectFormat(D,F){if(F){if(F.endsWith(".ndjson"))return"ndjson";if(F.endsWith(".json"))return"json"}let u=D.trim();if(u.includes(`
92
+ `,"f");N(this,XD,X(this,XD,"f")+D.join(" "),"f")}}}[lF](D){z0(X(this,b,"f")).forEach((F)=>{if(((C)=>C==="configObjects")(F))return;let u=X(this,b,"f")[F];if(Array.isArray(u)){if(u.includes(D))u.splice(u.indexOf(D),1)}else if(typeof u==="object")delete u[D]}),delete X(this,h,"f").getDescriptions()[D]}[Q3](D,F,u){if(!X(this,h0,"f")[u])X(this,k,"f").process.emitWarning(D,F),X(this,h0,"f")[u]=!0}[z3](){X(this,d0,"f").push({options:X(this,b,"f"),configObjects:X(this,b,"f").configObjects.slice(0),exitProcess:X(this,_D,"f"),groups:X(this,ND,"f"),strict:X(this,aD,"f"),strictCommands:X(this,eD,"f"),strictOptions:X(this,D0,"f"),completionCommand:X(this,AD,"f"),output:X(this,XD,"f"),exitError:X(this,kD,"f"),hasOutput:X(this,GD,"f"),parsed:this.parsed,parseFn:X(this,HD,"f"),parseContext:X(this,sD,"f")}),X(this,h,"f").freeze(),X(this,a,"f").freeze(),X(this,FD,"f").freeze(),X(this,MD,"f").freeze()}[Y3](){let D="",F;if(/\b(node|iojs|electron)(\.exe)?$/.test(X(this,k,"f").process.argv()[0]))F=X(this,k,"f").process.argv().slice(1,2);else F=X(this,k,"f").process.argv().slice(0,1);if(D=F.map((u)=>{let C=this[U3](X(this,nD,"f"),u);return u.match(/^(\/|([a-zA-Z]:)?\\)/)&&C.length<u.length?C:u}).join(" ").trim(),X(this,k,"f").getEnv("_")&&X(this,k,"f").getProcessArgvBin()===X(this,k,"f").getEnv("_"))D=X(this,k,"f").getEnv("_").replace(`${X(this,k,"f").path.dirname(X(this,k,"f").process.execPath())}/`,"");return D}[F0](){return X(this,m0,"f")}[O3](){return X(this,l0,"f")}[oF](){if(!X(this,iD,"f"))return;let D=X(this,k,"f").getEnv("LC_ALL")||X(this,k,"f").getEnv("LC_MESSAGES")||X(this,k,"f").getEnv("LANG")||X(this,k,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[J3](){return this[nF]().version||"unknown"}[W3](D){let F=D["--"]?D["--"]:D._;for(let u=0,C;(C=F[u])!==void 0;u++)if(X(this,k,"f").Parser.looksLikeNumber(C)&&Number.isSafeInteger(Math.floor(parseFloat(`${C}`))))F[u]=Number(C);return D}[nF](D){let F=D||"*";if(X(this,O0,"f")[F])return X(this,O0,"f")[F];let u={};try{let C=D||X(this,k,"f").mainFilename;if(X(this,k,"f").path.extname(C))C=X(this,k,"f").path.dirname(C);let E=X(this,k,"f").findUp(C,(B,$)=>{if($.includes("package.json"))return"package.json";else return});OD(E,void 0,X(this,k,"f")),u=JSON.parse(X(this,k,"f").readFileSync(E,"utf8"))}catch(C){}return X(this,O0,"f")[F]=u||{},X(this,O0,"f")[F]}[hD](D,F){F=[].concat(F),F.forEach((u)=>{u=this[sF](u),X(this,b,"f")[D].push(u)})}[J0](D,F,u,C){this[tF](D,F,u,C,(E,B,$)=>{X(this,b,"f")[E][B]=$})}[iF](D,F,u,C){this[tF](D,F,u,C,(E,B,$)=>{X(this,b,"f")[E][B]=(X(this,b,"f")[E][B]||[]).concat($)})}[tF](D,F,u,C,E){if(Array.isArray(u))u.forEach((B)=>{D(B,C)});else if(((B)=>typeof B==="object")(u))for(let B of z0(u))D(B,u[B]);else E(F,this[sF](u),C)}[sF](D){if(D==="__proto__")return"___proto___";return D}[rF](D,F){return this[J0](this[rF].bind(this),"key",D,F),this}[aF](){var D,F,u,C,E,B,$,Z,Q,z,O,W;let J=X(this,d0,"f").pop();OD(J,void 0,X(this,k,"f"));let A;D=this,F=this,u=this,C=this,E=this,B=this,$=this,Z=this,Q=this,z=this,O=this,W=this,{options:{set value(_){N(D,b,_,"f")}}.value,configObjects:A,exitProcess:{set value(_){N(F,_D,_,"f")}}.value,groups:{set value(_){N(u,ND,_,"f")}}.value,output:{set value(_){N(C,XD,_,"f")}}.value,exitError:{set value(_){N(E,kD,_,"f")}}.value,hasOutput:{set value(_){N(B,GD,_,"f")}}.value,parsed:this.parsed,strict:{set value(_){N($,aD,_,"f")}}.value,strictCommands:{set value(_){N(Z,eD,_,"f")}}.value,strictOptions:{set value(_){N(Q,D0,_,"f")}}.value,completionCommand:{set value(_){N(z,AD,_,"f")}}.value,parseFn:{set value(_){N(O,HD,_,"f")}}.value,parseContext:{set value(_){N(W,sD,_,"f")}}.value}=J,X(this,b,"f").configObjects=A,X(this,h,"f").unfreeze(),X(this,a,"f").unfreeze(),X(this,FD,"f").unfreeze(),X(this,MD,"f").unfreeze()}[A3](D,F){return oD(F,(u)=>{return D(u),u})}getInternalMethods(){return{getCommandInstance:this[G3].bind(this),getContext:this[H3].bind(this),getHasOutput:this[q3].bind(this),getLoggerInstance:this[_3].bind(this),getParseContext:this[M3].bind(this),getParserConfiguration:this[F0].bind(this),getUsageConfiguration:this[O3].bind(this),getUsageInstance:this[V3].bind(this),getValidationInstance:this[K3].bind(this),hasParseCallback:this[o0].bind(this),isGlobalContext:this[R3].bind(this),postProcess:this[u0].bind(this),reset:this[eF].bind(this),runValidation:this[D2].bind(this),runYargsParserAndExecuteCommands:this[R0].bind(this),setHasOutput:this[j3].bind(this)}}[G3](){return X(this,FD,"f")}[H3](){return X(this,K0,"f")}[q3](){return X(this,GD,"f")}[_3](){return X(this,tD,"f")}[M3](){return X(this,sD,"f")||{}}[V3](){return X(this,h,"f")}[K3](){return X(this,a,"f")}[o0](){return!!X(this,HD,"f")}[R3](){return X(this,p0,"f")}[u0](D,F,u,C){if(u)return D;if(s(D))return D;if(!F)D=this[Z3](D);if(this[F0]()["parse-positional-numbers"]||this[F0]()["parse-positional-numbers"]===void 0)D=this[W3](D);if(C)D=lD(D,this,X(this,MD,"f").getMiddleware(),!1);return D}[eF](D={}){N(this,b,X(this,b,"f")||{},"f");let F={};F.local=X(this,b,"f").local||[],F.configObjects=X(this,b,"f").configObjects||[];let u={};F.local.forEach((B)=>{u[B]=!0,(D[B]||[]).forEach(($)=>{u[$]=!0})}),Object.assign(X(this,rD,"f"),Object.keys(X(this,ND,"f")).reduce((B,$)=>{let Z=X(this,ND,"f")[$].filter((Q)=>!(Q in u));if(Z.length>0)B[$]=Z;return B},{})),N(this,ND,{},"f");let C=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],E=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(C.forEach((B)=>{F[B]=(X(this,b,"f")[B]||[]).filter(($)=>!u[$])}),E.forEach((B)=>{F[B]=vD(X(this,b,"f")[B],($)=>!u[$])}),F.envPrefix=X(this,b,"f").envPrefix,N(this,b,F,"f"),N(this,h,X(this,h,"f")?X(this,h,"f").reset(u):a1(this,X(this,k,"f")),"f"),N(this,a,X(this,a,"f")?X(this,a,"f").reset(u):B3(this,X(this,h,"f"),X(this,k,"f")),"f"),N(this,FD,X(this,FD,"f")?X(this,FD,"f").reset():t1(X(this,h,"f"),X(this,a,"f"),X(this,MD,"f"),X(this,k,"f")),"f"),!X(this,JD,"f"))N(this,JD,u3(this,X(this,h,"f"),X(this,FD,"f"),X(this,k,"f")),"f");return X(this,MD,"f").reset(),N(this,AD,null,"f"),N(this,XD,"","f"),N(this,kD,null,"f"),N(this,GD,!1,"f"),this.parsed=!1,this}[U3](D,F){return X(this,k,"f").path.relative(D,F)}[R0](D,F,u,C=0,E=!1){var B,$,Z,Q;let z=!!u||E;D=D||X(this,yD,"f"),X(this,b,"f").__=X(this,k,"f").y18n.__,X(this,b,"f").configuration=this[F0]();let O=!!X(this,b,"f").configuration["populate--"],W=Object.assign({},X(this,b,"f").configuration,{"populate--":!0}),J=X(this,k,"f").Parser.detailed(D,Object.assign({},X(this,b,"f"),{configuration:{"parse-positional-numbers":!1,...W}})),A=Object.assign(J.argv,X(this,sD,"f")),_=void 0,q=J.aliases,P=!1,c=!1;if(Object.keys(A).forEach((p)=>{if(p===X(this,VD,"f")&&A[p])P=!0;else if(p===X(this,TD,"f")&&A[p])c=!0}),A.$0=this.$0,this.parsed=J,C===0)X(this,h,"f").clearCachedHelpMessage();try{if(this[oF](),F)return this[u0](A,O,!!u,!1);if(X(this,VD,"f")){if([X(this,VD,"f")].concat(q[X(this,VD,"f")]||[]).filter((j)=>j.length>1).includes(""+A._[A._.length-1]))A._.pop(),P=!0}N(this,p0,!1,"f");let p=X(this,FD,"f").getCommands(),QD=((B=X(this,JD,"f"))===null||B===void 0?void 0:B.completionKey)?[($=X(this,JD,"f"))===null||$===void 0?void 0:$.completionKey,...(Q=this.getAliases()[(Z=X(this,JD,"f"))===null||Z===void 0?void 0:Z.completionKey])!==null&&Q!==void 0?Q:[]].some((U)=>Object.prototype.hasOwnProperty.call(A,U)):!1,d=P||QD||E;if(A._.length){if(p.length){let U;for(let j=C||0,S;A._[j]!==void 0;j++)if(S=String(A._[j]),p.includes(S)&&S!==X(this,AD,"f")){let l=X(this,FD,"f").runCommand(S,this,J,j+1,E,P||c||E);return this[u0](l,O,!!u,!1)}else if(!U&&S!==X(this,AD,"f")){U=S;break}if(!X(this,FD,"f").hasDefaultCommand()&&X(this,c0,"f")&&U&&!d)X(this,a,"f").recommendCommands(U,p)}if(X(this,AD,"f")&&A._.includes(X(this,AD,"f"))&&!QD){if(X(this,_D,"f"))fD(!0);this.showCompletionScript(),this.exit(0)}}if(X(this,FD,"f").hasDefaultCommand()&&!d){let U=X(this,FD,"f").runCommand(null,this,J,0,E,P||c||E);return this[u0](U,O,!!u,!1)}if(QD){if(X(this,_D,"f"))fD(!0);D=[].concat(D);let U=D.slice(D.indexOf(`--${X(this,JD,"f").completionKey}`)+1);return X(this,JD,"f").getCompletion(U,(j,S)=>{if(j)throw new DD(j.message);(S||[]).forEach((l)=>{X(this,tD,"f").log(l)}),this.exit(0)}),this[u0](A,!O,!!u,!1)}if(!X(this,GD,"f")){if(P){if(X(this,_D,"f"))fD(!0);z=!0,this.showHelp((U)=>{X(this,tD,"f").log(U),this.exit(0)})}else if(c){if(X(this,_D,"f"))fD(!0);z=!0,X(this,h,"f").showVersion("log"),this.exit(0)}}if(!z&&X(this,b,"f").skipValidation.length>0)z=Object.keys(A).some((U)=>X(this,b,"f").skipValidation.indexOf(U)>=0&&A[U]===!0);if(!z){if(J.error)throw new DD(J.error.message);if(!QD){let U=this[D2](q,{},J.error);if(!u)_=lD(A,this,X(this,MD,"f").getMiddleware(),!0);if(_=this[A3](U,_!==null&&_!==void 0?_:A),s(_)&&!u)_=_.then(()=>{return lD(A,this,X(this,MD,"f").getMiddleware(),!1)})}}}catch(p){if(p instanceof DD)X(this,h,"f").fail(p.message,p);else throw p}return this[u0](_!==null&&_!==void 0?_:A,O,!!u,!0)}[D2](D,F,u,C){let E={...this.getDemandedOptions()};return(B)=>{if(u)throw new DD(u.message);X(this,a,"f").nonOptionCount(B),X(this,a,"f").requiredArguments(B,E);let $=!1;if(X(this,eD,"f"))$=X(this,a,"f").unknownCommands(B);if(X(this,aD,"f")&&!$)X(this,a,"f").unknownArguments(B,D,F,!!C);else if(X(this,D0,"f"))X(this,a,"f").unknownArguments(B,D,{},!1,!1);X(this,a,"f").limitedChoices(B),X(this,a,"f").implications(B),X(this,a,"f").conflicting(B)}}[j3](){N(this,GD,!0,"f")}[C0](D){if(typeof D==="string")X(this,b,"f").key[D]=!0;else for(let F of D)X(this,b,"f").key[F]=!0}}function s1(D){return!!D&&typeof D.getInternalMethods==="function"}var yu=I3(dF),N3=yu;import{performance as b3}from"node:perf_hooks";var dD=b0(u2(),1);class gu{total;message;current=0;barLength=30;startTime=b3.now();constructor(D,F){this.total=D;this.message=F}update(D,F){this.current=Math.min(D,this.total),this.render(F)}increment(D){this.update(this.current+1,D)}complete(D){this.current=this.total,this.render();let F=Math.round(b3.now()-this.startTime);console.log(dD.default.green(`✅ ${D||this.message} ${dD.default.gray(`(${F}ms)`)}`))}render(D){let F=Math.round(this.current/this.total*100),u=Math.round(this.current/this.total*this.barLength),C=this.barLength-u,E=dD.default.green("█".repeat(u))+dD.default.gray("░".repeat(C)),B=`${this.current}/${this.total}`,$=D?dD.default.gray(` ${D}`):"";if(process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(`${this.message} ${E} ${dD.default.cyan(B)} ${dD.default.yellow(`${F}%`)}${$}`),this.current===this.total)process.stdout.write(`
93
+ `)}}var $D=b0(u2(),1);class t0{options;constructor(D={}){this.options={timestamp:!1,verbose:!1,...D}}formatMessage(D,F,u){let C=this.options.timestamp?`${$D.default.gray(new Date().toLocaleTimeString())} `:"",E=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";return`${C}${u(D)} ${E}${F}`}success(D){console.log(this.formatMessage("✅",D,$D.default.green))}error(D,F){if(console.error(this.formatMessage("❌",D,$D.default.red)),F&&this.options.verbose){if(console.error($D.default.red(` ${F.message}`)),F.stack)console.error($D.default.gray(F.stack))}}warn(D){console.warn(this.formatMessage("⚠️",D,$D.default.yellow))}info(D){console.log(this.formatMessage("ℹ️",D,$D.default.blue))}debug(D){if(this.options.verbose)console.log(this.formatMessage("\uD83D\uDC1B",D,$D.default.magenta))}step(D){console.log(this.formatMessage("\uD83D\uDE80",D,$D.default.cyan))}progress(D){console.log(this.formatMessage("⏳",D,$D.default.blue))}plain(D,F=(u)=>u){let u=this.options.timestamp?`${$D.default.gray(new Date().toLocaleTimeString())} `:"",C=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";console.log(`${u}${C}${F(D)}`)}dim(D){this.plain(D,$D.default.gray)}child(D){return new t0({...this.options,prefix:this.options.prefix?`${this.options.prefix}:${D}`:D})}configure(D){this.options={...this.options,...D}}}var E0=new t0;function s0(D){E0.success(D)}function KD(D,F){E0.error(D,F)}function C2(D){E0.warn(D)}function r0(D){E0.info(D)}function E2(D){E0.step(D)}function x3(D){E0.dim(D)}function B2(D){E0.configure(D)}function jD(D={}){return new t0(D)}function $2(D){console.log(),console.log($D.default.cyan($D.default.bold(`━━━ ${D} ━━━`)))}function Z2(D,F,u){let C=D;if(F)C+=` ${$D.default.gray(`(${F}ms)`)}`;if(s0(C),u)Object.entries(u).forEach(([E,B])=>{x3(` ${E}: ${B}`)})}function B0(D,F="•"){D.forEach((u)=>{console.log($D.default.gray(` ${F} ${u}`))})}import{existsSync as o8}from"node:fs";import{resolve as n8}from"node:path";import{existsSync as a0,mkdirSync as P3}from"node:fs";import{readdir as S3,readFile as mu,stat as cu,unlink as v3,writeFile as lu}from"node:fs/promises";import{join as X2}from"node:path";class $0{cache=new Map;config;cacheDir;constructor(D){if(this.config={enablePersistence:!0,cacheDir:".typeschema-cache",maxAge:86400000,validateCached:!0,...D},this.config.enablePersistence&&this.config.cacheDir)this.cacheDir=this.config.cacheDir}async set(D){let F=this.generateKey(D.identifier);if(this.cache.set(F,D),this.config.enablePersistence&&this.cacheDir)await this.persistSchema(D)}get(D){let F=this.generateKey(D);return this.cache.get(F)||null}getByUrl(D){for(let F of this.cache.values())if(F.identifier.url===D)return F;return null}has(D){let F=this.generateKey(D);return this.cache.has(F)}hasByUrl(D){for(let F of this.cache.values())if(F.identifier.url===D)return!0;return!1}delete(D){let F=this.generateKey(D);return this.cache.delete(F)}deleteByUrl(D){for(let[F,u]of this.cache.entries())if(u.identifier.url===D)return this.cache.delete(F);return!1}getByPackage(D){let F=[];for(let u of this.cache.values())if(u.identifier.package===D)F.push(u);return F}getByKind(D){let F=[];for(let u of this.cache.values())if(u.identifier.kind===D)F.push(u);return F}setMany(D){for(let F of D)this.set(F)}clear(){this.cache.clear()}generateKey(D){return`${D.package}:${D.version}:${D.kind}:${D.name}`}async initialize(){if(this.config.enablePersistence&&this.cacheDir){if(!a0(this.cacheDir))P3(this.cacheDir,{recursive:!0});await this.loadFromDisk()}}async loadFromDisk(){if(!this.cacheDir||!a0(this.cacheDir))return;try{let F=(await S3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F){let C=X2(this.cacheDir,u),E=await cu(C);if(this.config.maxAge){if(Date.now()-E.mtimeMs>this.config.maxAge){await v3(C);continue}}try{let B=await mu(C,"utf-8"),$=JSON.parse(B);if(this.config.validateCached){if(!$.schema?.identifier)continue}let Z=this.generateKey($.schema.identifier);this.cache.set(Z,$.schema)}catch(B){console.warn(`Failed to load cached schema from ${u}:`,B)}}}catch(D){console.warn("Failed to load cached schemas from disk:",D)}}async persistSchema(D){if(!this.cacheDir)return;if(!a0(this.cacheDir))P3(this.cacheDir,{recursive:!0});let F={schema:D,timestamp:Date.now(),version:D.identifier.version},u=`${D.identifier.package}-${D.identifier.version}-${D.identifier.kind}-${D.identifier.name}.typeschema.json`.replace(/[^a-zA-Z0-9.-]/g,"_"),C=X2(this.cacheDir,u);try{await lu(C,JSON.stringify(F,null,2),"utf-8")}catch(E){console.warn(`Failed to persist schema to ${C}:`,E)}}async clearDisk(){if(!this.cacheDir||!a0(this.cacheDir))return;try{let F=(await S3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F)await v3(X2(this.cacheDir,u))}catch(D){console.warn("Failed to clear cache directory:",D)}}}import{createHash as ou}from"crypto";var Q2=(D)=>{let F=`${D.packageName}@${D.packageVersion}:${D.filePath}`;return ou("sha256").update(F).digest("base64url")};var W0=()=>{let D={},F={};return{generateId:Q2,get:(E)=>D[E],set:(E,B)=>{if(D[E]=B,B.url){if(!F[B.url])F[B.url]=[];let $=F[B.url];if($&&!$.includes(E))$.push(E)}},has:(E)=>(E in D),clear:()=>{Object.keys(D).forEach((E)=>delete D[E]),Object.keys(F).forEach((E)=>delete F[E])},size:()=>Object.keys(D).length,getIdsByUrl:(E)=>F[E]||[],createReference:(E,B)=>({id:E,resourceType:B.resourceType}),getAllReferences:()=>D}};import*as K2 from"path";import*as n3 from"fs/promises";var f3="https://fs.get-ig.org/pkgs/";import*as e0 from"fs/promises";import*as k3 from"path";var A0=async(D)=>{try{return await e0.access(D),!0}catch{return!1}},G0=async(D)=>{try{await e0.mkdir(D,{recursive:!0})}catch{}},DF=async(D)=>{let F=k3.join(D,".index.json");return A0(F)};import{exec as nu}from"child_process";import{promisify as iu}from"util";var y3=iu(nu);async function z2(){try{return await y3("bun --version"),"bun"}catch{try{return await y3("npm --version"),"npm"}catch{return null}}}import*as d3 from"fs/promises";import*as p3 from"path";import{exec as tu}from"child_process";import{promisify as su}from"util";var h3=su(tu),FF=async(D,F,u)=>{await G0(F);let C=p3.join(F,"package.json");if(!await A0(C))await d3.writeFile(C,JSON.stringify({name:"fhir-canonical-manager-workspace",version:"1.0.0",private:!0,dependencies:{}},null,2));let E=await z2();if(!E)throw Error("No package manager found. Please install npm or bun.");for(let B of D)try{if(E==="bun"){let $={...process.env,HOME:F,NPM_CONFIG_USERCONFIG:"/dev/null"},Z=u?`cd ${F} && bun add ${B} --registry ${u}`:`cd ${F} && bun add ${B}`;await h3(Z,{env:$,maxBuffer:10485760})}else{let $=u?`cd ${F} && npm add ${B} --registry ${u}`:`cd ${F} && npm add ${B}`;await h3($,{maxBuffer:10485760})}}catch($){throw console.error(`Failed to install package ${B}:`,$),$}};var uF=()=>{let D=W0();return{entries:{},packages:{},references:{},referenceManager:D}};import*as CF from"fs/promises";import*as J2 from"path";import*as Y2 from"fs/promises";import*as O2 from"path";import{createHash as g3}from"crypto";var U0=async(D)=>{try{let F=O2.join(D,"package-lock.json");try{let u=await Y2.readFile(F,"utf-8");return g3("sha256").update(u).digest("hex")}catch{let u=O2.join(D,"bun.lock"),C=await Y2.readFile(u,"utf-8");return g3("sha256").update(C).digest("hex")}}catch{return null}};var EF=async(D,F,u)=>{let C=await U0(u),E={entries:D.entries,packages:D.packages,references:D.referenceManager.getAllReferences(),packageLockHash:C||void 0},B=J2.join(F,"index.json");await CF.writeFile(B,JSON.stringify(E,null,2))},W2=async(D)=>{try{let F=J2.join(D,"index.json"),u=await CF.readFile(F,"utf-8");return JSON.parse(u)}catch{return null}};var m3=(D)=>{if(!D||typeof D!=="object")return!1;if(!D.filename||typeof D.filename!=="string")return!1;if(!D.resourceType||typeof D.resourceType!=="string")return!1;if(!D.id||typeof D.id!=="string")return!1;let F=["url","version","kind","type"];for(let u of F)if(D[u]!==void 0&&typeof D[u]!=="string")return!1;return!0},c3=(D)=>{if(!D||typeof D!=="object")return!1;if(!D["index-version"]||typeof D["index-version"]!=="number")return!1;if(!Array.isArray(D.files))return!1;return D.files.every((F)=>m3(F))},A2=(D,F)=>{try{let u=JSON.parse(D);if(!c3(u))return null;return u}catch{return null}};import*as l3 from"fs/promises";import*as G2 from"path";var BF=async(D,F,u)=>{let C=G2.join(D,".index.json");try{let E=await l3.readFile(C,"utf-8"),B=A2(E,C);if(!B)return;for(let $ of B.files){if(!$.url)continue;let Z=G2.join(D,$.filename),Q=u.referenceManager.generateId({packageName:F.name,packageVersion:F.version,filePath:Z});u.referenceManager.set(Q,{packageName:F.name,packageVersion:F.version,filePath:Z,resourceType:$.resourceType,url:$.url,version:$.version});let z={id:Q,resourceType:$.resourceType,indexVersion:B["index-version"],url:$.url,version:$.version,kind:$.kind,type:$.type,package:{name:F.name,version:F.version}};if(!u.entries[$.url])u.entries[$.url]=[];let O=u.entries[$.url];if(O)O.push(z)}}catch{}};import*as o3 from"fs/promises";import*as $F from"path";var ZF=async(D,F)=>{try{let u=$F.join(D,"package.json"),C=await o3.readFile(u,"utf-8"),E=JSON.parse(C),B={id:{name:E.name,version:E.version},path:D,canonical:E.canonical,fhirVersions:E.fhirVersions};F.packages[E.name]=B,await BF(D,E,F);let $=$F.join(D,"examples");if(await A0($F.join($,".index.json")))await BF($,E,F)}catch{}};import*as H2 from"fs/promises";import*as q2 from"path";var XF=async(D,F)=>{try{let u=await H2.readdir(D,{withFileTypes:!0});for(let C of u){if(!C.isDirectory())continue;let E=q2.join(D,C.name);if(C.name.startsWith("@")){let B=await H2.readdir(E,{withFileTypes:!0});for(let $ of B){if(!$.isDirectory())continue;let Z=q2.join(E,$.name);if(await DF(Z))await ZF(Z,F)}}else if(await DF(E))await ZF(E,F)}}catch{}};var _2=async(D,F,u,C)=>{if(F.package)try{return await C(D,{package:F.package.name,version:F.package.version})}catch{}return null};var M2={str:["structure"],struct:["structure"],def:["definition"],pati:["patient"],obs:["observation"],org:["organization"],pract:["practitioner"],med:["medication","medicinal"],req:["request"],resp:["response"],ref:["reference"],val:["value"],code:["codesystem","code"],cs:["codesystem"],vs:["valueset"],sd:["structuredefinition"]};var V2=(D,F)=>{if(F.length===0)return D;let u=F.map((C)=>C.toLowerCase());return D.filter((C)=>{if(!C.url)return!1;let B=[C.url.toLowerCase(),C.type?.toLowerCase()||"",C.resourceType?.toLowerCase()||""].join(" ");return u.every(($)=>{let Z=B.split(/[\/\-_\.\s]+/);if(Z.some((O)=>O.startsWith($)))return!0;let z=M2[$]||[];for(let O of z)if(Z.some((W)=>W.startsWith(O)))return!0;return B.includes($)})})};var pD=(D)=>{let{packages:F=[],workingDir:u}=D,C=D.registry?D.registry.endsWith("/")?D.registry:`${D.registry}/`:f3,E=K2.join(u,"node_modules"),B=K2.join(u,".fcm","cache"),$=uF(),Z=!1,Q=new Map,z=()=>{if(!Z)throw Error("CanonicalManager not initialized. Call init() first.")},O=async()=>{if(Z)return;await G0(u),await G0(B);let U=await U0(u),j=await W2(B);if(j&&j.packageLockHash===U&&U!==null)$.entries=j.entries,$.packages=j.packages,Object.entries(j.references).forEach(([l,g])=>{$.referenceManager.set(l,g)});else{if(j&&j.packageLockHash!==U)console.log("Package dependencies have changed, rebuilding index...");await FF(F,u,C),$=uF(),await XF(E,$),await EF($,B,u)}Z=!0},W=async()=>{$.entries={},$.packages={},$.referenceManager.clear(),Q.clear(),Z=!1},J=async()=>{return z(),Object.values($.packages).map((U)=>U.id)},A=async(...U)=>{if(U.length===0)return;let j=U.filter((S)=>!F.includes(S));if(j.length!==0)F.push(...j);if(!Z){await O();return}if(j.length===0)return;await FF(F,u,C),await XF(E,$),await EF($,B,u)},_=async(U,j)=>{if(z(),j?.sourceContext){let g=await _2(U,j.sourceContext,$,_);if(g)return g}let S=$.entries[U]||[];if(S.length===0)throw Error(`Cannot resolve canonical URL: ${U}`);let l=[...S];if(j?.package)l=l.filter((g)=>g.package?.name===j.package);if(j?.version)l=l.filter((g)=>g.version===j.version);if(l.length===0)throw Error(`No matching resource found for ${U} with given options`);return l[0]},q=async(U,j)=>{let S=await _(U,j);return P(S)},P=async(U)=>{z();let j=$.referenceManager.get(U.id);if(!j)throw Error(`Invalid reference ID: ${U.id}`);try{let S=await n3.readFile(j.filePath,"utf-8");return{...JSON.parse(S),id:U.id,resourceType:U.resourceType}}catch(S){throw Error(`Failed to read resource: ${S}`)}},c=async(U)=>{z();let j=[];if(U.url)j=$.entries[U.url]||[];else for(let S of Object.values($.entries))j.push(...S);if(U.kind!==void 0)j=j.filter((S)=>S.kind===U.kind);if(U.type!==void 0)j=j.filter((S)=>S.type===U.type);if(U.version!==void 0)j=j.filter((S)=>S.version===U.version);if(U.package){let S=U.package;j=j.filter((l)=>l.package?.name===S.name&&l.package?.version===S.version)}return j};return{init:O,destroy:W,packages:J,addPackages:A,resolveEntry:_,resolve:q,read:P,searchEntries:c,search:async(U)=>{let j=await c(U);return await Promise.all(j.map((l)=>P(l)))},smartSearch:async(U,j)=>{z();let S=await c({kind:j?.kind,package:j?.package});if(j?.resourceType)S=S.filter((l)=>l.resourceType===j.resourceType);if(j?.type)S=S.filter((l)=>l.type===j.type);return V2(S,U)},getSearchParametersForResource:async(U)=>{if(z(),Q.has(U))return Q.get(U);let S=(await c({})).filter((g)=>g.resourceType==="SearchParameter"),l=[];for(let g of S){let LD=await P(g),I=LD.base||[];if(Array.isArray(I)&&I.includes(U))l.push(LD)}return l.sort((g,LD)=>{let I=g.code||"",K=LD.code||"";return I.localeCompare(K)}),Q.set(U,l),l}}};function R2(D){let C=D.path.split(".").slice(1).map(($)=>({el:$}));if(C.length===0)return[];let E=C.length-1,B={};if(D.slicing){if(B.slicing={...D.slicing},D.min!==void 0)B.slicing.min=D.min;if(D.max&&D.max!=="*")B.slicing.max=parseInt(D.max)}if(D.sliceName){if(B.slice={},D.min!==void 0)B.slice.min=D.min;if(D.max&&D.max!=="*")B.slice.max=parseInt(D.max);B.sliceName=D.sliceName}return C[E]={...C[E],...B},C}function U2(D,F){let u=[],C=Math.min(D.length,F.length);for(let E=0;E<C;E++)if(D[E].el===F[E].el)u.push({el:D[E].el});else break;return u}function j2(D,F){let u=[];for(let C=0;C<F.length;C++)if(C<D.length&&D[C].el===F[C].el)u.push({...D[C],...F[C],...D[C].slicing&&!F[C].slicing&&{slicing:D[C].slicing}});else u.push(F[C]);return u}function ru(D,F){return!!(D.sliceName&&F.sliceName&&D.sliceName!==F.sliceName)}function i3(D){return{type:"exit-slice",sliceName:D.sliceName,...D.slicing&&{slicing:D.slicing},...D.slice&&{slice:D.slice}}}function au(D,F,u,C){let E=[];for(let B=D-1;B>=F;B--){let $=u[B];if($.sliceName)E.push(i3($));E.push({type:"exit",el:$.el})}if(F>0){let B=u[F-1],$=C[F-1];if(ru(B,$))E.push(i3(B))}return E}function eu(D,F,u,C){let E=[];if(D>0&&D<=F){let B=u[D-1]||{},$=C[D-1];if($.sliceName&&(!B.sliceName||B.sliceName!==$.sliceName))E.push({type:"enter-slice",sliceName:$.sliceName});if(D===F)return E}for(let B=D;B<F;B++){let $=C[B];if(E.push({type:"enter",el:$.el}),$.sliceName)E.push({type:"enter-slice",sliceName:$.sliceName})}return E}function QF(D,F){let u=D.length,C=F.length,B=U2(D,F).length,$=au(u,B,D,F),Z=eu(B,C,D,F);return[...$,...Z]}function s3(D,F){if(!D)return;return D.find((u)=>u.url===F)}function t3(D){return{Instant:"instant",Time:"time",Date:"date",DateTime:"dateTime",Decimal:"decimal",Boolean:"boolean",Integer:"integer",String:"string",Uri:"uri",Base64Binary:"base64Binary",Code:"code",Id:"id",Oid:"oid",UnsignedInt:"unsignedInt",PositiveInt:"positiveInt",Markdown:"markdown",Url:"url",Canonical:"canonical",Uuid:"uuid"}[D]||D}function D8(D){let F={};for(let[u,C]of Object.entries(D))if(typeof u==="string"&&u.startsWith("pattern")){let E=t3(u.replace(/^pattern/,""));F.pattern={type:E,value:C}}else if(typeof u==="string"&&u.startsWith("fixed")){let E=t3(u.replace(/^fixed/,""));F.pattern={type:E,value:C}}else F[u]=C;if(F.pattern?.type&&!F.type)F.type=F.pattern.type;return F}function F8(D){let F=[];for(let u of D)if(u.targetProfile){let C=Array.isArray(u.targetProfile)?u.targetProfile:[u.targetProfile];F.push(...C)}return F.length>0?[...new Set(F)].sort():void 0}function u8(D){if(!D.type||D.type.length===0)return D;if(D.type[0].code==="Reference"){let u=F8(D.type);return{...D,type:[{code:"Reference"}],...u&&{refers:u}}}return D}function C8(D,F){let u=(B)=>{let $={strength:B.strength,...B.valueSet&&{valueSet:B.valueSet}},Z=s3(B.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName");if(Z?.valueString)$.bindingName=Z.valueString;return $};if(D.choices){let{binding:B,...$}=D;return $}if(D.choiceOf&&F.snapshot){let B=`${F.id}.${D.choiceOf}[x]`,$=F.snapshot.element.find((Z)=>Z.path===B);if($?.binding)return{...D,binding:u($.binding)}}if(D.binding?.valueSet)return{...D,binding:u(D.binding)};let{binding:C,...E}=D;return E}function E8(D){if(!D.constraint||D.constraint.length===0)return D;let F={};for(let u of D.constraint)F[u.key]={expression:u.expression,human:u.human,severity:u.severity};return{...D,constraint:F}}function B8(D,F){if(!D.type||D.type.length===0)return D;let u=D.type[0]?.extension?.[0];if(u?.url==="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"&&u.valueUrl)return{...D,type:u.valueUrl};let C=D.type[0].code,E={...D,type:C};if(F.kind==="logical"){let B=s3(D.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-defaulttype");if(B?.valueCanonical)E.defaultType=B.valueCanonical}return E}function $8(D){if(D.type?.[0]?.code!=="Extension")return D;let u=D.type[0]?.profile?.[0];if(!u)return D;return{...D,url:u,...D.min&&{min:D.min},...D.max&&D.max!=="*"&&{max:parseInt(D.max)}}}function Z8(D){if(D.url)return D;let F=D.max==="*"||D.min&&D.min>=2||D.max&&parseInt(D.max)>=2,u=D.min===1,C={...D};if(delete C.min,delete C.max,F){if(C.array=!0,D.min&&D.min>0)C.min=D.min;if(D.max&&D.max!=="*")C.max=parseInt(D.max)}if(u)C._required=!0;return C}function X8(D,F){let u=D.substring(1).split("."),C=[F.url];for(let E of u.slice(1))C.push("elements",E);return C}function Q8(D,F){if(!D.contentReference)return D;let{contentReference:u,...C}=D;return{...C,elementReference:X8(u,F)}}function z8(D){let{path:F,slicing:u,sliceName:C,id:E,mapping:B,example:$,alias:Z,condition:Q,comment:z,definition:O,requirements:W,extension:J,...A}=D;return A}function I2(D,F){let u=u8(D);return u=z8(u),u=C8(u,F),u=E8(u),u=Q8(u,F),u=$8(u),u=Z8(u),u=B8(u,F),u=D8(u),u}function L2(D){if(D.path.endsWith("[x]"))return!0;if(D.type&&D.type.length>1)return new Set(D.type.map((u)=>u.code)).size>1;return!1}function r3(D){if(!D)return D;return D.charAt(0).toUpperCase()+D.slice(1)}function a3(D){let F=D.split("/");return F[F.length-1]}function N2(D){let F=D.path.replace(/\[x\]$/,""),u=F.split(".").pop()||"";if(!D.type)return[];let C=[],E=D.type.map((z)=>u+r3(a3(z.code))),{type:B,binding:$,...Z}=D,Q={...Z,path:F,choices:E};C.push(Q);for(let z of D.type){let O=r3(a3(z.code)),W={...D,path:F+O,type:[z],choiceOf:u};if(D.binding)delete W.binding;C.push(W)}return C}function e3(D,F){let u=D[D.length-1],C=D.slice(0,-1),E=C[C.length-1],B=F(E,u);return[...C.slice(0,-1),B]}function Y8(D,F){if(!D.discriminator)return{};let u={};for(let C of D.discriminator){if(!C.type||!["pattern","value",void 0].includes(C.type))continue;let E=C.path.trim();if(E==="$this"){if(F.pattern?.value)Object.assign(u,F.pattern.value)}else{let B=E.split(".").filter((z)=>z),$=Object.keys(F).filter((z)=>z.startsWith("pattern"));for(let z of $){let O=z.replace("pattern","").toLowerCase();if(B.length===1&&B[0]===O)u[O]=F[z]}let Z=["elements"];for(let z of B)if(Z.push(z),B.indexOf(z)<B.length-1)Z.push("elements");Z.push("pattern");let Q=F;for(let z of Z)Q=Q?.[z];if(Q?.value!==void 0){let z=u;for(let O=0;O<B.length-1;O++){if(!z[B[O]])z[B[O]]={};z=z[B[O]]}z[B[B.length-1]]=Q.value}}}return u}function O8(D,F,u){let C={match:F,schema:D};if(u?.min!==void 0&&u.min!==0)C.min=u.min;if(u?.max!==void 0)C.max=u.max;return C}function J8(D,F,u){let C=F.slicing||D.slicing||{},E=Y8(C,u),B=O8(u,E,D.slice);if(!F.slicing)F.slicing={};if(D.slicing)F.slicing={...F.slicing,...D.slicing};if(!F.slicing.slices)F.slicing.slices={};return F.slicing.slices[D.sliceName]=B,F}function W8(D){if(!D.slicing?.slices)return{};let F={};for(let[u,C]of Object.entries(D.slicing.slices)){let{match:E,schema:B,...$}=C,{slicing:Z,elements:Q,type:z,min:O,...W}=B||{},J={};if(E?.url)J.url=E.url;if($.min!==void 0&&$.min!==0)J.min=$.min;if($.max!==void 0)J.max=$.max;if(Object.assign(J,W),O!==void 0&&O!==0&&J.min===void 0)J.min=O;F[u]=J}return F}function A8(D,F,u){let C={...F};if(D==="extension")C.extensions=W8(u);if(!C.elements)C.elements={};let E=u.choiceOf||D,{_required:B,...$}=u;if(C.elements[D]=$,B){if(!C.required)C.required=[];if(!C.required.includes(E))C.required.push(E)}return C}function zF(D,F,u){let C=[...D];for(let E=0;E<F.length;E++){let B=F[E],Z=F[E+1]?.type==="enter"?{}:u;switch(B.type){case"enter":C.push(Z);break;case"enter-slice":C.push(Z);break;case"exit":C=e3(C,(Q,z)=>A8(B.el,Q,z));break;case"exit-slice":C=e3(C,(Q,z)=>J8(B,Q,z));break}}return C}function D6(D,F){let u={};if(u.name=D.name,u.type=D.type,D.url)u.url=D.url;if(D.version)u.version=D.version;if(D.description)u.description=D.description;if(D.package_name)u.package_name=D.package_name;if(D.package_version)u.package_version=D.package_version;if(D.package_id)u.package_id=D.package_id;if(u.kind=D.kind,D.derivation)u.derivation=D.derivation;if(D.baseDefinition&&D.type!=="Element")u.base=D.baseDefinition;if(D.abstract)u.abstract=D.abstract;if(u.class=G8(D),F?.package_meta)u.package_meta=F.package_meta;return u}function G8(D){if(D.kind==="resource"&&D.derivation==="constraint")return"profile";if(D.type==="Extension")return"extension";return D.kind||"unknown"}function H8(D){return(D.differential?.element||[]).filter((u)=>u.path.includes("."))}function F6(D){let u=Object.entries(D).sort((E,B)=>{let $=E[1].index??1/0,Z=B[1].index??1/0;return $-Z}),C={};for(let[E,B]of u)if(B.elements)C[E]={...B,elements:F6(B.elements)};else C[E]=B;return C}function j0(D,F=new WeakSet){if(Array.isArray(D))return D.map((u)=>j0(u,F));if(D&&typeof D==="object"){if(F.has(D))return"[Circular Reference]";F.add(D);let u={},C=Object.keys(D);for(let E of C)if(E==="elements"&&D[E])u[E]=F6(j0(D[E],F));else if(E==="required"&&Array.isArray(D[E]))u[E]=[...D[E]].sort();else u[E]=j0(D[E],F);return u}return D}function I0(D,F){if(D.kind==="primitive-type")return j0(D6(D,F));let u=D6(D,F),C=H8(D),E=[u],B=[],$=[...C],Z=0;while($.length>0){let z=$.shift();if(L2(z)){let q=N2(z);$.unshift(...q),Z++;continue}let O=R2(z),W=j2(B,O),J=QF(B,W),_={...I2(z,D),index:Z++};E=zF(E,J,_),B=W}let Q=QF(B,[]);if(E=zF(E,Q,{index:Z}),E.length!==1)throw Error(`Invalid stack state: expected 1 element, got ${E.length}`);return j0(E[0])}var T2=(D,F)=>{if(!F)F={name:"undefined",version:"undefined"};return{...D,package_meta:D.package_meta||F,name:D.name,url:D.url,base:D.base}};function w2(D){return D.identifier.kind==="binding"}var b2=async(D,F,u)=>{let C=await D.search({}),E={};for(let A of C){let _=A.url;if(!_)continue;E[_]=A}let B={};for(let A of C)if(A.resourceType==="StructureDefinition"){let _=A.url;B[_]=A}let $={},Z={},[Q,z]=[0,0];for(let A of Object.values(B)){try{let _=T2(I0(A),u);$[_.url]=_,Z[_.name]=_.url,Q++}catch(_){F?.warn(`Failed to convert StructureDefinition ${A.name||A.id}: ${_ instanceof Error?_.message:String(_)}`),z++}F?.success(`FHIR Schema conversion completed: ${Q}/${Object.values(B).length} successful, ${z} failed`)}let O={};for(let A of C)if(A.resourceType==="ValueSet"){if(!A.package_meta)A.package_meta=u;O[A.url]=A}let W={};for(let A of Object.values($))if(A.kind==="complex-type")W[A.url]=A;return{...D,appendFs(A){let _=T2(A);$[_.url]=_,Z[_.name]=_.url},resolveFs:(A)=>$[A],resolveFsGenealogy:(A)=>{let _=$[A];if(_===void 0)throw Error(`Failed to resolve FHIR Schema genealogy for '${A}'`);let q=[_];while(_?.base)if(_=$[_.base]||$[Z[_.base]],q.push(_),_===void 0)throw Error(`Failed to resolve FHIR Schema genealogy for '${A}'`);return q},ensureCanonicalUrl:(A)=>Z[A]||A,allSd:()=>Object.values(B),resolveSd:(A)=>B[A],allFs:()=>Object.values($),allVs:()=>Object.values(O),resolveVs:(A)=>O[A],complexTypeDict:()=>W,resolveAny:(A)=>E[A]}};var x2=(D,F)=>{let[u,...C]=F;if(u===void 0)return[];return D.map((E)=>{if(!E.elements)return;let B=E.elements?.[u];for(let $ of C)B=B?.elements?.[$];return B}).filter((E)=>E!==void 0)};function P2(D){let F=D.reverse().reduce((u,C)=>({...u,...C}),{});return F.elements=void 0,F}function S2(D){let F=D.split("|")[0];return F?F:D}function q8(D){return D.split("|")[1]}function _8(D){if(D.derivation==="constraint")return"profile";if(D.kind==="primitive-type")return"primitive-type";if(D.kind==="complex-type")return"complex-type";if(D.kind==="resource")return"resource";return"resource"}function xD(D){return{kind:_8(D),package:D.package_meta.name,version:D.package_meta.version,name:D.name,url:D.url}}function L0(D,F){let u=F.join(".");return{kind:"nested",package:D.package_meta.name,version:D.package_meta.version,name:u,url:`${D.url}#${u}`}}var M8=(D)=>{let F=D.split("/"),u=F[F.length-1];if(u&&u.length>0)return u.split(/[-_]/).map((C)=>C.charAt(0).toUpperCase()+C.slice(1).toLowerCase()).join("");return D};function YF(D,F){let u=S2(F),C=M8(u),E={resourceType:"ValueSet",package_meta:{name:"missing_valuesets",version:q8(u)||"0.0.0"},name:C,id:F,url:u},B=D.resolveVs(u)||E,$=B?.id&&!/^[a-zA-Z0-9_-]{20,}$/.test(B.id)?B.id:C;return{kind:"value-set",package:B?.package_meta.name,version:B?.package_meta.version,name:$,url:u}}function OF(D,F,u){let C=F.join("."),[E,B,$]=u?[{name:"shared",version:"1.0.0"},u,`urn:fhir:binding:${u}`]:[D.package_meta,`${D.name}.${C}_binding`,`${D.url}#${C}_binding`];return{kind:"binding",package:E.name,version:E.version,name:B,url:$}}async function C6(D,F){let u=xD(F);if(u.kind!=="profile")throw Error(`Expected profile, got ${u.kind} for ${F.name}`);let C;if(F.base){let z=F.base.includes("/")?F.base:`http://hl7.org/fhir/StructureDefinition/${F.base}`,O=F.base.split("/").pop()||F.base,W=await V8(z,D),J=z.startsWith("http://hl7.org/fhir/");C={kind:W,package:J?"hl7.fhir.r4.core":F.package_meta.name||"undefined",version:J?"4.0.1":F.package_meta.version||"undefined",name:O,url:z}}let E={identifier:u,base:C,dependencies:C?[C]:[]};if(F.description)E.description=F.description;let B=K8(F);if(Object.keys(B).length>0)E.metadata=B;if(F.elements){let z=await JF(D,F,[],F.elements);if(z&&Object.keys(z).length>0)E.fields=z}let $=await R8(F,D);if(Object.keys($).length>0)E.constraints=$;let Z=await U8(F,D);if(Z.length>0)E.extensions=Z;let Q=j8(F);if(Q.length>0)E.validation=Q;return E}async function V8(D,F){try{let u=F.resolveFs(D);if(!u)return"resource";if(u){if(u.derivation==="constraint")return"profile";if(u.kind==="resource")return"resource";if(u.kind==="complex-type")return"complex-type"}}catch(u){console.warn(`Could not resolve base schema ${D}:`,u)}if(D.includes("StructureDefinition/")&&!D.startsWith("http://hl7.org/fhir/StructureDefinition/"))return"profile";return"resource"}function K8(D){let F={},u=D.package_meta;if(D.publisher)F.publisher=D.publisher;if(D.contact)F.contact=D.contact;if(D.copyright)F.copyright=D.copyright;if(D.purpose)F.purpose=D.purpose;if(D.experimental!==void 0)F.experimental=D.experimental;if(D.date)F.date=D.date;if(D.jurisdiction)F.jurisdiction=D.jurisdiction;if(u?.name)F.package=u.name;else if(D.package_meta.name)F.package=D.package_meta.name;return F}async function R8(D,F){let u={};if(!D.elements)return u;for(let[C,E]of Object.entries(D.elements)){let B={};if(E.min!==void 0)B.min=E.min;if(E.max!==void 0)B.max=String(E.max);if(E.mustSupport)B.mustSupport=!0;if(E.fixedValue!==void 0)B.fixedValue=E.fixedValue;if(E.patternValue!==void 0)B.patternValue=E.patternValue;if(E.binding)B.binding={strength:E.binding.strength,valueSet:E.binding.valueSet??""};if(E.type&&Array.isArray(E.type)&&E.type.length>0)B.types=E.type.map(($)=>{let Z={code:$.code};if($.profile)Z.profile=$.profile;if($.targetProfile)Z.targetProfile=$.targetProfile;return Z});if(E.slicing)B.slicing={discriminator:E.slicing.discriminator??[],rules:String(E.slicing),ordered:E.slicing.ordered};if(Object.keys(B).length>0)u[C]=B}return u}async function U8(D,F){let u=[];if(!D.elements)return u;for(let[C,E]of Object.entries(D.elements))if(C.includes("extension")&&E.type&&Array.isArray(E.type)){for(let B of E.type)if(B.code==="Extension"&&B.profile)u.push({path:C,profile:B.profile,min:E.min,max:String(E.max),mustSupport:E.mustSupport})}return u}function j8(D){let F=[];if(!D.elements)return F;for(let[u,C]of Object.entries(D.elements))if(C.constraint&&Array.isArray(C.constraint))for(let E of C.constraint)F.push({path:u,key:E.key,severity:E.severity,human:E.human,expression:E.expression});return F}function E6(D,F,u){let C=u[u.length-1],E=u.slice(0,-1),B=D.resolveFsGenealogy(F.url).flatMap(($)=>{if(E.length===0)return $.required||[];if(!$.elements)return[];let Z=$;for(let Q of E)Z=Z?.elements?.[Q];return Z?.required||[]});return new Set(B).has(C)}function B6(D,F,u){let C=u[u.length-1];if(!C)throw Error(`Internal error: fieldName is missing for path ${u.join("/")}`);let E=u.slice(0,-1),B=D.resolveFsGenealogy(F.url).flatMap(($)=>{if(E.length===0)return $.excluded||[];if(!$.elements)return[];let Z=$;for(let Q of E)Z=Z?.elements?.[Q];return Z?.excluded||[]});return new Set(B).has(C)}var I8=(D,F,u)=>{if(!D.refers)return;return D.refers.map((C)=>{let E=F.ensureCanonicalUrl(C),B=F.resolveFs(E);return xD(B)})};function v2(D,F,u){if(u.elementReference){let C=u.elementReference.filter((E,B)=>B%2===1).map((E)=>E).filter((E)=>E!=="elements");if(C.length>0)return L0(F,C)}if(u.type){let C=u.type.match(/^[a-z]/)?"primitive-type":"complex-type",E=D.ensureCanonicalUrl(u.type),B=D.resolveFs(E);if(!B)throw Error(`Could not resolve field '${u.type}'`);return{kind:C,package:B.package_meta.name,version:B.package_meta.version,name:u.type,url:E}}return}var WF=(D,F,u,C)=>{let E,B;if(C.binding){if(E=OF(F,u,C.binding.bindingName),C.binding.strength==="required"&&C.type==="code")B=f2(D,C)}return{type:v2(D,F,C),required:E6(D,F,u),excluded:B6(D,F,u),reference:I8(C,D,F.package_meta),array:C.array||!1,min:C.min,max:C.max,choices:C.choices,choiceOf:C.choiceOf,binding:E,enum:B}};function N0(D){let F=D.type==="BackboneElement",u=D.type==="Element"&&D.elements!==void 0&&Object.keys(D.elements).length>0,C=D.type===void 0&&D.choiceOf===void 0&&D.elements!==void 0&&Object.keys(D.elements).length>0;return F||u||C}function AF(D,F,u,C){return{type:L0(F,u),array:C.array||!1,required:E6(D,F,u),excluded:B6(D,F,u)}}function k2(D,F){let u=S2(F)||F,C=D.resolveVs(u);if(!C)return;return L8(D,C)}function L8(D,F){if(F.expansion?.contains)return F.expansion.contains;let u=[];if(F.compose?.include){for(let C of F.compose.include)if(C.concept)for(let E of C.concept)u.push({system:C.system,code:E.code,display:E.display});else if(C.system&&!C.filter)try{let E=D.resolveAny(C.system);if(E?.concept){let B=($,Z)=>{for(let Q of $)if(u.push({system:Z,code:Q.code,display:Q.display}),Q.concept)B(Q.concept,Z)};B(E.concept,C.system)}}catch{}}return u.length>0?u:void 0}var $6=100;function f2(D,F){if(!F.binding)return;let u=F.binding.strength,C=F.binding.valueSet;if(!C)return;if(!(u==="required"||u==="extensible"&&(F.type==="code"||F.type==="Coding")||u==="preferred"&&(F.type==="code"||F.type==="Coding")))return;let B=k2(D,C);if(!B||B.length===0)return;let $=B.map((Z)=>Z.code).filter((Z)=>Z&&typeof Z==="string"&&Z.trim().length>0);if($.length>$6){console.warn(`Value set ${C} has more than ${$6} codes, which may cause issues with code generation.`);return}return $.length>0?$:void 0}function N8(D,F,u,C){if(!C.binding?.valueSet)return;let E=OF(F,u,C.binding.bindingName),B=v2(D,F,C),$=YF(D,C.binding.valueSet),Z=[];if(B)Z.push(B);Z.push($);let Q=f2(D,C);return{identifier:E,type:B,valueset:$,strength:C.binding.strength,enum:Q,dependencies:Z}}function y2(D,F){let u=new Set;if(!F.elements)return[];let C=[];function E(Z,Q){for(let[z,O]of Object.entries(Z)){let W=[...Q,z],J=W.join(".");if(u.has(J))continue;if(u.add(J),O.binding){let A=N8(D,F,W,O);if(A)C.push(A)}if(O.elements)E(O.elements,W)}}E(F.elements,[]),C.sort((Z,Q)=>Z.identifier.name.localeCompare(Q.identifier.name));let B=[],$=new Set;for(let Z of C)if(!$.has(Z.identifier.url))$.add(Z.identifier.url),B.push(Z);return B}function Z6(D,F,u){let C=[];for(let[E,B]of Object.entries(u)){let $=[...F,E];if(N0(B))C.push([$,B]);if(B.elements)C.push(...Z6(D,$,B.elements))}return C}function T8(D,F,u,C){let E={};for(let[B,$]of Object.entries(u)){let Z=[...F,B];if(N0($))E[B]=AF(C,D,Z,$);else E[B]=WF(C,D,Z,$)}return E}function h2(D,F){if(!F.elements)return;let C=Z6(F,[],F.elements).filter(([B,$])=>$.elements&&Object.keys($.elements).length>0),E=[];for(let[B,$]of C){let Z=L0(F,B),Q;if($.type==="BackboneElement"||!$.type)Q={kind:"complex-type",package:F.package_meta.name,version:F.package_meta.version,name:"BackboneElement",url:"http://hl7.org/fhir/StructureDefinition/BackboneElement"};else Q={kind:"complex-type",package:F.package_meta.name,version:F.package_meta.version,name:$.type,url:`http://hl7.org/fhir/StructureDefinition/${$.type}`};let z=T8(F,B,$.elements,D),O={identifier:Z,base:Q,fields:z};E.push(O)}return E.sort((B,$)=>B.identifier.url.localeCompare($.identifier.url)),E.length===0?void 0:E}function d2(D){let F=[];for(let u of D){if(u.base)F.push(u.base);for(let C of Object.values(u.fields||{})){if("type"in C&&C.type)F.push(C.type);if("binding"in C&&C.binding)F.push(C.binding)}}return F}function JF(D,F,u,C){if(!C)return;let E=D.resolveFsGenealogy(F.url),B={};for(let[Z,Q]of Object.entries(C)){let z=[...u,Z],O=x2(E,z),W=P2(O);B[Z]={elem:Q,elemSnapshot:W,path:z}}for(let[Z,{elem:Q,elemSnapshot:z,path:O}]of Object.entries(B))for(let W of Q?.choices||[])if(!B[W]){let J=[...u,W],A=x2(E,J),_=P2(A);B[W]={elem:void 0,elemSnapshot:_,path:J}}let $={};for(let[Z,{elem:Q,elemSnapshot:z,path:O}]of Object.entries(B))if(N0(z))$[Z]=AF(D,F,O,z);else $[Z]=WF(D,F,O,z);return $}function X6(D){let F=[];for(let u of Object.values(D)){if("type"in u&&u.type)F.push(u.type);if("binding"in u&&u.binding)F.push(u.binding)}return F}function w8(D){let F=new Set,u=[];for(let C of D){let E=C.url;if(!F.has(E))F.add(E),u.push(C)}return u.sort((C,E)=>C.name.localeCompare(E.name)),u}function b8(D,F){if(D.base==="Extension"||D.base==="http://hl7.org/fhir/StructureDefinition/Extension")return!0;if(D.url?.includes("/extension/")||D.url?.includes("-extension"))return!0;if(D.name?.toLowerCase().includes("extension"))return!0;if(D.type==="Extension")return!0;return!1}async function Q6(D,F){if(!F.url)throw Error("ValueSet URL is required");let u=YF(D,F.url),C=k2(D,F.url);return{identifier:u,description:F.description,concept:C,compose:!C?F.compose:void 0}}async function x8(D,F,u){try{let C=xD(D),E;if(D.base&&D.base!=="Extension"){let Z=D.base.includes("/")?D.base:`http://hl7.org/fhir/StructureDefinition/${D.base}`;E={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:D.base.split("/").pop()||D.base,url:Z}}else E={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:"Extension",url:"http://hl7.org/fhir/StructureDefinition/Extension"};let B={identifier:C,base:E,description:D.description,dependencies:[],metadata:{isExtension:!0}};if(E)B.dependencies.push(E);if(D.elements){let Z=JF(F,D,[],D.elements);if(Z&&Object.keys(Z).length>0)B.fields=Z,B.dependencies.push(...X6(Z))}let $=h2(F,D);if($&&$.length>0)B.nested=$,B.dependencies.push(...d2($));return B.dependencies=w8(B.dependencies),B.dependencies=B.dependencies.filter((Z)=>Z.url!==C.url),B}catch(C){return console.warn(`Failed to transform extension ${D.name}: ${C}`),null}}function P8(D,F,u,C){let E=[];if(F)E.push(F);if(u)E.push(...X6(u));if(C)E.push(...d2(C));let B={};for(let Q of E){if(Q.url===D.url)continue;B[Q.url]=Q}let $=new Set(C?.map((Q)=>Q.identifier.url)),Z=Object.values(B).filter((Q)=>!(Q.kind==="nested"&&$.has(Q.url))).sort((Q,z)=>Q.url.localeCompare(z.url));return Z.length>0?Z:void 0}function S8(D,F){let u=xD(F),C;if(F.base&&F.type!=="Element"){let z=D.resolveFs(D.ensureCanonicalUrl(F.base));if(!z)throw Error(`Base resource not found '${F.base}' for '${F.url}'`);C=xD(z)}let E=JF(D,F,[],F.elements),B=h2(D,F),$=P8(u,C,E,B),Z={identifier:u,base:C,fields:E,nested:B,description:F.description,dependencies:$},Q=y2(D,F);return[Z,...Q]}async function z6(D,F){let u=[],C=xD(F);if(C.kind==="profile"){let E=await C6(D,F);u.push(E);let B=y2(D,F);return u.push(...B),u}if(b8(F,C)){let E=await x8(F,D,F.package_meta);if(E)u.push(E);return u}return S8(D,F)}class gD{manager;options;cacheConfig;cache;logger;constructor(D={},F){this.options={verbose:!1,...D},this.manager=D.manager||pD({packages:[],workingDir:"tmp/fhir"}),this.cacheConfig=F,this.logger=D.logger||jD({verbose:this.options.verbose,prefix:"TypeSchema"})}async initializeCache(){if(this.cacheConfig&&!this.cache)this.cache=new $0(this.cacheConfig),await this.cache.initialize()}async registerFromPackageMetas(D){let F=D.map((u)=>`${u.name}${u.version}`);return this.logger.step(`Loading FHIR packages: ${F.join(", ")}`),await this.manager.init(),b2(this.manager)}generateFhirSchemas(D){this.logger.progress(`Converting ${D.length} StructureDefinitions to FHIRSchemas`);let F=this.applyStructureDefinitionTreeshaking(D),u=[],C=0,E=0;for(let B of F)try{let $=I0(B);u.push($),C++,this.logger.debug(`Converted StructureDefinition: ${B.name||B.id} (${B.resourceType})`)}catch($){E++,this.logger.warn(`Failed to convert StructureDefinition ${B.name||B.id}: ${$ instanceof Error?$.message:String($)}`)}return this.logger.success(`FHIR Schema conversion completed: ${C}/${F.length} successful, ${E} failed`),u}async generateValueSetSchemas(D,F){if(D.length>0)this.logger.debug(`${D.length} ValueSets available for enum extraction`);let u=[];if(D.length>0){this.logger.progress(`Converting ${D.length} ValueSets to TypeSchema`);let C=0,E=0;for(let B of D)try{let $=await Q6(await b2(this.manager),B);if($)u.push($),C++,this.logger.debug(`Converted ValueSet: ${B.name||B.id}`)}catch($){E++,this.logger.warn(`Failed to convert ValueSet ${B.name||B.id}: ${$ instanceof Error?$.message:String($)}`)}this.logger.success(`ValueSet conversion completed: ${C}/${D.length} successful, ${E} failed`)}return u}async generateFromPackage(D,F){if(await this.initializeCache(),this.cache&&!(this.cacheConfig?.forceRegenerate??!1)){let B=this.cache.getByPackage(D);if(B.length>0)return this.logger.info(`Using cached TypeSchemas for package: ${D} (${B.length} schemas)`),B}let u={name:D,version:F||"latest"},C=await this.registerFromPackageMetas([u]),E=[...(await Promise.all(C.allFs().map(async(B)=>await z6(C,B)))).flat(),...await this.generateValueSetSchemas(C.allVs(),u)];if(this.cache)for(let B of E)await this.cache.set(B);return E}applyStructureDefinitionTreeshaking(D){let F=this.options.treeshake;if(!F||F.length===0)return D;this.logger.info(`Applying treeshaking filter for ResourceTypes: ${F.join(", ")}`);let u=new Map,C=new Map,E=new Map;for(let z of D){let O=z.name||z.id;if(O)u.set(O,z),C.set(O,new Set),E.set(O,new Set)}for(let z of D){let O=z.name||z.id;if(!O)continue;let{realDeps:W,refTargets:J}=this.extractStructureDefinitionDependenciesWithReferences(z);C.set(O,new Set(W)),E.set(O,new Set(J))}let B=new Set;for(let z of F)if(u.has(z))B.add(z);else this.logger.warn(`ResourceType '${z}' not found in structure definitions`);let $=(z,O=new Set)=>{if(O.has(z)||!C.has(z))return;O.add(z);let W=C.get(z)||new Set;for(let J of Array.from(W))if(u.has(J))B.add(J),$(J,O)};for(let z of Array.from(B))$(z);let Z=D.filter((z)=>{let O=z.name||z.id;return O&&B.has(O)}),Q=new Set;for(let z of D){let O=z.name||z.id;if(O&&!B.has(O)){if(Array.from(E.values()).some((J)=>J.has(O)))Q.add(O)}}if(Q.size>0)this.logger.info(`Excluded reference-only targets: ${Array.from(Q).join(", ")}`);return this.logger.success(`Treeshaking completed: kept ${Z.length}/${D.length} structure definitions`),Z}extractStructureDefinitionDependenciesWithReferences(D){let F=new Set,u=new Set;if(D.baseDefinition){let C=this.extractResourceNameFromUrl(D.baseDefinition);if(C)F.add(C)}if(D.snapshot?.element||D.differential?.element){let C=D.snapshot?.element||D.differential?.element;for(let E of C)if(E.type)for(let B of E.type){if(B.code){if(F.add(B.code),B.code==="Reference"&&B.targetProfile)for(let $ of B.targetProfile){let Z=this.extractResourceNameFromUrl($);if(Z)u.add(Z)}}if(B.profile)for(let $ of B.profile){let Z=this.extractResourceNameFromUrl($);if(Z)F.add(Z)}}}return{realDeps:Array.from(F),refTargets:Array.from(u)}}extractResourceNameFromUrl(D){let F=D.match(/\/([^/]+)$/);return F?F[1]??null:null}}import{readFile as v8}from"node:fs/promises";class T0{options;constructor(D={}){this.options={format:"auto",validate:!0,strict:!1,...D}}async parseFromFile(D){let F=await v8(D,"utf-8"),u=this.options.format==="auto"?this.detectFormat(F,D):this.options.format;return this.parseFromString(F,u)}async parseFromString(D,F){let u=F||this.detectFormat(D),C;if(u==="ndjson")C=this.parseNDJSON(D);else C=this.parseJSON(D);if(this.options.validate)this.validateSchemas(C);return C}async parseFromFiles(D){let F=[];for(let u of D){let C=await this.parseFromFile(u);F.push(...C)}return F}parseSchema(D){if(!D.identifier)throw Error("TypeSchema must have an identifier");if(!this.isValidIdentifier(D.identifier))throw Error("TypeSchema identifier is invalid");return D}findByIdentifier(D,F){return D.filter((u)=>this.matchesIdentifier(u.identifier,F))}findByUrl(D,F){return D.find((u)=>u.identifier.url===F)}findByKind(D,F){return D.filter((u)=>u.identifier.kind===F)}findByPackage(D,F){return D.filter((u)=>u.identifier.package===F)}detectFormat(D,F){if(F){if(F.endsWith(".ndjson"))return"ndjson";if(F.endsWith(".json"))return"json"}let u=D.trim();if(u.includes(`
94
94
  `)){let C=u.split(`
95
95
  `).filter((E)=>E.trim());if(C.length>1)try{if(C[0])JSON.parse(C[0]);return"ndjson"}catch{}}return"json"}parseNDJSON(D){let F=[],u=D.split(`
96
96
  `).filter((C)=>C.trim());for(let C of u)try{let E=JSON.parse(C);F.push(this.parseSchema(E))}catch(E){if(this.options.strict)throw Error(`Failed to parse NDJSON line: ${E}`)}return F}parseJSON(D){try{let F=JSON.parse(D);if(Array.isArray(F))return F.map((u)=>this.parseSchema(u));else return[this.parseSchema(F)]}catch(F){throw Error(`Failed to parse JSON: ${F}`)}}validateSchemas(D){for(let F of D){if(!F.identifier)throw Error("Schema missing identifier");if(!this.isValidIdentifier(F.identifier))throw Error(`Invalid identifier in schema: ${JSON.stringify(F.identifier)}`)}}isValidIdentifier(D){return typeof D==="object"&&D!==null&&typeof D.kind==="string"&&typeof D.package==="string"&&typeof D.version==="string"&&typeof D.name==="string"&&typeof D.url==="string"}matchesIdentifier(D,F){return(!F.kind||D.kind===F.kind)&&(!F.package||D.package===F.package)&&(!F.version||D.version===F.version)&&(!F.name||D.name===F.name)&&(!F.url||D.url===F.url)}}w0();class c2{options;constructor(D){this.options=D}handleError(D,F){if(D instanceof ID)this.handleGeneratorError(D,F);else this.handleUnknownError(D,F)}handleBatchErrors(D){let F=D.filter((C)=>C instanceof ID),u=D.filter((C)=>!(C instanceof ID));if(F.length>0)this.reportBatchErrors(F);u.forEach((C)=>{this.handleUnknownError(C)})}handleGeneratorError(D,F){switch(this.options.outputFormat){case"json":this.reportErrorAsJson(D);break;case"structured":this.reportErrorStructured(D);break;default:this.reportErrorToConsole(D)}}handleUnknownError(D,F){if(this.options.logger.error("Unexpected error occurred:",D),this.options.verbose){if(console.error(`
@@ -136,8 +136,8 @@ export default defineConfig({
136
136
  typescript: {
137
137
  generateIndex: true
138
138
  }
139
- });`),process.exit(1)}let C=await MF(F),E=D.verbose??C.verbose??!1,B=jD({verbose:E,prefix:"Generate"});try{if(E2("Starting generation from config"),E)B.info(`Config file: ${u}`),B.info(`Output directory: ${C.outputDir||"./generated"}`),B.info(`Packages: ${C.packages?.length||0}`),B.info(`Files: ${C.files?.length||0}`),B.info(`TypeScript generation: ${C.typescript?"enabled":"disabled"}`);let $=new qF({outputDir:C.outputDir||"./generated",verbose:E,overwrite:C.overwrite??!0,validate:C.validate??!0,cache:C.cache??!0,typeSchemaConfig:C.typeSchema,logger:B});if(C.packages&&C.packages.length>0){B.info(`Loading packages from config: ${C.packages.join(", ")}`);for(let Q of C.packages){let[z,O]=Q.includes("@")?Q.split("@"):[Q,void 0];$.fromPackage(z,O)}}else if(C.files&&C.files.length>0){B.info(`Loading files from config: ${C.files.join(", ")}`);for(let Q of C.files)$.fromFiles(Q)}else throw Error("No data source specified in config. Please configure 'packages' or 'files' in your config file.");if(C.typescript){if(E)B.info("Configuring TypeScript generation from config"),B.debug(`Module format: ${C.typescript.moduleFormat||"esm"}`),B.debug(`Generate index: ${C.typescript.generateIndex??!0}`),B.debug(`Include docs: ${C.typescript.includeDocuments??!1}`),B.debug(`Naming convention: ${C.typescript.namingConvention||"PascalCase"}`);$.typescript(C.typescript)}if(!C.typescript)throw Error("No generators configured. Please enable 'typescript' in your config file.");if(E)$.onProgress((Q,z,O,A)=>{let J=Math.round(z/O*100);B.progress(`[${Q}] ${J}% - ${A||"Processing..."}`)});B.step("Executing generation...");let Z=await $.generate();if(Z.success){if(s0(`Generated ${Z.filesGenerated.length} files in ${Z.duration.toFixed(2)}ms`),B.dim(`Output directory: ${Z.outputDir}`),Z.warnings.length>0)for(let Q of Z.warnings)C2(Q)}else{KD(`Generation failed with ${Z.errors.length} errors`);for(let Q of Z.errors)B.dim(` ${Q}`);process.exit(1)}}catch($){KD("Generation failed with unexpected error",$ instanceof Error?$:Error(String($))),process.exit(1)}}};async function i8(D){for(let F of _F){let u=n8(D,F);if(o8(u))return u}return null}import{mkdir as t8,writeFile as s8}from"node:fs/promises";import{dirname as r8}from"node:path";var U6={command:"generate <packages..>",describe:"Generate TypeSchema files from FHIR packages",builder:{packages:{type:"string",array:!0,demandOption:!0,describe:"FHIR packages to process (e.g., hl7.fhir.r4.core@4.0.1)"},output:{alias:"o",type:"string",describe:"Output file or directory",default:"./schemas.ndjson"},format:{alias:"f",type:"string",choices:["ndjson","json"],default:"ndjson",describe:"Output format for TypeSchema files"},treeshake:{alias:"t",type:"string",array:!0,describe:"Only generate TypeSchemas for specific ResourceTypes (treeshaking)"},singleFile:{alias:"s",type:"boolean",default:!1,describe:"Generate single TypeSchema file instead of multiple files (NDJSON format)"},verbose:{alias:"v",type:"boolean",default:!1,describe:"Enable verbose output"}},handler:async(D)=>{let F=jD({verbose:D.verbose,prefix:"TypeSchema"});try{let u=await MF(process.cwd());F.step("Generating TypeSchema from FHIR packages"),F.info(`Packages: ${D.packages.join(", ")}`),F.info(`Output: ${D.output}`);let C=D.singleFile!==void 0?D.singleFile:u.typeSchema?.singleFile??!1,E=C?"ndjson":D.format;F.debug(`Format: ${E}${C&&D.format==="json"?" (forced from json due to singleFile)":""}`);let B=D.treeshake&&D.treeshake.length>0?D.treeshake:u.typeSchema?.treeshake;if(B&&B.length>0)F.info(`Treeshaking enabled for ResourceTypes: ${B.join(", ")}`);if(C)F.info("Single file output enabled (NDJSON format)");let $=Date.now(),Z=new gD({verbose:D.verbose,treeshake:B}),Q=[];for(let J of D.packages){let[W,_]=J.includes("@")?J.split("@"):[J,void 0];F.progress(`Processing package: ${W}${_?`@${_}`:""}`);let q=await Z.generateFromPackage(W,_);Q.push(...q)}if(Q.length===0)throw Error("No schemas were generated from the specified packages");let z=D.output;await t8(r8(z),{recursive:!0});let O;if(E==="json")O=JSON.stringify(Q,null,2);else O=Q.map((J)=>JSON.stringify(J)).join(`
140
- `);await s8(z,O,"utf-8");let A=Date.now()-$;if(Z2(`Generated ${Q.length} TypeSchema definitions`,A,{schemas:Q.length}),F.dim(`Output: ${z}`),D.verbose){F.debug("Generated schemas:");let J=Q.map((W)=>`${W.identifier?.name||"Unknown"} (${W.identifier?.kind||"unknown"})`);B0(J)}}catch(u){F.error("Failed to generate TypeSchema",u instanceof Error?u:Error(String(u))),process.exit(1)}}};var j6={command:"typeschema [subcommand]",describe:"TypeSchema operations - generate, validate and merge schemas",builder:(D)=>{return D.command(U6).help().example("$0 typeschema generate hl7.fhir.r4.core@4.0.1","Generate TypeSchema from FHIR R4 core package")},handler:(D)=>{if(!D.subcommand&&D._.length===1){r0("Available typeschema subcommands:"),B0(["generate Generate TypeSchema files from FHIR packages"]),console.log(`
139
+ });`),process.exit(1)}let C=await MF(F),E=D.verbose??C.verbose??!1,B=jD({verbose:E,prefix:"Generate"});try{if(E2("Starting generation from config"),E)B.info(`Config file: ${u}`),B.info(`Output directory: ${C.outputDir||"./generated"}`),B.info(`Packages: ${C.packages?.length||0}`),B.info(`Files: ${C.files?.length||0}`),B.info(`TypeScript generation: ${C.typescript?"enabled":"disabled"}`);let $=new qF({outputDir:C.outputDir||"./generated",verbose:E,overwrite:C.overwrite??!0,validate:C.validate??!0,cache:C.cache??!0,typeSchemaConfig:C.typeSchema,logger:B});if(C.packages&&C.packages.length>0){B.info(`Loading packages from config: ${C.packages.join(", ")}`);for(let Q of C.packages){let[z,O]=Q.includes("@")?Q.split("@"):[Q,void 0];$.fromPackage(z,O)}}else if(C.files&&C.files.length>0){B.info(`Loading files from config: ${C.files.join(", ")}`);for(let Q of C.files)$.fromFiles(Q)}else throw Error("No data source specified in config. Please configure 'packages' or 'files' in your config file.");if(C.typescript){if(E)B.info("Configuring TypeScript generation from config"),B.debug(`Module format: ${C.typescript.moduleFormat||"esm"}`),B.debug(`Generate index: ${C.typescript.generateIndex??!0}`),B.debug(`Include docs: ${C.typescript.includeDocuments??!1}`),B.debug(`Naming convention: ${C.typescript.namingConvention||"PascalCase"}`);$.typescript(C.typescript)}if(!C.typescript)throw Error("No generators configured. Please enable 'typescript' in your config file.");if(E)$.onProgress((Q,z,O,W)=>{let J=Math.round(z/O*100);B.progress(`[${Q}] ${J}% - ${W||"Processing..."}`)});B.step("Executing generation...");let Z=await $.generate();if(Z.success){if(s0(`Generated ${Z.filesGenerated.length} files in ${Z.duration.toFixed(2)}ms`),B.dim(`Output directory: ${Z.outputDir}`),Z.warnings.length>0)for(let Q of Z.warnings)C2(Q)}else{KD(`Generation failed with ${Z.errors.length} errors`);for(let Q of Z.errors)B.dim(` ${Q}`);process.exit(1)}}catch($){KD("Generation failed with unexpected error",$ instanceof Error?$:Error(String($))),process.exit(1)}}};async function i8(D){for(let F of _F){let u=n8(D,F);if(o8(u))return u}return null}import{mkdir as t8,writeFile as s8}from"node:fs/promises";import{dirname as r8}from"node:path";var U6={command:"generate <packages..>",describe:"Generate TypeSchema files from FHIR packages",builder:{packages:{type:"string",array:!0,demandOption:!0,describe:"FHIR packages to process (e.g., hl7.fhir.r4.core@4.0.1)"},output:{alias:"o",type:"string",describe:"Output file or directory",default:"./schemas.ndjson"},format:{alias:"f",type:"string",choices:["ndjson","json"],default:"ndjson",describe:"Output format for TypeSchema files"},treeshake:{alias:"t",type:"string",array:!0,describe:"Only generate TypeSchemas for specific ResourceTypes (treeshaking)"},singleFile:{alias:"s",type:"boolean",default:!1,describe:"Generate single TypeSchema file instead of multiple files (NDJSON format)"},verbose:{alias:"v",type:"boolean",default:!1,describe:"Enable verbose output"}},handler:async(D)=>{let F=jD({verbose:D.verbose,prefix:"TypeSchema"});try{let u=await MF(process.cwd());F.step("Generating TypeSchema from FHIR packages"),F.info(`Packages: ${D.packages.join(", ")}`),F.info(`Output: ${D.output}`);let C=D.singleFile!==void 0?D.singleFile:u.typeSchema?.singleFile??!1,E=C?"ndjson":D.format;F.debug(`Format: ${E}${C&&D.format==="json"?" (forced from json due to singleFile)":""}`);let B=D.treeshake&&D.treeshake.length>0?D.treeshake:u.typeSchema?.treeshake;if(B&&B.length>0)F.info(`Treeshaking enabled for ResourceTypes: ${B.join(", ")}`);if(C)F.info("Single file output enabled (NDJSON format)");let $=Date.now(),Z=new gD({verbose:D.verbose,treeshake:B}),Q=[];for(let J of D.packages){let[A,_]=J.includes("@")?J.split("@"):[J,void 0];F.progress(`Processing package: ${A}${_?`@${_}`:""}`);let q=await Z.generateFromPackage(A,_);Q.push(...q)}if(Q.length===0)throw Error("No schemas were generated from the specified packages");let z=D.output;await t8(r8(z),{recursive:!0});let O;if(E==="json")O=JSON.stringify(Q,null,2);else O=Q.map((J)=>JSON.stringify(J)).join(`
140
+ `);await s8(z,O,"utf-8");let W=Date.now()-$;if(Z2(`Generated ${Q.length} TypeSchema definitions`,W,{schemas:Q.length}),F.dim(`Output: ${z}`),D.verbose){F.debug("Generated schemas:");let J=Q.map((A)=>`${A.identifier?.name||"Unknown"} (${A.identifier?.kind||"unknown"})`);B0(J)}}catch(u){F.error("Failed to generate TypeSchema",u instanceof Error?u:Error(String(u))),process.exit(1)}}};var j6={command:"typeschema [subcommand]",describe:"TypeSchema operations - generate, validate and merge schemas",builder:(D)=>{return D.command(U6).help().example("$0 typeschema generate hl7.fhir.r4.core@4.0.1","Generate TypeSchema from FHIR R4 core package")},handler:(D)=>{if(!D.subcommand&&D._.length===1){r0("Available typeschema subcommands:"),B0(["generate Generate TypeSchema files from FHIR packages"]),console.log(`
141
141
  Use 'atomic-codegen typeschema <subcommand> --help' for more information about a subcommand.`),console.log(`
142
142
  Examples:`),B0(["atomic-codegen typeschema generate hl7.fhir.r4.core@4.0.1 -o schemas.ndjson","atomic-codegen typeschema validate schemas.ndjson","atomic-codegen typeschema merge schema1.ndjson schema2.ndjson -o merged.ndjson"]);return}if(D.subcommand&&!["generate","validate","merge"].includes(D.subcommand))KD(`Unknown typeschema subcommand: ${D.subcommand}
143
143
  `),r0("Available typeschema subcommands:"),B0(["generate Generate TypeSchema files from FHIR packages","validate Validate TypeSchema files for correctness and consistency","merge Merge multiple TypeSchema files into a single file"]),console.log(`
@@ -8,4 +8,4 @@ import type { Register } from "@typeschema/register";
8
8
  import type { BindingTypeSchema, CanonicalUrl, Concept, RichFHIRSchema } from "@typeschema/types";
9
9
  export declare function extractValueSetConceptsByUrl(register: Register, valueSetUrl: CanonicalUrl): Concept[] | undefined;
10
10
  export declare function buildEnum(register: Register, element: FHIRSchemaElement): string[] | undefined;
11
- export declare function collectBindingSchemas(register: Register, fhirSchema: RichFHIRSchema): Promise<BindingTypeSchema[]>;
11
+ export declare function collectBindingSchemas(register: Register, fhirSchema: RichFHIRSchema): BindingTypeSchema[];
@@ -85,7 +85,7 @@ export function buildEnum(register, element) {
85
85
  }
86
86
  return codes.length > 0 ? codes : undefined;
87
87
  }
88
- async function generateBindingSchema(register, fhirSchema, path, element) {
88
+ function generateBindingSchema(register, fhirSchema, path, element) {
89
89
  if (!element.binding?.valueSet)
90
90
  return undefined;
91
91
  const identifier = mkBindingIdentifier(fhirSchema, path, element.binding.bindingName);
@@ -106,12 +106,12 @@ async function generateBindingSchema(register, fhirSchema, path, element) {
106
106
  dependencies,
107
107
  };
108
108
  }
109
- export async function collectBindingSchemas(register, fhirSchema) {
109
+ export function collectBindingSchemas(register, fhirSchema) {
110
110
  const processedPaths = new Set();
111
111
  if (!fhirSchema.elements)
112
112
  return [];
113
113
  const bindings = [];
114
- async function collectBindings(elements, parentPath) {
114
+ function collectBindings(elements, parentPath) {
115
115
  for (const [key, element] of Object.entries(elements)) {
116
116
  const path = [...parentPath, key];
117
117
  const pathKey = path.join(".");
@@ -119,17 +119,17 @@ export async function collectBindingSchemas(register, fhirSchema) {
119
119
  continue;
120
120
  processedPaths.add(pathKey);
121
121
  if (element.binding) {
122
- const binding = await generateBindingSchema(register, fhirSchema, path, element);
122
+ const binding = generateBindingSchema(register, fhirSchema, path, element);
123
123
  if (binding) {
124
124
  bindings.push(binding);
125
125
  }
126
126
  }
127
127
  if (element.elements) {
128
- await collectBindings(element.elements, path);
128
+ collectBindings(element.elements, path);
129
129
  }
130
130
  }
131
131
  }
132
- await collectBindings(fhirSchema.elements, []);
132
+ collectBindings(fhirSchema.elements, []);
133
133
  bindings.sort((a, b) => a.identifier.name.localeCompare(b.identifier.name));
134
134
  const uniqueBindings = [];
135
135
  const seenUrls = new Set();
@@ -5,5 +5,5 @@
5
5
  */
6
6
  import type { Register } from "@root/typeschema/register";
7
7
  import type { Identifier, NestedType, RichFHIRSchema } from "../types";
8
- export declare function mkNestedTypes(register: Register, fhirSchema: RichFHIRSchema): Promise<NestedType[] | undefined>;
8
+ export declare function mkNestedTypes(register: Register, fhirSchema: RichFHIRSchema): NestedType[] | undefined;
9
9
  export declare function extractNestedDependencies(nestedTypes: NestedType[]): Identifier[];
@@ -18,7 +18,7 @@ function collectNestedElements(fhirSchema, parentPath, elements) {
18
18
  }
19
19
  return nested;
20
20
  }
21
- async function transformNestedElements(fhirSchema, parentPath, elements, register, _packageInfo) {
21
+ function transformNestedElements(fhirSchema, parentPath, elements, register) {
22
22
  const fields = {};
23
23
  for (const [key, element] of Object.entries(elements)) {
24
24
  const path = [...parentPath, key];
@@ -31,7 +31,7 @@ async function transformNestedElements(fhirSchema, parentPath, elements, registe
31
31
  }
32
32
  return fields;
33
33
  }
34
- export async function mkNestedTypes(register, fhirSchema) {
34
+ export function mkNestedTypes(register, fhirSchema) {
35
35
  if (!fhirSchema.elements)
36
36
  return undefined;
37
37
  const nestedElements = collectNestedElements(fhirSchema, [], fhirSchema.elements);
@@ -62,8 +62,7 @@ export async function mkNestedTypes(register, fhirSchema) {
62
62
  url: `http://hl7.org/fhir/StructureDefinition/${element.type}`,
63
63
  };
64
64
  }
65
- // Transform sub-elements into fields
66
- const fields = await transformNestedElements(fhirSchema, path, element.elements, register, fhirSchema.package_meta);
65
+ const fields = transformNestedElements(fhirSchema, path, element.elements, register);
67
66
  const nestedType = {
68
67
  identifier,
69
68
  base,
@@ -6,6 +6,6 @@
6
6
  import type { FHIRSchemaElement } from "@atomic-ehr/fhirschema";
7
7
  import { type Register } from "@typeschema/register";
8
8
  import type { Field, RichFHIRSchema, RichValueSet, TypeSchema, ValueSetTypeSchema } from "@typeschema/types";
9
- export declare function mkFields(register: Register, fhirSchema: RichFHIRSchema, parentPath: string[], elements: Record<string, FHIRSchemaElement> | undefined): Promise<Record<string, Field> | undefined>;
9
+ export declare function mkFields(register: Register, fhirSchema: RichFHIRSchema, parentPath: string[], elements: Record<string, FHIRSchemaElement> | undefined): Record<string, Field> | undefined;
10
10
  export declare function transformValueSet(register: Register, valueSet: RichValueSet): Promise<ValueSetTypeSchema>;
11
- export declare function transformFHIRSchema(register: Register, fhirSchema: RichFHIRSchema): Promise<TypeSchema[]>;
11
+ export declare function transformFhirSchema(register: Register, fhirSchema: RichFHIRSchema): Promise<TypeSchema[]>;
@@ -9,7 +9,7 @@ import { collectBindingSchemas, extractValueSetConceptsByUrl } from "./binding";
9
9
  import { isNestedElement, mkField, mkNestedField } from "./field-builder";
10
10
  import { mkIdentifier, mkValueSetIdentifierByUrl } from "./identifier";
11
11
  import { extractNestedDependencies, mkNestedTypes } from "./nested-types";
12
- export async function mkFields(register, fhirSchema, parentPath, elements) {
12
+ export function mkFields(register, fhirSchema, parentPath, elements) {
13
13
  if (!elements)
14
14
  return undefined;
15
15
  const geneology = register.resolveFsGenealogy(fhirSchema.url);
@@ -147,14 +147,14 @@ async function transformExtension(fhirSchema, register, _packageInfo) {
147
147
  }
148
148
  // Transform elements into fields if present
149
149
  if (fhirSchema.elements) {
150
- const fields = await mkFields(register, fhirSchema, [], fhirSchema.elements);
150
+ const fields = mkFields(register, fhirSchema, [], fhirSchema.elements);
151
151
  if (fields && Object.keys(fields).length > 0) {
152
152
  extensionSchema.fields = fields;
153
153
  extensionSchema.dependencies.push(...extractFieldDependencies(fields));
154
154
  }
155
155
  }
156
156
  // Build nested types
157
- const nestedTypes = await mkNestedTypes(register, fhirSchema);
157
+ const nestedTypes = mkNestedTypes(register, fhirSchema);
158
158
  if (nestedTypes && nestedTypes.length > 0) {
159
159
  extensionSchema.nested = nestedTypes;
160
160
  extensionSchema.dependencies.push(...extractNestedDependencies(nestedTypes));
@@ -190,7 +190,7 @@ function extractDependencies(identifier, base, fields, nestedTypes) {
190
190
  .sort((a, b) => a.url.localeCompare(b.url));
191
191
  return result.length > 0 ? result : undefined;
192
192
  }
193
- async function transformResource(register, fhirSchema) {
193
+ function transformFhirSchemaResource(register, fhirSchema) {
194
194
  const identifier = mkIdentifier(fhirSchema);
195
195
  let base;
196
196
  if (fhirSchema.base && fhirSchema.type !== "Element") {
@@ -200,8 +200,8 @@ async function transformResource(register, fhirSchema) {
200
200
  }
201
201
  base = mkIdentifier(baseFs);
202
202
  }
203
- const fields = await mkFields(register, fhirSchema, [], fhirSchema.elements);
204
- const nested = await mkNestedTypes(register, fhirSchema);
203
+ const fields = mkFields(register, fhirSchema, [], fhirSchema.elements);
204
+ const nested = mkNestedTypes(register, fhirSchema);
205
205
  const dependencies = extractDependencies(identifier, base, fields, nested);
206
206
  const typeSchema = {
207
207
  identifier,
@@ -211,16 +211,16 @@ async function transformResource(register, fhirSchema) {
211
211
  description: fhirSchema.description,
212
212
  dependencies,
213
213
  };
214
- const bindingSchemas = await collectBindingSchemas(register, fhirSchema);
214
+ const bindingSchemas = collectBindingSchemas(register, fhirSchema);
215
215
  return [typeSchema, ...bindingSchemas];
216
216
  }
217
- export async function transformFHIRSchema(register, fhirSchema) {
217
+ export async function transformFhirSchema(register, fhirSchema) {
218
218
  const results = [];
219
219
  const identifier = mkIdentifier(fhirSchema);
220
220
  if (identifier.kind === "profile") {
221
221
  const profileSchema = await transformProfile(register, fhirSchema);
222
222
  results.push(profileSchema);
223
- const bindingSchemas = await collectBindingSchemas(register, fhirSchema);
223
+ const bindingSchemas = collectBindingSchemas(register, fhirSchema);
224
224
  results.push(...bindingSchemas);
225
225
  return results;
226
226
  }
@@ -231,5 +231,5 @@ export async function transformFHIRSchema(register, fhirSchema) {
231
231
  }
232
232
  return results;
233
233
  }
234
- return await transformResource(register, fhirSchema);
234
+ return transformFhirSchemaResource(register, fhirSchema);
235
235
  }
@@ -31,13 +31,6 @@ export declare class TypeSchemaGenerator {
31
31
  * This is more efficient and includes smart reference handling
32
32
  */
33
33
  private applyStructureDefinitionTreeshaking;
34
- /**
35
- * Extract dependencies from StructureDefinition with smart reference handling
36
- * Returns both real dependencies and reference targets separately
37
- */
38
34
  private extractStructureDefinitionDependenciesWithReferences;
39
- /**
40
- * Extract resource name from FHIR URL
41
- */
42
35
  private extractResourceNameFromUrl;
43
36
  }
@@ -9,7 +9,7 @@ import * as fhirschema from "@atomic-ehr/fhirschema";
9
9
  import { createLogger } from "@root/utils/codegen-logger";
10
10
  import { registerFromManager } from "@typeschema/register";
11
11
  import { TypeSchemaCache } from "./cache";
12
- import { transformFHIRSchema, transformValueSet } from "./core/transformer";
12
+ import { transformFhirSchema, transformValueSet } from "./core/transformer";
13
13
  /**
14
14
  * TypeSchema Generator class
15
15
  *
@@ -110,7 +110,7 @@ export class TypeSchemaGenerator {
110
110
  };
111
111
  const register = await this.registerFromPackageMetas([packageInfo]);
112
112
  const allSchemas = [
113
- ...(await Promise.all(register.allFs().map(async (fs) => await transformFHIRSchema(register, fs)))).flat(),
113
+ ...(await Promise.all(register.allFs().map(async (fs) => await transformFhirSchema(register, fs)))).flat(),
114
114
  ...(await this.generateValueSetSchemas(register.allVs(), packageInfo)),
115
115
  ];
116
116
  if (this.cache) {
@@ -120,20 +120,6 @@ export class TypeSchemaGenerator {
120
120
  }
121
121
  return allSchemas;
122
122
  }
123
- // async generateResourceTypeSchemas(
124
- // fhirSchemas: RichFHIRSchema[],
125
- // ): Promise<TypeSchema[]> {
126
- // this.logger.info(
127
- // `Transforming ${fhirSchemas.length} FHIR schemas to Type Schema`,
128
- // );
129
- // const typeSchemas: TypeSchema[] = [];
130
- // for (const fhirSchema of fhirSchemas) {
131
- // typeSchemas.push(
132
- // ...(await transformFHIRSchema(this.manager, fhirSchema)),
133
- // );
134
- // }
135
- // return typeSchemas;
136
- // }
137
123
  /**
138
124
  * Apply treeshaking to StructureDefinitions before FHIR schema transformation
139
125
  * This is more efficient and includes smart reference handling
@@ -208,10 +194,6 @@ export class TypeSchemaGenerator {
208
194
  this.logger.success(`Treeshaking completed: kept ${filteredStructureDefinitions.length}/${structureDefinitions.length} structure definitions`);
209
195
  return filteredStructureDefinitions;
210
196
  }
211
- /**
212
- * Extract dependencies from StructureDefinition with smart reference handling
213
- * Returns both real dependencies and reference targets separately
214
- */
215
197
  extractStructureDefinitionDependenciesWithReferences(sd) {
216
198
  const realDeps = new Set();
217
199
  const refTargets = new Set();
@@ -254,9 +236,6 @@ export class TypeSchemaGenerator {
254
236
  refTargets: Array.from(refTargets),
255
237
  };
256
238
  }
257
- /**
258
- * Extract resource name from FHIR URL
259
- */
260
239
  extractResourceNameFromUrl(url) {
261
240
  const match = url.match(/\/([^/]+)$/);
262
241
  return match ? (match[1] ?? null) : null;
@@ -13,7 +13,6 @@ import { mkFields } from "../core/transformer";
13
13
  export async function transformProfile(register, fhirSchema) {
14
14
  // Build profile identifier
15
15
  const identifier = mkIdentifier(fhirSchema);
16
- const _packageInfo = fhirSchema.package_meta;
17
16
  // Ensure this is recognized as a profile
18
17
  if (identifier.kind !== "profile") {
19
18
  throw new Error(`Expected profile, got ${identifier.kind} for ${fhirSchema.name}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomic-ehr/codegen",
3
- "version": "0.0.1-canary.20251006070905.fb6ed98",
3
+ "version": "0.0.1-canary.20251006092200.fdb4a88",
4
4
  "description": "Code generation tools for FHIR resources and TypeSchema definitions",
5
5
  "keywords": [
6
6
  "fhir",