@redocly/cli 2.41.2 → 2.43.0
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/README.md +15 -0
- package/THIRD_PARTY_NOTICES +3 -2
- package/lib/chunks/32XCOMOR.js +7 -0
- package/lib/chunks/3BCHPW6T.js +22 -0
- package/lib/chunks/3VZLNQK3.js +47 -0
- package/lib/chunks/4VF6MPJJ.js +11 -0
- package/lib/chunks/55GMSQDD.js +7 -0
- package/lib/chunks/5E3VKU5T.js +7 -0
- package/lib/chunks/AE6JGTY4.js +7 -0
- package/lib/chunks/C35TOMVY.js +8 -0
- package/lib/chunks/D5T6ETPZ.js +8 -0
- package/lib/chunks/DNOXLF53.js +8 -0
- package/lib/chunks/E36IFTLX.js +59 -0
- package/lib/chunks/ECZUPR2N.js +7 -0
- package/lib/chunks/EU6GURJZ.js +7 -0
- package/lib/chunks/HXYO6QS2.js +3132 -0
- package/lib/chunks/IW4HG6VD.js +19 -0
- package/lib/chunks/KIVPQZDC.js +31 -0
- package/lib/chunks/KLY5RV3W.js +7 -0
- package/lib/chunks/KM7RL6C4.js +2317 -0
- package/lib/chunks/L3YH7RCT.js +8 -0
- package/lib/chunks/NEWT5A6S.js +159 -0
- package/lib/chunks/NGPG6D6W.js +7 -0
- package/lib/chunks/O6MCQRCP.js +59 -0
- package/lib/chunks/O6PRCLSV.js +13 -0
- package/lib/chunks/OFAMJNQ6.js +7 -0
- package/lib/chunks/P26PQ2RU.js +7 -0
- package/lib/chunks/PFD7KGH7.js +93 -0
- package/lib/chunks/QFG7TTKG.js +22 -0
- package/lib/chunks/RFWIIJFG.js +7 -0
- package/lib/chunks/RS5PUOTT.js +18 -0
- package/lib/chunks/TMQJQANP.js +7 -0
- package/lib/chunks/UPPWQBGX.js +7 -0
- package/lib/chunks/UXH3ZSSV.js +9 -0
- package/lib/chunks/UYZXI3NO.js +7 -0
- package/lib/chunks/WNTLDT6L.js +184 -0
- package/lib/chunks/WZXA5XPB.js +7 -0
- package/lib/chunks/X6IKW6K4.js +7 -0
- package/lib/index.js +226 -13885
- package/package.json +1 -1
- package/lib/chunks/3CX2Z7JI.js +0 -496
- package/lib/chunks/3UUTQVCJ.js +0 -3614
- package/lib/chunks/4FB5ZIPP.js +0 -1133
- package/lib/chunks/5ILQMFXK.js +0 -59
- package/lib/chunks/7F5O43EU.js +0 -1756
- package/lib/chunks/7IX44JLO.js +0 -16
- package/lib/chunks/7MOL2QVN.js +0 -92635
- package/lib/chunks/A3VFVVHD.js +0 -25
- package/lib/chunks/A6JSOHCP.js +0 -41
- package/lib/chunks/AIT3U3JT.js +0 -22
- package/lib/chunks/ASYQPOQY.js +0 -681
- package/lib/chunks/BVP23YP7.js +0 -13374
- package/lib/chunks/FO6BDVGE.js +0 -25
- package/lib/chunks/GFU5KGSW.js +0 -92
- package/lib/chunks/ICPYP2LP.js +0 -401
- package/lib/chunks/KPMZLKQG.js +0 -79
- package/lib/chunks/KRMBH6JF.js +0 -17902
- package/lib/chunks/NLIKC7UP.js +0 -528
- package/lib/chunks/NW3XJZXQ.js +0 -175
- package/lib/chunks/P6UGG7F6.js +0 -414
- package/lib/chunks/RRC5IDC3.js +0 -2416
- package/lib/chunks/T6UZU3XM.js +0 -17
- package/lib/chunks/TS33ZDKX.js +0 -35
- package/lib/chunks/UUU33DK3.js +0 -125
- package/lib/chunks/VUDTNFRL.js +0 -42
- package/lib/chunks/VXIQEZPR.js +0 -2564
- package/lib/chunks/W7G5WVPB.js +0 -44
- package/lib/chunks/XB6C62FW.js +0 -18497
- package/lib/chunks/XHPY6UJF.js +0 -1638
- package/lib/chunks/Y6DTFCLS.js +0 -15
- package/lib/chunks/Z2664VV5.js +0 -39331
- package/lib/chunks/Z2I5YXYN.js +0 -20272
- package/lib/chunks/ZK3QRKL5.js +0 -129
package/README.md
CHANGED
|
@@ -139,6 +139,21 @@ Respect is Redocly's community-edition product. Looking for something more? We a
|
|
|
139
139
|
|
|
140
140
|
Learn more about [Respect](https://redocly.com/respect) and [get started with API contract testing](https://redocly.com/docs/respect/get-started).
|
|
141
141
|
|
|
142
|
+
### Generate a TypeScript client
|
|
143
|
+
|
|
144
|
+
> ⚠️ **Experimental** — flags, output, and configuration may change in any minor release until declared stable.
|
|
145
|
+
|
|
146
|
+
Turn an OpenAPI description (3.0/3.1/3.2 or Swagger 2.0) into a typed TypeScript client with the `generate-client` command.
|
|
147
|
+
The emitted client has zero runtime dependencies and runs in browsers, Node, Bun, Deno, and edge runtimes.
|
|
148
|
+
|
|
149
|
+
```sh
|
|
150
|
+
redocly generate-client openapi.yaml --output src/client.ts
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Inline types plus a typed client instance and one async function per operation, with auth, opt-in abort-aware retries, middleware, and typed Server-Sent Events.
|
|
154
|
+
The same command can also emit Zod schemas, TanStack Query / SWR hooks, MSW mocks, and more via `--generator`.
|
|
155
|
+
For detailed information, read the [ `generate-client` docs](./docs/@v2/commands/generate-client.md).
|
|
156
|
+
|
|
142
157
|
### Transform an OpenAPI description
|
|
143
158
|
|
|
144
159
|
If your OpenAPI description isn't everything you hoped it would be, enhance it with the Redocly [decorators](https://redocly.com/docs/cli/decorators) feature.
|
package/THIRD_PARTY_NOTICES
CHANGED
|
@@ -229,6 +229,7 @@ Packages:
|
|
|
229
229
|
@opentelemetry/semantic-conventions@1.41.1 — copyright owner or entity authorized by
|
|
230
230
|
better-ajv-errors@2.0.3 — Copyright 2018 Atlassian Pty Ltd
|
|
231
231
|
jsonpath-rfc9535@1.3.0 — copyright owner or entity authorized by
|
|
232
|
+
typescript@6.0.2 — copyright owner or entity authorized by the copyright owner that is granting the License.
|
|
232
233
|
yaml-ast-parser@0.0.43
|
|
233
234
|
|
|
234
235
|
License text:
|
|
@@ -648,7 +649,7 @@ Packages:
|
|
|
648
649
|
@redocly/ajv@8.18.3 — Copyright (c) 2015-2021 Evgeny Poberezkin
|
|
649
650
|
@redocly/cli-otel@0.3.4 — Copyright 2025 Redocly Inc, all rights reserved.
|
|
650
651
|
@redocly/config@0.22.0 — Copyright 2024 Redocly Inc.
|
|
651
|
-
@redocly/config@0.
|
|
652
|
+
@redocly/config@0.53.0 — Copyright 2024 Redocly Inc.
|
|
652
653
|
@redocly/openapi-core@1.34.18
|
|
653
654
|
agent-base@7.1.4 — Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
|
|
654
655
|
ajv-formats@3.0.1 — Copyright (c) 2020 Evgeny Poberezkin
|
|
@@ -690,7 +691,7 @@ Packages:
|
|
|
690
691
|
mobx@6.12.3 — Copyright (c) 2015 Michel Weststrate
|
|
691
692
|
ms@2.1.3
|
|
692
693
|
object-assign@4.1.1
|
|
693
|
-
openapi-sampler@1.7.
|
|
694
|
+
openapi-sampler@1.7.4 — Copyright (c) 2017 Roman Hotsiy <gotsijroman@gmail.com>
|
|
694
695
|
outdent@0.8.0 — Copyright (c) 2016 Andrew Bradley
|
|
695
696
|
perfect-scrollbar@1.5.6 — Copyright (c) 2012-2019 Hyunje Jun, MDBootstrap.com and other contributors
|
|
696
697
|
picomatch@4.0.4 — Copyright (c) 2017-present, Jon Schlinkert.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as R,c as f}from"./RFWIIJFG.js";var a=f((M,O)=>{"use strict";O.exports=(e,s=process.argv)=>{let i=e.startsWith("-")?"":e.length===1?"-":"--",o=s.indexOf(i+e),l=s.indexOf("--");return o!==-1&&(l===-1||o<l)}});var I=f((_,p)=>{"use strict";var E=R("os"),C=R("tty"),t=a(),{env:r}=process,n;t("no-color")||t("no-colors")||t("color=false")||t("color=never")?n=0:(t("color")||t("colors")||t("color=true")||t("color=always"))&&(n=1);"FORCE_COLOR"in r&&(r.FORCE_COLOR==="true"?n=1:r.FORCE_COLOR==="false"?n=0:n=r.FORCE_COLOR.length===0?1:Math.min(parseInt(r.FORCE_COLOR,10),3));function u(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function c(e,s){if(n===0)return 0;if(t("color=16m")||t("color=full")||t("color=truecolor"))return 3;if(t("color=256"))return 2;if(e&&!s&&n===void 0)return 0;let i=n||0;if(r.TERM==="dumb")return i;if(process.platform==="win32"){let o=E.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in r)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in r)||r.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in r)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(r.TEAMCITY_VERSION)?1:0;if(r.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in r){let o=parseInt((r.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(r.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(r.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(r.TERM)||"COLORTERM"in r?1:i}function T(e){let s=c(e,e&&e.isTTY);return u(s)}p.exports={supportsColor:T,stdout:u(c(!0,C.isatty(1))),stderr:u(c(!0,C.isatty(2)))}});export{I as a};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{c as p}from"./P26PQ2RU.js";import{a as O}from"./RS5PUOTT.js";import{a as R}from"./NGPG6D6W.js";import{a as I}from"./O6MCQRCP.js";import{G as T,I as w,O as a}from"./WNTLDT6L.js";import{e as C}from"./RFWIIJFG.js";import{Buffer as P}from"node:buffer";import y from"node:crypto";import{mkdirSync as j,existsSync as F,writeFileSync as q,readFileSync as z,rmSync as M}from"node:fs";import{homedir as H}from"node:os";import B from"node:path";var l={us:"https://app.cloud.redocly.com",eu:"https://app.cloud.eu.redocly.com"};function G(){return process.env.REDOCLY_DOMAIN||l.us}var U=D((o,e)=>{try{let t=e||o?.resolvedConfig.residency;return W(t)?l[t]:t?new URL(t).origin:o?.resolvedConfig.scorecard?.fromProjectUrl?new URL(o.resolvedConfig.scorecard.fromProjectUrl).origin:l.us}catch{throw new f}});function x(o){try{U(void 0,o)}catch{return!1}return!0}function D(o){return(...e)=>{let t=o(...e);if(!t.startsWith("https://"))throw new f;return t}}var f=class extends Error{constructor(){super("Invalid Reunite URL")}};function W(o){return typeof o=="string"&&o in l}import*as k from"node:child_process";var g=C(I(),1);var N=C(O(),1);function b(){return process.env.HTTPS_PROXY||process.env.HTTP_PROXY||process.env.http_proxy||process.env.https_proxy}function S(o){let e=process.env.NO_PROXY||process.env.no_proxy;if(!e)return!1;let t=e.split(",").map(s=>s.trim().toLowerCase()).filter(Boolean);if(t.length===0)return!1;let r;try{r=new URL(o).hostname.toLowerCase()}catch{return!1}return t.some(s=>!!(s==="*"||r===s||s.startsWith(".")&&r.endsWith(s)||!s.startsWith(".")&&r.endsWith("."+s)))}var _=async(o,{timeout:e,...t}={})=>{let r=b(),s=r&&!S(o),n,i=e?{connect:{timeout:e}}:{};return s?n=new g.ProxyAgent({uri:r,...i}):e&&(n=new g.Agent(i)),await fetch(o,{signal:e?AbortSignal.timeout(e):void 0,...t,dispatcher:n})};var c=class extends Error{constructor(t,r){super(t);this.status=r}status},h=class{constructor(e){this.command=e}command;sunsetWarnings=[];async request(e,t){let r={...t.headers,"user-agent":`redocly-cli/${R} ${this.command}`};try{let s=await _(e,{...t,headers:r});return this.collectSunsetWarning(s),s}catch(s){let n="Failed to fetch.";throw s.cause&&(n+=` Caused by ${s.cause.message||s.cause.name}.`),(s.code||s.cause?.code)&&(n+=` Code: ${s.code||s.cause?.code}`),new Error(n)}}collectSunsetWarning(e){let t=this.getSunsetDate(e);if(!t)return;let r=new Date(t);t>Date.now()?this.sunsetWarnings.push({sunsetDate:r,isSunsetExpired:!1}):this.sunsetWarnings.push({sunsetDate:r,isSunsetExpired:!0})}getSunsetDate(e){let{headers:t}=e;if(!t)return;let r=t.get("sunset")||t.get("Sunset");if(r)return Date.parse(r)}},v=class{constructor(e,t,r){this.client=e;this.domain=t;this.apiKey=r}client;domain;apiKey;async getParsedResponse(e){let t=await e.json();if(e.ok)return t;throw new c(`${t.title||e.statusText||"Unknown error"}.`,e.status)}async getDefaultBranch(e,t){try{let r=await this.client.request(`${this.domain}/api/orgs/${e}/projects/${t}/source`,{timeout:p,method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}});return(await this.getParsedResponse(r)).branchName}catch(r){let s=`Failed to fetch default branch. ${r.message}`;throw r instanceof c?new c(s,r.status):new Error(s)}}async upsert(e,t,r){try{let s=await this.client.request(`${this.domain}/api/orgs/${e}/projects/${t}/remotes`,{timeout:p,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({mountPath:r.mountPath,mountBranchName:r.mountBranchName,type:"CICD",autoMerge:!0})});return await this.getParsedResponse(s)}catch(s){let n=`Failed to upsert remote. ${s.message}`;throw s instanceof c?new c(n,s.status):new Error(n)}}async push(e,t,r,s){let n=new globalThis.FormData;n.append("remoteId",r.remoteId),n.append("commit[message]",r.commit.message),n.append("commit[author][name]",r.commit.author.name),n.append("commit[author][email]",r.commit.author.email),n.append("commit[branchName]",r.commit.branchName),r.commit.url&&n.append("commit[url]",r.commit.url),r.commit.namespace&&n.append("commit[namespaceId]",r.commit.namespace),r.commit.sha&&n.append("commit[sha]",r.commit.sha),r.commit.repository&&n.append("commit[repositoryId]",r.commit.repository),r.commit.createdAt&&n.append("commit[createdAt]",r.commit.createdAt);for(let i of s){let u=Buffer.isBuffer(i.stream)?new Blob([i.stream]):new Blob([await L(i.stream)]);n.append(`files[${i.path}]`,u,i.path)}r.isMainBranch&&n.append("isMainBranch","true");try{let i=await this.client.request(`${this.domain}/api/orgs/${e}/projects/${t}/pushes`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:n});return await this.getParsedResponse(i)}catch(i){let u=`Failed to push. ${i.message}`;throw i instanceof c?new c(u,i.status):new Error(u)}}async getRemotesList({organizationId:e,projectId:t,mountPath:r}){try{let s=await this.client.request(`${this.domain}/api/orgs/${e}/projects/${t}/remotes?filter=mountPath:/${r}/`,{timeout:p,method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}});return await this.getParsedResponse(s)}catch(s){let n=`Failed to get remote list. ${s.message}`;throw s instanceof c?new c(n,s.status):new Error(n)}}async getPush({organizationId:e,projectId:t,pushId:r}){try{let s=await this.client.request(`${this.domain}/api/orgs/${e}/projects/${t}/pushes/${r}`,{timeout:p,method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}});return await this.getParsedResponse(s)}catch(s){let n=`Failed to get push status. ${s.message}`;throw s instanceof c?new c(n,s.status):new Error(n)}}},$=class{apiClient;command;remotes;constructor({domain:e,apiKey:t,command:r}){this.command=r,this.apiClient=new h(this.command),this.remotes=new v(this.apiClient,e,t)}reportSunsetWarnings(){let e=this.apiClient.sunsetWarnings;if(e.length){let[{isSunsetExpired:t,sunsetDate:r}]=e.sort((n,i)=>n.isSunsetExpired!==i.isSunsetExpired?n.isSunsetExpired?-1:1:n.sunsetDate>i.sunsetDate?1:-1),s='Update to the latest version by running "npm install @redocly/cli@latest".';t?a.error(`The "${this.command}" command is not compatible with your version of Redocly CLI. ${s}
|
|
8
|
+
|
|
9
|
+
`):a.warn(`The "${this.command}" command will be incompatible with your version of Redocly CLI after ${r.toLocaleString()}. ${s}
|
|
10
|
+
|
|
11
|
+
`)}}};async function L(o){let e=[];for await(let t of o)e.push(t);return Buffer.concat(e)}var d=class{constructor(e){this.baseUrl=e;this.apiClient=new h("login")}baseUrl;apiClient;clientName="redocly-cli";async run(){let e=await this.getDeviceCode();a.output(`Attempting to automatically open the SSO authorization page in your default browser.
|
|
12
|
+
`),a.output(`If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
|
|
13
|
+
|
|
14
|
+
`),a.output(w(e.verificationUri)),a.output(`
|
|
15
|
+
|
|
16
|
+
`),a.output(`Then enter the code:
|
|
17
|
+
|
|
18
|
+
`),a.output(w(e.userCode)),a.output(`
|
|
19
|
+
|
|
20
|
+
`),this.openBrowser(e.verificationUriComplete);let t=await this.pollingAccessToken(e.deviceCode,e.interval,e.expiresIn);return a.output(T(`\u2705 Logged in
|
|
21
|
+
|
|
22
|
+
`)),this.withResidency(t)}openBrowser(e){try{let t=process.platform==="win32"?`start ${e}`:process.platform==="darwin"?`open ${e}`:`xdg-open ${e}`;k.execSync(t)}catch{}}async verifyToken(e){try{return!!(await this.sendRequest("/session","GET",void 0,{Cookie:`accessToken=${e};`})).user}catch{return!1}}async verifyApiKey(e){try{return!!(await this.sendRequest("/api-keys-verify","POST",{apiKey:e})).success}catch{return!1}}async refreshToken(e){let t=await this.sendRequest("/device-rotate-token","POST",{grant_type:"refresh_token",client_name:this.clientName,refresh_token:e});if(!t.access_token)throw new Error("Failed to refresh token");return this.withResidency({access_token:t.access_token,refresh_token:t.refresh_token,expires_in:t.expires_in})}async pollingAccessToken(e,t,r){return new Promise((s,n)=>{let i=setInterval(async()=>{let m=await this.getAccessToken(e);m.access_token&&(clearInterval(i),clearTimeout(u),s(m)),m.error&&m.error!=="authorization_pending"&&(clearInterval(i),clearTimeout(u),n(m.error_description))},t*1e3),u=setTimeout(async()=>{clearInterval(i),clearTimeout(u),n("Authorization has expired. Please try again.")},r*1e3)})}async getAccessToken(e){return await this.sendRequest("/device-token","POST",{client_name:this.clientName,device_code:e,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})}async getDeviceCode(){let{device_code:e,user_code:t,verification_uri:r,verification_uri_complete:s,interval:n=10,expires_in:i=300}=await this.sendRequest("/device-authorize","POST",{client_name:this.clientName});return{deviceCode:e,userCode:t,verificationUri:r,verificationUriComplete:s,interval:n,expiresIn:i}}async sendRequest(e,t="GET",r=void 0,s={}){let n=`${this.baseUrl}/api${e}`,i=await this.apiClient.request(n,{body:r&&JSON.stringify(r),method:t,headers:{"Content-Type":"application/json",...s},timeout:p});return i.status===204?{success:!0}:await i.json()}withResidency(e){return{...e,residency:this.baseUrl}}};var K="4618dbc9-8aed-4e27-aaf0-225f4603e5a4",A="aes-256-cbc",E=class{credentialsFolderPath;credentialsFilePath;credentialsFileName;key;iv;constructor(){let e=H();this.credentialsFolderPath=B.join(e,".redocly"),this.credentialsFileName="credentials",this.credentialsFilePath=B.join(this.credentialsFolderPath,this.credentialsFileName),this.key=y.createHash("sha256").update(`${this.credentialsFolderPath}${K}`).digest(),this.iv=y.createHash("md5").update(this.credentialsFolderPath).digest(),j(this.credentialsFolderPath,{recursive:!0})}async login(e){let r=await new d(e).run();if(!r)throw new Error("Failed to login. No credentials received.");this.saveCredentials(r)}async logout(){try{this.removeCredentials()}catch{}}async isAuthorized(e,t){return t?new d(e).verifyApiKey(t):!!await this.getAccessToken(e)}getAccessToken=async e=>{let t=new d(e),r=await this.readCredentials();if(!r||!x(e)||r.residency&&r.residency!==e)return null;if(await t.verifyToken(r.access_token))return r.access_token;try{let n=await t.refreshToken(r.refresh_token);return await this.saveCredentials(n),n.access_token}catch{return null}};async saveCredentials(e){try{let t=this.encryptCredentials(e);q(this.credentialsFilePath,t,"utf8")}catch(t){a.error(`Failed to save credentials: ${t.message}`)}}async readCredentials(){if(!F(this.credentialsFilePath))return null;try{let e=z(this.credentialsFilePath,"utf8");return this.decryptCredentials(e)}catch{return null}}async removeCredentials(){F(this.credentialsFilePath)&&M(this.credentialsFilePath)}encryptCredentials(e){let t=y.createCipheriv(A,this.key,this.iv);return P.concat([t.update(JSON.stringify(e),"utf8"),t.final()]).toString("hex")}decryptCredentials(e){let t=y.createDecipheriv(A,this.key,this.iv),r=P.concat([t.update(P.from(e,"hex")),t.final()]);return JSON.parse(r.toString("utf8"))}};export{G as a,U as b,b as c,S as d,_ as e,c as f,$ as g,E as h};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as Oe,b as z}from"./X6IKW6K4.js";import{B as ye,C as Kt,F as be,G as At,H as ve,I as J,M as X,O as x,P as Se,V as xe,Z as kt,ba as Ee,d as me,e as qt,ea as Zt,f as we,fa as Ct,ha as Ae,ka as ke,l as N,la as Ce,s as nt}from"./WNTLDT6L.js";import{performance as tn}from"perf_hooks";function Te(t){return t?._?.[0]??""}import{fileURLToPath as Js}from"node:url";import{posix as Xs,win32 as he}from"node:path";import{fileURLToPath as Qs}from"node:url";import{lstatSync as tr,readdir as er,readdirSync as ir,readlinkSync as sr,realpathSync as rr}from"fs";import*as nr from"node:fs";import{lstat as or,readdir as hr,readlink as ar,realpath as lr}from"node:fs/promises";import{EventEmitter as ce}from"node:events";import fi from"node:stream";import{StringDecoder as cr}from"node:string_decoder";var Ze=(t,e,i)=>{let s=t instanceof RegExp?Fe(t,i):t,r=e instanceof RegExp?Fe(e,i):e,n=s!==null&&r!=null&&Vi(s,r,i);return n&&{start:n[0],end:n[1],pre:i.slice(0,n[0]),body:i.slice(n[0]+s.length,n[1]),post:i.slice(n[1]+r.length)}},Fe=(t,e)=>{let i=e.match(t);return i?i[0]:null},Vi=(t,e,i)=>{let s,r,n,o,h,a=i.indexOf(t),l=i.indexOf(e,a+1),p=a;if(a>=0&&l>0){if(t===e)return[a,l];for(s=[],n=i.length;p>=0&&!h;){if(p===a)s.push(p),a=i.indexOf(t,p+1);else if(s.length===1){let c=s.pop();c!==void 0&&(h=[c,l])}else r=s.pop(),r!==void 0&&r<n&&(n=r,o=l),l=i.indexOf(e,p+1);p=a<l&&a>=0?a:l}s.length&&o!==void 0&&(h=[n,o])}return h},Xe="\0SLASH"+Math.random()+"\0",Qe="\0OPEN"+Math.random()+"\0",ae="\0CLOSE"+Math.random()+"\0",ti="\0COMMA"+Math.random()+"\0",ei="\0PERIOD"+Math.random()+"\0",Yi=new RegExp(Xe,"g"),Ji=new RegExp(Qe,"g"),qi=new RegExp(ae,"g"),Ki=new RegExp(ti,"g"),Zi=new RegExp(ei,"g"),Xi=/\\\\/g,Qi=/\\{/g,ts=/\\}/g,es=/\\,/g,is=/\\./g,ss=1e5;function Xt(t){return isNaN(t)?t.charCodeAt(0):parseInt(t,10)}function rs(t){return t.replace(Xi,Xe).replace(Qi,Qe).replace(ts,ae).replace(es,ti).replace(is,ei)}function ns(t){return t.replace(Yi,"\\").replace(Ji,"{").replace(qi,"}").replace(Ki,",").replace(Zi,".")}function ii(t){if(!t)return[""];let e=[],i=Ze("{","}",t);if(!i)return t.split(",");let{pre:s,body:r,post:n}=i,o=s.split(",");o[o.length-1]+="{"+r+"}";let h=ii(n);return n.length&&(o[o.length-1]+=h.shift(),o.push.apply(o,h)),e.push.apply(e,o),e}function os(t,e={}){if(!t)return[];let{max:i=ss}=e;return t.slice(0,2)==="{}"&&(t="\\{\\}"+t.slice(2)),mt(rs(t),i,!0).map(ns)}function hs(t){return"{"+t+"}"}function as(t){return/^-?0\d/.test(t)}function ls(t,e){return t<=e}function cs(t,e){return t>=e}function mt(t,e,i){let s=[],r=Ze("{","}",t);if(!r)return[t];let n=r.pre,o=r.post.length?mt(r.post,e,!1):[""];if(/\$$/.test(r.pre))for(let h=0;h<o.length&&h<e;h++){let a=n+"{"+r.body+"}"+o[h];s.push(a)}else{let h=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),a=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),l=h||a,p=r.body.indexOf(",")>=0;if(!l&&!p)return r.post.match(/,(?!,).*\}/)?(t=r.pre+"{"+r.body+ae+r.post,mt(t,e,!0)):[t];let c;if(l)c=r.body.split(/\.\./);else if(c=ii(r.body),c.length===1&&c[0]!==void 0&&(c=mt(c[0],e,!1).map(hs),c.length===1))return o.map(u=>r.pre+c[0]+u);let f;if(l&&c[0]!==void 0&&c[1]!==void 0){let u=Xt(c[0]),d=Xt(c[1]),g=Math.max(c[0].length,c[1].length),w=c.length===3&&c[2]!==void 0?Math.abs(Xt(c[2])):1,m=ls;d<u&&(w*=-1,m=cs);let y=c.some(as);f=[];for(let b=u;m(b,d);b+=w){let v;if(a)v=String.fromCharCode(b),v==="\\"&&(v="");else if(v=String(b),y){let S=g-v.length;if(S>0){let Y=new Array(S+1).join("0");b<0?v="-"+Y+v.slice(1):v=Y+v}}f.push(v)}}else{f=[];for(let u=0;u<c.length;u++)f.push.apply(f,mt(c[u],e,!1))}for(let u=0;u<f.length;u++)for(let d=0;d<o.length&&s.length<e;d++){let g=n+f[u]+o[d];(!i||l||g)&&s.push(g)}}return s}var Wt=t=>{if(typeof t!="string")throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")},ps={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},ct=t=>t.replace(/[[\]\\-]/g,"\\$&"),us=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Re=t=>t.join(""),fs=(t,e)=>{let i=e;if(t.charAt(i)!=="[")throw new Error("not in a brace expression");let s=[],r=[],n=i+1,o=!1,h=!1,a=!1,l=!1,p=i,c="";t:for(;n<t.length;){let d=t.charAt(n);if((d==="!"||d==="^")&&n===i+1){l=!0,n++;continue}if(d==="]"&&o&&!a){p=n+1;break}if(o=!0,d==="\\"&&!a){a=!0,n++;continue}if(d==="["&&!a){for(let[g,[w,m,y]]of Object.entries(ps))if(t.startsWith(g,n)){if(c)return["$.",!1,t.length-i,!0];n+=g.length,y?r.push(w):s.push(w),h=h||m;continue t}}if(a=!1,c){d>c?s.push(ct(c)+"-"+ct(d)):d===c&&s.push(ct(d)),c="",n++;continue}if(t.startsWith("-]",n+1)){s.push(ct(d+"-")),n+=2;continue}if(t.startsWith("-",n+1)){c=d,n+=2;continue}s.push(ct(d)),n++}if(p<n)return["",!1,0,!1];if(!s.length&&!r.length)return["$.",!1,t.length-i,!0];if(r.length===0&&s.length===1&&/^\\?.$/.test(s[0])&&!l){let d=s[0].length===2?s[0].slice(-1):s[0];return[us(d),!1,p-i,!1]}let f="["+(l?"^":"")+Re(s)+"]",u="["+(l?"":"^")+Re(r)+"]";return[s.length&&r.length?"("+f+"|"+u+")":s.length?f:u,h,p-i,!0]},at=(t,{windowsPathsNoEscape:e=!1,magicalBraces:i=!0}={})=>i?e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):e?t.replace(/\[([^\/\\{}])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1"),ds=new Set(["!","?","+","*","@"]),je=t=>ds.has(t),gs="(?!(?:^|/)\\.\\.?(?:$|/))",Ot="(?!\\.)",ms=new Set(["[","."]),ws=new Set(["..","."]),ys=new Set("().*{}+?[]^$\\!"),bs=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),le="[^/]",Pe=le+"*?",De=le+"+?",si=class D{type;#t;#i;#n=!1;#r=[];#o;#v;#w;#c=!1;#h;#u;#p=!1;constructor(e,i,s={}){this.type=e,e&&(this.#i=!0),this.#o=i,this.#t=this.#o?this.#o.#t:this,this.#h=this.#t===this?s:this.#t.#h,this.#w=this.#t===this?[]:this.#t.#w,e==="!"&&!this.#t.#c&&this.#w.push(this),this.#v=this.#o?this.#o.#r.length:0}get hasMagic(){if(this.#i!==void 0)return this.#i;for(let e of this.#r)if(typeof e!="string"&&(e.type||e.hasMagic))return this.#i=!0;return this.#i}toString(){return this.#u!==void 0?this.#u:this.type?this.#u=this.type+"("+this.#r.map(e=>String(e)).join("|")+")":this.#u=this.#r.map(e=>String(e)).join("")}#a(){if(this!==this.#t)throw new Error("should only call on root");if(this.#c)return this;this.toString(),this.#c=!0;let e;for(;e=this.#w.pop();){if(e.type!=="!")continue;let i=e,s=i.#o;for(;s;){for(let r=i.#v+1;!s.type&&r<s.#r.length;r++)for(let n of e.#r){if(typeof n=="string")throw new Error("string part in extglob AST??");n.copyIn(s.#r[r])}i=s,s=i.#o}}return this}push(...e){for(let i of e)if(i!==""){if(typeof i!="string"&&!(i instanceof D&&i.#o===this))throw new Error("invalid part: "+i);this.#r.push(i)}}toJSON(){let e=this.type===null?this.#r.slice().map(i=>typeof i=="string"?i:i.toJSON()):[this.type,...this.#r.map(i=>i.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#t||this.#t.#c&&this.#o?.type==="!")&&e.push({}),e}isStart(){if(this.#t===this)return!0;if(!this.#o?.isStart())return!1;if(this.#v===0)return!0;let e=this.#o;for(let i=0;i<this.#v;i++){let s=e.#r[i];if(!(s instanceof D&&s.type==="!"))return!1}return!0}isEnd(){if(this.#t===this||this.#o?.type==="!")return!0;if(!this.#o?.isEnd())return!1;if(!this.type)return this.#o?.isEnd();let e=this.#o?this.#o.#r.length:0;return this.#v===e-1}copyIn(e){typeof e=="string"?this.push(e):this.push(e.clone(this))}clone(e){let i=new D(this.type,e);for(let s of this.#r)i.copyIn(s);return i}static#s(e,i,s,r){let n=!1,o=!1,h=-1,a=!1;if(i.type===null){let u=s,d="";for(;u<e.length;){let g=e.charAt(u++);if(n||g==="\\"){n=!n,d+=g;continue}if(o){u===h+1?(g==="^"||g==="!")&&(a=!0):g==="]"&&!(u===h+2&&a)&&(o=!1),d+=g;continue}else if(g==="["){o=!0,h=u,a=!1,d+=g;continue}if(!r.noext&&je(g)&&e.charAt(u)==="("){i.push(d),d="";let w=new D(g,i);u=D.#s(e,w,u,r),i.push(w);continue}d+=g}return i.push(d),u}let l=s+1,p=new D(null,i),c=[],f="";for(;l<e.length;){let u=e.charAt(l++);if(n||u==="\\"){n=!n,f+=u;continue}if(o){l===h+1?(u==="^"||u==="!")&&(a=!0):u==="]"&&!(l===h+2&&a)&&(o=!1),f+=u;continue}else if(u==="["){o=!0,h=l,a=!1,f+=u;continue}if(je(u)&&e.charAt(l)==="("){p.push(f),f="";let d=new D(u,p);p.push(d),l=D.#s(e,d,l,r);continue}if(u==="|"){p.push(f),f="",c.push(p),p=new D(null,i);continue}if(u===")")return f===""&&i.#r.length===0&&(i.#p=!0),p.push(f),f="",i.push(...c,p),l;f+=u}return i.type=null,i.#i=void 0,i.#r=[e.substring(s-1)],l}static fromGlob(e,i={}){let s=new D(null,void 0,i);return D.#s(e,s,0,i),s}toMMPattern(){if(this!==this.#t)return this.#t.toMMPattern();let e=this.toString(),[i,s,r,n]=this.toRegExpSource();if(!(r||this.#i||this.#h.nocase&&!this.#h.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return s;let o=(this.#h.nocase?"i":"")+(n?"u":"");return Object.assign(new RegExp(`^${i}$`,o),{_src:i,_glob:e})}get options(){return this.#h}toRegExpSource(e){let i=e??!!this.#h.dot;if(this.#t===this&&this.#a(),!this.type){let a=this.isStart()&&this.isEnd()&&!this.#r.some(f=>typeof f!="string"),l=this.#r.map(f=>{let[u,d,g,w]=typeof f=="string"?D.#S(f,this.#i,a):f.toRegExpSource(e);return this.#i=this.#i||g,this.#n=this.#n||w,u}).join(""),p="";if(this.isStart()&&typeof this.#r[0]=="string"&&!(this.#r.length===1&&ws.has(this.#r[0]))){let f=ms,u=i&&f.has(l.charAt(0))||l.startsWith("\\.")&&f.has(l.charAt(2))||l.startsWith("\\.\\.")&&f.has(l.charAt(4)),d=!i&&!e&&f.has(l.charAt(0));p=u?gs:d?Ot:""}let c="";return this.isEnd()&&this.#t.#c&&this.#o?.type==="!"&&(c="(?:$|\\/)"),[p+l+c,at(l),this.#i=!!this.#i,this.#n]}let s=this.type==="*"||this.type==="+",r=this.type==="!"?"(?:(?!(?:":"(?:",n=this.#f(i);if(this.isStart()&&this.isEnd()&&!n&&this.type!=="!"){let a=this.toString();return this.#r=[a],this.type=null,this.#i=void 0,[a,at(this.toString()),!1,!1]}let o=!s||e||i||!Ot?"":this.#f(!0);o===n&&(o=""),o&&(n=`(?:${n})(?:${o})*?`);let h="";if(this.type==="!"&&this.#p)h=(this.isStart()&&!i?Ot:"")+De;else{let a=this.type==="!"?"))"+(this.isStart()&&!i&&!e?Ot:"")+Pe+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&o?")":this.type==="*"&&o?")?":`)${this.type}`;h=r+n+a}return[h,at(n),this.#i=!!this.#i,this.#n]}#f(e){return this.#r.map(i=>{if(typeof i=="string")throw new Error("string type in extglob ast??");let[s,r,n,o]=i.toRegExpSource(e);return this.#n=this.#n||o,s}).filter(i=>!(this.isStart()&&this.isEnd())||!!i).join("|")}static#S(e,i,s=!1){let r=!1,n="",o=!1,h=!1;for(let a=0;a<e.length;a++){let l=e.charAt(a);if(r){r=!1,n+=(ys.has(l)?"\\":"")+l;continue}if(l==="*"){if(h)continue;h=!0,n+=s&&/^[*]+$/.test(e)?De:Pe,i=!0;continue}else h=!1;if(l==="\\"){a===e.length-1?n+="\\\\":r=!0;continue}if(l==="["){let[p,c,f,u]=fs(e,a);if(f){n+=p,o=o||c,a+=f-1,i=i||u;continue}}if(l==="?"){n+=le,i=!0;continue}n+=bs(l)}return[n,at(e),!!i,o]}},ri=(t,{windowsPathsNoEscape:e=!1,magicalBraces:i=!1}={})=>i?e?t.replace(/[?*()[\]{}]/g,"[$&]"):t.replace(/[?*()[\]\\{}]/g,"\\$&"):e?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),R=(t,e,i={})=>(Wt(e),!i.nocomment&&e.charAt(0)==="#"?!1:new Z(e,i).match(t)),vs=/^\*+([^+@!?\*\[\(]*)$/,Ss=t=>e=>!e.startsWith(".")&&e.endsWith(t),xs=t=>e=>e.endsWith(t),Es=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),As=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),ks=/^\*+\.\*+$/,Cs=t=>!t.startsWith(".")&&t.includes("."),Os=t=>t!=="."&&t!==".."&&t.includes("."),Ts=/^\.\*+$/,Fs=t=>t!=="."&&t!==".."&&t.startsWith("."),Rs=/^\*+$/,js=t=>t.length!==0&&!t.startsWith("."),Ps=t=>t.length!==0&&t!=="."&&t!=="..",Ds=/^\?+([^+@!?\*\[\(]*)?$/,$s=([t,e=""])=>{let i=ni([t]);return e?(e=e.toLowerCase(),s=>i(s)&&s.toLowerCase().endsWith(e)):i},Ms=([t,e=""])=>{let i=oi([t]);return e?(e=e.toLowerCase(),s=>i(s)&&s.toLowerCase().endsWith(e)):i},Ls=([t,e=""])=>{let i=oi([t]);return e?s=>i(s)&&s.endsWith(e):i},Ws=([t,e=""])=>{let i=ni([t]);return e?s=>i(s)&&s.endsWith(e):i},ni=([t])=>{let e=t.length;return i=>i.length===e&&!i.startsWith(".")},oi=([t])=>{let e=t.length;return i=>i.length===e&&i!=="."&&i!==".."},hi=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",$e={win32:{sep:"\\"},posix:{sep:"/"}},Ns=hi==="win32"?$e.win32.sep:$e.posix.sep;R.sep=Ns;var F=Symbol("globstar **");R.GLOBSTAR=F;var zs="[^/]",_s=zs+"*?",Bs="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Is="(?:(?!(?:\\/|^)\\.).)*?",Us=(t,e={})=>i=>R(i,t,e);R.filter=Us;var $=(t,e={})=>Object.assign({},t,e),Gs=t=>{if(!t||typeof t!="object"||!Object.keys(t).length)return R;let e=R;return Object.assign((i,s,r={})=>e(i,s,$(t,r)),{Minimatch:class extends e.Minimatch{constructor(i,s={}){super(i,$(t,s))}static defaults(i){return e.defaults($(t,i)).Minimatch}},AST:class extends e.AST{constructor(i,s,r={}){super(i,s,$(t,r))}static fromGlob(i,s={}){return e.AST.fromGlob(i,$(t,s))}},unescape:(i,s={})=>e.unescape(i,$(t,s)),escape:(i,s={})=>e.escape(i,$(t,s)),filter:(i,s={})=>e.filter(i,$(t,s)),defaults:i=>e.defaults($(t,i)),makeRe:(i,s={})=>e.makeRe(i,$(t,s)),braceExpand:(i,s={})=>e.braceExpand(i,$(t,s)),match:(i,s,r={})=>e.match(i,s,$(t,r)),sep:e.sep,GLOBSTAR:F})};R.defaults=Gs;var ai=(t,e={})=>(Wt(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:os(t,{max:e.braceExpandMax}));R.braceExpand=ai;var Hs=(t,e={})=>new Z(t,e).makeRe();R.makeRe=Hs;var Vs=(t,e,i={})=>{let s=new Z(e,i);return t=t.filter(r=>s.match(r)),s.options.nonull&&!t.length&&t.push(e),t};R.match=Vs;var Me=/[?*]|[+@!]\(.*?\)|\[|\]/,Ys=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Z=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){Wt(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||hi,this.isWindows=this.platform==="win32";let i="allowWindowsEscape";this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||e[i]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=e.windowsNoMagicRoot!==void 0?e.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let e of t)if(typeof e!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>console.error(...r)),this.debug(this.pattern,this.globSet);let i=this.globSet.map(r=>this.slashSplit(r));this.globParts=this.preprocess(i),this.debug(this.pattern,this.globParts);let s=this.globParts.map((r,n,o)=>{if(this.isWindows&&this.windowsNoMagicRoot){let h=r[0]===""&&r[1]===""&&(r[2]==="?"||!Me.test(r[2]))&&!Me.test(r[3]),a=/^[a-z]:/i.test(r[0]);if(h)return[...r.slice(0,4),...r.slice(4).map(l=>this.parse(l))];if(a)return[r[0],...r.slice(1).map(l=>this.parse(l))]}return r.map(h=>this.parse(h))});if(this.debug(this.pattern,s),this.set=s.filter(r=>r.indexOf(!1)===-1),this.isWindows)for(let r=0;r<this.set.length;r++){let n=this.set[r];n[0]===""&&n[1]===""&&this.globParts[r][2]==="?"&&typeof n[3]=="string"&&/^[a-z]:$/i.test(n[3])&&(n[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let i=0;i<t.length;i++)for(let s=0;s<t[i].length;s++)t[i][s]==="**"&&(t[i][s]="*");let{optimizationLevel:e=1}=this.options;return e>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):e>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(e=>{let i=-1;for(;(i=e.indexOf("**",i+1))!==-1;){let s=i;for(;e[s+1]==="**";)s++;s!==i&&e.splice(i,s-i)}return e})}levelOneOptimize(t){return t.map(e=>(e=e.reduce((i,s)=>{let r=i[i.length-1];return s==="**"&&r==="**"?i:s===".."&&r&&r!==".."&&r!=="."&&r!=="**"?(i.pop(),i):(i.push(s),i)},[]),e.length===0?[""]:e))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let s=1;s<t.length-1;s++){let r=t[s];s===1&&r===""&&t[0]===""||(r==="."||r==="")&&(e=!0,t.splice(s,1),s--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(e=!0,t.pop())}let i=0;for(;(i=t.indexOf("..",i+1))!==-1;){let s=t[i-1];s&&s!=="."&&s!==".."&&s!=="**"&&(e=!0,t.splice(i-1,2),i-=2)}}while(e);return t.length===0?[""]:t}firstPhasePreProcess(t){let e=!1;do{e=!1;for(let i of t){let s=-1;for(;(s=i.indexOf("**",s+1))!==-1;){let n=s;for(;i[n+1]==="**";)n++;n>s&&i.splice(s+1,n-s);let o=i[s+1],h=i[s+2],a=i[s+3];if(o!==".."||!h||h==="."||h===".."||!a||a==="."||a==="..")continue;e=!0,i.splice(s,1);let l=i.slice(0);l[s]="**",t.push(l),s--}if(!this.preserveMultipleSlashes){for(let n=1;n<i.length-1;n++){let o=i[n];n===1&&o===""&&i[0]===""||(o==="."||o==="")&&(e=!0,i.splice(n,1),n--)}i[0]==="."&&i.length===2&&(i[1]==="."||i[1]==="")&&(e=!0,i.pop())}let r=0;for(;(r=i.indexOf("..",r+1))!==-1;){let n=i[r-1];if(n&&n!=="."&&n!==".."&&n!=="**"){e=!0;let o=r===1&&i[r+1]==="**"?["."]:[];i.splice(r-1,2,...o),i.length===0&&i.push(""),r-=2}}}}while(e);return t}secondPhasePreProcess(t){for(let e=0;e<t.length-1;e++)for(let i=e+1;i<t.length;i++){let s=this.partsMatch(t[e],t[i],!this.preserveMultipleSlashes);if(s){t[e]=[],t[i]=s;break}}return t.filter(e=>e.length)}partsMatch(t,e,i=!1){let s=0,r=0,n=[],o="";for(;s<t.length&&r<e.length;)if(t[s]===e[r])n.push(o==="b"?e[r]:t[s]),s++,r++;else if(i&&t[s]==="**"&&e[r]===t[s+1])n.push(t[s]),s++;else if(i&&e[r]==="**"&&t[s]===e[r+1])n.push(e[r]),r++;else if(t[s]==="*"&&e[r]&&(this.options.dot||!e[r].startsWith("."))&&e[r]!=="**"){if(o==="b")return!1;o="a",n.push(t[s]),s++,r++}else if(e[r]==="*"&&t[s]&&(this.options.dot||!t[s].startsWith("."))&&t[s]!=="**"){if(o==="a")return!1;o="b",n.push(e[r]),s++,r++}else return!1;return t.length===e.length&&n}parseNegate(){if(this.nonegate)return;let t=this.pattern,e=!1,i=0;for(let s=0;s<t.length&&t.charAt(s)==="!";s++)e=!e,i++;i&&(this.pattern=t.slice(i)),this.negate=e}matchOne(t,e,i=!1){let s=this.options;if(this.isWindows){let d=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),g=!d&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),w=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),m=!w&&e[0]===""&&e[1]===""&&e[2]==="?"&&typeof e[3]=="string"&&/^[a-z]:$/i.test(e[3]),y=g?3:d?0:void 0,b=m?3:w?0:void 0;if(typeof y=="number"&&typeof b=="number"){let[v,S]=[t[y],e[b]];v.toLowerCase()===S.toLowerCase()&&(e[b]=v,b>y?e=e.slice(b):y>b&&(t=t.slice(y)))}}let{optimizationLevel:r=1}=this.options;r>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var n=0,o=0,h=t.length,a=e.length;n<h&&o<a;n++,o++){this.debug("matchOne loop");var l=e[o],p=t[n];if(this.debug(e,l,p),l===!1)return!1;if(l===F){this.debug("GLOBSTAR",[e,l,p]);var c=n,f=o+1;if(f===a){for(this.debug("** at the end");n<h;n++)if(t[n]==="."||t[n]===".."||!s.dot&&t[n].charAt(0)===".")return!1;return!0}for(;c<h;){var u=t[c];if(this.debug(`
|
|
8
|
+
globstar while`,t,c,e,f,u),this.matchOne(t.slice(c),e.slice(f),i))return this.debug("globstar found match!",c,h,u),!0;if(u==="."||u===".."||!s.dot&&u.charAt(0)==="."){this.debug("dot detected!",t,c,e,f);break}this.debug("globstar swallow a segment, and continue"),c++}return!!(i&&(this.debug(`
|
|
9
|
+
>>> no match, partial?`,t,c,e,f),c===h))}let d;if(typeof l=="string"?(d=p===l,this.debug("string match",l,p,d)):(d=l.test(p),this.debug("pattern match",l,p,d)),!d)return!1}if(n===h&&o===a)return!0;if(n===h)return i;if(o===a)return n===h-1&&t[n]==="";throw new Error("wtf?")}braceExpand(){return ai(this.pattern,this.options)}parse(t){Wt(t);let e=this.options;if(t==="**")return F;if(t==="")return"";let i,s=null;(i=t.match(Rs))?s=e.dot?Ps:js:(i=t.match(vs))?s=(e.nocase?e.dot?As:Es:e.dot?xs:Ss)(i[1]):(i=t.match(Ds))?s=(e.nocase?e.dot?Ms:$s:e.dot?Ls:Ws)(i):(i=t.match(ks))?s=e.dot?Os:Cs:(i=t.match(Ts))&&(s=Fs);let r=si.fromGlob(t,this.options).toMMPattern();return s&&typeof r=="object"&&Reflect.defineProperty(r,"test",{value:s}),r}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let e=this.options,i=e.noglobstar?_s:e.dot?Bs:Is,s=new Set(e.nocase?["i"]:[]),r=t.map(h=>{let a=h.map(p=>{if(p instanceof RegExp)for(let c of p.flags.split(""))s.add(c);return typeof p=="string"?Ys(p):p===F?F:p._src});a.forEach((p,c)=>{let f=a[c+1],u=a[c-1];p!==F||u===F||(u===void 0?f!==void 0&&f!==F?a[c+1]="(?:\\/|"+i+"\\/)?"+f:a[c]=i:f===void 0?a[c-1]=u+"(?:\\/|\\/"+i+")?":f!==F&&(a[c-1]=u+"(?:\\/|\\/"+i+"\\/)"+f,a[c+1]=F))});let l=a.filter(p=>p!==F);if(this.partial&&l.length>=1){let p=[];for(let c=1;c<=l.length;c++)p.push(l.slice(0,c).join("/"));return"(?:"+p.join("|")+")"}return l.join("/")}).join("|"),[n,o]=t.length>1?["(?:",")"]:["",""];r="^"+n+r+o+"$",this.partial&&(r="^(?:\\/|"+n+r.slice(1,-1)+o+")$"),this.negate&&(r="^(?!"+r+").+$");try{this.regexp=new RegExp(r,[...s].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&e)return!0;let i=this.options;this.isWindows&&(t=t.split("\\").join("/"));let s=this.slashSplit(t);this.debug(this.pattern,"split",s);let r=this.set;this.debug(this.pattern,"set",r);let n=s[s.length-1];if(!n)for(let o=s.length-2;!n&&o>=0;o--)n=s[o];for(let o=0;o<r.length;o++){let h=r[o],a=s;if(i.matchBase&&h.length===1&&(a=[n]),this.matchOne(a,h,e))return i.flipNegate?!0:!this.negate}return i.flipNegate?!1:this.negate}static defaults(t){return R.defaults(t).Minimatch}};R.AST=si;R.Minimatch=Z;R.escape=ri;R.unescape=at;var qs=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,li=new Set,oe=typeof process=="object"&&process?process:{},ci=(t,e,i,s)=>{typeof oe.emitWarning=="function"?oe.emitWarning(t,e,i,s):console.error(`[${i}] ${e}: ${t}`)},Nt=globalThis.AbortController,Le=globalThis.AbortSignal;if(typeof Nt>"u"){Le=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(i,s){this._onabort.push(s)}},Nt=class{constructor(){e()}signal=new Le;abort(i){if(!this.signal.aborted){this.signal.reason=i,this.signal.aborted=!0;for(let s of this.signal._onabort)s(i);this.signal.onabort?.(i)}}};let t=oe.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{t&&(t=!1,ci("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var Ks=t=>!li.has(t),K=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),pi=t=>K(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Mt:null:null,Mt=class extends Array{constructor(t){super(t),this.fill(0)}},Zs=class wt{heap;length;static#t=!1;static create(e){let i=pi(e);if(!i)return[];wt.#t=!0;let s=new wt(e,i);return wt.#t=!1,s}constructor(e,i){if(!wt.#t)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},Bt=class ui{#t;#i;#n;#r;#o;#v;#w;#c;get perf(){return this.#c}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#h;#u;#p;#a;#s;#f;#S;#b;#d;#T;#g;#A;#k;#m;#y;#x;#C;#e;#$;static unsafeExposeInternals(e){return{starts:e.#k,ttls:e.#m,autopurgeTimers:e.#y,sizes:e.#A,keyMap:e.#p,keyList:e.#a,valList:e.#s,next:e.#f,prev:e.#S,get head(){return e.#b},get tail(){return e.#d},free:e.#T,isBackgroundFetch:i=>e.#l(i),backgroundFetch:(i,s,r,n)=>e.#I(i,s,r,n),moveToTail:i=>e.#L(i),indexes:i=>e.#R(i),rindexes:i=>e.#j(i),isStale:i=>e.#E(i)}}get max(){return this.#t}get maxSize(){return this.#i}get calculatedSize(){return this.#u}get size(){return this.#h}get fetchMethod(){return this.#v}get memoMethod(){return this.#w}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#o}constructor(e){let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:h,allowStale:a,dispose:l,onInsert:p,disposeAfter:c,noDisposeOnSet:f,noUpdateTTL:u,maxSize:d=0,maxEntrySize:g=0,sizeCalculation:w,fetchMethod:m,memoMethod:y,noDeleteOnFetchRejection:b,noDeleteOnStaleGet:v,allowStaleOnFetchRejection:S,allowStaleOnFetchAbort:Y,ignoreFetchAbort:it,perf:st}=e;if(st!==void 0&&typeof st?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#c=st??qs,i!==0&&!K(i))throw new TypeError("max option must be a nonnegative integer");let rt=i?pi(i):Array;if(!rt)throw new Error("invalid max value: "+i);if(this.#t=i,this.#i=d,this.maxEntrySize=g||this.#i,this.sizeCalculation=w,this.sizeCalculation){if(!this.#i&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(y!==void 0&&typeof y!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#w=y,m!==void 0&&typeof m!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#v=m,this.#C=!!m,this.#p=new Map,this.#a=new Array(i).fill(void 0),this.#s=new Array(i).fill(void 0),this.#f=new rt(i),this.#S=new rt(i),this.#b=0,this.#d=0,this.#T=Zs.create(i),this.#h=0,this.#u=0,typeof l=="function"&&(this.#n=l),typeof p=="function"&&(this.#r=p),typeof c=="function"?(this.#o=c,this.#g=[]):(this.#o=void 0,this.#g=void 0),this.#x=!!this.#n,this.#$=!!this.#r,this.#e=!!this.#o,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!u,this.noDeleteOnFetchRejection=!!b,this.allowStaleOnFetchRejection=!!S,this.allowStaleOnFetchAbort=!!Y,this.ignoreFetchAbort=!!it,this.maxEntrySize!==0){if(this.#i!==0&&!K(this.#i))throw new TypeError("maxSize must be a positive integer if specified");if(!K(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#G()}if(this.allowStale=!!a,this.noDeleteOnStaleGet=!!v,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!h,this.ttlResolution=K(r)||r===0?r:1,this.ttlAutopurge=!!n,this.ttl=s||0,this.ttl){if(!K(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#P()}if(this.#t===0&&this.ttl===0&&this.#i===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#t&&!this.#i){let Jt="LRU_CACHE_UNBOUNDED";Ks(Jt)&&(li.add(Jt),ci("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Jt,ui))}}getRemainingTTL(e){return this.#p.has(e)?1/0:0}#P(){let e=new Mt(this.#t),i=new Mt(this.#t);this.#m=e,this.#k=i;let s=this.ttlAutopurge?new Array(this.#t):void 0;this.#y=s,this.#N=(o,h,a=this.#c.now())=>{if(i[o]=h!==0?a:0,e[o]=h,s?.[o]&&(clearTimeout(s[o]),s[o]=void 0),h!==0&&s){let l=setTimeout(()=>{this.#E(o)&&this.#F(this.#a[o],"expire")},h+1);l.unref&&l.unref(),s[o]=l}},this.#O=o=>{i[o]=e[o]!==0?this.#c.now():0},this.#D=(o,h)=>{if(e[h]){let a=e[h],l=i[h];if(!a||!l)return;o.ttl=a,o.start=l,o.now=r||n();let p=o.now-l;o.remainingTTL=a-p}};let r=0,n=()=>{let o=this.#c.now();if(this.ttlResolution>0){r=o;let h=setTimeout(()=>r=0,this.ttlResolution);h.unref&&h.unref()}return o};this.getRemainingTTL=o=>{let h=this.#p.get(o);if(h===void 0)return 0;let a=e[h],l=i[h];if(!a||!l)return 1/0;let p=(r||n())-l;return a-p},this.#E=o=>{let h=i[o],a=e[o];return!!a&&!!h&&(r||n())-h>a}}#O=()=>{};#D=()=>{};#N=()=>{};#E=()=>!1;#G(){let e=new Mt(this.#t);this.#u=0,this.#A=e,this.#W=i=>{this.#u-=e[i],e[i]=0},this.#z=(i,s,r,n)=>{if(this.#l(s))return 0;if(!K(r))if(n){if(typeof n!="function")throw new TypeError("sizeCalculation must be a function");if(r=n(s,i),!K(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return r},this.#M=(i,s,r)=>{if(e[i]=s,this.#i){let n=this.#i-e[i];for(;this.#u>n;)this.#B(!0)}this.#u+=e[i],r&&(r.entrySize=s,r.totalCalculatedSize=this.#u)}}#W=e=>{};#M=(e,i,s)=>{};#z=(e,i,s,r)=>{if(s||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#R({allowStale:e=this.allowStale}={}){if(this.#h)for(let i=this.#d;!(!this.#_(i)||((e||!this.#E(i))&&(yield i),i===this.#b));)i=this.#S[i]}*#j({allowStale:e=this.allowStale}={}){if(this.#h)for(let i=this.#b;!(!this.#_(i)||((e||!this.#E(i))&&(yield i),i===this.#d));)i=this.#f[i]}#_(e){return e!==void 0&&this.#p.get(this.#a[e])===e}*entries(){for(let e of this.#R())this.#s[e]!==void 0&&this.#a[e]!==void 0&&!this.#l(this.#s[e])&&(yield[this.#a[e],this.#s[e]])}*rentries(){for(let e of this.#j())this.#s[e]!==void 0&&this.#a[e]!==void 0&&!this.#l(this.#s[e])&&(yield[this.#a[e],this.#s[e]])}*keys(){for(let e of this.#R()){let i=this.#a[e];i!==void 0&&!this.#l(this.#s[e])&&(yield i)}}*rkeys(){for(let e of this.#j()){let i=this.#a[e];i!==void 0&&!this.#l(this.#s[e])&&(yield i)}}*values(){for(let e of this.#R())this.#s[e]!==void 0&&!this.#l(this.#s[e])&&(yield this.#s[e])}*rvalues(){for(let e of this.#j())this.#s[e]!==void 0&&!this.#l(this.#s[e])&&(yield this.#s[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,i={}){for(let s of this.#R()){let r=this.#s[s],n=this.#l(r)?r.__staleWhileFetching:r;if(n!==void 0&&e(n,this.#a[s],this))return this.get(this.#a[s],i)}}forEach(e,i=this){for(let s of this.#R()){let r=this.#s[s],n=this.#l(r)?r.__staleWhileFetching:r;n!==void 0&&e.call(i,n,this.#a[s],this)}}rforEach(e,i=this){for(let s of this.#j()){let r=this.#s[s],n=this.#l(r)?r.__staleWhileFetching:r;n!==void 0&&e.call(i,n,this.#a[s],this)}}purgeStale(){let e=!1;for(let i of this.#j({allowStale:!0}))this.#E(i)&&(this.#F(this.#a[i],"expire"),e=!0);return e}info(e){let i=this.#p.get(e);if(i===void 0)return;let s=this.#s[i],r=this.#l(s)?s.__staleWhileFetching:s;if(r===void 0)return;let n={value:r};if(this.#m&&this.#k){let o=this.#m[i],h=this.#k[i];if(o&&h){let a=o-(this.#c.now()-h);n.ttl=a,n.start=Date.now()}}return this.#A&&(n.size=this.#A[i]),n}dump(){let e=[];for(let i of this.#R({allowStale:!0})){let s=this.#a[i],r=this.#s[i],n=this.#l(r)?r.__staleWhileFetching:r;if(n===void 0||s===void 0)continue;let o={value:n};if(this.#m&&this.#k){o.ttl=this.#m[i];let h=this.#c.now()-this.#k[i];o.start=Math.floor(Date.now()-h)}this.#A&&(o.size=this.#A[i]),e.unshift([s,o])}return e}load(e){this.clear();for(let[i,s]of e){if(s.start){let r=Date.now()-s.start;s.start=this.#c.now()-r}this.set(i,s.value,s)}}set(e,i,s={}){if(i===void 0)return this.delete(e),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:h=this.sizeCalculation,status:a}=s,{noUpdateTTL:l=this.noUpdateTTL}=s,p=this.#z(e,i,s.size||0,h);if(this.maxEntrySize&&p>this.maxEntrySize)return a&&(a.set="miss",a.maxEntrySizeExceeded=!0),this.#F(e,"set"),this;let c=this.#h===0?void 0:this.#p.get(e);if(c===void 0)c=this.#h===0?this.#d:this.#T.length!==0?this.#T.pop():this.#h===this.#t?this.#B(!1):this.#h,this.#a[c]=e,this.#s[c]=i,this.#p.set(e,c),this.#f[this.#d]=c,this.#S[c]=this.#d,this.#d=c,this.#h++,this.#M(c,p,a),a&&(a.set="add"),l=!1,this.#$&&this.#r?.(i,e,"add");else{this.#L(c);let f=this.#s[c];if(i!==f){if(this.#C&&this.#l(f)){f.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:u}=f;u!==void 0&&!o&&(this.#x&&this.#n?.(u,e,"set"),this.#e&&this.#g?.push([u,e,"set"]))}else o||(this.#x&&this.#n?.(f,e,"set"),this.#e&&this.#g?.push([f,e,"set"]));if(this.#W(c),this.#M(c,p,a),this.#s[c]=i,a){a.set="replace";let u=f&&this.#l(f)?f.__staleWhileFetching:f;u!==void 0&&(a.oldValue=u)}}else a&&(a.set="update");this.#$&&this.onInsert?.(i,e,i===f?"update":"replace")}if(r!==0&&!this.#m&&this.#P(),this.#m&&(l||this.#N(c,r,n),a&&this.#D(a,c)),!o&&this.#e&&this.#g){let f=this.#g,u;for(;u=f?.shift();)this.#o?.(...u)}return this}pop(){try{for(;this.#h;){let e=this.#s[this.#b];if(this.#B(!0),this.#l(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#e&&this.#g){let e=this.#g,i;for(;i=e?.shift();)this.#o?.(...i)}}}#B(e){let i=this.#b,s=this.#a[i],r=this.#s[i];return this.#C&&this.#l(r)?r.__abortController.abort(new Error("evicted")):(this.#x||this.#e)&&(this.#x&&this.#n?.(r,s,"evict"),this.#e&&this.#g?.push([r,s,"evict"])),this.#W(i),this.#y?.[i]&&(clearTimeout(this.#y[i]),this.#y[i]=void 0),e&&(this.#a[i]=void 0,this.#s[i]=void 0,this.#T.push(i)),this.#h===1?(this.#b=this.#d=0,this.#T.length=0):this.#b=this.#f[i],this.#p.delete(s),this.#h--,i}has(e,i={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:r}=i,n=this.#p.get(e);if(n!==void 0){let o=this.#s[n];if(this.#l(o)&&o.__staleWhileFetching===void 0)return!1;if(this.#E(n))r&&(r.has="stale",this.#D(r,n));else return s&&this.#O(n),r&&(r.has="hit",this.#D(r,n)),!0}else r&&(r.has="miss");return!1}peek(e,i={}){let{allowStale:s=this.allowStale}=i,r=this.#p.get(e);if(r===void 0||!s&&this.#E(r))return;let n=this.#s[r];return this.#l(n)?n.__staleWhileFetching:n}#I(e,i,s,r){let n=i===void 0?void 0:this.#s[i];if(this.#l(n))return n;let o=new Nt,{signal:h}=s;h?.addEventListener("abort",()=>o.abort(h.reason),{signal:o.signal});let a={signal:o.signal,options:s,context:r},l=(g,w=!1)=>{let{aborted:m}=o.signal,y=s.ignoreFetchAbort&&g!==void 0,b=s.ignoreFetchAbort||!!(s.allowStaleOnFetchAbort&&g!==void 0);if(s.status&&(m&&!w?(s.status.fetchAborted=!0,s.status.fetchError=o.signal.reason,y&&(s.status.fetchAbortIgnored=!0)):s.status.fetchResolved=!0),m&&!y&&!w)return c(o.signal.reason,b);let v=u,S=this.#s[i];return(S===u||y&&w&&S===void 0)&&(g===void 0?v.__staleWhileFetching!==void 0?this.#s[i]=v.__staleWhileFetching:this.#F(e,"fetch"):(s.status&&(s.status.fetchUpdated=!0),this.set(e,g,a.options))),g},p=g=>(s.status&&(s.status.fetchRejected=!0,s.status.fetchError=g),c(g,!1)),c=(g,w)=>{let{aborted:m}=o.signal,y=m&&s.allowStaleOnFetchAbort,b=y||s.allowStaleOnFetchRejection,v=b||s.noDeleteOnFetchRejection,S=u;if(this.#s[i]===u&&(!v||!w&&S.__staleWhileFetching===void 0?this.#F(e,"fetch"):y||(this.#s[i]=S.__staleWhileFetching)),b)return s.status&&S.__staleWhileFetching!==void 0&&(s.status.returnedStale=!0),S.__staleWhileFetching;if(S.__returned===S)throw g},f=(g,w)=>{let m=this.#v?.(e,n,a);m&&m instanceof Promise&&m.then(y=>g(y===void 0?void 0:y),w),o.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(g(void 0),s.allowStaleOnFetchAbort&&(g=y=>l(y,!0)))})};s.status&&(s.status.fetchDispatched=!0);let u=new Promise(f).then(l,p),d=Object.assign(u,{__abortController:o,__staleWhileFetching:n,__returned:void 0});return i===void 0?(this.set(e,d,{...a.options,status:void 0}),i=this.#p.get(e)):this.#s[i]=d,d}#l(e){if(!this.#C)return!1;let i=e;return!!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Nt}async fetch(e,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:h=this.noDisposeOnSet,size:a=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:p=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:u=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:g,forceRefresh:w=!1,status:m,signal:y}=i;if(!this.#C)return m&&(m.fetch="get"),this.get(e,{allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,status:m});let b={allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,ttl:o,noDisposeOnSet:h,size:a,sizeCalculation:l,noUpdateTTL:p,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:u,status:m,signal:y},v=this.#p.get(e);if(v===void 0){m&&(m.fetch="miss");let S=this.#I(e,v,b,g);return S.__returned=S}else{let S=this.#s[v];if(this.#l(S)){let rt=s&&S.__staleWhileFetching!==void 0;return m&&(m.fetch="inflight",rt&&(m.returnedStale=!0)),rt?S.__staleWhileFetching:S.__returned=S}let Y=this.#E(v);if(!w&&!Y)return m&&(m.fetch="hit"),this.#L(v),r&&this.#O(v),m&&this.#D(m,v),S;let it=this.#I(e,v,b,g),st=it.__staleWhileFetching!==void 0&&s;return m&&(m.fetch=Y?"stale":"refresh",st&&Y&&(m.returnedStale=!0)),st?it.__staleWhileFetching:it.__returned=it}}async forceFetch(e,i={}){let s=await this.fetch(e,i);if(s===void 0)throw new Error("fetch() returned undefined");return s}memo(e,i={}){let s=this.#w;if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,h=this.get(e,o);if(!n&&h!==void 0)return h;let a=s(e,h,{options:o,context:r});return this.set(e,a,o),a}get(e,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,h=this.#p.get(e);if(h!==void 0){let a=this.#s[h],l=this.#l(a);return o&&this.#D(o,h),this.#E(h)?(o&&(o.get="stale"),l?(o&&s&&a.__staleWhileFetching!==void 0&&(o.returnedStale=!0),s?a.__staleWhileFetching:void 0):(n||this.#F(e,"expire"),o&&s&&(o.returnedStale=!0),s?a:void 0)):(o&&(o.get="hit"),l?a.__staleWhileFetching:(this.#L(h),r&&this.#O(h),a))}else o&&(o.get="miss")}#U(e,i){this.#S[i]=e,this.#f[e]=i}#L(e){e!==this.#d&&(e===this.#b?this.#b=this.#f[e]:this.#U(this.#S[e],this.#f[e]),this.#U(this.#d,e),this.#d=e)}delete(e){return this.#F(e,"delete")}#F(e,i){let s=!1;if(this.#h!==0){let r=this.#p.get(e);if(r!==void 0)if(this.#y?.[r]&&(clearTimeout(this.#y?.[r]),this.#y[r]=void 0),s=!0,this.#h===1)this.#H(i);else{this.#W(r);let n=this.#s[r];if(this.#l(n)?n.__abortController.abort(new Error("deleted")):(this.#x||this.#e)&&(this.#x&&this.#n?.(n,e,i),this.#e&&this.#g?.push([n,e,i])),this.#p.delete(e),this.#a[r]=void 0,this.#s[r]=void 0,r===this.#d)this.#d=this.#S[r];else if(r===this.#b)this.#b=this.#f[r];else{let o=this.#S[r];this.#f[o]=this.#f[r];let h=this.#f[r];this.#S[h]=this.#S[r]}this.#h--,this.#T.push(r)}}if(this.#e&&this.#g?.length){let r=this.#g,n;for(;n=r?.shift();)this.#o?.(...n)}return s}clear(){return this.#H("delete")}#H(e){for(let i of this.#j({allowStale:!0})){let s=this.#s[i];if(this.#l(s))s.__abortController.abort(new Error("deleted"));else{let r=this.#a[i];this.#x&&this.#n?.(s,r,e),this.#e&&this.#g?.push([s,r,e])}}if(this.#p.clear(),this.#s.fill(void 0),this.#a.fill(void 0),this.#m&&this.#k){this.#m.fill(0),this.#k.fill(0);for(let i of this.#y??[])i!==void 0&&clearTimeout(i);this.#y?.fill(void 0)}if(this.#A&&this.#A.fill(0),this.#b=0,this.#d=0,this.#T.length=0,this.#u=0,this.#h=0,this.#e&&this.#g){let i=this.#g,s;for(;s=i?.shift();)this.#o?.(...s)}}},We=typeof process=="object"&&process?process:{stdout:null,stderr:null},pr=t=>!!t&&typeof t=="object"&&(t instanceof zt||t instanceof fi||ur(t)||fr(t)),ur=t=>!!t&&typeof t=="object"&&t instanceof ce&&typeof t.pipe=="function"&&t.pipe!==fi.Writable.prototype.pipe,fr=t=>!!t&&typeof t=="object"&&t instanceof ce&&typeof t.write=="function"&&typeof t.end=="function",G=Symbol("EOF"),H=Symbol("maybeEmitEnd"),q=Symbol("emittedEnd"),Tt=Symbol("emittingEnd"),pt=Symbol("emittedError"),Ft=Symbol("closed"),Ne=Symbol("read"),Rt=Symbol("flush"),ze=Symbol("flushChunk"),_=Symbol("encoding"),ot=Symbol("decoder"),A=Symbol("flowing"),ut=Symbol("paused"),ht=Symbol("resume"),k=Symbol("buffer"),T=Symbol("pipes"),C=Symbol("bufferLength"),Qt=Symbol("bufferPush"),jt=Symbol("bufferShift"),O=Symbol("objectMode"),E=Symbol("destroyed"),te=Symbol("error"),ee=Symbol("emitData"),_e=Symbol("emitEnd"),ie=Symbol("emitEnd2"),I=Symbol("async"),se=Symbol("abort"),Pt=Symbol("aborted"),ft=Symbol("signal"),Q=Symbol("dataListeners"),P=Symbol("discarded"),dt=t=>Promise.resolve().then(t),dr=t=>t(),gr=t=>t==="end"||t==="finish"||t==="prefinish",mr=t=>t instanceof ArrayBuffer||!!t&&typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,wr=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),di=class{src;dest;opts;ondrain;constructor(t,e,i){this.src=t,this.dest=e,this.opts=i,this.ondrain=()=>t[ht](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},yr=class extends di{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,e,i){super(t,e,i),this.proxyErrors=s=>e.emit("error",s),t.on("error",this.proxyErrors)}},br=t=>!!t.objectMode,vr=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer",zt=class extends ce{[A]=!1;[ut]=!1;[T]=[];[k]=[];[O];[_];[I];[ot];[G]=!1;[q]=!1;[Tt]=!1;[Ft]=!1;[pt]=null;[C]=0;[E]=!1;[ft];[Pt]=!1;[Q]=0;[P]=!1;writable=!0;readable=!0;constructor(...t){let e=t[0]||{};if(super(),e.objectMode&&typeof e.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");br(e)?(this[O]=!0,this[_]=null):vr(e)?(this[_]=e.encoding,this[O]=!1):(this[O]=!1,this[_]=null),this[I]=!!e.async,this[ot]=this[_]?new cr(this[_]):null,e&&e.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[k]}),e&&e.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[T]});let{signal:i}=e;i&&(this[ft]=i,i.aborted?this[se]():i.addEventListener("abort",()=>this[se]()))}get bufferLength(){return this[C]}get encoding(){return this[_]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[O]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[I]}set async(t){this[I]=this[I]||!!t}[se](){this[Pt]=!0,this.emit("abort",this[ft]?.reason),this.destroy(this[ft]?.reason)}get aborted(){return this[Pt]}set aborted(t){}write(t,e,i){if(this[Pt])return!1;if(this[G])throw new Error("write after end");if(this[E])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof e=="function"&&(i=e,e="utf8"),e||(e="utf8");let s=this[I]?dt:dr;if(!this[O]&&!Buffer.isBuffer(t)){if(wr(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(mr(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[O]?(this[A]&&this[C]!==0&&this[Rt](!0),this[A]?this.emit("data",t):this[Qt](t),this[C]!==0&&this.emit("readable"),i&&s(i),this[A]):t.length?(typeof t=="string"&&!(e===this[_]&&!this[ot]?.lastNeed)&&(t=Buffer.from(t,e)),Buffer.isBuffer(t)&&this[_]&&(t=this[ot].write(t)),this[A]&&this[C]!==0&&this[Rt](!0),this[A]?this.emit("data",t):this[Qt](t),this[C]!==0&&this.emit("readable"),i&&s(i),this[A]):(this[C]!==0&&this.emit("readable"),i&&s(i),this[A])}read(t){if(this[E])return null;if(this[P]=!1,this[C]===0||t===0||t&&t>this[C])return this[H](),null;this[O]&&(t=null),this[k].length>1&&!this[O]&&(this[k]=[this[_]?this[k].join(""):Buffer.concat(this[k],this[C])]);let e=this[Ne](t||null,this[k][0]);return this[H](),e}[Ne](t,e){if(this[O])this[jt]();else{let i=e;t===i.length||t===null?this[jt]():typeof i=="string"?(this[k][0]=i.slice(t),e=i.slice(0,t),this[C]-=t):(this[k][0]=i.subarray(t),e=i.subarray(0,t),this[C]-=t)}return this.emit("data",e),!this[k].length&&!this[G]&&this.emit("drain"),e}end(t,e,i){return typeof t=="function"&&(i=t,t=void 0),typeof e=="function"&&(i=e,e="utf8"),t!==void 0&&this.write(t,e),i&&this.once("end",i),this[G]=!0,this.writable=!1,(this[A]||!this[ut])&&this[H](),this}[ht](){this[E]||(!this[Q]&&!this[T].length&&(this[P]=!0),this[ut]=!1,this[A]=!0,this.emit("resume"),this[k].length?this[Rt]():this[G]?this[H]():this.emit("drain"))}resume(){return this[ht]()}pause(){this[A]=!1,this[ut]=!0,this[P]=!1}get destroyed(){return this[E]}get flowing(){return this[A]}get paused(){return this[ut]}[Qt](t){this[O]?this[C]+=1:this[C]+=t.length,this[k].push(t)}[jt](){return this[O]?this[C]-=1:this[C]-=this[k][0].length,this[k].shift()}[Rt](t=!1){do;while(this[ze](this[jt]())&&this[k].length);!t&&!this[k].length&&!this[G]&&this.emit("drain")}[ze](t){return this.emit("data",t),this[A]}pipe(t,e){if(this[E])return t;this[P]=!1;let i=this[q];return e=e||{},t===We.stdout||t===We.stderr?e.end=!1:e.end=e.end!==!1,e.proxyErrors=!!e.proxyErrors,i?e.end&&t.end():(this[T].push(e.proxyErrors?new yr(this,t,e):new di(this,t,e)),this[I]?dt(()=>this[ht]()):this[ht]()),t}unpipe(t){let e=this[T].find(i=>i.dest===t);e&&(this[T].length===1?(this[A]&&this[Q]===0&&(this[A]=!1),this[T]=[]):this[T].splice(this[T].indexOf(e),1),e.unpipe())}addListener(t,e){return this.on(t,e)}on(t,e){let i=super.on(t,e);if(t==="data")this[P]=!1,this[Q]++,!this[T].length&&!this[A]&&this[ht]();else if(t==="readable"&&this[C]!==0)super.emit("readable");else if(gr(t)&&this[q])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[pt]){let s=e;this[I]?dt(()=>s.call(this,this[pt])):s.call(this,this[pt])}return i}removeListener(t,e){return this.off(t,e)}off(t,e){let i=super.off(t,e);return t==="data"&&(this[Q]=this.listeners("data").length,this[Q]===0&&!this[P]&&!this[T].length&&(this[A]=!1)),i}removeAllListeners(t){let e=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[Q]=0,!this[P]&&!this[T].length&&(this[A]=!1)),e}get emittedEnd(){return this[q]}[H](){!this[Tt]&&!this[q]&&!this[E]&&this[k].length===0&&this[G]&&(this[Tt]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ft]&&this.emit("close"),this[Tt]=!1)}emit(t,...e){let i=e[0];if(t!=="error"&&t!=="close"&&t!==E&&this[E])return!1;if(t==="data")return!this[O]&&!i?!1:this[I]?(dt(()=>this[ee](i)),!0):this[ee](i);if(t==="end")return this[_e]();if(t==="close"){if(this[Ft]=!0,!this[q]&&!this[E])return!1;let r=super.emit("close");return this.removeAllListeners("close"),r}else if(t==="error"){this[pt]=i,super.emit(te,i);let r=!this[ft]||this.listeners("error").length?super.emit("error",i):!1;return this[H](),r}else if(t==="resume"){let r=super.emit("resume");return this[H](),r}else if(t==="finish"||t==="prefinish"){let r=super.emit(t);return this.removeAllListeners(t),r}let s=super.emit(t,...e);return this[H](),s}[ee](t){for(let i of this[T])i.dest.write(t)===!1&&this.pause();let e=this[P]?!1:super.emit("data",t);return this[H](),e}[_e](){return this[q]?!1:(this[q]=!0,this.readable=!1,this[I]?(dt(()=>this[ie]()),!0):this[ie]())}[ie](){if(this[ot]){let e=this[ot].end();if(e){for(let i of this[T])i.dest.write(e);this[P]||super.emit("data",e)}}for(let e of this[T])e.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[O]||(t.dataLength=0);let e=this.promise();return this.on("data",i=>{t.push(i),this[O]||(t.dataLength+=i.length)}),await e,t}async concat(){if(this[O])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[_]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise((t,e)=>{this.on(E,()=>e(new Error("stream destroyed"))),this.on("error",i=>e(i)),this.on("end",()=>t())})}[Symbol.asyncIterator](){this[P]=!1;let t=!1,e=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return e();let i=this.read();if(i!==null)return Promise.resolve({done:!1,value:i});if(this[G])return e();let s,r,n=l=>{this.off("data",o),this.off("end",h),this.off(E,a),e(),r(l)},o=l=>{this.off("error",n),this.off("end",h),this.off(E,a),this.pause(),s({value:l,done:!!this[G]})},h=()=>{this.off("error",n),this.off("data",o),this.off(E,a),e(),s({done:!0,value:void 0})},a=()=>n(new Error("stream destroyed"));return new Promise((l,p)=>{r=p,s=l,this.once(E,a),this.once("error",n),this.once("end",h),this.once("data",o)})},throw:e,return:e,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[P]=!1;let t=!1,e=()=>(this.pause(),this.off(te,e),this.off(E,e),this.off("end",e),t=!0,{done:!0,value:void 0}),i=()=>{if(t)return e();let s=this.read();return s===null?e():{done:!1,value:s}};return this.once("end",e),this.once(te,e),this.once(E,e),{next:i,throw:e,return:e,[Symbol.iterator](){return this}}}destroy(t){if(this[E])return t?this.emit("error",t):this.emit(E),this;this[E]=!0,this[P]=!0,this[k].length=0,this[C]=0;let e=this;return typeof e.close=="function"&&!this[Ft]&&e.close(),t?this.emit("error",t):this.emit(E),this}static get isStream(){return pr}},Sr=rr.native,yt={lstatSync:tr,readdir:er,readdirSync:ir,readlinkSync:sr,realpathSync:Sr,promises:{lstat:or,readdir:hr,readlink:ar,realpath:lr}},gi=t=>!t||t===yt||t===nr?yt:{...yt,...t,promises:{...yt.promises,...t.promises||{}}},mi=/^\\\\\?\\([a-z]:)\\?$/i,xr=t=>t.replace(/\//g,"\\").replace(mi,"$1\\"),Er=/[\\\/]/,L=0,wi=1,yi=2,U=4,bi=6,vi=8,tt=10,Si=12,M=15,gt=~M,re=16,Be=32,bt=64,B=128,Dt=256,Lt=512,Ie=bt|B|Lt,Ar=1023,ne=t=>t.isFile()?vi:t.isDirectory()?U:t.isSymbolicLink()?tt:t.isCharacterDevice()?yi:t.isBlockDevice()?bi:t.isSocket()?Si:t.isFIFO()?wi:L,Ue=new Bt({max:2**12}),vt=t=>{let e=Ue.get(t);if(e)return e;let i=t.normalize("NFKD");return Ue.set(t,i),i},Ge=new Bt({max:2**12}),$t=t=>{let e=Ge.get(t);if(e)return e;let i=vt(t.toLowerCase());return Ge.set(t,i),i},He=class extends Bt{constructor(){super({max:256})}},kr=class extends Bt{constructor(t=16*1024){super({maxSize:t,sizeCalculation:e=>e.length+1})}},xi=Symbol("PathScurry setAsCwd"),j=class{name;root;roots;parent;nocase;isCWD=!1;#t;#i;get dev(){return this.#i}#n;get mode(){return this.#n}#r;get nlink(){return this.#r}#o;get uid(){return this.#o}#v;get gid(){return this.#v}#w;get rdev(){return this.#w}#c;get blksize(){return this.#c}#h;get ino(){return this.#h}#u;get size(){return this.#u}#p;get blocks(){return this.#p}#a;get atimeMs(){return this.#a}#s;get mtimeMs(){return this.#s}#f;get ctimeMs(){return this.#f}#S;get birthtimeMs(){return this.#S}#b;get atime(){return this.#b}#d;get mtime(){return this.#d}#T;get ctime(){return this.#T}#g;get birthtime(){return this.#g}#A;#k;#m;#y;#x;#C;#e;#$;#P;#O;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(t,e=L,i,s,r,n,o){this.name=t,this.#A=r?$t(t):vt(t),this.#e=e&Ar,this.nocase=r,this.roots=s,this.root=i||this,this.#$=n,this.#m=o.fullpath,this.#x=o.relative,this.#C=o.relativePosix,this.parent=o.parent,this.parent?this.#t=this.parent.#t:this.#t=gi(o.fs)}depth(){return this.#k!==void 0?this.#k:this.parent?this.#k=this.parent.depth()+1:this.#k=0}childrenCache(){return this.#$}resolve(t){if(!t)return this;let e=this.getRootString(t),i=t.substring(e.length).split(this.splitSep);return e?this.getRoot(e).#D(i):this.#D(i)}#D(t){let e=this;for(let i of t)e=e.child(i);return e}children(){let t=this.#$.get(this);if(t)return t;let e=Object.assign([],{provisional:0});return this.#$.set(this,e),this.#e&=~re,e}child(t,e){if(t===""||t===".")return this;if(t==="..")return this.parent||this;let i=this.children(),s=this.nocase?$t(t):vt(t);for(let h of i)if(h.#A===s)return h;let r=this.parent?this.sep:"",n=this.#m?this.#m+r+t:void 0,o=this.newChild(t,L,{...e,parent:this,fullpath:n});return this.canReaddir()||(o.#e|=B),i.push(o),o}relative(){if(this.isCWD)return"";if(this.#x!==void 0)return this.#x;let t=this.name,e=this.parent;if(!e)return this.#x=this.name;let i=e.relative();return i+(!i||!e.parent?"":this.sep)+t}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#C!==void 0)return this.#C;let t=this.name,e=this.parent;if(!e)return this.#C=this.fullpathPosix();let i=e.relativePosix();return i+(!i||!e.parent?"":"/")+t}fullpath(){if(this.#m!==void 0)return this.#m;let t=this.name,e=this.parent;if(!e)return this.#m=this.name;let i=e.fullpath()+(e.parent?this.sep:"")+t;return this.#m=i}fullpathPosix(){if(this.#y!==void 0)return this.#y;if(this.sep==="/")return this.#y=this.fullpath();if(!this.parent){let s=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(s)?this.#y=`//?/${s}`:this.#y=s}let t=this.parent,e=t.fullpathPosix(),i=e+(!e||!t.parent?"":"/")+this.name;return this.#y=i}isUnknown(){return(this.#e&M)===L}isType(t){return this[`is${t}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#e&M)===vi}isDirectory(){return(this.#e&M)===U}isCharacterDevice(){return(this.#e&M)===yi}isBlockDevice(){return(this.#e&M)===bi}isFIFO(){return(this.#e&M)===wi}isSocket(){return(this.#e&M)===Si}isSymbolicLink(){return(this.#e&tt)===tt}lstatCached(){return this.#e&Be?this:void 0}readlinkCached(){return this.#P}realpathCached(){return this.#O}readdirCached(){let t=this.children();return t.slice(0,t.provisional)}canReadlink(){if(this.#P)return!0;if(!this.parent)return!1;let t=this.#e&M;return!(t!==L&&t!==tt||this.#e&Dt||this.#e&B)}calledReaddir(){return!!(this.#e&re)}isENOENT(){return!!(this.#e&B)}isNamed(t){return this.nocase?this.#A===$t(t):this.#A===vt(t)}async readlink(){let t=this.#P;if(t)return t;if(this.canReadlink()&&this.parent)try{let e=await this.#t.promises.readlink(this.fullpath()),i=(await this.parent.realpath())?.resolve(e);if(i)return this.#P=i}catch(e){this.#j(e.code);return}}readlinkSync(){let t=this.#P;if(t)return t;if(this.canReadlink()&&this.parent)try{let e=this.#t.readlinkSync(this.fullpath()),i=this.parent.realpathSync()?.resolve(e);if(i)return this.#P=i}catch(e){this.#j(e.code);return}}#N(t){this.#e|=re;for(let e=t.provisional;e<t.length;e++){let i=t[e];i&&i.#E()}}#E(){this.#e&B||(this.#e=(this.#e|B)>,this.#G())}#G(){let t=this.children();t.provisional=0;for(let e of t)e.#E()}#W(){this.#e|=Lt,this.#M()}#M(){if(this.#e&bt)return;let t=this.#e;(t&M)===U&&(t&=gt),this.#e=t|bt,this.#G()}#z(t=""){t==="ENOTDIR"||t==="EPERM"?this.#M():t==="ENOENT"?this.#E():this.children().provisional=0}#R(t=""){t==="ENOTDIR"?this.parent.#M():t==="ENOENT"&&this.#E()}#j(t=""){let e=this.#e;e|=Dt,t==="ENOENT"&&(e|=B),(t==="EINVAL"||t==="UNKNOWN")&&(e&=gt),this.#e=e,t==="ENOTDIR"&&this.parent&&this.parent.#M()}#_(t,e){return this.#I(t,e)||this.#B(t,e)}#B(t,e){let i=ne(t),s=this.newChild(t.name,i,{parent:this}),r=s.#e&M;return r!==U&&r!==tt&&r!==L&&(s.#e|=bt),e.unshift(s),e.provisional++,s}#I(t,e){for(let i=e.provisional;i<e.length;i++){let s=e[i];if((this.nocase?$t(t.name):vt(t.name))===s.#A)return this.#l(t,s,i,e)}}#l(t,e,i,s){let r=e.name;return e.#e=e.#e>|ne(t),r!==t.name&&(e.name=t.name),i!==s.provisional&&(i===s.length-1?s.pop():s.splice(i,1),s.unshift(e)),s.provisional++,e}async lstat(){if((this.#e&B)===0)try{return this.#U(await this.#t.promises.lstat(this.fullpath())),this}catch(t){this.#R(t.code)}}lstatSync(){if((this.#e&B)===0)try{return this.#U(this.#t.lstatSync(this.fullpath())),this}catch(t){this.#R(t.code)}}#U(t){let{atime:e,atimeMs:i,birthtime:s,birthtimeMs:r,blksize:n,blocks:o,ctime:h,ctimeMs:a,dev:l,gid:p,ino:c,mode:f,mtime:u,mtimeMs:d,nlink:g,rdev:w,size:m,uid:y}=t;this.#b=e,this.#a=i,this.#g=s,this.#S=r,this.#c=n,this.#p=o,this.#T=h,this.#f=a,this.#i=l,this.#v=p,this.#h=c,this.#n=f,this.#d=u,this.#s=d,this.#r=g,this.#w=w,this.#u=m,this.#o=y;let b=ne(t);this.#e=this.#e>|b|Be,b!==L&&b!==U&&b!==tt&&(this.#e|=bt)}#L=[];#F=!1;#H(t){this.#F=!1;let e=this.#L.slice();this.#L.length=0,e.forEach(i=>i(null,t))}readdirCB(t,e=!1){if(!this.canReaddir()){e?t(null,[]):queueMicrotask(()=>t(null,[]));return}let i=this.children();if(this.calledReaddir()){let r=i.slice(0,i.provisional);e?t(null,r):queueMicrotask(()=>t(null,r));return}if(this.#L.push(t),this.#F)return;this.#F=!0;let s=this.fullpath();this.#t.readdir(s,{withFileTypes:!0},(r,n)=>{if(r)this.#z(r.code),i.provisional=0;else{for(let o of n)this.#_(o,i);this.#N(i)}this.#H(i.slice(0,i.provisional))})}#V;async readdir(){if(!this.canReaddir())return[];let t=this.children();if(this.calledReaddir())return t.slice(0,t.provisional);let e=this.fullpath();if(this.#V)await this.#V;else{let i=()=>{};this.#V=new Promise(s=>i=s);try{for(let s of await this.#t.promises.readdir(e,{withFileTypes:!0}))this.#_(s,t);this.#N(t)}catch(s){this.#z(s.code),t.provisional=0}this.#V=void 0,i()}return t.slice(0,t.provisional)}readdirSync(){if(!this.canReaddir())return[];let t=this.children();if(this.calledReaddir())return t.slice(0,t.provisional);let e=this.fullpath();try{for(let i of this.#t.readdirSync(e,{withFileTypes:!0}))this.#_(i,t);this.#N(t)}catch(i){this.#z(i.code),t.provisional=0}return t.slice(0,t.provisional)}canReaddir(){if(this.#e&Ie)return!1;let t=M&this.#e;return t===L||t===U||t===tt}shouldWalk(t,e){return(this.#e&U)===U&&!(this.#e&Ie)&&!t.has(this)&&(!e||e(this))}async realpath(){if(this.#O)return this.#O;if(!((Lt|Dt|B)&this.#e))try{let t=await this.#t.promises.realpath(this.fullpath());return this.#O=this.resolve(t)}catch{this.#W()}}realpathSync(){if(this.#O)return this.#O;if(!((Lt|Dt|B)&this.#e))try{let t=this.#t.realpathSync(this.fullpath());return this.#O=this.resolve(t)}catch{this.#W()}}[xi](t){if(t===this)return;t.isCWD=!1,this.isCWD=!0;let e=new Set([]),i=[],s=this;for(;s&&s.parent;)e.add(s),s.#x=i.join(this.sep),s.#C=i.join("/"),s=s.parent,i.push("..");for(s=t;s&&s.parent&&!e.has(s);)s.#x=void 0,s.#C=void 0,s=s.parent}},Ei=class Ai extends j{sep="\\";splitSep=Er;constructor(e,i=L,s,r,n,o,h){super(e,i,s,r,n,o,h)}newChild(e,i=L,s={}){return new Ai(e,i,this.root,this.roots,this.nocase,this.childrenCache(),s)}getRootString(e){return he.parse(e).root}getRoot(e){if(e=xr(e.toUpperCase()),e===this.root.name)return this.root;for(let[i,s]of Object.entries(this.roots))if(this.sameRoot(e,i))return this.roots[e]=s;return this.roots[e]=new pe(e,this).root}sameRoot(e,i=this.root.name){return e=e.toUpperCase().replace(/\//g,"\\").replace(mi,"$1\\"),e===i}},ki=class Ci extends j{splitSep="/";sep="/";constructor(e,i=L,s,r,n,o,h){super(e,i,s,r,n,o,h)}getRootString(e){return e.startsWith("/")?"/":""}getRoot(e){return this.root}newChild(e,i=L,s={}){return new Ci(e,i,this.root,this.roots,this.nocase,this.childrenCache(),s)}},Oi=class{root;rootPath;roots;cwd;#t;#i;#n;nocase;#r;constructor(t=process.cwd(),e,i,{nocase:s,childrenCacheSize:r=16*1024,fs:n=yt}={}){this.#r=gi(n),(t instanceof URL||t.startsWith("file://"))&&(t=Qs(t));let o=e.resolve(t);this.roots=Object.create(null),this.rootPath=this.parseRootPath(o),this.#t=new He,this.#i=new He,this.#n=new kr(r);let h=o.substring(this.rootPath.length).split(i);if(h.length===1&&!h[0]&&h.pop(),s===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=s,this.root=this.newRoot(this.#r),this.roots[this.rootPath]=this.root;let a=this.root,l=h.length-1,p=e.sep,c=this.rootPath,f=!1;for(let u of h){let d=l--;a=a.child(u,{relative:new Array(d).fill("..").join(p),relativePosix:new Array(d).fill("..").join("/"),fullpath:c+=(f?"":p)+u}),f=!0}this.cwd=a}depth(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.depth()}childrenCache(){return this.#n}resolve(...t){let e="";for(let r=t.length-1;r>=0;r--){let n=t[r];if(!(!n||n===".")&&(e=e?`${n}/${e}`:n,this.isAbsolute(n)))break}let i=this.#t.get(e);if(i!==void 0)return i;let s=this.cwd.resolve(e).fullpath();return this.#t.set(e,s),s}resolvePosix(...t){let e="";for(let r=t.length-1;r>=0;r--){let n=t[r];if(!(!n||n===".")&&(e=e?`${n}/${e}`:n,this.isAbsolute(n)))break}let i=this.#i.get(e);if(i!==void 0)return i;let s=this.cwd.resolve(e).fullpathPosix();return this.#i.set(e,s),s}relative(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.relative()}relativePosix(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.relativePosix()}basename(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.name}dirname(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),(t.parent||t).fullpath()}async readdir(t=this.cwd,e={withFileTypes:!0}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i}=e;if(t.canReaddir()){let s=await t.readdir();return i?s:s.map(r=>r.name)}else return[]}readdirSync(t=this.cwd,e={withFileTypes:!0}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i=!0}=e;return t.canReaddir()?i?t.readdirSync():t.readdirSync().map(s=>s.name):[]}async lstat(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.lstat()}lstatSync(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.lstatSync()}async readlink(t=this.cwd,{withFileTypes:e}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t.withFileTypes,t=this.cwd);let i=await t.readlink();return e?i:i?.fullpath()}readlinkSync(t=this.cwd,{withFileTypes:e}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t.withFileTypes,t=this.cwd);let i=t.readlinkSync();return e?i:i?.fullpath()}async realpath(t=this.cwd,{withFileTypes:e}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t.withFileTypes,t=this.cwd);let i=await t.realpath();return e?i:i?.fullpath()}realpathSync(t=this.cwd,{withFileTypes:e}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t.withFileTypes,t=this.cwd);let i=t.realpathSync();return e?i:i?.fullpath()}async walk(t=this.cwd,e={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=e,o=[];(!r||r(t))&&o.push(i?t:t.fullpath());let h=new Set,a=(p,c)=>{h.add(p),p.readdirCB((f,u)=>{if(f)return c(f);let d=u.length;if(!d)return c();let g=()=>{--d===0&&c()};for(let w of u)(!r||r(w))&&o.push(i?w:w.fullpath()),s&&w.isSymbolicLink()?w.realpath().then(m=>m?.isUnknown()?m.lstat():m).then(m=>m?.shouldWalk(h,n)?a(m,g):g()):w.shouldWalk(h,n)?a(w,g):g()},!0)},l=t;return new Promise((p,c)=>{a(l,f=>{if(f)return c(f);p(o)})})}walkSync(t=this.cwd,e={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=e,o=[];(!r||r(t))&&o.push(i?t:t.fullpath());let h=new Set([t]);for(let a of h){let l=a.readdirSync();for(let p of l){(!r||r(p))&&o.push(i?p:p.fullpath());let c=p;if(p.isSymbolicLink()){if(!(s&&(c=p.realpathSync())))continue;c.isUnknown()&&c.lstatSync()}c.shouldWalk(h,n)&&h.add(c)}}return o}[Symbol.asyncIterator](){return this.iterate()}iterate(t=this.cwd,e={}){return typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd),this.stream(t,e)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(t=this.cwd,e={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=e;(!r||r(t))&&(yield i?t:t.fullpath());let o=new Set([t]);for(let h of o){let a=h.readdirSync();for(let l of a){(!r||r(l))&&(yield i?l:l.fullpath());let p=l;if(l.isSymbolicLink()){if(!(s&&(p=l.realpathSync())))continue;p.isUnknown()&&p.lstatSync()}p.shouldWalk(o,n)&&o.add(p)}}}stream(t=this.cwd,e={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=e,o=new zt({objectMode:!0});(!r||r(t))&&o.write(i?t:t.fullpath());let h=new Set,a=[t],l=0,p=()=>{let c=!1;for(;!c;){let f=a.shift();if(!f){l===0&&o.end();return}l++,h.add(f);let u=(g,w,m=!1)=>{if(g)return o.emit("error",g);if(s&&!m){let y=[];for(let b of w)b.isSymbolicLink()&&y.push(b.realpath().then(v=>v?.isUnknown()?v.lstat():v));if(y.length){Promise.all(y).then(()=>u(null,w,!0));return}}for(let y of w)y&&(!r||r(y))&&(o.write(i?y:y.fullpath())||(c=!0));l--;for(let y of w){let b=y.realpathCached()||y;b.shouldWalk(h,n)&&a.push(b)}c&&!o.flowing?o.once("drain",p):d||p()},d=!0;f.readdirCB(u,!0),d=!1}};return p(),o}streamSync(t=this.cwd,e={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof j||(e=t,t=this.cwd);let{withFileTypes:i=!0,follow:s=!1,filter:r,walkFilter:n}=e,o=new zt({objectMode:!0}),h=new Set;(!r||r(t))&&o.write(i?t:t.fullpath());let a=[t],l=0,p=()=>{let c=!1;for(;!c;){let f=a.shift();if(!f){l===0&&o.end();return}l++,h.add(f);let u=f.readdirSync();for(let d of u)(!r||r(d))&&(o.write(i?d:d.fullpath())||(c=!0));l--;for(let d of u){let g=d;if(d.isSymbolicLink()){if(!(s&&(g=d.realpathSync())))continue;g.isUnknown()&&g.lstatSync()}g.shouldWalk(h,n)&&a.push(g)}}c&&!o.flowing&&o.once("drain",p)};return p(),o}chdir(t=this.cwd){let e=this.cwd;this.cwd=typeof t=="string"?this.cwd.resolve(t):t,this.cwd[xi](e)}},pe=class extends Oi{sep="\\";constructor(t=process.cwd(),e={}){let{nocase:i=!0}=e;super(t,he,"\\",{...e,nocase:i}),this.nocase=i;for(let s=this.cwd;s;s=s.parent)s.nocase=this.nocase}parseRootPath(t){return he.parse(t).root.toUpperCase()}newRoot(t){return new Ei(this.rootPath,U,void 0,this.roots,this.nocase,this.childrenCache(),{fs:t})}isAbsolute(t){return t.startsWith("/")||t.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(t)}},ue=class extends Oi{sep="/";constructor(t=process.cwd(),e={}){let{nocase:i=!1}=e;super(t,Xs,"/",{...e,nocase:i}),this.nocase=i}parseRootPath(t){return"/"}newRoot(t){return new ki(this.rootPath,U,void 0,this.roots,this.nocase,this.childrenCache(),{fs:t})}isAbsolute(t){return t.startsWith("/")}},Ti=class extends ue{constructor(t=process.cwd(),e={}){let{nocase:i=!0}=e;super(t,{...e,nocase:i})}},pn=process.platform==="win32"?Ei:ki,Cr=process.platform==="win32"?pe:process.platform==="darwin"?Ti:ue,Or=t=>t.length>=1,Tr=t=>t.length>=1,Fr=Symbol.for("nodejs.util.inspect.custom"),Fi=class Ri{#t;#i;#n;length;#r;#o;#v;#w;#c;#h;#u=!0;constructor(e,i,s,r){if(!Or(e))throw new TypeError("empty pattern list");if(!Tr(i))throw new TypeError("empty glob list");if(i.length!==e.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=e.length,s<0||s>=this.length)throw new TypeError("index out of range");if(this.#t=e,this.#i=i,this.#n=s,this.#r=r,this.#n===0){if(this.isUNC()){let[n,o,h,a,...l]=this.#t,[p,c,f,u,...d]=this.#i;l[0]===""&&(l.shift(),d.shift());let g=[n,o,h,a,""].join("/"),w=[p,c,f,u,""].join("/");this.#t=[g,...l],this.#i=[w,...d],this.length=this.#t.length}else if(this.isDrive()||this.isAbsolute()){let[n,...o]=this.#t,[h,...a]=this.#i;o[0]===""&&(o.shift(),a.shift());let l=n+"/",p=h+"/";this.#t=[l,...o],this.#i=[p,...a],this.length=this.#t.length}}}[Fr](){return"Pattern <"+this.#i.slice(this.#n).join("/")+">"}pattern(){return this.#t[this.#n]}isString(){return typeof this.#t[this.#n]=="string"}isGlobstar(){return this.#t[this.#n]===F}isRegExp(){return this.#t[this.#n]instanceof RegExp}globString(){return this.#v=this.#v||(this.#n===0?this.isAbsolute()?this.#i[0]+this.#i.slice(1).join("/"):this.#i.join("/"):this.#i.slice(this.#n).join("/"))}hasMore(){return this.length>this.#n+1}rest(){return this.#o!==void 0?this.#o:this.hasMore()?(this.#o=new Ri(this.#t,this.#i,this.#n+1,this.#r),this.#o.#h=this.#h,this.#o.#c=this.#c,this.#o.#w=this.#w,this.#o):this.#o=null}isUNC(){let e=this.#t;return this.#c!==void 0?this.#c:this.#c=this.#r==="win32"&&this.#n===0&&e[0]===""&&e[1]===""&&typeof e[2]=="string"&&!!e[2]&&typeof e[3]=="string"&&!!e[3]}isDrive(){let e=this.#t;return this.#w!==void 0?this.#w:this.#w=this.#r==="win32"&&this.#n===0&&this.length>1&&typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0])}isAbsolute(){let e=this.#t;return this.#h!==void 0?this.#h:this.#h=e[0]===""&&e.length>1||this.isDrive()||this.isUNC()}root(){let e=this.#t[0];return typeof e=="string"&&this.isAbsolute()&&this.#n===0?e:""}checkFollowGlobstar(){return!(this.#n===0||!this.isGlobstar()||!this.#u)}markFollowGlobstar(){return this.#n===0||!this.isGlobstar()||!this.#u?!1:(this.#u=!1,!0)}},Rr=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",Ve=class{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(t,{nobrace:e,nocase:i,noext:s,noglobstar:r,platform:n=Rr}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=n,this.mmopts={dot:!0,nobrace:e,nocase:i,noext:s,noglobstar:r,optimizationLevel:2,platform:n,nocomment:!0,nonegate:!0};for(let o of t)this.add(o)}add(t){let e=new Z(t,this.mmopts);for(let i=0;i<e.set.length;i++){let s=e.set[i],r=e.globParts[i];if(!s||!r)throw new Error("invalid pattern object");for(;s[0]==="."&&r[0]===".";)s.shift(),r.shift();let n=new Fi(s,r,0,this.platform),o=new Z(n.globString(),this.mmopts),h=r[r.length-1]==="**",a=n.isAbsolute();a?this.absolute.push(o):this.relative.push(o),h&&(a?this.absoluteChildren.push(o):this.relativeChildren.push(o))}}ignored(t){let e=t.fullpath(),i=`${e}/`,s=t.relative()||".",r=`${s}/`;for(let n of this.relative)if(n.match(s)||n.match(r))return!0;for(let n of this.absolute)if(n.match(e)||n.match(i))return!0;return!1}childrenIgnored(t){let e=t.fullpath()+"/",i=(t.relative()||".")+"/";for(let s of this.relativeChildren)if(s.match(i))return!0;for(let s of this.absoluteChildren)if(s.match(e))return!0;return!1}},jr=class ji{store;constructor(e=new Map){this.store=e}copy(){return new ji(new Map(this.store))}hasWalked(e,i){return this.store.get(e.fullpath())?.has(i.globString())}storeWalked(e,i){let s=e.fullpath(),r=this.store.get(s);r?r.add(i.globString()):this.store.set(s,new Set([i.globString()]))}},Pr=class{store=new Map;add(t,e,i){let s=(e?2:0)|(i?1:0),r=this.store.get(t);this.store.set(t,r===void 0?s:s&r)}entries(){return[...this.store.entries()].map(([t,e])=>[t,!!(e&2),!!(e&1)])}},Dr=class{store=new Map;add(t,e){if(!t.canReaddir())return;let i=this.store.get(t);i?i.find(s=>s.globString()===e.globString())||i.push(e):this.store.set(t,[e])}get(t){let e=this.store.get(t);if(!e)throw new Error("attempting to walk unknown path");return e}entries(){return this.keys().map(t=>[t,this.store.get(t)])}keys(){return[...this.store.keys()].filter(t=>t.canReaddir())}},Ye=class Pi{hasWalkedCache;matches=new Pr;subwalks=new Dr;patterns;follow;dot;opts;constructor(e,i){this.opts=e,this.follow=!!e.follow,this.dot=!!e.dot,this.hasWalkedCache=i?i.copy():new jr}processPatterns(e,i){this.patterns=i;let s=i.map(r=>[e,r]);for(let[r,n]of s){this.hasWalkedCache.storeWalked(r,n);let o=n.root(),h=n.isAbsolute()&&this.opts.absolute!==!1;if(o){r=r.resolve(o==="/"&&this.opts.root!==void 0?this.opts.root:o);let c=n.rest();if(c)n=c;else{this.matches.add(r,!0,!1);continue}}if(r.isENOENT())continue;let a,l,p=!1;for(;typeof(a=n.pattern())=="string"&&(l=n.rest());)r=r.resolve(a),n=l,p=!0;if(a=n.pattern(),l=n.rest(),p){if(this.hasWalkedCache.hasWalked(r,n))continue;this.hasWalkedCache.storeWalked(r,n)}if(typeof a=="string"){let c=a===".."||a===""||a===".";this.matches.add(r.resolve(a),h,c);continue}else if(a===F){(!r.isSymbolicLink()||this.follow||n.checkFollowGlobstar())&&this.subwalks.add(r,n);let c=l?.pattern(),f=l?.rest();if(!l||(c===""||c===".")&&!f)this.matches.add(r,h,c===""||c===".");else if(c===".."){let u=r.parent||r;f?this.hasWalkedCache.hasWalked(u,f)||this.subwalks.add(u,f):this.matches.add(u,h,!0)}}else a instanceof RegExp&&this.subwalks.add(r,n)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new Pi(this.opts,this.hasWalkedCache)}filterEntries(e,i){let s=this.subwalks.get(e),r=this.child();for(let n of i)for(let o of s){let h=o.isAbsolute(),a=o.pattern(),l=o.rest();a===F?r.testGlobstar(n,o,l,h):a instanceof RegExp?r.testRegExp(n,a,l,h):r.testString(n,a,l,h)}return r}testGlobstar(e,i,s,r){if((this.dot||!e.name.startsWith("."))&&(i.hasMore()||this.matches.add(e,r,!1),e.canReaddir()&&(this.follow||!e.isSymbolicLink()?this.subwalks.add(e,i):e.isSymbolicLink()&&(s&&i.checkFollowGlobstar()?this.subwalks.add(e,s):i.markFollowGlobstar()&&this.subwalks.add(e,i)))),s){let n=s.pattern();if(typeof n=="string"&&n!==".."&&n!==""&&n!==".")this.testString(e,n,s.rest(),r);else if(n===".."){let o=e.parent||e;this.subwalks.add(o,s)}else n instanceof RegExp&&this.testRegExp(e,n,s.rest(),r)}}testRegExp(e,i,s,r){i.test(e.name)&&(s?this.subwalks.add(e,s):this.matches.add(e,r,!1))}testString(e,i,s,r){e.isNamed(i)&&(s?this.subwalks.add(e,s):this.matches.add(e,r,!1))}},$r=(t,e)=>typeof t=="string"?new Ve([t],e):Array.isArray(t)?new Ve(t,e):t,Di=class{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#t=[];#i;#n;signal;maxDepth;includeChildMatches;constructor(t,e,i){if(this.patterns=t,this.path=e,this.opts=i,this.#n=!i.posix&&i.platform==="win32"?"\\":"/",this.includeChildMatches=i.includeChildMatches!==!1,(i.ignore||!this.includeChildMatches)&&(this.#i=$r(i.ignore??[],i),!this.includeChildMatches&&typeof this.#i.add!="function")){let s="cannot ignore child matches, ignore lacks add() method.";throw new Error(s)}this.maxDepth=i.maxDepth||1/0,i.signal&&(this.signal=i.signal,this.signal.addEventListener("abort",()=>{this.#t.length=0}))}#r(t){return this.seen.has(t)||!!this.#i?.ignored?.(t)}#o(t){return!!this.#i?.childrenIgnored?.(t)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let t;for(;!this.paused&&(t=this.#t.shift());)t()}onResume(t){this.signal?.aborted||(this.paused?this.#t.push(t):t())}async matchCheck(t,e){if(e&&this.opts.nodir)return;let i;if(this.opts.realpath){if(i=t.realpathCached()||await t.realpath(),!i)return;t=i}let s=t.isUnknown()||this.opts.stat?await t.lstat():t;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let r=await s.realpath();r&&(r.isUnknown()||this.opts.stat)&&await r.lstat()}return this.matchCheckTest(s,e)}matchCheckTest(t,e){return t&&(this.maxDepth===1/0||t.depth()<=this.maxDepth)&&(!e||t.canReaddir())&&(!this.opts.nodir||!t.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!t.isSymbolicLink()||!t.realpathCached()?.isDirectory())&&!this.#r(t)?t:void 0}matchCheckSync(t,e){if(e&&this.opts.nodir)return;let i;if(this.opts.realpath){if(i=t.realpathCached()||t.realpathSync(),!i)return;t=i}let s=t.isUnknown()||this.opts.stat?t.lstatSync():t;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let r=s.realpathSync();r&&(r?.isUnknown()||this.opts.stat)&&r.lstatSync()}return this.matchCheckTest(s,e)}matchFinish(t,e){if(this.#r(t))return;if(!this.includeChildMatches&&this.#i?.add){let r=`${t.relativePosix()}/**`;this.#i.add(r)}let i=this.opts.absolute===void 0?e:this.opts.absolute;this.seen.add(t);let s=this.opts.mark&&t.isDirectory()?this.#n:"";if(this.opts.withFileTypes)this.matchEmit(t);else if(i){let r=this.opts.posix?t.fullpathPosix():t.fullpath();this.matchEmit(r+s)}else{let r=this.opts.posix?t.relativePosix():t.relative(),n=this.opts.dotRelative&&!r.startsWith(".."+this.#n)?"."+this.#n:"";this.matchEmit(r?n+r+s:"."+s)}}async match(t,e,i){let s=await this.matchCheck(t,i);s&&this.matchFinish(s,e)}matchSync(t,e,i){let s=this.matchCheckSync(t,i);s&&this.matchFinish(s,e)}walkCB(t,e,i){this.signal?.aborted&&i(),this.walkCB2(t,e,new Ye(this.opts),i)}walkCB2(t,e,i,s){if(this.#o(t))return s();if(this.signal?.aborted&&s(),this.paused){this.onResume(()=>this.walkCB2(t,e,i,s));return}i.processPatterns(t,e);let r=1,n=()=>{--r===0&&s()};for(let[o,h,a]of i.matches.entries())this.#r(o)||(r++,this.match(o,h,a).then(()=>n()));for(let o of i.subwalkTargets()){if(this.maxDepth!==1/0&&o.depth()>=this.maxDepth)continue;r++;let h=o.readdirCached();o.calledReaddir()?this.walkCB3(o,h,i,n):o.readdirCB((a,l)=>this.walkCB3(o,l,i,n),!0)}n()}walkCB3(t,e,i,s){i=i.filterEntries(t,e);let r=1,n=()=>{--r===0&&s()};for(let[o,h,a]of i.matches.entries())this.#r(o)||(r++,this.match(o,h,a).then(()=>n()));for(let[o,h]of i.subwalks.entries())r++,this.walkCB2(o,h,i.child(),n);n()}walkCBSync(t,e,i){this.signal?.aborted&&i(),this.walkCB2Sync(t,e,new Ye(this.opts),i)}walkCB2Sync(t,e,i,s){if(this.#o(t))return s();if(this.signal?.aborted&&s(),this.paused){this.onResume(()=>this.walkCB2Sync(t,e,i,s));return}i.processPatterns(t,e);let r=1,n=()=>{--r===0&&s()};for(let[o,h,a]of i.matches.entries())this.#r(o)||this.matchSync(o,h,a);for(let o of i.subwalkTargets()){if(this.maxDepth!==1/0&&o.depth()>=this.maxDepth)continue;r++;let h=o.readdirSync();this.walkCB3Sync(o,h,i,n)}n()}walkCB3Sync(t,e,i,s){i=i.filterEntries(t,e);let r=1,n=()=>{--r===0&&s()};for(let[o,h,a]of i.matches.entries())this.#r(o)||this.matchSync(o,h,a);for(let[o,h]of i.subwalks.entries())r++,this.walkCB2Sync(o,h,i.child(),n);n()}},Je=class extends Di{matches=new Set;constructor(t,e,i){super(t,e,i)}matchEmit(t){this.matches.add(t)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((t,e)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?e(this.signal.reason):t(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}},qe=class extends Di{results;constructor(t,e,i){super(t,e,i),this.results=new zt({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(t){this.results.write(t),this.results.flowing||this.pause()}stream(){let t=this.path;return t.isUnknown()?t.lstat().then(()=>{this.walkCB(t,this.patterns,()=>this.results.end())}):this.walkCB(t,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}},Mr=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",et=class{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(t,e){if(!e)throw new TypeError("glob options required");if(this.withFileTypes=!!e.withFileTypes,this.signal=e.signal,this.follow=!!e.follow,this.dot=!!e.dot,this.dotRelative=!!e.dotRelative,this.nodir=!!e.nodir,this.mark=!!e.mark,e.cwd?(e.cwd instanceof URL||e.cwd.startsWith("file://"))&&(e.cwd=Js(e.cwd)):this.cwd="",this.cwd=e.cwd||"",this.root=e.root,this.magicalBraces=!!e.magicalBraces,this.nobrace=!!e.nobrace,this.noext=!!e.noext,this.realpath=!!e.realpath,this.absolute=e.absolute,this.includeChildMatches=e.includeChildMatches!==!1,this.noglobstar=!!e.noglobstar,this.matchBase=!!e.matchBase,this.maxDepth=typeof e.maxDepth=="number"?e.maxDepth:1/0,this.stat=!!e.stat,this.ignore=e.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof t=="string"&&(t=[t]),this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||e.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(t=t.map(h=>h.replace(/\\/g,"/"))),this.matchBase){if(e.noglobstar)throw new TypeError("base matching requires globstar");t=t.map(h=>h.includes("/")?h:`./**/${h}`)}if(this.pattern=t,this.platform=e.platform||Mr,this.opts={...e,platform:this.platform},e.scurry){if(this.scurry=e.scurry,e.nocase!==void 0&&e.nocase!==e.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let h=e.platform==="win32"?pe:e.platform==="darwin"?Ti:e.platform?ue:Cr;this.scurry=new h(this.cwd,{nocase:e.nocase,fs:e.fs})}this.nocase=this.scurry.nocase;let i=this.platform==="darwin"||this.platform==="win32",s={braceExpandMax:1e4,...e,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:i,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},r=this.pattern.map(h=>new Z(h,s)),[n,o]=r.reduce((h,a)=>(h[0].push(...a.set),h[1].push(...a.globParts),h),[[],[]]);this.patterns=n.map((h,a)=>{let l=o[a];if(!l)throw new Error("invalid pattern object");return new Fi(h,l,0,this.platform)})}async walk(){return[...await new Je(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new Je(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new qe(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new qe(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}},fe=(t,e={})=>{Array.isArray(t)||(t=[t]);for(let i of t)if(new Z(i,e).hasMagic())return!0;return!1};function It(t,e={}){return new et(t,e).streamSync()}function $i(t,e={}){return new et(t,e).stream()}function Mi(t,e={}){return new et(t,e).walkSync()}async function Ke(t,e={}){return new et(t,e).walk()}function Ut(t,e={}){return new et(t,e).iterateSync()}function Li(t,e={}){return new et(t,e).iterate()}var Lr=It,Wr=Object.assign($i,{sync:It}),Nr=Ut,zr=Object.assign(Li,{sync:Ut}),_r=Object.assign(Mi,{stream:It,iterate:Ut}),_t=Object.assign(Ke,{glob:Ke,globSync:Mi,sync:_r,globStream:$i,stream:Wr,globStreamSync:It,streamSync:Lr,globIterate:Li,iterate:zr,globIterateSync:Ut,iterateSync:Nr,Glob:et,hasMagic:fe,escape:ri,unescape:at});_t.glob=_t;import*as W from"node:fs";import{basename as Wi,dirname as xt,extname as St,join as Ni,resolve as lt,relative as Br}from"node:path";import*as V from"node:process";import{performance as Ir}from"perf_hooks";var Gt=["json","yaml","yml"];async function Bi(t,e){let s=!qt(t)&&we(e.resolvedConfig.apis)?Gr(e):await Hr(t,e),r=s.filter(({path:n})=>!Ur(n));if(qt(r)){for(let{path:n}of r)x.warn(`
|
|
10
|
+
${Et(n)} ${be(`does not exist or is invalid.
|
|
11
|
+
|
|
12
|
+
`)}`);z("Please provide a valid path.")}return s.length===0&&z("No APIs were provided. Specify an API via the command argument or define one in your config."),s}function Vt(t){return t.configPath?xt(t.configPath):V.cwd()}function Ur(t){if(!t.trim()){z("Path cannot be empty.");return}return W.existsSync(t)||nt(t)?t:void 0}function Gr(t){return Object.entries(t.resolvedConfig.apis||{}).map(([e,{root:i,output:s}])=>({path:nt(i)?i:lt(Vt(t),i),alias:e,output:s&<(Vt(t),s)}))}function zi(t,e){let i=Vt(t),s=t.resolvedConfig.apis?.[e];return s?{path:nt(s.root)?s.root:lt(i,s.root),alias:e,output:s.output&<(i,s.output)}:{path:e,alias:Object.entries(t.resolvedConfig.apis||{}).find(([r,n])=>lt(i,n.root)===lt(e))?.[0]??void 0}}async function Hr(t,e){return(await Promise.all(t.map(async i=>fe(i)&&!nt(i)?(await _t(i,{cwd:Vt(e)})).map(n=>zi(e,n)):zi(e,i)))).flat()}function de(t){return V.env.NODE_ENV==="test"?"<test>ms":`${Math.ceil(Ir.now()-t)}ms`}function Hn(t,e,i){let s=de(e);x.info(X(`
|
|
13
|
+
${i}: ${t} processed in ${s}
|
|
14
|
+
|
|
15
|
+
`))}function Vn(t,e){return t==="/"?e:t.replaceAll("~1","/").replaceAll("~0","~").replace(/^\//,"").replaceAll("/",e)}function Yn(t){return t.replace(/#/g,"_sharp").replace(/\//,"_").replace(/\s/g,"")}function Jn(t){return{php:".php","c#":".cs",shell:".sh",curl:".sh",bash:".sh",javascript:".js",js:".js",python:".py",c:".c","c++":".cpp",coffeescript:".litcoffee",dart:".dart",elixir:".ex",go:".go",groovy:".groovy",java:".java",kotlin:".kt","objective-c":".m",perl:".pl",powershell:".ps1",ruby:".rb",rust:".rs",scala:".sc",swift:".swift",typescript:".ts",tsx:".tsx","visual basic":".vb","c/al":".al"}[t.toLowerCase()]??""}var Yt=class t extends Error{constructor(i){super(i.message);this.originalError=i;Object.setPrototypeOf(this,t.prototype)}originalError};function qn(t,e,i){if(e==="json")try{return JSON.stringify(t,null,2)}catch(s){throw s.message.indexOf("circular")>-1?new Yt(s):s}else return Kt(t,{noRefs:!i,lineWidth:-1})}function Kn(t,e){W.mkdirSync(xt(t),{recursive:!0}),W.writeFileSync(t,e)}function Zn(t){return ye(W.readFileSync(t,"utf-8"),{filename:t})}function Xn(t,e,i){if(Jr(e)==="json"){Yr(t,e);return}Vr(t,e,i)}function Vr(t,e,i=!1){let s=Kt(t,{noRefs:i});if(V.env.NODE_ENV==="test"){x.info(s);return}W.mkdirSync(xt(e),{recursive:!0}),W.writeFileSync(e,s)}function Yr(t,e){let i=JSON.stringify(t,null,2);if(V.env.NODE_ENV==="test"){x.info(i);return}W.mkdirSync(xt(e),{recursive:!0}),W.writeFileSync(e,i)}function Jr(t){let e=t.split(".").pop();return Gt.includes(e)?e:(x.warn(`Unsupported file extension: ${e}. Using yaml.
|
|
16
|
+
`),"yaml")}function ge(t,e){switch(t.constructor){case Ce:throw t;case xe:z(`Failed to resolve API description at ${e}:
|
|
17
|
+
|
|
18
|
+
- ${t.message}`);break;case Se:z(`Failed to parse API description at ${e}:
|
|
19
|
+
|
|
20
|
+
- ${t.message}`);break;case Yt:{z(`Detected circular reference which can't be converted to JSON.
|
|
21
|
+
Try to use ${J("yaml")} output or remove ${J("--dereferenced")}.`);break}case SyntaxError:z(`Syntax error: ${t.message} ${t.stack?.split(`
|
|
22
|
+
|
|
23
|
+
`)?.[0]}`);break;case kt:z(t.message);break;default:z(`Something went wrong when processing ${e}:
|
|
24
|
+
|
|
25
|
+
- ${t.message}`)}}function Ii(t,e){let i=t.ignored?ve(`${t.ignored} ${N("problem is",t.ignored)} explicitly ignored.
|
|
26
|
+
|
|
27
|
+
`):"";t.errors>0?x.error(`\u274C Validation failed with ${t.errors} ${N("error",t.errors)}${t.warnings>0?` and ${t.warnings} ${N("warning",t.warnings)}`:""}.
|
|
28
|
+
${i}`):t.warnings>0?(x.info(At(`Woohoo! Your API ${N("description is",e)} valid. \u{1F389}
|
|
29
|
+
`)),x.warn(`You have ${t.warnings} ${N("warning",t.warnings)}.
|
|
30
|
+
${i}`)):x.info(At(`Woohoo! Your API ${N("description is",e)} valid. \u{1F389}
|
|
31
|
+
${i}`)),t.errors>0&&x.info(X("run `redocly lint --generate-ignore-file` to add all problems to the ignore file.\n")),x.info(`
|
|
32
|
+
`)}function Ui(t,e){t.errors>0?x.error(`\u274C Your config has ${t.errors} ${N("error",t.errors)}.
|
|
33
|
+
`):t.warnings>0?x.warn(`\u26A0\uFE0F Your config has ${t.warnings} ${N("warning",t.warnings)}.
|
|
34
|
+
`):e==="check-config"&&x.info(At(`\u2705 Your config is valid.
|
|
35
|
+
`))}function Qn({entrypoint:t,output:e,argvOutput:i,ext:s,entries:r}){let n=e||i;if(!n)return{ext:s||"yaml"};if(r>1&&i){if(s=s||St(t).substring(1),!Gt.includes(s))throw new Error(`Invalid file extension: ${s}.`);n=Ni(i,Wi(t,St(t)))+"."+s}else{if(s=s||St(n).substring(1)||St(t).substring(1),!Gt.includes(s))throw new Error(`Invalid file extension: ${s}.`);n=Ni(xt(n),Wi(n,St(n)))+"."+s}return{outputFile:n,ext:s}}function Gi(t){let{preprocessors:e,rules:i,decorators:s}=t.getUnusedRules();i.length&&x.warn(`[WARNING] Unused rules found in ${J(t.configPath||"")}: ${i.join(", ")}.
|
|
36
|
+
`),e.length&&x.warn(`[WARNING] Unused preprocessors found in ${J(t.configPath||"")}: ${e.join(", ")}.
|
|
37
|
+
`),s.length&&x.warn(`[WARNING] Unused decorators found in ${J(t.configPath||"")}: ${s.join(", ")}.
|
|
38
|
+
`),(i.length||e.length)&&x.warn(`Check the spelling and verify the added plugin prefix.
|
|
39
|
+
`)}async function to(t,e){try{let i=await Ee({configPath:t.config,customExtends:t.extends});return await _i(t,e,i),i}catch(i){ge(i,"")}}function qr(t){return t.asyncapi?.startsWith("2")}var Kr=["swagger","info","host","basePath","schemes","consumes","produces","security","tags","externalDocs","paths","definitions","parameters","responses","securityDefinitions"],Zr=["openapi","info","jsonSchemaDialect","servers","security","tags","externalDocs","paths","webhooks","x-webhooks","components"],Xr=["asyncapi","id","info","externalDocs","tags","defaultContentType","servers","channels","components"],Qr=["asyncapi","info","defaultContentType","servers","channels","operations","components"];function eo(t){return"asyncapi"in t?qr(t)?Ht(t,Xr):Ht(t,Qr):"swagger"in t?Ht(t,Kr):Ht(t,Zr)}function Ht(t,e){let i={};for(let s of e)t.hasOwnProperty(s)&&(i[s]=t[s]);return Object.assign(i,t)}function Hi(t){let e={...t.oas2,...t.oas3_0,...t.oas3_1,...t.oas3_2,...t.async2,...t.async3,...t.arazzo1,...t.overlay1,...t.openrpc1,...t.graphql};me(e)&&z("\u26A0\uFE0F No rules were configured. Learn how to configure rules: https://redocly.com/docs/cli/rules/")}function io(t){return t.replace(/\x1b\[\d+m/g,"")}function Et(t){return nt(t)?t:Br(V.cwd(),t)}function so(t){return t?.length>0?t[0].toUpperCase()+t.slice(1):t}async function po({argv:t,config:e,version:i,collectSpecData:s}){let r=await Bi(t.apis,e),n={errors:0,warnings:0,ignored:0},o=0,h=t.format==="checkstyle"||t.format==="junit",a=[];for(let{path:l,alias:p}of r)try{let c=tn.now(),f=e.forAlias(p);Hi(f.rules),f.skipRules(t["skip-rule"]),f.skipPreprocessors(t["skip-preprocessor"]),typeof e.document?.parsed>"u"&&!t.extends&&x.info(`No configurations were provided -- using built in ${J("recommended")} configuration by default.
|
|
40
|
+
|
|
41
|
+
`),p===void 0?x.info(X(`validating ${Et(l)}...
|
|
42
|
+
`)):x.info(X(`validating ${Et(l)} using lint rules for api '${p}'...
|
|
43
|
+
`));let u=await Ae({ref:l,config:f,collectSpecData:s}),d=Zt(u);if(n.errors+=d.errors,n.warnings+=d.warnings,n.ignored+=d.ignored,t["generate-ignore-file"]){e.clearIgnoreForRef(l);for(let w of u)e.addIgnore(w),o++}else h?a.push(...u):Ct(u,{format:t.format,maxProblems:t["max-problems"],totals:d,version:i,command:"lint"});let g=de(c);x.info(X(`${Et(l)}: validated in ${g}
|
|
44
|
+
|
|
45
|
+
`))}catch(c){ge(c,l)}if(h&&!t["generate-ignore-file"]&&Ct(a,{format:t.format,maxProblems:t["max-problems"],totals:n,version:i,command:"lint"}),t["generate-ignore-file"]?(e.saveIgnore(),x.info(`Explicitly ignored ${o} ${N("problem",o)}.
|
|
46
|
+
|
|
47
|
+
`)):Ii(n,r.length),Gi(e),!(n.errors===0||t["generate-ignore-file"]))throw new Oe("Lint failed.")}async function _i(t,e,i){if(t["lint-config"]==="off"||i.document===void 0||t.format==="json"||t.format==="junit"||t.format==="checkstyle")return;let s=t?Te(t):void 0,r=await ke({config:i,severity:t["lint-config"]||"warn"}),n=Zt(r);if(Ct(r,{format:t.format,maxProblems:t["max-problems"],totals:n,version:e,command:"check-config"}),Ui(n,s),n.errors>0)throw new kt}export{po as a,Gt as b,Bi as c,zi as d,de as e,Hn as f,Vn as g,Yn as h,Jn as i,qn as j,Kn as k,Zn as l,Xn as m,Jr as n,ge as o,Qn as p,Gi as q,to as r,eo as s,io as t,Et as u,so as v};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as x}from"./UXH3ZSSV.js";import{a as v,b as y,c as R,d as u}from"./QFG7TTKG.js";import{c as f,d as w}from"./L3YH7RCT.js";import{a as g,b as m}from"./X6IKW6K4.js";import{O as a}from"./WNTLDT6L.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";import{mkdir as A,writeFile as C}from"node:fs/promises";import S from"node:path";async function F(e){let i=await w(e.trafficPath);if(i.length===0)throw new Error("No traffic files found in the provided traffic path.");let t=y.create({openApiIndex:e.openApiIndex,matchMode:e.matchMode,ignoreCookies:e.ignoreCookies,ignoreHeaders:e.ignoreHeaders,previewFindingsLimit:e.previewFindingsLimit,activeRules:e.activeRules,server:e.server,minSeverity:e.minSeverity}),r=0,o=0;for(let n of i){let s=await x(n,e.format);if(!s){a.warn(`Skipping traffic file with unrecognized format: ${n}
|
|
8
|
+
`);continue}r+=1;for await(let c of s.parse(n))await t.process({...c,index:o}),o+=1}if(r===0)throw new Error("No supported traffic files found. In auto mode, files must match built-in traffic parser signatures.");if(o===0)throw new Error("No HTTP exchanges were parsed from the provided traffic files.");return t.finalize()}var E=!!process.stdout.isTTY&&process.env.NO_COLOR===void 0;function T(e){let i=new Set;for(let t of e.operationsByMethod.values())for(let r of t)for(let o of r.servers)i.add(o.rawUrl);return Array.from(i).sort()}function I(e,i,t){let r=e.totalExchanges-e.skippedExchanges;if(r===0&&e.skippedExchanges>0){a.warn(`All ${e.skippedExchanges} exchange(s) were outside the --server "${t}" and were skipped. Check that the server matches the traffic URLs.
|
|
9
|
+
`);return}if(e.documentedExchanges>0||r===0)return;let o=T(i),n=t?`Check that the --server "${t}" matches the traffic URLs and that the description paths align with the remainder.`:e.hostCompatibleExchanges===r?`The traffic hosts are compatible with the description servers (${o.join(", ")}), so the endpoints are likely undocumented; if they should be documented, check that the description base paths and paths align with the traffic URLs, or use --server to declare the server the traffic was captured against.`:`Check that the traffic host and base path match the description servers (${o.join(", ")}), or use --server to declare the server the traffic was captured against.`;a.warn(`None of the ${r} validated exchange(s) matched a documented operation. ${n}
|
|
10
|
+
`)}async function $(e,i){let t=f(e);await A(S.dirname(t),{recursive:!0}),await C(t,i,"utf8")}async function q({argv:e,config:i}){let t=f(e.traffic),r=e["traffic-format"],o=e.rules?u(e.rules):void 0,n=e["ignore-headers"]?u(e["ignore-headers"]):void 0,s=e.server;if(s&&e["match-mode"])return m("The --server and --match-mode options are mutually exclusive: --match-mode controls how requests are located via the description servers, while --server replaces the description servers with the one the traffic was captured against.");let c=e["match-mode"]??"strict-host",d=f(e.api),p=await R(d,i);if(p.loadedOperations===0)return m(`No OpenAPI operations were loaded from: ${d}`);let{runId:k,summary:h,findings:O}=await F({trafficPath:t,format:r,matchMode:c,ignoreCookies:e["ignore-cookies"],ignoreHeaders:n,previewFindingsLimit:e["max-findings"],activeRules:o,openApiIndex:p,server:s,minSeverity:e["min-severity"]});I(h,p,s);let l=v({runId:k,summary:h,findings:O,meta:{specSource:d,trafficPath:t,format:r,matchMode:c,server:s}},{format:e["report-format"],color:E&&e["report-format"]==="pretty"&&!e.output,maxFindings:e["max-findings"]});if(e.output?(await $(e.output,l),a.info(`Drift report written to: ${f(e.output)}
|
|
11
|
+
`)):a.output(l),h.findingsBySeverity.error>0)throw new g("Drift detected.")}export{q as handleDrift};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as g}from"./AE6JGTY4.js";import{b as o,c as u}from"./KLY5RV3W.js";import{a as s,c as a,f as d}from"./RFWIIJFG.js";var _=a(e=>{Object.defineProperty(e,"__esModule",{value:!0});e.getMachineId=void 0;var n=s("process"),h=g(),y=(u(),d(o));async function E(){let c="QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",t="%windir%\\System32\\REG.exe";n.arch==="ia32"&&"PROCESSOR_ARCHITEW6432"in n.env&&(t="%windir%\\sysnative\\cmd.exe /c "+t);try{let r=(await(0,h.execAsync)(`${t} ${c}`)).stdout.split("REG_SZ");if(r.length===2)return r[1].trim()}catch(i){y.diag.debug(`error reading machine id: ${i}`)}}e.getMachineId=E});export default _();
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d,e,f,g}from"./PFD7KGH7.js";import"./O6PRCLSV.js";import"./32XCOMOR.js";import"./WNTLDT6L.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{d as RESET_ESCAPE_CODE,c as calculateTotals,f as conditionallyMaskSecrets,b as generate,e as maskSecrets,a as parseRuntimeExpression,g as run};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as c,c as r}from"./RFWIIJFG.js";var t=r(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.execAsync=void 0;var s=c("child_process"),i=c("util");e.execAsync=i.promisify(s.exec)});export{t as a};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{O as e}from"./WNTLDT6L.js";var n=["get","put","post","delete","options","head","patch","trace","query"],o=["schemas","responses","parameters","examples","headers","requestBodies","links","callbacks","securitySchemes"];import*as r from"node:process";var i=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],t=class{frames;currentFrame;intervalId;message;constructor(){this.frames=i,this.currentFrame=0,this.intervalId=null,this.message=""}showFrame(){e.info("\r"+this.frames[this.currentFrame]+" "+this.message),this.currentFrame=(this.currentFrame+1)%this.frames.length}start(s){if(this.message!==s){if(this.message=s,!r.stderr.isTTY){e.info(`${s}...
|
|
8
|
+
`);return}this.intervalId===null&&(this.intervalId=setInterval(()=>{this.showFrame()},100))}}stop(){this.intervalId!==null&&(clearInterval(this.intervalId),this.intervalId=null,e.info("\r")),this.message=""}};export{n as a,o as b,t as c};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a}from"./AE6JGTY4.js";import{b as s,c as u}from"./KLY5RV3W.js";import{c,f as d}from"./RFWIIJFG.js";var g=c(e=>{Object.defineProperty(e,"__esModule",{value:!0});e.getMachineId=void 0;var o=a(),l=(u(),d(s));async function f(){try{let i=(await(0,o.execAsync)('ioreg -rd1 -c "IOPlatformExpertDevice"')).stdout.split(`
|
|
8
|
+
`).find(r=>r.includes("IOPlatformUUID"));if(!i)return;let n=i.split('" = "');if(n.length===2)return n[1].slice(0,-1)}catch(t){l.diag.debug(`error reading machine id: ${t}`)}}e.getMachineId=f});export default g();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
var __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as ae}from"./WZXA5XPB.js";import"./RFWIIJFG.js";function se(e){return e}async function z(e){return typeof e=="function"?await e():e}function de(e){let t="";for(let n of new TextEncoder().encode(e))t+=String.fromCharCode(n);return btoa(t)}function ue(e,t){return e.kind==="apiKey"?t.auth?.apiKey?.[e.scheme]!==void 0:e.kind==="bearer"?t.auth?.bearer!==void 0:t.auth?.basic!==void 0}async function J(e,t){let n=e.find(d=>d.every(a=>ue(a,t)))??e[0]??[],o={},r={},s=[];for(let d of n)if(d.kind==="apiKey"){let a=t.auth?.apiKey?.[d.scheme];if(a===void 0)continue;let l=await z(a);d.in==="header"?o[d.name]=l:d.in==="query"?r[d.name]=l:s.push(`${d.name}=${encodeURIComponent(l)}`)}else if(d.kind==="bearer"){let a=t.auth?.bearer;a!==void 0&&(o.Authorization=`Bearer ${await z(a)}`)}else{let a=t.auth?.basic;a!==void 0&&(o.Authorization=`Basic ${de(`${a.username}:${a.password}`)}`)}return s.length>0&&(o.Cookie=s.join("; ")),{headers:o,query:r}}var x=class extends Error{url;status;statusText;body;constructor(t,n,o,r){super(`Request failed with status ${n}`),this.name="ApiError",this.url=t,this.status=n,this.statusText=o,this.body=r}};function j(e){let t=e.reason;return t instanceof Error?t:new DOMException("The operation was aborted.","AbortError")}async function L(e,t){if(t==="void"){if(e.status===204||e.status===205||e.status===304||!(e.headers.get("content-type")??"").toLowerCase().includes("json"))return;let s=await e.text().catch(()=>"");if(s==="")return;try{return JSON.parse(s)}catch{return}}if(e.status===204)return;if(t==="stream")return e.body;if(t==="blob")return e.blob();if(t==="arrayBuffer")return e.arrayBuffer();if(t==="formData")return e.formData();if(t==="text")return e.text();if(t==="json")return e.json();let n=(e.headers.get("content-type")??"").toLowerCase();if(n.includes("json"))return e.json();if(n.startsWith("text/"))return e.text();let o=await e.blob();return o.size>0?o:void 0}async function R(e){return(e.headers.get("content-type")??"").toLowerCase().includes("json")?e.json().catch(()=>{}):e.text().catch(()=>{})}var fe=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),ce=new Set([408,429,500,502,503,504]);function _(e){return fe.has(e.request.method.toUpperCase())?e.response===void 0||ce.has(e.response.status):!1}function M(e,t,n){if(n){let s=Number(n);if(!Number.isNaN(s))return s*1e3;let d=Date.parse(n);if(!Number.isNaN(d))return Math.max(0,d-Date.now())}let o=e.retryDelay??1e3,r=e.retryStrategy==="fixed"?o:o*Math.pow(2,t-1);return e.jitter===!1?r:Math.random()*r}function k(e,t){return new Promise((n,o)=>{if(t?.aborted){o(j(t));return}let r=()=>{clearTimeout(s),o(j(t))},s=setTimeout(()=>{t&&t.removeEventListener("abort",r),n()},e);t&&t.addEventListener("abort",r,{once:!0})})}function O(e){if(e===void 0)return{};if(e instanceof Headers){let t={};return e.forEach((n,o)=>{t[o]=n}),t}return Array.isArray(e)?Object.fromEntries(e):e}function K(e){return[...e.onRequest||e.onResponse||e.onError?[{onRequest:e.onRequest,onResponse:e.onResponse,onError:e.onError}]:[],...e.middleware??[]]}async function T(e,t,n,o,r,s,d,a="application/json"){let{retry:l,...u}=o,i={...e.retry,...l},f=typeof e.headers=="function"?await e.headers():e.headers,p={Accept:a,...f,...O(u.headers)},c={url:n,method:u.method??"GET",headers:p,body:r,operation:t},y=K(e);for(let m of y)m.onRequest&&await m.onRequest(c);let b;if(c.body!==void 0){let m=c.body,h=m instanceof Blob||m instanceof ArrayBuffer||ArrayBuffer.isView(m),S=typeof FormData<"u"&&m instanceof FormData,v=m instanceof URLSearchParams;if(S||v||h||typeof m=="string")b=m;else if(s){if(!d.serializeMultipart)throw new Error("Multipart capability not wired: cannot serialize the request body");b=d.serializeMultipart(m)}else b=JSON.stringify(m),!("Content-Type"in c.headers)&&!("content-type"in c.headers)&&(c.headers["Content-Type"]="application/json")}let N=e.fetch??fetch,B=1+(i.retries??0),w=i.retryOn??_,E=u.signal??void 0,g=0;for(;;){if(g++,E?.aborted)throw j(E);let m;try{m=await N(c.url,{...u,method:c.method,headers:c.headers,body:b})}catch(h){if(g<B&&!E?.aborted&&await w({attempt:g,request:c,error:h})){await k(M(i,g,null),E);continue}throw h}for(let h=y.length-1;h>=0;h--){let S=y[h].onResponse;if(S){let v=await S(m,c);v&&v!==m&&(await m.body?.cancel().catch(()=>{}),m=v)}}if(!m.ok&&g<B&&!E?.aborted&&await w({attempt:g,request:c,response:m})){let h=m.headers.get("retry-after");await m.body?.cancel().catch(()=>{}),await k(M(i,g,h),E);continue}return{response:m,context:c}}}function P(e){return encodeURIComponent(e).replace(/%(3A|2F|3F|23|5B|5D|40|21|24|26|27|28|29|2A|2B|2C|3B|3D)/g,t=>decodeURIComponent(t))}function G(e,t){return e.replace(/\{([^{}]+)\}/g,(n,o)=>{let r=t[o];if(r===void 0)throw new Error(`Missing path parameter "${o}"`);return encodeURIComponent(String(r))})}function W(e,t,n,o){let r=e.length;for(;r>0&&e.charCodeAt(r-1)===47;)r--;let s=e.slice(0,r)+t;if(!n)return s;let d=new URLSearchParams,a=[];for(let[u,i]of Object.entries(n)){if(i==null)continue;let f=o?.[u];if(!f){if(Array.isArray(i))for(let p of i)p!=null&&d.append(u,String(p));else if(Object(i)===i)for(let[p,c]of Object.entries(i))c!=null&&d.append(`${u}[${p}]`,String(c));else d.append(u,String(i));continue}if(Array.isArray(i)){let p=i.filter(c=>c!=null).map(String);if(f.style==="form"&&f.explode)for(let c of p)f.allowReserved?a.push(`${u}=${P(c)}`):d.append(u,c);else{let c=f.style==="pipeDelimited"?"|":f.style==="spaceDelimited"?"%20":",",y=f.allowReserved?P:encodeURIComponent;a.push(`${encodeURIComponent(u)}=${p.map(y).join(c)}`)}}else if(Object(i)===i)for(let[p,c]of Object.entries(i))c!=null&&(f.allowReserved?a.push(`${u}[${p}]=${P(String(c))}`):d.append(`${u}[${p}]`,String(c)));else f.allowReserved?a.push(`${u}=${P(String(i))}`):d.append(u,String(i))}let l=[d.toString(),...a].filter(Boolean).join("&");return l?`${s}?${l}`:s}function X(e){return e==="text"?"text/*":e==="blob"||e==="arrayBuffer"||e==="stream"||e==="formData"?"*/*":"application/json"}function Y(e){return e.responseKind==="void"||e.responseKind==="blob"||e.responseKind==="text"?e.responseKind:"auto"}function le(e,t){let n={},o=new Set;for(let r of e.params??[])r.in==="path"&&(o.add(r.name),n[r.name]=t[r.name]);for(let r of Object.keys(t))if(!(r==="params"||r==="body"||r==="headers"||r==="cookies")&&!o.has(r))throw new TypeError(`Unknown argument "${r}" for operation "${e.id}". Query parameters go under params: { \u2026 } and the request body under body; valid keys are params, body, headers, cookies`+(o.size>0?`, and the path parameters (${[...o].join(", ")}).`:"."));return{path:n,query:t.params,body:t.body,headers:t.headers,cookies:t.cookies}}function pe(e){let t;for(let n of e.params??[])n.in!=="query"||!(n.style!==void 0&&n.style!=="form"||n.explode===!1||n.allowReserved===!0)||(t??={},t[n.name]={style:n.style??"form",explode:n.explode??!0,allowReserved:n.allowReserved});return t}function me(e){let t={};for(let[n,o]of Object.entries(e??{}))o!=null&&(t[n]=String(o));return t}async function U(e,t,n,o,r){let{path:s,query:d,body:a,headers:l,cookies:u}=le(t,n),i=t.security?.length&&r.resolveAuth?await r.resolveAuth(t.security,e):{headers:{},query:{}},f=Object.entries(u??{}).filter(([,b])=>b!=null).map(([b,N])=>`${b}=${encodeURIComponent(String(N))}`);f.length>0&&(i.headers.Cookie=[i.headers.Cookie,...f].filter(Boolean).join("; "));let p={...d,...i.query},c=W(e.serverUrl??"",G(t.path,s),Object.keys(p).length>0?p:void 0,pe(t)),y={...o,method:t.method.toUpperCase(),headers:{...i.headers,...me(l),...O(o.headers)}};return{url:c,init:y,body:a}}async function ye(e,t,n,o,r){let s=await U(e,t,n,o,r),d={id:t.id,path:t.path,tags:[...t.tags??[]]},{parseAs:a,...l}=s.init,u=a??Y(t),{response:i,context:f}=await T(e,d,s.url,l,s.body,t.body?.multipart===!0,r,X(u));if(e.errorMode==="result")return i.ok?{data:await L(i,u),error:void 0,response:i}:{data:void 0,error:await R(i),response:i};if(!i.ok){let p=new x(f.url,i.status,i.statusText,await R(i));for(let c of K(e))c.onError&&(p=await c.onError(p,f));throw p}return L(i,u)}function q(e,t){if(!e.paginate)throw new Error(`Pagination capability not wired: cannot iterate operation "${t.id}"`);return e.paginate}function V(e,t){return t.errorMode!=="result"?e:async(n,o)=>{let r=await e(n,o);if(!r.response.ok){let{response:s}=r;throw new x(s.url,s.status,s.statusText,r.error)}return r.data}}function Q(e,t,n){return async(o={},r={})=>{let s=await U(e,t,o,r,n),{parseAs:d,...a}=s.init,l=d??Y(t),u={id:t.id,path:t.path,tags:[...t.tags??[]]},{response:i}=await T(e,u,s.url,a,s.body,t.body?.multipart===!0,n,X(l));if(!i.ok)throw new x(s.url,i.status,i.statusText,await R(i));return{page:await L(i,l),linkHeader:i.headers.get("link"),url:i.url===""?s.url:i.url}}}function Z(e,t={},n={}){let o=t,r={...o,middleware:[...o.middleware??[]]},s={};for(let[d,a]of Object.entries(e))if(a.responseKind==="sse"){let l=(u={},i={})=>{if(!n.sse)throw new Error(`SSE capability not wired: cannot stream operation "${a.id}"`);let f=n.sse;return(async function*(){let p={id:a.id,path:a.path,tags:[...a.tags??[]]};yield*f(r,p,async()=>{let y=await U(r,a,u,i,n);return{url:y.url,init:y.init,body:y.body}},a.sseDataKind??"text")})()};Object.defineProperty(l,"name",{value:d}),Object.defineProperty(l,"operationId",{value:a.id}),s[d]=l}else{let l=(i={},f={})=>ye(r,a,i,f,n);Object.defineProperty(l,"name",{value:d}),Object.defineProperty(l,"operationId",{value:a.id});let u=a.pagination;s[d]=u===void 0?l:u.style==="link"?Object.assign(l,{pages:(i,f)=>q(n,a).pagesByLink(Q(r,a,n),i,f),items:(i,f)=>q(n,a).itemsByLink(Q(r,a,n),u,i,f)}):Object.assign(l,{pages:(i,f)=>q(n,a).pages(V(l,r),u,i,f),items:(i,f)=>q(n,a).items(V(l,r),u,i,f)})}return s.configure=d=>{let{errorMode:a,auth:l,...u}=d;Object.assign(r,u),l&&(r.auth={...r.auth,...l,...l.apiKey?{apiKey:{...r.auth?.apiKey,...l.apiKey}}:{}})},s.use=(...d)=>{r.middleware=[...r.middleware??[],...d]},s.auth={bearer(d){r.auth={...r.auth,bearer:d}},basic(d,a){r.auth={...r.auth,basic:{username:d,password:a}}},apiKey(d,a){r.auth={...r.auth,apiKey:{...r.auth?.apiKey,[d]:a}}}},s}function ee(e){let t=new FormData,n=(o,r)=>{r!=null&&(r instanceof Blob||typeof r=="string"?t.append(o,r):r instanceof Date?t.append(o,r.toISOString()):Object(r)===r?t.append(o,JSON.stringify(r)):t.append(o,String(r)))};for(let[o,r]of Object.entries(e))if(Array.isArray(r))for(let s of r)n(o,s);else n(o,r);return t}function $(e,t){if(t==="")return e;if(!t.startsWith("/"))return;let n=e;for(let o of t.slice(1).split("/")){let r=o.replaceAll("~1","/").replaceAll("~0","~");if(Array.isArray(n)){if(!/^(0|[1-9]\d*)$/.test(r))return;n=n[Number(r)]}else if(Object(n)===n&&r in n)n=n[r];else return}return n}async function*F(e,t,n={},o){if(t.style==="cursor"){let r=n.params?.[t.param];for(;;){let s={...n.params};r!==void 0&&(s[t.param]=r);let d=await e({...n,params:s},o);if(yield d,t.hasMore!==void 0&&$(d,t.hasMore)===!1)return;let a=$(d,t.nextCursor);if(a==null||a==="")return;if(typeof a!="string"&&typeof a!="number")throw new Error(`Pagination cursor at ${t.nextCursor} is not a string or number`);if(a===r)throw new Error("Pagination did not advance: operation returned the same cursor twice");r=a}}else{if(t.style==="link")throw new Error("link-style pagination iterates via pagesByLink");{let r=n.params?.[t.param],s=t.style==="page"?1:0,a=r==null||r===""||Number.isNaN(Number(r))?s:Number(r),l;for(;;){let u=await e({...n,params:{...n.params,[t.param]:a}},o),i=$(u,t.items),f=Array.isArray(i)?JSON.stringify(i):void 0;if(f!==void 0&&f===l)throw new Error("Pagination did not advance: the operation returned the same page twice");if(yield u,!Array.isArray(i)||i.length===0)return;l=f,a+=t.style==="page"?1:i.length}}}}async function*te(e,t,n,o){for await(let r of F(e,t,n,o)){let s=$(r,t.items);Array.isArray(s)&&(yield*s)}}function he(e){if(e!==null)for(let t of e.split(/,\s*(?=<)/)){let n=/^\s*<([^>]*)>(.*)$/.exec(t);if(!n)continue;let o=/;\s*rel\s*=\s*"?([^";]+)"?/i.exec(n[2]);if(o&&o[1].split(/\s+/).includes("next"))return n[1]}}async function*H(e,t={},n){let o=t.params,r;for(;;){let{page:s,linkHeader:d,url:a}=await e({...t,params:o},n);yield s;let l=he(d);if(l===void 0)return;let u=new URL(a,"http://relative.invalid"),i=new URL(l,u).toString();if(i===r||i===u.toString())throw new Error('Pagination did not advance: the Link rel="next" target repeats');r=i;let f={};for(let[p,c]of new URL(i).searchParams){let y=f[p];y===void 0?f[p]=c:Array.isArray(y)?y.push(c):f[p]=[y,c]}o={...t.params,...f}}}async function*re(e,t,n,o){for await(let r of H(e,n,o)){let s=$(r,t.items);Array.isArray(s)&&(yield*s)}}var we=/(?:\r\n|\r|\n){2}/,D=class extends Error{};async function*oe(e,t,n,o="text"){let r,s,d=0;for(;;){let{url:a,init:l,body:u}=await n(),{reconnect:i=!0,reconnectDelay:f,...p}=l,c=p.signal??void 0;if(c?.aborted)return;let y={Accept:"text/event-stream",...O(p.headers)},b=r===void 0?y:{...y,"Last-Event-ID":r};try{let{response:w}=await T(e,t,a,{...p,method:p.method??"GET",headers:b},u,!1,{});if(!w.ok){let S=await R(w);throw new x(a,w.status,w.statusText,S)}d=0;let E=w.body;if(!E)return;let g=E.getReader(),m=new TextDecoder,h="";try{for(;;){let{done:S,value:v}=await g.read();h+=S?m.decode():m.decode(v,{stream:!0});let I;for(;(I=we.exec(h))!==null;){let A=h.slice(0,I.index);h=h.slice(I.index+I[0].length);let C=ne(A,o);C&&(C.id!==void 0&&(r=C.id),C.retry!==void 0&&(s=C.retry),yield C)}if(S){let A=h.length>0?ne(h,o):void 0;A&&(A.id!==void 0&&(r=A.id),A.retry!==void 0&&(s=A.retry),yield A);return}if(h.length>1048576)throw new D("SSE frame exceeded 1048576 characters without a delimiter")}}finally{await g.cancel().catch(()=>{})}}catch(w){if(c?.aborted)return;if(w instanceof x||w instanceof D||!i)throw w}d++;let B=Math.min((s??f??1e3)*Math.pow(2,d-1),3e4);try{await k(Math.random()*B,c)}catch{return}}}function ne(e,t){let n,o=[],r,s,d=!1;for(let u of e.split(/\r\n|\n|\r/)){if(u===""||u.startsWith(":"))continue;let i=u.indexOf(":"),f=i===-1?u:u.slice(0,i),p=i===-1?"":u.slice(i+1);p.startsWith(" ")&&(p=p.slice(1)),d=!0,f==="event"?n=p:f==="data"?o.push(p):f==="id"?r=p:f==="retry"&&/^\d+$/.test(p)&&(s=Number(p))}if(!d)return;let a=o.join(`
|
|
8
|
+
`),l=a;if(t==="json"&&a!=="")try{l=JSON.parse(a)}catch(u){throw new D(`Failed to parse SSE event data as JSON: ${u instanceof Error?u.message:String(u)}`)}return{event:n,data:l,id:r,retry:s}}function ie(e,t={}){return{...e?.config,...t,middleware:[...e?.middleware??[],...t.middleware??[]]}}function be(e,t){return Z(e,t,{serializeMultipart:ee,resolveAuth:J,sse:oe,paginate:{pages:F,items:te,pagesByLink:H,itemsByLink:re}})}function xe(e,t){let n={...e};for(let[o,r]of Object.entries(t))r!==void 0&&(n[o]=r);return n}function Ye(e){return e}async function et(e){return(await import("./KM7RL6C4.js")).generateClient(e)}export{x as ApiError,ae as NotSupportedError,be as createClient,se as defineClientSetup,Ye as defineGenerator,et as generateClient,xe as mergeConfig,ie as mergeSetup};
|