@atomic-ehr/codegen 0.0.1-canary.20250930124137.175bd5f → 0.0.1-canary.20250930143834.b0fdeaa

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
@@ -15,18 +15,18 @@ import{createRequire as w6}from"node:module";var N6=Object.create;var{getPrototy
15
15
  `).map((E)=>E.split("\t")),u=0;return F.forEach((E)=>{if(E.length>1&&WD.stringWidth(E[0])>u)u=Math.min(Math.floor(this.width*0.5),WD.stringWidth(E[0]))}),F.forEach((E)=>{this.div(...E.map((B,C)=>{return{text:B.trim(),padding:this.measurePadding(B),width:C===0&&E.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
16
  `)}rowToString(D,F){return this.rasterize(D).forEach((u,E)=>{let B="";u.forEach((C,$)=>{let{width:X}=D[$],Q=this.negatePadding(D[$]),z=C;if(Q>WD.stringWidth(C))z+=" ".repeat(Q-WD.stringWidth(C));if(D[$].align&&D[$].align!=="left"&&this.wrap){let W=b6[D[$].align];if(z=W(z,Q),WD.stringWidth(z)<Q)z+=" ".repeat((X||0)-WD.stringWidth(z)-1)}let J=D[$].padding||[0,0,0,0];if(J[3])B+=" ".repeat(J[3]);if(B+=u1(D[$],z,"| "),B+=z,B+=u1(D[$],z," |"),J[1])B+=" ".repeat(J[1]);if(E===0&&F.length>0)B=this.renderInline(B,F[F.length-1])}),F.push({text:B.replace(/ +$/,""),span:D.span})}),F}renderInline(D,F){let u=D.match(/^ */),E=u?u[0].length:0,B=F.text,C=WD.stringWidth(B.trimRight());if(!F.span)return D;if(!this.wrap)return F.hidden=!0,B+D;if(E<C)return D;return F.hidden=!0,B.trimRight()+" ".repeat(E-C)+D.trimLeft()}rasterize(D){let F=[],u=this.columnWidths(D),E;return D.forEach((B,C)=>{if(B.width=u[C],this.wrap)E=WD.wrap(B.text,this.negatePadding(B),{hard:!0}).split(`
17
17
  `);else E=B.text.split(`
18
- `);if(B.border)E.unshift("."+"-".repeat(this.negatePadding(B)+2)+"."),E.push("'"+"-".repeat(this.negatePadding(B)+2)+"'");if(B.padding)E.unshift(...Array(B.padding[0]||0).fill("")),E.push(...Array(B.padding[2]||0).fill(""));E.forEach(($,X)=>{if(!F[X])F.push([]);let Q=F[X];for(let z=0;z<C;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((C)=>{return C.width||WD.stringWidth(C.text)});let F=D.length,u=this.width,E=D.map((C)=>{if(C.width)return F--,u-=C.width,C.width;return}),B=F?Math.floor(u/F):0;return E.map((C,$)=>{if(C===void 0)return Math.max(B,x6(D[$]));return C})}}function u1(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 B1(D,F){return WD=F,new E1({width:(D===null||D===void 0?void 0:D.width)||P6(),wrap:D===null||D===void 0?void 0:D.wrap})}function LF({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=LF();function mD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(f6,"")}function C1(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 $1(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function X1(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 Z1(D,{ambiguousAsWide:F=!1}={}){if(k6(D),$1(D)||X1(D)||F&&C1(D))return 2;return 1}var Y1=x0(z1(),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:E=!1}=F;if(!E)D=mD(D);if(D.length===0)return 0;let B=0,C={ambiguousAsWide:!u};for(let{segment:$}of y6.segment(D)){let X=$.codePointAt(0);if(X<=31||X>=127&&X<=159)continue;if(X>=8203&&X<=8207||X===65279)continue;if(X>=768&&X<=879||X>=6832&&X<=6911||X>=7616&&X<=7679||X>=8400&&X<=8447||X>=65056&&X<=65071)continue;if(X>=55296&&X<=57343)continue;if(X>=65024&&X<=65039)continue;if(h6.test($))continue;if(Y1.default().test($)){B+=2;continue}B+=Z1(X,C)}return B}var O1=(D=0)=>(F)=>`\x1B[${F+D}m`,J1=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,W1=(D=0)=>(F,u,E)=>`\x1B[${38+D};2;${F};${u};${E}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]}},WE=Object.keys(r.modifier),d6=Object.keys(r.color),p6=Object.keys(r.bgColor),GE=[...d6,...p6];function g6(){let D=new Map;for(let[F,u]of Object.entries(r)){for(let[E,B]of Object.entries(u))r[E]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},u[E]=r[E],D.set(B[0],B[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=O1(),r.color.ansi256=J1(),r.color.ansi16m=W1(),r.bgColor.ansi=O1(10),r.bgColor.ansi256=J1(10),r.bgColor.ansi16m=W1(10),Object.defineProperties(r,{rgbToAnsi256:{value:(F,u,E)=>{if(F===u&&u===E){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(E/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[E]=u;if(E.length===3)E=[...E].map((C)=>C+C).join("");let B=Number.parseInt(E,16);return[B>>16&255,B>>8&255,B&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,E,B;if(F>=232)u=((F-232)*10+8)/255,E=u,B=u;else{F-=16;let X=F%36;u=Math.floor(F/36)/5,E=Math.floor(X/6)/5,B=X%6/5}let C=Math.max(u,E,B)*2;if(C===0)return 30;let $=30+(Math.round(B)<<2|Math.round(E)<<1|Math.round(u));if(C===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(F,u,E)=>r.ansi256ToAnsi(r.rgbToAnsi256(F,u,E)),enumerable:!1},hexToAnsi:{value:(F)=>r.ansi256ToAnsi(r.hexToAnsi256(F)),enumerable:!1}}),r}var m6=g6(),G1=m6;var S0=new Set(["\x1B","›"]),c6=39,IF="\x07",q1="[",l6="]",_1="m",P0=`${l6}8;;`,A1=(D)=>`${S0.values().next().value}${q1}${D}${_1}`,H1=(D)=>`${S0.values().next().value}${P0}${D}${IF}`,o6=(D)=>D.split(" ").map((F)=>RD(F)),NF=(D,F,u)=>{let E=[...F],B=!1,C=!1,$=RD(mD(D.at(-1)));for(let[X,Q]of E.entries()){let z=RD(Q);if($+z<=u)D[D.length-1]+=Q;else D.push(Q),$=0;if(S0.has(Q))B=!0,C=E.slice(X+1,X+1+P0.length).join("")===P0;if(B){if(C){if(Q===IF)B=!1,C=!1}else if(Q===_1)B=!1;continue}if($+=z,$===u&&X<E.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 E="",B,C,$=o6(D),X=[""];for(let[W,Y]of D.split(" ").entries()){if(u.trim!==!1)X[X.length-1]=X.at(-1).trimStart();let q=RD(X.at(-1));if(W!==0){if(q>=F&&(u.wordWrap===!1||u.trim===!1))X.push(""),q=0;if(q>0||u.trim===!1)X[X.length-1]+=" ",q++}if(u.hard&&$[W]>F){let _=F-q,H=1+Math.floor(($[W]-_-1)/F);if(Math.floor(($[W]-1)/F)<H)X.push("");NF(X,Y,F);continue}if(q+$[W]>F&&q>0&&$[W]>0){if(u.wordWrap===!1&&q<F){NF(X,Y,F);continue}X.push("")}if(q+$[W]>F&&u.wordWrap===!1){NF(X,Y,F);continue}X[X.length-1]+=Y}if(u.trim!==!1)X=X.map((W)=>n6(W));let Q=X.join(`
19
- `),z=[...Q],J=0;for(let[W,Y]of z.entries()){if(E+=Y,S0.has(Y)){let{groups:_}=new RegExp(`(?:\\${q1}(?<code>\\d+)m|\\${P0}(?<uri>.*)${IF})`).exec(Q.slice(J))||{groups:{}};if(_.code!==void 0){let H=Number.parseFloat(_.code);B=H===c6?void 0:H}else if(_.uri!==void 0)C=_.uri.length===0?void 0:_.uri}let q=G1.codes.get(Number(B));if(z[W+1]===`
20
- `){if(C)E+=H1("");if(B&&q)E+=A1(q)}else if(Y===`
21
- `){if(B&&q)E+=A1(B);if(C)E+=H1(C)}J+=Y.length}return E};function TF(D,F,u){return String(D).normalize().replaceAll(`\r
18
+ `);if(B.border)E.unshift("."+"-".repeat(this.negatePadding(B)+2)+"."),E.push("'"+"-".repeat(this.negatePadding(B)+2)+"'");if(B.padding)E.unshift(...Array(B.padding[0]||0).fill("")),E.push(...Array(B.padding[2]||0).fill(""));E.forEach(($,X)=>{if(!F[X])F.push([]);let Q=F[X];for(let z=0;z<C;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((C)=>{return C.width||WD.stringWidth(C.text)});let F=D.length,u=this.width,E=D.map((C)=>{if(C.width)return F--,u-=C.width,C.width;return}),B=F?Math.floor(u/F):0;return E.map((C,$)=>{if(C===void 0)return Math.max(B,x6(D[$]));return C})}}function u1(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 B1(D,F){return WD=F,new E1({width:(D===null||D===void 0?void 0:D.width)||P6(),wrap:D===null||D===void 0?void 0:D.wrap})}function LF({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=LF();function mD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(f6,"")}function C1(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 $1(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function X1(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 Z1(D,{ambiguousAsWide:F=!1}={}){if(k6(D),$1(D)||X1(D)||F&&C1(D))return 2;return 1}var Y1=x0(z1(),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:E=!1}=F;if(!E)D=mD(D);if(D.length===0)return 0;let B=0,C={ambiguousAsWide:!u};for(let{segment:$}of y6.segment(D)){let X=$.codePointAt(0);if(X<=31||X>=127&&X<=159)continue;if(X>=8203&&X<=8207||X===65279)continue;if(X>=768&&X<=879||X>=6832&&X<=6911||X>=7616&&X<=7679||X>=8400&&X<=8447||X>=65056&&X<=65071)continue;if(X>=55296&&X<=57343)continue;if(X>=65024&&X<=65039)continue;if(h6.test($))continue;if(Y1.default().test($)){B+=2;continue}B+=Z1(X,C)}return B}var O1=(D=0)=>(F)=>`\x1B[${F+D}m`,J1=(D=0)=>(F)=>`\x1B[${38+D};5;${F}m`,W1=(D=0)=>(F,u,E)=>`\x1B[${38+D};2;${F};${u};${E}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]}},WE=Object.keys(r.modifier),d6=Object.keys(r.color),p6=Object.keys(r.bgColor),GE=[...d6,...p6];function g6(){let D=new Map;for(let[F,u]of Object.entries(r)){for(let[E,B]of Object.entries(u))r[E]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},u[E]=r[E],D.set(B[0],B[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=O1(),r.color.ansi256=J1(),r.color.ansi16m=W1(),r.bgColor.ansi=O1(10),r.bgColor.ansi256=J1(10),r.bgColor.ansi16m=W1(10),Object.defineProperties(r,{rgbToAnsi256:{value:(F,u,E)=>{if(F===u&&u===E){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(E/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[E]=u;if(E.length===3)E=[...E].map((C)=>C+C).join("");let B=Number.parseInt(E,16);return[B>>16&255,B>>8&255,B&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,E,B;if(F>=232)u=((F-232)*10+8)/255,E=u,B=u;else{F-=16;let X=F%36;u=Math.floor(F/36)/5,E=Math.floor(X/6)/5,B=X%6/5}let C=Math.max(u,E,B)*2;if(C===0)return 30;let $=30+(Math.round(B)<<2|Math.round(E)<<1|Math.round(u));if(C===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(F,u,E)=>r.ansi256ToAnsi(r.rgbToAnsi256(F,u,E)),enumerable:!1},hexToAnsi:{value:(F)=>r.ansi256ToAnsi(r.hexToAnsi256(F)),enumerable:!1}}),r}var m6=g6(),G1=m6;var S0=new Set(["\x1B","›"]),c6=39,IF="\x07",q1="[",l6="]",_1="m",P0=`${l6}8;;`,A1=(D)=>`${S0.values().next().value}${q1}${D}${_1}`,H1=(D)=>`${S0.values().next().value}${P0}${D}${IF}`,o6=(D)=>D.split(" ").map((F)=>RD(F)),NF=(D,F,u)=>{let E=[...F],B=!1,C=!1,$=RD(mD(D.at(-1)));for(let[X,Q]of E.entries()){let z=RD(Q);if($+z<=u)D[D.length-1]+=Q;else D.push(Q),$=0;if(S0.has(Q))B=!0,C=E.slice(X+1,X+1+P0.length).join("")===P0;if(B){if(C){if(Q===IF)B=!1,C=!1}else if(Q===_1)B=!1;continue}if($+=z,$===u&&X<E.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 E="",B,C,$=o6(D),X=[""];for(let[W,Y]of D.split(" ").entries()){if(u.trim!==!1)X[X.length-1]=X.at(-1).trimStart();let H=RD(X.at(-1));if(W!==0){if(H>=F&&(u.wordWrap===!1||u.trim===!1))X.push(""),H=0;if(H>0||u.trim===!1)X[X.length-1]+=" ",H++}if(u.hard&&$[W]>F){let _=F-H,q=1+Math.floor(($[W]-_-1)/F);if(Math.floor(($[W]-1)/F)<q)X.push("");NF(X,Y,F);continue}if(H+$[W]>F&&H>0&&$[W]>0){if(u.wordWrap===!1&&H<F){NF(X,Y,F);continue}X.push("")}if(H+$[W]>F&&u.wordWrap===!1){NF(X,Y,F);continue}X[X.length-1]+=Y}if(u.trim!==!1)X=X.map((W)=>n6(W));let Q=X.join(`
19
+ `),z=[...Q],J=0;for(let[W,Y]of z.entries()){if(E+=Y,S0.has(Y)){let{groups:_}=new RegExp(`(?:\\${q1}(?<code>\\d+)m|\\${P0}(?<uri>.*)${IF})`).exec(Q.slice(J))||{groups:{}};if(_.code!==void 0){let q=Number.parseFloat(_.code);B=q===c6?void 0:q}else if(_.uri!==void 0)C=_.uri.length===0?void 0:_.uri}let H=G1.codes.get(Number(B));if(z[W+1]===`
20
+ `){if(C)E+=H1("");if(B&&H)E+=A1(H)}else if(Y===`
21
+ `){if(B&&H)E+=A1(B);if(C)E+=H1(C)}J+=Y.length}return E};function TF(D,F,u){return String(D).normalize().replaceAll(`\r
22
22
  `,`
23
23
  `).split(`
24
24
  `).map((E)=>i6(E,F,u)).join(`
25
- `)}function wF(D){return B1(D,{stringWidth:RD,stripAnsi:mD,wrap:TF})}import{dirname as M1,resolve as K1}from"path";import{readdirSync as t6,statSync as s6}from"fs";function bF(D,F){let u=K1(".",D),E;if(!s6(u).isDirectory())u=M1(u);while(!0){if(E=F(u,t6(u)),E)return K1(u,E);if(u=M1(E=u),E===u)break}}import{inspect as W8}from"util";import{fileURLToPath as y1}from"url";import{format as e6}from"util";import{normalize as D8,resolve as F8}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="",E=!1,B=D.match(/^-+/);for(let C=B?B[0].length:0;C<D.length;C++){let $=D.charAt(C);if(E)E=!1,$=$.toUpperCase();if(C!==0&&($==="-"||$==="_"))E=!0;else if($!=="-"&&$!=="_")u+=$}return u}}function v0(D,F){let u=D.toLowerCase();F=F||"-";let E="";for(let B=0;B<D.length;B++){let C=u.charAt(B),$=D.charAt(B);if(C!==$&&B>0)E+=`${F}${u.charAt(B)}`;else E+=$}return E}function f0(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 V1(D){if(Array.isArray(D))return D.map(($)=>typeof $!=="string"?$+"":$);D=D.trim();let F=0,u=null,E=null,B=null,C=[];for(let $=0;$<D.length;$++){if(u=E,E=D.charAt($),E===" "&&!B){if(u!==" ")F++;continue}if(E===B)B=null;else if((E==="'"||E==='"')&&!B)B=E;if(!C[F])C[F]="";C[F]+=E}return C}var qD;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(qD||(qD={}));var xD;class PF{constructor(D){xD=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),E=V1(D),B=typeof D==="string",C=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),X=Object.assign(Object.create(null),u.default),Q=u.configObjects||[],z=u.envPrefix,J=$["populate--"],W=J?"--":"_",Y=Object.create(null),q=Object.create(null),_=u.__||xD.format,H={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(O){let A=typeof O==="object"?O.key:O,K=Object.keys(O).map(function(M){return{boolean:"bools",string:"strings",number:"numbers"}[M]}).filter(Boolean).pop();if(K)H[K][A]=!0;H.arrays[A]=!0,H.keys.push(A)}),[].concat(u.boolean||[]).filter(Boolean).forEach(function(O){H.bools[O]=!0,H.keys.push(O)}),[].concat(u.string||[]).filter(Boolean).forEach(function(O){H.strings[O]=!0,H.keys.push(O)}),[].concat(u.number||[]).filter(Boolean).forEach(function(O){H.numbers[O]=!0,H.keys.push(O)}),[].concat(u.count||[]).filter(Boolean).forEach(function(O){H.counts[O]=!0,H.keys.push(O)}),[].concat(u.normalize||[]).filter(Boolean).forEach(function(O){H.normalize[O]=!0,H.keys.push(O)}),typeof u.narg==="object")Object.entries(u.narg).forEach(([O,A])=>{if(typeof A==="number")H.nargs[O]=A,H.keys.push(O)});if(typeof u.coerce==="object")Object.entries(u.coerce).forEach(([O,A])=>{if(typeof A==="function")H.coercions[O]=A,H.keys.push(O)});if(typeof u.config<"u"){if(Array.isArray(u.config)||typeof u.config==="string")[].concat(u.config).filter(Boolean).forEach(function(O){H.configs[O]=!0});else if(typeof u.config==="object")Object.entries(u.config).forEach(([O,A])=>{if(typeof A==="boolean"||typeof A==="function")H.configs[O]=A})}H0(u.key,C,u.default,H.arrays),Object.keys(X).forEach(function(O){(H.aliases[O]||[]).forEach(function(A){X[A]=X[O]})});let p=null;KF();let QD=[],d=Object.assign(Object.create(null),{_:[]}),U={};for(let O=0;O<E.length;O++){let A=E[O],K=A.replace(/^-{3,}/,"---"),M,G,T,R,x,XD;if(A!=="--"&&/^-/.test(A)&&i(A))j(A);else if(K.match(/^---+(=|$)/)){j(A);continue}else if(A.match(/^--.+=/)||!$["short-option-groups"]&&A.match(/^-.+=/)){if(R=A.match(/^--?([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)if(v(R[1],H.arrays))O=l(O,R[1],E,R[2]);else if(v(R[1],H.nargs)!==!1)O=S(O,R[1],E,R[2]);else g(R[1],R[2],!0)}else if(A.match(c)&&$["boolean-negation"]){if(R=A.match(c),R!==null&&Array.isArray(R)&&R.length>=2)G=R[1],g(G,v(G,H.arrays)?[!1]:!1)}else if(A.match(/^--.+/)||!$["short-option-groups"]&&A.match(/^-[^-]+/)){if(R=A.match(/^--?(.+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],v(G,H.arrays))O=l(O,G,E);else if(v(G,H.nargs)!==!1)O=S(O,G,E);else if(x=E[O+1],x!==void 0&&(!x.match(/^-/)||x.match(P))&&!v(G,H.bools)&&!v(G,H.counts))g(G,x),O++;else if(/^(true|false)$/.test(x))g(G,x),O++;else g(G,m(G))}else if(A.match(/^-.\..+=/)){if(R=A.match(/^-([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)g(R[1],R[2])}else if(A.match(/^-.\..+/)&&!A.match(P)){if(x=E[O+1],R=A.match(/^-(.\..+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],x!==void 0&&!x.match(/^-/)&&!v(G,H.bools)&&!v(G,H.counts))g(G,x),O++;else g(G,m(G))}else if(A.match(/^-[^-]+/)&&!A.match(P)){T=A.slice(1,-1).split(""),M=!1;for(let YD=0;YD<T.length;YD++){if(x=A.slice(YD+2),T[YD+1]&&T[YD+1]==="="){if(XD=A.slice(YD+3),G=T[YD],v(G,H.arrays))O=l(O,G,E,XD);else if(v(G,H.nargs)!==!1)O=S(O,G,E,XD);else g(G,XD);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,H.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=A.slice(-1)[0],!M&&G!=="-")if(v(G,H.arrays))O=l(O,G,E);else if(v(G,H.nargs)!==!1)O=S(O,G,E);else if(x=E[O+1],x!==void 0&&(!/^(-|--)[^-]/.test(x)||x.match(P))&&!v(G,H.bools)&&!v(G,H.counts))g(G,x),O++;else if(/^(true|false)$/.test(x))g(G,x),O++;else g(G,m(G))}else if(A.match(/^-[0-9]$/)&&A.match(P)&&v(A.slice(1),H.bools))G=A.slice(1),g(G,m(G));else if(A==="--"){QD=E.slice(O+1);break}else if($["halt-at-non-option"]){QD=E.slice(O);break}else j(A)}if(uD(d,!0),uD(d,!1),w(d),n(),PD(d,H.aliases,X,!0),o(d),$["set-placeholder-key"])ED(d);if(Object.keys(H.counts).forEach(function(O){if(!t(d,O.split(".")))g(O,0)}),J&&QD.length)d[W]=[];if(QD.forEach(function(O){d[W].push(O)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(d).filter((O)=>O!=="--"&&O.includes("-")).forEach((O)=>{delete d[O]});if($["strip-aliased"])[].concat(...Object.keys(C).map((O)=>C[O])).forEach((O)=>{if($["camel-case-expansion"]&&O.includes("-"))delete d[O.split(".").map((A)=>cD(A)).join(".")];delete d[O]});function j(O){let A=V("_",O);if(typeof A==="string"||typeof A==="number")d._.push(A)}function S(O,A,K,M){let G,T=v(A,H.nargs);if(T=typeof T!=="number"||isNaN(T)?1:T,T===0){if(!CD(M))p=Error(_("Argument unexpected for: %s",A));return g(A,m(A)),O}let R=CD(M)?0:1;if($["nargs-eats-options"]){if(K.length-(O+1)+R<T)p=Error(_("Not enough arguments following: %s",A));R=T}else{for(G=O+1;G<K.length;G++)if(!K[G].match(/^-[^0-9]/)||K[G].match(P)||i(K[G]))R++;else break;if(R<T)p=Error(_("Not enough arguments following: %s",A))}let x=Math.min(R,T);if(!CD(M)&&x>0)g(A,M),x--;for(G=O+1;G<x+O+1;G++)g(A,K[G]);return O+x}function l(O,A,K,M){let G=[],T=M||K[O+1],R=v(A,H.nargs);if(v(A,H.bools)&&!/^(true|false)$/.test(T))G.push(!0);else if(CD(T)||CD(M)&&/^-/.test(T)&&!P.test(T)&&!i(T)){if(X[A]!==void 0){let x=X[A];G=Array.isArray(x)?x:[x]}}else{if(!CD(M))G.push(L(A,M,!0));for(let x=O+1;x<K.length;x++){if(!$["greedy-arrays"]&&G.length>0||R&&typeof R==="number"&&G.length>=R)break;if(T=K[x],/^-/.test(T)&&!P.test(T)&&!i(T))break;O=x,G.push(L(A,T,B))}}if(typeof R==="number"&&(R&&G.length<R||isNaN(R)&&G.length===0))p=Error(_("Not enough arguments following: %s",A));return g(A,G),O}function g(O,A,K=B){if(/-/.test(O)&&$["camel-case-expansion"]){let T=O.split(".").map(function(R){return cD(R)}).join(".");ND(O,T)}let M=L(O,A,K),G=O.split(".");if(bD(d,G,M),H.aliases[O])H.aliases[O].forEach(function(T){let R=T.split(".");bD(d,R,M)});if(G.length>1&&$["dot-notation"])(H.aliases[G[0]]||[]).forEach(function(T){let R=T.split("."),x=[].concat(G);if(x.shift(),R=R.concat(x),!(H.aliases[O]||[]).includes(R.join(".")))bD(d,R,M)});if(v(O,H.normalize)&&!v(O,H.arrays))[O].concat(H.aliases[O]||[]).forEach(function(R){Object.defineProperty(U,R,{enumerable:!0,get(){return A},set(x){A=typeof x==="string"?xD.normalize(x):x}})})}function ND(O,A){if(!(H.aliases[O]&&H.aliases[O].length))H.aliases[O]=[A],Y[A]=!0;if(!(H.aliases[A]&&H.aliases[A].length))ND(A,O)}function L(O,A,K){if(K)A=a6(A);if(v(O,H.bools)||v(O,H.counts)){if(typeof A==="string")A=A==="true"}let M=Array.isArray(A)?A.map(function(G){return V(O,G)}):V(O,A);if(v(O,H.counts)&&(CD(M)||typeof M==="boolean"))M=xF();if(v(O,H.normalize)&&v(O,H.arrays))if(Array.isArray(A))M=A.map((G)=>{return xD.normalize(G)});else M=xD.normalize(A);return M}function V(O,A){if(!$["parse-positional-numbers"]&&O==="_")return A;if(!v(O,H.strings)&&!v(O,H.bools)&&!Array.isArray(A)){if(f0(A)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${A}`)))||!CD(A)&&v(O,H.numbers))A=Number(A)}return A}function w(O){let A=Object.create(null);PD(A,H.aliases,X),Object.keys(H.configs).forEach(function(K){let M=O[K]||A[K];if(M)try{let G=null,T=xD.resolve(xD.cwd(),M),R=H.configs[K];if(typeof R==="function"){try{G=R(T)}catch(x){G=x}if(G instanceof Error){p=G;return}}else G=xD.require(T);y(G)}catch(G){if(G.name==="PermissionDenied")p=G;else if(O[K])p=Error(_("Invalid JSON config file: %s",M))}})}function y(O,A){Object.keys(O).forEach(function(K){let M=O[K],G=A?A+"."+K:K;if(typeof M==="object"&&M!==null&&!Array.isArray(M)&&$["dot-notation"])y(M,G);else if(!t(d,G.split("."))||v(G,H.arrays)&&$["combine-arrays"])g(G,M)})}function n(){if(typeof Q<"u")Q.forEach(function(O){y(O)})}function uD(O,A){if(typeof z>"u")return;let K=typeof z==="string"?z:"",M=xD.env();Object.keys(M).forEach(function(G){if(K===""||G.lastIndexOf(K,0)===0){let T=G.split("__").map(function(R,x){if(x===0)R=R.substring(K.length);return cD(R)});if((A&&H.configs[T.join(".")]||!A)&&!t(O,T))g(T.join("."),M[G])}})}function o(O){let A,K=new Set;Object.keys(O).forEach(function(M){if(!K.has(M)){if(A=v(M,H.coercions),typeof A==="function")try{let G=V(M,A(O[M]));[].concat(H.aliases[M]||[],M).forEach((T)=>{K.add(T),O[T]=G})}catch(G){p=G}}})}function ED(O){return H.keys.forEach((A)=>{if(~A.indexOf("."))return;if(typeof O[A]>"u")O[A]=void 0}),O}function PD(O,A,K,M=!1){Object.keys(K).forEach(function(G){if(!t(O,G.split("."))){if(bD(O,G.split("."),K[G]),M)q[G]=!0;(A[G]||[]).forEach(function(T){if(t(O,T.split(".")))return;bD(O,T.split("."),K[G])})}})}function t(O,A){let K=O;if(!$["dot-notation"])A=[A.join(".")];A.slice(0,-1).forEach(function(G){K=K[G]||{}});let M=A[A.length-1];if(typeof K!=="object")return!1;else return M in K}function bD(O,A,K){let M=O;if(!$["dot-notation"])A=[A.join(".")];A.slice(0,-1).forEach(function(XD){if(XD=R1(XD),typeof M==="object"&&M[XD]===void 0)M[XD]={};if(typeof M[XD]!=="object"||Array.isArray(M[XD])){if(Array.isArray(M[XD]))M[XD].push({});else M[XD]=[M[XD],{}];M=M[XD][M[XD].length-1]}else M=M[XD]});let G=R1(A[A.length-1]),T=v(A.join("."),H.arrays),R=Array.isArray(K),x=$["duplicate-arguments-array"];if(!x&&v(G,H.nargs)){if(x=!0,!CD(M[G])&&H.nargs[G]===1||Array.isArray(M[G])&&M[G].length===H.nargs[G])M[G]=void 0}if(K===xF())M[G]=xF(M[G]);else if(Array.isArray(M[G]))if(x&&T&&R)M[G]=$["flatten-duplicate-arrays"]?M[G].concat(K):(Array.isArray(M[G][0])?M[G]:[M[G]]).concat([K]);else if(!x&&Boolean(T)===Boolean(R))M[G]=K;else M[G]=M[G].concat([K]);else if(M[G]===void 0&&T)M[G]=R?K:[K];else if(x&&!(M[G]===void 0||v(G,H.counts)||v(G,H.bools)))M[G]=[M[G],K];else M[G]=K}function H0(...O){O.forEach(function(A){Object.keys(A||{}).forEach(function(K){if(H.aliases[K])return;H.aliases[K]=[].concat(C[K]||[]),H.aliases[K].concat(K).forEach(function(M){if(/-/.test(M)&&$["camel-case-expansion"]){let G=cD(M);if(G!==K&&H.aliases[K].indexOf(G)===-1)H.aliases[K].push(G),Y[G]=!0}}),H.aliases[K].concat(K).forEach(function(M){if(M.length>1&&/[A-Z]/.test(M)&&$["camel-case-expansion"]){let G=v0(M,"-");if(G!==K&&H.aliases[K].indexOf(G)===-1)H.aliases[K].push(G),Y[G]=!0}}),H.aliases[K].forEach(function(M){H.aliases[M]=[K].concat(H.aliases[K].filter(function(G){return M!==G}))})})})}function v(O,A){let K=[].concat(H.aliases[O]||[],O),M=Object.keys(A),G=K.find((T)=>M.includes(T));return G?A[G]:!1}function Q0(O){let A=Object.keys(H);return[].concat(A.map((M)=>H[M])).some(function(M){return Array.isArray(M)?M.includes(O):M[O]})}function r2(O,...A){return[].concat(...A).some(function(M){let G=O.match(M);return G&&Q0(G[1])})}function f(O){if(O.match(P)||!O.match(/^-[^-]+/))return!1;let A=!0,K,M=O.slice(1).split("");for(let G=0;G<M.length;G++){if(K=O.slice(G+2),!Q0(M[G])){A=!1;break}if(M[G+1]&&M[G+1]==="="||K==="-"||/[A-Za-z]/.test(M[G])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(K)||M[G+1]&&M[G+1].match(/\W/))break}return A}function i(O){return $["unknown-options-as-args"]&&BD(O)}function BD(O){if(O=O.replace(/^-{3,}/,"--"),O.match(P))return!1;if(f(O))return!1;return!r2(O,/^-+([^=]+?)=[\s\S]*$/,c,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function m(O){if(!v(O,H.bools)&&!v(O,H.counts)&&`${O}`in X)return X[O];else return zD(e(O))}function zD(O){return{[qD.BOOLEAN]:!0,[qD.STRING]:"",[qD.NUMBER]:void 0,[qD.ARRAY]:[]}[O]}function e(O){let A=qD.BOOLEAN;if(v(O,H.strings))A=qD.STRING;else if(v(O,H.numbers))A=qD.NUMBER;else if(v(O,H.bools))A=qD.BOOLEAN;else if(v(O,H.arrays))A=qD.ARRAY;return A}function CD(O){return O===void 0}function KF(){Object.keys(H.counts).find((O)=>{if(v(O,H.arrays))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.array.",O)),!0;else if(v(O,H.nargs))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.narg.",O)),!0;return!1})}return{aliases:Object.assign({},H.aliases),argv:Object.assign(U,d),configuration:$,defaulted:Object.assign({},q),error:p,newAliases:Object.assign({},Y)}}}function r6(D){let F=[],u=Object.create(null),E=!0;Object.keys(D).forEach(function(B){F.push([].concat(D[B],B))});while(E){E=!1;for(let B=0;B<F.length;B++)for(let C=B+1;C<F.length;C++)if(F[B].filter(function(X){return F[C].indexOf(X)!==-1}).length){F[B]=F[B].concat(F[C]),F.splice(C,1),E=!0;break}}return F.forEach(function(B){B=B.filter(function($,X,Q){return Q.indexOf($)===X});let C=B.pop();if(C!==void 0&&typeof C==="string")u[C]=B}),u}function xF(D){return D!==void 0?D+1:1}function R1(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 u8}from"fs";import{createRequire as U1}from"node:module";var SF,vF,fF,j1=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,L1=(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(L1){if(Number(L1.match(/^([^.]+)/)[1])<j1)throw Error(`yargs parser supports a minimum Node.js version of ${j1}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var E8=process?process.env:{},N1=U1?U1(import.meta.url):void 0,I1=new PF({cwd:process.cwd,env:()=>{return E8},format:e6,normalize:D8,resolve:F8,require:(D)=>{if(typeof N1<"u")return N1(D);else if(D.match(/\.json$/))return JSON.parse(u8(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),_0=function(F,u){return I1.parse(F.slice(),u).argv};_0.detailed=function(D,F){return I1.parse(D.slice(),F)};_0.camelCase=cD;_0.decamelize=v0;_0.looksLikeNumber=f0;var kF=_0;import{basename as G8,dirname as A8,extname as H8,relative as q8,resolve as k1,join as _8}from"path";function T1(){if(B8())return 0;return 1}function B8(){return C8()&&!process.defaultApp}function C8(){return!!process.versions.electron}function yF(D){return D.slice(T1()+1)}function w1(){return process.argv[T1()]}import{readFileSync as $8,statSync as X8,writeFile as Z8}from"fs";import{format as Q8}from"util";import{resolve as z8}from"path";var b1={fs:{readFileSync:$8,writeFile:Z8},format:Q8,resolve:z8,exists:(D)=>{try{return X8(D).isFile()}catch(F){return!1}}};var UD;class x1{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(),E=D.shift(),B=function(){};if(typeof D[D.length-1]==="function")B=D.pop();if(!this.cache[this.locale])this._readLocaleFile();let C=E===1?F:u;if(this.cache[this.locale][F])C=this.cache[this.locale][F][E===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:B});else B();let $=[C];if(~C.indexOf("%d"))$.push(E);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(E,B){let C=F[B+1];if(u+=E,typeof C<"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,E=F.locale,B=F.cb,C=this._resolveLocaleFile(u,E),$=JSON.stringify(this.cache[E],null,2);UD.fs.writeFile(C,$,"utf-8",function(X){if(D.writeQueue.shift(),D.writeQueue.length>0)D._processWriteQueue();B(X)})}_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 E=UD.resolve(D,"./",F.split("_")[0]+".json");if(this._fileExistsSync(E))u=E}return u}_fileExistsSync(D){return UD.exists(D)}}function P1(D,F){UD=F;let u=new x1(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 Y8=(D)=>{return P1(D,b1)},S1=Y8;var h1=x0(f1(),1);import{createRequire as M8}from"node:module";import{readFileSync as K8,readdirSync as V8}from"node:fs";var hF=y1(import.meta.url),R8=hF.substring(0,hF.lastIndexOf("node_modules")),U8=M8(import.meta.url),dF={assert:{notStrictEqual:O8,strictEqual:J8},cliui:wF,findUp:bF,getEnv:(D)=>{return process.env[D]},inspect:W8,getProcessArgvBin:w1,mainFilename:R8||process.cwd(),Parser:kF,path:{basename:G8,dirname:A8,extname:H8,relative:q8,resolve:k1,join:_8},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:K8,readdirSync:V8,require:U8,getCallerFile:()=>{let D=h1.default(3);return D.match(/^file:\/\//)?y1(D):D},stringWidth:RD,y18n:S1({directory:k1(hF,"../../../locales"),updateFiles:!1})};function OD(D,F,u,E){u.assert.notStrictEqual(D,F,E)}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+(?![^[]*]|[^<]*>)/),E=/\.*[\][<>]/g,B=u.shift();if(!B)throw Error(`No command found in: ${D}`);let C={cmd:B.replace(E,""),demanded:[],optional:[]};return u.forEach(($,X)=>{let Q=!1;if($=$.replace(/\s/g,""),/\.+[\]>]/.test($)&&X===u.length-1)Q=!0;if(/^\[/.test($))C.optional.push({cmd:$.replace(E,"").split("|"),variadic:Q});else C.demanded.push({cmd:$.replace(E,"").split("|"),variadic:Q})}),C}var j8=["first","second","third","fourth","fifth","sixth"];function N(D,F,u){function E(){return typeof D==="object"?[{demanded:[],optional:[]},D,F]:[SD(`cmd ${D}`),F,u]}try{let B=0,[C,$,X]=E(),Q=[].slice.call($);while(Q.length&&Q[Q.length-1]===void 0)Q.pop();let z=X||Q.length;if(z<C.demanded.length)throw new DD(`Not enough arguments provided. Expected ${C.demanded.length} but received ${Q.length}.`);let J=C.demanded.length+C.optional.length;if(z>J)throw new DD(`Too many arguments provided. Expected max ${J} but received ${z}.`);C.demanded.forEach((W)=>{let Y=Q.shift(),q=d1(Y);if(W.cmd.filter((H)=>H===q||H==="*").length===0)p1(q,W.cmd,B);B+=1}),C.optional.forEach((W)=>{if(Q.length===0)return;let Y=Q.shift(),q=d1(Y);if(W.cmd.filter((H)=>H===q||H==="*").length===0)p1(q,W.cmd,B);B+=1})}catch(B){console.warn(B.stack)}}function d1(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function p1(D,F,u){throw new DD(`Invalid ${j8[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,E=!1){if(N("<array|function> [boolean] [boolean] [boolean]",[D,F,u],arguments.length),Array.isArray(D)){for(let B=0;B<D.length;B++){if(typeof D[B]!=="function")throw Error("middleware must be a function");let C=D[B];C.applyBeforeValidation=F,C.global=u}Array.prototype.push.apply(this.globalMiddleware,D)}else if(typeof D==="function"){let B=D;B.applyBeforeValidation=F,B.global=u,B.mutates=E,this.globalMiddleware.push(D)}return this.yargs}addCoerceMiddleware(D,F){let u=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((E)=>{let B=[...u[F]||[],F];if(!E.option)return!0;else return!B.includes(E.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 g1(D){if(!D)return[];return D.map((F)=>{return F.applyBeforeValidation=!1,F})}function lD(D,F,u,E){return u.reduce((B,C)=>{if(C.applyBeforeValidation!==E)return B;if(C.mutates){if(C.applied)return B;C.applied=!0}if(s(B))return B.then(($)=>Promise.all([$,C($,F)])).then(([$,X])=>Object.assign($,X));else{let $=C(B,F);return s($)?$.then((X)=>Object.assign(B,X)):Object.assign(B,$)}},D)}function oD(D,F,u=(E)=>{throw E}){try{let E=L8(D)?D():D;return s(E)?E.then((B)=>F(B)):F(E)}catch(E){return u(E)}}function L8(D){return typeof D==="function"}var Y0=/(^\*)|(^\$0)/;class c1{constructor(D,F,u,E){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=E,this.usage=D,this.globalMiddleware=u,this.validation=F}addDirectory(D,F,u,E){E=E||{},this.requireCache.add(u);let B=this.shim.path.resolve(this.shim.path.dirname(u),D),C=this.shim.readdirSync(B,{recursive:E.recurse?!0:!1});if(!Array.isArray(E.extensions))E.extensions=["js"];let $=typeof E.visit==="function"?E.visit:(X)=>X;for(let X of C){let Q=X.toString();if(E.exclude){let J=!1;if(typeof E.exclude==="function")J=E.exclude(Q);else J=E.exclude.test(Q);if(J)continue}if(E.include){let J=!1;if(typeof E.include==="function")J=E.include(Q);else J=E.include.test(Q);if(!J)continue}let z=!1;for(let J of E.extensions)if(Q.endsWith(J))z=!0;if(z){let J=this.shim.path.join(B,Q),W=F(J),Y=Object.create(null,Object.getOwnPropertyDescriptors({...W}));if($(Y,J,Q)){if(this.requireCache.has(J))continue;else this.requireCache.add(J);if(!Y.command)Y.command=this.shim.path.basename(J,this.shim.path.extname(J));this.addHandler(Y)}}}}addHandler(D,F,u,E,B,C){let $=[],X=g1(B);if(E=E||(()=>{}),Array.isArray(D))if(N8(D))[D,...$]=D;else for(let Q of D)this.addHandler(Q);else if(T8(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(m1(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,J=[Q.cmd].concat($).filter((W)=>{if(Y0.test(W))return z=!0,!1;return!0});if(J.length===0&&z)J.push("$0");if(z)Q.cmd=J[0],$=J.slice(1),D=D.replace(Y0,Q.cmd);if($.forEach((W)=>{this.aliasMap[W]=Q.cmd}),F!==!1)this.usage.command(D,F,z,$,C);if(this.handlers[Q.cmd]={original:D,description:F,handler:E,builder:u||{},middlewares:X,deprecated:C,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,E,B,C){let $=this.handlers[D]||this.handlers[this.aliasMap[D]]||this.defaultCommand,X=F.getInternalMethods().getContext(),Q=X.commands.slice(),z=!D;if(D)X.commands.push(D),X.fullCommands.push($.original);let J=this.applyBuilderUpdateUsageAndParse(z,$,F,u.aliases,Q,E,B,C);return s(J)?J.then((W)=>this.applyMiddlewareAndGetResult(z,$,W.innerArgv,X,B,W.aliases,F)):this.applyMiddlewareAndGetResult(z,$,J.innerArgv,X,B,J.aliases,F)}applyBuilderUpdateUsageAndParse(D,F,u,E,B,C,$,X){let Q=F.builder,z=u;if(k0(Q)){u.getInternalMethods().getUsageInstance().freeze();let J=Q(u.getInternalMethods().reset(E),X);if(s(J))return J.then((W)=>{return z=o1(W)?W:u,this.parseAndUpdateUsage(D,F,z,B,C,$)})}else if(I8(Q))u.getInternalMethods().getUsageInstance().freeze(),z=u.getInternalMethods().reset(E),Object.keys(F.builder).forEach((J)=>{z.option(J,Q[J])});return this.parseAndUpdateUsage(D,F,z,B,C,$)}parseAndUpdateUsage(D,F,u,E,B,C){if(D)u.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(u))u.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(E,F),F.description);let $=u.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,B,C);return s($)?$.then((X)=>({aliases:u.parsed.aliases,innerArgv:X})):{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,E=D.filter((B)=>{return!Y0.test(B)});return E.push(u),`$0 ${E.join(" ")}`}handleValidationAndGetResult(D,F,u,E,B,C,$,X){if(!C.getInternalMethods().getHasOutput()){let Q=C.getInternalMethods().runValidation(B,X,C.parsed.error,D);u=oD(u,(z)=>{return Q(z),z})}if(F.handler&&!C.getInternalMethods().getHasOutput()){C.getInternalMethods().setHasOutput();let Q=!!C.getOptions().configuration["populate--"];if(C.getInternalMethods().postProcess(u,Q,!1,!1),u=lD(u,C,$,!1),u=oD(u,(z)=>{let J=F.handler(z);return s(J)?J.then(()=>z):z}),!D)C.getInternalMethods().getUsageInstance().cacheHelpMessage();if(s(u)&&!C.getInternalMethods().hasParseCallback())u.catch((z)=>{try{C.getInternalMethods().getUsageInstance().fail(null,z)}catch(J){}})}if(!D)E.commands.pop(),E.fullCommands.pop();return u}applyMiddlewareAndGetResult(D,F,u,E,B,C,$){let X={};if(B)return u;if(!$.getInternalMethods().getHasOutput())X=this.populatePositionals(F,u,E,$);let Q=this.globalMiddleware.getMiddleware().slice(0).concat(F.middlewares),z=lD(u,$,Q,!0);return s(z)?z.then((J)=>this.handleValidationAndGetResult(D,F,J,E,C,$,Q,X)):this.handleValidationAndGetResult(D,F,z,E,C,$,Q,X)}populatePositionals(D,F,u,E){F._=F._.slice(u.commands.length);let B=D.demanded.slice(0),C=D.optional.slice(0),$={};this.validation.positionalCount(B.length,F._.length);while(B.length){let X=B.shift();this.populatePositional(X,F,$)}while(C.length){let X=C.shift();this.populatePositional(X,F,$)}return F._=u.commands.concat(F._.map((X)=>""+X)),this.postProcessPositionals(F,$,this.cmdToParseOptions(D.original),E),$}populatePositional(D,F,u){let E=D.cmd[0];if(D.variadic)u[E]=F._.splice(0).map(String);else if(F._.length)u[E]=[String(F._.shift())]}cmdToParseOptions(D){let F={array:[],default:{},alias:{},demand:{}},u=SD(D);return u.demanded.forEach((E)=>{let[B,...C]=E.cmd;if(E.variadic)F.array.push(B),F.default[B]=[];F.alias[B]=C,F.demand[B]=!0}),u.optional.forEach((E)=>{let[B,...C]=E.cmd;if(E.variadic)F.array.push(B),F.default[B]=[];F.alias[B]=C}),F}postProcessPositionals(D,F,u,E){let B=Object.assign({},E.getOptions());B.default=Object.assign(u.default,B.default);for(let Q of Object.keys(u.alias))B.alias[Q]=(B.alias[Q]||[]).concat(u.alias[Q]);B.array=B.array.concat(u.array),B.config={};let C=[];if(Object.keys(F).forEach((Q)=>{F[Q].map((z)=>{if(B.configuration["unknown-options-as-args"])B.key[Q]=!0;C.push(`--${Q}`),C.push(z)})}),!C.length)return;let $=Object.assign({},B.configuration,{"populate--":!1}),X=this.shim.Parser.detailed(C,Object.assign({},B,{configuration:$}));if(X.error)E.getInternalMethods().getUsageInstance().fail(X.error.message,X.error);else{let Q=Object.keys(F);Object.keys(F).forEach((z)=>{Q.push(...X.aliases[z])}),Object.keys(X.argv).forEach((z)=>{if(Q.includes(z)){if(!F[z])F[z]=X.argv[z];if(!this.isInConfigs(E,z)&&!this.isDefaulted(E,z)&&Object.prototype.hasOwnProperty.call(D,z)&&Object.prototype.hasOwnProperty.call(X.argv,z)&&(Array.isArray(D[z])||Array.isArray(X.argv[z])))D[z]=[].concat(D[z],X.argv[z]);else D[z]=X.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((E)=>Object.prototype.hasOwnProperty.call(E,F))||u.some((E)=>Object.prototype.hasOwnProperty.call(E,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(k0(F))return F(D,!0);else if(!m1(F))Object.keys(F).forEach((u)=>{D.option(u,F[u])});return}extractDesc({describe:D,description:F,desc:u}){for(let E of[D,F,u]){if(typeof E==="string"||E===!1)return E;OD(E,!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 l1(D,F,u,E){return new c1(D,F,u,E)}function m1(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function N8(D){return D.every((F)=>typeof F==="string")}function k0(D){return typeof D==="function"}function I8(D){return typeof D==="object"}function T8(D){return typeof D==="object"&&!Array.isArray(D)}function vD(D={},F=()=>!0){let u={};return z0(D).forEach((E)=>{if(F(E,D[E]))u[E]=D[E]}),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 w8(D){return typeof D==="boolean"}function i1(D,F){let u=F.y18n.__,E={},B=[];E.failFn=function(V){B.push(V)};let C=null,$=null,X=!0;E.showHelpOnFail=function(V=!0,w){let[y,n]=typeof V==="string"?[!0,V]:[V,w];if(D.getInternalMethods().isGlobalContext())$=n;return C=n,X=y,E};let Q=!1;E.fail=function(V,w){let y=D.getInternalMethods().getLoggerInstance();if(B.length)for(let n=B.length-1;n>=0;--n){let uD=B[n];if(w8(uD)){if(w)throw w;else if(V)throw Error(V)}else uD(V,w,E)}else{if(D.getExitProcess())fD(!0);if(!Q){if(Q=!0,X)D.showHelp("error"),y.error();if(V||w)y.error(V||w);let n=C||$;if(n){if(V||w)y.error("");y.error(n)}}if(w=w||new DD(V),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,w);else throw w}};let z=[],J=!1;E.usage=(L,V)=>{if(L===null)return J=!0,z=[],E;return J=!1,z.push([L,V||""]),E},E.getUsage=()=>{return z},E.getUsageDisabled=()=>{return J},E.getPositionalGroupName=()=>{return u("Positionals:")};let W=[];E.example=(L,V)=>{W.push([L,V||""])};let Y=[];E.command=function(V,w,y,n,uD=!1){if(y)Y=Y.map((o)=>{return o[2]=!1,o});Y.push([V,w||"",y,n,uD])},E.getCommands=()=>Y;let q={};E.describe=function(V,w){if(Array.isArray(V))V.forEach((y)=>{E.describe(y,w)});else if(typeof V==="object")Object.keys(V).forEach((y)=>{E.describe(y,V[y])});else q[V]=w},E.getDescriptions=()=>q;let _=[];E.epilog=(L)=>{_.push(L)};let H=!1,P;E.wrap=(L)=>{H=!0,P=L},E.getWrap=()=>{if(F.getEnv("YARGS_DISABLE_WRAP"))return null;if(!H)P=l(),H=!0;return P};let c="__yargsString__:";E.deferY18nLookup=(L)=>c+L,E.help=function(){if(d)return d;QD();let V=D.customScriptName?D.$0:F.path.basename(D.$0),w=D.getDemandedOptions(),y=D.getDemandedCommands(),n=D.getDeprecatedOptions(),uD=D.getGroups(),o=D.getOptions(),ED=[];ED=ED.concat(Object.keys(q)),ED=ED.concat(Object.keys(w)),ED=ED.concat(Object.keys(y)),ED=ED.concat(Object.keys(o.default)),ED=ED.filter(j),ED=Object.keys(ED.reduce((f,i)=>{if(i!=="_")f[i]=!0;return f},{}));let PD=E.getWrap(),t=F.cliui({width:PD,wrap:!!PD});if(!J){if(z.length)z.forEach((f)=>{if(t.div({text:`${f[0].replace(/\$0/g,V)}`}),f[1])t.div({text:`${f[1]}`,padding:[1,0,0,0]})}),t.div();else if(Y.length){let f=null;if(y._)f=`${V} <${u("command")}>
25
+ `)}function wF(D){return B1(D,{stringWidth:RD,stripAnsi:mD,wrap:TF})}import{dirname as M1,resolve as K1}from"path";import{readdirSync as t6,statSync as s6}from"fs";function bF(D,F){let u=K1(".",D),E;if(!s6(u).isDirectory())u=M1(u);while(!0){if(E=F(u,t6(u)),E)return K1(u,E);if(u=M1(E=u),E===u)break}}import{inspect as W8}from"util";import{fileURLToPath as y1}from"url";import{format as e6}from"util";import{normalize as D8,resolve as F8}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="",E=!1,B=D.match(/^-+/);for(let C=B?B[0].length:0;C<D.length;C++){let $=D.charAt(C);if(E)E=!1,$=$.toUpperCase();if(C!==0&&($==="-"||$==="_"))E=!0;else if($!=="-"&&$!=="_")u+=$}return u}}function v0(D,F){let u=D.toLowerCase();F=F||"-";let E="";for(let B=0;B<D.length;B++){let C=u.charAt(B),$=D.charAt(B);if(C!==$&&B>0)E+=`${F}${u.charAt(B)}`;else E+=$}return E}function f0(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 V1(D){if(Array.isArray(D))return D.map(($)=>typeof $!=="string"?$+"":$);D=D.trim();let F=0,u=null,E=null,B=null,C=[];for(let $=0;$<D.length;$++){if(u=E,E=D.charAt($),E===" "&&!B){if(u!==" ")F++;continue}if(E===B)B=null;else if((E==="'"||E==='"')&&!B)B=E;if(!C[F])C[F]="";C[F]+=E}return C}var qD;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(qD||(qD={}));var xD;class PF{constructor(D){xD=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),E=V1(D),B=typeof D==="string",C=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),X=Object.assign(Object.create(null),u.default),Q=u.configObjects||[],z=u.envPrefix,J=$["populate--"],W=J?"--":"_",Y=Object.create(null),H=Object.create(null),_=u.__||xD.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(O){let A=typeof O==="object"?O.key:O,K=Object.keys(O).map(function(M){return{boolean:"bools",string:"strings",number:"numbers"}[M]}).filter(Boolean).pop();if(K)q[K][A]=!0;q.arrays[A]=!0,q.keys.push(A)}),[].concat(u.boolean||[]).filter(Boolean).forEach(function(O){q.bools[O]=!0,q.keys.push(O)}),[].concat(u.string||[]).filter(Boolean).forEach(function(O){q.strings[O]=!0,q.keys.push(O)}),[].concat(u.number||[]).filter(Boolean).forEach(function(O){q.numbers[O]=!0,q.keys.push(O)}),[].concat(u.count||[]).filter(Boolean).forEach(function(O){q.counts[O]=!0,q.keys.push(O)}),[].concat(u.normalize||[]).filter(Boolean).forEach(function(O){q.normalize[O]=!0,q.keys.push(O)}),typeof u.narg==="object")Object.entries(u.narg).forEach(([O,A])=>{if(typeof A==="number")q.nargs[O]=A,q.keys.push(O)});if(typeof u.coerce==="object")Object.entries(u.coerce).forEach(([O,A])=>{if(typeof A==="function")q.coercions[O]=A,q.keys.push(O)});if(typeof u.config<"u"){if(Array.isArray(u.config)||typeof u.config==="string")[].concat(u.config).filter(Boolean).forEach(function(O){q.configs[O]=!0});else if(typeof u.config==="object")Object.entries(u.config).forEach(([O,A])=>{if(typeof A==="boolean"||typeof A==="function")q.configs[O]=A})}H0(u.key,C,u.default,q.arrays),Object.keys(X).forEach(function(O){(q.aliases[O]||[]).forEach(function(A){X[A]=X[O]})});let p=null;KF();let QD=[],d=Object.assign(Object.create(null),{_:[]}),U={};for(let O=0;O<E.length;O++){let A=E[O],K=A.replace(/^-{3,}/,"---"),M,G,T,R,x,XD;if(A!=="--"&&/^-/.test(A)&&i(A))j(A);else if(K.match(/^---+(=|$)/)){j(A);continue}else if(A.match(/^--.+=/)||!$["short-option-groups"]&&A.match(/^-.+=/)){if(R=A.match(/^--?([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)if(v(R[1],q.arrays))O=l(O,R[1],E,R[2]);else if(v(R[1],q.nargs)!==!1)O=S(O,R[1],E,R[2]);else g(R[1],R[2],!0)}else if(A.match(c)&&$["boolean-negation"]){if(R=A.match(c),R!==null&&Array.isArray(R)&&R.length>=2)G=R[1],g(G,v(G,q.arrays)?[!1]:!1)}else if(A.match(/^--.+/)||!$["short-option-groups"]&&A.match(/^-[^-]+/)){if(R=A.match(/^--?(.+)/),R!==null&&Array.isArray(R)&&R.length>=2)if(G=R[1],v(G,q.arrays))O=l(O,G,E);else if(v(G,q.nargs)!==!1)O=S(O,G,E);else if(x=E[O+1],x!==void 0&&(!x.match(/^-/)||x.match(P))&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),O++;else if(/^(true|false)$/.test(x))g(G,x),O++;else g(G,m(G))}else if(A.match(/^-.\..+=/)){if(R=A.match(/^-([^=]+)=([\s\S]*)$/),R!==null&&Array.isArray(R)&&R.length>=3)g(R[1],R[2])}else if(A.match(/^-.\..+/)&&!A.match(P)){if(x=E[O+1],R=A.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),O++;else g(G,m(G))}else if(A.match(/^-[^-]+/)&&!A.match(P)){T=A.slice(1,-1).split(""),M=!1;for(let YD=0;YD<T.length;YD++){if(x=A.slice(YD+2),T[YD+1]&&T[YD+1]==="="){if(XD=A.slice(YD+3),G=T[YD],v(G,q.arrays))O=l(O,G,E,XD);else if(v(G,q.nargs)!==!1)O=S(O,G,E,XD);else g(G,XD);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=A.slice(-1)[0],!M&&G!=="-")if(v(G,q.arrays))O=l(O,G,E);else if(v(G,q.nargs)!==!1)O=S(O,G,E);else if(x=E[O+1],x!==void 0&&(!/^(-|--)[^-]/.test(x)||x.match(P))&&!v(G,q.bools)&&!v(G,q.counts))g(G,x),O++;else if(/^(true|false)$/.test(x))g(G,x),O++;else g(G,m(G))}else if(A.match(/^-[0-9]$/)&&A.match(P)&&v(A.slice(1),q.bools))G=A.slice(1),g(G,m(G));else if(A==="--"){QD=E.slice(O+1);break}else if($["halt-at-non-option"]){QD=E.slice(O);break}else j(A)}if(uD(d,!0),uD(d,!1),w(d),n(),PD(d,q.aliases,X,!0),o(d),$["set-placeholder-key"])ED(d);if(Object.keys(q.counts).forEach(function(O){if(!t(d,O.split(".")))g(O,0)}),J&&QD.length)d[W]=[];if(QD.forEach(function(O){d[W].push(O)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(d).filter((O)=>O!=="--"&&O.includes("-")).forEach((O)=>{delete d[O]});if($["strip-aliased"])[].concat(...Object.keys(C).map((O)=>C[O])).forEach((O)=>{if($["camel-case-expansion"]&&O.includes("-"))delete d[O.split(".").map((A)=>cD(A)).join(".")];delete d[O]});function j(O){let A=V("_",O);if(typeof A==="string"||typeof A==="number")d._.push(A)}function S(O,A,K,M){let G,T=v(A,q.nargs);if(T=typeof T!=="number"||isNaN(T)?1:T,T===0){if(!CD(M))p=Error(_("Argument unexpected for: %s",A));return g(A,m(A)),O}let R=CD(M)?0:1;if($["nargs-eats-options"]){if(K.length-(O+1)+R<T)p=Error(_("Not enough arguments following: %s",A));R=T}else{for(G=O+1;G<K.length;G++)if(!K[G].match(/^-[^0-9]/)||K[G].match(P)||i(K[G]))R++;else break;if(R<T)p=Error(_("Not enough arguments following: %s",A))}let x=Math.min(R,T);if(!CD(M)&&x>0)g(A,M),x--;for(G=O+1;G<x+O+1;G++)g(A,K[G]);return O+x}function l(O,A,K,M){let G=[],T=M||K[O+1],R=v(A,q.nargs);if(v(A,q.bools)&&!/^(true|false)$/.test(T))G.push(!0);else if(CD(T)||CD(M)&&/^-/.test(T)&&!P.test(T)&&!i(T)){if(X[A]!==void 0){let x=X[A];G=Array.isArray(x)?x:[x]}}else{if(!CD(M))G.push(L(A,M,!0));for(let x=O+1;x<K.length;x++){if(!$["greedy-arrays"]&&G.length>0||R&&typeof R==="number"&&G.length>=R)break;if(T=K[x],/^-/.test(T)&&!P.test(T)&&!i(T))break;O=x,G.push(L(A,T,B))}}if(typeof R==="number"&&(R&&G.length<R||isNaN(R)&&G.length===0))p=Error(_("Not enough arguments following: %s",A));return g(A,G),O}function g(O,A,K=B){if(/-/.test(O)&&$["camel-case-expansion"]){let T=O.split(".").map(function(R){return cD(R)}).join(".");ND(O,T)}let M=L(O,A,K),G=O.split(".");if(bD(d,G,M),q.aliases[O])q.aliases[O].forEach(function(T){let R=T.split(".");bD(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[O]||[]).includes(R.join(".")))bD(d,R,M)});if(v(O,q.normalize)&&!v(O,q.arrays))[O].concat(q.aliases[O]||[]).forEach(function(R){Object.defineProperty(U,R,{enumerable:!0,get(){return A},set(x){A=typeof x==="string"?xD.normalize(x):x}})})}function ND(O,A){if(!(q.aliases[O]&&q.aliases[O].length))q.aliases[O]=[A],Y[A]=!0;if(!(q.aliases[A]&&q.aliases[A].length))ND(A,O)}function L(O,A,K){if(K)A=a6(A);if(v(O,q.bools)||v(O,q.counts)){if(typeof A==="string")A=A==="true"}let M=Array.isArray(A)?A.map(function(G){return V(O,G)}):V(O,A);if(v(O,q.counts)&&(CD(M)||typeof M==="boolean"))M=xF();if(v(O,q.normalize)&&v(O,q.arrays))if(Array.isArray(A))M=A.map((G)=>{return xD.normalize(G)});else M=xD.normalize(A);return M}function V(O,A){if(!$["parse-positional-numbers"]&&O==="_")return A;if(!v(O,q.strings)&&!v(O,q.bools)&&!Array.isArray(A)){if(f0(A)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${A}`)))||!CD(A)&&v(O,q.numbers))A=Number(A)}return A}function w(O){let A=Object.create(null);PD(A,q.aliases,X),Object.keys(q.configs).forEach(function(K){let M=O[K]||A[K];if(M)try{let G=null,T=xD.resolve(xD.cwd(),M),R=q.configs[K];if(typeof R==="function"){try{G=R(T)}catch(x){G=x}if(G instanceof Error){p=G;return}}else G=xD.require(T);y(G)}catch(G){if(G.name==="PermissionDenied")p=G;else if(O[K])p=Error(_("Invalid JSON config file: %s",M))}})}function y(O,A){Object.keys(O).forEach(function(K){let M=O[K],G=A?A+"."+K:K;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(O){y(O)})}function uD(O,A){if(typeof z>"u")return;let K=typeof z==="string"?z:"",M=xD.env();Object.keys(M).forEach(function(G){if(K===""||G.lastIndexOf(K,0)===0){let T=G.split("__").map(function(R,x){if(x===0)R=R.substring(K.length);return cD(R)});if((A&&q.configs[T.join(".")]||!A)&&!t(O,T))g(T.join("."),M[G])}})}function o(O){let A,K=new Set;Object.keys(O).forEach(function(M){if(!K.has(M)){if(A=v(M,q.coercions),typeof A==="function")try{let G=V(M,A(O[M]));[].concat(q.aliases[M]||[],M).forEach((T)=>{K.add(T),O[T]=G})}catch(G){p=G}}})}function ED(O){return q.keys.forEach((A)=>{if(~A.indexOf("."))return;if(typeof O[A]>"u")O[A]=void 0}),O}function PD(O,A,K,M=!1){Object.keys(K).forEach(function(G){if(!t(O,G.split("."))){if(bD(O,G.split("."),K[G]),M)H[G]=!0;(A[G]||[]).forEach(function(T){if(t(O,T.split(".")))return;bD(O,T.split("."),K[G])})}})}function t(O,A){let K=O;if(!$["dot-notation"])A=[A.join(".")];A.slice(0,-1).forEach(function(G){K=K[G]||{}});let M=A[A.length-1];if(typeof K!=="object")return!1;else return M in K}function bD(O,A,K){let M=O;if(!$["dot-notation"])A=[A.join(".")];A.slice(0,-1).forEach(function(XD){if(XD=R1(XD),typeof M==="object"&&M[XD]===void 0)M[XD]={};if(typeof M[XD]!=="object"||Array.isArray(M[XD])){if(Array.isArray(M[XD]))M[XD].push({});else M[XD]=[M[XD],{}];M=M[XD][M[XD].length-1]}else M=M[XD]});let G=R1(A[A.length-1]),T=v(A.join("."),q.arrays),R=Array.isArray(K),x=$["duplicate-arguments-array"];if(!x&&v(G,q.nargs)){if(x=!0,!CD(M[G])&&q.nargs[G]===1||Array.isArray(M[G])&&M[G].length===q.nargs[G])M[G]=void 0}if(K===xF())M[G]=xF(M[G]);else if(Array.isArray(M[G]))if(x&&T&&R)M[G]=$["flatten-duplicate-arrays"]?M[G].concat(K):(Array.isArray(M[G][0])?M[G]:[M[G]]).concat([K]);else if(!x&&Boolean(T)===Boolean(R))M[G]=K;else M[G]=M[G].concat([K]);else if(M[G]===void 0&&T)M[G]=R?K:[K];else if(x&&!(M[G]===void 0||v(G,q.counts)||v(G,q.bools)))M[G]=[M[G],K];else M[G]=K}function H0(...O){O.forEach(function(A){Object.keys(A||{}).forEach(function(K){if(q.aliases[K])return;q.aliases[K]=[].concat(C[K]||[]),q.aliases[K].concat(K).forEach(function(M){if(/-/.test(M)&&$["camel-case-expansion"]){let G=cD(M);if(G!==K&&q.aliases[K].indexOf(G)===-1)q.aliases[K].push(G),Y[G]=!0}}),q.aliases[K].concat(K).forEach(function(M){if(M.length>1&&/[A-Z]/.test(M)&&$["camel-case-expansion"]){let G=v0(M,"-");if(G!==K&&q.aliases[K].indexOf(G)===-1)q.aliases[K].push(G),Y[G]=!0}}),q.aliases[K].forEach(function(M){q.aliases[M]=[K].concat(q.aliases[K].filter(function(G){return M!==G}))})})})}function v(O,A){let K=[].concat(q.aliases[O]||[],O),M=Object.keys(A),G=K.find((T)=>M.includes(T));return G?A[G]:!1}function Q0(O){let A=Object.keys(q);return[].concat(A.map((M)=>q[M])).some(function(M){return Array.isArray(M)?M.includes(O):M[O]})}function r2(O,...A){return[].concat(...A).some(function(M){let G=O.match(M);return G&&Q0(G[1])})}function f(O){if(O.match(P)||!O.match(/^-[^-]+/))return!1;let A=!0,K,M=O.slice(1).split("");for(let G=0;G<M.length;G++){if(K=O.slice(G+2),!Q0(M[G])){A=!1;break}if(M[G+1]&&M[G+1]==="="||K==="-"||/[A-Za-z]/.test(M[G])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(K)||M[G+1]&&M[G+1].match(/\W/))break}return A}function i(O){return $["unknown-options-as-args"]&&BD(O)}function BD(O){if(O=O.replace(/^-{3,}/,"--"),O.match(P))return!1;if(f(O))return!1;return!r2(O,/^-+([^=]+?)=[\s\S]*$/,c,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function m(O){if(!v(O,q.bools)&&!v(O,q.counts)&&`${O}`in X)return X[O];else return zD(e(O))}function zD(O){return{[qD.BOOLEAN]:!0,[qD.STRING]:"",[qD.NUMBER]:void 0,[qD.ARRAY]:[]}[O]}function e(O){let A=qD.BOOLEAN;if(v(O,q.strings))A=qD.STRING;else if(v(O,q.numbers))A=qD.NUMBER;else if(v(O,q.bools))A=qD.BOOLEAN;else if(v(O,q.arrays))A=qD.ARRAY;return A}function CD(O){return O===void 0}function KF(){Object.keys(q.counts).find((O)=>{if(v(O,q.arrays))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.array.",O)),!0;else if(v(O,q.nargs))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.narg.",O)),!0;return!1})}return{aliases:Object.assign({},q.aliases),argv:Object.assign(U,d),configuration:$,defaulted:Object.assign({},H),error:p,newAliases:Object.assign({},Y)}}}function r6(D){let F=[],u=Object.create(null),E=!0;Object.keys(D).forEach(function(B){F.push([].concat(D[B],B))});while(E){E=!1;for(let B=0;B<F.length;B++)for(let C=B+1;C<F.length;C++)if(F[B].filter(function(X){return F[C].indexOf(X)!==-1}).length){F[B]=F[B].concat(F[C]),F.splice(C,1),E=!0;break}}return F.forEach(function(B){B=B.filter(function($,X,Q){return Q.indexOf($)===X});let C=B.pop();if(C!==void 0&&typeof C==="string")u[C]=B}),u}function xF(D){return D!==void 0?D+1:1}function R1(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 u8}from"fs";import{createRequire as U1}from"node:module";var SF,vF,fF,j1=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,L1=(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(L1){if(Number(L1.match(/^([^.]+)/)[1])<j1)throw Error(`yargs parser supports a minimum Node.js version of ${j1}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var E8=process?process.env:{},N1=U1?U1(import.meta.url):void 0,I1=new PF({cwd:process.cwd,env:()=>{return E8},format:e6,normalize:D8,resolve:F8,require:(D)=>{if(typeof N1<"u")return N1(D);else if(D.match(/\.json$/))return JSON.parse(u8(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),_0=function(F,u){return I1.parse(F.slice(),u).argv};_0.detailed=function(D,F){return I1.parse(D.slice(),F)};_0.camelCase=cD;_0.decamelize=v0;_0.looksLikeNumber=f0;var kF=_0;import{basename as G8,dirname as A8,extname as H8,relative as q8,resolve as k1,join as _8}from"path";function T1(){if(B8())return 0;return 1}function B8(){return C8()&&!process.defaultApp}function C8(){return!!process.versions.electron}function yF(D){return D.slice(T1()+1)}function w1(){return process.argv[T1()]}import{readFileSync as $8,statSync as X8,writeFile as Z8}from"fs";import{format as Q8}from"util";import{resolve as z8}from"path";var b1={fs:{readFileSync:$8,writeFile:Z8},format:Q8,resolve:z8,exists:(D)=>{try{return X8(D).isFile()}catch(F){return!1}}};var UD;class x1{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(),E=D.shift(),B=function(){};if(typeof D[D.length-1]==="function")B=D.pop();if(!this.cache[this.locale])this._readLocaleFile();let C=E===1?F:u;if(this.cache[this.locale][F])C=this.cache[this.locale][F][E===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:B});else B();let $=[C];if(~C.indexOf("%d"))$.push(E);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(E,B){let C=F[B+1];if(u+=E,typeof C<"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,E=F.locale,B=F.cb,C=this._resolveLocaleFile(u,E),$=JSON.stringify(this.cache[E],null,2);UD.fs.writeFile(C,$,"utf-8",function(X){if(D.writeQueue.shift(),D.writeQueue.length>0)D._processWriteQueue();B(X)})}_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 E=UD.resolve(D,"./",F.split("_")[0]+".json");if(this._fileExistsSync(E))u=E}return u}_fileExistsSync(D){return UD.exists(D)}}function P1(D,F){UD=F;let u=new x1(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 Y8=(D)=>{return P1(D,b1)},S1=Y8;var h1=x0(f1(),1);import{createRequire as M8}from"node:module";import{readFileSync as K8,readdirSync as V8}from"node:fs";var hF=y1(import.meta.url),R8=hF.substring(0,hF.lastIndexOf("node_modules")),U8=M8(import.meta.url),dF={assert:{notStrictEqual:O8,strictEqual:J8},cliui:wF,findUp:bF,getEnv:(D)=>{return process.env[D]},inspect:W8,getProcessArgvBin:w1,mainFilename:R8||process.cwd(),Parser:kF,path:{basename:G8,dirname:A8,extname:H8,relative:q8,resolve:k1,join:_8},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:K8,readdirSync:V8,require:U8,getCallerFile:()=>{let D=h1.default(3);return D.match(/^file:\/\//)?y1(D):D},stringWidth:RD,y18n:S1({directory:k1(hF,"../../../locales"),updateFiles:!1})};function OD(D,F,u,E){u.assert.notStrictEqual(D,F,E)}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+(?![^[]*]|[^<]*>)/),E=/\.*[\][<>]/g,B=u.shift();if(!B)throw Error(`No command found in: ${D}`);let C={cmd:B.replace(E,""),demanded:[],optional:[]};return u.forEach(($,X)=>{let Q=!1;if($=$.replace(/\s/g,""),/\.+[\]>]/.test($)&&X===u.length-1)Q=!0;if(/^\[/.test($))C.optional.push({cmd:$.replace(E,"").split("|"),variadic:Q});else C.demanded.push({cmd:$.replace(E,"").split("|"),variadic:Q})}),C}var j8=["first","second","third","fourth","fifth","sixth"];function N(D,F,u){function E(){return typeof D==="object"?[{demanded:[],optional:[]},D,F]:[SD(`cmd ${D}`),F,u]}try{let B=0,[C,$,X]=E(),Q=[].slice.call($);while(Q.length&&Q[Q.length-1]===void 0)Q.pop();let z=X||Q.length;if(z<C.demanded.length)throw new DD(`Not enough arguments provided. Expected ${C.demanded.length} but received ${Q.length}.`);let J=C.demanded.length+C.optional.length;if(z>J)throw new DD(`Too many arguments provided. Expected max ${J} but received ${z}.`);C.demanded.forEach((W)=>{let Y=Q.shift(),H=d1(Y);if(W.cmd.filter((q)=>q===H||q==="*").length===0)p1(H,W.cmd,B);B+=1}),C.optional.forEach((W)=>{if(Q.length===0)return;let Y=Q.shift(),H=d1(Y);if(W.cmd.filter((q)=>q===H||q==="*").length===0)p1(H,W.cmd,B);B+=1})}catch(B){console.warn(B.stack)}}function d1(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function p1(D,F,u){throw new DD(`Invalid ${j8[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,E=!1){if(N("<array|function> [boolean] [boolean] [boolean]",[D,F,u],arguments.length),Array.isArray(D)){for(let B=0;B<D.length;B++){if(typeof D[B]!=="function")throw Error("middleware must be a function");let C=D[B];C.applyBeforeValidation=F,C.global=u}Array.prototype.push.apply(this.globalMiddleware,D)}else if(typeof D==="function"){let B=D;B.applyBeforeValidation=F,B.global=u,B.mutates=E,this.globalMiddleware.push(D)}return this.yargs}addCoerceMiddleware(D,F){let u=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((E)=>{let B=[...u[F]||[],F];if(!E.option)return!0;else return!B.includes(E.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 g1(D){if(!D)return[];return D.map((F)=>{return F.applyBeforeValidation=!1,F})}function lD(D,F,u,E){return u.reduce((B,C)=>{if(C.applyBeforeValidation!==E)return B;if(C.mutates){if(C.applied)return B;C.applied=!0}if(s(B))return B.then(($)=>Promise.all([$,C($,F)])).then(([$,X])=>Object.assign($,X));else{let $=C(B,F);return s($)?$.then((X)=>Object.assign(B,X)):Object.assign(B,$)}},D)}function oD(D,F,u=(E)=>{throw E}){try{let E=L8(D)?D():D;return s(E)?E.then((B)=>F(B)):F(E)}catch(E){return u(E)}}function L8(D){return typeof D==="function"}var Y0=/(^\*)|(^\$0)/;class c1{constructor(D,F,u,E){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=E,this.usage=D,this.globalMiddleware=u,this.validation=F}addDirectory(D,F,u,E){E=E||{},this.requireCache.add(u);let B=this.shim.path.resolve(this.shim.path.dirname(u),D),C=this.shim.readdirSync(B,{recursive:E.recurse?!0:!1});if(!Array.isArray(E.extensions))E.extensions=["js"];let $=typeof E.visit==="function"?E.visit:(X)=>X;for(let X of C){let Q=X.toString();if(E.exclude){let J=!1;if(typeof E.exclude==="function")J=E.exclude(Q);else J=E.exclude.test(Q);if(J)continue}if(E.include){let J=!1;if(typeof E.include==="function")J=E.include(Q);else J=E.include.test(Q);if(!J)continue}let z=!1;for(let J of E.extensions)if(Q.endsWith(J))z=!0;if(z){let J=this.shim.path.join(B,Q),W=F(J),Y=Object.create(null,Object.getOwnPropertyDescriptors({...W}));if($(Y,J,Q)){if(this.requireCache.has(J))continue;else this.requireCache.add(J);if(!Y.command)Y.command=this.shim.path.basename(J,this.shim.path.extname(J));this.addHandler(Y)}}}}addHandler(D,F,u,E,B,C){let $=[],X=g1(B);if(E=E||(()=>{}),Array.isArray(D))if(N8(D))[D,...$]=D;else for(let Q of D)this.addHandler(Q);else if(T8(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(m1(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,J=[Q.cmd].concat($).filter((W)=>{if(Y0.test(W))return z=!0,!1;return!0});if(J.length===0&&z)J.push("$0");if(z)Q.cmd=J[0],$=J.slice(1),D=D.replace(Y0,Q.cmd);if($.forEach((W)=>{this.aliasMap[W]=Q.cmd}),F!==!1)this.usage.command(D,F,z,$,C);if(this.handlers[Q.cmd]={original:D,description:F,handler:E,builder:u||{},middlewares:X,deprecated:C,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,E,B,C){let $=this.handlers[D]||this.handlers[this.aliasMap[D]]||this.defaultCommand,X=F.getInternalMethods().getContext(),Q=X.commands.slice(),z=!D;if(D)X.commands.push(D),X.fullCommands.push($.original);let J=this.applyBuilderUpdateUsageAndParse(z,$,F,u.aliases,Q,E,B,C);return s(J)?J.then((W)=>this.applyMiddlewareAndGetResult(z,$,W.innerArgv,X,B,W.aliases,F)):this.applyMiddlewareAndGetResult(z,$,J.innerArgv,X,B,J.aliases,F)}applyBuilderUpdateUsageAndParse(D,F,u,E,B,C,$,X){let Q=F.builder,z=u;if(k0(Q)){u.getInternalMethods().getUsageInstance().freeze();let J=Q(u.getInternalMethods().reset(E),X);if(s(J))return J.then((W)=>{return z=o1(W)?W:u,this.parseAndUpdateUsage(D,F,z,B,C,$)})}else if(I8(Q))u.getInternalMethods().getUsageInstance().freeze(),z=u.getInternalMethods().reset(E),Object.keys(F.builder).forEach((J)=>{z.option(J,Q[J])});return this.parseAndUpdateUsage(D,F,z,B,C,$)}parseAndUpdateUsage(D,F,u,E,B,C){if(D)u.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(u))u.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(E,F),F.description);let $=u.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,B,C);return s($)?$.then((X)=>({aliases:u.parsed.aliases,innerArgv:X})):{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,E=D.filter((B)=>{return!Y0.test(B)});return E.push(u),`$0 ${E.join(" ")}`}handleValidationAndGetResult(D,F,u,E,B,C,$,X){if(!C.getInternalMethods().getHasOutput()){let Q=C.getInternalMethods().runValidation(B,X,C.parsed.error,D);u=oD(u,(z)=>{return Q(z),z})}if(F.handler&&!C.getInternalMethods().getHasOutput()){C.getInternalMethods().setHasOutput();let Q=!!C.getOptions().configuration["populate--"];if(C.getInternalMethods().postProcess(u,Q,!1,!1),u=lD(u,C,$,!1),u=oD(u,(z)=>{let J=F.handler(z);return s(J)?J.then(()=>z):z}),!D)C.getInternalMethods().getUsageInstance().cacheHelpMessage();if(s(u)&&!C.getInternalMethods().hasParseCallback())u.catch((z)=>{try{C.getInternalMethods().getUsageInstance().fail(null,z)}catch(J){}})}if(!D)E.commands.pop(),E.fullCommands.pop();return u}applyMiddlewareAndGetResult(D,F,u,E,B,C,$){let X={};if(B)return u;if(!$.getInternalMethods().getHasOutput())X=this.populatePositionals(F,u,E,$);let Q=this.globalMiddleware.getMiddleware().slice(0).concat(F.middlewares),z=lD(u,$,Q,!0);return s(z)?z.then((J)=>this.handleValidationAndGetResult(D,F,J,E,C,$,Q,X)):this.handleValidationAndGetResult(D,F,z,E,C,$,Q,X)}populatePositionals(D,F,u,E){F._=F._.slice(u.commands.length);let B=D.demanded.slice(0),C=D.optional.slice(0),$={};this.validation.positionalCount(B.length,F._.length);while(B.length){let X=B.shift();this.populatePositional(X,F,$)}while(C.length){let X=C.shift();this.populatePositional(X,F,$)}return F._=u.commands.concat(F._.map((X)=>""+X)),this.postProcessPositionals(F,$,this.cmdToParseOptions(D.original),E),$}populatePositional(D,F,u){let E=D.cmd[0];if(D.variadic)u[E]=F._.splice(0).map(String);else if(F._.length)u[E]=[String(F._.shift())]}cmdToParseOptions(D){let F={array:[],default:{},alias:{},demand:{}},u=SD(D);return u.demanded.forEach((E)=>{let[B,...C]=E.cmd;if(E.variadic)F.array.push(B),F.default[B]=[];F.alias[B]=C,F.demand[B]=!0}),u.optional.forEach((E)=>{let[B,...C]=E.cmd;if(E.variadic)F.array.push(B),F.default[B]=[];F.alias[B]=C}),F}postProcessPositionals(D,F,u,E){let B=Object.assign({},E.getOptions());B.default=Object.assign(u.default,B.default);for(let Q of Object.keys(u.alias))B.alias[Q]=(B.alias[Q]||[]).concat(u.alias[Q]);B.array=B.array.concat(u.array),B.config={};let C=[];if(Object.keys(F).forEach((Q)=>{F[Q].map((z)=>{if(B.configuration["unknown-options-as-args"])B.key[Q]=!0;C.push(`--${Q}`),C.push(z)})}),!C.length)return;let $=Object.assign({},B.configuration,{"populate--":!1}),X=this.shim.Parser.detailed(C,Object.assign({},B,{configuration:$}));if(X.error)E.getInternalMethods().getUsageInstance().fail(X.error.message,X.error);else{let Q=Object.keys(F);Object.keys(F).forEach((z)=>{Q.push(...X.aliases[z])}),Object.keys(X.argv).forEach((z)=>{if(Q.includes(z)){if(!F[z])F[z]=X.argv[z];if(!this.isInConfigs(E,z)&&!this.isDefaulted(E,z)&&Object.prototype.hasOwnProperty.call(D,z)&&Object.prototype.hasOwnProperty.call(X.argv,z)&&(Array.isArray(D[z])||Array.isArray(X.argv[z])))D[z]=[].concat(D[z],X.argv[z]);else D[z]=X.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((E)=>Object.prototype.hasOwnProperty.call(E,F))||u.some((E)=>Object.prototype.hasOwnProperty.call(E,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(k0(F))return F(D,!0);else if(!m1(F))Object.keys(F).forEach((u)=>{D.option(u,F[u])});return}extractDesc({describe:D,description:F,desc:u}){for(let E of[D,F,u]){if(typeof E==="string"||E===!1)return E;OD(E,!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 l1(D,F,u,E){return new c1(D,F,u,E)}function m1(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function N8(D){return D.every((F)=>typeof F==="string")}function k0(D){return typeof D==="function"}function I8(D){return typeof D==="object"}function T8(D){return typeof D==="object"&&!Array.isArray(D)}function vD(D={},F=()=>!0){let u={};return z0(D).forEach((E)=>{if(F(E,D[E]))u[E]=D[E]}),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 w8(D){return typeof D==="boolean"}function i1(D,F){let u=F.y18n.__,E={},B=[];E.failFn=function(V){B.push(V)};let C=null,$=null,X=!0;E.showHelpOnFail=function(V=!0,w){let[y,n]=typeof V==="string"?[!0,V]:[V,w];if(D.getInternalMethods().isGlobalContext())$=n;return C=n,X=y,E};let Q=!1;E.fail=function(V,w){let y=D.getInternalMethods().getLoggerInstance();if(B.length)for(let n=B.length-1;n>=0;--n){let uD=B[n];if(w8(uD)){if(w)throw w;else if(V)throw Error(V)}else uD(V,w,E)}else{if(D.getExitProcess())fD(!0);if(!Q){if(Q=!0,X)D.showHelp("error"),y.error();if(V||w)y.error(V||w);let n=C||$;if(n){if(V||w)y.error("");y.error(n)}}if(w=w||new DD(V),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,w);else throw w}};let z=[],J=!1;E.usage=(L,V)=>{if(L===null)return J=!0,z=[],E;return J=!1,z.push([L,V||""]),E},E.getUsage=()=>{return z},E.getUsageDisabled=()=>{return J},E.getPositionalGroupName=()=>{return u("Positionals:")};let W=[];E.example=(L,V)=>{W.push([L,V||""])};let Y=[];E.command=function(V,w,y,n,uD=!1){if(y)Y=Y.map((o)=>{return o[2]=!1,o});Y.push([V,w||"",y,n,uD])},E.getCommands=()=>Y;let H={};E.describe=function(V,w){if(Array.isArray(V))V.forEach((y)=>{E.describe(y,w)});else if(typeof V==="object")Object.keys(V).forEach((y)=>{E.describe(y,V[y])});else H[V]=w},E.getDescriptions=()=>H;let _=[];E.epilog=(L)=>{_.push(L)};let q=!1,P;E.wrap=(L)=>{q=!0,P=L},E.getWrap=()=>{if(F.getEnv("YARGS_DISABLE_WRAP"))return null;if(!q)P=l(),q=!0;return P};let c="__yargsString__:";E.deferY18nLookup=(L)=>c+L,E.help=function(){if(d)return d;QD();let V=D.customScriptName?D.$0:F.path.basename(D.$0),w=D.getDemandedOptions(),y=D.getDemandedCommands(),n=D.getDeprecatedOptions(),uD=D.getGroups(),o=D.getOptions(),ED=[];ED=ED.concat(Object.keys(H)),ED=ED.concat(Object.keys(w)),ED=ED.concat(Object.keys(y)),ED=ED.concat(Object.keys(o.default)),ED=ED.filter(j),ED=Object.keys(ED.reduce((f,i)=>{if(i!=="_")f[i]=!0;return f},{}));let PD=E.getWrap(),t=F.cliui({width:PD,wrap:!!PD});if(!J){if(z.length)z.forEach((f)=>{if(t.div({text:`${f[0].replace(/\$0/g,V)}`}),f[1])t.div({text:`${f[1]}`,padding:[1,0,0,0]})}),t.div();else if(Y.length){let f=null;if(y._)f=`${V} <${u("command")}>
26
26
  `;else f=`${V} [${u("command")}]
27
- `;t.div(`${f}`)}}if(Y.length>1||Y.length===1&&!Y[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)Y=Y.sort((m,zD)=>m[0].localeCompare(zD[0]));let BD=V?`${V} `:"";Y.forEach((m)=>{let zD=`${BD}${i}${m[0].replace(/^\$0 ?/,"")}`;t.span({text:zD,padding:[0,2,0,2],width:p(Y,PD,`${V}${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 bD=(Object.keys(o.alias)||[]).concat(Object.keys(D.parsed.newAliases)||[]);ED=ED.filter((f)=>!D.parsed.newAliases[f]&&bD.every((i)=>(o.alias[i]||[]).indexOf(f)===-1));let H0=u("Options:");if(!uD[H0])uD[H0]=[];U(ED,o.alias,uD,H0);let v=(f)=>/^--/.test(y0(f)),Q0=Object.keys(uD).filter((f)=>uD[f].length>0).map((f)=>{let i=uD[f].filter(j).map((BD)=>{if(bD.includes(BD))return BD;for(let m=0,zD;(zD=bD[m])!==void 0;m++)if((o.alias[zD]||[]).includes(BD))return zD;return BD});return{groupName:f,normalizedKeys:i}}).filter(({normalizedKeys:f})=>f.length>0).map(({groupName:f,normalizedKeys:i})=>{let BD=i.reduce((m,zD)=>{return m[zD]=[zD].concat(o.alias[zD]||[]).map((e)=>{if(f===E.getPositionalGroupName())return e;else return(/^[0-9]$/.test(e)?o.boolean.includes(zD)?"-":"--":e.length>1?"--":"-")+e}).sort((e,CD)=>v(e)===v(CD)?0:v(e)?1:-1).join(", "),m},{});return{groupName:f,normalizedKeys:i,switches:BD}});if(Q0.filter(({groupName:f})=>f!==E.getPositionalGroupName()).some(({normalizedKeys:f,switches:i})=>!f.every((BD)=>v(i[BD]))))Q0.filter(({groupName:f})=>f!==E.getPositionalGroupName()).forEach(({normalizedKeys:f,switches:i})=>{f.forEach((BD)=>{if(v(i[BD]))i[BD]=b8(i[BD],4)})});if(Q0.forEach(({groupName:f,normalizedKeys:i,switches:BD})=>{t.div(f),i.forEach((m)=>{let zD=BD[m],e=q[m]||"",CD=null;if(e.includes(c))e=u(e.substring(c.length));if(o.boolean.includes(m))CD=`[${u("boolean")}]`;if(o.count.includes(m))CD=`[${u("count")}]`;if(o.string.includes(m))CD=`[${u("string")}]`;if(o.normalize.includes(m))CD=`[${u("string")}]`;if(o.array.includes(m))CD=`[${u("array")}]`;if(o.number.includes(m))CD=`[${u("number")}]`;let KF=(K)=>typeof K==="string"?`[${u("deprecated: %s",K)}]`:`[${u("deprecated")}]`,O=[m in n?KF(n[m]):null,CD,m in w?`[${u("required")}]`:null,o.choices&&o.choices[m]?`[${u("choices:")} ${E.stringifiedValues(o.choices[m])}]`:null,S(o.default[m],o.defaultDescription[m])].filter(Boolean).join(" ");t.span({text:y0(zD),padding:[0,2,0,2+n1(zD)],width:p(BD,PD)+4},e);let A=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(O&&!A)t.div({text:O,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,V)}),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,V)).join(`
27
+ `;t.div(`${f}`)}}if(Y.length>1||Y.length===1&&!Y[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)Y=Y.sort((m,zD)=>m[0].localeCompare(zD[0]));let BD=V?`${V} `:"";Y.forEach((m)=>{let zD=`${BD}${i}${m[0].replace(/^\$0 ?/,"")}`;t.span({text:zD,padding:[0,2,0,2],width:p(Y,PD,`${V}${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 bD=(Object.keys(o.alias)||[]).concat(Object.keys(D.parsed.newAliases)||[]);ED=ED.filter((f)=>!D.parsed.newAliases[f]&&bD.every((i)=>(o.alias[i]||[]).indexOf(f)===-1));let H0=u("Options:");if(!uD[H0])uD[H0]=[];U(ED,o.alias,uD,H0);let v=(f)=>/^--/.test(y0(f)),Q0=Object.keys(uD).filter((f)=>uD[f].length>0).map((f)=>{let i=uD[f].filter(j).map((BD)=>{if(bD.includes(BD))return BD;for(let m=0,zD;(zD=bD[m])!==void 0;m++)if((o.alias[zD]||[]).includes(BD))return zD;return BD});return{groupName:f,normalizedKeys:i}}).filter(({normalizedKeys:f})=>f.length>0).map(({groupName:f,normalizedKeys:i})=>{let BD=i.reduce((m,zD)=>{return m[zD]=[zD].concat(o.alias[zD]||[]).map((e)=>{if(f===E.getPositionalGroupName())return e;else return(/^[0-9]$/.test(e)?o.boolean.includes(zD)?"-":"--":e.length>1?"--":"-")+e}).sort((e,CD)=>v(e)===v(CD)?0:v(e)?1:-1).join(", "),m},{});return{groupName:f,normalizedKeys:i,switches:BD}});if(Q0.filter(({groupName:f})=>f!==E.getPositionalGroupName()).some(({normalizedKeys:f,switches:i})=>!f.every((BD)=>v(i[BD]))))Q0.filter(({groupName:f})=>f!==E.getPositionalGroupName()).forEach(({normalizedKeys:f,switches:i})=>{f.forEach((BD)=>{if(v(i[BD]))i[BD]=b8(i[BD],4)})});if(Q0.forEach(({groupName:f,normalizedKeys:i,switches:BD})=>{t.div(f),i.forEach((m)=>{let zD=BD[m],e=H[m]||"",CD=null;if(e.includes(c))e=u(e.substring(c.length));if(o.boolean.includes(m))CD=`[${u("boolean")}]`;if(o.count.includes(m))CD=`[${u("count")}]`;if(o.string.includes(m))CD=`[${u("string")}]`;if(o.normalize.includes(m))CD=`[${u("string")}]`;if(o.array.includes(m))CD=`[${u("array")}]`;if(o.number.includes(m))CD=`[${u("number")}]`;let KF=(K)=>typeof K==="string"?`[${u("deprecated: %s",K)}]`:`[${u("deprecated")}]`,O=[m in n?KF(n[m]):null,CD,m in w?`[${u("required")}]`:null,o.choices&&o.choices[m]?`[${u("choices:")} ${E.stringifiedValues(o.choices[m])}]`:null,S(o.default[m],o.defaultDescription[m])].filter(Boolean).join(" ");t.span({text:y0(zD),padding:[0,2,0,2+n1(zD)],width:p(BD,PD)+4},e);let A=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(O&&!A)t.div({text:O,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,V)}),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,V)).join(`
28
28
  `);t.div(`${f}
29
- `)}return t.toString().replace(/\s*$/,"")};function p(L,V,w){let y=0;if(!Array.isArray(L))L=Object.values(L).map((n)=>[n]);if(L.forEach((n)=>{y=Math.max(F.stringWidth(w?`${w} ${y0(n[0])}`:y0(n[0]))+n1(n[0]),y)}),V)y=Math.min(y,parseInt((V*0.5).toString(),10));return y}function QD(){let L=D.getDemandedOptions(),V=D.getOptions();(Object.keys(V.alias)||[]).forEach((w)=>{V.alias[w].forEach((y)=>{if(q[y])E.describe(w,q[y]);if(y in L)D.demandOption(w,L[y]);if(V.boolean.includes(y))D.boolean(w);if(V.count.includes(y))D.count(w);if(V.string.includes(y))D.string(w);if(V.normalize.includes(y))D.normalize(w);if(V.array.includes(y))D.array(w);if(V.number.includes(y))D.number(w)})})}let d;E.cacheHelpMessage=function(){d=this.help()},E.clearCachedHelpMessage=function(){d=void 0},E.hasCachedHelpMessage=function(){return!!d};function U(L,V,w,y){let n=[],uD=null;return Object.keys(w).forEach((o)=>{n=n.concat(w[o])}),L.forEach((o)=>{if(uD=[o].concat(V[o]),!uD.some((ED)=>n.indexOf(ED)!==-1))w[y].push(o)}),n}function j(L){return D.getOptions().hiddenOptions.indexOf(L)<0||D.parsed.argv[D.getOptions().showHiddenOpt]}E.showHelp=(L)=>{let V=D.getInternalMethods().getLoggerInstance();if(!L)L="error";(typeof L==="function"?L:V[L])(E.help())},E.functionDescription=(L)=>{return["(",L.name?F.Parser.decamelize(L.name,"-"):u("generated-value"),")"].join("")},E.stringifiedValues=function(V,w){let y="",n=w||", ",uD=[].concat(V);if(!V||!uD.length)return y;return uD.forEach((o)=>{if(y.length)y+=n;y+=JSON.stringify(o)}),y};function S(L,V){let w=`[${u("default:")} `;if(L===void 0&&!V)return null;if(V)w+=V;else switch(typeof L){case"string":w+=`"${L}"`;break;case"object":w+=JSON.stringify(L);break;default:w+=L}return`${w}]`}function l(){if(F.process.stdColumns)return Math.min(80,F.process.stdColumns);else return 80}let g=null;E.version=(L)=>{g=L},E.showVersion=(L)=>{let V=D.getInternalMethods().getLoggerInstance();if(!L)L="error";(typeof L==="function"?L:V[L])(g)},E.reset=function(V){return C=null,Q=!1,z=[],J=!1,_=[],W=[],Y=[],q=vD(q,(w)=>!V[w]),E};let ND=[];return E.freeze=function(){ND.push({failMessage:C,failureOutput:Q,usages:z,usageDisabled:J,epilogs:_,examples:W,commands:Y,descriptions:q})},E.unfreeze=function(V=!1){let w=ND.pop();if(!w)return;if(V)q={...w.descriptions,...q},Y=[...w.commands,...Y],z=[...w.usages,...z],W=[...w.examples,...W],_=[...w.epilogs,..._];else({failMessage:C,failureOutput:Q,usages:z,usageDisabled:J,epilogs:_,examples:W,commands:Y,descriptions:q}=w)},E}function mF(D){return typeof D==="object"}function b8(D,F){return mF(D)?{text:D.text,indentation:D.indentation+F}:{text:D,indentation:F}}function n1(D){return mF(D)?D.indentation:0}function y0(D){return mF(D)?D.text:D}var t1=`###-begin-{{app_name}}-completions-###
29
+ `)}return t.toString().replace(/\s*$/,"")};function p(L,V,w){let y=0;if(!Array.isArray(L))L=Object.values(L).map((n)=>[n]);if(L.forEach((n)=>{y=Math.max(F.stringWidth(w?`${w} ${y0(n[0])}`:y0(n[0]))+n1(n[0]),y)}),V)y=Math.min(y,parseInt((V*0.5).toString(),10));return y}function QD(){let L=D.getDemandedOptions(),V=D.getOptions();(Object.keys(V.alias)||[]).forEach((w)=>{V.alias[w].forEach((y)=>{if(H[y])E.describe(w,H[y]);if(y in L)D.demandOption(w,L[y]);if(V.boolean.includes(y))D.boolean(w);if(V.count.includes(y))D.count(w);if(V.string.includes(y))D.string(w);if(V.normalize.includes(y))D.normalize(w);if(V.array.includes(y))D.array(w);if(V.number.includes(y))D.number(w)})})}let d;E.cacheHelpMessage=function(){d=this.help()},E.clearCachedHelpMessage=function(){d=void 0},E.hasCachedHelpMessage=function(){return!!d};function U(L,V,w,y){let n=[],uD=null;return Object.keys(w).forEach((o)=>{n=n.concat(w[o])}),L.forEach((o)=>{if(uD=[o].concat(V[o]),!uD.some((ED)=>n.indexOf(ED)!==-1))w[y].push(o)}),n}function j(L){return D.getOptions().hiddenOptions.indexOf(L)<0||D.parsed.argv[D.getOptions().showHiddenOpt]}E.showHelp=(L)=>{let V=D.getInternalMethods().getLoggerInstance();if(!L)L="error";(typeof L==="function"?L:V[L])(E.help())},E.functionDescription=(L)=>{return["(",L.name?F.Parser.decamelize(L.name,"-"):u("generated-value"),")"].join("")},E.stringifiedValues=function(V,w){let y="",n=w||", ",uD=[].concat(V);if(!V||!uD.length)return y;return uD.forEach((o)=>{if(y.length)y+=n;y+=JSON.stringify(o)}),y};function S(L,V){let w=`[${u("default:")} `;if(L===void 0&&!V)return null;if(V)w+=V;else switch(typeof L){case"string":w+=`"${L}"`;break;case"object":w+=JSON.stringify(L);break;default:w+=L}return`${w}]`}function l(){if(F.process.stdColumns)return Math.min(80,F.process.stdColumns);else return 80}let g=null;E.version=(L)=>{g=L},E.showVersion=(L)=>{let V=D.getInternalMethods().getLoggerInstance();if(!L)L="error";(typeof L==="function"?L:V[L])(g)},E.reset=function(V){return C=null,Q=!1,z=[],J=!1,_=[],W=[],Y=[],H=vD(H,(w)=>!V[w]),E};let ND=[];return E.freeze=function(){ND.push({failMessage:C,failureOutput:Q,usages:z,usageDisabled:J,epilogs:_,examples:W,commands:Y,descriptions:H})},E.unfreeze=function(V=!1){let w=ND.pop();if(!w)return;if(V)H={...w.descriptions,...H},Y=[...w.commands,...Y],z=[...w.usages,...z],W=[...w.examples,...W],_=[...w.epilogs,..._];else({failMessage:C,failureOutput:Q,usages:z,usageDisabled:J,epilogs:_,examples:W,commands:Y,descriptions:H}=w)},E}function mF(D){return typeof D==="object"}function b8(D,F){return mF(D)?{text:D.text,indentation:D.indentation+F}:{text:D,indentation:F}}function n1(D){return mF(D)?D.indentation:0}function y0(D){return mF(D)?D.text:D}var t1=`###-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 r1{constructor(D,F,u,E){var B,C,$;this.yargs=D,this.usage=F,this.command=u,this.shim=E,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=($=((B=this.shim.getEnv("SHELL"))===null||B===void 0?void 0:B.includes("zsh"))||((C=this.shim.getEnv("ZSH_NAME"))===null||C===void 0?void 0:C.includes("zsh")))!==null&&$!==void 0?$:!1}defaultCompletion(D,F,u,E){let B=this.command.getCommandHandlers();for(let $=0,X=D.length;$<X;++$)if(B[D[$]]&&B[D[$]].builder){let Q=B[D[$]].builder;if(k0(Q)){this.indexAfterLastReset=$+1;let z=this.yargs.getInternalMethods().reset();return Q(z,!0),z.argv}}let C=[];this.commandCompletions(C,D,u),this.optionCompletions(C,D,F,u),this.choicesFromOptionsCompletions(C,D,F,u),this.choicesFromPositionalsCompletions(C,D,F,u),E(null,C)}commandCompletions(D,F,u){let E=this.yargs.getInternalMethods().getContext().commands;if(!u.match(/^-/)&&E[E.length-1]!==u&&!this.previousArgHasChoices(F))this.usage.getCommands().forEach((B)=>{let C=SD(B[0]).cmd;if(F.indexOf(C)===-1)if(!this.zshShell)D.push(C);else{let $=B[1]||"";D.push(C.replace(/:/g,"\\:")+":"+$)}})}optionCompletions(D,F,u,E){if((E.match(/^-/)||E===""&&D.length===0)&&!this.previousArgHasChoices(F)){let B=this.yargs.getOptions(),C=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(B.key).forEach(($)=>{let X=!!B.configuration["boolean-negation"]&&B.boolean.includes($);if(!C.includes($)&&!B.hiddenOptions.includes($)&&!this.argsContainKey(F,$,X))this.completeOptionKey($,D,E,X&&!!B.default[$])})}}choicesFromOptionsCompletions(D,F,u,E){if(this.previousArgHasChoices(F)){let B=this.getPreviousArgChoices(F);if(B&&B.length>0)D.push(...B.map((C)=>C.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(D,F,u,E){if(E===""&&D.length>0&&this.previousArgHasChoices(F))return;let B=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],C=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),$=B[u._.length-C-1];if(!$)return;let X=this.yargs.getOptions().choices[$]||[];for(let Q of X)if(Q.startsWith(E))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 E=F.replace(/^-+/,""),B=this.yargs.getOptions(),C=[E,...this.yargs.getAliases()[E]||[]],$;for(let X of C)if(Object.prototype.hasOwnProperty.call(B.key,X)&&Array.isArray(B.choices[X])){$=B.choices[X];break}if($)return $.filter((X)=>!u||X.startsWith(u))}previousArgHasChoices(D){let F=this.getPreviousArgChoices(D);return F!==void 0&&F.length>0}argsContainKey(D,F,u){let E=(B)=>D.indexOf((/^[^0-9]$/.test(B)?"-":"--")+B)!==-1;if(E(F))return!0;if(u&&E(`no-${F}`))return!0;if(this.aliases){for(let B of this.aliases[F])if(E(B))return!0}return!1}completeOptionKey(D,F,u,E){var B,C,$,X;let Q=D;if(this.zshShell){let Y=this.usage.getDescriptions(),q=(C=(B=this===null||this===void 0?void 0:this.aliases)===null||B===void 0?void 0:B[D])===null||C===void 0?void 0:C.find((P)=>{let c=Y[P];return typeof c==="string"&&c.length>0}),_=q?Y[q]:void 0,H=(X=($=Y[D])!==null&&$!==void 0?$:_)!==null&&X!==void 0?X:"";Q=`${D.replace(/:/g,"\\:")}:${H.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let z=(Y)=>/^--/.test(Y),J=(Y)=>/^[^0-9]$/.test(Y),W=!z(u)&&J(D)?"-":"--";if(F.push(W+Q),E)F.push(W+"no-"+Q)}customCompletion(D,F,u,E){if(OD(this.customCompletionFunction,null,this.shim),P8(this.customCompletionFunction)){let B=this.customCompletionFunction(u,F);if(s(B))return B.then((C)=>{this.shim.process.nextTick(()=>{E(null,C)})}).catch((C)=>{this.shim.process.nextTick(()=>{E(C,void 0)})});return E(null,B)}else if(S8(this.customCompletionFunction))return this.customCompletionFunction(u,F,(B=E)=>this.defaultCompletion(D,F,u,B),(B)=>{E(null,B)});else return this.customCompletionFunction(u,F,(B)=>{E(null,B)})}getCompletion(D,F){let u=D.length?D[D.length-1]:"",E=this.yargs.parse(D,!0),B=this.customCompletionFunction?(C)=>this.customCompletion(D,C,u,F):(C)=>this.defaultCompletion(D,C,u,F);return s(E)?E.then(B):B(E)}generateCompletionScript(D,F){let u=this.zshShell?s1:t1,E=this.shim.path.basename(D);if(D.match(/\.js$/))D=`./${D}`;return u=u.replace(/{{app_name}}/g,E),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 a1(D,F,u,E){return new r1(D,F,u,E)}function P8(D){return D.length<3}function S8(D){return D.length>3}function e1(D,F){if(D.length===0)return F.length;if(F.length===0)return D.length;let u=[],E;for(E=0;E<=F.length;E++)u[E]=[E];let B;for(B=0;B<=D.length;B++)u[0][B]=B;for(E=1;E<=F.length;E++)for(B=1;B<=D.length;B++)if(F.charAt(E-1)===D.charAt(B-1))u[E][B]=u[E-1][B-1];else if(E>1&&B>1&&F.charAt(E-2)===D.charAt(B-1)&&F.charAt(E-1)===D.charAt(B-2))u[E][B]=u[E-2][B-2]+1;else u[E][B]=Math.min(u[E-1][B-1]+1,Math.min(u[E][B-1]+1,u[E-1][B]+1));return u[F.length][D.length]}var D3=["$0","--","_"];function F3(D,F,u){let E=u.y18n.__,B=u.y18n.__n,C={};C.nonOptionCount=function(W){let Y=D.getDemandedCommands(),_=W._.length+(W["--"]?W["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(Y._&&(_<Y._.min||_>Y._.max)){if(_<Y._.min)if(Y._.minMsg!==void 0)F.fail(Y._.minMsg?Y._.minMsg.replace(/\$0/g,_.toString()).replace(/\$1/,Y._.min.toString()):null);else F.fail(B("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",_,_.toString(),Y._.min.toString()));else if(_>Y._.max)if(Y._.maxMsg!==void 0)F.fail(Y._.maxMsg?Y._.maxMsg.replace(/\$0/g,_.toString()).replace(/\$1/,Y._.max.toString()):null);else F.fail(B("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",_,_.toString(),Y._.max.toString()))}},C.positionalCount=function(W,Y){if(Y<W)F.fail(B("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",Y,Y+"",W+""))},C.requiredArguments=function(W,Y){let q=null;for(let _ of Object.keys(Y))if(!Object.prototype.hasOwnProperty.call(W,_)||typeof W[_]>"u")q=q||{},q[_]=Y[_];if(q){let _=[];for(let P of Object.keys(q)){let c=q[P];if(c&&_.indexOf(c)<0)_.push(c)}let H=_.length?`
85
+ `;class r1{constructor(D,F,u,E){var B,C,$;this.yargs=D,this.usage=F,this.command=u,this.shim=E,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=($=((B=this.shim.getEnv("SHELL"))===null||B===void 0?void 0:B.includes("zsh"))||((C=this.shim.getEnv("ZSH_NAME"))===null||C===void 0?void 0:C.includes("zsh")))!==null&&$!==void 0?$:!1}defaultCompletion(D,F,u,E){let B=this.command.getCommandHandlers();for(let $=0,X=D.length;$<X;++$)if(B[D[$]]&&B[D[$]].builder){let Q=B[D[$]].builder;if(k0(Q)){this.indexAfterLastReset=$+1;let z=this.yargs.getInternalMethods().reset();return Q(z,!0),z.argv}}let C=[];this.commandCompletions(C,D,u),this.optionCompletions(C,D,F,u),this.choicesFromOptionsCompletions(C,D,F,u),this.choicesFromPositionalsCompletions(C,D,F,u),E(null,C)}commandCompletions(D,F,u){let E=this.yargs.getInternalMethods().getContext().commands;if(!u.match(/^-/)&&E[E.length-1]!==u&&!this.previousArgHasChoices(F))this.usage.getCommands().forEach((B)=>{let C=SD(B[0]).cmd;if(F.indexOf(C)===-1)if(!this.zshShell)D.push(C);else{let $=B[1]||"";D.push(C.replace(/:/g,"\\:")+":"+$)}})}optionCompletions(D,F,u,E){if((E.match(/^-/)||E===""&&D.length===0)&&!this.previousArgHasChoices(F)){let B=this.yargs.getOptions(),C=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(B.key).forEach(($)=>{let X=!!B.configuration["boolean-negation"]&&B.boolean.includes($);if(!C.includes($)&&!B.hiddenOptions.includes($)&&!this.argsContainKey(F,$,X))this.completeOptionKey($,D,E,X&&!!B.default[$])})}}choicesFromOptionsCompletions(D,F,u,E){if(this.previousArgHasChoices(F)){let B=this.getPreviousArgChoices(F);if(B&&B.length>0)D.push(...B.map((C)=>C.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(D,F,u,E){if(E===""&&D.length>0&&this.previousArgHasChoices(F))return;let B=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],C=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),$=B[u._.length-C-1];if(!$)return;let X=this.yargs.getOptions().choices[$]||[];for(let Q of X)if(Q.startsWith(E))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 E=F.replace(/^-+/,""),B=this.yargs.getOptions(),C=[E,...this.yargs.getAliases()[E]||[]],$;for(let X of C)if(Object.prototype.hasOwnProperty.call(B.key,X)&&Array.isArray(B.choices[X])){$=B.choices[X];break}if($)return $.filter((X)=>!u||X.startsWith(u))}previousArgHasChoices(D){let F=this.getPreviousArgChoices(D);return F!==void 0&&F.length>0}argsContainKey(D,F,u){let E=(B)=>D.indexOf((/^[^0-9]$/.test(B)?"-":"--")+B)!==-1;if(E(F))return!0;if(u&&E(`no-${F}`))return!0;if(this.aliases){for(let B of this.aliases[F])if(E(B))return!0}return!1}completeOptionKey(D,F,u,E){var B,C,$,X;let Q=D;if(this.zshShell){let Y=this.usage.getDescriptions(),H=(C=(B=this===null||this===void 0?void 0:this.aliases)===null||B===void 0?void 0:B[D])===null||C===void 0?void 0:C.find((P)=>{let c=Y[P];return typeof c==="string"&&c.length>0}),_=H?Y[H]:void 0,q=(X=($=Y[D])!==null&&$!==void 0?$:_)!==null&&X!==void 0?X:"";Q=`${D.replace(/:/g,"\\:")}:${q.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let z=(Y)=>/^--/.test(Y),J=(Y)=>/^[^0-9]$/.test(Y),W=!z(u)&&J(D)?"-":"--";if(F.push(W+Q),E)F.push(W+"no-"+Q)}customCompletion(D,F,u,E){if(OD(this.customCompletionFunction,null,this.shim),P8(this.customCompletionFunction)){let B=this.customCompletionFunction(u,F);if(s(B))return B.then((C)=>{this.shim.process.nextTick(()=>{E(null,C)})}).catch((C)=>{this.shim.process.nextTick(()=>{E(C,void 0)})});return E(null,B)}else if(S8(this.customCompletionFunction))return this.customCompletionFunction(u,F,(B=E)=>this.defaultCompletion(D,F,u,B),(B)=>{E(null,B)});else return this.customCompletionFunction(u,F,(B)=>{E(null,B)})}getCompletion(D,F){let u=D.length?D[D.length-1]:"",E=this.yargs.parse(D,!0),B=this.customCompletionFunction?(C)=>this.customCompletion(D,C,u,F):(C)=>this.defaultCompletion(D,C,u,F);return s(E)?E.then(B):B(E)}generateCompletionScript(D,F){let u=this.zshShell?s1:t1,E=this.shim.path.basename(D);if(D.match(/\.js$/))D=`./${D}`;return u=u.replace(/{{app_name}}/g,E),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 a1(D,F,u,E){return new r1(D,F,u,E)}function P8(D){return D.length<3}function S8(D){return D.length>3}function e1(D,F){if(D.length===0)return F.length;if(F.length===0)return D.length;let u=[],E;for(E=0;E<=F.length;E++)u[E]=[E];let B;for(B=0;B<=D.length;B++)u[0][B]=B;for(E=1;E<=F.length;E++)for(B=1;B<=D.length;B++)if(F.charAt(E-1)===D.charAt(B-1))u[E][B]=u[E-1][B-1];else if(E>1&&B>1&&F.charAt(E-2)===D.charAt(B-1)&&F.charAt(E-1)===D.charAt(B-2))u[E][B]=u[E-2][B-2]+1;else u[E][B]=Math.min(u[E-1][B-1]+1,Math.min(u[E][B-1]+1,u[E-1][B]+1));return u[F.length][D.length]}var D3=["$0","--","_"];function F3(D,F,u){let E=u.y18n.__,B=u.y18n.__n,C={};C.nonOptionCount=function(W){let Y=D.getDemandedCommands(),_=W._.length+(W["--"]?W["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(Y._&&(_<Y._.min||_>Y._.max)){if(_<Y._.min)if(Y._.minMsg!==void 0)F.fail(Y._.minMsg?Y._.minMsg.replace(/\$0/g,_.toString()).replace(/\$1/,Y._.min.toString()):null);else F.fail(B("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",_,_.toString(),Y._.min.toString()));else if(_>Y._.max)if(Y._.maxMsg!==void 0)F.fail(Y._.maxMsg?Y._.maxMsg.replace(/\$0/g,_.toString()).replace(/\$1/,Y._.max.toString()):null);else F.fail(B("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",_,_.toString(),Y._.max.toString()))}},C.positionalCount=function(W,Y){if(Y<W)F.fail(B("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",Y,Y+"",W+""))},C.requiredArguments=function(W,Y){let H=null;for(let _ of Object.keys(Y))if(!Object.prototype.hasOwnProperty.call(W,_)||typeof W[_]>"u")H=H||{},H[_]=Y[_];if(H){let _=[];for(let P of Object.keys(H)){let c=H[P];if(c&&_.indexOf(c)<0)_.push(c)}let q=_.length?`
86
86
  ${_.join(`
87
- `)}`:"";F.fail(B("Missing required argument: %s","Missing required arguments: %s",Object.keys(q).length,Object.keys(q).join(", ")+H))}},C.unknownArguments=function(W,Y,q,_,H=!0){var P;let c=D.getInternalMethods().getCommandInstance().getCommands(),p=[],QD=D.getInternalMethods().getContext();if(Object.keys(W).forEach((d)=>{if(!D3.includes(d)&&!Object.prototype.hasOwnProperty.call(q,d)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),d)&&!C.isValidAndSomeAliasIsNotNew(d,Y))p.push(d)}),H&&(QD.commands.length>0||c.length>0||_))W._.slice(QD.commands.length).forEach((d)=>{if(!c.includes(""+d))p.push(""+d)});if(H){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(B("Unknown argument: %s","Unknown arguments: %s",p.length,p.map((d)=>d.trim()?d:`"${d}"`).join(", ")))},C.unknownCommands=function(W){let Y=D.getInternalMethods().getCommandInstance().getCommands(),q=[],_=D.getInternalMethods().getContext();if(_.commands.length>0||Y.length>0)W._.slice(_.commands.length).forEach((H)=>{if(!Y.includes(""+H))q.push(""+H)});if(q.length>0)return F.fail(B("Unknown command: %s","Unknown commands: %s",q.length,q.join(", "))),!0;else return!1},C.isValidAndSomeAliasIsNotNew=function(W,Y){if(!Object.prototype.hasOwnProperty.call(Y,W))return!1;let q=D.parsed.newAliases;return[W,...Y[W]].some((_)=>!Object.prototype.hasOwnProperty.call(q,_)||!q[W])},C.limitedChoices=function(W){let Y=D.getOptions(),q={};if(!Object.keys(Y.choices).length)return;Object.keys(W).forEach((P)=>{if(D3.indexOf(P)===-1&&Object.prototype.hasOwnProperty.call(Y.choices,P))[].concat(W[P]).forEach((c)=>{if(Y.choices[P].indexOf(c)===-1&&c!==void 0)q[P]=(q[P]||[]).concat(c)})});let _=Object.keys(q);if(!_.length)return;let H=E("Invalid values:");_.forEach((P)=>{H+=`
88
- ${E("Argument: %s, Given: %s, Choices: %s",P,F.stringifiedValues(q[P]),F.stringifiedValues(Y.choices[P]))}`}),F.fail(H)};let $={};C.implies=function(W,Y){if(N("<string|object> [array|number|string]",[W,Y],arguments.length),typeof W==="object")Object.keys(W).forEach((q)=>{C.implies(q,W[q])});else{if(D.global(W),!$[W])$[W]=[];if(Array.isArray(Y))Y.forEach((q)=>C.implies(W,q));else OD(Y,void 0,u),$[W].push(Y)}},C.getImplied=function(){return $};function X(J,W){let Y=Number(W);if(W=isNaN(Y)?W:Y,typeof W==="number")W=J._.length>=W;else if(W.match(/^--no-.+/))W=W.match(/^--no-(.+)/)[1],W=!Object.prototype.hasOwnProperty.call(J,W);else W=Object.prototype.hasOwnProperty.call(J,W);return W}C.implications=function(W){let Y=[];if(Object.keys($).forEach((q)=>{let _=q;($[q]||[]).forEach((H)=>{let P=_,c=H;if(P=X(W,P),H=X(W,H),P&&!H)Y.push(` ${_} -> ${c}`)})}),Y.length){let q=`${E("Implications failed:")}
89
- `;Y.forEach((_)=>{q+=_}),F.fail(q)}};let Q={};C.conflicts=function(W,Y){if(N("<string|object> [array|string]",[W,Y],arguments.length),typeof W==="object")Object.keys(W).forEach((q)=>{C.conflicts(q,W[q])});else{if(D.global(W),!Q[W])Q[W]=[];if(Array.isArray(Y))Y.forEach((q)=>C.conflicts(W,q));else Q[W].push(Y)}},C.getConflicting=()=>Q,C.conflicting=function(W){if(Object.keys(W).forEach((Y)=>{if(Q[Y])Q[Y].forEach((q)=>{if(q&&W[Y]!==void 0&&W[q]!==void 0)F.fail(E("Arguments %s and %s are mutually exclusive",Y,q))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Q).forEach((Y)=>{Q[Y].forEach((q)=>{if(q&&W[u.Parser.camelCase(Y)]!==void 0&&W[u.Parser.camelCase(q)]!==void 0)F.fail(E("Arguments %s and %s are mutually exclusive",Y,q))})})},C.recommendCommands=function(W,Y){Y=Y.sort((P,c)=>c.length-P.length);let _=null,H=1/0;for(let P=0,c;(c=Y[P])!==void 0;P++){let p=e1(W,c);if(p<=3&&p<H)H=p,_=c}if(_)F.fail(E("Did you mean %s?",_))},C.reset=function(W){return $=vD($,(Y)=>!W[Y]),Q=vD(Q,(Y)=>!W[Y]),C};let z=[];return C.freeze=function(){z.push({implied:$,conflicting:Q})},C.unfreeze=function(){let W=z.pop();OD(W,void 0,u),{implied:$,conflicting:Q}=W},C}var cF=[],M0;function K0(D,F,u,E){M0=E;let B={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return B;let C=/\.json|\..*rc$/.test(D.extends),$=null;if(!C)try{$=import.meta.resolve(D.extends)}catch(X){return D}else $=f8(F,D.extends);v8($),cF.push($),B=C?JSON.parse(M0.readFileSync($,"utf8")):E.require(D.extends),delete D.extends,B=K0(B,M0.path.dirname($),u,M0)}return cF=[],u?u3(B,D):Object.assign({},B,D)}function v8(D){if(cF.indexOf(D)>-1)throw new DD(`Circular extended configurations: '${D}'.`)}function f8(D,F){return M0.path.resolve(D,F)}function u3(D,F){let u={};function E(B){return B&&typeof B==="object"&&!Array.isArray(B)}Object.assign(u,D);for(let B of Object.keys(F))if(E(F[B])&&E(u[B]))u[B]=u3(D[B],F[B]);else u[B]=F[B];return u}var I=function(D,F,u,E,B){if(E==="m")throw TypeError("Private method is not writable");if(E==="a"&&!B)throw TypeError("Private accessor was defined without a setter");if(typeof F==="function"?D!==F||!B:!F.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?B.call(D,u):B?B.value=u:F.set(D,u),u},Z=function(D,F,u,E){if(u==="a"&&!E)throw TypeError("Private accessor was defined without a getter");if(typeof F==="function"?D!==F||!E:!F.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return u==="m"?E:u==="a"?E.call(D):E?E.value:F.get(D)},FD,nD,V0,JD,GD,h0,kD,iD,d0,_D,p0,MD,ID,AD,KD,g0,tD,ZD,b,m0,c0,HD,sD,O0,rD,yD,l0,k,aD,eD,D0,h,o0,TD,a;function V3(D){return(F=[],u=D.process.cwd(),E)=>{let B=new R3(F,u,E,D);return Object.defineProperty(B,"argv",{get:()=>{return B.parse()},enumerable:!0}),B.help(),B.version(),B}}var E3=Symbol("copyDoubleDash"),B3=Symbol("copyDoubleDash"),lF=Symbol("deleteFromParserHintObject"),C3=Symbol("emitWarning"),$3=Symbol("freeze"),X3=Symbol("getDollarZero"),F0=Symbol("getParserConfiguration"),Z3=Symbol("getUsageConfiguration"),oF=Symbol("guessLocale"),Q3=Symbol("guessVersion"),z3=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"),Y3=Symbol("validateAsync"),O3=Symbol("getCommandInstance"),J3=Symbol("getContext"),W3=Symbol("getHasOutput"),G3=Symbol("getLoggerInstance"),A3=Symbol("getParseContext"),H3=Symbol("getUsageInstance"),q3=Symbol("getValidationInstance"),n0=Symbol("hasParseCallback"),_3=Symbol("isGlobalContext"),u0=Symbol("postProcess"),M3=Symbol("rebase"),eF=Symbol("reset"),R0=Symbol("runYargsParserAndExecuteCommands"),D2=Symbol("runValidation"),K3=Symbol("setHasOutput"),E0=Symbol("kTrackManuallySetKeys"),k8="en_US";class R3{constructor(D=[],F,u,E){this.customScriptName=!1,this.parsed=!1,FD.set(this,void 0),nD.set(this,void 0),V0.set(this,{commands:[],fullCommands:[]}),JD.set(this,null),GD.set(this,null),h0.set(this,"show-hidden"),kD.set(this,null),iD.set(this,!0),d0.set(this,{}),_D.set(this,!0),p0.set(this,[]),MD.set(this,void 0),ID.set(this,{}),AD.set(this,!1),KD.set(this,null),g0.set(this,!0),tD.set(this,void 0),ZD.set(this,""),b.set(this,void 0),m0.set(this,void 0),c0.set(this,{}),HD.set(this,null),sD.set(this,null),O0.set(this,{}),rD.set(this,{}),yD.set(this,void 0),l0.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),o0.set(this,{}),TD.set(this,null),a.set(this,void 0),I(this,k,E,"f"),I(this,yD,D,"f"),I(this,nD,F,"f"),I(this,m0,u,"f"),I(this,MD,new gF(this),"f"),this.$0=this[X3](),this[eF](),I(this,FD,Z(this,FD,"f"),"f"),I(this,h,Z(this,h,"f"),"f"),I(this,a,Z(this,a,"f"),"f"),I(this,b,Z(this,b,"f"),"f"),Z(this,b,"f").showHiddenOpt=Z(this,h0,"f"),I(this,tD,this[B3](),"f"),Z(this,k,"f").y18n.setLocale(k8)}addHelpOpt(D,F){if(N("[string|boolean] [string]",[D,F],arguments.length),Z(this,KD,"f"))this[lF](Z(this,KD,"f")),I(this,KD,null,"f");if(D===!1&&F===void 0)return this;return I(this,KD,typeof D==="string"?D:"help","f"),this.boolean(Z(this,KD,"f")),this.describe(Z(this,KD,"f"),F||Z(this,h,"f").deferY18nLookup("Show help")),this}help(D,F){return this.addHelpOpt(D,F)}addShowHiddenOpt(D,F){if(N("[string|boolean] [string]",[D,F],arguments.length),D===!1&&F===void 0)return this;let u=typeof D==="string"?D:Z(this,h0,"f");return this.boolean(u),this.describe(u,F||Z(this,h,"f").deferY18nLookup("Show hidden options")),Z(this,b,"f").showHiddenOpt=u,this}showHidden(D,F){return this.addShowHiddenOpt(D,F)}alias(D,F){return N("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.alias.bind(this),"alias",D,F),this}array(D){return N("<array|string>",[D],arguments.length),this[hD]("array",D),this[E0](D),this}boolean(D){return N("<array|string>",[D],arguments.length),this[hD]("boolean",D),this[E0](D),this}check(D,F){return N("<function> [boolean]",[D,F],arguments.length),this.middleware((u,E)=>{return oD(()=>{return D(u,E.getOptions())},(B)=>{if(!B)Z(this,h,"f").fail(Z(this,k,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof B==="string"||B instanceof Error)Z(this,h,"f").fail(B.toString(),B);return u},(B)=>{return Z(this,h,"f").fail(B.message?B.message:B.toString(),B),u})},!1,F),this}choices(D,F){return N("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.choices.bind(this),"choices",D,F),this}coerce(D,F){if(N("<object|string|array> [function]",[D,F],arguments.length),Array.isArray(D)){if(!F)throw new DD("coerce callback must be provided");for(let E of D)this.coerce(E,F);return this}else if(typeof D==="object"){for(let E of Object.keys(D))this.coerce(E,D[E]);return this}if(!F)throw new DD("coerce callback must be provided");let u=D;return Z(this,b,"f").key[u]=!0,Z(this,MD,"f").addCoerceMiddleware((E,B)=>{var C;let $=(C=B.getAliases()[u])!==null&&C!==void 0?C:[],X=[u,...$].filter((Q)=>Object.prototype.hasOwnProperty.call(E,Q));if(X.length===0)return E;return oD(()=>{return F(E[X[0]])},(Q)=>{return X.forEach((z)=>{E[z]=Q}),E},(Q)=>{throw new DD(Q.message)})},u),this}conflicts(D,F){return N("<string|object> [string|array]",[D,F],arguments.length),Z(this,a,"f").conflicts(D,F),this}config(D="config",F,u){if(N("[object|string] [string|function] [function]",[D,F,u],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=K0(D,Z(this,nD,"f"),this[F0]()["deep-merge-config"]||!1,Z(this,k,"f")),Z(this,b,"f").configObjects=(Z(this,b,"f").configObjects||[]).concat(D),this;if(typeof F==="function")u=F,F=void 0;return this.describe(D,F||Z(this,h,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((E)=>{Z(this,b,"f").config[E]=u||!0}),this}completion(D,F,u){if(N("[string] [string|boolean|function] [function]",[D,F,u],arguments.length),typeof F==="function")u=F,F=void 0;if(I(this,GD,D||Z(this,GD,"f")||"completion","f"),!F&&F!==!1)F="generate completion script";if(this.command(Z(this,GD,"f"),F),u)Z(this,JD,"f").registerFunction(u);return this}command(D,F,u,E,B,C){return N("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,F,u,E,B,C],arguments.length),Z(this,FD,"f").addHandler(D,F,u,E,B,C),this}commands(D,F,u,E,B,C){return this.command(D,F,u,E,B,C)}commandDir(D,F){N("<string> [object]",[D,F],arguments.length);let u=Z(this,m0,"f")||Z(this,k,"f").require;return Z(this,FD,"f").addDirectory(D,u,Z(this,k,"f").getCallerFile(),F),this}count(D){return N("<array|string>",[D],arguments.length),this[hD]("count",D),this[E0](D),this}default(D,F,u){if(N("<object|string|array> [*] [string]",[D,F,u],arguments.length),u)pF(D,Z(this,k,"f")),Z(this,b,"f").defaultDescription[D]=u;if(typeof F==="function"){if(pF(D,Z(this,k,"f")),!Z(this,b,"f").defaultDescription[D])Z(this,b,"f").defaultDescription[D]=Z(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,E){if(N("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,F,u,E],arguments.length),typeof F!=="number")u=F,F=1/0;return this.global("_",!1),Z(this,b,"f").demandedCommands._={min:D,max:F,minMsg:u,maxMsg:E},this}demand(D,F,u){if(Array.isArray(F))F.forEach((E)=>{OD(u,!0,Z(this,k,"f")),this.demandOption(E,u)}),F=1/0;else if(typeof F!=="number")u=F,F=1/0;if(typeof D==="number")OD(u,!0,Z(this,k,"f")),this.demandCommand(D,F,u,u);else if(Array.isArray(D))D.forEach((E)=>{OD(u,!0,Z(this,k,"f")),this.demandOption(E,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 N("<object|string|array> [string]",[D,F],arguments.length),this[J0](this.demandOption.bind(this),"demandedOptions",D,F),this}deprecateOption(D,F){return N("<string> [string|boolean]",[D,F],arguments.length),Z(this,b,"f").deprecatedOptions[D]=F,this}describe(D,F){return N("<object|string|array> [string]",[D,F],arguments.length),this[rF](D,!0),Z(this,h,"f").describe(D,F),this}detectLocale(D){return N("<boolean>",[D],arguments.length),I(this,iD,D,"f"),this}env(D){if(N("[string|boolean]",[D],arguments.length),D===!1)delete Z(this,b,"f").envPrefix;else Z(this,b,"f").envPrefix=D||"";return this}epilogue(D){return N("<string>",[D],arguments.length),Z(this,h,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,F){if(N("<string|array> [string]",[D,F],arguments.length),Array.isArray(D))D.forEach((u)=>this.example(...u));else Z(this,h,"f").example(D,F);return this}exit(D,F){if(I(this,AD,!0,"f"),I(this,kD,F,"f"),Z(this,_D,"f"))Z(this,k,"f").process.exit(D)}exitProcess(D=!0){return N("[boolean]",[D],arguments.length),I(this,_D,D,"f"),this}fail(D){if(N("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new DD("Invalid first argument. Expected function or boolean 'false'");return Z(this,h,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,F){if(N("<array> [function]",[D,F],arguments.length),!F)return new Promise((u,E)=>{Z(this,JD,"f").getCompletion(D,(B,C)=>{if(B)E(B);else u(C)})});else return Z(this,JD,"f").getCompletion(D,F)}getDemandedOptions(){return N([],0),Z(this,b,"f").demandedOptions}getDemandedCommands(){return N([],0),Z(this,b,"f").demandedCommands}getDeprecatedOptions(){return N([],0),Z(this,b,"f").deprecatedOptions}getDetectLocale(){return Z(this,iD,"f")}getExitProcess(){return Z(this,_D,"f")}getGroups(){return Object.assign({},Z(this,ID,"f"),Z(this,rD,"f"))}getHelp(){if(I(this,AD,!0,"f"),!Z(this,h,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[R0](Z(this,yD,"f"),void 0,void 0,0,!0);if(s(F))return F.then(()=>{return Z(this,h,"f").help()})}let D=Z(this,FD,"f").runDefaultBuilderOn(this);if(s(D))return D.then(()=>{return Z(this,h,"f").help()})}return Promise.resolve(Z(this,h,"f").help())}getOptions(){return Z(this,b,"f")}getStrict(){return Z(this,aD,"f")}getStrictCommands(){return Z(this,eD,"f")}getStrictOptions(){return Z(this,D0,"f")}global(D,F){if(N("<string|array> [boolean]",[D,F],arguments.length),D=[].concat(D),F!==!1)Z(this,b,"f").local=Z(this,b,"f").local.filter((u)=>D.indexOf(u)===-1);else D.forEach((u)=>{if(!Z(this,b,"f").local.includes(u))Z(this,b,"f").local.push(u)});return this}group(D,F){N("<string|array> <string>",[D,F],arguments.length);let u=Z(this,rD,"f")[F]||Z(this,ID,"f")[F];if(Z(this,rD,"f")[F])delete Z(this,rD,"f")[F];let E={};return Z(this,ID,"f")[F]=(u||[]).concat(D).filter((B)=>{if(E[B])return!1;return E[B]=!0}),this}hide(D){return N("<string>",[D],arguments.length),Z(this,b,"f").hiddenOptions.push(D),this}implies(D,F){return N("<string|object> [number|string|array]",[D,F],arguments.length),Z(this,a,"f").implies(D,F),this}locale(D){if(N("[string]",[D],arguments.length),D===void 0)return this[oF](),Z(this,k,"f").y18n.getLocale();return I(this,iD,!1,"f"),Z(this,k,"f").y18n.setLocale(D),this}middleware(D,F,u){return Z(this,MD,"f").addMiddleware(D,!!F,u)}nargs(D,F){return N("<string|object|array> [number]",[D,F],arguments.length),this[J0](this.nargs.bind(this),"narg",D,F),this}normalize(D){return N("<array|string>",[D],arguments.length),this[hD]("normalize",D),this}number(D){return N("<array|string>",[D],arguments.length),this[hD]("number",D),this[E0](D),this}option(D,F){if(N("<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[E0](D),Z(this,TD,"f")&&(D==="version"||(F===null||F===void 0?void 0:F.alias)==="version"))this[C3](['"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(B("Missing required argument: %s","Missing required arguments: %s",Object.keys(H).length,Object.keys(H).join(", ")+q))}},C.unknownArguments=function(W,Y,H,_,q=!0){var P;let c=D.getInternalMethods().getCommandInstance().getCommands(),p=[],QD=D.getInternalMethods().getContext();if(Object.keys(W).forEach((d)=>{if(!D3.includes(d)&&!Object.prototype.hasOwnProperty.call(H,d)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),d)&&!C.isValidAndSomeAliasIsNotNew(d,Y))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(B("Unknown argument: %s","Unknown arguments: %s",p.length,p.map((d)=>d.trim()?d:`"${d}"`).join(", ")))},C.unknownCommands=function(W){let Y=D.getInternalMethods().getCommandInstance().getCommands(),H=[],_=D.getInternalMethods().getContext();if(_.commands.length>0||Y.length>0)W._.slice(_.commands.length).forEach((q)=>{if(!Y.includes(""+q))H.push(""+q)});if(H.length>0)return F.fail(B("Unknown command: %s","Unknown commands: %s",H.length,H.join(", "))),!0;else return!1},C.isValidAndSomeAliasIsNotNew=function(W,Y){if(!Object.prototype.hasOwnProperty.call(Y,W))return!1;let H=D.parsed.newAliases;return[W,...Y[W]].some((_)=>!Object.prototype.hasOwnProperty.call(H,_)||!H[W])},C.limitedChoices=function(W){let Y=D.getOptions(),H={};if(!Object.keys(Y.choices).length)return;Object.keys(W).forEach((P)=>{if(D3.indexOf(P)===-1&&Object.prototype.hasOwnProperty.call(Y.choices,P))[].concat(W[P]).forEach((c)=>{if(Y.choices[P].indexOf(c)===-1&&c!==void 0)H[P]=(H[P]||[]).concat(c)})});let _=Object.keys(H);if(!_.length)return;let q=E("Invalid values:");_.forEach((P)=>{q+=`
88
+ ${E("Argument: %s, Given: %s, Choices: %s",P,F.stringifiedValues(H[P]),F.stringifiedValues(Y.choices[P]))}`}),F.fail(q)};let $={};C.implies=function(W,Y){if(N("<string|object> [array|number|string]",[W,Y],arguments.length),typeof W==="object")Object.keys(W).forEach((H)=>{C.implies(H,W[H])});else{if(D.global(W),!$[W])$[W]=[];if(Array.isArray(Y))Y.forEach((H)=>C.implies(W,H));else OD(Y,void 0,u),$[W].push(Y)}},C.getImplied=function(){return $};function X(J,W){let Y=Number(W);if(W=isNaN(Y)?W:Y,typeof W==="number")W=J._.length>=W;else if(W.match(/^--no-.+/))W=W.match(/^--no-(.+)/)[1],W=!Object.prototype.hasOwnProperty.call(J,W);else W=Object.prototype.hasOwnProperty.call(J,W);return W}C.implications=function(W){let Y=[];if(Object.keys($).forEach((H)=>{let _=H;($[H]||[]).forEach((q)=>{let P=_,c=q;if(P=X(W,P),q=X(W,q),P&&!q)Y.push(` ${_} -> ${c}`)})}),Y.length){let H=`${E("Implications failed:")}
89
+ `;Y.forEach((_)=>{H+=_}),F.fail(H)}};let Q={};C.conflicts=function(W,Y){if(N("<string|object> [array|string]",[W,Y],arguments.length),typeof W==="object")Object.keys(W).forEach((H)=>{C.conflicts(H,W[H])});else{if(D.global(W),!Q[W])Q[W]=[];if(Array.isArray(Y))Y.forEach((H)=>C.conflicts(W,H));else Q[W].push(Y)}},C.getConflicting=()=>Q,C.conflicting=function(W){if(Object.keys(W).forEach((Y)=>{if(Q[Y])Q[Y].forEach((H)=>{if(H&&W[Y]!==void 0&&W[H]!==void 0)F.fail(E("Arguments %s and %s are mutually exclusive",Y,H))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Q).forEach((Y)=>{Q[Y].forEach((H)=>{if(H&&W[u.Parser.camelCase(Y)]!==void 0&&W[u.Parser.camelCase(H)]!==void 0)F.fail(E("Arguments %s and %s are mutually exclusive",Y,H))})})},C.recommendCommands=function(W,Y){Y=Y.sort((P,c)=>c.length-P.length);let _=null,q=1/0;for(let P=0,c;(c=Y[P])!==void 0;P++){let p=e1(W,c);if(p<=3&&p<q)q=p,_=c}if(_)F.fail(E("Did you mean %s?",_))},C.reset=function(W){return $=vD($,(Y)=>!W[Y]),Q=vD(Q,(Y)=>!W[Y]),C};let z=[];return C.freeze=function(){z.push({implied:$,conflicting:Q})},C.unfreeze=function(){let W=z.pop();OD(W,void 0,u),{implied:$,conflicting:Q}=W},C}var cF=[],M0;function K0(D,F,u,E){M0=E;let B={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return B;let C=/\.json|\..*rc$/.test(D.extends),$=null;if(!C)try{$=import.meta.resolve(D.extends)}catch(X){return D}else $=f8(F,D.extends);v8($),cF.push($),B=C?JSON.parse(M0.readFileSync($,"utf8")):E.require(D.extends),delete D.extends,B=K0(B,M0.path.dirname($),u,M0)}return cF=[],u?u3(B,D):Object.assign({},B,D)}function v8(D){if(cF.indexOf(D)>-1)throw new DD(`Circular extended configurations: '${D}'.`)}function f8(D,F){return M0.path.resolve(D,F)}function u3(D,F){let u={};function E(B){return B&&typeof B==="object"&&!Array.isArray(B)}Object.assign(u,D);for(let B of Object.keys(F))if(E(F[B])&&E(u[B]))u[B]=u3(D[B],F[B]);else u[B]=F[B];return u}var I=function(D,F,u,E,B){if(E==="m")throw TypeError("Private method is not writable");if(E==="a"&&!B)throw TypeError("Private accessor was defined without a setter");if(typeof F==="function"?D!==F||!B:!F.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?B.call(D,u):B?B.value=u:F.set(D,u),u},Z=function(D,F,u,E){if(u==="a"&&!E)throw TypeError("Private accessor was defined without a getter");if(typeof F==="function"?D!==F||!E:!F.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return u==="m"?E:u==="a"?E.call(D):E?E.value:F.get(D)},FD,nD,V0,JD,GD,h0,kD,iD,d0,_D,p0,MD,ID,AD,KD,g0,tD,ZD,b,m0,c0,HD,sD,O0,rD,yD,l0,k,aD,eD,D0,h,o0,TD,a;function V3(D){return(F=[],u=D.process.cwd(),E)=>{let B=new R3(F,u,E,D);return Object.defineProperty(B,"argv",{get:()=>{return B.parse()},enumerable:!0}),B.help(),B.version(),B}}var E3=Symbol("copyDoubleDash"),B3=Symbol("copyDoubleDash"),lF=Symbol("deleteFromParserHintObject"),C3=Symbol("emitWarning"),$3=Symbol("freeze"),X3=Symbol("getDollarZero"),F0=Symbol("getParserConfiguration"),Z3=Symbol("getUsageConfiguration"),oF=Symbol("guessLocale"),Q3=Symbol("guessVersion"),z3=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"),Y3=Symbol("validateAsync"),O3=Symbol("getCommandInstance"),J3=Symbol("getContext"),W3=Symbol("getHasOutput"),G3=Symbol("getLoggerInstance"),A3=Symbol("getParseContext"),H3=Symbol("getUsageInstance"),q3=Symbol("getValidationInstance"),n0=Symbol("hasParseCallback"),_3=Symbol("isGlobalContext"),u0=Symbol("postProcess"),M3=Symbol("rebase"),eF=Symbol("reset"),R0=Symbol("runYargsParserAndExecuteCommands"),D2=Symbol("runValidation"),K3=Symbol("setHasOutput"),E0=Symbol("kTrackManuallySetKeys"),k8="en_US";class R3{constructor(D=[],F,u,E){this.customScriptName=!1,this.parsed=!1,FD.set(this,void 0),nD.set(this,void 0),V0.set(this,{commands:[],fullCommands:[]}),JD.set(this,null),GD.set(this,null),h0.set(this,"show-hidden"),kD.set(this,null),iD.set(this,!0),d0.set(this,{}),_D.set(this,!0),p0.set(this,[]),MD.set(this,void 0),ID.set(this,{}),AD.set(this,!1),KD.set(this,null),g0.set(this,!0),tD.set(this,void 0),ZD.set(this,""),b.set(this,void 0),m0.set(this,void 0),c0.set(this,{}),HD.set(this,null),sD.set(this,null),O0.set(this,{}),rD.set(this,{}),yD.set(this,void 0),l0.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),o0.set(this,{}),TD.set(this,null),a.set(this,void 0),I(this,k,E,"f"),I(this,yD,D,"f"),I(this,nD,F,"f"),I(this,m0,u,"f"),I(this,MD,new gF(this),"f"),this.$0=this[X3](),this[eF](),I(this,FD,Z(this,FD,"f"),"f"),I(this,h,Z(this,h,"f"),"f"),I(this,a,Z(this,a,"f"),"f"),I(this,b,Z(this,b,"f"),"f"),Z(this,b,"f").showHiddenOpt=Z(this,h0,"f"),I(this,tD,this[B3](),"f"),Z(this,k,"f").y18n.setLocale(k8)}addHelpOpt(D,F){if(N("[string|boolean] [string]",[D,F],arguments.length),Z(this,KD,"f"))this[lF](Z(this,KD,"f")),I(this,KD,null,"f");if(D===!1&&F===void 0)return this;return I(this,KD,typeof D==="string"?D:"help","f"),this.boolean(Z(this,KD,"f")),this.describe(Z(this,KD,"f"),F||Z(this,h,"f").deferY18nLookup("Show help")),this}help(D,F){return this.addHelpOpt(D,F)}addShowHiddenOpt(D,F){if(N("[string|boolean] [string]",[D,F],arguments.length),D===!1&&F===void 0)return this;let u=typeof D==="string"?D:Z(this,h0,"f");return this.boolean(u),this.describe(u,F||Z(this,h,"f").deferY18nLookup("Show hidden options")),Z(this,b,"f").showHiddenOpt=u,this}showHidden(D,F){return this.addShowHiddenOpt(D,F)}alias(D,F){return N("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.alias.bind(this),"alias",D,F),this}array(D){return N("<array|string>",[D],arguments.length),this[hD]("array",D),this[E0](D),this}boolean(D){return N("<array|string>",[D],arguments.length),this[hD]("boolean",D),this[E0](D),this}check(D,F){return N("<function> [boolean]",[D,F],arguments.length),this.middleware((u,E)=>{return oD(()=>{return D(u,E.getOptions())},(B)=>{if(!B)Z(this,h,"f").fail(Z(this,k,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof B==="string"||B instanceof Error)Z(this,h,"f").fail(B.toString(),B);return u},(B)=>{return Z(this,h,"f").fail(B.message?B.message:B.toString(),B),u})},!1,F),this}choices(D,F){return N("<object|string|array> [string|array]",[D,F],arguments.length),this[iF](this.choices.bind(this),"choices",D,F),this}coerce(D,F){if(N("<object|string|array> [function]",[D,F],arguments.length),Array.isArray(D)){if(!F)throw new DD("coerce callback must be provided");for(let E of D)this.coerce(E,F);return this}else if(typeof D==="object"){for(let E of Object.keys(D))this.coerce(E,D[E]);return this}if(!F)throw new DD("coerce callback must be provided");let u=D;return Z(this,b,"f").key[u]=!0,Z(this,MD,"f").addCoerceMiddleware((E,B)=>{var C;let $=(C=B.getAliases()[u])!==null&&C!==void 0?C:[],X=[u,...$].filter((Q)=>Object.prototype.hasOwnProperty.call(E,Q));if(X.length===0)return E;return oD(()=>{return F(E[X[0]])},(Q)=>{return X.forEach((z)=>{E[z]=Q}),E},(Q)=>{throw new DD(Q.message)})},u),this}conflicts(D,F){return N("<string|object> [string|array]",[D,F],arguments.length),Z(this,a,"f").conflicts(D,F),this}config(D="config",F,u){if(N("[object|string] [string|function] [function]",[D,F,u],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=K0(D,Z(this,nD,"f"),this[F0]()["deep-merge-config"]||!1,Z(this,k,"f")),Z(this,b,"f").configObjects=(Z(this,b,"f").configObjects||[]).concat(D),this;if(typeof F==="function")u=F,F=void 0;return this.describe(D,F||Z(this,h,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((E)=>{Z(this,b,"f").config[E]=u||!0}),this}completion(D,F,u){if(N("[string] [string|boolean|function] [function]",[D,F,u],arguments.length),typeof F==="function")u=F,F=void 0;if(I(this,GD,D||Z(this,GD,"f")||"completion","f"),!F&&F!==!1)F="generate completion script";if(this.command(Z(this,GD,"f"),F),u)Z(this,JD,"f").registerFunction(u);return this}command(D,F,u,E,B,C){return N("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,F,u,E,B,C],arguments.length),Z(this,FD,"f").addHandler(D,F,u,E,B,C),this}commands(D,F,u,E,B,C){return this.command(D,F,u,E,B,C)}commandDir(D,F){N("<string> [object]",[D,F],arguments.length);let u=Z(this,m0,"f")||Z(this,k,"f").require;return Z(this,FD,"f").addDirectory(D,u,Z(this,k,"f").getCallerFile(),F),this}count(D){return N("<array|string>",[D],arguments.length),this[hD]("count",D),this[E0](D),this}default(D,F,u){if(N("<object|string|array> [*] [string]",[D,F,u],arguments.length),u)pF(D,Z(this,k,"f")),Z(this,b,"f").defaultDescription[D]=u;if(typeof F==="function"){if(pF(D,Z(this,k,"f")),!Z(this,b,"f").defaultDescription[D])Z(this,b,"f").defaultDescription[D]=Z(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,E){if(N("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,F,u,E],arguments.length),typeof F!=="number")u=F,F=1/0;return this.global("_",!1),Z(this,b,"f").demandedCommands._={min:D,max:F,minMsg:u,maxMsg:E},this}demand(D,F,u){if(Array.isArray(F))F.forEach((E)=>{OD(u,!0,Z(this,k,"f")),this.demandOption(E,u)}),F=1/0;else if(typeof F!=="number")u=F,F=1/0;if(typeof D==="number")OD(u,!0,Z(this,k,"f")),this.demandCommand(D,F,u,u);else if(Array.isArray(D))D.forEach((E)=>{OD(u,!0,Z(this,k,"f")),this.demandOption(E,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 N("<object|string|array> [string]",[D,F],arguments.length),this[J0](this.demandOption.bind(this),"demandedOptions",D,F),this}deprecateOption(D,F){return N("<string> [string|boolean]",[D,F],arguments.length),Z(this,b,"f").deprecatedOptions[D]=F,this}describe(D,F){return N("<object|string|array> [string]",[D,F],arguments.length),this[rF](D,!0),Z(this,h,"f").describe(D,F),this}detectLocale(D){return N("<boolean>",[D],arguments.length),I(this,iD,D,"f"),this}env(D){if(N("[string|boolean]",[D],arguments.length),D===!1)delete Z(this,b,"f").envPrefix;else Z(this,b,"f").envPrefix=D||"";return this}epilogue(D){return N("<string>",[D],arguments.length),Z(this,h,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,F){if(N("<string|array> [string]",[D,F],arguments.length),Array.isArray(D))D.forEach((u)=>this.example(...u));else Z(this,h,"f").example(D,F);return this}exit(D,F){if(I(this,AD,!0,"f"),I(this,kD,F,"f"),Z(this,_D,"f"))Z(this,k,"f").process.exit(D)}exitProcess(D=!0){return N("[boolean]",[D],arguments.length),I(this,_D,D,"f"),this}fail(D){if(N("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new DD("Invalid first argument. Expected function or boolean 'false'");return Z(this,h,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,F){if(N("<array> [function]",[D,F],arguments.length),!F)return new Promise((u,E)=>{Z(this,JD,"f").getCompletion(D,(B,C)=>{if(B)E(B);else u(C)})});else return Z(this,JD,"f").getCompletion(D,F)}getDemandedOptions(){return N([],0),Z(this,b,"f").demandedOptions}getDemandedCommands(){return N([],0),Z(this,b,"f").demandedCommands}getDeprecatedOptions(){return N([],0),Z(this,b,"f").deprecatedOptions}getDetectLocale(){return Z(this,iD,"f")}getExitProcess(){return Z(this,_D,"f")}getGroups(){return Object.assign({},Z(this,ID,"f"),Z(this,rD,"f"))}getHelp(){if(I(this,AD,!0,"f"),!Z(this,h,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[R0](Z(this,yD,"f"),void 0,void 0,0,!0);if(s(F))return F.then(()=>{return Z(this,h,"f").help()})}let D=Z(this,FD,"f").runDefaultBuilderOn(this);if(s(D))return D.then(()=>{return Z(this,h,"f").help()})}return Promise.resolve(Z(this,h,"f").help())}getOptions(){return Z(this,b,"f")}getStrict(){return Z(this,aD,"f")}getStrictCommands(){return Z(this,eD,"f")}getStrictOptions(){return Z(this,D0,"f")}global(D,F){if(N("<string|array> [boolean]",[D,F],arguments.length),D=[].concat(D),F!==!1)Z(this,b,"f").local=Z(this,b,"f").local.filter((u)=>D.indexOf(u)===-1);else D.forEach((u)=>{if(!Z(this,b,"f").local.includes(u))Z(this,b,"f").local.push(u)});return this}group(D,F){N("<string|array> <string>",[D,F],arguments.length);let u=Z(this,rD,"f")[F]||Z(this,ID,"f")[F];if(Z(this,rD,"f")[F])delete Z(this,rD,"f")[F];let E={};return Z(this,ID,"f")[F]=(u||[]).concat(D).filter((B)=>{if(E[B])return!1;return E[B]=!0}),this}hide(D){return N("<string>",[D],arguments.length),Z(this,b,"f").hiddenOptions.push(D),this}implies(D,F){return N("<string|object> [number|string|array]",[D,F],arguments.length),Z(this,a,"f").implies(D,F),this}locale(D){if(N("[string]",[D],arguments.length),D===void 0)return this[oF](),Z(this,k,"f").y18n.getLocale();return I(this,iD,!1,"f"),Z(this,k,"f").y18n.setLocale(D),this}middleware(D,F,u){return Z(this,MD,"f").addMiddleware(D,!!F,u)}nargs(D,F){return N("<string|object|array> [number]",[D,F],arguments.length),this[J0](this.nargs.bind(this),"narg",D,F),this}normalize(D){return N("<array|string>",[D],arguments.length),this[hD]("normalize",D),this}number(D){return N("<array|string>",[D],arguments.length),this[hD]("number",D),this[E0](D),this}option(D,F){if(N("<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[E0](D),Z(this,TD,"f")&&(D==="version"||(F===null||F===void 0?void 0:F.alias)==="version"))this[C3](['"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(Z(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 E=F.demand||F.required||F.require;if(E)this.demand(D,E);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)Z(this,b,"f").defaultDescription[D]=F.defaultDescription;if(F.skipValidation)this.skipValidation(D);let B=F.describe||F.description||F.desc,C=Z(this,h,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(C,D)||typeof B==="string")this.describe(D,B);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(N("[string|array] [function|boolean|object] [function]",[D,F,u],arguments.length),this[$3](),typeof D>"u")D=Z(this,yD,"f");if(typeof F==="object")I(this,sD,F,"f"),F=u;if(typeof F==="function")I(this,HD,F,"f"),F=!1;if(!F)I(this,yD,D,"f");if(Z(this,HD,"f"))I(this,_D,!1,"f");let E=this[R0](D,!!F),B=this.parsed;if(Z(this,JD,"f").setParsed(this.parsed),s(E))return E.then((C)=>{if(Z(this,HD,"f"))Z(this,HD,"f").call(this,Z(this,kD,"f"),C,Z(this,ZD,"f"));return C}).catch((C)=>{if(Z(this,HD,"f"))Z(this,HD,"f")(C,this.parsed.argv,Z(this,ZD,"f"));throw C}).finally(()=>{this[aF](),this.parsed=B});else{if(Z(this,HD,"f"))Z(this,HD,"f").call(this,Z(this,kD,"f"),E,Z(this,ZD,"f"));this[aF](),this.parsed=B}return E}parseAsync(D,F,u){let E=this.parse(D,F,u);return!s(E)?Promise.resolve(E):E}parseSync(D,F,u){let E=this.parse(D,F,u);if(s(E))throw new DD(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return E}parserConfiguration(D){return N("<object>",[D],arguments.length),I(this,c0,D,"f"),this}pkgConf(D,F){N("<string> [string]",[D,F],arguments.length);let u=null,E=this[nF](F||Z(this,nD,"f"));if(E[D]&&typeof E[D]==="object")u=K0(E[D],F||Z(this,nD,"f"),this[F0]()["deep-merge-config"]||!1,Z(this,k,"f")),Z(this,b,"f").configObjects=(Z(this,b,"f").configObjects||[]).concat(u);return this}positional(D,F){N("<string> <object>",[D,F],arguments.length);let u=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];F=vD(F,(C,$)=>{if(C==="type"&&!["string","number","boolean"].includes($))return!1;return u.includes(C)});let E=Z(this,V0,"f").fullCommands[Z(this,V0,"f").fullCommands.length-1],B=E?Z(this,FD,"f").cmdToParseOptions(E):{array:[],alias:{},default:{},demand:{}};return z0(B).forEach((C)=>{let $=B[C];if(Array.isArray($)){if($.indexOf(D)!==-1)F[C]=!0}else if($[D]&&!(C in F))F[C]=$[D]}),this.group(D,Z(this,h,"f").getPositionalGroupName()),this.option(D,F)}recommendCommands(D=!0){return N("[boolean]",[D],arguments.length),I(this,l0,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(N("<array|string|object> [number]",[D],arguments.length),typeof D==="string"&&Z(this,b,"f").narg[D])return this;else this[J0](this.requiresArg.bind(this),"narg",D,NaN);return this}showCompletionScript(D,F){return N("[string] [string]",[D,F],arguments.length),D=D||this.$0,Z(this,tD,"f").log(Z(this,JD,"f").generateCompletionScript(D,F||Z(this,GD,"f")||"completion")),this}showHelp(D){if(N("[string|function]",[D],arguments.length),I(this,AD,!0,"f"),!Z(this,h,"f").hasCachedHelpMessage()){if(!this.parsed){let u=this[R0](Z(this,yD,"f"),void 0,void 0,0,!0);if(s(u))return u.then(()=>{Z(this,h,"f").showHelp(D)}),this}let F=Z(this,FD,"f").runDefaultBuilderOn(this);if(s(F))return F.then(()=>{Z(this,h,"f").showHelp(D)}),this}return Z(this,h,"f").showHelp(D),this}scriptName(D){return this.customScriptName=!0,this.$0=D,this}showHelpOnFail(D,F){return N("[boolean|string] [string]",[D,F],arguments.length),Z(this,h,"f").showHelpOnFail(D,F),this}showVersion(D){return N("[string|function]",[D],arguments.length),Z(this,h,"f").showVersion(D),this}skipValidation(D){return N("<array|string>",[D],arguments.length),this[hD]("skipValidation",D),this}strict(D){return N("[boolean]",[D],arguments.length),I(this,aD,D!==!1,"f"),this}strictCommands(D){return N("[boolean]",[D],arguments.length),I(this,eD,D!==!1,"f"),this}strictOptions(D){return N("[boolean]",[D],arguments.length),I(this,D0,D!==!1,"f"),this}string(D){return N("<array|string>",[D],arguments.length),this[hD]("string",D),this[E0](D),this}terminalWidth(){return N([],0),Z(this,k,"f").process.stdColumns}updateLocale(D){return this.updateStrings(D)}updateStrings(D){return N("<object>",[D],arguments.length),I(this,iD,!1,"f"),Z(this,k,"f").y18n.updateLocale(D),this}usage(D,F,u,E){if(N("<string|null|undefined> [string|boolean] [function|object] [function]",[D,F,u,E],arguments.length),F!==void 0)if(OD(D,null,Z(this,k,"f")),(D||"").match(/^\$0( |$)/))return this.command(D,F,u,E);else throw new DD(".usage() description must start with $0 if being used as alias for .command()");else return Z(this,h,"f").usage(D),this}usageConfiguration(D){return N("<object>",[D],arguments.length),I(this,o0,D,"f"),this}version(D,F,u){if(N("[boolean|string] [string] [string]",[D,F,u],arguments.length),Z(this,TD,"f"))this[lF](Z(this,TD,"f")),Z(this,h,"f").version(void 0),I(this,TD,null,"f");if(arguments.length===0)u=this[Q3](),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 I(this,TD,typeof D==="string"?D:"version","f"),F=F||Z(this,h,"f").deferY18nLookup("Show version number"),Z(this,h,"f").version(u||void 0),this.boolean(Z(this,TD,"f")),this.describe(Z(this,TD,"f"),F),this}wrap(D){return N("<number|null|undefined>",[D],arguments.length),Z(this,h,"f").wrap(D),this}[(FD=new WeakMap,nD=new WeakMap,V0=new WeakMap,JD=new WeakMap,GD=new WeakMap,h0=new WeakMap,kD=new WeakMap,iD=new WeakMap,d0=new WeakMap,_D=new WeakMap,p0=new WeakMap,MD=new WeakMap,ID=new WeakMap,AD=new WeakMap,KD=new WeakMap,g0=new WeakMap,tD=new WeakMap,ZD=new WeakMap,b=new WeakMap,m0=new WeakMap,c0=new WeakMap,HD=new WeakMap,sD=new WeakMap,O0=new WeakMap,rD=new WeakMap,yD=new WeakMap,l0=new WeakMap,k=new WeakMap,aD=new WeakMap,eD=new WeakMap,D0=new WeakMap,h=new WeakMap,o0=new WeakMap,TD=new WeakMap,a=new WeakMap,E3)](D){if(!D._||!D["--"])return D;D._.push.apply(D._,D["--"]);try{delete D["--"]}catch(F){}return D}[B3](){return{log:(...D)=>{if(!this[n0]())console.log(...D);if(I(this,AD,!0,"f"),Z(this,ZD,"f").length)I(this,ZD,Z(this,ZD,"f")+`
91
91
  `,"f");I(this,ZD,Z(this,ZD,"f")+D.join(" "),"f")},error:(...D)=>{if(!this[n0]())console.error(...D);if(I(this,AD,!0,"f"),Z(this,ZD,"f").length)I(this,ZD,Z(this,ZD,"f")+`
92
- `,"f");I(this,ZD,Z(this,ZD,"f")+D.join(" "),"f")}}}[lF](D){z0(Z(this,b,"f")).forEach((F)=>{if(((E)=>E==="configObjects")(F))return;let u=Z(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 Z(this,h,"f").getDescriptions()[D]}[C3](D,F,u){if(!Z(this,d0,"f")[u])Z(this,k,"f").process.emitWarning(D,F),Z(this,d0,"f")[u]=!0}[$3](){Z(this,p0,"f").push({options:Z(this,b,"f"),configObjects:Z(this,b,"f").configObjects.slice(0),exitProcess:Z(this,_D,"f"),groups:Z(this,ID,"f"),strict:Z(this,aD,"f"),strictCommands:Z(this,eD,"f"),strictOptions:Z(this,D0,"f"),completionCommand:Z(this,GD,"f"),output:Z(this,ZD,"f"),exitError:Z(this,kD,"f"),hasOutput:Z(this,AD,"f"),parsed:this.parsed,parseFn:Z(this,HD,"f"),parseContext:Z(this,sD,"f")}),Z(this,h,"f").freeze(),Z(this,a,"f").freeze(),Z(this,FD,"f").freeze(),Z(this,MD,"f").freeze()}[X3](){let D="",F;if(/\b(node|iojs|electron)(\.exe)?$/.test(Z(this,k,"f").process.argv()[0]))F=Z(this,k,"f").process.argv().slice(1,2);else F=Z(this,k,"f").process.argv().slice(0,1);if(D=F.map((u)=>{let E=this[M3](Z(this,nD,"f"),u);return u.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<u.length?E:u}).join(" ").trim(),Z(this,k,"f").getEnv("_")&&Z(this,k,"f").getProcessArgvBin()===Z(this,k,"f").getEnv("_"))D=Z(this,k,"f").getEnv("_").replace(`${Z(this,k,"f").path.dirname(Z(this,k,"f").process.execPath())}/`,"");return D}[F0](){return Z(this,c0,"f")}[Z3](){return Z(this,o0,"f")}[oF](){if(!Z(this,iD,"f"))return;let D=Z(this,k,"f").getEnv("LC_ALL")||Z(this,k,"f").getEnv("LC_MESSAGES")||Z(this,k,"f").getEnv("LANG")||Z(this,k,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[Q3](){return this[nF]().version||"unknown"}[z3](D){let F=D["--"]?D["--"]:D._;for(let u=0,E;(E=F[u])!==void 0;u++)if(Z(this,k,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))F[u]=Number(E);return D}[nF](D){let F=D||"*";if(Z(this,O0,"f")[F])return Z(this,O0,"f")[F];let u={};try{let E=D||Z(this,k,"f").mainFilename;if(Z(this,k,"f").path.extname(E))E=Z(this,k,"f").path.dirname(E);let B=Z(this,k,"f").findUp(E,(C,$)=>{if($.includes("package.json"))return"package.json";else return});OD(B,void 0,Z(this,k,"f")),u=JSON.parse(Z(this,k,"f").readFileSync(B,"utf8"))}catch(E){}return Z(this,O0,"f")[F]=u||{},Z(this,O0,"f")[F]}[hD](D,F){F=[].concat(F),F.forEach((u)=>{u=this[sF](u),Z(this,b,"f")[D].push(u)})}[J0](D,F,u,E){this[tF](D,F,u,E,(B,C,$)=>{Z(this,b,"f")[B][C]=$})}[iF](D,F,u,E){this[tF](D,F,u,E,(B,C,$)=>{Z(this,b,"f")[B][C]=(Z(this,b,"f")[B][C]||[]).concat($)})}[tF](D,F,u,E,B){if(Array.isArray(u))u.forEach((C)=>{D(C,E)});else if(((C)=>typeof C==="object")(u))for(let C of z0(u))D(C,u[C]);else B(F,this[sF](u),E)}[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,E,B,C,$,X,Q,z,J,W;let Y=Z(this,p0,"f").pop();OD(Y,void 0,Z(this,k,"f"));let q;D=this,F=this,u=this,E=this,B=this,C=this,$=this,X=this,Q=this,z=this,J=this,W=this,{options:{set value(_){I(D,b,_,"f")}}.value,configObjects:q,exitProcess:{set value(_){I(F,_D,_,"f")}}.value,groups:{set value(_){I(u,ID,_,"f")}}.value,output:{set value(_){I(E,ZD,_,"f")}}.value,exitError:{set value(_){I(B,kD,_,"f")}}.value,hasOutput:{set value(_){I(C,AD,_,"f")}}.value,parsed:this.parsed,strict:{set value(_){I($,aD,_,"f")}}.value,strictCommands:{set value(_){I(X,eD,_,"f")}}.value,strictOptions:{set value(_){I(Q,D0,_,"f")}}.value,completionCommand:{set value(_){I(z,GD,_,"f")}}.value,parseFn:{set value(_){I(J,HD,_,"f")}}.value,parseContext:{set value(_){I(W,sD,_,"f")}}.value}=Y,Z(this,b,"f").configObjects=q,Z(this,h,"f").unfreeze(),Z(this,a,"f").unfreeze(),Z(this,FD,"f").unfreeze(),Z(this,MD,"f").unfreeze()}[Y3](D,F){return oD(F,(u)=>{return D(u),u})}getInternalMethods(){return{getCommandInstance:this[O3].bind(this),getContext:this[J3].bind(this),getHasOutput:this[W3].bind(this),getLoggerInstance:this[G3].bind(this),getParseContext:this[A3].bind(this),getParserConfiguration:this[F0].bind(this),getUsageConfiguration:this[Z3].bind(this),getUsageInstance:this[H3].bind(this),getValidationInstance:this[q3].bind(this),hasParseCallback:this[n0].bind(this),isGlobalContext:this[_3].bind(this),postProcess:this[u0].bind(this),reset:this[eF].bind(this),runValidation:this[D2].bind(this),runYargsParserAndExecuteCommands:this[R0].bind(this),setHasOutput:this[K3].bind(this)}}[O3](){return Z(this,FD,"f")}[J3](){return Z(this,V0,"f")}[W3](){return Z(this,AD,"f")}[G3](){return Z(this,tD,"f")}[A3](){return Z(this,sD,"f")||{}}[H3](){return Z(this,h,"f")}[q3](){return Z(this,a,"f")}[n0](){return!!Z(this,HD,"f")}[_3](){return Z(this,g0,"f")}[u0](D,F,u,E){if(u)return D;if(s(D))return D;if(!F)D=this[E3](D);if(this[F0]()["parse-positional-numbers"]||this[F0]()["parse-positional-numbers"]===void 0)D=this[z3](D);if(E)D=lD(D,this,Z(this,MD,"f").getMiddleware(),!1);return D}[eF](D={}){I(this,b,Z(this,b,"f")||{},"f");let F={};F.local=Z(this,b,"f").local||[],F.configObjects=Z(this,b,"f").configObjects||[];let u={};F.local.forEach((C)=>{u[C]=!0,(D[C]||[]).forEach(($)=>{u[$]=!0})}),Object.assign(Z(this,rD,"f"),Object.keys(Z(this,ID,"f")).reduce((C,$)=>{let X=Z(this,ID,"f")[$].filter((Q)=>!(Q in u));if(X.length>0)C[$]=X;return C},{})),I(this,ID,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],B=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((C)=>{F[C]=(Z(this,b,"f")[C]||[]).filter(($)=>!u[$])}),B.forEach((C)=>{F[C]=vD(Z(this,b,"f")[C],($)=>!u[$])}),F.envPrefix=Z(this,b,"f").envPrefix,I(this,b,F,"f"),I(this,h,Z(this,h,"f")?Z(this,h,"f").reset(u):i1(this,Z(this,k,"f")),"f"),I(this,a,Z(this,a,"f")?Z(this,a,"f").reset(u):F3(this,Z(this,h,"f"),Z(this,k,"f")),"f"),I(this,FD,Z(this,FD,"f")?Z(this,FD,"f").reset():l1(Z(this,h,"f"),Z(this,a,"f"),Z(this,MD,"f"),Z(this,k,"f")),"f"),!Z(this,JD,"f"))I(this,JD,a1(this,Z(this,h,"f"),Z(this,FD,"f"),Z(this,k,"f")),"f");return Z(this,MD,"f").reset(),I(this,GD,null,"f"),I(this,ZD,"","f"),I(this,kD,null,"f"),I(this,AD,!1,"f"),this.parsed=!1,this}[M3](D,F){return Z(this,k,"f").path.relative(D,F)}[R0](D,F,u,E=0,B=!1){var C,$,X,Q;let z=!!u||B;D=D||Z(this,yD,"f"),Z(this,b,"f").__=Z(this,k,"f").y18n.__,Z(this,b,"f").configuration=this[F0]();let J=!!Z(this,b,"f").configuration["populate--"],W=Object.assign({},Z(this,b,"f").configuration,{"populate--":!0}),Y=Z(this,k,"f").Parser.detailed(D,Object.assign({},Z(this,b,"f"),{configuration:{"parse-positional-numbers":!1,...W}})),q=Object.assign(Y.argv,Z(this,sD,"f")),_=void 0,H=Y.aliases,P=!1,c=!1;if(Object.keys(q).forEach((p)=>{if(p===Z(this,KD,"f")&&q[p])P=!0;else if(p===Z(this,TD,"f")&&q[p])c=!0}),q.$0=this.$0,this.parsed=Y,E===0)Z(this,h,"f").clearCachedHelpMessage();try{if(this[oF](),F)return this[u0](q,J,!!u,!1);if(Z(this,KD,"f")){if([Z(this,KD,"f")].concat(H[Z(this,KD,"f")]||[]).filter((j)=>j.length>1).includes(""+q._[q._.length-1]))q._.pop(),P=!0}I(this,g0,!1,"f");let p=Z(this,FD,"f").getCommands(),QD=((C=Z(this,JD,"f"))===null||C===void 0?void 0:C.completionKey)?[($=Z(this,JD,"f"))===null||$===void 0?void 0:$.completionKey,...(Q=this.getAliases()[(X=Z(this,JD,"f"))===null||X===void 0?void 0:X.completionKey])!==null&&Q!==void 0?Q:[]].some((U)=>Object.prototype.hasOwnProperty.call(q,U)):!1,d=P||QD||B;if(q._.length){if(p.length){let U;for(let j=E||0,S;q._[j]!==void 0;j++)if(S=String(q._[j]),p.includes(S)&&S!==Z(this,GD,"f")){let l=Z(this,FD,"f").runCommand(S,this,Y,j+1,B,P||c||B);return this[u0](l,J,!!u,!1)}else if(!U&&S!==Z(this,GD,"f")){U=S;break}if(!Z(this,FD,"f").hasDefaultCommand()&&Z(this,l0,"f")&&U&&!d)Z(this,a,"f").recommendCommands(U,p)}if(Z(this,GD,"f")&&q._.includes(Z(this,GD,"f"))&&!QD){if(Z(this,_D,"f"))fD(!0);this.showCompletionScript(),this.exit(0)}}if(Z(this,FD,"f").hasDefaultCommand()&&!d){let U=Z(this,FD,"f").runCommand(null,this,Y,0,B,P||c||B);return this[u0](U,J,!!u,!1)}if(QD){if(Z(this,_D,"f"))fD(!0);D=[].concat(D);let U=D.slice(D.indexOf(`--${Z(this,JD,"f").completionKey}`)+1);return Z(this,JD,"f").getCompletion(U,(j,S)=>{if(j)throw new DD(j.message);(S||[]).forEach((l)=>{Z(this,tD,"f").log(l)}),this.exit(0)}),this[u0](q,!J,!!u,!1)}if(!Z(this,AD,"f")){if(P){if(Z(this,_D,"f"))fD(!0);z=!0,this.showHelp((U)=>{Z(this,tD,"f").log(U),this.exit(0)})}else if(c){if(Z(this,_D,"f"))fD(!0);z=!0,Z(this,h,"f").showVersion("log"),this.exit(0)}}if(!z&&Z(this,b,"f").skipValidation.length>0)z=Object.keys(q).some((U)=>Z(this,b,"f").skipValidation.indexOf(U)>=0&&q[U]===!0);if(!z){if(Y.error)throw new DD(Y.error.message);if(!QD){let U=this[D2](H,{},Y.error);if(!u)_=lD(q,this,Z(this,MD,"f").getMiddleware(),!0);if(_=this[Y3](U,_!==null&&_!==void 0?_:q),s(_)&&!u)_=_.then(()=>{return lD(q,this,Z(this,MD,"f").getMiddleware(),!1)})}}}catch(p){if(p instanceof DD)Z(this,h,"f").fail(p.message,p);else throw p}return this[u0](_!==null&&_!==void 0?_:q,J,!!u,!0)}[D2](D,F,u,E){let B={...this.getDemandedOptions()};return(C)=>{if(u)throw new DD(u.message);Z(this,a,"f").nonOptionCount(C),Z(this,a,"f").requiredArguments(C,B);let $=!1;if(Z(this,eD,"f"))$=Z(this,a,"f").unknownCommands(C);if(Z(this,aD,"f")&&!$)Z(this,a,"f").unknownArguments(C,D,F,!!E);else if(Z(this,D0,"f"))Z(this,a,"f").unknownArguments(C,D,{},!1,!1);Z(this,a,"f").limitedChoices(C),Z(this,a,"f").implications(C),Z(this,a,"f").conflicting(C)}}[K3](){I(this,AD,!0,"f")}[E0](D){if(typeof D==="string")Z(this,b,"f").key[D]=!0;else for(let F of D)Z(this,b,"f").key[F]=!0}}function o1(D){return!!D&&typeof D.getInternalMethods==="function"}var y8=V3(dF),U3=y8;import{performance as N3}from"node:perf_hooks";var dD=x0(u2(),1);class g8{total;message;current=0;barLength=30;startTime=N3.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(N3.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),E=this.barLength-u,B=dD.default.green("█".repeat(u))+dD.default.gray("░".repeat(E)),C=`${this.current}/${this.total}`,$=D?dD.default.gray(` ${D}`):"";if(process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(`${this.message} ${B} ${dD.default.cyan(C)} ${dD.default.yellow(`${F}%`)}${$}`),this.current===this.total)process.stdout.write(`
93
- `)}}var $D=x0(u2(),1);class s0{options;constructor(D={}){this.options={timestamp:!1,verbose:!1,...D}}formatMessage(D,F,u){let E=this.options.timestamp?`${$D.default.gray(new Date().toLocaleTimeString())} `:"",B=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";return`${E}${u(D)} ${B}${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())} `:"",E=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";console.log(`${u}${E}${F(D)}`)}dim(D){this.plain(D,$D.default.gray)}child(D){return new s0({...this.options,prefix:this.options.prefix?`${this.options.prefix}:${D}`:D})}configure(D){this.options={...this.options,...D}}}var B0=new s0;function r0(D){B0.success(D)}function VD(D,F){B0.error(D,F)}function E2(D){B0.warn(D)}function a0(D){B0.info(D)}function B2(D){B0.step(D)}function I3(D){B0.dim(D)}function C2(D){B0.configure(D)}function jD(D={}){return new s0(D)}function $2(D){console.log(),console.log($D.default.cyan($D.default.bold(`━━━ ${D} ━━━`)))}function X2(D,F,u){let E=D;if(F)E+=` ${$D.default.gray(`(${F}ms)`)}`;if(r0(E),u)Object.entries(u).forEach(([B,C])=>{I3(` ${B}: ${C}`)})}function C0(D,F="•"){D.forEach((u)=>{console.log($D.default.gray(` ${F} ${u}`))})}import{existsSync as ou}from"node:fs";import{resolve as nu}from"node:path";import{existsSync as e0,mkdirSync as T3}from"node:fs";import{readdir as w3,readFile as m8,stat as c8,unlink as b3,writeFile as l8}from"node:fs/promises";import{join as Z2}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(!e0(this.cacheDir))T3(this.cacheDir,{recursive:!0});await this.loadFromDisk()}}async loadFromDisk(){if(!this.cacheDir||!e0(this.cacheDir))return;try{let F=(await w3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F){let E=Z2(this.cacheDir,u),B=await c8(E);if(this.config.maxAge){if(Date.now()-B.mtimeMs>this.config.maxAge){await b3(E);continue}}try{let C=await m8(E,"utf-8"),$=JSON.parse(C);if(this.config.validateCached){if(!$.schema?.identifier)continue}let X=this.generateKey($.schema.identifier);this.cache.set(X,$.schema)}catch(C){console.warn(`Failed to load cached schema from ${u}:`,C)}}}catch(D){console.warn("Failed to load cached schemas from disk:",D)}}async persistSchema(D){if(!this.cacheDir)return;if(!e0(this.cacheDir))T3(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,"_"),E=Z2(this.cacheDir,u);try{await l8(E,JSON.stringify(F,null,2),"utf-8")}catch(B){console.warn(`Failed to persist schema to ${E}:`,B)}}async clearDisk(){if(!this.cacheDir||!e0(this.cacheDir))return;try{let F=(await w3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F)await b3(Z2(this.cacheDir,u))}catch(D){console.warn("Failed to clear cache directory:",D)}}}import{createHash as o8}from"crypto";var Q2=(D)=>{let F=`${D.packageName}@${D.packageVersion}:${D.filePath}`;return o8("sha256").update(F).digest("base64url")};var W0=()=>{let D={},F={};return{generateId:Q2,get:(B)=>D[B],set:(B,C)=>{if(D[B]=C,C.url){if(!F[C.url])F[C.url]=[];let $=F[C.url];if($&&!$.includes(B))$.push(B)}},has:(B)=>(B in D),clear:()=>{Object.keys(D).forEach((B)=>delete D[B]),Object.keys(F).forEach((B)=>delete F[B])},size:()=>Object.keys(D).length,getIdsByUrl:(B)=>F[B]||[],createReference:(B,C)=>({id:B,resourceType:C.resourceType}),getAllReferences:()=>D}};import*as V2 from"path";import*as m3 from"fs/promises";var x3="https://fs.get-ig.org/pkgs/";import*as DF from"fs/promises";import*as P3 from"path";var G0=async(D)=>{try{return await DF.access(D),!0}catch{return!1}},A0=async(D)=>{try{await DF.mkdir(D,{recursive:!0})}catch{}},FF=async(D)=>{let F=P3.join(D,".index.json");return G0(F)};import{exec as n8}from"child_process";import{promisify as i8}from"util";var S3=i8(n8);async function z2(){try{return await S3("bun --version"),"bun"}catch{try{return await S3("npm --version"),"npm"}catch{return null}}}import*as f3 from"fs/promises";import*as k3 from"path";import{exec as t8}from"child_process";import{promisify as s8}from"util";var v3=s8(t8),uF=async(D,F,u)=>{await A0(F);let E=k3.join(F,"package.json");if(!await G0(E))await f3.writeFile(E,JSON.stringify({name:"fhir-canonical-manager-workspace",version:"1.0.0",private:!0,dependencies:{}},null,2));let B=await z2();if(!B)throw Error("No package manager found. Please install npm or bun.");for(let C of D)try{if(B==="bun"){let $={...process.env,HOME:F,NPM_CONFIG_USERCONFIG:"/dev/null"},X=u?`cd ${F} && bun add ${C} --registry ${u}`:`cd ${F} && bun add ${C}`;await v3(X,{env:$,maxBuffer:10485760})}else{let $=u?`cd ${F} && npm add ${C} --registry ${u}`:`cd ${F} && npm add ${C}`;await v3($,{maxBuffer:10485760})}}catch($){throw console.error(`Failed to install package ${C}:`,$),$}};var EF=()=>{let D=W0();return{entries:{},packages:{},references:{},referenceManager:D}};import*as BF from"fs/promises";import*as J2 from"path";import*as Y2 from"fs/promises";import*as O2 from"path";import{createHash as y3}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 y3("sha256").update(u).digest("hex")}catch{let u=O2.join(D,"bun.lock"),E=await Y2.readFile(u,"utf-8");return y3("sha256").update(E).digest("hex")}}catch{return null}};var CF=async(D,F,u)=>{let E=await U0(u),B={entries:D.entries,packages:D.packages,references:D.referenceManager.getAllReferences(),packageLockHash:E||void 0},C=J2.join(F,"index.json");await BF.writeFile(C,JSON.stringify(B,null,2))},W2=async(D)=>{try{let F=J2.join(D,"index.json"),u=await BF.readFile(F,"utf-8");return JSON.parse(u)}catch{return null}};var h3=(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},d3=(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)=>h3(F))},G2=(D,F)=>{try{let u=JSON.parse(D);if(!d3(u))return null;return u}catch{return null}};import*as p3 from"fs/promises";import*as A2 from"path";var $F=async(D,F,u)=>{let E=A2.join(D,".index.json");try{let B=await p3.readFile(E,"utf-8"),C=G2(B,E);if(!C)return;for(let $ of C.files){if(!$.url)continue;let X=A2.join(D,$.filename),Q=u.referenceManager.generateId({packageName:F.name,packageVersion:F.version,filePath:X});u.referenceManager.set(Q,{packageName:F.name,packageVersion:F.version,filePath:X,resourceType:$.resourceType,url:$.url,version:$.version});let z={id:Q,resourceType:$.resourceType,indexVersion:C["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 J=u.entries[$.url];if(J)J.push(z)}}catch{}};import*as g3 from"fs/promises";import*as XF from"path";var ZF=async(D,F)=>{try{let u=XF.join(D,"package.json"),E=await g3.readFile(u,"utf-8"),B=JSON.parse(E),C={id:{name:B.name,version:B.version},path:D,canonical:B.canonical,fhirVersions:B.fhirVersions};F.packages[B.name]=C,await $F(D,B,F);let $=XF.join(D,"examples");if(await G0(XF.join($,".index.json")))await $F($,B,F)}catch{}};import*as H2 from"fs/promises";import*as q2 from"path";var QF=async(D,F)=>{try{let u=await H2.readdir(D,{withFileTypes:!0});for(let E of u){if(!E.isDirectory())continue;let B=q2.join(D,E.name);if(E.name.startsWith("@")){let C=await H2.readdir(B,{withFileTypes:!0});for(let $ of C){if(!$.isDirectory())continue;let X=q2.join(B,$.name);if(await FF(X))await ZF(X,F)}}else if(await FF(B))await ZF(B,F)}}catch{}};var _2=async(D,F,u,E)=>{if(F.package)try{return await E(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 K2=(D,F)=>{if(F.length===0)return D;let u=F.map((E)=>E.toLowerCase());return D.filter((E)=>{if(!E.url)return!1;let C=[E.url.toLowerCase(),E.type?.toLowerCase()||"",E.resourceType?.toLowerCase()||""].join(" ");return u.every(($)=>{let X=C.split(/[\/\-_\.\s]+/);if(X.some((J)=>J.startsWith($)))return!0;let z=M2[$]||[];for(let J of z)if(X.some((W)=>W.startsWith(J)))return!0;return C.includes($)})})};var pD=(D)=>{let{packages:F=[],workingDir:u}=D,E=D.registry?D.registry.endsWith("/")?D.registry:`${D.registry}/`:x3,B=V2.join(u,"node_modules"),C=V2.join(u,".fcm","cache"),$=EF(),X=!1,Q=new Map,z=()=>{if(!X)throw Error("CanonicalManager not initialized. Call init() first.")},J=async()=>{if(X)return;await A0(u),await A0(C);let U=await U0(u),j=await W2(C);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 uF(F,u,E),$=EF(),await QF(B,$),await CF($,C,u)}X=!0},W=async()=>{$.entries={},$.packages={},$.referenceManager.clear(),Q.clear(),X=!1},Y=async()=>{return z(),Object.values($.packages).map((U)=>U.id)},q=async(...U)=>{if(U.length===0)return;let j=U.filter((S)=>!F.includes(S));if(j.length!==0)F.push(...j);if(!X){await J();return}if(j.length===0)return;await uF(F,u,E),await QF(B,$),await CF($,C,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]},H=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 m3.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:J,destroy:W,packages:Y,addPackages:q,resolveEntry:_,resolve:H,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 K2(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 ND=await P(g),L=ND.base||[];if(Array.isArray(L)&&L.includes(U))l.push(ND)}return l.sort((g,ND)=>{let L=g.code||"",V=ND.code||"";return L.localeCompare(V)}),Q.set(U,l),l}}};function R2(D){let E=D.path.split(".").slice(1).map(($)=>({el:$}));if(E.length===0)return[];let B=E.length-1,C={};if(D.slicing){if(C.slicing={...D.slicing},D.min!==void 0)C.slicing.min=D.min;if(D.max&&D.max!=="*")C.slicing.max=parseInt(D.max)}if(D.sliceName){if(C.slice={},D.min!==void 0)C.slice.min=D.min;if(D.max&&D.max!=="*")C.slice.max=parseInt(D.max);C.sliceName=D.sliceName}return E[B]={...E[B],...C},E}function U2(D,F){let u=[],E=Math.min(D.length,F.length);for(let B=0;B<E;B++)if(D[B].el===F[B].el)u.push({el:D[B].el});else break;return u}function j2(D,F){let u=[];for(let E=0;E<F.length;E++)if(E<D.length&&D[E].el===F[E].el)u.push({...D[E],...F[E],...D[E].slicing&&!F[E].slicing&&{slicing:D[E].slicing}});else u.push(F[E]);return u}function r8(D,F){return!!(D.sliceName&&F.sliceName&&D.sliceName!==F.sliceName)}function c3(D){return{type:"exit-slice",sliceName:D.sliceName,...D.slicing&&{slicing:D.slicing},...D.slice&&{slice:D.slice}}}function a8(D,F,u,E){let B=[];for(let C=D-1;C>=F;C--){let $=u[C];if($.sliceName)B.push(c3($));B.push({type:"exit",el:$.el})}if(F>0){let C=u[F-1],$=E[F-1];if(r8(C,$))B.push(c3(C))}return B}function e8(D,F,u,E){let B=[];if(D>0&&D<=F){let C=u[D-1]||{},$=E[D-1];if($.sliceName&&(!C.sliceName||C.sliceName!==$.sliceName))B.push({type:"enter-slice",sliceName:$.sliceName});if(D===F)return B}for(let C=D;C<F;C++){let $=E[C];if(B.push({type:"enter",el:$.el}),$.sliceName)B.push({type:"enter-slice",sliceName:$.sliceName})}return B}function zF(D,F){let u=D.length,E=F.length,C=U2(D,F).length,$=a8(u,C,D,F),X=e8(C,E,D,F);return[...$,...X]}function o3(D,F){if(!D)return;return D.find((u)=>u.url===F)}function l3(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 Du(D){let F={};for(let[u,E]of Object.entries(D))if(typeof u==="string"&&u.startsWith("pattern")){let B=l3(u.replace(/^pattern/,""));F.pattern={type:B,value:E}}else if(typeof u==="string"&&u.startsWith("fixed")){let B=l3(u.replace(/^fixed/,""));F.pattern={type:B,value:E}}else F[u]=E;if(F.pattern?.type&&!F.type)F.type=F.pattern.type;return F}function Fu(D){let F=[];for(let u of D)if(u.targetProfile){let E=Array.isArray(u.targetProfile)?u.targetProfile:[u.targetProfile];F.push(...E)}return F.length>0?[...new Set(F)].sort():void 0}function uu(D){if(!D.type||D.type.length===0)return D;if(D.type[0].code==="Reference"){let u=Fu(D.type);return{...D,type:[{code:"Reference"}],...u&&{refers:u}}}return D}function Eu(D,F){let u=(C)=>{let $={strength:C.strength,...C.valueSet&&{valueSet:C.valueSet}},X=o3(C.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName");if(X?.valueString)$.bindingName=X.valueString;return $};if(D.choices){let{binding:C,...$}=D;return $}if(D.choiceOf&&F.snapshot){let C=`${F.id}.${D.choiceOf}[x]`,$=F.snapshot.element.find((X)=>X.path===C);if($?.binding)return{...D,binding:u($.binding)}}if(D.binding?.valueSet)return{...D,binding:u(D.binding)};let{binding:E,...B}=D;return B}function Bu(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 Cu(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 E=D.type[0].code,B={...D,type:E};if(F.kind==="logical"){let C=o3(D.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-defaulttype");if(C?.valueCanonical)B.defaultType=C.valueCanonical}return B}function $u(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 Xu(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,E={...D};if(delete E.min,delete E.max,F){if(E.array=!0,D.min&&D.min>0)E.min=D.min;if(D.max&&D.max!=="*")E.max=parseInt(D.max)}if(u)E._required=!0;return E}function Zu(D,F){let u=D.substring(1).split("."),E=[F.url];for(let B of u.slice(1))E.push("elements",B);return E}function Qu(D,F){if(!D.contentReference)return D;let{contentReference:u,...E}=D;return{...E,elementReference:Zu(u,F)}}function zu(D){let{path:F,slicing:u,sliceName:E,id:B,mapping:C,example:$,alias:X,condition:Q,comment:z,definition:J,requirements:W,extension:Y,...q}=D;return q}function L2(D,F){let u=uu(D);return u=zu(u),u=Eu(u,F),u=Bu(u),u=Qu(u,F),u=$u(u),u=Xu(u),u=Cu(u,F),u=Du(u),u}function N2(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 n3(D){if(!D)return D;return D.charAt(0).toUpperCase()+D.slice(1)}function i3(D){let F=D.split("/");return F[F.length-1]}function I2(D){let F=D.path.replace(/\[x\]$/,""),u=F.split(".").pop()||"";if(!D.type)return[];let E=[],B=D.type.map((z)=>u+n3(i3(z.code))),{type:C,binding:$,...X}=D,Q={...X,path:F,choices:B};E.push(Q);for(let z of D.type){let J=n3(i3(z.code)),W={...D,path:F+J,type:[z],choiceOf:u};if(D.binding)delete W.binding;E.push(W)}return E}function t3(D,F){let u=D[D.length-1],E=D.slice(0,-1),B=E[E.length-1],C=F(B,u);return[...E.slice(0,-1),C]}function Yu(D,F){if(!D.discriminator)return{};let u={};for(let E of D.discriminator){if(!E.type||!["pattern","value",void 0].includes(E.type))continue;let B=E.path.trim();if(B==="$this"){if(F.pattern?.value)Object.assign(u,F.pattern.value)}else{let C=B.split(".").filter((z)=>z),$=Object.keys(F).filter((z)=>z.startsWith("pattern"));for(let z of $){let J=z.replace("pattern","").toLowerCase();if(C.length===1&&C[0]===J)u[J]=F[z]}let X=["elements"];for(let z of C)if(X.push(z),C.indexOf(z)<C.length-1)X.push("elements");X.push("pattern");let Q=F;for(let z of X)Q=Q?.[z];if(Q?.value!==void 0){let z=u;for(let J=0;J<C.length-1;J++){if(!z[C[J]])z[C[J]]={};z=z[C[J]]}z[C[C.length-1]]=Q.value}}}return u}function Ou(D,F,u){let E={match:F,schema:D};if(u?.min!==void 0&&u.min!==0)E.min=u.min;if(u?.max!==void 0)E.max=u.max;return E}function Ju(D,F,u){let E=F.slicing||D.slicing||{},B=Yu(E,u),C=Ou(u,B,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]=C,F}function Wu(D){if(!D.slicing?.slices)return{};let F={};for(let[u,E]of Object.entries(D.slicing.slices)){let{match:B,schema:C,...$}=E,{slicing:X,elements:Q,type:z,min:J,...W}=C||{},Y={};if(B?.url)Y.url=B.url;if($.min!==void 0&&$.min!==0)Y.min=$.min;if($.max!==void 0)Y.max=$.max;if(Object.assign(Y,W),J!==void 0&&J!==0&&Y.min===void 0)Y.min=J;F[u]=Y}return F}function Gu(D,F,u){let E={...F};if(D==="extension")E.extensions=Wu(u);if(!E.elements)E.elements={};let B=u.choiceOf||D,{_required:C,...$}=u;if(E.elements[D]=$,C){if(!E.required)E.required=[];if(!E.required.includes(B))E.required.push(B)}return E}function YF(D,F,u){let E=[...D];for(let B=0;B<F.length;B++){let C=F[B],X=F[B+1]?.type==="enter"?{}:u;switch(C.type){case"enter":E.push(X);break;case"enter-slice":E.push(X);break;case"exit":E=t3(E,(Q,z)=>Gu(C.el,Q,z));break;case"exit-slice":E=t3(E,(Q,z)=>Ju(C,Q,z));break}}return E}function s3(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=Au(D),F?.package_meta)u.package_meta=F.package_meta;return u}function Au(D){if(D.kind==="resource"&&D.derivation==="constraint")return"profile";if(D.type==="Extension")return"extension";return D.kind||"unknown"}function Hu(D){return(D.differential?.element||[]).filter((u)=>u.path.includes("."))}function r3(D){let u=Object.entries(D).sort((B,C)=>{let $=B[1].index??1/0,X=C[1].index??1/0;return $-X}),E={};for(let[B,C]of u)if(C.elements)E[B]={...C,elements:r3(C.elements)};else E[B]=C;return E}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={},E=Object.keys(D);for(let B of E)if(B==="elements"&&D[B])u[B]=r3(j0(D[B],F));else if(B==="required"&&Array.isArray(D[B]))u[B]=[...D[B]].sort();else u[B]=j0(D[B],F);return u}return D}function L0(D,F){if(D.kind==="primitive-type")return j0(s3(D,F));let u=s3(D,F),E=Hu(D),B=[u],C=[],$=[...E],X=0;while($.length>0){let z=$.shift();if(N2(z)){let H=I2(z);$.unshift(...H),X++;continue}let J=R2(z),W=j2(C,J),Y=zF(C,W),_={...L2(z,D),index:X++};B=YF(B,Y,_),C=W}let Q=zF(C,[]);if(B=YF(B,Q,{index:X}),B.length!==1)throw Error(`Invalid stack state: expected 1 element, got ${B.length}`);return j0(B[0])}var T2=(D,F)=>{if(!F)F={name:"undefined",version:"undefined"};return{...D,package_meta:D.package_meta||F}};function w2(D){return D.identifier.kind==="binding"}var e3=async(D,F,u)=>{let E=await D.search({}),B={};for(let Y of E)if(Y.resourceType==="StructureDefinition")B[Y.url]=Y;let C={},$={},[X,Q]=[0,0];for(let Y of Object.values(B)){try{let q=L0(Y),_=T2(q,u);C[_.url]=_,$[_.name]=_.url,X++}catch(q){F?.warn(`Failed to convert StructureDefinition ${Y.name||Y.id}: ${q instanceof Error?q.message:String(q)}`),Q++}F?.success(`FHIR Schema conversion completed: ${X}/${B.length} successful, ${Q} failed`)}let z={};for(let Y of E)if(Y.resourceType==="ValueSet")z[Y.url]=Y;let J={};for(let Y of Object.values(C))if(Y.kind==="complex-type")J[Y.url]=Y;return{...D,appendFs(Y){C[Y.url]=T2(Y)},resolveFs:(Y)=>C[Y],resolveFSGenealogy:(Y)=>{let q=C[Y];if(!q)return;let _=[q];while(q&&q.base)q=C[q.base],_.push(q);return _},ensureCanonicalUrl:(Y)=>$[Y]||Y,allSd:()=>Object.values(B),resolveSd:(Y)=>B[Y],allFs:()=>Object.values(C),allVs:()=>Object.values(z),complexTypeDict:()=>J}};function b2(D){if(!D)return;return D.split("|")[0]}function qu(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 wD(D){return{kind:qu(D),package:D.package_meta.name,version:D.package_meta.version,name:D.name,url:D.url}}function N0(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}`}}function I0(D,F,u){let E=b2(D)||D,B="unknown",C=E.split("/"),$=C[C.length-1];if($&&$.length>0)B=$.split(/[-_]/).map((X)=>X.charAt(0).toUpperCase()+X.slice(1).toLowerCase()).join("");if(B==="unknown"&&F?.id&&!/^[a-zA-Z0-9_-]{20,}$/.test(F.id))B=F.id;return{kind:"value-set",package:u?.name||F?.package_name||"undefined",version:u?.version||F?.package_version||"undefined",name:B,url:E}}function OF(D,F,u,E){let B=F.join("."),C=u||`${D.name}.${B}_binding`;return{kind:"binding",package:E?.name||D.package_meta.name||"undefined",version:E?.version||D.package_meta.version||"undefined",name:C,url:u?`urn:fhir:binding:${C}`:`${D.url}#${B}_binding`}}async function D6(D,F){let u=wD(F),E=F.package_meta;if(u.kind!=="profile")throw Error(`Expected profile, got ${u.kind} for ${F.name}`);let B;if(F.base){let J=F.base.includes("/")?F.base:`http://hl7.org/fhir/StructureDefinition/${F.base}`,W=F.base.split("/").pop()||F.base,Y=await _u(J,D),q=J.startsWith("http://hl7.org/fhir/");B={kind:Y,package:q?"hl7.fhir.r4.core":F.package_meta.name||"undefined",version:q?"4.0.1":F.package_meta.version||"undefined",name:W,url:J}}let C={identifier:u,base:B,dependencies:B?[B]:[]};if(F.description)C.description=F.description;let $=Mu(F);if(Object.keys($).length>0)C.metadata=$;if(F.elements){let J=await JF(D,F,[],F.elements);if(J&&Object.keys(J).length>0)C.fields=J}let X=await Ku(F,D);if(Object.keys(X).length>0)C.constraints=X;let Q=await Vu(F,D);if(Q.length>0)C.extensions=Q;let z=Ru(F);if(z.length>0)C.validation=z;return C}async function _u(D,F){try{let u=await F.resolve(D);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 Mu(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 Ku(D,F){let u={};if(!D.elements)return u;for(let[E,B]of Object.entries(D.elements)){let C={};if(B.min!==void 0)C.min=B.min;if(B.max!==void 0)C.max=String(B.max);if(B.mustSupport)C.mustSupport=!0;if(B.fixedValue!==void 0)C.fixedValue=B.fixedValue;if(B.patternValue!==void 0)C.patternValue=B.patternValue;if(B.binding)C.binding={strength:B.binding.strength,valueSet:B.binding.valueSet??""};if(B.type&&Array.isArray(B.type)&&B.type.length>0)C.types=B.type.map(($)=>{let X={code:$.code};if($.profile)X.profile=$.profile;if($.targetProfile)X.targetProfile=$.targetProfile;return X});if(B.slicing)C.slicing={discriminator:B.slicing.discriminator??[],rules:String(B.slicing),ordered:B.slicing.ordered};if(Object.keys(C).length>0)u[E]=C}return u}async function Vu(D,F){let u=[];if(!D.elements)return u;for(let[E,B]of Object.entries(D.elements))if(E.includes("extension")&&B.type&&Array.isArray(B.type)){for(let C of B.type)if(C.code==="Extension"&&C.profile)u.push({path:E,profile:C.profile,min:B.min,max:String(B.max),mustSupport:B.mustSupport})}return u}function Ru(D){let F=[];if(!D.elements)return F;for(let[u,E]of Object.entries(D.elements))if(E.constraint&&Array.isArray(E.constraint))for(let B of E.constraint)F.push({path:u,key:B.key,severity:B.severity,human:B.human,expression:B.expression});return F}function F6(D,F,u){let E=[],B=D.elements;for(let C of F)if(B=B?.[C],!B)break;if(B)E.push(B);return E}function u6(D){if(D.length===0)return{};let F={...D[0]};for(let u=D.length-1;u>=0;u--){let E=D[u],B=["choices","short","index","elements","required","excluded","binding","refers","elementReference","mustSupport","slices","slicing","url","extensions"];for(let[C,$]of Object.entries(E))if(!B.includes(C)&&$!==void 0)F[C]=$}for(let u of["choices","binding","refers","elementReference"])if(D[0]&&D[0][u]!==void 0)F[u]=D[0][u];return F}function E6(D,F,u){if(F.length===0)return!1;let E=F[F.length-1],B=F.slice(0,-1),C=D;for(let $ of B)if(C=C.elements?.[$],!C)break;if(C?.required?.includes(E))return!0;if(B.length===0&&E&&D.required?.includes(E))return!0;return!1}function B6(D,F,u){if(F.length===0)return!1;let E=F[F.length-1],B=F.slice(0,-1),C=D;for(let $ of B)if(C=C.elements?.[$],!C)break;if(C?.excluded?.includes(E))return!0;if(B.length===0&&E&&D.excluded?.includes(E))return!0;return!1}var Uu=(D,F,u)=>{if(!D.refers)return;return D.refers.map((E)=>{let B=F.ensureCanonicalUrl(E),C=F.resolveFs(B);return wD(C)})};function x2(D,F,u,E,B){if(u.elementReference){let C=u.elementReference.filter(($,X)=>X%2===1).map(($)=>$).filter(($)=>$!=="elements");if(C.length>0)return N0(D,C)}if(u.type){let C=u.type.includes("/")?u.type:`http://hl7.org/fhir/StructureDefinition/${u.type}`,$=u.type.match(/^[a-z]/)?"primitive-type":"complex-type",X=C.startsWith("http://hl7.org/fhir/");return{kind:$,package:X?"hl7.fhir.r4.core":B?.name||"undefined",version:X?"4.0.1":B?.version||"undefined",name:u.type,url:C}}return}var WF=(D,F,u,E,B)=>{let C,$;if(u.binding){if(C=OF(D,F,u.binding.bindingName,B),u.binding.strength==="required"&&u.type==="code")$=P2(u,E)}return{type:x2(D,F,u,E,B),required:E6(D,F,E),excluded:B6(D,F,E),reference:Uu(u,E,B),array:u.array||!1,min:u.min,max:u.max,choices:u.choices,choiceOf:u.choiceOf,binding:C}};function T0(D){return D.type==="BackboneElement"||D.elements&&Object.keys(D.elements).length>0||!1}function GF(D,F,u,E,B){return{type:N0(D,F),array:u.array||!1,required:E6(D,F,E),excluded:B6(D,F,E)}}async function ju(D,F){try{let u=b2(D)||D,E=await F.resolve(u);if(!E)return;if(E.expansion?.contains)return E.expansion.contains.map((C)=>({system:C.system,code:C.code,display:C.display}));let B=[];if(E.compose?.include){for(let C of E.compose.include)if(C.concept)for(let $ of C.concept)B.push({system:C.system,code:$.code,display:$.display});else if(C.system&&!C.filter)try{let $=await F.resolve(C.system);if($?.concept){let X=(Q,z)=>{for(let J of Q)if(B.push({system:z,code:J.code,display:J.display}),J.concept)X(J.concept,z)};X($.concept,C.system)}}catch{}}return B.length>0?B:void 0}catch{return}}async function P2(D,F){if(!D.binding)return;let{strength:u,valueSet:E}=D.binding;if(!E)return;if(!(u==="required"||u==="extensible"&&(D.type==="code"||D.type==="Coding")||u==="preferred"&&(D.type==="code"||D.type==="Coding")))return;if(!F.resolve)return;try{let C=await ju(E,F);if(!C||C.length===0)return;let $=C.map((X)=>X.code).filter((X)=>X&&typeof X==="string"&&X.trim().length>0);return $.length>0&&$.length<=100?$:void 0}catch(C){console.debug(`Failed to extract enum values for ${E}: ${C}`);return}}async function Lu(D,F,u,E,B){if(!u.binding?.valueSet)return;let C=OF(D,F,u.binding.bindingName,B),$=x2(D,F,u,E,B),X=I0(u.binding.valueSet,void 0,B),Q=[];if($)Q.push($);Q.push(X);let z=await P2(u,E);return{identifier:C,type:$,valueset:X,strength:u.binding.strength,enum:z,dependencies:Q}}async function S2(D,F){let u=D.package_meta,E=[],B=new Set;async function C(Q,z){for(let[J,W]of Object.entries(Q)){let Y=[...z,J],q=Y.join(".");if(B.has(q))continue;if(B.add(q),W.binding){let _=await Lu(D,Y,W,F,u);if(_)E.push(_)}if(W.elements)await C(W.elements,Y)}}if(D.elements)await C(D.elements,[]);E.sort((Q,z)=>Q.identifier.name.localeCompare(z.identifier.name));let $=[],X=new Set;for(let Q of E)if(!X.has(Q.identifier.url))X.add(Q.identifier.url),$.push(Q);return $}function C6(D,F,u){let E=[];for(let[B,C]of Object.entries(u)){let $=[...F,B];if(T0(C))E.push([$,C]);if(C.elements)E.push(...C6(D,$,C.elements))}return E}async function Nu(D,F,u,E,B){let C={};for(let[$,X]of Object.entries(u)){let Q=[...F,$];if(T0(X))C[$]=GF(D,Q,X,E,B);else C[$]=await WF(D,Q,X,E,B)}return C}async function v2(D,F,u){if(!D.elements)return;let E=[],C=C6(D,[],D.elements).filter(([$,X])=>X.elements&&Object.keys(X.elements).length>0);for(let[$,X]of C){let Q=N0(D,$),z;if(X.type==="BackboneElement"||!X.type)z={kind:"complex-type",package:u?.name||"hl7.fhir.r4.core",version:u?.version||"4.0.1",name:"BackboneElement",url:"http://hl7.org/fhir/StructureDefinition/BackboneElement"};else z={kind:"complex-type",package:u?.name||"hl7.fhir.r4.core",version:u?.version||"4.0.1",name:X.type,url:`http://hl7.org/fhir/StructureDefinition/${X.type}`};let J=await Nu(D,$,X.elements,F,u),W={identifier:Q,base:z,fields:J};E.push(W)}return E.sort(($,X)=>$.identifier.url.localeCompare(X.identifier.url)),E}function f2(D){let F=[];for(let u of D){if(F.push(u.identifier),u.base)F.push(u.base);for(let E of Object.values(u.fields||{})){if("type"in E&&E.type)F.push(E.type);if("binding"in E&&E.binding)F.push(E.binding)}}return F}async function JF(D,F,u,E){if(!E)return;let B={};for(let[C,$]of Object.entries(E)){let X=[...u,C],Q=F6(F,X,D),z=Q.length>0?u6(Q):$;if(T0(z))B[C]=GF(F,X,z,D,F.package_meta);else B[C]=WF(F,X,z,D,F.package_meta)}return B}function $6(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 Iu(D){let F=new Set,u=[];for(let E of D){let B=E.url;if(!F.has(B))F.add(B),u.push(E)}return u.sort((E,B)=>E.name.localeCompare(B.name)),u}function Tu(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 wu(D,F,u){try{let E=wD(D);E.kind="value-set";let B={identifier:E,description:D.description};if(D.elements){let C=[];for(let[$,X]of Object.entries(D.elements))if("code"in X&&X.code)C.push({code:X.code,display:X.short||X.definition,system:X.system});if(C.length>0)B.concept=C}return B}catch(E){return console.warn(`Failed to transform value set ${D.name}: ${E}`),null}}async function bu(D,F,u){try{let E=wD(D),B;if(D.base&&D.base!=="Extension"){let X=D.base.includes("/")?D.base:`http://hl7.org/fhir/StructureDefinition/${D.base}`;B={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:D.base.split("/").pop()||D.base,url:X}}else B={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:"Extension",url:"http://hl7.org/fhir/StructureDefinition/Extension"};let C={identifier:E,base:B,description:D.description,dependencies:[],metadata:{isExtension:!0}};if(B)C.dependencies.push(B);if(D.elements){let X=await JF(F,D,[],D.elements);if(X&&Object.keys(X).length>0)C.fields=X,C.dependencies.push(...$6(X))}let $=await v2(D,F,u);if($&&$.length>0)C.nested=$,C.dependencies.push(...f2($));return C.dependencies=Iu(C.dependencies),C.dependencies=C.dependencies.filter((X)=>X.url!==E.url),C}catch(E){return console.warn(`Failed to transform extension ${D.name}: ${E}`),null}}function xu(D,F,u,E){let B=[];if(F)B.push(F);if(u)B.push(...$6(u));if(E)B.push(...f2(E));let C={};for(let X of B){if(X.url===D.url)continue;C[X.url]=X}let $=Object.values(C).sort((X,Q)=>X.name.localeCompare(Q.name));return $.length>0?$:void 0}async function Pu(D,F){let u=wD(F),E;if(F.base&&F.type!=="Element"){let z=D.resolveFs(D.ensureCanonicalUrl(F.base));E=wD(z)}let B=await JF(D,F,[],F.elements),C=await v2(F,D,F.package_meta),$=xu(u,E,B,C),X={identifier:u,base:E,fields:B,nested:C,description:F.description,dependencies:$},Q=await S2(F,D);return[X,...Q]}async function X6(D,F){let u=[],E=wD(F);if(E.kind==="profile"){let B=await D6(D,F);u.push(B);let C=await S2(F,D);return u.push(...C),u}if(E.kind==="value-set"||F.kind==="value-set"){let B=await wu(F,D,F.package_meta);if(B)u.push(B);return u}if(Tu(F,E)){let B=await bu(F,D,F.package_meta);if(B)u.push(B);return u}return await Pu(D,F)}async function Su(D,F){try{let u=await F.resolve(D);if(!u||u.resourceType!=="CodeSystem")return;let E=[],B=(C,$)=>{for(let X of C)if(E.push({system:$,code:X.code,display:X.display}),X.concept)B(X.concept,$)};if(u.concept)B(u.concept,D);return E}catch{return}}async function Z6(D,F){let u=[];if(D.concept){for(let E of D.concept)u.push({system:D.system,code:E.code,display:E.display});return u}if(D.system&&!D.filter){let E=await Su(D.system,F);if(E)u.push(...E)}if(D.valueSet)for(let E of D.valueSet)try{let B=await F.resolve(E);if(B){let C=await Q6(B,F);if(C)u.push(...C)}}catch{}return u}async function Q6(D,F){try{let u=[];if(D.compose){if(D.compose.include)for(let E of D.compose.include){let B=await Z6(E,F);u.push(...B)}if(D.compose.exclude){let E=new Set;for(let B of D.compose.exclude){let C=await Z6(B,F);for(let $ of C)E.add(`${$.system}|${$.code}`)}return u.filter((B)=>!E.has(`${B.system}|${B.code}`))}}return u.length>0?u:void 0}catch(u){console.error("Error extracting ValueSet concepts:",u);return}}async function z6(D,F,u){let B={identifier:I0(D.url,D,u)};if(D.description)B.description=D.description;let C=await Q6(D,F);if(C&&C.length>0)B.concept=C;else if(D.compose)B.compose=D.compose;if(D.compose){let $=[],X=(Q)=>{for(let z of Q){if(z.system)$.push({kind:"value-set",package:u?.name||"undefined",version:u?.version||"undefined",name:z.system.split("/").pop()||"unknown",url:z.system});if(z.valueSet)for(let J of z.valueSet)$.push(I0(J,void 0,u))}};if(D.compose.include)X(D.compose.include);if(D.compose.exclude)X(D.compose.exclude)}return B}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(),e3(this.manager)}generateFhirSchemas(D){this.logger.progress(`Converting ${D.length} StructureDefinitions to FHIRSchemas`);let F=this.applyStructureDefinitionTreeshaking(D),u=[],E=0,B=0;for(let C of F)try{let $=L0(C);u.push($),E++,this.logger.debug(`Converted StructureDefinition: ${C.name||C.id} (${C.resourceType})`)}catch($){B++,this.logger.warn(`Failed to convert StructureDefinition ${C.name||C.id}: ${$ instanceof Error?$.message:String($)}`)}return this.logger.success(`FHIR Schema conversion completed: ${E}/${F.length} successful, ${B} 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 E=0,B=0;for(let C of D)try{let $=await z6(C,this.manager,F);if($)u.push($),E++,this.logger.debug(`Converted ValueSet: ${C.name||C.id}`)}catch($){B++,this.logger.warn(`Failed to convert ValueSet ${C.name||C.id}: ${$ instanceof Error?$.message:String($)}`)}this.logger.success(`ValueSet conversion completed: ${E}/${D.length} successful, ${B} failed`)}return u}async generateFromPackage(D,F){if(await this.initializeCache(),this.cache&&!(this.cacheConfig?.forceRegenerate??!1)){let C=this.cache.getByPackage(D);if(C.length>0)return this.logger.info(`Using cached TypeSchemas for package: ${D} (${C.length} schemas)`),C}let u={name:D,version:F||"latest"},E=await this.registerFromPackageMetas([u]),B=[...(await Promise.all(E.allFs().map(async(C)=>await X6(E,C)))).flat(),...await this.generateValueSetSchemas(E.allVs(),u)];if(this.cache)for(let C of B)await this.cache.set(C);return B}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,E=new Map,B=new Map;for(let z of D){let J=z.name||z.id;if(J)u.set(J,z),E.set(J,new Set),B.set(J,new Set)}for(let z of D){let J=z.name||z.id;if(!J)continue;let{realDeps:W,refTargets:Y}=this.extractStructureDefinitionDependenciesWithReferences(z);E.set(J,new Set(W)),B.set(J,new Set(Y))}let C=new Set;for(let z of F)if(u.has(z))C.add(z);else this.logger.warn(`ResourceType '${z}' not found in structure definitions`);let $=(z,J=new Set)=>{if(J.has(z)||!E.has(z))return;J.add(z);let W=E.get(z)||new Set;for(let Y of Array.from(W))if(u.has(Y))C.add(Y),$(Y,J)};for(let z of Array.from(C))$(z);let X=D.filter((z)=>{let J=z.name||z.id;return J&&C.has(J)}),Q=new Set;for(let z of D){let J=z.name||z.id;if(J&&!C.has(J)){if(Array.from(B.values()).some((Y)=>Y.has(J)))Q.add(J)}}if(Q.size>0)this.logger.info(`Excluded reference-only targets: ${Array.from(Q).join(", ")}`);return this.logger.success(`Treeshaking completed: kept ${X.length}/${D.length} structure definitions`),X}extractStructureDefinitionDependenciesWithReferences(D){let F=new Set,u=new Set;if(D.baseDefinition){let E=this.extractResourceNameFromUrl(D.baseDefinition);if(E)F.add(E)}if(D.snapshot?.element||D.differential?.element){let E=D.snapshot?.element||D.differential?.element;for(let B of E)if(B.type)for(let C of B.type){if(C.code){if(F.add(C.code),C.code==="Reference"&&C.targetProfile)for(let $ of C.targetProfile){let X=this.extractResourceNameFromUrl($);if(X)u.add(X)}}if(C.profile)for(let $ of C.profile){let X=this.extractResourceNameFromUrl($);if(X)F.add(X)}}}return{realDeps:Array.from(F),refTargets:Array.from(u)}}extractResourceNameFromUrl(D){let F=D.match(/\/([^/]+)$/);return F?F[1]??null:null}}import{readFile as vu}from"node:fs/promises";class w0{options;constructor(D={}){this.options={format:"auto",validate:!0,strict:!1,...D}}async parseFromFile(D){let F=await vu(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),E;if(u==="ndjson")E=this.parseNDJSON(D);else E=this.parseJSON(D);if(this.options.validate)this.validateSchemas(E);return E}async parseFromFiles(D){let F=[];for(let u of D){let E=await this.parseFromFile(u);F.push(...E)}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");I(this,ZD,Z(this,ZD,"f")+D.join(" "),"f")}}}[lF](D){z0(Z(this,b,"f")).forEach((F)=>{if(((E)=>E==="configObjects")(F))return;let u=Z(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 Z(this,h,"f").getDescriptions()[D]}[C3](D,F,u){if(!Z(this,d0,"f")[u])Z(this,k,"f").process.emitWarning(D,F),Z(this,d0,"f")[u]=!0}[$3](){Z(this,p0,"f").push({options:Z(this,b,"f"),configObjects:Z(this,b,"f").configObjects.slice(0),exitProcess:Z(this,_D,"f"),groups:Z(this,ID,"f"),strict:Z(this,aD,"f"),strictCommands:Z(this,eD,"f"),strictOptions:Z(this,D0,"f"),completionCommand:Z(this,GD,"f"),output:Z(this,ZD,"f"),exitError:Z(this,kD,"f"),hasOutput:Z(this,AD,"f"),parsed:this.parsed,parseFn:Z(this,HD,"f"),parseContext:Z(this,sD,"f")}),Z(this,h,"f").freeze(),Z(this,a,"f").freeze(),Z(this,FD,"f").freeze(),Z(this,MD,"f").freeze()}[X3](){let D="",F;if(/\b(node|iojs|electron)(\.exe)?$/.test(Z(this,k,"f").process.argv()[0]))F=Z(this,k,"f").process.argv().slice(1,2);else F=Z(this,k,"f").process.argv().slice(0,1);if(D=F.map((u)=>{let E=this[M3](Z(this,nD,"f"),u);return u.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<u.length?E:u}).join(" ").trim(),Z(this,k,"f").getEnv("_")&&Z(this,k,"f").getProcessArgvBin()===Z(this,k,"f").getEnv("_"))D=Z(this,k,"f").getEnv("_").replace(`${Z(this,k,"f").path.dirname(Z(this,k,"f").process.execPath())}/`,"");return D}[F0](){return Z(this,c0,"f")}[Z3](){return Z(this,o0,"f")}[oF](){if(!Z(this,iD,"f"))return;let D=Z(this,k,"f").getEnv("LC_ALL")||Z(this,k,"f").getEnv("LC_MESSAGES")||Z(this,k,"f").getEnv("LANG")||Z(this,k,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[Q3](){return this[nF]().version||"unknown"}[z3](D){let F=D["--"]?D["--"]:D._;for(let u=0,E;(E=F[u])!==void 0;u++)if(Z(this,k,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))F[u]=Number(E);return D}[nF](D){let F=D||"*";if(Z(this,O0,"f")[F])return Z(this,O0,"f")[F];let u={};try{let E=D||Z(this,k,"f").mainFilename;if(Z(this,k,"f").path.extname(E))E=Z(this,k,"f").path.dirname(E);let B=Z(this,k,"f").findUp(E,(C,$)=>{if($.includes("package.json"))return"package.json";else return});OD(B,void 0,Z(this,k,"f")),u=JSON.parse(Z(this,k,"f").readFileSync(B,"utf8"))}catch(E){}return Z(this,O0,"f")[F]=u||{},Z(this,O0,"f")[F]}[hD](D,F){F=[].concat(F),F.forEach((u)=>{u=this[sF](u),Z(this,b,"f")[D].push(u)})}[J0](D,F,u,E){this[tF](D,F,u,E,(B,C,$)=>{Z(this,b,"f")[B][C]=$})}[iF](D,F,u,E){this[tF](D,F,u,E,(B,C,$)=>{Z(this,b,"f")[B][C]=(Z(this,b,"f")[B][C]||[]).concat($)})}[tF](D,F,u,E,B){if(Array.isArray(u))u.forEach((C)=>{D(C,E)});else if(((C)=>typeof C==="object")(u))for(let C of z0(u))D(C,u[C]);else B(F,this[sF](u),E)}[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,E,B,C,$,X,Q,z,J,W;let Y=Z(this,p0,"f").pop();OD(Y,void 0,Z(this,k,"f"));let H;D=this,F=this,u=this,E=this,B=this,C=this,$=this,X=this,Q=this,z=this,J=this,W=this,{options:{set value(_){I(D,b,_,"f")}}.value,configObjects:H,exitProcess:{set value(_){I(F,_D,_,"f")}}.value,groups:{set value(_){I(u,ID,_,"f")}}.value,output:{set value(_){I(E,ZD,_,"f")}}.value,exitError:{set value(_){I(B,kD,_,"f")}}.value,hasOutput:{set value(_){I(C,AD,_,"f")}}.value,parsed:this.parsed,strict:{set value(_){I($,aD,_,"f")}}.value,strictCommands:{set value(_){I(X,eD,_,"f")}}.value,strictOptions:{set value(_){I(Q,D0,_,"f")}}.value,completionCommand:{set value(_){I(z,GD,_,"f")}}.value,parseFn:{set value(_){I(J,HD,_,"f")}}.value,parseContext:{set value(_){I(W,sD,_,"f")}}.value}=Y,Z(this,b,"f").configObjects=H,Z(this,h,"f").unfreeze(),Z(this,a,"f").unfreeze(),Z(this,FD,"f").unfreeze(),Z(this,MD,"f").unfreeze()}[Y3](D,F){return oD(F,(u)=>{return D(u),u})}getInternalMethods(){return{getCommandInstance:this[O3].bind(this),getContext:this[J3].bind(this),getHasOutput:this[W3].bind(this),getLoggerInstance:this[G3].bind(this),getParseContext:this[A3].bind(this),getParserConfiguration:this[F0].bind(this),getUsageConfiguration:this[Z3].bind(this),getUsageInstance:this[H3].bind(this),getValidationInstance:this[q3].bind(this),hasParseCallback:this[n0].bind(this),isGlobalContext:this[_3].bind(this),postProcess:this[u0].bind(this),reset:this[eF].bind(this),runValidation:this[D2].bind(this),runYargsParserAndExecuteCommands:this[R0].bind(this),setHasOutput:this[K3].bind(this)}}[O3](){return Z(this,FD,"f")}[J3](){return Z(this,V0,"f")}[W3](){return Z(this,AD,"f")}[G3](){return Z(this,tD,"f")}[A3](){return Z(this,sD,"f")||{}}[H3](){return Z(this,h,"f")}[q3](){return Z(this,a,"f")}[n0](){return!!Z(this,HD,"f")}[_3](){return Z(this,g0,"f")}[u0](D,F,u,E){if(u)return D;if(s(D))return D;if(!F)D=this[E3](D);if(this[F0]()["parse-positional-numbers"]||this[F0]()["parse-positional-numbers"]===void 0)D=this[z3](D);if(E)D=lD(D,this,Z(this,MD,"f").getMiddleware(),!1);return D}[eF](D={}){I(this,b,Z(this,b,"f")||{},"f");let F={};F.local=Z(this,b,"f").local||[],F.configObjects=Z(this,b,"f").configObjects||[];let u={};F.local.forEach((C)=>{u[C]=!0,(D[C]||[]).forEach(($)=>{u[$]=!0})}),Object.assign(Z(this,rD,"f"),Object.keys(Z(this,ID,"f")).reduce((C,$)=>{let X=Z(this,ID,"f")[$].filter((Q)=>!(Q in u));if(X.length>0)C[$]=X;return C},{})),I(this,ID,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],B=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((C)=>{F[C]=(Z(this,b,"f")[C]||[]).filter(($)=>!u[$])}),B.forEach((C)=>{F[C]=vD(Z(this,b,"f")[C],($)=>!u[$])}),F.envPrefix=Z(this,b,"f").envPrefix,I(this,b,F,"f"),I(this,h,Z(this,h,"f")?Z(this,h,"f").reset(u):i1(this,Z(this,k,"f")),"f"),I(this,a,Z(this,a,"f")?Z(this,a,"f").reset(u):F3(this,Z(this,h,"f"),Z(this,k,"f")),"f"),I(this,FD,Z(this,FD,"f")?Z(this,FD,"f").reset():l1(Z(this,h,"f"),Z(this,a,"f"),Z(this,MD,"f"),Z(this,k,"f")),"f"),!Z(this,JD,"f"))I(this,JD,a1(this,Z(this,h,"f"),Z(this,FD,"f"),Z(this,k,"f")),"f");return Z(this,MD,"f").reset(),I(this,GD,null,"f"),I(this,ZD,"","f"),I(this,kD,null,"f"),I(this,AD,!1,"f"),this.parsed=!1,this}[M3](D,F){return Z(this,k,"f").path.relative(D,F)}[R0](D,F,u,E=0,B=!1){var C,$,X,Q;let z=!!u||B;D=D||Z(this,yD,"f"),Z(this,b,"f").__=Z(this,k,"f").y18n.__,Z(this,b,"f").configuration=this[F0]();let J=!!Z(this,b,"f").configuration["populate--"],W=Object.assign({},Z(this,b,"f").configuration,{"populate--":!0}),Y=Z(this,k,"f").Parser.detailed(D,Object.assign({},Z(this,b,"f"),{configuration:{"parse-positional-numbers":!1,...W}})),H=Object.assign(Y.argv,Z(this,sD,"f")),_=void 0,q=Y.aliases,P=!1,c=!1;if(Object.keys(H).forEach((p)=>{if(p===Z(this,KD,"f")&&H[p])P=!0;else if(p===Z(this,TD,"f")&&H[p])c=!0}),H.$0=this.$0,this.parsed=Y,E===0)Z(this,h,"f").clearCachedHelpMessage();try{if(this[oF](),F)return this[u0](H,J,!!u,!1);if(Z(this,KD,"f")){if([Z(this,KD,"f")].concat(q[Z(this,KD,"f")]||[]).filter((j)=>j.length>1).includes(""+H._[H._.length-1]))H._.pop(),P=!0}I(this,g0,!1,"f");let p=Z(this,FD,"f").getCommands(),QD=((C=Z(this,JD,"f"))===null||C===void 0?void 0:C.completionKey)?[($=Z(this,JD,"f"))===null||$===void 0?void 0:$.completionKey,...(Q=this.getAliases()[(X=Z(this,JD,"f"))===null||X===void 0?void 0:X.completionKey])!==null&&Q!==void 0?Q:[]].some((U)=>Object.prototype.hasOwnProperty.call(H,U)):!1,d=P||QD||B;if(H._.length){if(p.length){let U;for(let j=E||0,S;H._[j]!==void 0;j++)if(S=String(H._[j]),p.includes(S)&&S!==Z(this,GD,"f")){let l=Z(this,FD,"f").runCommand(S,this,Y,j+1,B,P||c||B);return this[u0](l,J,!!u,!1)}else if(!U&&S!==Z(this,GD,"f")){U=S;break}if(!Z(this,FD,"f").hasDefaultCommand()&&Z(this,l0,"f")&&U&&!d)Z(this,a,"f").recommendCommands(U,p)}if(Z(this,GD,"f")&&H._.includes(Z(this,GD,"f"))&&!QD){if(Z(this,_D,"f"))fD(!0);this.showCompletionScript(),this.exit(0)}}if(Z(this,FD,"f").hasDefaultCommand()&&!d){let U=Z(this,FD,"f").runCommand(null,this,Y,0,B,P||c||B);return this[u0](U,J,!!u,!1)}if(QD){if(Z(this,_D,"f"))fD(!0);D=[].concat(D);let U=D.slice(D.indexOf(`--${Z(this,JD,"f").completionKey}`)+1);return Z(this,JD,"f").getCompletion(U,(j,S)=>{if(j)throw new DD(j.message);(S||[]).forEach((l)=>{Z(this,tD,"f").log(l)}),this.exit(0)}),this[u0](H,!J,!!u,!1)}if(!Z(this,AD,"f")){if(P){if(Z(this,_D,"f"))fD(!0);z=!0,this.showHelp((U)=>{Z(this,tD,"f").log(U),this.exit(0)})}else if(c){if(Z(this,_D,"f"))fD(!0);z=!0,Z(this,h,"f").showVersion("log"),this.exit(0)}}if(!z&&Z(this,b,"f").skipValidation.length>0)z=Object.keys(H).some((U)=>Z(this,b,"f").skipValidation.indexOf(U)>=0&&H[U]===!0);if(!z){if(Y.error)throw new DD(Y.error.message);if(!QD){let U=this[D2](q,{},Y.error);if(!u)_=lD(H,this,Z(this,MD,"f").getMiddleware(),!0);if(_=this[Y3](U,_!==null&&_!==void 0?_:H),s(_)&&!u)_=_.then(()=>{return lD(H,this,Z(this,MD,"f").getMiddleware(),!1)})}}}catch(p){if(p instanceof DD)Z(this,h,"f").fail(p.message,p);else throw p}return this[u0](_!==null&&_!==void 0?_:H,J,!!u,!0)}[D2](D,F,u,E){let B={...this.getDemandedOptions()};return(C)=>{if(u)throw new DD(u.message);Z(this,a,"f").nonOptionCount(C),Z(this,a,"f").requiredArguments(C,B);let $=!1;if(Z(this,eD,"f"))$=Z(this,a,"f").unknownCommands(C);if(Z(this,aD,"f")&&!$)Z(this,a,"f").unknownArguments(C,D,F,!!E);else if(Z(this,D0,"f"))Z(this,a,"f").unknownArguments(C,D,{},!1,!1);Z(this,a,"f").limitedChoices(C),Z(this,a,"f").implications(C),Z(this,a,"f").conflicting(C)}}[K3](){I(this,AD,!0,"f")}[E0](D){if(typeof D==="string")Z(this,b,"f").key[D]=!0;else for(let F of D)Z(this,b,"f").key[F]=!0}}function o1(D){return!!D&&typeof D.getInternalMethods==="function"}var y8=V3(dF),U3=y8;import{performance as N3}from"node:perf_hooks";var dD=x0(u2(),1);class g8{total;message;current=0;barLength=30;startTime=N3.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(N3.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),E=this.barLength-u,B=dD.default.green("█".repeat(u))+dD.default.gray("░".repeat(E)),C=`${this.current}/${this.total}`,$=D?dD.default.gray(` ${D}`):"";if(process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(`${this.message} ${B} ${dD.default.cyan(C)} ${dD.default.yellow(`${F}%`)}${$}`),this.current===this.total)process.stdout.write(`
93
+ `)}}var $D=x0(u2(),1);class s0{options;constructor(D={}){this.options={timestamp:!1,verbose:!1,...D}}formatMessage(D,F,u){let E=this.options.timestamp?`${$D.default.gray(new Date().toLocaleTimeString())} `:"",B=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";return`${E}${u(D)} ${B}${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())} `:"",E=this.options.prefix?`${$D.default.cyan(`[${this.options.prefix}]`)} `:"";console.log(`${u}${E}${F(D)}`)}dim(D){this.plain(D,$D.default.gray)}child(D){return new s0({...this.options,prefix:this.options.prefix?`${this.options.prefix}:${D}`:D})}configure(D){this.options={...this.options,...D}}}var B0=new s0;function r0(D){B0.success(D)}function VD(D,F){B0.error(D,F)}function E2(D){B0.warn(D)}function a0(D){B0.info(D)}function B2(D){B0.step(D)}function I3(D){B0.dim(D)}function C2(D){B0.configure(D)}function jD(D={}){return new s0(D)}function $2(D){console.log(),console.log($D.default.cyan($D.default.bold(`━━━ ${D} ━━━`)))}function X2(D,F,u){let E=D;if(F)E+=` ${$D.default.gray(`(${F}ms)`)}`;if(r0(E),u)Object.entries(u).forEach(([B,C])=>{I3(` ${B}: ${C}`)})}function C0(D,F="•"){D.forEach((u)=>{console.log($D.default.gray(` ${F} ${u}`))})}import{existsSync as ou}from"node:fs";import{resolve as nu}from"node:path";import{existsSync as e0,mkdirSync as T3}from"node:fs";import{readdir as w3,readFile as m8,stat as c8,unlink as b3,writeFile as l8}from"node:fs/promises";import{join as Z2}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(!e0(this.cacheDir))T3(this.cacheDir,{recursive:!0});await this.loadFromDisk()}}async loadFromDisk(){if(!this.cacheDir||!e0(this.cacheDir))return;try{let F=(await w3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F){let E=Z2(this.cacheDir,u),B=await c8(E);if(this.config.maxAge){if(Date.now()-B.mtimeMs>this.config.maxAge){await b3(E);continue}}try{let C=await m8(E,"utf-8"),$=JSON.parse(C);if(this.config.validateCached){if(!$.schema?.identifier)continue}let X=this.generateKey($.schema.identifier);this.cache.set(X,$.schema)}catch(C){console.warn(`Failed to load cached schema from ${u}:`,C)}}}catch(D){console.warn("Failed to load cached schemas from disk:",D)}}async persistSchema(D){if(!this.cacheDir)return;if(!e0(this.cacheDir))T3(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,"_"),E=Z2(this.cacheDir,u);try{await l8(E,JSON.stringify(F,null,2),"utf-8")}catch(B){console.warn(`Failed to persist schema to ${E}:`,B)}}async clearDisk(){if(!this.cacheDir||!e0(this.cacheDir))return;try{let F=(await w3(this.cacheDir)).filter((u)=>u.endsWith(".typeschema.json"));for(let u of F)await b3(Z2(this.cacheDir,u))}catch(D){console.warn("Failed to clear cache directory:",D)}}}import{createHash as o8}from"crypto";var Q2=(D)=>{let F=`${D.packageName}@${D.packageVersion}:${D.filePath}`;return o8("sha256").update(F).digest("base64url")};var W0=()=>{let D={},F={};return{generateId:Q2,get:(B)=>D[B],set:(B,C)=>{if(D[B]=C,C.url){if(!F[C.url])F[C.url]=[];let $=F[C.url];if($&&!$.includes(B))$.push(B)}},has:(B)=>(B in D),clear:()=>{Object.keys(D).forEach((B)=>delete D[B]),Object.keys(F).forEach((B)=>delete F[B])},size:()=>Object.keys(D).length,getIdsByUrl:(B)=>F[B]||[],createReference:(B,C)=>({id:B,resourceType:C.resourceType}),getAllReferences:()=>D}};import*as V2 from"path";import*as m3 from"fs/promises";var x3="https://fs.get-ig.org/pkgs/";import*as DF from"fs/promises";import*as P3 from"path";var G0=async(D)=>{try{return await DF.access(D),!0}catch{return!1}},A0=async(D)=>{try{await DF.mkdir(D,{recursive:!0})}catch{}},FF=async(D)=>{let F=P3.join(D,".index.json");return G0(F)};import{exec as n8}from"child_process";import{promisify as i8}from"util";var S3=i8(n8);async function z2(){try{return await S3("bun --version"),"bun"}catch{try{return await S3("npm --version"),"npm"}catch{return null}}}import*as f3 from"fs/promises";import*as k3 from"path";import{exec as t8}from"child_process";import{promisify as s8}from"util";var v3=s8(t8),uF=async(D,F,u)=>{await A0(F);let E=k3.join(F,"package.json");if(!await G0(E))await f3.writeFile(E,JSON.stringify({name:"fhir-canonical-manager-workspace",version:"1.0.0",private:!0,dependencies:{}},null,2));let B=await z2();if(!B)throw Error("No package manager found. Please install npm or bun.");for(let C of D)try{if(B==="bun"){let $={...process.env,HOME:F,NPM_CONFIG_USERCONFIG:"/dev/null"},X=u?`cd ${F} && bun add ${C} --registry ${u}`:`cd ${F} && bun add ${C}`;await v3(X,{env:$,maxBuffer:10485760})}else{let $=u?`cd ${F} && npm add ${C} --registry ${u}`:`cd ${F} && npm add ${C}`;await v3($,{maxBuffer:10485760})}}catch($){throw console.error(`Failed to install package ${C}:`,$),$}};var EF=()=>{let D=W0();return{entries:{},packages:{},references:{},referenceManager:D}};import*as BF from"fs/promises";import*as J2 from"path";import*as Y2 from"fs/promises";import*as O2 from"path";import{createHash as y3}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 y3("sha256").update(u).digest("hex")}catch{let u=O2.join(D,"bun.lock"),E=await Y2.readFile(u,"utf-8");return y3("sha256").update(E).digest("hex")}}catch{return null}};var CF=async(D,F,u)=>{let E=await U0(u),B={entries:D.entries,packages:D.packages,references:D.referenceManager.getAllReferences(),packageLockHash:E||void 0},C=J2.join(F,"index.json");await BF.writeFile(C,JSON.stringify(B,null,2))},W2=async(D)=>{try{let F=J2.join(D,"index.json"),u=await BF.readFile(F,"utf-8");return JSON.parse(u)}catch{return null}};var h3=(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},d3=(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)=>h3(F))},G2=(D,F)=>{try{let u=JSON.parse(D);if(!d3(u))return null;return u}catch{return null}};import*as p3 from"fs/promises";import*as A2 from"path";var $F=async(D,F,u)=>{let E=A2.join(D,".index.json");try{let B=await p3.readFile(E,"utf-8"),C=G2(B,E);if(!C)return;for(let $ of C.files){if(!$.url)continue;let X=A2.join(D,$.filename),Q=u.referenceManager.generateId({packageName:F.name,packageVersion:F.version,filePath:X});u.referenceManager.set(Q,{packageName:F.name,packageVersion:F.version,filePath:X,resourceType:$.resourceType,url:$.url,version:$.version});let z={id:Q,resourceType:$.resourceType,indexVersion:C["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 J=u.entries[$.url];if(J)J.push(z)}}catch{}};import*as g3 from"fs/promises";import*as XF from"path";var ZF=async(D,F)=>{try{let u=XF.join(D,"package.json"),E=await g3.readFile(u,"utf-8"),B=JSON.parse(E),C={id:{name:B.name,version:B.version},path:D,canonical:B.canonical,fhirVersions:B.fhirVersions};F.packages[B.name]=C,await $F(D,B,F);let $=XF.join(D,"examples");if(await G0(XF.join($,".index.json")))await $F($,B,F)}catch{}};import*as H2 from"fs/promises";import*as q2 from"path";var QF=async(D,F)=>{try{let u=await H2.readdir(D,{withFileTypes:!0});for(let E of u){if(!E.isDirectory())continue;let B=q2.join(D,E.name);if(E.name.startsWith("@")){let C=await H2.readdir(B,{withFileTypes:!0});for(let $ of C){if(!$.isDirectory())continue;let X=q2.join(B,$.name);if(await FF(X))await ZF(X,F)}}else if(await FF(B))await ZF(B,F)}}catch{}};var _2=async(D,F,u,E)=>{if(F.package)try{return await E(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 K2=(D,F)=>{if(F.length===0)return D;let u=F.map((E)=>E.toLowerCase());return D.filter((E)=>{if(!E.url)return!1;let C=[E.url.toLowerCase(),E.type?.toLowerCase()||"",E.resourceType?.toLowerCase()||""].join(" ");return u.every(($)=>{let X=C.split(/[\/\-_\.\s]+/);if(X.some((J)=>J.startsWith($)))return!0;let z=M2[$]||[];for(let J of z)if(X.some((W)=>W.startsWith(J)))return!0;return C.includes($)})})};var pD=(D)=>{let{packages:F=[],workingDir:u}=D,E=D.registry?D.registry.endsWith("/")?D.registry:`${D.registry}/`:x3,B=V2.join(u,"node_modules"),C=V2.join(u,".fcm","cache"),$=EF(),X=!1,Q=new Map,z=()=>{if(!X)throw Error("CanonicalManager not initialized. Call init() first.")},J=async()=>{if(X)return;await A0(u),await A0(C);let U=await U0(u),j=await W2(C);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 uF(F,u,E),$=EF(),await QF(B,$),await CF($,C,u)}X=!0},W=async()=>{$.entries={},$.packages={},$.referenceManager.clear(),Q.clear(),X=!1},Y=async()=>{return z(),Object.values($.packages).map((U)=>U.id)},H=async(...U)=>{if(U.length===0)return;let j=U.filter((S)=>!F.includes(S));if(j.length!==0)F.push(...j);if(!X){await J();return}if(j.length===0)return;await uF(F,u,E),await QF(B,$),await CF($,C,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 m3.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:J,destroy:W,packages:Y,addPackages:H,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 K2(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 ND=await P(g),L=ND.base||[];if(Array.isArray(L)&&L.includes(U))l.push(ND)}return l.sort((g,ND)=>{let L=g.code||"",V=ND.code||"";return L.localeCompare(V)}),Q.set(U,l),l}}};function R2(D){let E=D.path.split(".").slice(1).map(($)=>({el:$}));if(E.length===0)return[];let B=E.length-1,C={};if(D.slicing){if(C.slicing={...D.slicing},D.min!==void 0)C.slicing.min=D.min;if(D.max&&D.max!=="*")C.slicing.max=parseInt(D.max)}if(D.sliceName){if(C.slice={},D.min!==void 0)C.slice.min=D.min;if(D.max&&D.max!=="*")C.slice.max=parseInt(D.max);C.sliceName=D.sliceName}return E[B]={...E[B],...C},E}function U2(D,F){let u=[],E=Math.min(D.length,F.length);for(let B=0;B<E;B++)if(D[B].el===F[B].el)u.push({el:D[B].el});else break;return u}function j2(D,F){let u=[];for(let E=0;E<F.length;E++)if(E<D.length&&D[E].el===F[E].el)u.push({...D[E],...F[E],...D[E].slicing&&!F[E].slicing&&{slicing:D[E].slicing}});else u.push(F[E]);return u}function r8(D,F){return!!(D.sliceName&&F.sliceName&&D.sliceName!==F.sliceName)}function c3(D){return{type:"exit-slice",sliceName:D.sliceName,...D.slicing&&{slicing:D.slicing},...D.slice&&{slice:D.slice}}}function a8(D,F,u,E){let B=[];for(let C=D-1;C>=F;C--){let $=u[C];if($.sliceName)B.push(c3($));B.push({type:"exit",el:$.el})}if(F>0){let C=u[F-1],$=E[F-1];if(r8(C,$))B.push(c3(C))}return B}function e8(D,F,u,E){let B=[];if(D>0&&D<=F){let C=u[D-1]||{},$=E[D-1];if($.sliceName&&(!C.sliceName||C.sliceName!==$.sliceName))B.push({type:"enter-slice",sliceName:$.sliceName});if(D===F)return B}for(let C=D;C<F;C++){let $=E[C];if(B.push({type:"enter",el:$.el}),$.sliceName)B.push({type:"enter-slice",sliceName:$.sliceName})}return B}function zF(D,F){let u=D.length,E=F.length,C=U2(D,F).length,$=a8(u,C,D,F),X=e8(C,E,D,F);return[...$,...X]}function o3(D,F){if(!D)return;return D.find((u)=>u.url===F)}function l3(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 Du(D){let F={};for(let[u,E]of Object.entries(D))if(typeof u==="string"&&u.startsWith("pattern")){let B=l3(u.replace(/^pattern/,""));F.pattern={type:B,value:E}}else if(typeof u==="string"&&u.startsWith("fixed")){let B=l3(u.replace(/^fixed/,""));F.pattern={type:B,value:E}}else F[u]=E;if(F.pattern?.type&&!F.type)F.type=F.pattern.type;return F}function Fu(D){let F=[];for(let u of D)if(u.targetProfile){let E=Array.isArray(u.targetProfile)?u.targetProfile:[u.targetProfile];F.push(...E)}return F.length>0?[...new Set(F)].sort():void 0}function uu(D){if(!D.type||D.type.length===0)return D;if(D.type[0].code==="Reference"){let u=Fu(D.type);return{...D,type:[{code:"Reference"}],...u&&{refers:u}}}return D}function Eu(D,F){let u=(C)=>{let $={strength:C.strength,...C.valueSet&&{valueSet:C.valueSet}},X=o3(C.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName");if(X?.valueString)$.bindingName=X.valueString;return $};if(D.choices){let{binding:C,...$}=D;return $}if(D.choiceOf&&F.snapshot){let C=`${F.id}.${D.choiceOf}[x]`,$=F.snapshot.element.find((X)=>X.path===C);if($?.binding)return{...D,binding:u($.binding)}}if(D.binding?.valueSet)return{...D,binding:u(D.binding)};let{binding:E,...B}=D;return B}function Bu(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 Cu(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 E=D.type[0].code,B={...D,type:E};if(F.kind==="logical"){let C=o3(D.extension,"http://hl7.org/fhir/StructureDefinition/elementdefinition-defaulttype");if(C?.valueCanonical)B.defaultType=C.valueCanonical}return B}function $u(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 Xu(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,E={...D};if(delete E.min,delete E.max,F){if(E.array=!0,D.min&&D.min>0)E.min=D.min;if(D.max&&D.max!=="*")E.max=parseInt(D.max)}if(u)E._required=!0;return E}function Zu(D,F){let u=D.substring(1).split("."),E=[F.url];for(let B of u.slice(1))E.push("elements",B);return E}function Qu(D,F){if(!D.contentReference)return D;let{contentReference:u,...E}=D;return{...E,elementReference:Zu(u,F)}}function zu(D){let{path:F,slicing:u,sliceName:E,id:B,mapping:C,example:$,alias:X,condition:Q,comment:z,definition:J,requirements:W,extension:Y,...H}=D;return H}function L2(D,F){let u=uu(D);return u=zu(u),u=Eu(u,F),u=Bu(u),u=Qu(u,F),u=$u(u),u=Xu(u),u=Cu(u,F),u=Du(u),u}function N2(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 n3(D){if(!D)return D;return D.charAt(0).toUpperCase()+D.slice(1)}function i3(D){let F=D.split("/");return F[F.length-1]}function I2(D){let F=D.path.replace(/\[x\]$/,""),u=F.split(".").pop()||"";if(!D.type)return[];let E=[],B=D.type.map((z)=>u+n3(i3(z.code))),{type:C,binding:$,...X}=D,Q={...X,path:F,choices:B};E.push(Q);for(let z of D.type){let J=n3(i3(z.code)),W={...D,path:F+J,type:[z],choiceOf:u};if(D.binding)delete W.binding;E.push(W)}return E}function t3(D,F){let u=D[D.length-1],E=D.slice(0,-1),B=E[E.length-1],C=F(B,u);return[...E.slice(0,-1),C]}function Yu(D,F){if(!D.discriminator)return{};let u={};for(let E of D.discriminator){if(!E.type||!["pattern","value",void 0].includes(E.type))continue;let B=E.path.trim();if(B==="$this"){if(F.pattern?.value)Object.assign(u,F.pattern.value)}else{let C=B.split(".").filter((z)=>z),$=Object.keys(F).filter((z)=>z.startsWith("pattern"));for(let z of $){let J=z.replace("pattern","").toLowerCase();if(C.length===1&&C[0]===J)u[J]=F[z]}let X=["elements"];for(let z of C)if(X.push(z),C.indexOf(z)<C.length-1)X.push("elements");X.push("pattern");let Q=F;for(let z of X)Q=Q?.[z];if(Q?.value!==void 0){let z=u;for(let J=0;J<C.length-1;J++){if(!z[C[J]])z[C[J]]={};z=z[C[J]]}z[C[C.length-1]]=Q.value}}}return u}function Ou(D,F,u){let E={match:F,schema:D};if(u?.min!==void 0&&u.min!==0)E.min=u.min;if(u?.max!==void 0)E.max=u.max;return E}function Ju(D,F,u){let E=F.slicing||D.slicing||{},B=Yu(E,u),C=Ou(u,B,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]=C,F}function Wu(D){if(!D.slicing?.slices)return{};let F={};for(let[u,E]of Object.entries(D.slicing.slices)){let{match:B,schema:C,...$}=E,{slicing:X,elements:Q,type:z,min:J,...W}=C||{},Y={};if(B?.url)Y.url=B.url;if($.min!==void 0&&$.min!==0)Y.min=$.min;if($.max!==void 0)Y.max=$.max;if(Object.assign(Y,W),J!==void 0&&J!==0&&Y.min===void 0)Y.min=J;F[u]=Y}return F}function Gu(D,F,u){let E={...F};if(D==="extension")E.extensions=Wu(u);if(!E.elements)E.elements={};let B=u.choiceOf||D,{_required:C,...$}=u;if(E.elements[D]=$,C){if(!E.required)E.required=[];if(!E.required.includes(B))E.required.push(B)}return E}function YF(D,F,u){let E=[...D];for(let B=0;B<F.length;B++){let C=F[B],X=F[B+1]?.type==="enter"?{}:u;switch(C.type){case"enter":E.push(X);break;case"enter-slice":E.push(X);break;case"exit":E=t3(E,(Q,z)=>Gu(C.el,Q,z));break;case"exit-slice":E=t3(E,(Q,z)=>Ju(C,Q,z));break}}return E}function s3(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=Au(D),F?.package_meta)u.package_meta=F.package_meta;return u}function Au(D){if(D.kind==="resource"&&D.derivation==="constraint")return"profile";if(D.type==="Extension")return"extension";return D.kind||"unknown"}function Hu(D){return(D.differential?.element||[]).filter((u)=>u.path.includes("."))}function r3(D){let u=Object.entries(D).sort((B,C)=>{let $=B[1].index??1/0,X=C[1].index??1/0;return $-X}),E={};for(let[B,C]of u)if(C.elements)E[B]={...C,elements:r3(C.elements)};else E[B]=C;return E}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={},E=Object.keys(D);for(let B of E)if(B==="elements"&&D[B])u[B]=r3(j0(D[B],F));else if(B==="required"&&Array.isArray(D[B]))u[B]=[...D[B]].sort();else u[B]=j0(D[B],F);return u}return D}function L0(D,F){if(D.kind==="primitive-type")return j0(s3(D,F));let u=s3(D,F),E=Hu(D),B=[u],C=[],$=[...E],X=0;while($.length>0){let z=$.shift();if(N2(z)){let q=I2(z);$.unshift(...q),X++;continue}let J=R2(z),W=j2(C,J),Y=zF(C,W),_={...L2(z,D),index:X++};B=YF(B,Y,_),C=W}let Q=zF(C,[]);if(B=YF(B,Q,{index:X}),B.length!==1)throw Error(`Invalid stack state: expected 1 element, got ${B.length}`);return j0(B[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 e3=async(D,F,u)=>{let E=await D.search({}),B={};for(let Y of E)if(Y.resourceType==="StructureDefinition"){let H=Y.url;B[H]=Y}let C={},$={},[X,Q]=[0,0];for(let Y of Object.values(B)){try{let H=T2(L0(Y),u);C[H.url]=H,$[H.name]=H.url,X++}catch(H){F?.warn(`Failed to convert StructureDefinition ${Y.name||Y.id}: ${H instanceof Error?H.message:String(H)}`),Q++}F?.success(`FHIR Schema conversion completed: ${X}/${Object.values(B).length} successful, ${Q} failed`)}let z={};for(let Y of E)if(Y.resourceType==="ValueSet")z[Y.url]=Y;let J={};for(let Y of Object.values(C))if(Y.kind==="complex-type")J[Y.url]=Y;return{...D,appendFs(Y){let H=T2(Y);C[H.url]=H},resolveFs:(Y)=>C[Y],resolveFsGenealogy:(Y)=>{let H=C[Y];if(!H)return;let _=[H];while(H&&H.base)H=C[H.base],_.push(H);return _},ensureCanonicalUrl:(Y)=>$[Y]||Y,allSd:()=>Object.values(B),resolveSd:(Y)=>B[Y],allFs:()=>Object.values(C),allVs:()=>Object.values(z),complexTypeDict:()=>J}};function b2(D){if(!D)return;return D.split("|")[0]}function qu(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 wD(D){return{kind:qu(D),package:D.package_meta.name,version:D.package_meta.version,name:D.name,url:D.url}}function N0(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}`}}function I0(D,F,u){let E=b2(D)||D,B="unknown",C=E.split("/"),$=C[C.length-1];if($&&$.length>0)B=$.split(/[-_]/).map((X)=>X.charAt(0).toUpperCase()+X.slice(1).toLowerCase()).join("");if(B==="unknown"&&F?.id&&!/^[a-zA-Z0-9_-]{20,}$/.test(F.id))B=F.id;return{kind:"value-set",package:u?.name||F?.package_name||"undefined",version:u?.version||F?.package_version||"undefined",name:B,url:E}}function OF(D,F,u,E){let B=F.join("."),[C,$]=u?[u,`urn:fhir:binding:${u}`]:[`${D.name}.${B}_binding`,`${D.url}#${B}_binding`];return{kind:"binding",package:D.package_meta.name,version:D.package_meta.version,name:C,url:$}}async function D6(D,F){let u=wD(F),E=F.package_meta;if(u.kind!=="profile")throw Error(`Expected profile, got ${u.kind} for ${F.name}`);let B;if(F.base){let J=F.base.includes("/")?F.base:`http://hl7.org/fhir/StructureDefinition/${F.base}`,W=F.base.split("/").pop()||F.base,Y=await _u(J,D),H=J.startsWith("http://hl7.org/fhir/");B={kind:Y,package:H?"hl7.fhir.r4.core":F.package_meta.name||"undefined",version:H?"4.0.1":F.package_meta.version||"undefined",name:W,url:J}}let C={identifier:u,base:B,dependencies:B?[B]:[]};if(F.description)C.description=F.description;let $=Mu(F);if(Object.keys($).length>0)C.metadata=$;if(F.elements){let J=await JF(D,F,[],F.elements);if(J&&Object.keys(J).length>0)C.fields=J}let X=await Ku(F,D);if(Object.keys(X).length>0)C.constraints=X;let Q=await Vu(F,D);if(Q.length>0)C.extensions=Q;let z=Ru(F);if(z.length>0)C.validation=z;return C}async function _u(D,F){try{let u=await F.resolve(D);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 Mu(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 Ku(D,F){let u={};if(!D.elements)return u;for(let[E,B]of Object.entries(D.elements)){let C={};if(B.min!==void 0)C.min=B.min;if(B.max!==void 0)C.max=String(B.max);if(B.mustSupport)C.mustSupport=!0;if(B.fixedValue!==void 0)C.fixedValue=B.fixedValue;if(B.patternValue!==void 0)C.patternValue=B.patternValue;if(B.binding)C.binding={strength:B.binding.strength,valueSet:B.binding.valueSet??""};if(B.type&&Array.isArray(B.type)&&B.type.length>0)C.types=B.type.map(($)=>{let X={code:$.code};if($.profile)X.profile=$.profile;if($.targetProfile)X.targetProfile=$.targetProfile;return X});if(B.slicing)C.slicing={discriminator:B.slicing.discriminator??[],rules:String(B.slicing),ordered:B.slicing.ordered};if(Object.keys(C).length>0)u[E]=C}return u}async function Vu(D,F){let u=[];if(!D.elements)return u;for(let[E,B]of Object.entries(D.elements))if(E.includes("extension")&&B.type&&Array.isArray(B.type)){for(let C of B.type)if(C.code==="Extension"&&C.profile)u.push({path:E,profile:C.profile,min:B.min,max:String(B.max),mustSupport:B.mustSupport})}return u}function Ru(D){let F=[];if(!D.elements)return F;for(let[u,E]of Object.entries(D.elements))if(E.constraint&&Array.isArray(E.constraint))for(let B of E.constraint)F.push({path:u,key:B.key,severity:B.severity,human:B.human,expression:B.expression});return F}function F6(D,F,u){let E=[],B=D.elements;for(let C of F)if(B=B?.[C],!B)break;if(B)E.push(B);return E}function u6(D){if(D.length===0)return{};let F={...D[0]};for(let u=D.length-1;u>=0;u--){let E=D[u],B=["choices","short","index","elements","required","excluded","binding","refers","elementReference","mustSupport","slices","slicing","url","extensions"];for(let[C,$]of Object.entries(E))if(!B.includes(C)&&$!==void 0)F[C]=$}for(let u of["choices","binding","refers","elementReference"])if(D[0]&&D[0][u]!==void 0)F[u]=D[0][u];return F}function E6(D,F,u){if(F.length===0)return!1;let E=F[F.length-1],B=F.slice(0,-1),C=D;for(let $ of B)if(C=C.elements?.[$],!C)break;if(C?.required?.includes(E))return!0;if(B.length===0&&E&&D.required?.includes(E))return!0;return!1}function B6(D,F,u){if(F.length===0)return!1;let E=F[F.length-1],B=F.slice(0,-1),C=D;for(let $ of B)if(C=C.elements?.[$],!C)break;if(C?.excluded?.includes(E))return!0;if(B.length===0&&E&&D.excluded?.includes(E))return!0;return!1}var Uu=(D,F,u)=>{if(!D.refers)return;return D.refers.map((E)=>{let B=F.ensureCanonicalUrl(E),C=F.resolveFs(B);return wD(C)})};function x2(D,F,u,E,B){if(u.elementReference){let C=u.elementReference.filter(($,X)=>X%2===1).map(($)=>$).filter(($)=>$!=="elements");if(C.length>0)return N0(D,C)}if(u.type){let C=u.type.includes("/")?u.type:`http://hl7.org/fhir/StructureDefinition/${u.type}`,$=u.type.match(/^[a-z]/)?"primitive-type":"complex-type",X=C.startsWith("http://hl7.org/fhir/");return{kind:$,package:X?"hl7.fhir.r4.core":B?.name||"undefined",version:X?"4.0.1":B?.version||"undefined",name:u.type,url:C}}return}var WF=(D,F,u,E,B)=>{let C,$;if(u.binding){if(C=OF(D,F,u.binding.bindingName,B),u.binding.strength==="required"&&u.type==="code")$=P2(u,E)}return{type:x2(D,F,u,E,B),required:E6(D,F,E),excluded:B6(D,F,E),reference:Uu(u,E,B),array:u.array||!1,min:u.min,max:u.max,choices:u.choices,choiceOf:u.choiceOf,binding:C}};function T0(D){return D.type==="BackboneElement"||D.elements&&Object.keys(D.elements).length>0||!1}function GF(D,F,u,E,B){return{type:N0(D,F),array:u.array||!1,required:E6(D,F,E),excluded:B6(D,F,E)}}async function ju(D,F){try{let u=b2(D)||D,E=await F.resolve(u);if(!E)return;if(E.expansion?.contains)return E.expansion.contains.map((C)=>({system:C.system,code:C.code,display:C.display}));let B=[];if(E.compose?.include){for(let C of E.compose.include)if(C.concept)for(let $ of C.concept)B.push({system:C.system,code:$.code,display:$.display});else if(C.system&&!C.filter)try{let $=await F.resolve(C.system);if($?.concept){let X=(Q,z)=>{for(let J of Q)if(B.push({system:z,code:J.code,display:J.display}),J.concept)X(J.concept,z)};X($.concept,C.system)}}catch{}}return B.length>0?B:void 0}catch{return}}async function P2(D,F){if(!D.binding)return;let{strength:u,valueSet:E}=D.binding;if(!E)return;if(!(u==="required"||u==="extensible"&&(D.type==="code"||D.type==="Coding")||u==="preferred"&&(D.type==="code"||D.type==="Coding")))return;if(!F.resolve)return;try{let C=await ju(E,F);if(!C||C.length===0)return;let $=C.map((X)=>X.code).filter((X)=>X&&typeof X==="string"&&X.trim().length>0);return $.length>0&&$.length<=100?$:void 0}catch(C){console.debug(`Failed to extract enum values for ${E}: ${C}`);return}}async function Lu(D,F,u,E,B){if(!u.binding?.valueSet)return;let C=OF(D,F,u.binding.bindingName,B),$=x2(D,F,u,E,B),X=I0(u.binding.valueSet,void 0,B),Q=[];if($)Q.push($);Q.push(X);let z=await P2(u,E);return{identifier:C,type:$,valueset:X,strength:u.binding.strength,enum:z,dependencies:Q}}async function S2(D,F){let u=D.package_meta,E=[],B=new Set;async function C(Q,z){for(let[J,W]of Object.entries(Q)){let Y=[...z,J],H=Y.join(".");if(B.has(H))continue;if(B.add(H),W.binding){let _=await Lu(D,Y,W,F,u);if(_)E.push(_)}if(W.elements)await C(W.elements,Y)}}if(D.elements)await C(D.elements,[]);E.sort((Q,z)=>Q.identifier.name.localeCompare(z.identifier.name));let $=[],X=new Set;for(let Q of E)if(!X.has(Q.identifier.url))X.add(Q.identifier.url),$.push(Q);return $}function C6(D,F,u){let E=[];for(let[B,C]of Object.entries(u)){let $=[...F,B];if(T0(C))E.push([$,C]);if(C.elements)E.push(...C6(D,$,C.elements))}return E}async function Nu(D,F,u,E,B){let C={};for(let[$,X]of Object.entries(u)){let Q=[...F,$];if(T0(X))C[$]=GF(D,Q,X,E,B);else C[$]=await WF(D,Q,X,E,B)}return C}async function v2(D,F,u){if(!D.elements)return;let E=[],C=C6(D,[],D.elements).filter(([$,X])=>X.elements&&Object.keys(X.elements).length>0);for(let[$,X]of C){let Q=N0(D,$),z;if(X.type==="BackboneElement"||!X.type)z={kind:"complex-type",package:u?.name||"hl7.fhir.r4.core",version:u?.version||"4.0.1",name:"BackboneElement",url:"http://hl7.org/fhir/StructureDefinition/BackboneElement"};else z={kind:"complex-type",package:u?.name||"hl7.fhir.r4.core",version:u?.version||"4.0.1",name:X.type,url:`http://hl7.org/fhir/StructureDefinition/${X.type}`};let J=await Nu(D,$,X.elements,F,u),W={identifier:Q,base:z,fields:J};E.push(W)}return E.sort(($,X)=>$.identifier.url.localeCompare(X.identifier.url)),E}function f2(D){let F=[];for(let u of D){if(F.push(u.identifier),u.base)F.push(u.base);for(let E of Object.values(u.fields||{})){if("type"in E&&E.type)F.push(E.type);if("binding"in E&&E.binding)F.push(E.binding)}}return F}async function JF(D,F,u,E){if(!E)return;let B={};for(let[C,$]of Object.entries(E)){let X=[...u,C],Q=F6(F,X,D),z=Q.length>0?u6(Q):$;if(T0(z))B[C]=GF(F,X,z,D,F.package_meta);else B[C]=WF(F,X,z,D,F.package_meta)}return B}function $6(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 Iu(D){let F=new Set,u=[];for(let E of D){let B=E.url;if(!F.has(B))F.add(B),u.push(E)}return u.sort((E,B)=>E.name.localeCompare(B.name)),u}function Tu(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 wu(D,F,u){try{let E=wD(D);E.kind="value-set";let B={identifier:E,description:D.description};if(D.elements){let C=[];for(let[$,X]of Object.entries(D.elements))if("code"in X&&X.code)C.push({code:X.code,display:X.short||X.definition,system:X.system});if(C.length>0)B.concept=C}return B}catch(E){return console.warn(`Failed to transform value set ${D.name}: ${E}`),null}}async function bu(D,F,u){try{let E=wD(D),B;if(D.base&&D.base!=="Extension"){let X=D.base.includes("/")?D.base:`http://hl7.org/fhir/StructureDefinition/${D.base}`;B={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:D.base.split("/").pop()||D.base,url:X}}else B={kind:"complex-type",package:"hl7.fhir.r4.core",version:"4.0.1",name:"Extension",url:"http://hl7.org/fhir/StructureDefinition/Extension"};let C={identifier:E,base:B,description:D.description,dependencies:[],metadata:{isExtension:!0}};if(B)C.dependencies.push(B);if(D.elements){let X=await JF(F,D,[],D.elements);if(X&&Object.keys(X).length>0)C.fields=X,C.dependencies.push(...$6(X))}let $=await v2(D,F,u);if($&&$.length>0)C.nested=$,C.dependencies.push(...f2($));return C.dependencies=Iu(C.dependencies),C.dependencies=C.dependencies.filter((X)=>X.url!==E.url),C}catch(E){return console.warn(`Failed to transform extension ${D.name}: ${E}`),null}}function xu(D,F,u,E){let B=[];if(F)B.push(F);if(u)B.push(...$6(u));if(E)B.push(...f2(E));let C={};for(let X of B){if(X.url===D.url)continue;C[X.url]=X}let $=Object.values(C).sort((X,Q)=>X.name.localeCompare(Q.name));return $.length>0?$:void 0}async function Pu(D,F){let u=wD(F),E;if(F.base&&F.type!=="Element"){let z=D.resolveFs(D.ensureCanonicalUrl(F.base));E=wD(z)}let B=await JF(D,F,[],F.elements),C=await v2(F,D,F.package_meta),$=xu(u,E,B,C),X={identifier:u,base:E,fields:B,nested:C,description:F.description,dependencies:$},Q=await S2(F,D);return[X,...Q]}async function X6(D,F){let u=[],E=wD(F);if(E.kind==="profile"){let B=await D6(D,F);u.push(B);let C=await S2(F,D);return u.push(...C),u}if(E.kind==="value-set"||F.kind==="value-set"){let B=await wu(F,D,F.package_meta);if(B)u.push(B);return u}if(Tu(F,E)){let B=await bu(F,D,F.package_meta);if(B)u.push(B);return u}return await Pu(D,F)}async function Su(D,F){try{let u=await F.resolve(D);if(!u||u.resourceType!=="CodeSystem")return;let E=[],B=(C,$)=>{for(let X of C)if(E.push({system:$,code:X.code,display:X.display}),X.concept)B(X.concept,$)};if(u.concept)B(u.concept,D);return E}catch{return}}async function Z6(D,F){let u=[];if(D.concept){for(let E of D.concept)u.push({system:D.system,code:E.code,display:E.display});return u}if(D.system&&!D.filter){let E=await Su(D.system,F);if(E)u.push(...E)}if(D.valueSet)for(let E of D.valueSet)try{let B=await F.resolve(E);if(B){let C=await Q6(B,F);if(C)u.push(...C)}}catch{}return u}async function Q6(D,F){try{let u=[];if(D.compose){if(D.compose.include)for(let E of D.compose.include){let B=await Z6(E,F);u.push(...B)}if(D.compose.exclude){let E=new Set;for(let B of D.compose.exclude){let C=await Z6(B,F);for(let $ of C)E.add(`${$.system}|${$.code}`)}return u.filter((B)=>!E.has(`${B.system}|${B.code}`))}}return u.length>0?u:void 0}catch(u){console.error("Error extracting ValueSet concepts:",u);return}}async function z6(D,F,u){let B={identifier:I0(D.url,D,u)};if(D.description)B.description=D.description;let C=await Q6(D,F);if(C&&C.length>0)B.concept=C;else if(D.compose)B.compose=D.compose;if(D.compose){let $=[],X=(Q)=>{for(let z of Q){if(z.system)$.push({kind:"value-set",package:u?.name||"undefined",version:u?.version||"undefined",name:z.system.split("/").pop()||"unknown",url:z.system});if(z.valueSet)for(let J of z.valueSet)$.push(I0(J,void 0,u))}};if(D.compose.include)X(D.compose.include);if(D.compose.exclude)X(D.compose.exclude)}return B}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(),e3(this.manager)}generateFhirSchemas(D){this.logger.progress(`Converting ${D.length} StructureDefinitions to FHIRSchemas`);let F=this.applyStructureDefinitionTreeshaking(D),u=[],E=0,B=0;for(let C of F)try{let $=L0(C);u.push($),E++,this.logger.debug(`Converted StructureDefinition: ${C.name||C.id} (${C.resourceType})`)}catch($){B++,this.logger.warn(`Failed to convert StructureDefinition ${C.name||C.id}: ${$ instanceof Error?$.message:String($)}`)}return this.logger.success(`FHIR Schema conversion completed: ${E}/${F.length} successful, ${B} 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 E=0,B=0;for(let C of D)try{let $=await z6(C,this.manager,F);if($)u.push($),E++,this.logger.debug(`Converted ValueSet: ${C.name||C.id}`)}catch($){B++,this.logger.warn(`Failed to convert ValueSet ${C.name||C.id}: ${$ instanceof Error?$.message:String($)}`)}this.logger.success(`ValueSet conversion completed: ${E}/${D.length} successful, ${B} failed`)}return u}async generateFromPackage(D,F){if(await this.initializeCache(),this.cache&&!(this.cacheConfig?.forceRegenerate??!1)){let C=this.cache.getByPackage(D);if(C.length>0)return this.logger.info(`Using cached TypeSchemas for package: ${D} (${C.length} schemas)`),C}let u={name:D,version:F||"latest"},E=await this.registerFromPackageMetas([u]),B=[...(await Promise.all(E.allFs().map(async(C)=>await X6(E,C)))).flat(),...await this.generateValueSetSchemas(E.allVs(),u)];if(this.cache)for(let C of B)await this.cache.set(C);return B}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,E=new Map,B=new Map;for(let z of D){let J=z.name||z.id;if(J)u.set(J,z),E.set(J,new Set),B.set(J,new Set)}for(let z of D){let J=z.name||z.id;if(!J)continue;let{realDeps:W,refTargets:Y}=this.extractStructureDefinitionDependenciesWithReferences(z);E.set(J,new Set(W)),B.set(J,new Set(Y))}let C=new Set;for(let z of F)if(u.has(z))C.add(z);else this.logger.warn(`ResourceType '${z}' not found in structure definitions`);let $=(z,J=new Set)=>{if(J.has(z)||!E.has(z))return;J.add(z);let W=E.get(z)||new Set;for(let Y of Array.from(W))if(u.has(Y))C.add(Y),$(Y,J)};for(let z of Array.from(C))$(z);let X=D.filter((z)=>{let J=z.name||z.id;return J&&C.has(J)}),Q=new Set;for(let z of D){let J=z.name||z.id;if(J&&!C.has(J)){if(Array.from(B.values()).some((Y)=>Y.has(J)))Q.add(J)}}if(Q.size>0)this.logger.info(`Excluded reference-only targets: ${Array.from(Q).join(", ")}`);return this.logger.success(`Treeshaking completed: kept ${X.length}/${D.length} structure definitions`),X}extractStructureDefinitionDependenciesWithReferences(D){let F=new Set,u=new Set;if(D.baseDefinition){let E=this.extractResourceNameFromUrl(D.baseDefinition);if(E)F.add(E)}if(D.snapshot?.element||D.differential?.element){let E=D.snapshot?.element||D.differential?.element;for(let B of E)if(B.type)for(let C of B.type){if(C.code){if(F.add(C.code),C.code==="Reference"&&C.targetProfile)for(let $ of C.targetProfile){let X=this.extractResourceNameFromUrl($);if(X)u.add(X)}}if(C.profile)for(let $ of C.profile){let X=this.extractResourceNameFromUrl($);if(X)F.add(X)}}}return{realDeps:Array.from(F),refTargets:Array.from(u)}}extractResourceNameFromUrl(D){let F=D.match(/\/([^/]+)$/);return F?F[1]??null:null}}import{readFile as vu}from"node:fs/promises";class w0{options;constructor(D={}){this.options={format:"auto",validate:!0,strict:!1,...D}}async parseFromFile(D){let F=await vu(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),E;if(u==="ndjson")E=this.parseNDJSON(D);else E=this.parseJSON(D);if(this.options.validate)this.validateSchemas(E);return E}async parseFromFiles(D){let F=[];for(let u of D){let E=await this.parseFromFile(u);F.push(...E)}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 E=u.split(`
95
95
  `).filter((B)=>B.trim());if(E.length>1)try{if(E[0])JSON.parse(E[0]);return"ndjson"}catch{}}return"json"}parseNDJSON(D){let F=[],u=D.split(`
96
96
  `).filter((E)=>E.trim());for(let E of u)try{let B=JSON.parse(E);F.push(this.parseSchema(B))}catch(B){if(this.options.strict)throw Error(`Failed to parse NDJSON line: ${B}`)}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)}}b0();class d2{options;constructor(D){this.options=D}handleError(D,F){if(D instanceof LD)this.handleGeneratorError(D,F);else this.handleUnknownError(D,F)}handleBatchErrors(D){let F=D.filter((E)=>E instanceof LD),u=D.filter((E)=>!(E instanceof LD));if(F.length>0)this.reportBatchErrors(F);u.forEach((E)=>{this.handleUnknownError(E)})}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 E=await MF(F),B=D.verbose??E.verbose??!1,C=jD({verbose:B,prefix:"Generate"});try{if(B2("Starting generation from config"),B)C.info(`Config file: ${u}`),C.info(`Output directory: ${E.outputDir||"./generated"}`),C.info(`Packages: ${E.packages?.length||0}`),C.info(`Files: ${E.files?.length||0}`),C.info(`TypeScript generation: ${E.typescript?"enabled":"disabled"}`);let $=new qF({outputDir:E.outputDir||"./generated",verbose:B,overwrite:E.overwrite??!0,validate:E.validate??!0,cache:E.cache??!0,typeSchemaConfig:E.typeSchema,logger:C});if(E.packages&&E.packages.length>0){C.info(`Loading packages from config: ${E.packages.join(", ")}`);for(let Q of E.packages){let[z,J]=Q.includes("@")?Q.split("@"):[Q,void 0];$.fromPackage(z,J)}}else if(E.files&&E.files.length>0){C.info(`Loading files from config: ${E.files.join(", ")}`);for(let Q of E.files)$.fromFiles(Q)}else throw Error("No data source specified in config. Please configure 'packages' or 'files' in your config file.");if(E.typescript){if(B)C.info("Configuring TypeScript generation from config"),C.debug(`Module format: ${E.typescript.moduleFormat||"esm"}`),C.debug(`Generate index: ${E.typescript.generateIndex??!0}`),C.debug(`Include docs: ${E.typescript.includeDocuments??!1}`),C.debug(`Naming convention: ${E.typescript.namingConvention||"PascalCase"}`);$.typescript(E.typescript)}if(!E.typescript)throw Error("No generators configured. Please enable 'typescript' in your config file.");if(B)$.onProgress((Q,z,J,W)=>{let Y=Math.round(z/J*100);C.progress(`[${Q}] ${Y}% - ${W||"Processing..."}`)});C.step("Executing generation...");let X=await $.generate();if(X.success){if(r0(`Generated ${X.filesGenerated.length} files in ${X.duration.toFixed(2)}ms`),C.dim(`Output directory: ${X.outputDir}`),X.warnings.length>0)for(let Q of X.warnings)E2(Q)}else{VD(`Generation failed with ${X.errors.length} errors`);for(let Q of X.errors)C.dim(` ${Q}`);process.exit(1)}}catch($){VD("Generation failed with unexpected error",$ instanceof Error?$:Error(String($))),process.exit(1)}}};async function iu(D){for(let F of _F){let u=nu(D,F);if(ou(u))return u}return null}import{mkdir as tu,writeFile as su}from"node:fs/promises";import{dirname as ru}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 E=D.singleFile!==void 0?D.singleFile:u.typeSchema?.singleFile??!1,B=E?"ndjson":D.format;F.debug(`Format: ${B}${E&&D.format==="json"?" (forced from json due to singleFile)":""}`);let C=D.treeshake&&D.treeshake.length>0?D.treeshake:u.typeSchema?.treeshake;if(C&&C.length>0)F.info(`Treeshaking enabled for ResourceTypes: ${C.join(", ")}`);if(E)F.info("Single file output enabled (NDJSON format)");let $=Date.now(),X=new gD({verbose:D.verbose,treeshake:C}),Q=[];for(let Y of D.packages){let[q,_]=Y.includes("@")?Y.split("@"):[Y,void 0];F.progress(`Processing package: ${q}${_?`@${_}`:""}`);let H=await X.generateFromPackage(q,_);Q.push(...H)}if(Q.length===0)throw Error("No schemas were generated from the specified packages");let z=D.output;await tu(ru(z),{recursive:!0});let J;if(B==="json")J=JSON.stringify(Q,null,2);else J=Q.map((Y)=>JSON.stringify(Y)).join(`
140
- `);await su(z,J,"utf-8");let W=Date.now()-$;if(X2(`Generated ${Q.length} TypeSchema definitions`,W,{schemas:Q.length}),F.dim(`Output: ${z}`),D.verbose){F.debug("Generated schemas:");let Y=Q.map((q)=>`${q.identifier?.name||"Unknown"} (${q.identifier?.kind||"unknown"})`);C0(Y)}}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){a0("Available typeschema subcommands:"),C0(["generate Generate TypeSchema files from FHIR packages"]),console.log(`
139
+ });`),process.exit(1)}let E=await MF(F),B=D.verbose??E.verbose??!1,C=jD({verbose:B,prefix:"Generate"});try{if(B2("Starting generation from config"),B)C.info(`Config file: ${u}`),C.info(`Output directory: ${E.outputDir||"./generated"}`),C.info(`Packages: ${E.packages?.length||0}`),C.info(`Files: ${E.files?.length||0}`),C.info(`TypeScript generation: ${E.typescript?"enabled":"disabled"}`);let $=new qF({outputDir:E.outputDir||"./generated",verbose:B,overwrite:E.overwrite??!0,validate:E.validate??!0,cache:E.cache??!0,typeSchemaConfig:E.typeSchema,logger:C});if(E.packages&&E.packages.length>0){C.info(`Loading packages from config: ${E.packages.join(", ")}`);for(let Q of E.packages){let[z,J]=Q.includes("@")?Q.split("@"):[Q,void 0];$.fromPackage(z,J)}}else if(E.files&&E.files.length>0){C.info(`Loading files from config: ${E.files.join(", ")}`);for(let Q of E.files)$.fromFiles(Q)}else throw Error("No data source specified in config. Please configure 'packages' or 'files' in your config file.");if(E.typescript){if(B)C.info("Configuring TypeScript generation from config"),C.debug(`Module format: ${E.typescript.moduleFormat||"esm"}`),C.debug(`Generate index: ${E.typescript.generateIndex??!0}`),C.debug(`Include docs: ${E.typescript.includeDocuments??!1}`),C.debug(`Naming convention: ${E.typescript.namingConvention||"PascalCase"}`);$.typescript(E.typescript)}if(!E.typescript)throw Error("No generators configured. Please enable 'typescript' in your config file.");if(B)$.onProgress((Q,z,J,W)=>{let Y=Math.round(z/J*100);C.progress(`[${Q}] ${Y}% - ${W||"Processing..."}`)});C.step("Executing generation...");let X=await $.generate();if(X.success){if(r0(`Generated ${X.filesGenerated.length} files in ${X.duration.toFixed(2)}ms`),C.dim(`Output directory: ${X.outputDir}`),X.warnings.length>0)for(let Q of X.warnings)E2(Q)}else{VD(`Generation failed with ${X.errors.length} errors`);for(let Q of X.errors)C.dim(` ${Q}`);process.exit(1)}}catch($){VD("Generation failed with unexpected error",$ instanceof Error?$:Error(String($))),process.exit(1)}}};async function iu(D){for(let F of _F){let u=nu(D,F);if(ou(u))return u}return null}import{mkdir as tu,writeFile as su}from"node:fs/promises";import{dirname as ru}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 E=D.singleFile!==void 0?D.singleFile:u.typeSchema?.singleFile??!1,B=E?"ndjson":D.format;F.debug(`Format: ${B}${E&&D.format==="json"?" (forced from json due to singleFile)":""}`);let C=D.treeshake&&D.treeshake.length>0?D.treeshake:u.typeSchema?.treeshake;if(C&&C.length>0)F.info(`Treeshaking enabled for ResourceTypes: ${C.join(", ")}`);if(E)F.info("Single file output enabled (NDJSON format)");let $=Date.now(),X=new gD({verbose:D.verbose,treeshake:C}),Q=[];for(let Y of D.packages){let[H,_]=Y.includes("@")?Y.split("@"):[Y,void 0];F.progress(`Processing package: ${H}${_?`@${_}`:""}`);let q=await X.generateFromPackage(H,_);Q.push(...q)}if(Q.length===0)throw Error("No schemas were generated from the specified packages");let z=D.output;await tu(ru(z),{recursive:!0});let J;if(B==="json")J=JSON.stringify(Q,null,2);else J=Q.map((Y)=>JSON.stringify(Y)).join(`
140
+ `);await su(z,J,"utf-8");let W=Date.now()-$;if(X2(`Generated ${Q.length} TypeSchema definitions`,W,{schemas:Q.length}),F.dim(`Output: ${z}`),D.verbose){F.debug("Generated schemas:");let Y=Q.map((H)=>`${H.identifier?.name||"Unknown"} (${H.identifier?.kind||"unknown"})`);C0(Y)}}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){a0("Available typeschema subcommands:"),C0(["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:`),C0(["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))VD(`Unknown typeschema subcommand: ${D.subcommand}
143
143
  `),a0("Available typeschema subcommands:"),C0(["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(`
@@ -4,7 +4,7 @@
4
4
  * Functions for creating TypeSchema identifiers from FHIRSchema entities
5
5
  */
6
6
  import type { FHIRSchema } from "@atomic-ehr/fhirschema";
7
- import type { BindingIdentifier, Identifier, NestedIdentifier, PackageMeta, RichFHIRSchema, TypeSchemaForValueSet } from "../types";
7
+ import type { BindingIdentifier, Identifier, NestedIdentifier, PackageMeta, RichFHIRSchema, TypeSchemaForValueSet } from "@typeschema/types";
8
8
  export declare function dropVersionFromUrl(url: string | undefined): string | undefined;
9
9
  export declare function mkIdentifier(fhirSchema: RichFHIRSchema): Identifier;
10
10
  export declare function mkNestedIdentifier(fhirSchema: RichFHIRSchema, path: string[]): NestedIdentifier;
@@ -61,18 +61,20 @@ export function mkValueSetIdentifier(valueSetUrl, valueSet, packageInfo) {
61
61
  kind: "value-set",
62
62
  package: packageInfo?.name || valueSet?.package_name || "undefined",
63
63
  version: packageInfo?.version || valueSet?.package_version || "undefined",
64
- name,
64
+ name: name,
65
65
  url: cleanUrl,
66
66
  };
67
67
  }
68
68
  export function mkBindingIdentifier(fhirSchema, path, bindingName, packageInfo) {
69
69
  const pathStr = path.join(".");
70
- const name = bindingName || `${fhirSchema.name}.${pathStr}_binding`;
70
+ const [name, url] = bindingName
71
+ ? [bindingName, `urn:fhir:binding:${bindingName}`]
72
+ : [`${fhirSchema.name}.${pathStr}_binding`, `${fhirSchema.url}#${pathStr}_binding`];
71
73
  return {
72
74
  kind: "binding",
73
- package: packageInfo?.name || fhirSchema.package_meta.name || "undefined",
74
- version: packageInfo?.version || fhirSchema.package_meta.version || "undefined",
75
- name,
76
- url: bindingName ? `urn:fhir:binding:${name}` : `${fhirSchema.url}#${pathStr}_binding`,
75
+ package: fhirSchema.package_meta.name,
76
+ version: fhirSchema.package_meta.version,
77
+ name: name,
78
+ url: url,
77
79
  };
78
80
  }
@@ -1,13 +1,13 @@
1
1
  import { CanonicalManager } from "@atomic-ehr/fhir-canonical-manager";
2
- import type { FHIRSchema, StructureDefinition } from "@atomic-ehr/fhirschema";
2
+ import type { FHIRSchema, FHIRSchemaElement, StructureDefinition } from "@atomic-ehr/fhirschema";
3
3
  import type { CodegenLogger } from "@root/utils/codegen-logger";
4
- import { type PackageMeta, type RichFHIRSchema } from "@typeschema/types";
4
+ import type { CanonicalUrl, Name, PackageMeta, RichFHIRSchema } from "@typeschema/types";
5
5
  export type Register = {
6
6
  appendFs(fs: FHIRSchema): void;
7
- ensureCanonicalUrl(canonicalUrl: string): string;
8
- resolveSd(canonicalUrl: string): StructureDefinition | undefined;
9
- resolveFs(canonicalUrl: string): RichFHIRSchema | undefined;
10
- resolveFSGenealogy(canonicalUrl: string): RichFHIRSchema[] | undefined;
7
+ ensureCanonicalUrl(name: Name | CanonicalUrl): CanonicalUrl;
8
+ resolveSd(canonicalUrl: CanonicalUrl): StructureDefinition | undefined;
9
+ resolveFs(canonicalUrl: CanonicalUrl): RichFHIRSchema | undefined;
10
+ resolveFsGenealogy(canonicalUrl: CanonicalUrl): RichFHIRSchema[] | undefined;
11
11
  allSd(): StructureDefinition[];
12
12
  allFs(): RichFHIRSchema[];
13
13
  allVs(): any[];
@@ -15,3 +15,4 @@ export type Register = {
15
15
  } & ReturnType<typeof CanonicalManager>;
16
16
  export declare const registerFromManager: (manager: ReturnType<typeof CanonicalManager>, logger?: CodegenLogger, packageInfo?: PackageMeta) => Promise<Register>;
17
17
  export declare const registerFromPackageMetas: (packageMetas: PackageMeta[], logger?: CodegenLogger) => Promise<Register>;
18
+ export declare const resolveFsElementGenealogy: (genealogy: RichFHIRSchema[], path: string[]) => FHIRSchemaElement[];
@@ -6,7 +6,8 @@ export const registerFromManager = async (manager, logger, packageInfo) => {
6
6
  const structureDefinitions = {};
7
7
  for (const resource of resources) {
8
8
  if (resource.resourceType === "StructureDefinition") {
9
- structureDefinitions[resource.url] = resource;
9
+ const url = resource.url;
10
+ structureDefinitions[url] = resource;
10
11
  }
11
12
  }
12
13
  const fhirSchemas = {};
@@ -14,8 +15,7 @@ export const registerFromManager = async (manager, logger, packageInfo) => {
14
15
  let [success, failed] = [0, 0];
15
16
  for (const sd of Object.values(structureDefinitions)) {
16
17
  try {
17
- const fs = fhirschema.translate(sd);
18
- const rfs = enrichFHIRSchema(fs, packageInfo);
18
+ const rfs = enrichFHIRSchema(fhirschema.translate(sd), packageInfo);
19
19
  fhirSchemas[rfs.url] = rfs;
20
20
  nameDict[rfs.name] = rfs.url;
21
21
  success++;
@@ -24,7 +24,7 @@ export const registerFromManager = async (manager, logger, packageInfo) => {
24
24
  logger?.warn(`Failed to convert StructureDefinition ${sd.name || sd.id}: ${error instanceof Error ? error.message : String(error)}`);
25
25
  failed++;
26
26
  }
27
- logger?.success(`FHIR Schema conversion completed: ${success}/${structureDefinitions.length} successful, ${failed} failed`);
27
+ logger?.success(`FHIR Schema conversion completed: ${success}/${Object.values(structureDefinitions).length} successful, ${failed} failed`);
28
28
  }
29
29
  const valueSets = {};
30
30
  for (const resource of resources) {
@@ -38,7 +38,7 @@ export const registerFromManager = async (manager, logger, packageInfo) => {
38
38
  complexTypes[fs.url] = fs;
39
39
  }
40
40
  }
41
- const resolveFSGenealogy = (canonicalUrl) => {
41
+ const resolveFsGenealogy = (canonicalUrl) => {
42
42
  let fs = fhirSchemas[canonicalUrl];
43
43
  if (!fs)
44
44
  return undefined;
@@ -52,11 +52,12 @@ export const registerFromManager = async (manager, logger, packageInfo) => {
52
52
  return {
53
53
  ...manager,
54
54
  appendFs(fs) {
55
- fhirSchemas[fs.url] = enrichFHIRSchema(fs);
55
+ const rfs = enrichFHIRSchema(fs);
56
+ fhirSchemas[rfs.url] = rfs;
56
57
  },
57
58
  resolveFs: (canonicalUrl) => fhirSchemas[canonicalUrl],
58
- resolveFSGenealogy: resolveFSGenealogy,
59
- ensureCanonicalUrl: (canonicalUrl) => nameDict[canonicalUrl] || canonicalUrl,
59
+ resolveFsGenealogy: resolveFsGenealogy,
60
+ ensureCanonicalUrl: (name) => nameDict[name] || name,
60
61
  allSd: () => Object.values(structureDefinitions),
61
62
  resolveSd: (canonicalUrl) => structureDefinitions[canonicalUrl],
62
63
  allFs: () => Object.values(fhirSchemas),
@@ -75,3 +76,19 @@ export const registerFromPackageMetas = async (packageMetas, logger) => {
75
76
  // Pass package info from the first package (assuming single package for now)
76
77
  return await registerFromManager(manager, logger, packageMetas[0]);
77
78
  };
79
+ export const resolveFsElementGenealogy = (genealogy, path) => {
80
+ const [top, ...rest] = path;
81
+ if (top === undefined)
82
+ return [];
83
+ return genealogy
84
+ .map((fs) => {
85
+ if (!fs.elements)
86
+ return undefined;
87
+ let elem = fs.elements?.[top];
88
+ for (const k of rest) {
89
+ elem = elem?.elements?.[k];
90
+ }
91
+ return elem;
92
+ })
93
+ .filter((elem) => elem !== undefined);
94
+ };
@@ -4,19 +4,28 @@
4
4
  */
5
5
  import type { CanonicalManager } from "@atomic-ehr/fhir-canonical-manager";
6
6
  import type * as FS from "@atomic-ehr/fhirschema";
7
+ export type Name = string & {
8
+ readonly __brand: unique symbol;
9
+ };
10
+ export type CanonicalUrl = string & {
11
+ readonly __brand: unique symbol;
12
+ };
7
13
  export interface PackageMeta {
8
14
  name: string;
9
15
  version: string;
10
16
  }
11
- export type RichFHIRSchema = Omit<FS.FHIRSchema, "package_meta"> & {
17
+ export type RichFHIRSchema = Omit<FS.FHIRSchema, "package_meta" | "base" | "name" | "url"> & {
12
18
  package_meta: PackageMeta;
19
+ name: Name;
20
+ url: CanonicalUrl;
21
+ base: CanonicalUrl;
13
22
  };
14
23
  export declare const enrichFHIRSchema: (schema: FS.FHIRSchema, packageMeta?: PackageMeta) => RichFHIRSchema;
15
24
  type IdentifierBase = {
16
- name: string;
25
+ name: Name;
26
+ url: CanonicalUrl;
17
27
  package: string;
18
28
  version: string;
19
- url: string;
20
29
  };
21
30
  type PrimitiveIdentifier = {
22
31
  kind: "primitive-type";
@@ -9,6 +9,9 @@ export const enrichFHIRSchema = (schema, packageMeta) => {
9
9
  return {
10
10
  ...schema,
11
11
  package_meta: schema.package_meta || packageMeta,
12
+ name: schema.name,
13
+ url: schema.url,
14
+ base: schema.base,
12
15
  };
13
16
  };
14
17
  export function isBindingSchema(schema) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomic-ehr/codegen",
3
- "version": "0.0.1-canary.20250930124137.175bd5f",
3
+ "version": "0.0.1-canary.20250930143834.b0fdeaa",
4
4
  "description": "Code generation tools for FHIR resources and TypeSchema definitions",
5
5
  "keywords": [
6
6
  "fhir",