@atomic-ehr/codegen 0.0.1-canary.20250930075344.1c0b689 → 0.0.1-canary.20250930124137.175bd5f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -13,20 +13,20 @@ import{createRequire as w6}from"node:module";var N6=Object.create;var{getPrototy
13
13
  `).trim()}
14
14
  `}generateSimpleExports(D){D.push("// Exports");let F=Array.from(this.exports.entries());if(this.sortFunction)F=F.sort(this.sortFunction);else F=F.sort(([E],[B])=>E.localeCompare(B));let u=new Map;for(let[E,B]of F){if(!u.has(B))u.set(B,[]);u.get(B)?.push(E)}for(let[E,B]of u){let C=B.sort();if(C.length===1)D.push(`export type { ${C[0]} } from './${E}';`);else if(C.length<=3)D.push(`export type { ${C.join(", ")} } from './${E}';`);else D.push("export type {"),C.forEach(($,X)=>{let Q=X===C.length-1;D.push(` ${$}${Q?"":","}`)}),D.push(`} from './${E}';`)}}generateGroupedExports(D){if(!this.groupingFunction)return;let F=new Map;for(let[E,B]of this.exports){let C=this.groupingFunction(E);if(!F.has(C))F.set(C,new Map);let $=F.get(C);if(!$.has(B))$.set(B,[]);$.get(B)?.push(E)}let u=Array.from(F.entries()).sort();for(let[E,B]of u){D.push(`// ${E}`);for(let[C,$]of B){let X=$.sort();if(X.length===1)D.push(`export type { ${X[0]} } from './${C}';`);else D.push(`export type { ${X.join(", ")} } from './${C}';`)}D.push("")}}getExports(){return new Map(this.exports)}getNamespaces(){return new Map(this.namespaces)}getReExports(){return new Map(this.reExports)}}import{notStrictEqual as O8,strictEqual as J8}from"assert";var b6={right:S6,center:v6};class E1{constructor(D){var F;this.width=D.width,this.wrap=(F=D.wrap)!==null&&F!==void 0?F:!0,this.rows=[]}span(...D){let F=this.div(...D);F.span=!0}resetOutput(){this.rows=[]}div(...D){if(D.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...D)&&typeof D[0]==="string")return this.applyLayoutDSL(D[0]);let F=D.map((u)=>{if(typeof u==="string")return this.colFromString(u);return u});return this.rows.push(F),F}shouldApplyLayoutDSL(...D){return D.length===1&&typeof D[0]==="string"&&/[\t\n]/.test(D[0])}applyLayoutDSL(D){let F=D.split(`
15
15
  `).map((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
- `)}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 O=b6[D[$].align];if(z=O(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(`
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[O,W]of D.split(" ").entries()){if(u.trim!==!1)X[X.length-1]=X.at(-1).trimStart();let q=RD(X.at(-1));if(O!==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&&$[O]>F){let _=F-q,H=1+Math.floor(($[O]-_-1)/F);if(Math.floor(($[O]-1)/F)<H)X.push("");NF(X,W,F);continue}if(q+$[O]>F&&q>0&&$[O]>0){if(u.wordWrap===!1&&q<F){NF(X,W,F);continue}X.push("")}if(q+$[O]>F&&u.wordWrap===!1){NF(X,W,F);continue}X[X.length-1]+=W}if(u.trim!==!1)X=X.map((O)=>n6(O));let Q=X.join(`
19
- `),z=[...Q],J=0;for(let[O,W]of z.entries()){if(E+=W,S0.has(W)){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[O+1]===`
20
- `){if(C)E+=H1("");if(B&&q)E+=A1(q)}else if(W===`
21
- `){if(B&&q)E+=A1(B);if(C)E+=H1(C)}J+=W.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 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
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--"],O=J?"--":"_",W=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(Y){let A=typeof Y==="object"?Y.key:Y,K=Object.keys(Y).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(Y){H.bools[Y]=!0,H.keys.push(Y)}),[].concat(u.string||[]).filter(Boolean).forEach(function(Y){H.strings[Y]=!0,H.keys.push(Y)}),[].concat(u.number||[]).filter(Boolean).forEach(function(Y){H.numbers[Y]=!0,H.keys.push(Y)}),[].concat(u.count||[]).filter(Boolean).forEach(function(Y){H.counts[Y]=!0,H.keys.push(Y)}),[].concat(u.normalize||[]).filter(Boolean).forEach(function(Y){H.normalize[Y]=!0,H.keys.push(Y)}),typeof u.narg==="object")Object.entries(u.narg).forEach(([Y,A])=>{if(typeof A==="number")H.nargs[Y]=A,H.keys.push(Y)});if(typeof u.coerce==="object")Object.entries(u.coerce).forEach(([Y,A])=>{if(typeof A==="function")H.coercions[Y]=A,H.keys.push(Y)});if(typeof u.config<"u"){if(Array.isArray(u.config)||typeof u.config==="string")[].concat(u.config).filter(Boolean).forEach(function(Y){H.configs[Y]=!0});else if(typeof u.config==="object")Object.entries(u.config).forEach(([Y,A])=>{if(typeof A==="boolean"||typeof A==="function")H.configs[Y]=A})}H0(u.key,C,u.default,H.arrays),Object.keys(X).forEach(function(Y){(H.aliases[Y]||[]).forEach(function(A){X[A]=X[Y]})});let p=null;KF();let QD=[],d=Object.assign(Object.create(null),{_:[]}),U={};for(let Y=0;Y<E.length;Y++){let A=E[Y],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))Y=l(Y,R[1],E,R[2]);else if(v(R[1],H.nargs)!==!1)Y=S(Y,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))Y=l(Y,G,E);else if(v(G,H.nargs)!==!1)Y=S(Y,G,E);else if(x=E[Y+1],x!==void 0&&(!x.match(/^-/)||x.match(P))&&!v(G,H.bools)&&!v(G,H.counts))g(G,x),Y++;else if(/^(true|false)$/.test(x))g(G,x),Y++;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[Y+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),Y++;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))Y=l(Y,G,E,XD);else if(v(G,H.nargs)!==!1)Y=S(Y,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))Y=l(Y,G,E);else if(v(G,H.nargs)!==!1)Y=S(Y,G,E);else if(x=E[Y+1],x!==void 0&&(!/^(-|--)[^-]/.test(x)||x.match(P))&&!v(G,H.bools)&&!v(G,H.counts))g(G,x),Y++;else if(/^(true|false)$/.test(x))g(G,x),Y++;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(Y+1);break}else if($["halt-at-non-option"]){QD=E.slice(Y);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(Y){if(!t(d,Y.split(".")))g(Y,0)}),J&&QD.length)d[O]=[];if(QD.forEach(function(Y){d[O].push(Y)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(d).filter((Y)=>Y!=="--"&&Y.includes("-")).forEach((Y)=>{delete d[Y]});if($["strip-aliased"])[].concat(...Object.keys(C).map((Y)=>C[Y])).forEach((Y)=>{if($["camel-case-expansion"]&&Y.includes("-"))delete d[Y.split(".").map((A)=>cD(A)).join(".")];delete d[Y]});function j(Y){let A=V("_",Y);if(typeof A==="string"||typeof A==="number")d._.push(A)}function S(Y,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)),Y}let R=CD(M)?0:1;if($["nargs-eats-options"]){if(K.length-(Y+1)+R<T)p=Error(_("Not enough arguments following: %s",A));R=T}else{for(G=Y+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=Y+1;G<x+Y+1;G++)g(A,K[G]);return Y+x}function l(Y,A,K,M){let G=[],T=M||K[Y+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=Y+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;Y=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),Y}function g(Y,A,K=B){if(/-/.test(Y)&&$["camel-case-expansion"]){let T=Y.split(".").map(function(R){return cD(R)}).join(".");ND(Y,T)}let M=L(Y,A,K),G=Y.split(".");if(bD(d,G,M),H.aliases[Y])H.aliases[Y].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[Y]||[]).includes(R.join(".")))bD(d,R,M)});if(v(Y,H.normalize)&&!v(Y,H.arrays))[Y].concat(H.aliases[Y]||[]).forEach(function(R){Object.defineProperty(U,R,{enumerable:!0,get(){return A},set(x){A=typeof x==="string"?xD.normalize(x):x}})})}function ND(Y,A){if(!(H.aliases[Y]&&H.aliases[Y].length))H.aliases[Y]=[A],W[A]=!0;if(!(H.aliases[A]&&H.aliases[A].length))ND(A,Y)}function L(Y,A,K){if(K)A=a6(A);if(v(Y,H.bools)||v(Y,H.counts)){if(typeof A==="string")A=A==="true"}let M=Array.isArray(A)?A.map(function(G){return V(Y,G)}):V(Y,A);if(v(Y,H.counts)&&(CD(M)||typeof M==="boolean"))M=xF();if(v(Y,H.normalize)&&v(Y,H.arrays))if(Array.isArray(A))M=A.map((G)=>{return xD.normalize(G)});else M=xD.normalize(A);return M}function V(Y,A){if(!$["parse-positional-numbers"]&&Y==="_")return A;if(!v(Y,H.strings)&&!v(Y,H.bools)&&!Array.isArray(A)){if(f0(A)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${A}`)))||!CD(A)&&v(Y,H.numbers))A=Number(A)}return A}function w(Y){let A=Object.create(null);PD(A,H.aliases,X),Object.keys(H.configs).forEach(function(K){let M=Y[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(Y[K])p=Error(_("Invalid JSON config file: %s",M))}})}function y(Y,A){Object.keys(Y).forEach(function(K){let M=Y[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(Y){y(Y)})}function uD(Y,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(Y,T))g(T.join("."),M[G])}})}function o(Y){let A,K=new Set;Object.keys(Y).forEach(function(M){if(!K.has(M)){if(A=v(M,H.coercions),typeof A==="function")try{let G=V(M,A(Y[M]));[].concat(H.aliases[M]||[],M).forEach((T)=>{K.add(T),Y[T]=G})}catch(G){p=G}}})}function ED(Y){return H.keys.forEach((A)=>{if(~A.indexOf("."))return;if(typeof Y[A]>"u")Y[A]=void 0}),Y}function PD(Y,A,K,M=!1){Object.keys(K).forEach(function(G){if(!t(Y,G.split("."))){if(bD(Y,G.split("."),K[G]),M)q[G]=!0;(A[G]||[]).forEach(function(T){if(t(Y,T.split(".")))return;bD(Y,T.split("."),K[G])})}})}function t(Y,A){let K=Y;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(Y,A,K){let M=Y;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(...Y){Y.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),W[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),W[G]=!0}}),H.aliases[K].forEach(function(M){H.aliases[M]=[K].concat(H.aliases[K].filter(function(G){return M!==G}))})})})}function v(Y,A){let K=[].concat(H.aliases[Y]||[],Y),M=Object.keys(A),G=K.find((T)=>M.includes(T));return G?A[G]:!1}function Q0(Y){let A=Object.keys(H);return[].concat(A.map((M)=>H[M])).some(function(M){return Array.isArray(M)?M.includes(Y):M[Y]})}function r2(Y,...A){return[].concat(...A).some(function(M){let G=Y.match(M);return G&&Q0(G[1])})}function f(Y){if(Y.match(P)||!Y.match(/^-[^-]+/))return!1;let A=!0,K,M=Y.slice(1).split("");for(let G=0;G<M.length;G++){if(K=Y.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(Y){return $["unknown-options-as-args"]&&BD(Y)}function BD(Y){if(Y=Y.replace(/^-{3,}/,"--"),Y.match(P))return!1;if(f(Y))return!1;return!r2(Y,/^-+([^=]+?)=[\s\S]*$/,c,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function m(Y){if(!v(Y,H.bools)&&!v(Y,H.counts)&&`${Y}`in X)return X[Y];else return zD(e(Y))}function zD(Y){return{[qD.BOOLEAN]:!0,[qD.STRING]:"",[qD.NUMBER]:void 0,[qD.ARRAY]:[]}[Y]}function e(Y){let A=qD.BOOLEAN;if(v(Y,H.strings))A=qD.STRING;else if(v(Y,H.numbers))A=qD.NUMBER;else if(v(Y,H.bools))A=qD.BOOLEAN;else if(v(Y,H.arrays))A=qD.ARRAY;return A}function CD(Y){return Y===void 0}function KF(){Object.keys(H.counts).find((Y)=>{if(v(Y,H.arrays))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.array.",Y)),!0;else if(v(Y,H.nargs))return p=Error(_("Invalid configuration: %s, opts.count excludes opts.narg.",Y)),!0;return!1})}return{aliases:Object.assign({},H.aliases),argv:Object.assign(U,d),configuration:$,defaulted:Object.assign({},q),error:p,newAliases:Object.assign({},W)}}}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((O)=>{let W=Q.shift(),q=d1(W);if(O.cmd.filter((H)=>H===q||H==="*").length===0)p1(q,O.cmd,B);B+=1}),C.optional.forEach((O)=>{if(Q.length===0)return;let W=Q.shift(),q=d1(W);if(O.cmd.filter((H)=>H===q||H==="*").length===0)p1(q,O.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),O=F(J),W=Object.create(null,Object.getOwnPropertyDescriptors({...O}));if($(W,J,Q)){if(this.requireCache.has(J))continue;else this.requireCache.add(J);if(!W.command)W.command=this.shim.path.basename(J,this.shim.path.extname(J));this.addHandler(W)}}}}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((O)=>SD(O).cmd);let z=!1,J=[Q.cmd].concat($).filter((O)=>{if(Y0.test(O))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((O)=>{this.aliasMap[O]=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((O)=>this.applyMiddlewareAndGetResult(z,$,O.innerArgv,X,B,O.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((O)=>{return z=o1(O)?O: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 O=[];E.example=(L,V)=>{O.push([L,V||""])};let W=[];E.command=function(V,w,y,n,uD=!1){if(y)W=W.map((o)=>{return o[2]=!1,o});W.push([V,w||"",y,n,uD])},E.getCommands=()=>W;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(W.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),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")}>
26
26
  `;else f=`${V} [${u("command")}]
27
- `;t.div(`${f}`)}}if(W.length>1||W.length===1&&!W[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)W=W.sort((m,zD)=>m[0].localeCompare(zD[0]));let BD=V?`${V} `:"";W.forEach((m)=>{let zD=`${BD}${i}${m[0].replace(/^\$0 ?/,"")}`;t.span({text:zD,padding:[0,2,0,2],width:p(W,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")}]`,Y=[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(Y&&!A)t.div({text:Y,padding:[0,0,0,2],align:"right"});else t.div()}),t.div()}),O.length)t.div(u("Examples:")),O.forEach((f)=>{f[0]=f[0].replace(/\$0/g,V)}),O.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(O,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=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(`
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,_=[],O=[],W=[],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:O,commands:W,descriptions:q})},E.unfreeze=function(V=!1){let w=ND.pop();if(!w)return;if(V)q={...w.descriptions,...q},W=[...w.commands,...W],z=[...w.usages,...z],O=[...w.examples,...O],_=[...w.epilogs,..._];else({failMessage:C,failureOutput:Q,usages:z,usageDisabled:J,epilogs:_,examples:O,commands:W,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(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-###
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 W=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=W[P];return typeof c==="string"&&c.length>0}),_=q?W[q]:void 0,H=(X=($=W[D])!==null&&$!==void 0?$:_)!==null&&X!==void 0?X:"";Q=`${D.replace(/:/g,"\\:")}:${H.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let z=(W)=>/^--/.test(W),J=(W)=>/^[^0-9]$/.test(W),O=!z(u)&&J(D)?"-":"--";if(F.push(O+Q),E)F.push(O+"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(O){let W=D.getDemandedCommands(),_=O._.length+(O["--"]?O["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(W._&&(_<W._.min||_>W._.max)){if(_<W._.min)if(W._.minMsg!==void 0)F.fail(W._.minMsg?W._.minMsg.replace(/\$0/g,_.toString()).replace(/\$1/,W._.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(),W._.min.toString()));else if(_>W._.max)if(W._.maxMsg!==void 0)F.fail(W._.maxMsg?W._.maxMsg.replace(/\$0/g,_.toString()).replace(/\$1/,W._.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(),W._.max.toString()))}},C.positionalCount=function(O,W){if(W<O)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",W,W+"",O+""))},C.requiredArguments=function(O,W){let q=null;for(let _ of Object.keys(W))if(!Object.prototype.hasOwnProperty.call(O,_)||typeof O[_]>"u")q=q||{},q[_]=W[_];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(),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?`
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(O,W,q,_,H=!0){var P;let c=D.getInternalMethods().getCommandInstance().getCommands(),p=[],QD=D.getInternalMethods().getContext();if(Object.keys(O).forEach((d)=>{if(!D3.includes(d)&&!Object.prototype.hasOwnProperty.call(q,d)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),d)&&!C.isValidAndSomeAliasIsNotNew(d,W))p.push(d)}),H&&(QD.commands.length>0||c.length>0||_))O._.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<O._.length)O._.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(O){let W=D.getInternalMethods().getCommandInstance().getCommands(),q=[],_=D.getInternalMethods().getContext();if(_.commands.length>0||W.length>0)O._.slice(_.commands.length).forEach((H)=>{if(!W.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(O,W){if(!Object.prototype.hasOwnProperty.call(W,O))return!1;let q=D.parsed.newAliases;return[O,...W[O]].some((_)=>!Object.prototype.hasOwnProperty.call(q,_)||!q[O])},C.limitedChoices=function(O){let W=D.getOptions(),q={};if(!Object.keys(W.choices).length)return;Object.keys(O).forEach((P)=>{if(D3.indexOf(P)===-1&&Object.prototype.hasOwnProperty.call(W.choices,P))[].concat(O[P]).forEach((c)=>{if(W.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(W.choices[P]))}`}),F.fail(H)};let $={};C.implies=function(O,W){if(N("<string|object> [array|number|string]",[O,W],arguments.length),typeof O==="object")Object.keys(O).forEach((q)=>{C.implies(q,O[q])});else{if(D.global(O),!$[O])$[O]=[];if(Array.isArray(W))W.forEach((q)=>C.implies(O,q));else OD(W,void 0,u),$[O].push(W)}},C.getImplied=function(){return $};function X(J,O){let W=Number(O);if(O=isNaN(W)?O:W,typeof O==="number")O=J._.length>=O;else if(O.match(/^--no-.+/))O=O.match(/^--no-(.+)/)[1],O=!Object.prototype.hasOwnProperty.call(J,O);else O=Object.prototype.hasOwnProperty.call(J,O);return O}C.implications=function(O){let W=[];if(Object.keys($).forEach((q)=>{let _=q;($[q]||[]).forEach((H)=>{let P=_,c=H;if(P=X(O,P),H=X(O,H),P&&!H)W.push(` ${_} -> ${c}`)})}),W.length){let q=`${E("Implications failed:")}
89
- `;W.forEach((_)=>{q+=_}),F.fail(q)}};let Q={};C.conflicts=function(O,W){if(N("<string|object> [array|string]",[O,W],arguments.length),typeof O==="object")Object.keys(O).forEach((q)=>{C.conflicts(q,O[q])});else{if(D.global(O),!Q[O])Q[O]=[];if(Array.isArray(W))W.forEach((q)=>C.conflicts(O,q));else Q[O].push(W)}},C.getConflicting=()=>Q,C.conflicting=function(O){if(Object.keys(O).forEach((W)=>{if(Q[W])Q[W].forEach((q)=>{if(q&&O[W]!==void 0&&O[q]!==void 0)F.fail(E("Arguments %s and %s are mutually exclusive",W,q))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Q).forEach((W)=>{Q[W].forEach((q)=>{if(q&&O[u.Parser.camelCase(W)]!==void 0&&O[u.Parser.camelCase(q)]!==void 0)F.fail(E("Arguments %s and %s are mutually exclusive",W,q))})})},C.recommendCommands=function(O,W){W=W.sort((P,c)=>c.length-P.length);let _=null,H=1/0;for(let P=0,c;(c=W[P])!==void 0;P++){let p=e1(O,c);if(p<=3&&p<H)H=p,_=c}if(_)F.fail(E("Did you mean %s?",_))},C.reset=function(O){return $=vD($,(W)=>!O[W]),Q=vD(Q,(W)=>!O[W]),C};let z=[];return C.freeze=function(){z.push({implied:$,conflicting:Q})},C.unfreeze=function(){let O=z.pop();OD(O,void 0,u),{implied:$,conflicting:Q}=O},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(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(`
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,O;let W=Z(this,p0,"f").pop();OD(W,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,O=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(O,sD,_,"f")}}.value}=W,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--"],O=Object.assign({},Z(this,b,"f").configuration,{"populate--":!0}),W=Z(this,k,"f").Parser.detailed(D,Object.assign({},Z(this,b,"f"),{configuration:{"parse-positional-numbers":!1,...O}})),q=Object.assign(W.argv,Z(this,sD,"f")),_=void 0,H=W.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=W,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,W,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,W,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(W.error)throw new DD(W.error.message);if(!QD){let U=this[D2](H,{},W.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((O)=>O.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},O=async()=>{$.entries={},$.packages={},$.referenceManager.clear(),Q.clear(),X=!1},W=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:O,packages:W,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:O,extension:W,...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)),O={...D,path:F+J,type:[z],choiceOf:u};if(D.binding)delete O.binding;E.push(O)}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,...O}=C||{},W={};if(B?.url)W.url=B.url;if($.min!==void 0&&$.min!==0)W.min=$.min;if($.max!==void 0)W.max=$.max;if(Object.assign(W,O),J!==void 0&&J!==0&&W.min===void 0)W.min=J;F[u]=W}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),O=j2(C,J),W=zF(C,O),_={...L2(z,D),index:X++};B=YF(B,W,_),C=O}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 O of E)if(O.resourceType==="StructureDefinition")B[O.url]=O;let C={},$={},[X,Q]=[0,0];for(let O of Object.values(B)){try{let W=L0(O),q=T2(W,u);C[q.url]=q,$[q.name]=q.url,X++}catch(W){F?.warn(`Failed to convert StructureDefinition ${O.name||O.id}: ${W instanceof Error?W.message:String(W)}`),Q++}F?.success(`FHIR Schema conversion completed: ${X}/${B.length} successful, ${Q} failed`)}let z={};for(let O of E)if(O.resourceType==="ValueSet")z[O.url]=O;let J={};for(let O of Object.values(C))if(O.kind==="complex-type")J[O.url]=O;return{...D,appendFS(O){C[O.url]=T2(O)},resolveFS:(O)=>C[O],ensureCanonicalUrl:(O)=>$[O]||O,allSD:()=>Object.values(B),resolveSD:(O)=>B[O],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(D),E=D.package_meta;if(u.kind!=="profile")throw Error(`Expected profile, got ${u.kind} for ${D.name}`);let B;if(D.base){let J=D.base.includes("/")?D.base:`http://hl7.org/fhir/StructureDefinition/${D.base}`,O=D.base.split("/").pop()||D.base,W=await _u(J,F),q=J.startsWith("http://hl7.org/fhir/");B={kind:W,package:q?"hl7.fhir.r4.core":D.package_meta.name||"undefined",version:q?"4.0.1":D.package_meta.version||"undefined",name:O,url:J}}let C={identifier:u,base:B,dependencies:B?[B]:[]};if(D.description)C.description=D.description;let $=Mu(D);if(Object.keys($).length>0)C.metadata=$;if(D.elements){let J=await JF(D,[],D.elements,F,E);if(J&&Object.keys(J).length>0)C.fields=J}let X=await Ku(D,F);if(Object.keys(X).length>0)C.constraints=X;let Q=await Vu(D,F);if(Q.length>0)C.extensions=Q;let z=Ru(D);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,O]of Object.entries(Q)){let W=[...z,J],q=W.join(".");if(B.has(q))continue;if(B.add(q),O.binding){let _=await Lu(D,W,O,F,u);if(_)E.push(_)}if(O.elements)await C(O.elements,W)}}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),O={identifier:Q,base:z,fields:J};E.push(O)}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,B){let C={};if(!u)return;for(let[$,X]of Object.entries(u)){let Q=[...F,$],z=F6(D,Q,E),J=z.length>0?u6(z):X;if(T0(J))C[$]=GF(D,Q,J,E,B);else C[$]=await WF(D,Q,J,E,B)}return C}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(D,[],D.elements,F,u);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.ensureCanonicalUrl(F.base),J=D.resolveFS(z);E=wD(J)}let B=await JF(F,[],F.elements,D,F.package_meta),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.push(...Q),X}async function X6(D,F){let u=[],E=wD(F);if(E.kind==="profile"){let B=await D6(F,D);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:O,refTargets:W}=this.extractStructureDefinitionDependenciesWithReferences(z);E.set(J,new Set(O)),B.set(J,new Set(W))}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 O=E.get(z)||new Set;for(let W of Array.from(O))if(u.has(W))C.add(W),$(W,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((W)=>W.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 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(`
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,O)=>{let W=Math.round(z/J*100);C.progress(`[${Q}] ${W}% - ${O||"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 W of D.packages){let[q,_]=W.includes("@")?W.split("@"):[W,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((W)=>JSON.stringify(W)).join(`
140
- `);await su(z,J,"utf-8");let O=Date.now()-$;if(X2(`Generated ${Q.length} TypeSchema definitions`,O,{schemas:Q.length}),F.dim(`Output: ${z}`),D.verbose){F.debug("Generated schemas:");let W=Q.map((q)=>`${q.identifier?.name||"Unknown"} (${q.identifier?.kind||"unknown"})`);C0(W)}}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[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(`
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(`
@@ -126,7 +126,7 @@ export const buildReferences = (element, register, _packageInfo) => {
126
126
  return undefined;
127
127
  return element.refers.map((ref) => {
128
128
  const curl = register.ensureCanonicalUrl(ref);
129
- const fs = register.resolveFS(curl);
129
+ const fs = register.resolveFs(curl);
130
130
  return mkIdentifier(fs);
131
131
  });
132
132
  };
@@ -6,6 +6,5 @@
6
6
  import type { FHIRSchemaElement } from "@atomic-ehr/fhirschema";
7
7
  import type { Register } from "@typeschema/register";
8
8
  import type { RichFHIRSchema, TypeSchema, TypeSchemaField } from "@typeschema/types";
9
- import type { PackageMeta } from "../types";
10
- export declare function transformElements(fhirSchema: RichFHIRSchema, parentPath: string[], elements: Record<string, FHIRSchemaElement> | undefined, register: Register, packageInfo?: PackageMeta): Promise<Record<string, TypeSchemaField> | undefined>;
9
+ export declare function transformElements(register: Register, fhirSchema: RichFHIRSchema, parentPath: string[], elements: Record<string, FHIRSchemaElement> | undefined): Promise<Record<string, TypeSchemaField> | undefined>;
11
10
  export declare function transformFHIRSchema(register: Register, fhirSchema: RichFHIRSchema): Promise<TypeSchema[]>;
@@ -8,22 +8,19 @@ import { collectBindingSchemas } from "./binding";
8
8
  import { buildField, getElementHierarchy, isNestedElement, mergeElementHierarchy, mkNestedField, } from "./field-builder";
9
9
  import { mkIdentifier } from "./identifier";
10
10
  import { buildNestedTypes, extractNestedDependencies } from "./nested-types";
11
- export async function transformElements(fhirSchema, parentPath, elements, register, packageInfo) {
12
- const fields = {};
11
+ export async function transformElements(register, fhirSchema, parentPath, elements) {
13
12
  if (!elements)
14
13
  return undefined;
14
+ const fields = {};
15
15
  for (const [key, element] of Object.entries(elements)) {
16
16
  const path = [...parentPath, key];
17
- // Get element snapshot from hierarchy
18
17
  const hierarchy = getElementHierarchy(fhirSchema, path, register);
19
18
  const snapshot = hierarchy.length > 0 ? mergeElementHierarchy(hierarchy) : element;
20
19
  if (isNestedElement(snapshot)) {
21
- // Reference to nested type
22
- fields[key] = mkNestedField(fhirSchema, path, snapshot, register, packageInfo);
20
+ fields[key] = mkNestedField(fhirSchema, path, snapshot, register, fhirSchema.package_meta);
23
21
  }
24
22
  else {
25
- // Regular field
26
- fields[key] = await buildField(fhirSchema, path, snapshot, register, packageInfo);
23
+ fields[key] = buildField(fhirSchema, path, snapshot, register, fhirSchema.package_meta);
27
24
  }
28
25
  }
29
26
  return fields;
@@ -159,7 +156,7 @@ async function transformExtension(fhirSchema, register, packageInfo) {
159
156
  }
160
157
  // Transform elements into fields if present
161
158
  if (fhirSchema.elements) {
162
- const fields = await transformElements(fhirSchema, [], fhirSchema.elements, register, packageInfo);
159
+ const fields = await transformElements(register, fhirSchema, [], fhirSchema.elements);
163
160
  if (fields && Object.keys(fields).length > 0) {
164
161
  extensionSchema.fields = fields;
165
162
  extensionSchema.dependencies.push(...extractFieldDependencies(fields));
@@ -203,33 +200,29 @@ async function transformResource(register, fhirSchema) {
203
200
  const identifier = mkIdentifier(fhirSchema);
204
201
  let base;
205
202
  if (fhirSchema.base && fhirSchema.type !== "Element") {
206
- const curl = register.ensureCanonicalUrl(fhirSchema.base);
207
- const baseFS = register.resolveFS(curl);
208
- base = mkIdentifier(baseFS);
203
+ const baseFs = register.resolveFs(register.ensureCanonicalUrl(fhirSchema.base));
204
+ base = mkIdentifier(baseFs);
209
205
  }
210
- const fields = await transformElements(fhirSchema, [], fhirSchema.elements, register, fhirSchema.package_meta);
206
+ const fields = await transformElements(register, fhirSchema, [], fhirSchema.elements);
211
207
  const nested = await buildNestedTypes(fhirSchema, register, fhirSchema.package_meta);
212
208
  const dependencies = extractDependencies(identifier, base, fields, nested);
213
- const results = [
214
- {
215
- identifier,
216
- base,
217
- fields,
218
- nested,
219
- description: fhirSchema.description,
220
- dependencies,
221
- },
222
- ];
209
+ const typeSchema = {
210
+ identifier,
211
+ base,
212
+ fields,
213
+ nested,
214
+ description: fhirSchema.description,
215
+ dependencies,
216
+ };
223
217
  const bindingSchemas = await collectBindingSchemas(fhirSchema, register);
224
- results.push(...bindingSchemas);
225
- return results;
218
+ return [typeSchema, ...bindingSchemas];
226
219
  }
227
220
  export async function transformFHIRSchema(register, fhirSchema) {
228
221
  const results = [];
229
222
  const identifier = mkIdentifier(fhirSchema);
230
223
  // Handle profiles with specialized processor
231
224
  if (identifier.kind === "profile") {
232
- const profileSchema = await transformProfile(fhirSchema, register);
225
+ const profileSchema = await transformProfile(register, fhirSchema);
233
226
  results.push(profileSchema);
234
227
  // Collect binding schemas for profiles too
235
228
  const bindingSchemas = await collectBindingSchemas(fhirSchema, register);
@@ -111,8 +111,8 @@ export class TypeSchemaGenerator {
111
111
  };
112
112
  const register = await this.registerFromPackageMetas([packageInfo]);
113
113
  const allSchemas = [
114
- ...(await Promise.all(register.allFS().map(async (fs) => await transformFHIRSchema(register, fs)))).flat(),
115
- ...(await this.generateValueSetSchemas(register.allVS(), packageInfo)),
114
+ ...(await Promise.all(register.allFs().map(async (fs) => await transformFHIRSchema(register, fs)))).flat(),
115
+ ...(await this.generateValueSetSchemas(register.allVs(), packageInfo)),
116
116
  ];
117
117
  if (this.cache) {
118
118
  for (const schema of allSchemas) {
@@ -11,4 +11,4 @@ import type { TypeSchemaForProfile } from "../types";
11
11
  * Transform a FHIR profile to TypeSchema format
12
12
  * Profiles are treated as specialized resources that extend base resources
13
13
  */
14
- export declare function transformProfile(fhirSchema: RichFHIRSchema, register: Register): Promise<TypeSchemaForProfile>;
14
+ export declare function transformProfile(register: Register, fhirSchema: RichFHIRSchema): Promise<TypeSchemaForProfile>;
@@ -10,7 +10,7 @@ import { transformElements } from "../core/transformer";
10
10
  * Transform a FHIR profile to TypeSchema format
11
11
  * Profiles are treated as specialized resources that extend base resources
12
12
  */
13
- export async function transformProfile(fhirSchema, register) {
13
+ export async function transformProfile(register, fhirSchema) {
14
14
  // Build profile identifier
15
15
  const identifier = mkIdentifier(fhirSchema);
16
16
  const packageInfo = fhirSchema.package_meta;
@@ -54,7 +54,7 @@ export async function transformProfile(fhirSchema, register) {
54
54
  }
55
55
  // Process profile fields from differential elements
56
56
  if (fhirSchema.elements) {
57
- const fields = await transformElements(fhirSchema, [], fhirSchema.elements, register, packageInfo);
57
+ const fields = await transformElements(register, fhirSchema, [], fhirSchema.elements);
58
58
  if (fields && Object.keys(fields).length > 0) {
59
59
  profileSchema.fields = fields;
60
60
  }
@@ -3,13 +3,14 @@ import type { FHIRSchema, StructureDefinition } from "@atomic-ehr/fhirschema";
3
3
  import type { CodegenLogger } from "@root/utils/codegen-logger";
4
4
  import { type PackageMeta, type RichFHIRSchema } from "@typeschema/types";
5
5
  export type Register = {
6
- appendFS(fs: FHIRSchema): void;
6
+ appendFs(fs: FHIRSchema): void;
7
7
  ensureCanonicalUrl(canonicalUrl: string): string;
8
- resolveSD(canonicalUrl: string): StructureDefinition | undefined;
9
- resolveFS(canonicalUrl: string): RichFHIRSchema | undefined;
10
- allSD(): StructureDefinition[];
11
- allFS(): RichFHIRSchema[];
12
- allVS(): any[];
8
+ resolveSd(canonicalUrl: string): StructureDefinition | undefined;
9
+ resolveFs(canonicalUrl: string): RichFHIRSchema | undefined;
10
+ resolveFSGenealogy(canonicalUrl: string): RichFHIRSchema[] | undefined;
11
+ allSd(): StructureDefinition[];
12
+ allFs(): RichFHIRSchema[];
13
+ allVs(): any[];
13
14
  complexTypeDict(): Record<string, RichFHIRSchema>;
14
15
  } & ReturnType<typeof CanonicalManager>;
15
16
  export declare const registerFromManager: (manager: ReturnType<typeof CanonicalManager>, logger?: CodegenLogger, packageInfo?: PackageMeta) => Promise<Register>;
@@ -38,17 +38,29 @@ export const registerFromManager = async (manager, logger, packageInfo) => {
38
38
  complexTypes[fs.url] = fs;
39
39
  }
40
40
  }
41
+ const resolveFSGenealogy = (canonicalUrl) => {
42
+ let fs = fhirSchemas[canonicalUrl];
43
+ if (!fs)
44
+ return undefined;
45
+ const genealogy = [fs];
46
+ while (fs && fs.base) {
47
+ fs = fhirSchemas[fs.base];
48
+ genealogy.push(fs);
49
+ }
50
+ return genealogy;
51
+ };
41
52
  return {
42
53
  ...manager,
43
- appendFS(fs) {
54
+ appendFs(fs) {
44
55
  fhirSchemas[fs.url] = enrichFHIRSchema(fs);
45
56
  },
46
- resolveFS: (canonicalUrl) => fhirSchemas[canonicalUrl],
57
+ resolveFs: (canonicalUrl) => fhirSchemas[canonicalUrl],
58
+ resolveFSGenealogy: resolveFSGenealogy,
47
59
  ensureCanonicalUrl: (canonicalUrl) => nameDict[canonicalUrl] || canonicalUrl,
48
- allSD: () => Object.values(structureDefinitions),
49
- resolveSD: (canonicalUrl) => structureDefinitions[canonicalUrl],
50
- allFS: () => Object.values(fhirSchemas),
51
- allVS: () => Object.values(valueSets),
60
+ allSd: () => Object.values(structureDefinitions),
61
+ resolveSd: (canonicalUrl) => structureDefinitions[canonicalUrl],
62
+ allFs: () => Object.values(fhirSchemas),
63
+ allVs: () => Object.values(valueSets),
52
64
  complexTypeDict: () => complexTypes,
53
65
  };
54
66
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomic-ehr/codegen",
3
- "version": "0.0.1-canary.20250930075344.1c0b689",
3
+ "version": "0.0.1-canary.20250930124137.175bd5f",
4
4
  "description": "Code generation tools for FHIR resources and TypeSchema definitions",
5
5
  "keywords": [
6
6
  "fhir",