@stacksjs/dtsx 0.5.2 → 0.5.4
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.js +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/extract.d.ts +9 -0
- package/dist/generate.d.ts +4 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +1 -1
- package/dist/types.d.ts +114 -0
- package/dist/utils.d.ts +5 -0
- package/package.json +3 -3
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FunctionSignature } from './types';
|
|
2
|
+
|
|
3
|
+
declare function cleanParameterTypes(params: string): string;
|
|
4
|
+
declare function cleanSingleParameter(param: string): string;
|
|
5
|
+
export declare function extract(filePath: string): Promise<string>;
|
|
6
|
+
export declare function extractDtsTypes(sourceCode: string): string;
|
|
7
|
+
declare function extractFunctionSignature(declaration: string): FunctionSignature;
|
|
8
|
+
declare function extractFunctionName(declaration: string): string;
|
|
9
|
+
declare function extractParams(rest: string);
|
package/dist/index.d.ts
ADDED
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var cq=Object.create;var{getPrototypeOf:lq,defineProperty:d1,getOwnPropertyNames:pq}=Object;var iq=Object.prototype.hasOwnProperty;var K1=(q,$,J)=>{J=q!=null?cq(lq(q)):{};let Z=$||!q||!q.__esModule?d1(J,"default",{value:q,enumerable:!0}):J;for(let Y of pq(q))if(!iq.call(Z,Y))d1(Z,Y,{get:()=>q[Y],enumerable:!0});return Z};var y=(q,$)=>()=>($||q(($={exports:{}}).exports,$),$.exports);var A1=y((X0)=>{Object.defineProperty(X0,"__esModule",{value:!0});X0.normalizePath=X0.convertSlashes=X0.cleanPath=void 0;var E1=import.meta.require("path");function Y0(q){let $=E1.normalize(q);if($.length>1&&$[$.length-1]===E1.sep)$=$.substring(0,$.length-1);return $}X0.cleanPath=Y0;var v$=/[\\/]/g;function j0(q,$){return q.replace(v$,$)}X0.convertSlashes=j0;function g$(q,$){let{resolvePaths:J,normalizePath:Z,pathSeparator:Y}=$,j=process.platform==="win32"&&q.includes("/")||q.startsWith(".");if(J)q=E1.resolve(q);if(Z||j)q=Y0(q);if(q===".")return"";let Q=q[q.length-1]!==Y;return j0(Q?q+Y:q,Y)}X0.normalizePath=g$});var F0=y((z0)=>{Object.defineProperty(z0,"__esModule",{value:!0});z0.build=z0.joinDirectoryPath=z0.joinPathWithBasePath=void 0;var m$=import.meta.require("path"),d$=A1();function U0(q,$){return $+q}z0.joinPathWithBasePath=U0;function c$(q,$){return function(J,Z){if(Z.startsWith(q))return Z.replace(q,"")+J;else return d$.convertSlashes(m$.relative(q,Z),$.pathSeparator)+$.pathSeparator+J}}function l$(q){return q}function p$(q,$,J){return $+q+J}z0.joinDirectoryPath=p$;function i$(q,$){let{relativePaths:J,includeBasePath:Z}=$;return J&&q?c$(q,$):Z?U0:l$}z0.build=i$});var w0=y((K0)=>{Object.defineProperty(K0,"__esModule",{value:!0});K0.build=void 0;function r$(q){return function($,J){J.push($.substring(q.length)||".")}}function o$(q){return function($,J,Z){let Y=$.substring(q.length)||".";if(Z.every((j)=>j(Y,!0)))J.push(Y)}}var a$=(q,$)=>{$.push(q||".")},t$=(q,$,J)=>{let Z=q||".";if(J.every((Y)=>Y(Z,!0)))$.push(Z)},e$=()=>{};function qJ(q,$){let{includeDirs:J,filters:Z,relativePaths:Y}=$;if(!J)return e$;if(Y)return Z&&Z.length?o$(q):r$(q);return Z&&Z.length?t$:a$}K0.build=qJ});var N0=y((M0)=>{Object.defineProperty(M0,"__esModule",{value:!0});M0.build=void 0;var $J=(q,$,J,Z)=>{if(Z.every((Y)=>Y(q,!1)))J.files++},JJ=(q,$,J,Z)=>{if(Z.every((Y)=>Y(q,!1)))$.push(q)},ZJ=(q,$,J,Z)=>{J.files++},YJ=(q,$)=>{$.push(q)},jJ=()=>{};function XJ(q){let{excludeFiles:$,filters:J,onlyCounts:Z}=q;if($)return jJ;if(J&&J.length)return Z?$J:JJ;else if(Z)return ZJ;else return YJ}M0.build=XJ});var I0=y((H0)=>{Object.defineProperty(H0,"__esModule",{value:!0});H0.build=void 0;var QJ=(q)=>{return q},UJ=()=>{return[""].slice(0,0)};function zJ(q){return q.group?UJ:QJ}H0.build=zJ});var R0=y((_0)=>{Object.defineProperty(_0,"__esModule",{value:!0});_0.build=void 0;var GJ=(q,$,J)=>{q.push({directory:$,files:J,dir:$})},FJ=()=>{};function KJ(q){return q.group?GJ:FJ}_0.build=KJ});var E0=y((J1)=>{var BJ=J1&&J1.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(J1,"__esModule",{value:!0});J1.build=void 0;var M1=BJ(import.meta.require("fs")),P0=import.meta.require("path"),wJ=function(q,$,J){let{queue:Z,options:{suppressErrors:Y}}=$;Z.enqueue(),M1.default.realpath(q,(j,Q)=>{if(j)return Z.dequeue(Y?null:j,$);M1.default.stat(Q,(X,U)=>{if(X)return Z.dequeue(Y?null:X,$);if(U.isDirectory()&&f0(q,Q,$))return Z.dequeue(null,$);J(U,Q),Z.dequeue(null,$)})})},MJ=function(q,$,J){let{queue:Z,options:{suppressErrors:Y}}=$;Z.enqueue();try{let j=M1.default.realpathSync(q),Q=M1.default.statSync(j);if(Q.isDirectory()&&f0(q,j,$))return;J(Q,j)}catch(j){if(!Y)throw j}};function VJ(q,$){if(!q.resolveSymlinks||q.excludeSymlinks)return null;return $?MJ:wJ}J1.build=VJ;function f0(q,$,J){if(J.options.useRealPaths)return NJ($,J);let Z=P0.dirname(q),Y=1;while(Z!==J.root&&Y<2){let j=J.symlinks.get(Z);if(!!j&&(j===$||j.startsWith($)||$.startsWith(j)))Y++;else Z=P0.dirname(Z)}return J.symlinks.set(q,$),Y>1}function NJ(q,$){return $.visited.includes(q+$.options.pathSeparator)}});var S0=y((A0)=>{Object.defineProperty(A0,"__esModule",{value:!0});A0.build=void 0;var HJ=(q)=>{return q.counts},WJ=(q)=>{return q.groups},IJ=(q)=>{return q.paths},_J=(q)=>{return q.paths.slice(0,q.options.maxFiles)},OJ=(q,$,J)=>{return V1($,J,q.counts,q.options.suppressErrors),null},RJ=(q,$,J)=>{return V1($,J,q.paths,q.options.suppressErrors),null},PJ=(q,$,J)=>{return V1($,J,q.paths.slice(0,q.options.maxFiles),q.options.suppressErrors),null},fJ=(q,$,J)=>{return V1($,J,q.groups,q.options.suppressErrors),null};function V1(q,$,J,Z){if(q&&!Z)$(q,J);else $(null,J)}function EJ(q,$){let{onlyCounts:J,group:Z,maxFiles:Y}=q;if(J)return $?HJ:OJ;else if(Z)return $?WJ:fJ;else if(Y)return $?_J:PJ;else return $?IJ:RJ}A0.build=EJ});var C0=y((Z1)=>{var AJ=Z1&&Z1.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(Z1,"__esModule",{value:!0});Z1.build=void 0;var x0=AJ(import.meta.require("fs")),y0={withFileTypes:!0},TJ=(q,$,J,Z,Y)=>{if(Z<0)return q.queue.dequeue(null,q);q.visited.push($),q.counts.directories++,q.queue.enqueue(),x0.default.readdir($||".",y0,(j,Q=[])=>{Y(Q,J,Z),q.queue.dequeue(q.options.suppressErrors?null:j,q)})},SJ=(q,$,J,Z,Y)=>{if(Z<0)return;q.visited.push($),q.counts.directories++;let j=[];try{j=x0.default.readdirSync($||".",y0)}catch(Q){if(!q.options.suppressErrors)throw Q}Y(j,J,Z)};function xJ(q){return q?SJ:TJ}Z1.build=xJ});var b0=y((k0)=>{Object.defineProperty(k0,"__esModule",{value:!0});k0.Queue=void 0;class D0{onQueueEmpty;count=0;constructor(q){this.onQueueEmpty=q}enqueue(){this.count++}dequeue(q,$){if(--this.count<=0||q)this.onQueueEmpty(q,$)}}k0.Queue=D0});var u0=y((g0)=>{Object.defineProperty(g0,"__esModule",{value:!0});g0.Counter=void 0;class v0{_files=0;_directories=0;set files(q){this._files=q}get files(){return this._files}set directories(q){this._directories=q}get directories(){return this._directories}get dirs(){return this._directories}}g0.Counter=v0});var x1=y((i)=>{var yJ=i&&i.__createBinding||(Object.create?function(q,$,J,Z){if(Z===void 0)Z=J;var Y=Object.getOwnPropertyDescriptor($,J);if(!Y||("get"in Y?!$.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return $[J]}};Object.defineProperty(q,Z,Y)}:function(q,$,J,Z){if(Z===void 0)Z=J;q[Z]=$[J]}),CJ=i&&i.__setModuleDefault||(Object.create?function(q,$){Object.defineProperty(q,"default",{enumerable:!0,value:$})}:function(q,$){q.default=$}),a=i&&i.__importStar||function(q){if(q&&q.__esModule)return q;var $={};if(q!=null){for(var J in q)if(J!=="default"&&Object.prototype.hasOwnProperty.call(q,J))yJ($,q,J)}return CJ($,q),$};Object.defineProperty(i,"__esModule",{value:!0});i.Walker=void 0;var m0=import.meta.require("path"),T1=A1(),S1=a(F0()),DJ=a(w0()),kJ=a(N0()),LJ=a(I0()),bJ=a(R0()),vJ=a(E0()),gJ=a(S0()),hJ=a(C0()),uJ=b0(),mJ=u0();class d0{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(q,$,J){this.isSynchronous=!J,this.callbackInvoker=gJ.build($,this.isSynchronous),this.root=T1.normalizePath(q,$),this.state={root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new mJ.Counter,options:$,queue:new uJ.Queue((Z,Y)=>this.callbackInvoker(Y,Z,J)),symlinks:new Map,visited:[""].slice(0,0)},this.joinPath=S1.build(this.root,$),this.pushDirectory=DJ.build(this.root,$),this.pushFile=kJ.build($),this.getArray=LJ.build($),this.groupFiles=bJ.build($),this.resolveSymlink=vJ.build($,this.isSynchronous),this.walkDirectory=hJ.build(this.isSynchronous)}start(){return this.walkDirectory(this.state,this.root,this.root,this.state.options.maxDepth,this.walk),this.isSynchronous?this.callbackInvoker(this.state,null):null}walk=(q,$,J)=>{let{paths:Z,options:{filters:Y,resolveSymlinks:j,excludeSymlinks:Q,exclude:X,maxFiles:U,signal:z,useRealPaths:G,pathSeparator:V}}=this.state;if(z&&z.aborted||U&&Z.length>U)return;this.pushDirectory($,Z,Y);let H=this.getArray(this.state.paths);for(let I=0;I<q.length;++I){let W=q[I];if(W.isFile()||W.isSymbolicLink()&&!j&&!Q){let _=this.joinPath(W.name,$);this.pushFile(_,H,this.state.counts,Y)}else if(W.isDirectory()){let _=S1.joinDirectoryPath(W.name,$,this.state.options.pathSeparator);if(X&&X(W.name,_))continue;this.walkDirectory(this.state,_,_,J-1,this.walk)}else if(W.isSymbolicLink()&&this.resolveSymlink){let _=S1.joinPathWithBasePath(W.name,$);this.resolveSymlink(_,this.state,(S,E)=>{if(S.isDirectory()){if(E=T1.normalizePath(E,this.state.options),X&&X(W.name,E))return;this.walkDirectory(this.state,E,G?E:_+V,J-1,this.walk)}else{E=G?E:_;let A=m0.basename(E),m=T1.normalizePath(m0.dirname(E),this.state.options);E=this.joinPath(A,m),this.pushFile(E,H,this.state.counts,Y)}})}}this.groupFiles(this.state.groups,$,H)}}i.Walker=d0});var i0=y((l0)=>{Object.defineProperty(l0,"__esModule",{value:!0});l0.callback=l0.promise=void 0;var dJ=x1();function cJ(q,$){return new Promise((J,Z)=>{c0(q,$,(Y,j)=>{if(Y)return Z(Y);J(j)})})}l0.promise=cJ;function c0(q,$,J){new dJ.Walker(q,$,J).start()}l0.callback=c0});var r0=y((s0)=>{Object.defineProperty(s0,"__esModule",{value:!0});s0.sync=void 0;var pJ=x1();function iJ(q,$){return new pJ.Walker(q,$).start()}s0.sync=iJ});var qq=y((t0)=>{Object.defineProperty(t0,"__esModule",{value:!0});t0.APIBuilder=void 0;var o0=i0(),sJ=r0();class a0{root;options;constructor(q,$){this.root=q,this.options=$}withPromise(){return o0.promise(this.root,this.options)}withCallback(q){o0.callback(this.root,this.options,q)}sync(){return sJ.sync(this.root,this.options)}}t0.APIBuilder=a0});var j1=y((_8,Jq)=>{var $q={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)",SEP:"/"},nJ={...$q,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},rJ={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:'\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~',space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Jq.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:rJ,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(q){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${q.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(q){return q===!0?nJ:$q}}});var X1=y((qZ)=>{var{REGEX_BACKSLASH:oJ,REGEX_REMOVE_BACKSLASH:aJ,REGEX_SPECIAL_CHARS:tJ,REGEX_SPECIAL_CHARS_GLOBAL:eJ}=j1();qZ.isObject=(q)=>q!==null&&typeof q==="object"&&!Array.isArray(q);qZ.hasRegexChars=(q)=>tJ.test(q);qZ.isRegexChar=(q)=>q.length===1&&qZ.hasRegexChars(q);qZ.escapeRegex=(q)=>q.replace(eJ,"\\$1");qZ.toPosixSlashes=(q)=>q.replace(oJ,"/");qZ.isWindows=()=>{if(typeof navigator!=="undefined"&&navigator.platform){let q=navigator.platform.toLowerCase();return q==="win32"||q==="windows"}if(typeof process!=="undefined"&&process.platform)return process.platform==="win32";return!1};qZ.removeBackslashes=(q)=>{return q.replace(aJ,($)=>{return $==="\\"?"":$})};qZ.escapeLast=(q,$,J)=>{let Z=q.lastIndexOf($,J);if(Z===-1)return q;if(q[Z-1]==="\\")return qZ.escapeLast(q,$,Z-1);return`${q.slice(0,Z)}\\${q.slice(Z)}`};qZ.removePrefix=(q,$={})=>{let J=q;if(J.startsWith("./"))J=J.slice(2),$.prefix="./";return J};qZ.wrapOutput=(q,$={},J={})=>{let Z=J.contains?"":"^",Y=J.contains?"":"$",j=`${Z}(?:${q})${Y}`;if($.negated===!0)j=`(?:^(?!${j}).*\$)`;return j};qZ.basename=(q,{windows:$}={})=>{let J=q.split($?/[\\/]/:"/"),Z=J[J.length-1];if(Z==="")return J[J.length-2];return Z}});var Kq=y((R8,Fq)=>{var jq=X1(),{CHAR_ASTERISK:y1,CHAR_AT:GZ,CHAR_BACKWARD_SLASH:Q1,CHAR_COMMA:FZ,CHAR_DOT:C1,CHAR_EXCLAMATION_MARK:D1,CHAR_FORWARD_SLASH:Gq,CHAR_LEFT_CURLY_BRACE:k1,CHAR_LEFT_PARENTHESES:L1,CHAR_LEFT_SQUARE_BRACKET:KZ,CHAR_PLUS:BZ,CHAR_QUESTION_MARK:Xq,CHAR_RIGHT_CURLY_BRACE:wZ,CHAR_RIGHT_PARENTHESES:Qq,CHAR_RIGHT_SQUARE_BRACKET:MZ}=j1(),Uq=(q)=>{return q===Gq||q===Q1},zq=(q)=>{if(q.isPrefix!==!0)q.depth=q.isGlobstar?1/0:1},VZ=(q,$)=>{let J=$||{},Z=q.length-1,Y=J.parts===!0||J.scanToEnd===!0,j=[],Q=[],X=[],U=q,z=-1,G=0,V=0,H=!1,I=!1,W=!1,_=!1,S=!1,E=!1,A=!1,m=!1,t=!1,h=!1,g=0,c,O,P={value:"",depth:0,isGlob:!1},B=()=>z>=Z,d=()=>U.charCodeAt(z+1),b=()=>{return c=O,U.charCodeAt(++z)};while(z<Z){O=b();let T;if(O===Q1){if(A=P.backslashes=!0,O=b(),O===k1)E=!0;continue}if(E===!0||O===k1){g++;while(B()!==!0&&(O=b())){if(O===Q1){A=P.backslashes=!0,b();continue}if(O===k1){g++;continue}if(E!==!0&&O===C1&&(O=b())===C1){if(H=P.isBrace=!0,W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(E!==!0&&O===FZ){if(H=P.isBrace=!0,W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(O===wZ){if(g--,g===0){E=!1,H=P.isBrace=!0,h=!0;break}}}if(Y===!0)continue;break}if(O===Gq){if(j.push(z),Q.push(P),P={value:"",depth:0,isGlob:!1},h===!0)continue;if(c===C1&&z===G+1){G+=2;continue}V=z+1;continue}if(J.noext!==!0){if((O===BZ||O===GZ||O===y1||O===Xq||O===D1)===!0&&d()===L1){if(W=P.isGlob=!0,_=P.isExtglob=!0,h=!0,O===D1&&z===G)t=!0;if(Y===!0){while(B()!==!0&&(O=b())){if(O===Q1){A=P.backslashes=!0,O=b();continue}if(O===Qq){W=P.isGlob=!0,h=!0;break}}continue}break}}if(O===y1){if(c===y1)S=P.isGlobstar=!0;if(W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(O===Xq){if(W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(O===KZ){while(B()!==!0&&(T=b())){if(T===Q1){A=P.backslashes=!0,b();continue}if(T===MZ){I=P.isBracket=!0,W=P.isGlob=!0,h=!0;break}}if(Y===!0)continue;break}if(J.nonegate!==!0&&O===D1&&z===G){m=P.negated=!0,G++;continue}if(J.noparen!==!0&&O===L1){if(W=P.isGlob=!0,Y===!0){while(B()!==!0&&(O=b())){if(O===L1){A=P.backslashes=!0,O=b();continue}if(O===Qq){h=!0;break}}continue}break}if(W===!0){if(h=!0,Y===!0)continue;break}}if(J.noext===!0)_=!1,W=!1;let k=U,F="",K="";if(G>0)F=U.slice(0,G),U=U.slice(G),V-=G;if(k&&W===!0&&V>0)k=U.slice(0,V),K=U.slice(V);else if(W===!0)k="",K=U;else k=U;if(k&&k!==""&&k!=="/"&&k!==U){if(Uq(k.charCodeAt(k.length-1)))k=k.slice(0,-1)}if(J.unescape===!0){if(K)K=jq.removeBackslashes(K);if(k&&A===!0)k=jq.removeBackslashes(k)}let l={prefix:F,input:q,start:G,base:k,glob:K,isBrace:H,isBracket:I,isGlob:W,isExtglob:_,isGlobstar:S,negated:m,negatedExtglob:t};if(J.tokens===!0){if(l.maxDepth=0,!Uq(O))Q.push(P);l.tokens=Q}if(J.parts===!0||J.tokens===!0){let T;for(let C=0;C<j.length;C++){let n=T?T+1:G,p=j[C],o=q.slice(n,p);if(J.tokens){if(C===0&&G!==0)Q[C].isPrefix=!0,Q[C].value=F;else Q[C].value=o;zq(Q[C]),l.maxDepth+=Q[C].depth}if(C!==0||o!=="")X.push(o);T=p}if(T&&T+1<q.length){let C=q.slice(T+1);if(X.push(C),J.tokens)Q[Q.length-1].value=C,zq(Q[Q.length-1]),l.maxDepth+=Q[Q.length-1].depth}l.slashes=j,l.parts=X}return l};Fq.exports=VZ});var Mq=y((P8,wq)=>{var N1=j1(),s=X1(),{MAX_LENGTH:H1,POSIX_REGEX_SOURCE:NZ,REGEX_NON_SPECIAL_CHARS:HZ,REGEX_SPECIAL_CHARS_BACKREF:WZ,REPLACEMENTS:Bq}=N1,IZ=(q,$)=>{if(typeof $.expandRange==="function")return $.expandRange(...q,$);q.sort();let J=`[${q.join("-")}]`;try{new RegExp(J)}catch(Z){return q.map((Y)=>s.escapeRegex(Y)).join("..")}return J},Y1=(q,$)=>{return`Missing ${q}: "${$}" - use "\\\\${$}" to match literal characters`},b1=(q,$)=>{if(typeof q!=="string")throw new TypeError("Expected a string");q=Bq[q]||q;let J={...$},Z=typeof J.maxLength==="number"?Math.min(H1,J.maxLength):H1,Y=q.length;if(Y>Z)throw new SyntaxError(`Input length: ${Y}, exceeds maximum allowed length: ${Z}`);let j={type:"bos",value:"",output:J.prepend||""},Q=[j],X=J.capture?"":"?:",U=N1.globChars(J.windows),z=N1.extglobChars(U),{DOT_LITERAL:G,PLUS_LITERAL:V,SLASH_LITERAL:H,ONE_CHAR:I,DOTS_SLASH:W,NO_DOT:_,NO_DOT_SLASH:S,NO_DOTS_SLASH:E,QMARK:A,QMARK_NO_DOT:m,STAR:t,START_ANCHOR:h}=U,g=(N)=>{return`(${X}(?:(?!${h}${N.dot?W:G}).)*?)`},c=J.dot?"":_,O=J.dot?A:m,P=J.bash===!0?g(J):t;if(J.capture)P=`(${P})`;if(typeof J.noext==="boolean")J.noextglob=J.noext;let B={input:q,index:-1,start:0,dot:J.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:Q};q=s.removePrefix(q,B),Y=q.length;let d=[],b=[],k=[],F=j,K,l=()=>B.index===Y-1,T=B.peek=(N=1)=>q[B.index+N],C=B.advance=()=>q[++B.index]||"",n=()=>q.slice(B.index+1),p=(N="",x=0)=>{B.consumed+=N,B.index+=x},o=(N)=>{B.output+=N.output!=null?N.output:N.value,p(N.value)},mq=()=>{let N=1;while(T()==="!"&&(T(2)!=="("||T(3)==="?"))C(),B.start++,N++;if(N%2===0)return!1;return B.negated=!0,B.start++,!0},z1=(N)=>{B[N]++,k.push(N)},e=(N)=>{B[N]--,k.pop()},f=(N)=>{if(F.type==="globstar"){let x=B.braces>0&&(N.type==="comma"||N.type==="brace"),M=N.extglob===!0||d.length&&(N.type==="pipe"||N.type==="paren");if(N.type!=="slash"&&N.type!=="paren"&&!x&&!M)B.output=B.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=P,B.output+=F.output}if(d.length&&N.type!=="paren")d[d.length-1].inner+=N.value;if(N.value||N.output)o(N);if(F&&F.type==="text"&&N.type==="text"){F.output=(F.output||F.value)+N.value,F.value+=N.value;return}N.prev=F,Q.push(N),F=N},G1=(N,x)=>{let M={...z[x],conditions:1,inner:""};M.prev=F,M.parens=B.parens,M.output=B.output;let R=(J.capture?"(":"")+M.open;z1("parens"),f({type:N,value:x,output:B.output?"":I}),f({type:"paren",extglob:!0,value:C(),output:R}),d.push(M)},dq=(N)=>{let x=N.close+(J.capture?")":""),M;if(N.type==="negate"){let R=P;if(N.inner&&N.inner.length>1&&N.inner.includes("/"))R=g(J);if(R!==P||l()||/^\)+$/.test(n()))x=N.close=`)\$))${R}`;if(N.inner.includes("*")&&(M=n())&&/^\.[^\\/.]+$/.test(M)){let D=b1(M,{...$,fastpaths:!1}).output;x=N.close=`)${D})${R})`}if(N.prev.type==="bos")B.negatedExtglob=!0}f({type:"paren",extglob:!0,value:K,output:x}),e("parens")};if(J.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(q)){let N=!1,x=q.replace(WZ,(M,R,D,u,v,I1)=>{if(u==="\\")return N=!0,M;if(u==="?"){if(R)return R+u+(v?A.repeat(v.length):"");if(I1===0)return O+(v?A.repeat(v.length):"");return A.repeat(D.length)}if(u===".")return G.repeat(D.length);if(u==="*"){if(R)return R+u+(v?P:"");return P}return R?M:`\\${M}`});if(N===!0)if(J.unescape===!0)x=x.replace(/\\/g,"");else x=x.replace(/\\+/g,(M)=>{return M.length%2===0?"\\\\":M?"\\":""});if(x===q&&J.contains===!0)return B.output=q,B;return B.output=s.wrapOutput(x,B,$),B}while(!l()){if(K=C(),K==="\0")continue;if(K==="\\"){let M=T();if(M==="/"&&J.bash!==!0)continue;if(M==="."||M===";")continue;if(!M){K+="\\",f({type:"text",value:K});continue}let R=/^\\+/.exec(n()),D=0;if(R&&R[0].length>2){if(D=R[0].length,B.index+=D,D%2!==0)K+="\\"}if(J.unescape===!0)K=C();else K+=C();if(B.brackets===0){f({type:"text",value:K});continue}}if(B.brackets>0&&(K!=="]"||F.value==="["||F.value==="[^")){if(J.posix!==!1&&K===":"){let M=F.value.slice(1);if(M.includes("[")){if(F.posix=!0,M.includes(":")){let R=F.value.lastIndexOf("["),D=F.value.slice(0,R),u=F.value.slice(R+2),v=NZ[u];if(v){if(F.value=D+v,B.backtrack=!0,C(),!j.output&&Q.indexOf(F)===1)j.output=I;continue}}}}if(K==="["&&T()!==":"||K==="-"&&T()==="]")K=`\\${K}`;if(K==="]"&&(F.value==="["||F.value==="[^"))K=`\\${K}`;if(J.posix===!0&&K==="!"&&F.value==="[")K="^";F.value+=K,o({value:K});continue}if(B.quotes===1&&K!=='"'){K=s.escapeRegex(K),F.value+=K,o({value:K});continue}if(K==='"'){if(B.quotes=B.quotes===1?0:1,J.keepQuotes===!0)f({type:"text",value:K});continue}if(K==="("){z1("parens"),f({type:"paren",value:K});continue}if(K===")"){if(B.parens===0&&J.strictBrackets===!0)throw new SyntaxError(Y1("opening","("));let M=d[d.length-1];if(M&&B.parens===M.parens+1){dq(d.pop());continue}f({type:"paren",value:K,output:B.parens?")":"\\)"}),e("parens");continue}if(K==="["){if(J.nobracket===!0||!n().includes("]")){if(J.nobracket!==!0&&J.strictBrackets===!0)throw new SyntaxError(Y1("closing","]"));K=`\\${K}`}else z1("brackets");f({type:"bracket",value:K});continue}if(K==="]"){if(J.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){f({type:"text",value:K,output:`\\${K}`});continue}if(B.brackets===0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("opening","["));f({type:"text",value:K,output:`\\${K}`});continue}e("brackets");let M=F.value.slice(1);if(F.posix!==!0&&M[0]==="^"&&!M.includes("/"))K=`/${K}`;if(F.value+=K,o({value:K}),J.literalBrackets===!1||s.hasRegexChars(M))continue;let R=s.escapeRegex(F.value);if(B.output=B.output.slice(0,-F.value.length),J.literalBrackets===!0){B.output+=R,F.value=R;continue}F.value=`(${X}${R}|${F.value})`,B.output+=F.value;continue}if(K==="{"&&J.nobrace!==!0){z1("braces");let M={type:"brace",value:K,output:"(",outputIndex:B.output.length,tokensIndex:B.tokens.length};b.push(M),f(M);continue}if(K==="}"){let M=b[b.length-1];if(J.nobrace===!0||!M){f({type:"text",value:K,output:K});continue}let R=")";if(M.dots===!0){let D=Q.slice(),u=[];for(let v=D.length-1;v>=0;v--){if(Q.pop(),D[v].type==="brace")break;if(D[v].type!=="dots")u.unshift(D[v].value)}R=IZ(u,J),B.backtrack=!0}if(M.comma!==!0&&M.dots!==!0){let D=B.output.slice(0,M.outputIndex),u=B.tokens.slice(M.tokensIndex);M.value=M.output="\\{",K=R="\\}",B.output=D;for(let v of u)B.output+=v.output||v.value}f({type:"brace",value:K,output:R}),e("braces"),b.pop();continue}if(K==="|"){if(d.length>0)d[d.length-1].conditions++;f({type:"text",value:K});continue}if(K===","){let M=K,R=b[b.length-1];if(R&&k[k.length-1]==="braces")R.comma=!0,M="|";f({type:"comma",value:K,output:M});continue}if(K==="/"){if(F.type==="dot"&&B.index===B.start+1){B.start=B.index+1,B.consumed="",B.output="",Q.pop(),F=j;continue}f({type:"slash",value:K,output:H});continue}if(K==="."){if(B.braces>0&&F.type==="dot"){if(F.value===".")F.output=G;let M=b[b.length-1];F.type="dots",F.output+=K,F.value+=K,M.dots=!0;continue}if(B.braces+B.parens===0&&F.type!=="bos"&&F.type!=="slash"){f({type:"text",value:K,output:G});continue}f({type:"dot",value:K,output:G});continue}if(K==="?"){if(!(F&&F.value==="(")&&J.noextglob!==!0&&T()==="("&&T(2)!=="?"){G1("qmark",K);continue}if(F&&F.type==="paren"){let R=T(),D=K;if(F.value==="("&&!/[!=<:]/.test(R)||R==="<"&&!/<([!=]|\w+>)/.test(n()))D=`\\${K}`;f({type:"text",value:K,output:D});continue}if(J.dot!==!0&&(F.type==="slash"||F.type==="bos")){f({type:"qmark",value:K,output:m});continue}f({type:"qmark",value:K,output:A});continue}if(K==="!"){if(J.noextglob!==!0&&T()==="("){if(T(2)!=="?"||!/[!=<:]/.test(T(3))){G1("negate",K);continue}}if(J.nonegate!==!0&&B.index===0){mq();continue}}if(K==="+"){if(J.noextglob!==!0&&T()==="("&&T(2)!=="?"){G1("plus",K);continue}if(F&&F.value==="("||J.regex===!1){f({type:"plus",value:K,output:V});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||B.parens>0){f({type:"plus",value:K});continue}f({type:"plus",value:V});continue}if(K==="@"){if(J.noextglob!==!0&&T()==="("&&T(2)!=="?"){f({type:"at",extglob:!0,value:K,output:""});continue}f({type:"text",value:K});continue}if(K!=="*"){if(K==="$"||K==="^")K=`\\${K}`;let M=HZ.exec(n());if(M)K+=M[0],B.index+=M[0].length;f({type:"text",value:K});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=K,F.output=P,B.backtrack=!0,B.globstar=!0,p(K);continue}let N=n();if(J.noextglob!==!0&&/^\([^?]/.test(N)){G1("star",K);continue}if(F.type==="star"){if(J.noglobstar===!0){p(K);continue}let M=F.prev,R=M.prev,D=M.type==="slash"||M.type==="bos",u=R&&(R.type==="star"||R.type==="globstar");if(J.bash===!0&&(!D||N[0]&&N[0]!=="/")){f({type:"star",value:K,output:""});continue}let v=B.braces>0&&(M.type==="comma"||M.type==="brace"),I1=d.length&&(M.type==="pipe"||M.type==="paren");if(!D&&M.type!=="paren"&&!v&&!I1){f({type:"star",value:K,output:""});continue}while(N.slice(0,3)==="/**"){let F1=q[B.index+4];if(F1&&F1!=="/")break;N=N.slice(3),p("/**",3)}if(M.type==="bos"&&l()){F.type="globstar",F.value+=K,F.output=g(J),B.output=F.output,B.globstar=!0,p(K);continue}if(M.type==="slash"&&M.prev.type!=="bos"&&!u&&l()){B.output=B.output.slice(0,-(M.output+F.output).length),M.output=`(?:${M.output}`,F.type="globstar",F.output=g(J)+(J.strictSlashes?")":"|$)"),F.value+=K,B.globstar=!0,B.output+=M.output+F.output,p(K);continue}if(M.type==="slash"&&M.prev.type!=="bos"&&N[0]==="/"){let F1=N[1]!==void 0?"|$":"";B.output=B.output.slice(0,-(M.output+F.output).length),M.output=`(?:${M.output}`,F.type="globstar",F.output=`${g(J)}${H}|${H}${F1})`,F.value+=K,B.output+=M.output+F.output,B.globstar=!0,p(K+C()),f({type:"slash",value:"/",output:""});continue}if(M.type==="bos"&&N[0]==="/"){F.type="globstar",F.value+=K,F.output=`(?:^|${H}|${g(J)}${H})`,B.output=F.output,B.globstar=!0,p(K+C()),f({type:"slash",value:"/",output:""});continue}B.output=B.output.slice(0,-F.output.length),F.type="globstar",F.output=g(J),F.value+=K,B.output+=F.output,B.globstar=!0,p(K);continue}let x={type:"star",value:K,output:P};if(J.bash===!0){if(x.output=".*?",F.type==="bos"||F.type==="slash")x.output=c+x.output;f(x);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&J.regex===!0){x.output=K,f(x);continue}if(B.index===B.start||F.type==="slash"||F.type==="dot"){if(F.type==="dot")B.output+=S,F.output+=S;else if(J.dot===!0)B.output+=E,F.output+=E;else B.output+=c,F.output+=c;if(T()!=="*")B.output+=I,F.output+=I}f(x)}while(B.brackets>0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("closing","]"));B.output=s.escapeLast(B.output,"["),e("brackets")}while(B.parens>0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("closing",")"));B.output=s.escapeLast(B.output,"("),e("parens")}while(B.braces>0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("closing","}"));B.output=s.escapeLast(B.output,"{"),e("braces")}if(J.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket"))f({type:"maybe_slash",value:"",output:`${H}?`});if(B.backtrack===!0){B.output="";for(let N of B.tokens)if(B.output+=N.output!=null?N.output:N.value,N.suffix)B.output+=N.suffix}return B};b1.fastpaths=(q,$)=>{let J={...$},Z=typeof J.maxLength==="number"?Math.min(H1,J.maxLength):H1,Y=q.length;if(Y>Z)throw new SyntaxError(`Input length: ${Y}, exceeds maximum allowed length: ${Z}`);q=Bq[q]||q;let{DOT_LITERAL:j,SLASH_LITERAL:Q,ONE_CHAR:X,DOTS_SLASH:U,NO_DOT:z,NO_DOTS:G,NO_DOTS_SLASH:V,STAR:H,START_ANCHOR:I}=N1.globChars(J.windows),W=J.dot?G:z,_=J.dot?V:z,S=J.capture?"":"?:",E={negated:!1,prefix:""},A=J.bash===!0?".*?":H;if(J.capture)A=`(${A})`;let m=(c)=>{if(c.noglobstar===!0)return A;return`(${S}(?:(?!${I}${c.dot?U:j}).)*?)`},t=(c)=>{switch(c){case"*":return`${W}${X}${A}`;case".*":return`${j}${X}${A}`;case"*.*":return`${W}${A}${j}${X}${A}`;case"*/*":return`${W}${A}${Q}${X}${_}${A}`;case"**":return W+m(J);case"**/*":return`(?:${W}${m(J)}${Q})?${_}${X}${A}`;case"**/*.*":return`(?:${W}${m(J)}${Q})?${_}${A}${j}${X}${A}`;case"**/.*":return`(?:${W}${m(J)}${Q})?${j}${X}${A}`;default:{let O=/^(.*?)\.(\w+)$/.exec(c);if(!O)return;let P=t(O[1]);if(!P)return;return P+j+O[2]}}},h=s.removePrefix(q,E),g=t(h);if(g&&J.strictSlashes!==!0)g+=`${Q}?`;return g};wq.exports=b1});var Hq=y((f8,Nq)=>{var _Z=Kq(),v1=Mq(),Vq=X1(),OZ=j1(),RZ=(q)=>q&&typeof q==="object"&&!Array.isArray(q),L=(q,$,J=!1)=>{if(Array.isArray(q)){let G=q.map((H)=>L(H,$,J));return(H)=>{for(let I of G){let W=I(H);if(W)return W}return!1}}let Z=RZ(q)&&q.tokens&&q.input;if(q===""||typeof q!=="string"&&!Z)throw new TypeError("Expected pattern to be a non-empty string");let Y=$||{},j=Y.windows,Q=Z?L.compileRe(q,$):L.makeRe(q,$,!1,!0),X=Q.state;delete Q.state;let U=()=>!1;if(Y.ignore){let G={...$,ignore:null,onMatch:null,onResult:null};U=L(Y.ignore,G,J)}let z=(G,V=!1)=>{let{isMatch:H,match:I,output:W}=L.test(G,Q,$,{glob:q,posix:j}),_={glob:q,state:X,regex:Q,posix:j,input:G,output:W,match:I,isMatch:H};if(typeof Y.onResult==="function")Y.onResult(_);if(H===!1)return _.isMatch=!1,V?_:!1;if(U(G)){if(typeof Y.onIgnore==="function")Y.onIgnore(_);return _.isMatch=!1,V?_:!1}if(typeof Y.onMatch==="function")Y.onMatch(_);return V?_:!0};if(J)z.state=X;return z};L.test=(q,$,J,{glob:Z,posix:Y}={})=>{if(typeof q!=="string")throw new TypeError("Expected input to be a string");if(q==="")return{isMatch:!1,output:""};let j=J||{},Q=j.format||(Y?Vq.toPosixSlashes:null),X=q===Z,U=X&&Q?Q(q):q;if(X===!1)U=Q?Q(q):q,X=U===Z;if(X===!1||j.capture===!0)if(j.matchBase===!0||j.basename===!0)X=L.matchBase(q,$,J,Y);else X=$.exec(U);return{isMatch:Boolean(X),match:X,output:U}};L.matchBase=(q,$,J)=>{return($ instanceof RegExp?$:L.makeRe($,J)).test(Vq.basename(q))};L.isMatch=(q,$,J)=>L($,J)(q);L.parse=(q,$)=>{if(Array.isArray(q))return q.map((J)=>L.parse(J,$));return v1(q,{...$,fastpaths:!1})};L.scan=(q,$)=>_Z(q,$);L.compileRe=(q,$,J=!1,Z=!1)=>{if(J===!0)return q.output;let Y=$||{},j=Y.contains?"":"^",Q=Y.contains?"":"$",X=`${j}(?:${q.output})${Q}`;if(q&&q.negated===!0)X=`^(?!${X}).*\$`;let U=L.toRegex(X,$);if(Z===!0)U.state=q;return U};L.makeRe=(q,$={},J=!1,Z=!1)=>{if(!q||typeof q!=="string")throw new TypeError("Expected a non-empty string");let Y={negated:!1,fastpaths:!0};if($.fastpaths!==!1&&(q[0]==="."||q[0]==="*"))Y.output=v1.fastpaths(q,$);if(!Y.output)Y=v1(q,$);return L.compileRe(Y,$,J,Z)};L.toRegex=(q,$)=>{try{let J=$||{};return new RegExp(q,J.flags||(J.nocase?"i":""))}catch(J){if($&&$.debug===!0)throw J;return/$^/}};L.constants=OZ;Nq.exports=L});var U1=y((E8,_q)=>{var Wq=Hq(),PZ=X1();function Iq(q,$,J=!1){if($&&($.windows===null||$.windows===void 0))$={...$,windows:PZ.isWindows()};return Wq(q,$,J)}Object.assign(Iq,Wq);_q.exports=Iq});var Aq=y((fq)=>{Object.defineProperty(fq,"__esModule",{value:!0});fq.Builder=void 0;var fZ=import.meta.require("path"),Oq=qq(),Rq=null;try{import.meta.require.resolve("picomatch"),Rq=U1()}catch(q){}class Pq{globCache={};options={maxDepth:1/0,suppressErrors:!0,pathSeparator:fZ.sep,filters:[]};globFunction;constructor(q){this.options={...this.options,...q},this.globFunction=this.options.globFunction}group(){return this.options.group=!0,this}withPathSeparator(q){return this.options.pathSeparator=q,this}withBasePath(){return this.options.includeBasePath=!0,this}withRelativePaths(){return this.options.relativePaths=!0,this}withDirs(){return this.options.includeDirs=!0,this}withMaxDepth(q){return this.options.maxDepth=q,this}withMaxFiles(q){return this.options.maxFiles=q,this}withFullPaths(){return this.options.resolvePaths=!0,this.options.includeBasePath=!0,this}withErrors(){return this.options.suppressErrors=!1,this}withSymlinks({resolvePaths:q=!0}={}){return this.options.resolveSymlinks=!0,this.options.useRealPaths=q,this.withFullPaths()}withAbortSignal(q){return this.options.signal=q,this}normalize(){return this.options.normalizePath=!0,this}filter(q){return this.options.filters.push(q),this}onlyDirs(){return this.options.excludeFiles=!0,this.options.includeDirs=!0,this}exclude(q){return this.options.exclude=q,this}onlyCounts(){return this.options.onlyCounts=!0,this}crawl(q){return new Oq.APIBuilder(q||".",this.options)}withGlobFunction(q){return this.globFunction=q,this}crawlWithOptions(q,$){return this.options={...this.options,...$},new Oq.APIBuilder(q||".",this.options)}glob(...q){if(this.globFunction)return this.globWithOptions(q);return this.globWithOptions(q,...[{dot:!0}])}globWithOptions(q,...$){let J=this.globFunction||Rq;if(!J)throw new Error("Please specify a glob function to use glob matching.");var Z=this.globCache[q.join("\0")];if(!Z)Z=J(q,...$),this.globCache[q.join("\0")]=Z;return this.options.filters.push((Y)=>Z(Y)),this}}fq.Builder=Pq});var Sq=y((Tq)=>{Object.defineProperty(Tq,"__esModule",{value:!0})});var xq=y((r)=>{var EZ=r&&r.__createBinding||(Object.create?function(q,$,J,Z){if(Z===void 0)Z=J;var Y=Object.getOwnPropertyDescriptor($,J);if(!Y||("get"in Y?!$.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return $[J]}};Object.defineProperty(q,Z,Y)}:function(q,$,J,Z){if(Z===void 0)Z=J;q[Z]=$[J]}),AZ=r&&r.__exportStar||function(q,$){for(var J in q)if(J!=="default"&&!Object.prototype.hasOwnProperty.call($,J))EZ($,q,J)};Object.defineProperty(r,"__esModule",{value:!0});r.fdir=void 0;var TZ=Aq();Object.defineProperty(r,"fdir",{enumerable:!0,get:function(){return TZ.Builder}});AZ(Sq(),r)});import rq from"process";import{resolve as sq}from"path";import nq from"process";function _1(q,...$){if(!$.length)return q;let J=$.shift();if(B1(q)&&B1(J)){for(let Z in J)if(Object.prototype.hasOwnProperty.call(J,Z)){let Y=J[Z];if(B1(Y)&&B1(q[Z]))q[Z]=_1(q[Z],Y);else q[Z]=Y}}return _1(q,...$)}function B1(q){return q&&typeof q==="object"&&!Array.isArray(q)}async function c1({name:q,cwd:$,defaultConfig:J}){let Z=sq($||nq.cwd(),`${q}.config`);try{let Y=await import(Z),j=Y.default||Y;return _1(J,j)}catch(Y){return J}}var q1=await c1({name:"dts",defaultConfig:{cwd:rq.cwd(),root:"./src",entrypoints:["**/*.ts"],outdir:"./dist",keepComments:!0,clean:!0,tsconfigPath:"./tsconfig.json",verbose:!1}});function O1(q){if(w("params",`Cleaning parameters: ${q}`),!q.trim())return"";let $=[],J="",Z=0,Y=!1,j="",Q=!1;for(let U of q){if(U==='"'||U==="\'"||U==="`"){if(!Y)Y=!0,j=U;else if(U===j)Y=!1}if(!Y){if(U==="{")Q=!0,Z++;if(U==="}")Q=!1,Z--;if(U==="<"||U==="(")Z++;if(U===">"||U===")")Z--;if(U===","&&Z===0&&!Q){if(J.trim())$.push(l1(J));J="";continue}}J+=U}if(J.trim())$.push(l1(J));let X=$.join(", ");return w("params",`Cleaned parameters: ${X}`),X}function l1(q){w("param-clean",`Cleaning parameter: ${q}`);let $=q.match(/^([^:]+):\s*([^=]+)(?:=\s*.+)?$/);if($){let[,Z,Y]=$,j=Y.replace(/\s*&\s*/g," & ").replace(/\s{2,}/g," ").trim(),Q=`${Z.trim()}: ${j}`;return w("param-clean",`Cleaned to: ${Q}`),Q}let J=q.match(/^([^=]+)=\s*(.+)$/);if(J){let[,Z,Y]=J,j=G$(Y.trim()),Q=`${Z.trim()}: ${j}`;return w("param-clean",`Inferred type: ${Q}`),Q}return q.trim()}async function r1(q){try{let $=await Bun.file(q).text();return oq($)}catch($){throw console.error("Failed to extract types:",$),new Error("Failed to extract and generate .d.ts file")}}function oq(q){let $=X$();q.split("\n").forEach((Z)=>{if(Z.includes("import "))e1(Z,$.importTracking)}),A$(q,$),$.dtsLines.forEach((Z)=>{if(Z.trim()&&!Z.startsWith("import"))D$(Z,$.importTracking),k$(Z,$.importTracking)});let J=J$($.importTracking);return $.dtsLines=[...J.map((Z)=>`${Z};`),"",...$.dtsLines.filter((Z)=>!Z.trim().startsWith("import"))],Y$($)}function aq(q){w("signature-start",`Processing declaration: ${q}`);let $=S$(q);w("signature-clean",`Clean declaration: ${$}`);let J=tq($),Z=$.slice($.indexOf(J)+J.length).trim();w("signature-content",`Content after name: ${Z}`);let{generics:Y,rest:j}=eq(Z);Z=j.trim(),w("signature-after-generics",`Remaining content: ${Z}`);let{params:Q,rest:X}=q$(Z);Z=X.trim(),w("signature-after-params",`Remaining content: ${Z}`);let{returnType:U}=$$(Z);w("signature-return",`Extracted return type: ${U}`);let z={name:J,generics:Y,params:Q,returnType:U};return w("signature-final",`Final signature object: ${JSON.stringify(z,null,2)}`),z}function tq(q){let $=q.match(/^(?:export\s+)?(?:async\s+)?function\s*\*?\s*([^(<\s]+)/);if(!$)throw new Error("Invalid function declaration");return $[1]}function eq(q){let $="";if(q.startsWith("<")){let J=1,Z=0,Y="<",j=!1,Q="";w("generics-input",`Starting generic extraction with: ${q}`);for(let X=1;X<q.length;X++){let U=q[X],z=X<q.length-1?q[X+1]:"",G=X>0?q[X-1]:"";if(w("generics-char",`Processing char: ${U}, next char: ${z}, depth: ${J}, pos: ${X}`),(U==='"'||U==="\'"||U==="`")&&G!=="\\"){if(!j)j=!0,Q=U,w("generics-string",`Entering string with ${Q}`);else if(U===Q)j=!1,w("generics-string","Exiting string")}if(!j){if(U==="<")J++,w("generics-depth",`Increasing depth to ${J} at pos ${X}`);else if(U===">"){if(J--,w("generics-depth",`Decreasing depth to ${J} at pos ${X}`),J===0&&z===">"){Y+=">>",Z=X+1,w("generics-complete",`Found double closing bracket at pos ${X}, final buffer: ${Y}`);break}else if(J===0){Y+=">",Z=X,w("generics-complete",`Found single closing bracket at pos ${X}, final buffer: ${Y}`);break}}}if(J>0)Y+=U,w("generics-buffer",`Current buffer: ${Y}`)}if(Y)$=Y,q=q.slice(Z+1),w("generics-success",`Successfully extracted generics: ${$}`),w("generics-rest",`Remaining text: ${q}`);else w("generics-fail",`Failed to extract generics from: ${q}`)}return{generics:$,rest:q}}function q$(q){let $="";if(q.includes("(")){let J=q.indexOf("("),Z=1,Y=J+1,j="";w("params-extraction-start",`Starting params extraction from pos ${Y}: ${q}`);for(;Y<q.length;Y++){let Q=q[Y];if(Q==="(")Z++;if(Q===")"){if(Z--,Z===0){w("params-depth-zero",`Found closing parenthesis at pos ${Y}`);break}}j+=Q}$=j.trim(),q=q.slice(Y+1).trim(),w("signature-params",`Extracted params: ${$}`)}return{params:$,rest:q}}function $$(q){let $="void";if(q.startsWith(":")){w("return-start",`Starting return type extraction with: ${q}`),q=q.slice(1).trim();let J=0,Z="",Y=0,j=!1,Q="",X=!1;w("return-extraction","Starting character-by-character extraction");while(Y<q.length&&!X){let U=q[Y],z=Y>0?q[Y-1]:"";if(w("return-char",`Pos ${Y}: Char "${U}", Depth ${J}, InString ${j}, Buffer length ${Z.length}`),(U==='"'||U==="\'"||U==="`")&&z!=="\\"){if(!j)j=!0,Q=U,w("return-string",`Entering string with ${Q}`);else if(U===Q)j=!1,w("return-string","Exiting string")}if(!j){if(U==="{"||U==="<"||U==="(")J++,w("return-depth",`Opening bracket, increasing depth to ${J}`);else if(U==="}"||U===">"||U===")"){if(J--,w("return-depth",`Closing bracket, decreasing depth to ${J}`),J===0&&U==="}"){if(Z+=U,q.slice(Y+1).trim()[0]==="{"){w("return-end",`Found end of return type at pos ${Y}, next char is function body`),X=!0;break}}}if(J===0&&U===";"){w("return-end","Found semicolon at depth 0"),X=!0;break}}Z+=U,w("return-buffer",`Updated buffer: ${Z}`),Y++}$=Z.trim(),w("return-final",`Final extracted return type: ${$}`)}return{returnType:$}}function f1(q){w("extract-function",`Extracting function type from: ${q}`);let $=q.trim(),J=0,Z=$.length;if(!$.startsWith("(")){let H=$.match(/^function\s*\w*\s*\((.*?)\)/s);if(H){let[,I]=H,W=O1(I||""),_=$.match(/\):\s*([^{;]+)(?:[{;]|$)/),S=_?L$(_[1]):"unknown";return`(${W}) => ${S}`}return null}J++;let Y=1,j=J,Q=!1,X="";for(;J<Z;J++){let H=$[J],I=J>0?$[J-1]:"";if(Q){if(H===X&&I!=="\\")Q=!1;else if(H==="\\")J++}else if(H==='"'||H==="\'"||H==="`")Q=!0,X=H;else if(H==="(")Y++;else if(H===")"){if(Y--,Y===0)break}}if(Y!==0)return w("extract-function","Unbalanced parentheses in function parameters"),null;let U=J,z=$.slice(j,U);J++;while(J<Z&&/\s/.test($[J]))J++;let G="unknown";if($[J]===":"){J++;while(J<Z&&/\s/.test($[J]))J++;let H=J;while(J<Z&&!$.startsWith("=>",J)&&$[J]!=="{")J++;let I=J;G=$.slice(H,I).trim()}while(J<Z&&/\s/.test($[J]))J++;if($.startsWith("=>",J))J+=2;else return w("extract-function",'Function expression missing "=>"'),null;let V=O1(z||"");return w("extract-function",`Extracted function type: (${V}) => ${G}`),`(${V}) => ${G}`}function J$(q){let $=[],J=new Set;w("import-gen",`Generating optimized imports. ${q.exportedTypes.size} exported types`);for(let[Z,Y]of q.typeImports){w("import-type-check",`Checking types from ${Z}: ${Array.from(Y).join(", ")}`);let j=Array.from(Y).filter((Q)=>{let X=q.exportedTypes.has(Q)||q.usedTypes.has(Q);return w("import-type-filter",`Type ${Q}: exported=${q.exportedTypes.has(Q)}, used=${q.usedTypes.has(Q)}`),X}).map((Q)=>{let X=q.valueAliases.get(Q);return X?`${Q} as ${X}`:Q}).sort();if(j.length>0){let Q=`import type { ${j.join(", ")} } from '${Z}'`;if(!J.has(Q))$.push(Q),J.add(Q),w("import-add-type",`Added type import: ${Q}`)}}for(let[Z,Y]of q.valueImports){let j=new Map,Q=Array.from(Y).filter((X)=>{let U=Array.from(q.valueAliases.entries()).find(([G,V])=>V===X)?.[0],z=q.exportedValues.has(X)||q.usedValues.has(X)||X===q.defaultExportValue||U&&(q.exportedValues.has(U)||U===q.defaultExportValue);if(z&&U)j.set(X,U);return z}).map((X)=>{let U=j.get(X);return U?`${X} as ${U}`:X}).sort();if(Q.length>0){let X=`import { ${Q.join(", ")} } from '${Z}'`;if(!J.has(X))$.push(X),J.add(X),w("import-add-value",`Added value import: ${X}`)}}return $.sort()}function Z$(q){let $=q.trim();if(!$.startsWith("{"))return null;let J=0,Z=!1,Y="";for(let j=0;j<$.length;j++){let Q=$[j],X=j>0?$[j-1]:"";if((Q==='"'||Q==="\'"||Q==="`")&&X!=="\\"){if(!Z)Z=!0,Y=Q;else if(Q===Y)Z=!1;continue}if(!Z){if(Q==="{")J++;else if(Q==="}"){if(J--,J===0)return $.slice(0,j+1)}}}return null}function Y$(q){let $=new Set;q.dtsLines.filter((j)=>j.startsWith("import")).forEach((j)=>$.add(j.replace(/;+$/,"")));let J=q.dtsLines.filter((j)=>!j.startsWith("import")).map((j)=>{let Q=j.trim();if(!Q)return"";if(Q.startsWith("export *")||Q.endsWith(";"))return Q;if(Q.startsWith("export type"))return`${Q};`;return Q.replace(/;+$/,";")}),Z=Array.from(q.defaultExports).map((j)=>j.trim().replace(/;+$/,";"));return`${[...Array.from($).map((j)=>`${j};`),"",...J.filter(Boolean),"",...Z].map((j)=>j.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"")).filter((j)=>j.trim()||j==="").join("\n")}`.trim()}function j$(q){let $=q.split("\n"),J=0;while(J<$.length){let Z=$[J].trim();if(Z.startsWith("//")||Z.startsWith("/*")||Z.startsWith("*")||Z==="")J++;else break}return $.slice(J).join("\n")}function X$(){return{dtsLines:[],imports:[],usedTypes:new Set,typeSources:new Map,defaultExport:null,exportAllStatements:[],currentDeclaration:"",lastCommentBlock:"",bracketCount:0,isMultiLineDeclaration:!1,moduleImports:new Map,availableTypes:new Map,availableValues:new Map,currentIndentation:"",declarationBuffer:null,importTracking:Q$(),defaultExports:new Set,currentScope:"top"}}function Q$(){return{typeImports:new Map,valueImports:new Map,usedTypes:new Set,usedValues:new Set,exportedTypes:new Set,exportedValues:new Set,valueAliases:new Map,importSources:new Map,typeExportSources:new Map,defaultExportValue:void 0}}function p1(q,$,J){let Z=q.split("\n");if(Z.length===1)return`${$}${q}${J?"":" |"}`;let Y=[],j=!1,Q=0;return Z.forEach((U)=>{let z=U.trim();if(z.startsWith("Array<"))Q=0;if(z==="}"||z.startsWith("> |")||z===">")j=Q===1;if(z&&!z.startsWith("Array<")&&!z.endsWith(">")&&!z.startsWith("{")&&!z.endsWith("}"))Q++}),Z.map((U,z)=>{let G=U.trim();if(!G)return"";let V=$;if(z>0){let _=Y.reduce((S,E)=>S+E.depth,0);if(V=$+" ".repeat(_),G.match(/^['"]/))V+=" ";if((G.startsWith("}")||G.startsWith(">")||G.startsWith("> |"))&&Y.length>0)V=$+" ".repeat(Math.max(0,_-1))}let H=G.match(/[{<[]/g)||[],I=G.match(/[}\]>]/g)||[];if(H.forEach((_)=>{let S=G.startsWith("Array")&&_==="<";Y.push({char:_,indent:V,isArray:S,depth:1,isSingleElement:j})}),I.length>0){for(let _=0;_<I.length;_++)if(Y.length>0)Y.pop()}let W=!1;if(!J&&z===Z.length-1&&!G.endsWith(" |")&&!G.endsWith(";"))W=!0;if(G==="}"){if([...Y].reverse().find((S)=>S.isArray)?.isSingleElement)W=!1}if(G.endsWith(" |"))W=!1;return`${V}${G}${W?" |":""}`}).filter(Boolean).join("\n")}function U$(q){let $=q.split("\n").map((Z)=>Z.trim()).join(" ");if(/^['"`].*['"`]$/.test($))return $;if(!Number.isNaN(Number($)))return $;if($==="true"||$==="false")return $;let J=$.match(/\([^)]*\)\s*:\s*([^=>{]+)/);if(J)return J[1].trim();if($.includes("=>"))return"(...args: any[]) => unknown";return"unknown"}function w1(q,$,J=!1){let Z=q.slice(1,-1).trim(),Y=q.trim().endsWith("as const");if(!Z)return Y?"readonly unknown[]":"unknown[]";let j=Z0(Z);if(Y||j.some((z)=>z.includes("as const"))){let z=j.map((G)=>{let V=G.trim().replace(/\s*as\s*const\s*$/,"").trim();return o1(V,$)});if(B$(z))return`readonly [\n${z.map((V,H)=>p1(V," ",H===z.length-1)).join("\n")}\n ]`;return`readonly [${z.join(", ")}]`}let X=j.map((z)=>{let G=z.trim();if(G.startsWith("["))return w1(G,$);else if(G.startsWith("{"))return $1(G,$);else if(G.includes("=>")||G.includes("function")){let V=f1(G);return V?`(${V})`:"((...args: any[]) => unknown)"}else return w$(G)}).filter(Boolean);if(X.some((z)=>z.includes("\n")||z.includes("{")||z.length>40||X.join(" | ").length>60)&&J)return`Array<\n${X.map((G,V)=>p1(G," ",V===X.length-1)).join("\n")}\n >`;return`Array<${X.join(" | ")}>`}function $1(q,$,J=0){let Z=Z$(q);if(!Z)return"Record<string, unknown>";let Y=" ".repeat(J),j=" ".repeat(J+1),Q=Y,X=C$(Z,$,J);if(!X.length)return"{}";return`{\n${X.map(({key:z,value:G})=>{return`${j}${z}: ${G}`}).join(";\n")}\n${Q}}`}function o1(q,$){if(/^['"`].*['"`]$/.test(q))return`'${q.replace(/\]\s*as\s*cons.*$/,"").replace(/^['"`]|['"`]$/g,"")}'`;if(q.startsWith("[")){let Z=q.slice(1,-1).trim();return`readonly [${Z0(Z).map((Q)=>{let X=Q.trim();if(X.includes("] as cons")||X.includes("] as const"))X=X.replace(/\]\s*as\s*cons.*$/,"").replace(/\]\s*as\s*const.*$/,"").trim();if(X.startsWith("["))return o1(X,$);if(X.startsWith("{"))return $1(X,$).replace(/^\{/,"{ readonly").replace(/;\s+/g,"; readonly ");if(/^['"`].*['"`]$/.test(X))return`'${X.replace(/^['"`]|['"`]$/g,"")}'`;if(!Number.isNaN(Number(X)))return X;if(X==="true"||X==="false")return X;return`'${X.replace(/\]\s*as\s*cons.*$/,"").replace(/\]\s*as\s*const.*$/,"").replace(/^['"`]|['"`]$/g,"").trim()}'`}).join(", ")}]`}return`'${q.replace(/\]\s*as\s*cons.*$/,"").replace(/\]\s*as\s*const.*$/,"").replace(/^['"`]|['"`]$/g,"").trim()}'`}function z$(q,$){if(q.startsWith("{"))return $1(q,$);if(q.startsWith("["))return w1(q,$,!0);return q}function G$(q){if(/^['"`].*['"`]$/.test(q))return"string";if(!Number.isNaN(Number(q)))return"number";if(q==="true"||q==="false")return"boolean";if(q.startsWith("["))return"unknown[]";if(q.startsWith("{"))return"object";if(q==="null")return"null";if(q==="undefined")return"undefined";return"unknown"}function a1(q){return q.trim().startsWith("export default")}function F$(q){if(K$(q))return!1;let $=q.trim();if(/^(?:export\s+)?(?:async\s+)?function\s*\*?\s*[a-zA-Z_$][\w$]*/.test($))return!0;return $.startsWith("export ")||$.startsWith("interface ")||$.startsWith("type ")||$.startsWith("const ")||$.startsWith("function ")||$.startsWith("async function ")||$.startsWith("declare ")||$.startsWith("declare module")||/^export\s+(?:interface|type|const|function\*?|async\s+function\*?)/.test($)}function K$(q){return q.includes("\\")||q.includes("[^")||q.includes("(?:")||q.includes("(?=")||q.includes("(?!")||q.includes("\\s*")||q.includes("\\w+")||q.includes("\\d+")||q.includes("(?<")||q.includes("(?!")||q.includes("(?<=")||q.includes("(?<!")}function J8(q){return/^\s*\(.*\)\s*=>\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF])$/.test(q.trim())}function Z8(q){let J=(Array.isArray(q)?q.join("\n"):q).replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"").trim();return/;\s*$/.test(J)||/\}\s*$/.test(J)}function t1(q,$){let J=q.trim();return $.currentScope==="function"&&(J.startsWith("const ")||J.startsWith("let ")||J.startsWith("var ")||/^(?:const|let|var)\s+[a-zA-Z_$][\w$]*\s*(?::|=)/.test(J))}function B$(q){return q.some(($)=>$.includes("\n")||$.includes("{")||$.length>40||q.join(" | ").length>60)}function w$(q){if(q.includes("=>")||q.match(/\bfunction\b/))return"((...args: any[]) => unknown)";if(q.match(/\w+\s*\([^)]*\)/))return"unknown";if(q.startsWith("new "))return"unknown";if(q.includes("."))return"unknown";if(/^[a-z_$][\w$]*$/i.test(q)&&!["unknown","string","number","boolean","null","undefined","any","never","void"].includes(q)&&!/^['"`]|^\d/.test(q)&&q!=="true"&&q!=="false")return"unknown";return q}function R1(q,$,J){w("block-processing","Starting block processing");let Z=[],Y=0,j=0,Q=0,X=!1,U=q.length;w("block-scan",`Total available lines: ${U}`);while(Q<U){let V=q[Q],H=V.trim(),I=(V.match(/\{/g)||[]).length,W=(V.match(/\}/g)||[]).length,_=(V.match(/</g)||[]).length,S=(V.match(/>/g)||[]).length;if(w("block-scan-details",`Scanning line ${Q+1}: "${H}" Current depths - Bracket: ${Y}, Angle: ${j} Found body: ${X} Changes - Curly: +${I}/-${W}, Angle: +${_}/-${S}`),Z.push(V),Y+=I-W,j+=_-S,H.includes("{"))X=!0,w("block-scan",`Found body start at line ${Q+1}`);if(w("block-collection",`Line ${Q+1}: "${H}" Updated depths - Bracket: ${Y}, Angle: ${j} Found body: ${X}`),Y===0&&(j===0||X)&&H.endsWith("}")&&X){w("block-scan",`Found complete block at line ${Q+1}`);break}Q++}let z=Z.join("\n");w("block-scan",`Collected block:\n${z}`);let G=j$(z).trim();if(w("block-processing",`Full block content:\n${G}`),!G){w("block-processing","Empty declaration block");return}if(t1(G,J)){w("block-processing","Skipping variable declaration inside function");return}if(G.startsWith("interface")||G.startsWith("export interface")){if(w("block-processing","Processing interface declaration using interface block processor"),N$(G,z,J)){w("block-processing","Interface successfully processed");return}}if(G.includes("\n\nexport function")||G.includes("\n\nfunction")){let V=b$(G);if(V.length>1){w("block-processing",`Found ${V.length} function declarations to process`),V.forEach((H)=>{let I=H.split("\n");R1(I,$,J)});return}}if(V$(G,J))return;if(M$(G,q,J))return;if(H$(G,z,J))return;if(W$(G,J))return;if(I$(G,J))return;if(_$(G,z,J))return;if(E$(G,z,J))return;w("processing",`Unhandled declaration type: ${G.split("\n")[0]}`)}function M$(q,$,J){if(!q.match(/^(?:export\s+)?(const|let|var)\s+/))return!1;if(t1(q,J))return w("variable-processing","Skipping variable inside function"),!0;let Y=q.startsWith("export");if(J.currentScope==="top"){let j=$.join("\n");J.dtsLines.push($0(j,Y,J))}else w("block-processing","Skipping variable declared inside a function");return!0}function V$(q,$){if(w("function-processing",`Processing potential function block: ${q.slice(0,100)}...`),/^(?:export\s+)?(?:async\s+)?function\s*\*/.test(q)){w("block-processing","Processing generator function declaration");let z=x$(q);if(z)return $.dtsLines.push(z),!0}if(!/^(?:export\s+)?(?:async\s+)?function\s+[a-zA-Z_$][\w$]*/.test(q))return!1;w("block-processing","Processing function declaration");let J=q.split(/[\n;]/).map((z)=>z.trim()).filter((z)=>z.startsWith("export function")||z.startsWith("function"));if(J.length>1)return J.forEach((z)=>{if(!z.endsWith("{")){let G=P1(z,$.usedTypes,z.startsWith("export"));if(G)$.dtsLines.push(G)}}),!0;let Z=0,Y=0,j=0;for(let z=0;z<q.length;z++){let G=q[z];if(G==="(")Y++;if(G===")")Y--;if(G==="<")j++;if(G===">")j--;if(G==="{"){if(Y===0&&j===0){Z=z;break}}}if(Z===0)Z=q.length;let Q=q.slice(0,Z).trim();w("signature-extraction",`Extracted signature: ${Q}`);let X=Q.startsWith("export"),U=P1(Q,$.usedTypes,X);if(U)w("function-processed",`Generated declaration: ${U}`),$.dtsLines.push(U);return!0}function N$(q,$,J){if(w("interface-processing",`Starting interface processing with declaration: ${q.slice(0,100)}...`),!q.startsWith("interface")&&!q.startsWith("export interface"))return w("interface-processing","Not an interface declaration, skipping"),!1;let Z=$.split("\n"),Y=0,j=0,Q=[],X=!0,U=!1;w("interface-processing",`Processing ${Z.length} lines`);for(let H=0;H<Z.length;H++){let I=Z[H],W=I.trim(),_=(I.match(/\{/g)||[]).length,S=(I.match(/\}/g)||[]).length,E=(I.match(/</g)||[]).length,A=(I.match(/>/g)||[]).length;if(Y+=_-S,j+=E-A,W.includes("{"))U=!0;if(w("interface-depth",`Line ${H+1}: "${W}" Bracket depth: ${Y}, Angle depth: ${j}, Has started body: ${U}`),X){let m=W.startsWith("export")?"export declare":"declare";Q.push(I.replace(/^(\s*)(?:export\s+)?interface/,`\$1${m} interface`)),X=!1}else Q.push(I)}let z=Q.join("\n"),G=z.includes("{")&&z.includes("}");if(Y===0&&(j===0||z.includes(">"))&&G)return w("interface-processing",`Successfully processed interface:\n${z}`),J.dtsLines.push(z),!0;return w("interface-processing",`Interface processing incomplete. Bracket depth: ${Y}, Angle depth: ${j}, Has started body: ${U}`),!1}function H$(q,$,J){if(!q.startsWith("type")&&!q.startsWith("export type"))return!1;let Z=q.startsWith("export");return J.dtsLines.push(q0($,Z)),!0}function W$(q,$){if(!a1(q))return!1;let J=q.replace(/^export\s+default\s+/,"").replace(/;$/,"");$.importTracking.defaultExportValue=J;let Z=q.endsWith(";")?q:`${q};`;return $.defaultExports.add(Z),!0}function I$(q,$){if(!q.startsWith("export *"))return!1;return $.exportAllStatements.push(q),$.dtsLines.push(q),!0}function _$(q,$,J){if(!q.startsWith("export"))return!1;if(R$(q,J))return!0;if(P$(q,J))return!0;if(f$(q,J))return!0;if(q.startsWith("export {"))return J.dtsLines.push($),!0;return w("processing",`Unhandled exported declaration type: ${q.split("\n")[0]}`),!0}function O$(q,$){w("export-processing",`Processing export: ${q}`);let J=q.match(/export\s*\{([^}]+)\}(?:\s*from\s*['"]([^'"]+)['"])?/);if(!J){w("export-error","Failed to match export pattern");return}let[,Z,Y]=J;w("export-found",`Found exports: ${Z}, source: ${Y||"local"}`),Z.split(",").forEach((j)=>{let[Q,X]=j.trim().split(/\s+as\s+/).map((U)=>U.trim());if(Q.startsWith("type ")){let U=Q.replace(/^type\s+/,"").trim(),z=X||U;if($.importTracking.exportedTypes.add(z),Y)$.importTracking.typeExportSources.set(z,Y);w("export-type-processed",`Added exported type: ${z}`)}else{let U=X||Q;$.importTracking.exportedValues.add(U),w("export-value-processed",`Added exported value: ${U}`)}})}function R$(q,$){if(!q.startsWith("export class")&&!q.startsWith("export abstract class"))return!1;let J=`export declare ${q.replace(/^export\s+/,"")}`;return $.dtsLines.push(J),!0}function P$(q,$){if(!q.startsWith("export enum")&&!q.startsWith("export const enum"))return!1;let J=`export declare ${q.replace(/^export\s+/,"")}`;return $.dtsLines.push(J),!0}function f$(q,$){if(!q.startsWith("export namespace"))return!1;let J=`export declare ${q.replace(/^export\s+/,"")}`;return $.dtsLines.push(J),!0}function E$(q,$,J){if(!q.startsWith("declare module"))return!1;let Z=J0($);return J.dtsLines.push(Z),!0}function Y8(q,$,J){if(a1(q)){let Z=q.endsWith(";")?q:`${q};`;J.defaultExports.add(Z);return}if(q.startsWith("declare module")){let Z=J0($);J.dtsLines.push(Z);return}if(q.startsWith("export const")||q.startsWith("const")){let Z=q.trimStart().startsWith("export"),Y=$0($,Z,J);J.dtsLines.push(Y);return}if(q.startsWith("interface")||q.startsWith("export interface")){let Z=y$($,q.startsWith("export"));J.dtsLines.push(Z);return}if(q.startsWith("type")||q.startsWith("export type")){let Z=q0($,q.startsWith("export"));J.dtsLines.push(Z);return}if(q.startsWith("function")||q.startsWith("export function")||q.startsWith("async function")||q.startsWith("export async function")){let Z=P1($,J.usedTypes,q.startsWith("export"));J.dtsLines.push(Z);return}if(q.startsWith("export *")){J.exportAllStatements.push(q),J.dtsLines.push($);return}if(q.startsWith("export {")){J.dtsLines.push($);return}if(q.startsWith("export type {")){J.dtsLines.push($);return}if(q.startsWith("class")||q.startsWith("export class")||q.startsWith("abstract class")||q.startsWith("export abstract class")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}if(q.startsWith("enum")||q.startsWith("export enum")||q.startsWith("const enum")||q.startsWith("export const enum")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}if(q.startsWith("namespace")||q.startsWith("export namespace")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}if(q.startsWith("let")||q.startsWith("export let")||q.startsWith("var")||q.startsWith("export var")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}console.warn("Unhandled declaration type:",q.split("\n")[0])}function A$(q,$){let J=q.split("\n"),Z=[],Y=[],j=0,Q=0,X=!1;$.currentScope="top",w("source-processing",`Processing source file with ${J.length} lines`);for(let U=0;U<J.length;U++){let z=J[U],G=z.trim();if(w("source-scan",`First pass - Line ${U+1}: ${G}`),z.includes("import "))e1(z,$.importTracking),w("import",`Processed import: ${z}`);if(G.startsWith("export type {")){w("type-export",`Found type export: ${G}`),T$(G,$),$.dtsLines.push(z);continue}if(G.startsWith("export {")){w("mixed-export",`Found mixed export: ${G}`),O$(G,$),$.dtsLines.push(z);continue}}for(let U=0;U<J.length;U++){let z=J[U],G=z.trim();if(G.startsWith("import ")||G.startsWith("export type {")||G.startsWith("export {"))continue;if(G.startsWith("/*")||G.startsWith("//")){Y.push(z);continue}let V=(z.match(/\{/g)||[]).length,H=(z.match(/\}/g)||[]).length,I=(z.match(/</g)||[]).length,W=(z.match(/>/g)||[]).length;if(!X&&F$(G)){w("declaration",`Found declaration start: ${G}`),X=!0,Z=[z],j=V-H,Q=I-W;continue}if(X){Z.push(z),j+=V-H,Q+=I-W;let _=j===0&&Q===0&&G.endsWith("}"),S=U<J.length-1?J[U+1]?.trim():"";if(!(j>0||Q>0||S&&!S.startsWith("export")&&!S.startsWith("interface"))||_)w("declaration-complete",`Declaration complete at line ${U+1}`),R1(Z,Y,$),Z=[],Y=[],X=!1,j=0,Q=0}}if(Z.length>0)R1(Z,Y,$)}function e1(q,$){w("import-processing",`Processing import line: ${q}`);let J=q.match(/import\s+type\s*(?:\{([^}]+)\}|([^;\s]+))\s*from\s*['"]([^'"]+)['"]/);if(J){let[,Y,j,Q]=J,X=Y||j;if(w("import-type",`Found type imports from ${Q}: ${X}`),!$.typeImports.has(Q))$.typeImports.set(Q,new Set);if(X)X.split(",").forEach((U)=>{let[z,G]=U.trim().split(/\s+as\s+/).map((V)=>V.trim());if($.typeImports.get(Q).add(z),$.typeExportSources.set(z,Q),w("import-type-tracking",`Tracking type ${z} from ${Q}`),G)$.valueAliases.set(G,z),w("import-alias",`Registered type alias: ${z} as ${G}`)});return}let Z=q.match(/import\s*\{([^}]+)\}\s*from\s*['"]([^'"]+)['"]/);if(Z){let[,Y,j]=Z;if(w("import-value",`Found value imports from ${j}: ${Y}`),!$.valueImports.has(j))$.valueImports.set(j,new Set);Y.split(",").forEach((Q)=>{let[X,U]=Q.trim().split(/\s+as\s+/).map((z)=>z.trim());if(X.startsWith("type ")){let z=X.replace(/^type\s+/,"").trim();if(!$.typeImports.has(j))$.typeImports.set(j,new Set);$.typeImports.get(j).add(z),$.typeExportSources.set(z,j),w("import-type-in-value",`Found inline type import: ${z} from ${j}`)}else if($.valueImports.get(j).add(X),$.importSources.set(X,j),U){if($.valueAliases.set(U,X),U===$.defaultExportValue)$.usedValues.add(X);$.valueImports.get(j).add(X),w("import-alias",`Registered value alias: ${X} as ${U}`)}})}}function q0(q,$=!0){let J=q.split("\n");if(J[0].trim().startsWith("export type {"))return q;let Y=$?"export declare":"declare";return[J[0].replace(/^(\s*)(?:export\s+)?type(?!\s*\{)/,`\$1${Y} type`),...J.slice(1)].join("\n")}function T$(q,$){w("type-export-processing",`Processing type export: ${q}`);let J=q.match(/export\s+type\s*\{([^}]+)\}(?:\s*from\s*['"]([^'"]+)['"])?/);if(!J){w("type-export-error","Failed to match type export pattern");return}let[,Z,Y]=J;w("type-export-found",`Found types: ${Z}, source: ${Y||"local"}`),Z.split(",").forEach((j)=>{let[Q,X]=j.trim().split(/\s+as\s+/).map((z)=>z.trim()),U=X||Q;if($.importTracking.exportedTypes.add(U),Y)$.importTracking.typeExportSources.set(U,Y);w("type-export-processed",`Added exported type: ${U}`)})}function $0(q,$,J){let Z=q.includes("let ")?"let":q.includes("var ")?"var":"const",Y=q.match(/(?:export\s+)?(?:const|let|var)\s+([^:\s]+)\s*:\s*([^=]+)=/);if(Y){let[,V,H]=Y;return`${$?"export ":""}declare ${Z} ${V}: ${H.trim()};`}let j=q.match(/(?:export\s+)?(?:const|let|var)\s+([^=\s]+)\s*=\s*([\s\S]+)$/);if(!j)return q;let[,Q,X]=j,U=X.trim(),z=U.match(/^\(\s*.*?\)\s*:\s*([^=>\s{]).*=>/);if(z){let V=z[1];return`${$?"export ":""}declare ${Z} ${Q}: ${V};`}let G;if(U.includes("as const")){let V=U.replace(/\s*as\s*const\s*$/,"");G=z$(V,J)}else if(U.startsWith("{"))G=$1(U,J);else if(U.startsWith("["))G=w1(U,J);else if(U.includes("=>")||U.includes("function"))G=f1(U)||"(...args: any[]) => unknown";else G=U$(U);return`${$?"export ":""}declare ${Z} ${Q}: ${G};`}function P1(q,$,J=!0){w("process-function-start",`Starting to process: ${q}`);let Z=q.split("\n").map((X)=>X.trim()).join(" ").replace(/\s+/g," ").replace(/;$/,"");w("process-function-normalized",`Normalized declaration: ${Z}`);let Y=aq(Z);if(w("process-function-signature",`Extracted signature: ${JSON.stringify(Y,null,2)}`),!Y.params&&Z.includes("("))w("process-function-warning","Found parentheses but no params extracted");if(Y.returnType==="void"&&Z.includes("):"))w("process-function-warning","Found return type indicator but extracted void");let Q=[J?"export ":"","declare function ",Y.name,Y.generics,`(${Y.params})`,Y.returnType?`: ${Y.returnType}`:"",";"].filter(Boolean).join("");return w("process-function-final",`Final declaration: ${Q}`),Q}function S$(q){let $=q.split("\n"),J=0;while(J<$.length){let Z=$[J].trim();if(!Z.startsWith("//")&&!Z.startsWith("/*")&&!Z.startsWith("*")&&Z!=="")break;J++}return $.slice(J).join("\n").trim()}function x$(q){w("generator-function",`Processing generator function: ${q}`);let $=q.replace(/^export\s+/,"").replace(/^async\s+/,"").trim(),J=$.match(/function\*\s+([^(<\s]+)/);if(!J)return w("generator-function","Failed to match generator function name"),"";let[,Z]=J,Y=$.slice($.indexOf(Z)+Z.length).trim(),j="";if(Y.startsWith("<")){let U=1,z=1;for(;z<Y.length&&U>0;z++){if(Y[z]==="<")U++;if(Y[z]===">")U--}j=Y.slice(0,z),Y=Y.slice(z).trim()}let Q="";if(Y.startsWith("(")){let U=1,z=1;for(;z<Y.length&&U>0;z++){if(Y[z]==="(")U++;if(Y[z]===")")U--}Q=Y.slice(1,z-1).trim(),Y=Y.slice(z).trim()}let X="any";if(Y.startsWith(":")){Y=Y.slice(1).trim();let U=Y.match(/([^{;]+)/);if(U)X=U[1].trim()}return["export declare function ",Z,j?`${j}`:"",`(${Q})`,": ",X].filter(Boolean).join("").concat(";")}function y$(q,$=!0){let J=q.split("\n"),Z=J[0],Y=$?"export declare":"declare";return[Z.replace(/^(\s*)(?:export\s+)?interface/,`\$1${Y} interface`),...J.slice(1)].join("\n")}function J0(q){let $=q.split("\n"),J=" ",Z=0;return $.map((j,Q)=>{let X=j.trim();if(!X)return"";if(X.startsWith("}"))Z--;let U=" ".repeat(Math.max(0,Z)),z=Q===0?X:`${U}${X}`;if(X.endsWith("{"))Z++;if(X.includes("}")&&X.includes("{"))Z=Math.max(0,Z);return z}).join("\n")}function i1(q){let $=/^(?:async\s+)?(\w+)\s*(<[^>]*>)?\s*\(([^)]*)\)\s*(?::\s*([^ {][^;{]*))?/,J=q.match($);if(!J)return{name:q.split("(")[0].trim().replace(/^async\s+/,""),signature:"() => unknown"};let[,Z,Y="",j,Q="void"]=J,X=Q.trim();if(/^async\s+/.test(q)&&!/^Promise<.*>$/.test(X))X=`Promise<${X}>`;let z=O1(j||""),G=[Y?`${Y}`:"",`(${z})`,"=>",X].filter(Boolean).join(" ").trim();return{name:Z,signature:G}}function C$(q,$,J=0){let Z=[],Y=q.slice(1,-1).trim();if(!Y)return Z;let j="",Q=0,X=!1,U="",z="",G=!0,V=!1;for(let H=0;H<Y.length;H++){let I=Y[H],W=H>0?Y[H-1]:"";if((I==='"'||I==="\'"||I==="`")&&W!=="\\"){if(!X)X=!0,U=I;else if(I===U)X=!1}if(!X){if(I==="{"||I==="["||I==="(")Q++;else if(I==="}"||I==="]"||I===")")Q--;else if(Q===0){if(I===":"&&!V){V=!0,z=j.trim(),j="",G=!1;continue}else if((I===","||I===";")&&!G){if(z){let _=j.trim();if(z.includes("(")||z.match(/^\s*(?:async\s+)?\w+\s*(?:<[^>]+>)?\s*\(/)){let{name:E,signature:A}=i1(z);Z.push({key:E,value:A})}else{let E=s1(_,J+1,$);Z.push({key:n1(z),value:E})}}j="",z="",G=!0,V=!1;continue}}}j+=I}if(z&&!G&&j.trim()){let H=j.trim();if(z.includes("(")||z.match(/^\s*(?:async\s+)?\w+\s*(?:<[^>]+>)?\s*\(/)){let{name:W,signature:_}=i1(z);Z.push({key:W,value:_})}else{let W=s1(H,J+1,$);Z.push({key:n1(z),value:W})}}return Z}function s1(q,$,J){let Z=q.trim();if(Z.startsWith("{")&&Z.includes("(")&&Z.includes(")")&&Z.includes(":"))return $1(Z,J,$);if(Z.startsWith("["))return w1(Z,J,!0);if(Z.startsWith("{"))return $1(Z,J,$);if(Z.includes("=>")||Z.includes("function"))return f1(Z)||"(...args: any[]) => unknown";if(/^(['"`]).*\1$/.test(Z)||!Number.isNaN(Number(Z))||Z==="true"||Z==="false")return Z;return"unknown"}function D$(q,$){let J=/(?:extends|implements|:|<)\s*([A-Z][a-zA-Z0-9]*(?:<[^>]+>)?)/g,Z;while((Z=J.exec(q))!==null){let Y=Z[1].split("<")[0];$.usedTypes.add(Y)}}function k$(q,$){let J=q.match(/export\s*\{([^}]+)\}/);if(J)J[1].split(",").map((j)=>j.trim()).forEach((j)=>{let[Q]=j.split(/\s+as\s+/);$.exportedValues.add(Q.trim())});let Z=[/export\s+declare\s+\{\s*([^}\s]+)(?:\s*,\s*[^}\s]+)*\s*\}/g,/export\s+declare\s+(?:const|function|class)\s+([a-zA-Z_$][\w$]*)/g,/export\s+\{\s*([^}\s]+)(?:\s*,\s*[^}\s]+)*\s*\}/g];for(let Y of Z){let j;while((j=Y.exec(q))!==null)j[1].split(",").map((X)=>X.trim()).forEach((X)=>{if(!["type","interface","declare","extends","implements","function","const","let","var"].includes(X))$.usedValues.add(X)})}}function w(q,$){if(q1.verbose)console.debug(`[dtsx:${q}] ${$}`)}function L$(q){return q.replace(/\s+/g," ").replace(/\s*([<>])\s*/g,"$1").replace(/\s*,\s*/g,", ").trim()}function n1(q){let $=q.replace(/^['"`]|['"`]$/g,"");if(!/^[a-z_$][\w$]*$/i.test($))return`'${$}'`;return $}function Z0(q){let $=[],J="",Z=0,Y=!1,j="";for(let X=0;X<q.length;X++){let U=q[X],z=X>0?q[X-1]:"";if((U==='"'||U==="\'"||U==="`")&&z!=="\\"){if(!Y)Y=!0,j=U;else if(U===j)Y=!1}if(!Y){if(U==="["||U==="{"||U==="(")Z++;else if(U==="]"||U==="}"||U===")")Z--;else if(U===","&&Z===0){let G=J.trim();if(G)$.push(G);J="";continue}}J+=U}let Q=J.trim();if(Q)$.push(Q);return $}function b$(q){let $=[],J=q.split("\n"),Z=[];for(let Y=0;Y<J.length;Y++){let j=J[Y].trim();if((j.startsWith("export function")||j.startsWith("function"))&&Z.length>0)$.push(Z.join("\n")),Z=[];Z.push(J[Y])}if(Z.length>0)$.push(Z.join("\n"));return $}import{mkdir as uZ,rm as mZ}from"fs/promises";import{dirname as dZ,join as cZ,parse as lZ,relative as pZ}from"path";import iZ from"process";var Dq=K1(xq(),1),h1=K1(U1(),1),kq=K1(U1(),1);import Cq,{posix as W1}from"path";var SZ=/\\(?![()[\]{}!+@])/g;function xZ(q){return Lq(q)}function yZ(q){return bq(q).replace(SZ,"/")}var y8=process.platform==="win32"?yZ:xZ,CZ=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,DZ=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,Lq=(q)=>q.replace(CZ,"\\$&"),bq=(q)=>q.replace(DZ,"\\$&"),C8=process.platform==="win32"?bq:Lq;function kZ(q,$){if(($==null?void 0:$.caseSensitiveMatch)===!1)return!0;let J=kq.default.scan(q);return J.isGlob||J.negated}function g1(q,$,J,Z,Y){var j;let Q=q;if(q.endsWith("/"))Q=q.slice(0,-1);if(!Q.endsWith("*")&&$)Q+="/**";if(Cq.isAbsolute(Q.replace(/\\(?=[()[\]{}!*+?@|])/g,"")))Q=W1.relative(J,Q);else Q=W1.normalize(Q);let X=/^(\/?\.\.)+/.exec(Q);if(X==null?void 0:X[0]){let U=W1.join(J,X[0]);if(Z.root.length>U.length)Z.root=U,Z.depthOffset=-(X[0].length+1)/3}else if(!Y&&Z.depthOffset>=0){let U=Q.split("/");(j=Z.commonPath)!=null||(Z.commonPath=U);let z=[];for(let G=0;G<Math.min(Z.commonPath.length,U.length);G++){let V=U[G];if(V==="**"&&!U[G+1]){z.pop();break}if(V!==Z.commonPath[G]||kZ(V)||G===U.length-1)break;z.push(V)}Z.depthOffset=z.length,Z.commonPath=z,Z.root=z.length>0?`${J}/${z.join("/")}`:J}return Q}function LZ({patterns:q,ignore:$=[],expandDirectories:J=!0},Z,Y){if(typeof q==="string")q=[q];else if(!q)q=["**/*"];if(typeof $==="string")$=[$];let j=[],Q=[];for(let X of $)if(!X.startsWith("!")||X[1]==="("){let U=g1(X,J,Z,Y,!0);Q.push(U)}for(let X of q)if(!X.startsWith("!")||X[1]==="("){let U=g1(X,J,Z,Y,!1);j.push(U)}else if(X[1]!=="!"||X[2]==="("){let U=g1(X.slice(1),J,Z,Y,!0);Q.push(U)}return{match:j,ignore:Q}}function u1(q,$,J){return W1.relative($,`${J}/${q}`)}function yq(q,$,J,Z,Y){let j=Y?q.slice(J.length+1)||".":q;if(J===$)return Z&&j!=="."?j.slice(0,-1):j;return u1(j,$,J)}function bZ(q,$,J){let Z={root:$,commonPath:null,depthOffset:0},Y=LZ(q,$,Z),j=h1.default(Y.match,{dot:q.dot,nocase:q.caseSensitiveMatch===!1,ignore:Y.ignore}),Q=h1.default(Y.ignore,{dot:q.dot,nocase:q.caseSensitiveMatch===!1}),X={filters:[(z,G)=>j(yq(z,$,Z.root,G,q.absolute))],exclude:(z,G)=>Q(yq(G,$,Z.root,!0,!0)),pathSeparator:"/",relativePaths:!0,resolveSymlinks:!0};if(q.deep)X.maxDepth=Math.round(q.deep-Z.depthOffset);if(q.absolute)X.relativePaths=!1,X.resolvePaths=!0,X.includeBasePath=!0;if(q.followSymbolicLinks===!1)X.resolveSymlinks=!1,X.excludeSymlinks=!0;if(q.onlyDirectories)X.excludeFiles=!0,X.includeDirs=!0;else if(q.onlyFiles===!1)X.includeDirs=!0;Z.root=Z.root.replace(/\\/g,"");let U=new Dq.fdir(X).crawl(Z.root);if($===Z.root||q.absolute)return J?U.sync():U.withPromise();return J?U.sync().map((z)=>u1(z,$,Z.root)+(!z||z.endsWith("/")?"/":"")):U.withPromise().then((z)=>z.map((G)=>u1(G,$,Z.root)+(!G||G.endsWith("/")?"/":"")))}async function vq(q,$){if(q&&($==null?void 0:$.patterns))throw new Error("Cannot pass patterns as both an argument and an option");let J=Array.isArray(q)||typeof q==="string"?{...$,patterns:q}:q,Z=J.cwd?Cq.resolve(J.cwd).replace(/\\/g,"/"):process.cwd().replace(/\\/g,"/");return bZ(J,Z,!1)}import{readdir as vZ}from"fs/promises";import{extname as gZ,join as gq}from"path";import hZ from"process";async function hq(q,$){await Bun.write(q,$)}async function m1(q){let $=q??q1.root,J=await vZ($,{withFileTypes:!0}),Z=await Promise.all(J.map((Y)=>{let j=gq($,Y.name);return Y.isDirectory()?m1(j):j}));return Array.prototype.concat(...Z).filter((Y)=>gZ(Y)===".ts")}async function uq(q){try{let $=q?.cwd||hZ.cwd();return(await import(q?.tsconfigPath||gq($,"tsconfig.json"))).compilerOptions?.isolatedDeclarations===!0}catch($){return console.log("Error reading tsconfig.json:",$),!1}}async function sZ(q){try{if(!await uq(q)){console.error("Error: isolatedModules must be set to true in your tsconfig.json. Ensure `tsc --noEmit` does not output any errors.");return}if(q?.clean)await mZ(q.outdir,{recursive:!0,force:!0});let J=q?.cwd||iZ.cwd(),Z;if(q?.entrypoints)Z=await vq(q.entrypoints,{cwd:q.root??`${J}/src`,absolute:!0});else Z=await m1(q?.root??`${J}/src`);for(let Y of Z){let j=await r1(Y);if(j){let Q=pZ(q?.root??"./src",Y),X=lZ(Q),U=cZ(q?.outdir??"./dist",`${X.name}.d.ts`);await uZ(dZ(U),{recursive:!0}),await hq(U,j)}else console.warn(`No declarations extracted for ${Y}`)}}catch($){console.error("Error generating declarations:",$)}}async function i8(q){await sZ({...q1,...q})}export{hq as writeToFile,Y8 as processSpecificDeclaration,J8 as isFunctionType,Z8 as isDeclarationComplete,m1 as getAllTypeScriptFiles,sZ as generateDeclarationsFromFiles,i8 as generate,oq as extractDtsTypes,r1 as extract,q1 as config,uq as checkIsolatedDeclarations};
|
|
2
|
+
var cq=Object.create;var{getPrototypeOf:lq,defineProperty:d1,getOwnPropertyNames:pq}=Object;var iq=Object.prototype.hasOwnProperty;var K1=(q,$,J)=>{J=q!=null?cq(lq(q)):{};let Z=$||!q||!q.__esModule?d1(J,"default",{value:q,enumerable:!0}):J;for(let Y of pq(q))if(!iq.call(Z,Y))d1(Z,Y,{get:()=>q[Y],enumerable:!0});return Z};var y=(q,$)=>()=>($||q(($={exports:{}}).exports,$),$.exports);var A1=y((X0)=>{Object.defineProperty(X0,"__esModule",{value:!0});X0.normalizePath=X0.convertSlashes=X0.cleanPath=void 0;var E1=import.meta.require("path");function Y0(q){let $=E1.normalize(q);if($.length>1&&$[$.length-1]===E1.sep)$=$.substring(0,$.length-1);return $}X0.cleanPath=Y0;var v$=/[\\/]/g;function j0(q,$){return q.replace(v$,$)}X0.convertSlashes=j0;function g$(q,$){let{resolvePaths:J,normalizePath:Z,pathSeparator:Y}=$,j=process.platform==="win32"&&q.includes("/")||q.startsWith(".");if(J)q=E1.resolve(q);if(Z||j)q=Y0(q);if(q===".")return"";let X=q[q.length-1]!==Y;return j0(X?q+Y:q,Y)}X0.normalizePath=g$});var F0=y((z0)=>{Object.defineProperty(z0,"__esModule",{value:!0});z0.build=z0.joinDirectoryPath=z0.joinPathWithBasePath=void 0;var m$=import.meta.require("path"),d$=A1();function U0(q,$){return $+q}z0.joinPathWithBasePath=U0;function c$(q,$){return function(J,Z){if(Z.startsWith(q))return Z.replace(q,"")+J;else return d$.convertSlashes(m$.relative(q,Z),$.pathSeparator)+$.pathSeparator+J}}function l$(q){return q}function p$(q,$,J){return $+q+J}z0.joinDirectoryPath=p$;function i$(q,$){let{relativePaths:J,includeBasePath:Z}=$;return J&&q?c$(q,$):Z?U0:l$}z0.build=i$});var w0=y((K0)=>{Object.defineProperty(K0,"__esModule",{value:!0});K0.build=void 0;function r$(q){return function($,J){J.push($.substring(q.length)||".")}}function o$(q){return function($,J,Z){let Y=$.substring(q.length)||".";if(Z.every((j)=>j(Y,!0)))J.push(Y)}}var a$=(q,$)=>{$.push(q||".")},t$=(q,$,J)=>{let Z=q||".";if(J.every((Y)=>Y(Z,!0)))$.push(Z)},e$=()=>{};function qJ(q,$){let{includeDirs:J,filters:Z,relativePaths:Y}=$;if(!J)return e$;if(Y)return Z&&Z.length?o$(q):r$(q);return Z&&Z.length?t$:a$}K0.build=qJ});var N0=y((M0)=>{Object.defineProperty(M0,"__esModule",{value:!0});M0.build=void 0;var $J=(q,$,J,Z)=>{if(Z.every((Y)=>Y(q,!1)))J.files++},JJ=(q,$,J,Z)=>{if(Z.every((Y)=>Y(q,!1)))$.push(q)},ZJ=(q,$,J,Z)=>{J.files++},YJ=(q,$)=>{$.push(q)},jJ=()=>{};function XJ(q){let{excludeFiles:$,filters:J,onlyCounts:Z}=q;if($)return jJ;if(J&&J.length)return Z?$J:JJ;else if(Z)return ZJ;else return YJ}M0.build=XJ});var I0=y((H0)=>{Object.defineProperty(H0,"__esModule",{value:!0});H0.build=void 0;var QJ=(q)=>{return q},UJ=()=>{return[""].slice(0,0)};function zJ(q){return q.group?UJ:QJ}H0.build=zJ});var R0=y((_0)=>{Object.defineProperty(_0,"__esModule",{value:!0});_0.build=void 0;var GJ=(q,$,J)=>{q.push({directory:$,files:J,dir:$})},FJ=()=>{};function KJ(q){return q.group?GJ:FJ}_0.build=KJ});var E0=y((J1)=>{var BJ=J1&&J1.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(J1,"__esModule",{value:!0});J1.build=void 0;var M1=BJ(import.meta.require("fs")),P0=import.meta.require("path"),wJ=function(q,$,J){let{queue:Z,options:{suppressErrors:Y}}=$;Z.enqueue(),M1.default.realpath(q,(j,X)=>{if(j)return Z.dequeue(Y?null:j,$);M1.default.stat(X,(Q,U)=>{if(Q)return Z.dequeue(Y?null:Q,$);if(U.isDirectory()&&f0(q,X,$))return Z.dequeue(null,$);J(U,X),Z.dequeue(null,$)})})},MJ=function(q,$,J){let{queue:Z,options:{suppressErrors:Y}}=$;Z.enqueue();try{let j=M1.default.realpathSync(q),X=M1.default.statSync(j);if(X.isDirectory()&&f0(q,j,$))return;J(X,j)}catch(j){if(!Y)throw j}};function VJ(q,$){if(!q.resolveSymlinks||q.excludeSymlinks)return null;return $?MJ:wJ}J1.build=VJ;function f0(q,$,J){if(J.options.useRealPaths)return NJ($,J);let Z=P0.dirname(q),Y=1;while(Z!==J.root&&Y<2){let j=J.symlinks.get(Z);if(!!j&&(j===$||j.startsWith($)||$.startsWith(j)))Y++;else Z=P0.dirname(Z)}return J.symlinks.set(q,$),Y>1}function NJ(q,$){return $.visited.includes(q+$.options.pathSeparator)}});var T0=y((A0)=>{Object.defineProperty(A0,"__esModule",{value:!0});A0.build=void 0;var HJ=(q)=>{return q.counts},WJ=(q)=>{return q.groups},IJ=(q)=>{return q.paths},_J=(q)=>{return q.paths.slice(0,q.options.maxFiles)},OJ=(q,$,J)=>{return V1($,J,q.counts,q.options.suppressErrors),null},RJ=(q,$,J)=>{return V1($,J,q.paths,q.options.suppressErrors),null},PJ=(q,$,J)=>{return V1($,J,q.paths.slice(0,q.options.maxFiles),q.options.suppressErrors),null},fJ=(q,$,J)=>{return V1($,J,q.groups,q.options.suppressErrors),null};function V1(q,$,J,Z){if(q&&!Z)$(q,J);else $(null,J)}function EJ(q,$){let{onlyCounts:J,group:Z,maxFiles:Y}=q;if(J)return $?HJ:OJ;else if(Z)return $?WJ:fJ;else if(Y)return $?_J:PJ;else return $?IJ:RJ}A0.build=EJ});var C0=y((Z1)=>{var AJ=Z1&&Z1.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(Z1,"__esModule",{value:!0});Z1.build=void 0;var x0=AJ(import.meta.require("fs")),y0={withFileTypes:!0},SJ=(q,$,J,Z,Y)=>{if(Z<0)return q.queue.dequeue(null,q);q.visited.push($),q.counts.directories++,q.queue.enqueue(),x0.default.readdir($||".",y0,(j,X=[])=>{Y(X,J,Z),q.queue.dequeue(q.options.suppressErrors?null:j,q)})},TJ=(q,$,J,Z,Y)=>{if(Z<0)return;q.visited.push($),q.counts.directories++;let j=[];try{j=x0.default.readdirSync($||".",y0)}catch(X){if(!q.options.suppressErrors)throw X}Y(j,J,Z)};function xJ(q){return q?TJ:SJ}Z1.build=xJ});var b0=y((k0)=>{Object.defineProperty(k0,"__esModule",{value:!0});k0.Queue=void 0;class D0{onQueueEmpty;count=0;constructor(q){this.onQueueEmpty=q}enqueue(){this.count++}dequeue(q,$){if(--this.count<=0||q)this.onQueueEmpty(q,$)}}k0.Queue=D0});var u0=y((g0)=>{Object.defineProperty(g0,"__esModule",{value:!0});g0.Counter=void 0;class v0{_files=0;_directories=0;set files(q){this._files=q}get files(){return this._files}set directories(q){this._directories=q}get directories(){return this._directories}get dirs(){return this._directories}}g0.Counter=v0});var x1=y((i)=>{var yJ=i&&i.__createBinding||(Object.create?function(q,$,J,Z){if(Z===void 0)Z=J;var Y=Object.getOwnPropertyDescriptor($,J);if(!Y||("get"in Y?!$.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return $[J]}};Object.defineProperty(q,Z,Y)}:function(q,$,J,Z){if(Z===void 0)Z=J;q[Z]=$[J]}),CJ=i&&i.__setModuleDefault||(Object.create?function(q,$){Object.defineProperty(q,"default",{enumerable:!0,value:$})}:function(q,$){q.default=$}),a=i&&i.__importStar||function(q){if(q&&q.__esModule)return q;var $={};if(q!=null){for(var J in q)if(J!=="default"&&Object.prototype.hasOwnProperty.call(q,J))yJ($,q,J)}return CJ($,q),$};Object.defineProperty(i,"__esModule",{value:!0});i.Walker=void 0;var m0=import.meta.require("path"),S1=A1(),T1=a(F0()),DJ=a(w0()),kJ=a(N0()),LJ=a(I0()),bJ=a(R0()),vJ=a(E0()),gJ=a(T0()),hJ=a(C0()),uJ=b0(),mJ=u0();class d0{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(q,$,J){this.isSynchronous=!J,this.callbackInvoker=gJ.build($,this.isSynchronous),this.root=S1.normalizePath(q,$),this.state={root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new mJ.Counter,options:$,queue:new uJ.Queue((Z,Y)=>this.callbackInvoker(Y,Z,J)),symlinks:new Map,visited:[""].slice(0,0)},this.joinPath=T1.build(this.root,$),this.pushDirectory=DJ.build(this.root,$),this.pushFile=kJ.build($),this.getArray=LJ.build($),this.groupFiles=bJ.build($),this.resolveSymlink=vJ.build($,this.isSynchronous),this.walkDirectory=hJ.build(this.isSynchronous)}start(){return this.walkDirectory(this.state,this.root,this.root,this.state.options.maxDepth,this.walk),this.isSynchronous?this.callbackInvoker(this.state,null):null}walk=(q,$,J)=>{let{paths:Z,options:{filters:Y,resolveSymlinks:j,excludeSymlinks:X,exclude:Q,maxFiles:U,signal:z,useRealPaths:G,pathSeparator:V}}=this.state;if(z&&z.aborted||U&&Z.length>U)return;this.pushDirectory($,Z,Y);let H=this.getArray(this.state.paths);for(let I=0;I<q.length;++I){let W=q[I];if(W.isFile()||W.isSymbolicLink()&&!j&&!X){let _=this.joinPath(W.name,$);this.pushFile(_,H,this.state.counts,Y)}else if(W.isDirectory()){let _=T1.joinDirectoryPath(W.name,$,this.state.options.pathSeparator);if(Q&&Q(W.name,_))continue;this.walkDirectory(this.state,_,_,J-1,this.walk)}else if(W.isSymbolicLink()&&this.resolveSymlink){let _=T1.joinPathWithBasePath(W.name,$);this.resolveSymlink(_,this.state,(T,E)=>{if(T.isDirectory()){if(E=S1.normalizePath(E,this.state.options),Q&&Q(W.name,E))return;this.walkDirectory(this.state,E,G?E:_+V,J-1,this.walk)}else{E=G?E:_;let A=m0.basename(E),m=S1.normalizePath(m0.dirname(E),this.state.options);E=this.joinPath(A,m),this.pushFile(E,H,this.state.counts,Y)}})}}this.groupFiles(this.state.groups,$,H)}}i.Walker=d0});var i0=y((l0)=>{Object.defineProperty(l0,"__esModule",{value:!0});l0.callback=l0.promise=void 0;var dJ=x1();function cJ(q,$){return new Promise((J,Z)=>{c0(q,$,(Y,j)=>{if(Y)return Z(Y);J(j)})})}l0.promise=cJ;function c0(q,$,J){new dJ.Walker(q,$,J).start()}l0.callback=c0});var r0=y((s0)=>{Object.defineProperty(s0,"__esModule",{value:!0});s0.sync=void 0;var pJ=x1();function iJ(q,$){return new pJ.Walker(q,$).start()}s0.sync=iJ});var qq=y((t0)=>{Object.defineProperty(t0,"__esModule",{value:!0});t0.APIBuilder=void 0;var o0=i0(),sJ=r0();class a0{root;options;constructor(q,$){this.root=q,this.options=$}withPromise(){return o0.promise(this.root,this.options)}withCallback(q){o0.callback(this.root,this.options,q)}sync(){return sJ.sync(this.root,this.options)}}t0.APIBuilder=a0});var j1=y((_8,Jq)=>{var $q={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)",SEP:"/"},nJ={...$q,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},rJ={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:'\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~',space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Jq.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:rJ,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(q){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${q.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(q){return q===!0?nJ:$q}}});var X1=y((qZ)=>{var{REGEX_BACKSLASH:oJ,REGEX_REMOVE_BACKSLASH:aJ,REGEX_SPECIAL_CHARS:tJ,REGEX_SPECIAL_CHARS_GLOBAL:eJ}=j1();qZ.isObject=(q)=>q!==null&&typeof q==="object"&&!Array.isArray(q);qZ.hasRegexChars=(q)=>tJ.test(q);qZ.isRegexChar=(q)=>q.length===1&&qZ.hasRegexChars(q);qZ.escapeRegex=(q)=>q.replace(eJ,"\\$1");qZ.toPosixSlashes=(q)=>q.replace(oJ,"/");qZ.isWindows=()=>{if(typeof navigator!=="undefined"&&navigator.platform){let q=navigator.platform.toLowerCase();return q==="win32"||q==="windows"}if(typeof process!=="undefined"&&process.platform)return process.platform==="win32";return!1};qZ.removeBackslashes=(q)=>{return q.replace(aJ,($)=>{return $==="\\"?"":$})};qZ.escapeLast=(q,$,J)=>{let Z=q.lastIndexOf($,J);if(Z===-1)return q;if(q[Z-1]==="\\")return qZ.escapeLast(q,$,Z-1);return`${q.slice(0,Z)}\\${q.slice(Z)}`};qZ.removePrefix=(q,$={})=>{let J=q;if(J.startsWith("./"))J=J.slice(2),$.prefix="./";return J};qZ.wrapOutput=(q,$={},J={})=>{let Z=J.contains?"":"^",Y=J.contains?"":"$",j=`${Z}(?:${q})${Y}`;if($.negated===!0)j=`(?:^(?!${j}).*\$)`;return j};qZ.basename=(q,{windows:$}={})=>{let J=q.split($?/[\\/]/:"/"),Z=J[J.length-1];if(Z==="")return J[J.length-2];return Z}});var Kq=y((R8,Fq)=>{var jq=X1(),{CHAR_ASTERISK:y1,CHAR_AT:GZ,CHAR_BACKWARD_SLASH:Q1,CHAR_COMMA:FZ,CHAR_DOT:C1,CHAR_EXCLAMATION_MARK:D1,CHAR_FORWARD_SLASH:Gq,CHAR_LEFT_CURLY_BRACE:k1,CHAR_LEFT_PARENTHESES:L1,CHAR_LEFT_SQUARE_BRACKET:KZ,CHAR_PLUS:BZ,CHAR_QUESTION_MARK:Xq,CHAR_RIGHT_CURLY_BRACE:wZ,CHAR_RIGHT_PARENTHESES:Qq,CHAR_RIGHT_SQUARE_BRACKET:MZ}=j1(),Uq=(q)=>{return q===Gq||q===Q1},zq=(q)=>{if(q.isPrefix!==!0)q.depth=q.isGlobstar?1/0:1},VZ=(q,$)=>{let J=$||{},Z=q.length-1,Y=J.parts===!0||J.scanToEnd===!0,j=[],X=[],Q=[],U=q,z=-1,G=0,V=0,H=!1,I=!1,W=!1,_=!1,T=!1,E=!1,A=!1,m=!1,t=!1,h=!1,g=0,c,O,P={value:"",depth:0,isGlob:!1},B=()=>z>=Z,d=()=>U.charCodeAt(z+1),b=()=>{return c=O,U.charCodeAt(++z)};while(z<Z){O=b();let S;if(O===Q1){if(A=P.backslashes=!0,O=b(),O===k1)E=!0;continue}if(E===!0||O===k1){g++;while(B()!==!0&&(O=b())){if(O===Q1){A=P.backslashes=!0,b();continue}if(O===k1){g++;continue}if(E!==!0&&O===C1&&(O=b())===C1){if(H=P.isBrace=!0,W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(E!==!0&&O===FZ){if(H=P.isBrace=!0,W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(O===wZ){if(g--,g===0){E=!1,H=P.isBrace=!0,h=!0;break}}}if(Y===!0)continue;break}if(O===Gq){if(j.push(z),X.push(P),P={value:"",depth:0,isGlob:!1},h===!0)continue;if(c===C1&&z===G+1){G+=2;continue}V=z+1;continue}if(J.noext!==!0){if((O===BZ||O===GZ||O===y1||O===Xq||O===D1)===!0&&d()===L1){if(W=P.isGlob=!0,_=P.isExtglob=!0,h=!0,O===D1&&z===G)t=!0;if(Y===!0){while(B()!==!0&&(O=b())){if(O===Q1){A=P.backslashes=!0,O=b();continue}if(O===Qq){W=P.isGlob=!0,h=!0;break}}continue}break}}if(O===y1){if(c===y1)T=P.isGlobstar=!0;if(W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(O===Xq){if(W=P.isGlob=!0,h=!0,Y===!0)continue;break}if(O===KZ){while(B()!==!0&&(S=b())){if(S===Q1){A=P.backslashes=!0,b();continue}if(S===MZ){I=P.isBracket=!0,W=P.isGlob=!0,h=!0;break}}if(Y===!0)continue;break}if(J.nonegate!==!0&&O===D1&&z===G){m=P.negated=!0,G++;continue}if(J.noparen!==!0&&O===L1){if(W=P.isGlob=!0,Y===!0){while(B()!==!0&&(O=b())){if(O===L1){A=P.backslashes=!0,O=b();continue}if(O===Qq){h=!0;break}}continue}break}if(W===!0){if(h=!0,Y===!0)continue;break}}if(J.noext===!0)_=!1,W=!1;let k=U,F="",K="";if(G>0)F=U.slice(0,G),U=U.slice(G),V-=G;if(k&&W===!0&&V>0)k=U.slice(0,V),K=U.slice(V);else if(W===!0)k="",K=U;else k=U;if(k&&k!==""&&k!=="/"&&k!==U){if(Uq(k.charCodeAt(k.length-1)))k=k.slice(0,-1)}if(J.unescape===!0){if(K)K=jq.removeBackslashes(K);if(k&&A===!0)k=jq.removeBackslashes(k)}let l={prefix:F,input:q,start:G,base:k,glob:K,isBrace:H,isBracket:I,isGlob:W,isExtglob:_,isGlobstar:T,negated:m,negatedExtglob:t};if(J.tokens===!0){if(l.maxDepth=0,!Uq(O))X.push(P);l.tokens=X}if(J.parts===!0||J.tokens===!0){let S;for(let C=0;C<j.length;C++){let n=S?S+1:G,p=j[C],o=q.slice(n,p);if(J.tokens){if(C===0&&G!==0)X[C].isPrefix=!0,X[C].value=F;else X[C].value=o;zq(X[C]),l.maxDepth+=X[C].depth}if(C!==0||o!=="")Q.push(o);S=p}if(S&&S+1<q.length){let C=q.slice(S+1);if(Q.push(C),J.tokens)X[X.length-1].value=C,zq(X[X.length-1]),l.maxDepth+=X[X.length-1].depth}l.slashes=j,l.parts=Q}return l};Fq.exports=VZ});var Mq=y((P8,wq)=>{var N1=j1(),s=X1(),{MAX_LENGTH:H1,POSIX_REGEX_SOURCE:NZ,REGEX_NON_SPECIAL_CHARS:HZ,REGEX_SPECIAL_CHARS_BACKREF:WZ,REPLACEMENTS:Bq}=N1,IZ=(q,$)=>{if(typeof $.expandRange==="function")return $.expandRange(...q,$);q.sort();let J=`[${q.join("-")}]`;try{new RegExp(J)}catch(Z){return q.map((Y)=>s.escapeRegex(Y)).join("..")}return J},Y1=(q,$)=>{return`Missing ${q}: "${$}" - use "\\\\${$}" to match literal characters`},b1=(q,$)=>{if(typeof q!=="string")throw new TypeError("Expected a string");q=Bq[q]||q;let J={...$},Z=typeof J.maxLength==="number"?Math.min(H1,J.maxLength):H1,Y=q.length;if(Y>Z)throw new SyntaxError(`Input length: ${Y}, exceeds maximum allowed length: ${Z}`);let j={type:"bos",value:"",output:J.prepend||""},X=[j],Q=J.capture?"":"?:",U=N1.globChars(J.windows),z=N1.extglobChars(U),{DOT_LITERAL:G,PLUS_LITERAL:V,SLASH_LITERAL:H,ONE_CHAR:I,DOTS_SLASH:W,NO_DOT:_,NO_DOT_SLASH:T,NO_DOTS_SLASH:E,QMARK:A,QMARK_NO_DOT:m,STAR:t,START_ANCHOR:h}=U,g=(N)=>{return`(${Q}(?:(?!${h}${N.dot?W:G}).)*?)`},c=J.dot?"":_,O=J.dot?A:m,P=J.bash===!0?g(J):t;if(J.capture)P=`(${P})`;if(typeof J.noext==="boolean")J.noextglob=J.noext;let B={input:q,index:-1,start:0,dot:J.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:X};q=s.removePrefix(q,B),Y=q.length;let d=[],b=[],k=[],F=j,K,l=()=>B.index===Y-1,S=B.peek=(N=1)=>q[B.index+N],C=B.advance=()=>q[++B.index]||"",n=()=>q.slice(B.index+1),p=(N="",x=0)=>{B.consumed+=N,B.index+=x},o=(N)=>{B.output+=N.output!=null?N.output:N.value,p(N.value)},mq=()=>{let N=1;while(S()==="!"&&(S(2)!=="("||S(3)==="?"))C(),B.start++,N++;if(N%2===0)return!1;return B.negated=!0,B.start++,!0},z1=(N)=>{B[N]++,k.push(N)},e=(N)=>{B[N]--,k.pop()},f=(N)=>{if(F.type==="globstar"){let x=B.braces>0&&(N.type==="comma"||N.type==="brace"),M=N.extglob===!0||d.length&&(N.type==="pipe"||N.type==="paren");if(N.type!=="slash"&&N.type!=="paren"&&!x&&!M)B.output=B.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=P,B.output+=F.output}if(d.length&&N.type!=="paren")d[d.length-1].inner+=N.value;if(N.value||N.output)o(N);if(F&&F.type==="text"&&N.type==="text"){F.output=(F.output||F.value)+N.value,F.value+=N.value;return}N.prev=F,X.push(N),F=N},G1=(N,x)=>{let M={...z[x],conditions:1,inner:""};M.prev=F,M.parens=B.parens,M.output=B.output;let R=(J.capture?"(":"")+M.open;z1("parens"),f({type:N,value:x,output:B.output?"":I}),f({type:"paren",extglob:!0,value:C(),output:R}),d.push(M)},dq=(N)=>{let x=N.close+(J.capture?")":""),M;if(N.type==="negate"){let R=P;if(N.inner&&N.inner.length>1&&N.inner.includes("/"))R=g(J);if(R!==P||l()||/^\)+$/.test(n()))x=N.close=`)\$))${R}`;if(N.inner.includes("*")&&(M=n())&&/^\.[^\\/.]+$/.test(M)){let D=b1(M,{...$,fastpaths:!1}).output;x=N.close=`)${D})${R})`}if(N.prev.type==="bos")B.negatedExtglob=!0}f({type:"paren",extglob:!0,value:K,output:x}),e("parens")};if(J.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(q)){let N=!1,x=q.replace(WZ,(M,R,D,u,v,I1)=>{if(u==="\\")return N=!0,M;if(u==="?"){if(R)return R+u+(v?A.repeat(v.length):"");if(I1===0)return O+(v?A.repeat(v.length):"");return A.repeat(D.length)}if(u===".")return G.repeat(D.length);if(u==="*"){if(R)return R+u+(v?P:"");return P}return R?M:`\\${M}`});if(N===!0)if(J.unescape===!0)x=x.replace(/\\/g,"");else x=x.replace(/\\+/g,(M)=>{return M.length%2===0?"\\\\":M?"\\":""});if(x===q&&J.contains===!0)return B.output=q,B;return B.output=s.wrapOutput(x,B,$),B}while(!l()){if(K=C(),K==="\0")continue;if(K==="\\"){let M=S();if(M==="/"&&J.bash!==!0)continue;if(M==="."||M===";")continue;if(!M){K+="\\",f({type:"text",value:K});continue}let R=/^\\+/.exec(n()),D=0;if(R&&R[0].length>2){if(D=R[0].length,B.index+=D,D%2!==0)K+="\\"}if(J.unescape===!0)K=C();else K+=C();if(B.brackets===0){f({type:"text",value:K});continue}}if(B.brackets>0&&(K!=="]"||F.value==="["||F.value==="[^")){if(J.posix!==!1&&K===":"){let M=F.value.slice(1);if(M.includes("[")){if(F.posix=!0,M.includes(":")){let R=F.value.lastIndexOf("["),D=F.value.slice(0,R),u=F.value.slice(R+2),v=NZ[u];if(v){if(F.value=D+v,B.backtrack=!0,C(),!j.output&&X.indexOf(F)===1)j.output=I;continue}}}}if(K==="["&&S()!==":"||K==="-"&&S()==="]")K=`\\${K}`;if(K==="]"&&(F.value==="["||F.value==="[^"))K=`\\${K}`;if(J.posix===!0&&K==="!"&&F.value==="[")K="^";F.value+=K,o({value:K});continue}if(B.quotes===1&&K!=='"'){K=s.escapeRegex(K),F.value+=K,o({value:K});continue}if(K==='"'){if(B.quotes=B.quotes===1?0:1,J.keepQuotes===!0)f({type:"text",value:K});continue}if(K==="("){z1("parens"),f({type:"paren",value:K});continue}if(K===")"){if(B.parens===0&&J.strictBrackets===!0)throw new SyntaxError(Y1("opening","("));let M=d[d.length-1];if(M&&B.parens===M.parens+1){dq(d.pop());continue}f({type:"paren",value:K,output:B.parens?")":"\\)"}),e("parens");continue}if(K==="["){if(J.nobracket===!0||!n().includes("]")){if(J.nobracket!==!0&&J.strictBrackets===!0)throw new SyntaxError(Y1("closing","]"));K=`\\${K}`}else z1("brackets");f({type:"bracket",value:K});continue}if(K==="]"){if(J.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){f({type:"text",value:K,output:`\\${K}`});continue}if(B.brackets===0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("opening","["));f({type:"text",value:K,output:`\\${K}`});continue}e("brackets");let M=F.value.slice(1);if(F.posix!==!0&&M[0]==="^"&&!M.includes("/"))K=`/${K}`;if(F.value+=K,o({value:K}),J.literalBrackets===!1||s.hasRegexChars(M))continue;let R=s.escapeRegex(F.value);if(B.output=B.output.slice(0,-F.value.length),J.literalBrackets===!0){B.output+=R,F.value=R;continue}F.value=`(${Q}${R}|${F.value})`,B.output+=F.value;continue}if(K==="{"&&J.nobrace!==!0){z1("braces");let M={type:"brace",value:K,output:"(",outputIndex:B.output.length,tokensIndex:B.tokens.length};b.push(M),f(M);continue}if(K==="}"){let M=b[b.length-1];if(J.nobrace===!0||!M){f({type:"text",value:K,output:K});continue}let R=")";if(M.dots===!0){let D=X.slice(),u=[];for(let v=D.length-1;v>=0;v--){if(X.pop(),D[v].type==="brace")break;if(D[v].type!=="dots")u.unshift(D[v].value)}R=IZ(u,J),B.backtrack=!0}if(M.comma!==!0&&M.dots!==!0){let D=B.output.slice(0,M.outputIndex),u=B.tokens.slice(M.tokensIndex);M.value=M.output="\\{",K=R="\\}",B.output=D;for(let v of u)B.output+=v.output||v.value}f({type:"brace",value:K,output:R}),e("braces"),b.pop();continue}if(K==="|"){if(d.length>0)d[d.length-1].conditions++;f({type:"text",value:K});continue}if(K===","){let M=K,R=b[b.length-1];if(R&&k[k.length-1]==="braces")R.comma=!0,M="|";f({type:"comma",value:K,output:M});continue}if(K==="/"){if(F.type==="dot"&&B.index===B.start+1){B.start=B.index+1,B.consumed="",B.output="",X.pop(),F=j;continue}f({type:"slash",value:K,output:H});continue}if(K==="."){if(B.braces>0&&F.type==="dot"){if(F.value===".")F.output=G;let M=b[b.length-1];F.type="dots",F.output+=K,F.value+=K,M.dots=!0;continue}if(B.braces+B.parens===0&&F.type!=="bos"&&F.type!=="slash"){f({type:"text",value:K,output:G});continue}f({type:"dot",value:K,output:G});continue}if(K==="?"){if(!(F&&F.value==="(")&&J.noextglob!==!0&&S()==="("&&S(2)!=="?"){G1("qmark",K);continue}if(F&&F.type==="paren"){let R=S(),D=K;if(F.value==="("&&!/[!=<:]/.test(R)||R==="<"&&!/<([!=]|\w+>)/.test(n()))D=`\\${K}`;f({type:"text",value:K,output:D});continue}if(J.dot!==!0&&(F.type==="slash"||F.type==="bos")){f({type:"qmark",value:K,output:m});continue}f({type:"qmark",value:K,output:A});continue}if(K==="!"){if(J.noextglob!==!0&&S()==="("){if(S(2)!=="?"||!/[!=<:]/.test(S(3))){G1("negate",K);continue}}if(J.nonegate!==!0&&B.index===0){mq();continue}}if(K==="+"){if(J.noextglob!==!0&&S()==="("&&S(2)!=="?"){G1("plus",K);continue}if(F&&F.value==="("||J.regex===!1){f({type:"plus",value:K,output:V});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||B.parens>0){f({type:"plus",value:K});continue}f({type:"plus",value:V});continue}if(K==="@"){if(J.noextglob!==!0&&S()==="("&&S(2)!=="?"){f({type:"at",extglob:!0,value:K,output:""});continue}f({type:"text",value:K});continue}if(K!=="*"){if(K==="$"||K==="^")K=`\\${K}`;let M=HZ.exec(n());if(M)K+=M[0],B.index+=M[0].length;f({type:"text",value:K});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=K,F.output=P,B.backtrack=!0,B.globstar=!0,p(K);continue}let N=n();if(J.noextglob!==!0&&/^\([^?]/.test(N)){G1("star",K);continue}if(F.type==="star"){if(J.noglobstar===!0){p(K);continue}let M=F.prev,R=M.prev,D=M.type==="slash"||M.type==="bos",u=R&&(R.type==="star"||R.type==="globstar");if(J.bash===!0&&(!D||N[0]&&N[0]!=="/")){f({type:"star",value:K,output:""});continue}let v=B.braces>0&&(M.type==="comma"||M.type==="brace"),I1=d.length&&(M.type==="pipe"||M.type==="paren");if(!D&&M.type!=="paren"&&!v&&!I1){f({type:"star",value:K,output:""});continue}while(N.slice(0,3)==="/**"){let F1=q[B.index+4];if(F1&&F1!=="/")break;N=N.slice(3),p("/**",3)}if(M.type==="bos"&&l()){F.type="globstar",F.value+=K,F.output=g(J),B.output=F.output,B.globstar=!0,p(K);continue}if(M.type==="slash"&&M.prev.type!=="bos"&&!u&&l()){B.output=B.output.slice(0,-(M.output+F.output).length),M.output=`(?:${M.output}`,F.type="globstar",F.output=g(J)+(J.strictSlashes?")":"|$)"),F.value+=K,B.globstar=!0,B.output+=M.output+F.output,p(K);continue}if(M.type==="slash"&&M.prev.type!=="bos"&&N[0]==="/"){let F1=N[1]!==void 0?"|$":"";B.output=B.output.slice(0,-(M.output+F.output).length),M.output=`(?:${M.output}`,F.type="globstar",F.output=`${g(J)}${H}|${H}${F1})`,F.value+=K,B.output+=M.output+F.output,B.globstar=!0,p(K+C()),f({type:"slash",value:"/",output:""});continue}if(M.type==="bos"&&N[0]==="/"){F.type="globstar",F.value+=K,F.output=`(?:^|${H}|${g(J)}${H})`,B.output=F.output,B.globstar=!0,p(K+C()),f({type:"slash",value:"/",output:""});continue}B.output=B.output.slice(0,-F.output.length),F.type="globstar",F.output=g(J),F.value+=K,B.output+=F.output,B.globstar=!0,p(K);continue}let x={type:"star",value:K,output:P};if(J.bash===!0){if(x.output=".*?",F.type==="bos"||F.type==="slash")x.output=c+x.output;f(x);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&J.regex===!0){x.output=K,f(x);continue}if(B.index===B.start||F.type==="slash"||F.type==="dot"){if(F.type==="dot")B.output+=T,F.output+=T;else if(J.dot===!0)B.output+=E,F.output+=E;else B.output+=c,F.output+=c;if(S()!=="*")B.output+=I,F.output+=I}f(x)}while(B.brackets>0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("closing","]"));B.output=s.escapeLast(B.output,"["),e("brackets")}while(B.parens>0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("closing",")"));B.output=s.escapeLast(B.output,"("),e("parens")}while(B.braces>0){if(J.strictBrackets===!0)throw new SyntaxError(Y1("closing","}"));B.output=s.escapeLast(B.output,"{"),e("braces")}if(J.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket"))f({type:"maybe_slash",value:"",output:`${H}?`});if(B.backtrack===!0){B.output="";for(let N of B.tokens)if(B.output+=N.output!=null?N.output:N.value,N.suffix)B.output+=N.suffix}return B};b1.fastpaths=(q,$)=>{let J={...$},Z=typeof J.maxLength==="number"?Math.min(H1,J.maxLength):H1,Y=q.length;if(Y>Z)throw new SyntaxError(`Input length: ${Y}, exceeds maximum allowed length: ${Z}`);q=Bq[q]||q;let{DOT_LITERAL:j,SLASH_LITERAL:X,ONE_CHAR:Q,DOTS_SLASH:U,NO_DOT:z,NO_DOTS:G,NO_DOTS_SLASH:V,STAR:H,START_ANCHOR:I}=N1.globChars(J.windows),W=J.dot?G:z,_=J.dot?V:z,T=J.capture?"":"?:",E={negated:!1,prefix:""},A=J.bash===!0?".*?":H;if(J.capture)A=`(${A})`;let m=(c)=>{if(c.noglobstar===!0)return A;return`(${T}(?:(?!${I}${c.dot?U:j}).)*?)`},t=(c)=>{switch(c){case"*":return`${W}${Q}${A}`;case".*":return`${j}${Q}${A}`;case"*.*":return`${W}${A}${j}${Q}${A}`;case"*/*":return`${W}${A}${X}${Q}${_}${A}`;case"**":return W+m(J);case"**/*":return`(?:${W}${m(J)}${X})?${_}${Q}${A}`;case"**/*.*":return`(?:${W}${m(J)}${X})?${_}${A}${j}${Q}${A}`;case"**/.*":return`(?:${W}${m(J)}${X})?${j}${Q}${A}`;default:{let O=/^(.*?)\.(\w+)$/.exec(c);if(!O)return;let P=t(O[1]);if(!P)return;return P+j+O[2]}}},h=s.removePrefix(q,E),g=t(h);if(g&&J.strictSlashes!==!0)g+=`${X}?`;return g};wq.exports=b1});var Hq=y((f8,Nq)=>{var _Z=Kq(),v1=Mq(),Vq=X1(),OZ=j1(),RZ=(q)=>q&&typeof q==="object"&&!Array.isArray(q),L=(q,$,J=!1)=>{if(Array.isArray(q)){let G=q.map((H)=>L(H,$,J));return(H)=>{for(let I of G){let W=I(H);if(W)return W}return!1}}let Z=RZ(q)&&q.tokens&&q.input;if(q===""||typeof q!=="string"&&!Z)throw new TypeError("Expected pattern to be a non-empty string");let Y=$||{},j=Y.windows,X=Z?L.compileRe(q,$):L.makeRe(q,$,!1,!0),Q=X.state;delete X.state;let U=()=>!1;if(Y.ignore){let G={...$,ignore:null,onMatch:null,onResult:null};U=L(Y.ignore,G,J)}let z=(G,V=!1)=>{let{isMatch:H,match:I,output:W}=L.test(G,X,$,{glob:q,posix:j}),_={glob:q,state:Q,regex:X,posix:j,input:G,output:W,match:I,isMatch:H};if(typeof Y.onResult==="function")Y.onResult(_);if(H===!1)return _.isMatch=!1,V?_:!1;if(U(G)){if(typeof Y.onIgnore==="function")Y.onIgnore(_);return _.isMatch=!1,V?_:!1}if(typeof Y.onMatch==="function")Y.onMatch(_);return V?_:!0};if(J)z.state=Q;return z};L.test=(q,$,J,{glob:Z,posix:Y}={})=>{if(typeof q!=="string")throw new TypeError("Expected input to be a string");if(q==="")return{isMatch:!1,output:""};let j=J||{},X=j.format||(Y?Vq.toPosixSlashes:null),Q=q===Z,U=Q&&X?X(q):q;if(Q===!1)U=X?X(q):q,Q=U===Z;if(Q===!1||j.capture===!0)if(j.matchBase===!0||j.basename===!0)Q=L.matchBase(q,$,J,Y);else Q=$.exec(U);return{isMatch:Boolean(Q),match:Q,output:U}};L.matchBase=(q,$,J)=>{return($ instanceof RegExp?$:L.makeRe($,J)).test(Vq.basename(q))};L.isMatch=(q,$,J)=>L($,J)(q);L.parse=(q,$)=>{if(Array.isArray(q))return q.map((J)=>L.parse(J,$));return v1(q,{...$,fastpaths:!1})};L.scan=(q,$)=>_Z(q,$);L.compileRe=(q,$,J=!1,Z=!1)=>{if(J===!0)return q.output;let Y=$||{},j=Y.contains?"":"^",X=Y.contains?"":"$",Q=`${j}(?:${q.output})${X}`;if(q&&q.negated===!0)Q=`^(?!${Q}).*\$`;let U=L.toRegex(Q,$);if(Z===!0)U.state=q;return U};L.makeRe=(q,$={},J=!1,Z=!1)=>{if(!q||typeof q!=="string")throw new TypeError("Expected a non-empty string");let Y={negated:!1,fastpaths:!0};if($.fastpaths!==!1&&(q[0]==="."||q[0]==="*"))Y.output=v1.fastpaths(q,$);if(!Y.output)Y=v1(q,$);return L.compileRe(Y,$,J,Z)};L.toRegex=(q,$)=>{try{let J=$||{};return new RegExp(q,J.flags||(J.nocase?"i":""))}catch(J){if($&&$.debug===!0)throw J;return/$^/}};L.constants=OZ;Nq.exports=L});var U1=y((E8,_q)=>{var Wq=Hq(),PZ=X1();function Iq(q,$,J=!1){if($&&($.windows===null||$.windows===void 0))$={...$,windows:PZ.isWindows()};return Wq(q,$,J)}Object.assign(Iq,Wq);_q.exports=Iq});var Aq=y((fq)=>{Object.defineProperty(fq,"__esModule",{value:!0});fq.Builder=void 0;var fZ=import.meta.require("path"),Oq=qq(),Rq=null;try{import.meta.require.resolve("picomatch"),Rq=U1()}catch(q){}class Pq{globCache={};options={maxDepth:1/0,suppressErrors:!0,pathSeparator:fZ.sep,filters:[]};globFunction;constructor(q){this.options={...this.options,...q},this.globFunction=this.options.globFunction}group(){return this.options.group=!0,this}withPathSeparator(q){return this.options.pathSeparator=q,this}withBasePath(){return this.options.includeBasePath=!0,this}withRelativePaths(){return this.options.relativePaths=!0,this}withDirs(){return this.options.includeDirs=!0,this}withMaxDepth(q){return this.options.maxDepth=q,this}withMaxFiles(q){return this.options.maxFiles=q,this}withFullPaths(){return this.options.resolvePaths=!0,this.options.includeBasePath=!0,this}withErrors(){return this.options.suppressErrors=!1,this}withSymlinks({resolvePaths:q=!0}={}){return this.options.resolveSymlinks=!0,this.options.useRealPaths=q,this.withFullPaths()}withAbortSignal(q){return this.options.signal=q,this}normalize(){return this.options.normalizePath=!0,this}filter(q){return this.options.filters.push(q),this}onlyDirs(){return this.options.excludeFiles=!0,this.options.includeDirs=!0,this}exclude(q){return this.options.exclude=q,this}onlyCounts(){return this.options.onlyCounts=!0,this}crawl(q){return new Oq.APIBuilder(q||".",this.options)}withGlobFunction(q){return this.globFunction=q,this}crawlWithOptions(q,$){return this.options={...this.options,...$},new Oq.APIBuilder(q||".",this.options)}glob(...q){if(this.globFunction)return this.globWithOptions(q);return this.globWithOptions(q,...[{dot:!0}])}globWithOptions(q,...$){let J=this.globFunction||Rq;if(!J)throw new Error("Please specify a glob function to use glob matching.");var Z=this.globCache[q.join("\0")];if(!Z)Z=J(q,...$),this.globCache[q.join("\0")]=Z;return this.options.filters.push((Y)=>Z(Y)),this}}fq.Builder=Pq});var Tq=y((Sq)=>{Object.defineProperty(Sq,"__esModule",{value:!0})});var xq=y((r)=>{var EZ=r&&r.__createBinding||(Object.create?function(q,$,J,Z){if(Z===void 0)Z=J;var Y=Object.getOwnPropertyDescriptor($,J);if(!Y||("get"in Y?!$.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return $[J]}};Object.defineProperty(q,Z,Y)}:function(q,$,J,Z){if(Z===void 0)Z=J;q[Z]=$[J]}),AZ=r&&r.__exportStar||function(q,$){for(var J in q)if(J!=="default"&&!Object.prototype.hasOwnProperty.call($,J))EZ($,q,J)};Object.defineProperty(r,"__esModule",{value:!0});r.fdir=void 0;var SZ=Aq();Object.defineProperty(r,"fdir",{enumerable:!0,get:function(){return SZ.Builder}});AZ(Tq(),r)});import rq from"process";import{resolve as sq}from"path";import nq from"process";function _1(q,...$){if(!$.length)return q;let J=$.shift();if(B1(q)&&B1(J)){for(let Z in J)if(Object.prototype.hasOwnProperty.call(J,Z)){let Y=J[Z];if(B1(Y)&&B1(q[Z]))q[Z]=_1(q[Z],Y);else q[Z]=Y}}return _1(q,...$)}function B1(q){return q&&typeof q==="object"&&!Array.isArray(q)}async function c1({name:q,cwd:$,defaultConfig:J}){let Z=sq($||nq.cwd(),`${q}.config`);try{let Y=await import(Z),j=Y.default||Y;return _1(J,j)}catch(Y){return J}}var q1=await c1({name:"dts",defaultConfig:{cwd:rq.cwd(),root:"./src",entrypoints:["**/*.ts"],outdir:"./dist",keepComments:!0,clean:!0,tsconfigPath:"./tsconfig.json",verbose:!1}});function O1(q){if(w("params",`Cleaning parameters: ${q}`),!q.trim())return"";let $=[],J="",Z=0,Y=!1,j="",X=!1;for(let U of q){if(U==='"'||U==="\'"||U==="`"){if(!Y)Y=!0,j=U;else if(U===j)Y=!1}if(!Y){if(U==="{")X=!0,Z++;if(U==="}")X=!1,Z--;if(U==="<"||U==="(")Z++;if(U===">"||U===")")Z--;if(U===","&&Z===0&&!X){if(J.trim())$.push(l1(J));J="";continue}}J+=U}if(J.trim())$.push(l1(J));let Q=$.join(", ");return w("params",`Cleaned parameters: ${Q}`),Q}function l1(q){w("param-clean",`Cleaning parameter: ${q}`);let $=q.match(/^([^:]+):\s*([^=]+)(?:=\s*.+)?$/);if($){let[,Z,Y]=$,j=Y.replace(/\s*&\s*/g," & ").replace(/\s{2,}/g," ").trim(),X=`${Z.trim()}: ${j}`;return w("param-clean",`Cleaned to: ${X}`),X}let J=q.match(/^([^=]+)=\s*(.+)$/);if(J){let[,Z,Y]=J,j=G$(Y.trim()),X=`${Z.trim()}: ${j}`;return w("param-clean",`Inferred type: ${X}`),X}return q.trim()}async function r1(q){try{let $=await Bun.file(q).text();return oq($)}catch($){throw console.error("Failed to extract types:",$),new Error("Failed to extract and generate .d.ts file")}}function oq(q){let $=X$();q.split("\n").forEach((Z)=>{if(Z.includes("import "))e1(Z,$.importTracking)}),A$(q,$),$.dtsLines.forEach((Z)=>{if(Z.trim()&&!Z.startsWith("import"))D$(Z,$.importTracking),k$(Z,$.importTracking)});let J=J$($.importTracking);return $.dtsLines=[...J.map((Z)=>`${Z};`),"",...$.dtsLines.filter((Z)=>!Z.trim().startsWith("import"))],Y$($)}function aq(q){w("signature-start",`Processing declaration: ${q}`);let $=T$(q);w("signature-clean",`Clean declaration: ${$}`);let J=tq($),Z=$.slice($.indexOf(J)+J.length).trim();w("signature-content",`Content after name: ${Z}`);let{generics:Y,rest:j}=eq(Z);Z=j.trim(),w("signature-after-generics",`Remaining content: ${Z}`);let{params:X,rest:Q}=q$(Z);Z=Q.trim(),w("signature-after-params",`Remaining content: ${Z}`);let{returnType:U}=$$(Z);w("signature-return",`Extracted return type: ${U}`);let z={name:J,generics:Y,params:X,returnType:U};return w("signature-final",`Final signature object: ${JSON.stringify(z,null,2)}`),z}function tq(q){let $=q.match(/^(?:export\s+)?(?:async\s+)?function\s*\*?\s*([^(<\s]+)/);if(!$)throw new Error("Invalid function declaration");return $[1]}function eq(q){let $="";if(q.startsWith("<")){let J=1,Z=0,Y="<",j=!1,X="";w("generics-input",`Starting generic extraction with: ${q}`);for(let Q=1;Q<q.length;Q++){let U=q[Q],z=Q<q.length-1?q[Q+1]:"",G=Q>0?q[Q-1]:"";if(w("generics-char",`Processing char: ${U}, next char: ${z}, depth: ${J}, pos: ${Q}`),(U==='"'||U==="\'"||U==="`")&&G!=="\\"){if(!j)j=!0,X=U,w("generics-string",`Entering string with ${X}`);else if(U===X)j=!1,w("generics-string","Exiting string")}if(!j){if(U==="<")J++,w("generics-depth",`Increasing depth to ${J} at pos ${Q}`);else if(U===">"){if(J--,w("generics-depth",`Decreasing depth to ${J} at pos ${Q}`),J===0&&z===">"){Y+=">>",Z=Q+1,w("generics-complete",`Found double closing bracket at pos ${Q}, final buffer: ${Y}`);break}else if(J===0){Y+=">",Z=Q,w("generics-complete",`Found single closing bracket at pos ${Q}, final buffer: ${Y}`);break}}}if(J>0)Y+=U,w("generics-buffer",`Current buffer: ${Y}`)}if(Y)$=Y,q=q.slice(Z+1),w("generics-success",`Successfully extracted generics: ${$}`),w("generics-rest",`Remaining text: ${q}`);else w("generics-fail",`Failed to extract generics from: ${q}`)}return{generics:$,rest:q}}function q$(q){let $="";if(q.includes("(")){let J=q.indexOf("("),Z=1,Y=J+1,j="";w("params-extraction-start",`Starting params extraction from pos ${Y}: ${q}`);for(;Y<q.length;Y++){let X=q[Y];if(X==="(")Z++;if(X===")"){if(Z--,Z===0){w("params-depth-zero",`Found closing parenthesis at pos ${Y}`);break}}j+=X}$=j.trim(),q=q.slice(Y+1).trim(),w("signature-params",`Extracted params: ${$}`)}return{params:$,rest:q}}function $$(q){let $="void";if(q.startsWith(":")){w("return-start",`Starting return type extraction with: ${q}`),q=q.slice(1).trim();let J=0,Z="",Y=0,j=!1,X="",Q=!1;w("return-extraction","Starting character-by-character extraction");while(Y<q.length&&!Q){let U=q[Y],z=Y>0?q[Y-1]:"";if(w("return-char",`Pos ${Y}: Char "${U}", Depth ${J}, InString ${j}, Buffer length ${Z.length}`),(U==='"'||U==="\'"||U==="`")&&z!=="\\"){if(!j)j=!0,X=U,w("return-string",`Entering string with ${X}`);else if(U===X)j=!1,w("return-string","Exiting string")}if(!j){if(U==="{"||U==="<"||U==="(")J++,w("return-depth",`Opening bracket, increasing depth to ${J}`);else if(U==="}"||U===">"||U===")"){if(J--,w("return-depth",`Closing bracket, decreasing depth to ${J}`),J===0&&U==="}"){if(Z+=U,q.slice(Y+1).trim()[0]==="{"){w("return-end",`Found end of return type at pos ${Y}, next char is function body`),Q=!0;break}}}if(J===0&&U===";"){w("return-end","Found semicolon at depth 0"),Q=!0;break}}Z+=U,w("return-buffer",`Updated buffer: ${Z}`),Y++}$=Z.trim(),w("return-final",`Final extracted return type: ${$}`)}return{returnType:$}}function f1(q){w("extract-function",`Extracting function type from: ${q}`);let $=q.trim(),J=0,Z=$.length;if(!$.startsWith("(")){let H=$.match(/^function\s*\w*\s*\((.*?)\)/s);if(H){let[,I]=H,W=O1(I||""),_=$.match(/\):\s*([^{;]+)(?:[{;]|$)/),T=_?L$(_[1]):"unknown";return`(${W}) => ${T}`}return null}J++;let Y=1,j=J,X=!1,Q="";for(;J<Z;J++){let H=$[J],I=J>0?$[J-1]:"";if(X){if(H===Q&&I!=="\\")X=!1;else if(H==="\\")J++}else if(H==='"'||H==="\'"||H==="`")X=!0,Q=H;else if(H==="(")Y++;else if(H===")"){if(Y--,Y===0)break}}if(Y!==0)return w("extract-function","Unbalanced parentheses in function parameters"),null;let U=J,z=$.slice(j,U);J++;while(J<Z&&/\s/.test($[J]))J++;let G="unknown";if($[J]===":"){J++;while(J<Z&&/\s/.test($[J]))J++;let H=J;while(J<Z&&!$.startsWith("=>",J)&&$[J]!=="{")J++;let I=J;G=$.slice(H,I).trim()}while(J<Z&&/\s/.test($[J]))J++;if($.startsWith("=>",J))J+=2;else return w("extract-function",'Function expression missing "=>"'),null;let V=O1(z||"");return w("extract-function",`Extracted function type: (${V}) => ${G}`),`(${V}) => ${G}`}function J$(q){let $=[],J=new Set;w("import-gen",`Generating optimized imports. ${q.exportedTypes.size} exported types`);for(let[Z,Y]of q.typeImports){w("import-type-check",`Checking types from ${Z}: ${Array.from(Y).join(", ")}`);let j=Array.from(Y).filter((X)=>{let Q=q.exportedTypes.has(X)||q.usedTypes.has(X);return w("import-type-filter",`Type ${X}: exported=${q.exportedTypes.has(X)}, used=${q.usedTypes.has(X)}`),Q}).map((X)=>{let Q=q.valueAliases.get(X);return Q?`${X} as ${Q}`:X}).sort();if(j.length>0){let X=`import type { ${j.join(", ")} } from '${Z}'`;if(!J.has(X))$.push(X),J.add(X),w("import-add-type",`Added type import: ${X}`)}}for(let[Z,Y]of q.valueImports){let j=new Map,X=Array.from(Y).filter((Q)=>{let U=Array.from(q.valueAliases.entries()).find(([G,V])=>V===Q)?.[0],z=q.exportedValues.has(Q)||q.usedValues.has(Q)||Q===q.defaultExportValue||U&&(q.exportedValues.has(U)||U===q.defaultExportValue);if(z&&U)j.set(Q,U);return z}).map((Q)=>{let U=j.get(Q);return U?`${Q} as ${U}`:Q}).sort();if(X.length>0){let Q=`import { ${X.join(", ")} } from '${Z}'`;if(!J.has(Q))$.push(Q),J.add(Q),w("import-add-value",`Added value import: ${Q}`)}}return $.sort()}function Z$(q){let $=q.trim();if(!$.startsWith("{"))return null;let J=0,Z=!1,Y="";for(let j=0;j<$.length;j++){let X=$[j],Q=j>0?$[j-1]:"";if((X==='"'||X==="\'"||X==="`")&&Q!=="\\"){if(!Z)Z=!0,Y=X;else if(X===Y)Z=!1;continue}if(!Z){if(X==="{")J++;else if(X==="}"){if(J--,J===0)return $.slice(0,j+1)}}}return null}function Y$(q){let $=new Set;q.dtsLines.filter((j)=>j.startsWith("import")).forEach((j)=>$.add(j.replace(/;+$/,"")));let J=q.dtsLines.filter((j)=>!j.startsWith("import")).map((j)=>{let X=j.trim();if(!X)return"";if(X.startsWith("export *")||X.endsWith(";"))return X;if(X.startsWith("export type"))return`${X};`;return X.replace(/;+$/,";")}),Z=Array.from(q.defaultExports).map((j)=>j.trim().replace(/;+$/,";"));return`${[...Array.from($).map((j)=>`${j};`),"",...J.filter(Boolean),"",...Z].map((j)=>j.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"")).filter((j)=>j.trim()||j==="").join("\n")}`.trim()}function j$(q){let $=q.split("\n"),J=0;while(J<$.length){let Z=$[J].trim();if(Z.startsWith("//")||Z.startsWith("/*")||Z.startsWith("*")||Z==="")J++;else break}return $.slice(J).join("\n")}function X$(){return{dtsLines:[],imports:[],usedTypes:new Set,typeSources:new Map,defaultExport:null,exportAllStatements:[],currentDeclaration:"",lastCommentBlock:"",bracketCount:0,isMultiLineDeclaration:!1,moduleImports:new Map,availableTypes:new Map,availableValues:new Map,currentIndentation:"",declarationBuffer:null,importTracking:Q$(),defaultExports:new Set,currentScope:"top"}}function Q$(){return{typeImports:new Map,valueImports:new Map,usedTypes:new Set,usedValues:new Set,exportedTypes:new Set,exportedValues:new Set,valueAliases:new Map,importSources:new Map,typeExportSources:new Map,defaultExportValue:void 0}}function p1(q,$,J){let Z=q.split("\n");if(Z.length===1)return`${$}${q}${J?"":" |"}`;let Y=[],j=!1,X=0;return Z.forEach((U)=>{let z=U.trim();if(z.startsWith("Array<"))X=0;if(z==="}"||z.startsWith("> |")||z===">")j=X===1;if(z&&!z.startsWith("Array<")&&!z.endsWith(">")&&!z.startsWith("{")&&!z.endsWith("}"))X++}),Z.map((U,z)=>{let G=U.trim();if(!G)return"";let V=$;if(z>0){let _=Y.reduce((T,E)=>T+E.depth,0);if(V=$+" ".repeat(_),G.match(/^['"]/))V+=" ";if((G.startsWith("}")||G.startsWith(">")||G.startsWith("> |"))&&Y.length>0)V=$+" ".repeat(Math.max(0,_-1))}let H=G.match(/[{<[]/g)||[],I=G.match(/[}\]>]/g)||[];if(H.forEach((_)=>{let T=G.startsWith("Array")&&_==="<";Y.push({char:_,indent:V,isArray:T,depth:1,isSingleElement:j})}),I.length>0){for(let _=0;_<I.length;_++)if(Y.length>0)Y.pop()}let W=!1;if(!J&&z===Z.length-1&&!G.endsWith(" |")&&!G.endsWith(";"))W=!0;if(G==="}"){if([...Y].reverse().find((T)=>T.isArray)?.isSingleElement)W=!1}if(G.endsWith(" |"))W=!1;return`${V}${G}${W?" |":""}`}).filter(Boolean).join("\n")}function U$(q){let $=q.split("\n").map((Z)=>Z.trim()).join(" ");if(/^['"`].*['"`]$/.test($))return $;if(!Number.isNaN(Number($)))return $;if($==="true"||$==="false")return $;let J=$.match(/\([^)]*\)\s*:\s*([^=>{]+)/);if(J)return J[1].trim();if($.includes("=>"))return"(...args: any[]) => unknown";return"unknown"}function w1(q,$,J=!1){let Z=q.slice(1,-1).trim(),Y=q.trim().endsWith("as const");if(!Z)return Y?"readonly unknown[]":"unknown[]";let j=Z0(Z);if(Y||j.some((z)=>z.includes("as const"))){let z=j.map((G)=>{let V=G.trim().replace(/\s*as\s*const\s*$/,"").trim();return o1(V,$)});if(B$(z))return`readonly [\n${z.map((V,H)=>p1(V," ",H===z.length-1)).join("\n")}\n ]`;return`readonly [${z.join(", ")}]`}let Q=j.map((z)=>{let G=z.trim();if(G.startsWith("["))return w1(G,$);else if(G.startsWith("{"))return $1(G,$);else if(G.includes("=>")||G.includes("function")){let V=f1(G);return V?`(${V})`:"((...args: any[]) => unknown)"}else return w$(G)}).filter(Boolean);if(Q.some((z)=>z.includes("\n")||z.includes("{")||z.length>40||Q.join(" | ").length>60)&&J)return`Array<\n${Q.map((G,V)=>p1(G," ",V===Q.length-1)).join("\n")}\n >`;return`Array<${Q.join(" | ")}>`}function $1(q,$,J=0){let Z=Z$(q);if(!Z)return"Record<string, unknown>";let Y=" ".repeat(J),j=" ".repeat(J+1),X=Y,Q=C$(Z,$,J);if(!Q.length)return"{}";return`{\n${Q.map(({key:z,value:G})=>{return`${j}${z}: ${G}`}).join(";\n")}\n${X}}`}function o1(q,$){if(/^['"`].*['"`]$/.test(q))return`'${q.replace(/\]\s*as\s*cons.*$/,"").replace(/^['"`]|['"`]$/g,"")}'`;if(q.startsWith("[")){let Z=q.slice(1,-1).trim();return`readonly [${Z0(Z).map((X)=>{let Q=X.trim();if(Q.includes("] as cons")||Q.includes("] as const"))Q=Q.replace(/\]\s*as\s*cons.*$/,"").replace(/\]\s*as\s*const.*$/,"").trim();if(Q.startsWith("["))return o1(Q,$);if(Q.startsWith("{"))return $1(Q,$).replace(/^\{/,"{ readonly").replace(/;\s+/g,"; readonly ");if(/^['"`].*['"`]$/.test(Q))return`'${Q.replace(/^['"`]|['"`]$/g,"")}'`;if(!Number.isNaN(Number(Q)))return Q;if(Q==="true"||Q==="false")return Q;return`'${Q.replace(/\]\s*as\s*cons.*$/,"").replace(/\]\s*as\s*const.*$/,"").replace(/^['"`]|['"`]$/g,"").trim()}'`}).join(", ")}]`}return`'${q.replace(/\]\s*as\s*cons.*$/,"").replace(/\]\s*as\s*const.*$/,"").replace(/^['"`]|['"`]$/g,"").trim()}'`}function z$(q,$){if(q.startsWith("{"))return $1(q,$);if(q.startsWith("["))return w1(q,$,!0);return q}function G$(q){if(/^['"`].*['"`]$/.test(q))return"string";if(!Number.isNaN(Number(q)))return"number";if(q==="true"||q==="false")return"boolean";if(q.startsWith("["))return"unknown[]";if(q.startsWith("{"))return"object";if(q==="null")return"null";if(q==="undefined")return"undefined";return"unknown"}function a1(q){return q.trim().startsWith("export default")}function F$(q){if(K$(q))return!1;let $=q.trim();if(/^(?:export\s+)?(?:async\s+)?function\s*\*?\s*[a-zA-Z_$][\w$]*/.test($))return!0;return $.startsWith("export ")||$.startsWith("interface ")||$.startsWith("type ")||$.startsWith("const ")||$.startsWith("function ")||$.startsWith("async function ")||$.startsWith("declare ")||$.startsWith("declare module")||/^export\s+(?:interface|type|const|function\*?|async\s+function\*?)/.test($)}function K$(q){return q.includes("\\")||q.includes("[^")||q.includes("(?:")||q.includes("(?=")||q.includes("(?!")||q.includes("\\s*")||q.includes("\\w+")||q.includes("\\d+")||q.includes("(?<")||q.includes("(?!")||q.includes("(?<=")||q.includes("(?<!")}function J8(q){return/^\s*\(.*\)\s*=>\s*(?:\S.*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF])$/.test(q.trim())}function Z8(q){let J=(Array.isArray(q)?q.join("\n"):q).replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"").trim();return/;\s*$/.test(J)||/\}\s*$/.test(J)}function t1(q,$){let J=q.trim();return $.currentScope==="function"&&(J.startsWith("const ")||J.startsWith("let ")||J.startsWith("var ")||/^(?:const|let|var)\s+[a-zA-Z_$][\w$]*\s*(?::|=)/.test(J))}function B$(q){return q.some(($)=>$.includes("\n")||$.includes("{")||$.length>40||q.join(" | ").length>60)}function w$(q){if(q.includes("=>")||q.match(/\bfunction\b/))return"((...args: any[]) => unknown)";if(q.match(/\w+\s*\([^)]*\)/))return"unknown";if(q.startsWith("new "))return"unknown";if(q.includes("."))return"unknown";if(/^[a-z_$][\w$]*$/i.test(q)&&!["unknown","string","number","boolean","null","undefined","any","never","void"].includes(q)&&!/^['"`]|^\d/.test(q)&&q!=="true"&&q!=="false")return"unknown";return q}function R1(q,$,J){w("block-processing","Starting block processing");let Z=[],Y=0,j=0,X=0,Q=!1,U=q.length;w("block-scan",`Total available lines: ${U}`);while(X<U){let V=q[X],H=V.trim(),I=(V.match(/\{/g)||[]).length,W=(V.match(/\}/g)||[]).length,_=(V.match(/</g)||[]).length,T=(V.match(/>/g)||[]).length;if(w("block-scan-details",`Scanning line ${X+1}: "${H}" Current depths - Bracket: ${Y}, Angle: ${j} Found body: ${Q} Changes - Curly: +${I}/-${W}, Angle: +${_}/-${T}`),Z.push(V),Y+=I-W,j+=_-T,H.includes("{"))Q=!0,w("block-scan",`Found body start at line ${X+1}`);if(w("block-collection",`Line ${X+1}: "${H}" Updated depths - Bracket: ${Y}, Angle: ${j} Found body: ${Q}`),Y===0&&(j===0||Q)&&H.endsWith("}")&&Q){w("block-scan",`Found complete block at line ${X+1}`);break}X++}let z=Z.join("\n");w("block-scan",`Collected block:\n${z}`);let G=j$(z).trim();if(w("block-processing",`Full block content:\n${G}`),!G){w("block-processing","Empty declaration block");return}if(t1(G,J)){w("block-processing","Skipping variable declaration inside function");return}if(G.startsWith("interface")||G.startsWith("export interface")){if(w("block-processing","Processing interface declaration using interface block processor"),N$(G,z,J)){w("block-processing","Interface successfully processed");return}}if(G.includes("\n\nexport function")||G.includes("\n\nfunction")){let V=b$(G);if(V.length>1){w("block-processing",`Found ${V.length} function declarations to process`),V.forEach((H)=>{let I=H.split("\n");R1(I,$,J)});return}}if(V$(G,J))return;if(M$(G,q,J))return;if(H$(G,z,J))return;if(W$(G,J))return;if(I$(G,J))return;if(_$(G,z,J))return;if(E$(G,z,J))return;w("processing",`Unhandled declaration type: ${G.split("\n")[0]}`)}function M$(q,$,J){if(!q.match(/^(?:export\s+)?(const|let|var)\s+/))return!1;if(t1(q,J))return w("variable-processing","Skipping variable inside function"),!0;let Y=q.startsWith("export");if(J.currentScope==="top"){let j=$.join("\n");J.dtsLines.push($0(j,Y,J))}else w("block-processing","Skipping variable declared inside a function");return!0}function V$(q,$){if(w("function-processing",`Processing potential function block: ${q.slice(0,100)}...`),/^(?:export\s+)?(?:async\s+)?function\s*\*/.test(q)){w("block-processing","Processing generator function declaration");let z=x$(q);if(z)return $.dtsLines.push(z),!0}if(!/^(?:export\s+)?(?:async\s+)?function\s+[a-zA-Z_$][\w$]*/.test(q))return!1;w("block-processing","Processing function declaration");let J=q.split(/[\n;]/).map((z)=>z.trim()).filter((z)=>z.startsWith("export function")||z.startsWith("function"));if(J.length>1)return J.forEach((z)=>{if(!z.endsWith("{")){let G=P1(z,$.usedTypes,z.startsWith("export"));if(G)$.dtsLines.push(G)}}),!0;let Z=0,Y=0,j=0;for(let z=0;z<q.length;z++){let G=q[z];if(G==="(")Y++;if(G===")")Y--;if(G==="<")j++;if(G===">")j--;if(G==="{"){if(Y===0&&j===0){Z=z;break}}}if(Z===0)Z=q.length;let X=q.slice(0,Z).trim();w("signature-extraction",`Extracted signature: ${X}`);let Q=X.startsWith("export"),U=P1(X,$.usedTypes,Q);if(U)w("function-processed",`Generated declaration: ${U}`),$.dtsLines.push(U);return!0}function N$(q,$,J){if(w("interface-processing",`Starting interface processing with declaration: ${q.slice(0,100)}...`),!q.startsWith("interface")&&!q.startsWith("export interface"))return w("interface-processing","Not an interface declaration, skipping"),!1;let Z=$.split("\n"),Y=0,j=0,X=[],Q=!0,U=!1;w("interface-processing",`Processing ${Z.length} lines`);for(let H=0;H<Z.length;H++){let I=Z[H],W=I.trim(),_=(I.match(/\{/g)||[]).length,T=(I.match(/\}/g)||[]).length,E=(I.match(/</g)||[]).length,A=(I.match(/>/g)||[]).length;if(Y+=_-T,j+=E-A,W.includes("{"))U=!0;if(w("interface-depth",`Line ${H+1}: "${W}" Bracket depth: ${Y}, Angle depth: ${j}, Has started body: ${U}`),Q){let m=W.startsWith("export")?"export declare":"declare";X.push(I.replace(/^(\s*)(?:export\s+)?interface/,`\$1${m} interface`)),Q=!1}else X.push(I)}let z=X.join("\n"),G=z.includes("{")&&z.includes("}");if(Y===0&&(j===0||z.includes(">"))&&G)return w("interface-processing",`Successfully processed interface:\n${z}`),J.dtsLines.push(z),!0;return w("interface-processing",`Interface processing incomplete. Bracket depth: ${Y}, Angle depth: ${j}, Has started body: ${U}`),!1}function H$(q,$,J){if(!q.startsWith("type")&&!q.startsWith("export type"))return!1;let Z=q.startsWith("export");return J.dtsLines.push(q0($,Z)),!0}function W$(q,$){if(!a1(q))return!1;let J=q.replace(/^export\s+default\s+/,"").replace(/;$/,"");$.importTracking.defaultExportValue=J;let Z=q.endsWith(";")?q:`${q};`;return $.defaultExports.add(Z),!0}function I$(q,$){if(!q.startsWith("export *"))return!1;return $.exportAllStatements.push(q),$.dtsLines.push(q),!0}function _$(q,$,J){if(!q.startsWith("export"))return!1;if(R$(q,J))return!0;if(P$(q,J))return!0;if(f$(q,J))return!0;if(q.startsWith("export {"))return J.dtsLines.push($),!0;return w("processing",`Unhandled exported declaration type: ${q.split("\n")[0]}`),!0}function O$(q,$){w("export-processing",`Processing export: ${q}`);let J=q.match(/export\s*\{([^}]+)\}(?:\s*from\s*['"]([^'"]+)['"])?/);if(!J){w("export-error","Failed to match export pattern");return}let[,Z,Y]=J;w("export-found",`Found exports: ${Z}, source: ${Y||"local"}`),Z.split(",").forEach((j)=>{let[X,Q]=j.trim().split(/\s+as\s+/).map((U)=>U.trim());if(X.startsWith("type ")){let U=X.replace(/^type\s+/,"").trim(),z=Q||U;if($.importTracking.exportedTypes.add(z),Y)$.importTracking.typeExportSources.set(z,Y);w("export-type-processed",`Added exported type: ${z}`)}else{let U=Q||X;$.importTracking.exportedValues.add(U),w("export-value-processed",`Added exported value: ${U}`)}})}function R$(q,$){if(!q.startsWith("export class")&&!q.startsWith("export abstract class"))return!1;let J=`export declare ${q.replace(/^export\s+/,"")}`;return $.dtsLines.push(J),!0}function P$(q,$){if(!q.startsWith("export enum")&&!q.startsWith("export const enum"))return!1;let J=`export declare ${q.replace(/^export\s+/,"")}`;return $.dtsLines.push(J),!0}function f$(q,$){if(!q.startsWith("export namespace"))return!1;let J=`export declare ${q.replace(/^export\s+/,"")}`;return $.dtsLines.push(J),!0}function E$(q,$,J){if(!q.startsWith("declare module"))return!1;let Z=J0($);return J.dtsLines.push(Z),!0}function Y8(q,$,J){if(a1(q)){let Z=q.endsWith(";")?q:`${q};`;J.defaultExports.add(Z);return}if(q.startsWith("declare module")){let Z=J0($);J.dtsLines.push(Z);return}if(q.startsWith("export const")||q.startsWith("const")){let Z=q.trimStart().startsWith("export"),Y=$0($,Z,J);J.dtsLines.push(Y);return}if(q.startsWith("interface")||q.startsWith("export interface")){let Z=y$($,q.startsWith("export"));J.dtsLines.push(Z);return}if(q.startsWith("type")||q.startsWith("export type")){let Z=q0($,q.startsWith("export"));J.dtsLines.push(Z);return}if(q.startsWith("function")||q.startsWith("export function")||q.startsWith("async function")||q.startsWith("export async function")){let Z=P1($,J.usedTypes,q.startsWith("export"));J.dtsLines.push(Z);return}if(q.startsWith("export *")){J.exportAllStatements.push(q),J.dtsLines.push($);return}if(q.startsWith("export {")){J.dtsLines.push($);return}if(q.startsWith("export type {")){J.dtsLines.push($);return}if(q.startsWith("class")||q.startsWith("export class")||q.startsWith("abstract class")||q.startsWith("export abstract class")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}if(q.startsWith("enum")||q.startsWith("export enum")||q.startsWith("const enum")||q.startsWith("export const enum")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}if(q.startsWith("namespace")||q.startsWith("export namespace")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}if(q.startsWith("let")||q.startsWith("export let")||q.startsWith("var")||q.startsWith("export var")){let Y=`${q.startsWith("export")?"export ":""}declare ${q.replace(/^export\s+/,"")}`;J.dtsLines.push(Y);return}console.warn("Unhandled declaration type:",q.split("\n")[0])}function A$(q,$){let J=q.split("\n"),Z=[],Y=[],j=0,X=0,Q=!1;$.currentScope="top",w("source-processing",`Processing source file with ${J.length} lines`);for(let U=0;U<J.length;U++){let z=J[U],G=z.trim();if(w("source-scan",`First pass - Line ${U+1}: ${G}`),z.includes("import "))e1(z,$.importTracking),w("import",`Processed import: ${z}`);if(G.startsWith("export type {")){w("type-export",`Found type export: ${G}`),S$(G,$),$.dtsLines.push(z);continue}if(G.startsWith("export {")){w("mixed-export",`Found mixed export: ${G}`),O$(G,$),$.dtsLines.push(z);continue}}for(let U=0;U<J.length;U++){let z=J[U],G=z.trim();if(G.startsWith("import ")||G.startsWith("export type {")||G.startsWith("export {"))continue;if(G.startsWith("/*")||G.startsWith("//")){Y.push(z);continue}let V=(z.match(/\{/g)||[]).length,H=(z.match(/\}/g)||[]).length,I=(z.match(/</g)||[]).length,W=(z.match(/>/g)||[]).length;if(!Q&&F$(G)){w("declaration",`Found declaration start: ${G}`),Q=!0,Z=[z],j=V-H,X=I-W;continue}if(Q){Z.push(z),j+=V-H,X+=I-W;let _=j===0&&X===0&&G.endsWith("}"),T=U<J.length-1?J[U+1]?.trim():"";if(!(j>0||X>0||T&&!T.startsWith("export")&&!T.startsWith("interface"))||_)w("declaration-complete",`Declaration complete at line ${U+1}`),R1(Z,Y,$),Z=[],Y=[],Q=!1,j=0,X=0}}if(Z.length>0)R1(Z,Y,$)}function e1(q,$){w("import-processing",`Processing import line: ${q}`);let J=q.match(/import\s+type\s*(?:\{([^}]+)\}|([^;\s]+))\s*from\s*['"]([^'"]+)['"]/);if(J){let[,Y,j,X]=J,Q=Y||j;if(w("import-type",`Found type imports from ${X}: ${Q}`),!$.typeImports.has(X))$.typeImports.set(X,new Set);if(Q)Q.split(",").forEach((U)=>{let[z,G]=U.trim().split(/\s+as\s+/).map((V)=>V.trim());if($.typeImports.get(X).add(z),$.typeExportSources.set(z,X),w("import-type-tracking",`Tracking type ${z} from ${X}`),G)$.valueAliases.set(G,z),w("import-alias",`Registered type alias: ${z} as ${G}`)});return}let Z=q.match(/import\s*\{([^}]+)\}\s*from\s*['"]([^'"]+)['"]/);if(Z){let[,Y,j]=Z;if(w("import-value",`Found value imports from ${j}: ${Y}`),!$.valueImports.has(j))$.valueImports.set(j,new Set);Y.split(",").forEach((X)=>{let[Q,U]=X.trim().split(/\s+as\s+/).map((z)=>z.trim());if(Q.startsWith("type ")){let z=Q.replace(/^type\s+/,"").trim();if(!$.typeImports.has(j))$.typeImports.set(j,new Set);$.typeImports.get(j).add(z),$.typeExportSources.set(z,j),w("import-type-in-value",`Found inline type import: ${z} from ${j}`)}else if($.valueImports.get(j).add(Q),$.importSources.set(Q,j),U){if($.valueAliases.set(U,Q),U===$.defaultExportValue)$.usedValues.add(Q);$.valueImports.get(j).add(Q),w("import-alias",`Registered value alias: ${Q} as ${U}`)}})}}function q0(q,$=!0){let J=q.split("\n");if(J[0].trim().startsWith("export type {"))return q;let Y=$?"export declare":"declare";return[J[0].replace(/^(\s*)(?:export\s+)?type(?!\s*\{)/,`\$1${Y} type`),...J.slice(1)].join("\n")}function S$(q,$){w("type-export-processing",`Processing type export: ${q}`);let J=q.match(/export\s+type\s*\{([^}]+)\}(?:\s*from\s*['"]([^'"]+)['"])?/);if(!J){w("type-export-error","Failed to match type export pattern");return}let[,Z,Y]=J;w("type-export-found",`Found types: ${Z}, source: ${Y||"local"}`),Z.split(",").forEach((j)=>{let[X,Q]=j.trim().split(/\s+as\s+/).map((z)=>z.trim()),U=Q||X;if($.importTracking.exportedTypes.add(U),Y)$.importTracking.typeExportSources.set(U,Y);w("type-export-processed",`Added exported type: ${U}`)})}function $0(q,$,J){let Z=q.includes("let ")?"let":q.includes("var ")?"var":"const",Y=q.match(/(?:export\s+)?(?:const|let|var)\s+([^:\s]+)\s*:\s*([^=]+)=/);if(Y){let[,V,H]=Y;return`${$?"export ":""}declare ${Z} ${V}: ${H.trim()};`}let j=q.match(/(?:export\s+)?(?:const|let|var)\s+([^=\s]+)\s*=\s*([\s\S]+)$/);if(!j)return q;let[,X,Q]=j,U=Q.trim(),z=U.match(/^\(\s*.*?\)\s*:\s*([^=>\s{]).*=>/);if(z){let V=z[1];return`${$?"export ":""}declare ${Z} ${X}: ${V};`}let G;if(U.includes("as const")){let V=U.replace(/\s*as\s*const\s*$/,"");G=z$(V,J)}else if(U.startsWith("{"))G=$1(U,J);else if(U.startsWith("["))G=w1(U,J);else if(U.includes("=>")||U.includes("function"))G=f1(U)||"(...args: any[]) => unknown";else G=U$(U);return`${$?"export ":""}declare ${Z} ${X}: ${G};`}function P1(q,$,J=!0){w("process-function-start",`Starting to process: ${q}`);let Z=q.split("\n").map((Q)=>Q.trim()).join(" ").replace(/\s+/g," ").replace(/;$/,"");w("process-function-normalized",`Normalized declaration: ${Z}`);let Y=aq(Z);if(w("process-function-signature",`Extracted signature: ${JSON.stringify(Y,null,2)}`),!Y.params&&Z.includes("("))w("process-function-warning","Found parentheses but no params extracted");if(Y.returnType==="void"&&Z.includes("):"))w("process-function-warning","Found return type indicator but extracted void");let X=[J?"export ":"","declare function ",Y.name,Y.generics,`(${Y.params})`,Y.returnType?`: ${Y.returnType}`:"",";"].filter(Boolean).join("");return w("process-function-final",`Final declaration: ${X}`),X}function T$(q){let $=q.split("\n"),J=0;while(J<$.length){let Z=$[J].trim();if(!Z.startsWith("//")&&!Z.startsWith("/*")&&!Z.startsWith("*")&&Z!=="")break;J++}return $.slice(J).join("\n").trim()}function x$(q){w("generator-function",`Processing generator function: ${q}`);let $=q.replace(/^export\s+/,"").replace(/^async\s+/,"").trim(),J=$.match(/function\*\s+([^(<\s]+)/);if(!J)return w("generator-function","Failed to match generator function name"),"";let[,Z]=J,Y=$.slice($.indexOf(Z)+Z.length).trim(),j="";if(Y.startsWith("<")){let U=1,z=1;for(;z<Y.length&&U>0;z++){if(Y[z]==="<")U++;if(Y[z]===">")U--}j=Y.slice(0,z),Y=Y.slice(z).trim()}let X="";if(Y.startsWith("(")){let U=1,z=1;for(;z<Y.length&&U>0;z++){if(Y[z]==="(")U++;if(Y[z]===")")U--}X=Y.slice(1,z-1).trim(),Y=Y.slice(z).trim()}let Q="any";if(Y.startsWith(":")){Y=Y.slice(1).trim();let U=Y.match(/([^{;]+)/);if(U)Q=U[1].trim()}return["export declare function ",Z,j?`${j}`:"",`(${X})`,": ",Q].filter(Boolean).join("").concat(";")}function y$(q,$=!0){let J=q.split("\n"),Z=J[0],Y=$?"export declare":"declare";return[Z.replace(/^(\s*)(?:export\s+)?interface/,`\$1${Y} interface`),...J.slice(1)].join("\n")}function J0(q){let $=q.split("\n"),J=" ",Z=0;return $.map((j,X)=>{let Q=j.trim();if(!Q)return"";if(Q.startsWith("}"))Z--;let U=" ".repeat(Math.max(0,Z)),z=X===0?Q:`${U}${Q}`;if(Q.endsWith("{"))Z++;if(Q.includes("}")&&Q.includes("{"))Z=Math.max(0,Z);return z}).join("\n")}function i1(q){let $=/^(?:async\s+)?(\w+)\s*(<[^>]*>)?\s*\(([^)]*)\)\s*(?::\s*([^ {][^;{]*))?/,J=q.match($);if(!J)return{name:q.split("(")[0].trim().replace(/^async\s+/,""),signature:"() => unknown"};let[,Z,Y="",j,X="void"]=J,Q=X.trim();if(/^async\s+/.test(q)&&!/^Promise<.*>$/.test(Q))Q=`Promise<${Q}>`;let z=O1(j||""),G=[Y?`${Y}`:"",`(${z})`,"=>",Q].filter(Boolean).join(" ").trim();return{name:Z,signature:G}}function C$(q,$,J=0){let Z=[],Y=q.slice(1,-1).trim();if(!Y)return Z;let j="",X=0,Q=!1,U="",z="",G=!0,V=!1;for(let H=0;H<Y.length;H++){let I=Y[H],W=H>0?Y[H-1]:"";if((I==='"'||I==="\'"||I==="`")&&W!=="\\"){if(!Q)Q=!0,U=I;else if(I===U)Q=!1}if(!Q){if(I==="{"||I==="["||I==="(")X++;else if(I==="}"||I==="]"||I===")")X--;else if(X===0){if(I===":"&&!V){V=!0,z=j.trim(),j="",G=!1;continue}else if((I===","||I===";")&&!G){if(z){let _=j.trim();if(z.includes("(")||z.match(/^\s*(?:async\s+)?\w+\s*(?:<[^>]+>)?\s*\(/)){let{name:E,signature:A}=i1(z);Z.push({key:E,value:A})}else{let E=s1(_,J+1,$);Z.push({key:n1(z),value:E})}}j="",z="",G=!0,V=!1;continue}}}j+=I}if(z&&!G&&j.trim()){let H=j.trim();if(z.includes("(")||z.match(/^\s*(?:async\s+)?\w+\s*(?:<[^>]+>)?\s*\(/)){let{name:W,signature:_}=i1(z);Z.push({key:W,value:_})}else{let W=s1(H,J+1,$);Z.push({key:n1(z),value:W})}}return Z}function s1(q,$,J){let Z=q.trim();if(Z.startsWith("{")&&Z.includes("(")&&Z.includes(")")&&Z.includes(":"))return $1(Z,J,$);if(Z.startsWith("["))return w1(Z,J,!0);if(Z.startsWith("{"))return $1(Z,J,$);if(Z.includes("=>")||Z.includes("function"))return f1(Z)||"(...args: any[]) => unknown";if(/^(['"`]).*\1$/.test(Z)||!Number.isNaN(Number(Z))||Z==="true"||Z==="false")return Z;return"unknown"}function D$(q,$){let J=/(?:extends|implements|:|<)\s*([A-Z][a-zA-Z0-9]*(?:<[^>]+>)?)/g,Z=/(?:^|[\s<,])\s*([A-Z][a-zA-Z0-9]*)(?:[<>,\s]|$)/g,Y;while((Y=J.exec(q))!==null){let X=Y[1].split("<")[0];$.usedTypes.add(X)}while((Y=Z.exec(q))!==null){let X=Y[1];$.usedTypes.add(X)}let j=/Partial<([^>]+)>/g;while((Y=j.exec(q))!==null){let X=Y[1].trim();if(/^[A-Z]/.test(X))$.usedTypes.add(X)}}function k$(q,$){let J=q.match(/export\s*\{([^}]+)\}/);if(J)J[1].split(",").map((j)=>j.trim()).forEach((j)=>{let[X]=j.split(/\s+as\s+/);$.exportedValues.add(X.trim())});let Z=[/export\s+declare\s+\{\s*([^}\s]+)(?:\s*,\s*[^}\s]+)*\s*\}/g,/export\s+declare\s+(?:const|function|class)\s+([a-zA-Z_$][\w$]*)/g,/export\s+\{\s*([^}\s]+)(?:\s*,\s*[^}\s]+)*\s*\}/g];for(let Y of Z){let j;while((j=Y.exec(q))!==null)j[1].split(",").map((Q)=>Q.trim()).forEach((Q)=>{if(!["type","interface","declare","extends","implements","function","const","let","var"].includes(Q))$.usedValues.add(Q)})}}function w(q,$){if(q1.verbose)console.debug(`[dtsx:${q}] ${$}`)}function L$(q){return q.replace(/\s+/g," ").replace(/\s*([<>])\s*/g,"$1").replace(/\s*,\s*/g,", ").trim()}function n1(q){let $=q.replace(/^['"`]|['"`]$/g,"");if(!/^[a-z_$][\w$]*$/i.test($))return`'${$}'`;return $}function Z0(q){let $=[],J="",Z=0,Y=!1,j="";for(let Q=0;Q<q.length;Q++){let U=q[Q],z=Q>0?q[Q-1]:"";if((U==='"'||U==="\'"||U==="`")&&z!=="\\"){if(!Y)Y=!0,j=U;else if(U===j)Y=!1}if(!Y){if(U==="["||U==="{"||U==="(")Z++;else if(U==="]"||U==="}"||U===")")Z--;else if(U===","&&Z===0){let G=J.trim();if(G)$.push(G);J="";continue}}J+=U}let X=J.trim();if(X)$.push(X);return $}function b$(q){let $=[],J=q.split("\n"),Z=[];for(let Y=0;Y<J.length;Y++){let j=J[Y].trim();if((j.startsWith("export function")||j.startsWith("function"))&&Z.length>0)$.push(Z.join("\n")),Z=[];Z.push(J[Y])}if(Z.length>0)$.push(Z.join("\n"));return $}import{mkdir as uZ,rm as mZ}from"fs/promises";import{dirname as dZ,join as cZ,parse as lZ,relative as pZ}from"path";import iZ from"process";var Dq=K1(xq(),1),h1=K1(U1(),1),kq=K1(U1(),1);import Cq,{posix as W1}from"path";var TZ=/\\(?![()[\]{}!+@])/g;function xZ(q){return Lq(q)}function yZ(q){return bq(q).replace(TZ,"/")}var y8=process.platform==="win32"?yZ:xZ,CZ=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,DZ=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,Lq=(q)=>q.replace(CZ,"\\$&"),bq=(q)=>q.replace(DZ,"\\$&"),C8=process.platform==="win32"?bq:Lq;function kZ(q,$){if(($==null?void 0:$.caseSensitiveMatch)===!1)return!0;let J=kq.default.scan(q);return J.isGlob||J.negated}function g1(q,$,J,Z,Y){var j;let X=q;if(q.endsWith("/"))X=q.slice(0,-1);if(!X.endsWith("*")&&$)X+="/**";if(Cq.isAbsolute(X.replace(/\\(?=[()[\]{}!*+?@|])/g,"")))X=W1.relative(J,X);else X=W1.normalize(X);let Q=/^(\/?\.\.)+/.exec(X);if(Q==null?void 0:Q[0]){let U=W1.join(J,Q[0]);if(Z.root.length>U.length)Z.root=U,Z.depthOffset=-(Q[0].length+1)/3}else if(!Y&&Z.depthOffset>=0){let U=X.split("/");(j=Z.commonPath)!=null||(Z.commonPath=U);let z=[];for(let G=0;G<Math.min(Z.commonPath.length,U.length);G++){let V=U[G];if(V==="**"&&!U[G+1]){z.pop();break}if(V!==Z.commonPath[G]||kZ(V)||G===U.length-1)break;z.push(V)}Z.depthOffset=z.length,Z.commonPath=z,Z.root=z.length>0?`${J}/${z.join("/")}`:J}return X}function LZ({patterns:q,ignore:$=[],expandDirectories:J=!0},Z,Y){if(typeof q==="string")q=[q];else if(!q)q=["**/*"];if(typeof $==="string")$=[$];let j=[],X=[];for(let Q of $)if(!Q.startsWith("!")||Q[1]==="("){let U=g1(Q,J,Z,Y,!0);X.push(U)}for(let Q of q)if(!Q.startsWith("!")||Q[1]==="("){let U=g1(Q,J,Z,Y,!1);j.push(U)}else if(Q[1]!=="!"||Q[2]==="("){let U=g1(Q.slice(1),J,Z,Y,!0);X.push(U)}return{match:j,ignore:X}}function u1(q,$,J){return W1.relative($,`${J}/${q}`)}function yq(q,$,J,Z,Y){let j=Y?q.slice(J.length+1)||".":q;if(J===$)return Z&&j!=="."?j.slice(0,-1):j;return u1(j,$,J)}function bZ(q,$,J){let Z={root:$,commonPath:null,depthOffset:0},Y=LZ(q,$,Z),j=h1.default(Y.match,{dot:q.dot,nocase:q.caseSensitiveMatch===!1,ignore:Y.ignore}),X=h1.default(Y.ignore,{dot:q.dot,nocase:q.caseSensitiveMatch===!1}),Q={filters:[(z,G)=>j(yq(z,$,Z.root,G,q.absolute))],exclude:(z,G)=>X(yq(G,$,Z.root,!0,!0)),pathSeparator:"/",relativePaths:!0,resolveSymlinks:!0};if(q.deep)Q.maxDepth=Math.round(q.deep-Z.depthOffset);if(q.absolute)Q.relativePaths=!1,Q.resolvePaths=!0,Q.includeBasePath=!0;if(q.followSymbolicLinks===!1)Q.resolveSymlinks=!1,Q.excludeSymlinks=!0;if(q.onlyDirectories)Q.excludeFiles=!0,Q.includeDirs=!0;else if(q.onlyFiles===!1)Q.includeDirs=!0;Z.root=Z.root.replace(/\\/g,"");let U=new Dq.fdir(Q).crawl(Z.root);if($===Z.root||q.absolute)return J?U.sync():U.withPromise();return J?U.sync().map((z)=>u1(z,$,Z.root)+(!z||z.endsWith("/")?"/":"")):U.withPromise().then((z)=>z.map((G)=>u1(G,$,Z.root)+(!G||G.endsWith("/")?"/":"")))}async function vq(q,$){if(q&&($==null?void 0:$.patterns))throw new Error("Cannot pass patterns as both an argument and an option");let J=Array.isArray(q)||typeof q==="string"?{...$,patterns:q}:q,Z=J.cwd?Cq.resolve(J.cwd).replace(/\\/g,"/"):process.cwd().replace(/\\/g,"/");return bZ(J,Z,!1)}import{readdir as vZ}from"fs/promises";import{extname as gZ,join as gq}from"path";import hZ from"process";async function hq(q,$){await Bun.write(q,$)}async function m1(q){let $=q??q1.root,J=await vZ($,{withFileTypes:!0}),Z=await Promise.all(J.map((Y)=>{let j=gq($,Y.name);return Y.isDirectory()?m1(j):j}));return Array.prototype.concat(...Z).filter((Y)=>gZ(Y)===".ts")}async function uq(q){try{let $=q?.cwd||hZ.cwd();return(await import(q?.tsconfigPath||gq($,"tsconfig.json"))).compilerOptions?.isolatedDeclarations===!0}catch($){return console.log("Error reading tsconfig.json:",$),!1}}async function sZ(q){try{if(!await uq(q)){console.error("Error: isolatedModules must be set to true in your tsconfig.json. Ensure `tsc --noEmit` does not output any errors.");return}if(q?.clean)await mZ(q.outdir,{recursive:!0,force:!0});let J=q?.cwd||iZ.cwd(),Z;if(q?.entrypoints)Z=await vq(q.entrypoints,{cwd:q.root??`${J}/src`,absolute:!0});else Z=await m1(q?.root??`${J}/src`);for(let Y of Z){let j=await r1(Y);if(j){let X=pZ(q?.root??"./src",Y),Q=lZ(X),U=cZ(q?.outdir??"./dist",`${Q.name}.d.ts`);await uZ(dZ(U),{recursive:!0}),await hq(U,j)}else console.warn(`No declarations extracted for ${Y}`)}}catch($){console.error("Error generating declarations:",$)}}async function i8(q){await sZ({...q1,...q})}export{hq as writeToFile,Y8 as processSpecificDeclaration,J8 as isFunctionType,Z8 as isDeclarationComplete,m1 as getAllTypeScriptFiles,sZ as generateDeclarationsFromFiles,i8 as generate,oq as extractDtsTypes,r1 as extract,q1 as config,uq as checkIsolatedDeclarations};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export declare interface DtsGenerationConfig {
|
|
2
|
+
cwd: string
|
|
3
|
+
root: string
|
|
4
|
+
entrypoints: string[]
|
|
5
|
+
outdir: string
|
|
6
|
+
keepComments: boolean
|
|
7
|
+
clean: boolean
|
|
8
|
+
tsconfigPath: string
|
|
9
|
+
verbose: boolean
|
|
10
|
+
}
|
|
11
|
+
export declare type DtsGenerationOption = Partial<DtsGenerationConfig>
|
|
12
|
+
|
|
13
|
+
* DtsGenerationOptions
|
|
14
|
+
*
|
|
15
|
+
* This is the configuration object for the DTS generation process.
|
|
16
|
+
*/
|
|
17
|
+
export declare type DtsGenerationOptions = DtsGenerationOption | DtsGenerationOption[]
|
|
18
|
+
|
|
19
|
+
* Regular expression patterns used throughout the module
|
|
20
|
+
*/
|
|
21
|
+
export declare interface RegexPatterns {
|
|
22
|
+
readonly typeImport: RegExp
|
|
23
|
+
readonly regularImport: RegExp
|
|
24
|
+
readonly bracketOpen: RegExp
|
|
25
|
+
readonly bracketClose: RegExp
|
|
26
|
+
readonly functionReturn: RegExp
|
|
27
|
+
readonly typeAnnotation: RegExp
|
|
28
|
+
readonly asyncFunction: RegExp
|
|
29
|
+
readonly genericParams: RegExp
|
|
30
|
+
readonly functionParams: RegExp
|
|
31
|
+
readonly functionReturnType: RegExp
|
|
32
|
+
readonly destructuredParams: RegExp
|
|
33
|
+
readonly typePattern: RegExp
|
|
34
|
+
readonly valueReference: RegExp
|
|
35
|
+
readonly typeReference: RegExp
|
|
36
|
+
readonly functionName: RegExp
|
|
37
|
+
readonly exportCleanup: RegExp
|
|
38
|
+
readonly defaultExport: RegExp
|
|
39
|
+
readonly complexType: RegExp
|
|
40
|
+
readonly unionIntersection: RegExp
|
|
41
|
+
readonly mappedType: RegExp
|
|
42
|
+
readonly conditionalType: RegExp
|
|
43
|
+
readonly genericConstraints: RegExp
|
|
44
|
+
readonly functionOverload: RegExp
|
|
45
|
+
readonly moduleDeclaration: RegExp
|
|
46
|
+
readonly moduleAugmentation: RegExp
|
|
47
|
+
}
|
|
48
|
+
export declare interface ImportTrackingState {
|
|
49
|
+
typeImports: Map<string, Set<string>>
|
|
50
|
+
valueImports: Map<string, Set<string>>
|
|
51
|
+
usedTypes: Set<string>
|
|
52
|
+
usedValues: Set<string>
|
|
53
|
+
exportedTypes: Set<string>
|
|
54
|
+
exportedValues: Set<string>
|
|
55
|
+
valueAliases: Map<string, string>
|
|
56
|
+
importSources: Map<string, string>
|
|
57
|
+
typeExportSources: Map<string, string>
|
|
58
|
+
defaultExportValue?: string
|
|
59
|
+
}
|
|
60
|
+
export declare interface ProcessingState {
|
|
61
|
+
dtsLines: string[]
|
|
62
|
+
imports: string[]
|
|
63
|
+
usedTypes: Set<string>
|
|
64
|
+
typeSources: Map<string, string>
|
|
65
|
+
defaultExport: string | null
|
|
66
|
+
exportAllStatements: string[]
|
|
67
|
+
currentDeclaration: string
|
|
68
|
+
lastCommentBlock: string
|
|
69
|
+
bracketCount: number
|
|
70
|
+
isMultiLineDeclaration: boolean
|
|
71
|
+
moduleImports: Map<string, ImportInfo>
|
|
72
|
+
availableTypes: Map<string, string>
|
|
73
|
+
availableValues: Map<string, string>
|
|
74
|
+
currentIndentation: string
|
|
75
|
+
declarationBuffer: {
|
|
76
|
+
type: 'interface' | 'type' | 'const' | 'function' | 'import' | 'export'
|
|
77
|
+
indent: string
|
|
78
|
+
lines: string[]
|
|
79
|
+
comments: string[]
|
|
80
|
+
} | null
|
|
81
|
+
importTracking: ImportTrackingState
|
|
82
|
+
defaultExports: Set<string>
|
|
83
|
+
currentScope: 'top' | 'function'
|
|
84
|
+
}
|
|
85
|
+
export declare interface MethodSignature {
|
|
86
|
+
name: string
|
|
87
|
+
async: boolean
|
|
88
|
+
generics: string
|
|
89
|
+
params: string
|
|
90
|
+
returnType: string
|
|
91
|
+
}
|
|
92
|
+
export declare interface PropertyInfo {
|
|
93
|
+
key: string
|
|
94
|
+
value: string
|
|
95
|
+
type: string
|
|
96
|
+
nested?: PropertyInfo[]
|
|
97
|
+
method?: MethodSignature
|
|
98
|
+
}
|
|
99
|
+
export declare interface ImportInfo {
|
|
100
|
+
kind: 'type' | 'value' | 'mixed'
|
|
101
|
+
usedTypes: Set<string>
|
|
102
|
+
usedValues: Set<string>
|
|
103
|
+
source: string
|
|
104
|
+
}
|
|
105
|
+
export declare interface FunctionSignature {
|
|
106
|
+
name: string
|
|
107
|
+
params: string
|
|
108
|
+
returnType: string
|
|
109
|
+
generics: string
|
|
110
|
+
}
|
|
111
|
+
export declare interface ProcessedMethod {
|
|
112
|
+
name: string
|
|
113
|
+
signature: string
|
|
114
|
+
}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DtsGenerationConfig } from './types';
|
|
2
|
+
|
|
3
|
+
export declare function writeToFile(filePath: string, content: string): Promise<void>;
|
|
4
|
+
export declare function getAllTypeScriptFiles(directory?: string): Promise<string[]>;
|
|
5
|
+
export declare function checkIsolatedDeclarations(options?: DtsGenerationConfig): Promise<boolean>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacksjs/dtsx",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.4",
|
|
5
5
|
"description": "A modern, fast .d.ts generation tool, powered by Bun.",
|
|
6
6
|
"author": "Chris Breuer <chris@stacksjs.org>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"@stacksjs/development": "^0.67.0",
|
|
66
66
|
"@stacksjs/eslint-config": "^3.8.1-beta.2",
|
|
67
67
|
"@types/bun": "^1.1.13",
|
|
68
|
-
"bun-config": "^0.1.
|
|
69
|
-
"bun-plugin-dtsx": "^0.21.
|
|
68
|
+
"bun-config": "^0.1.3",
|
|
69
|
+
"bun-plugin-dtsx": "^0.21.3",
|
|
70
70
|
"tinyglobby": "^0.2.10",
|
|
71
71
|
"vitepress": "^1.5.0"
|
|
72
72
|
},
|