@socketsecurity/lib 1.2.0 → 1.3.1
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/CHANGELOG.md +26 -0
- package/dist/external/@inquirer/input.js +22 -1
- package/dist/external/@inquirer/password.js +22 -1
- package/dist/external/@inquirer/search.js +25 -1
- package/dist/fs.d.ts +48 -0
- package/dist/fs.js +18 -0
- package/dist/fs.js.map +2 -2
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.3.1](https://github.com/SocketDev/socket-lib/releases/tag/v1.3.1) - 2025-10-24
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Fixed @inquirer modules (`input`, `password`, `search`) not being properly bundled into `dist/external/`
|
|
13
|
+
- Resolves build failures in downstream packages (socket-cli) that depend on socket-lib
|
|
14
|
+
- Added missing packages to bundling configuration in `scripts/build-externals.mjs`
|
|
15
|
+
- All @inquirer packages now ship as zero-dependency bundles
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Added tests to prevent rogue external stubs in `dist/external/`
|
|
20
|
+
- Detects stub re-export patterns that indicate incomplete bundling
|
|
21
|
+
- Verifies all @inquirer modules are properly bundled (> 1KB)
|
|
22
|
+
- Catches bundling regressions early in CI pipeline
|
|
23
|
+
|
|
24
|
+
## [1.3.0](https://github.com/SocketDev/socket-lib/releases/tag/v1.3.0) - 2025-10-23
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- Added `validateFiles()` utility function to `fs` module for defensive file access validation
|
|
29
|
+
- Returns `ValidateFilesResult` with `validPaths` and `invalidPaths` arrays
|
|
30
|
+
- Filters out unreadable files before processing (common with Yarn Berry PnP virtual filesystem, pnpm symlinks)
|
|
31
|
+
- Prevents ENOENT errors when files exist in glob results but are not accessible
|
|
32
|
+
- Comprehensive test coverage for all validation scenarios
|
|
33
|
+
|
|
8
34
|
## [1.2.0](https://github.com/SocketDev/socket-lib/releases/tag/v1.2.0) - 2025-10-23
|
|
9
35
|
|
|
10
36
|
### Added
|
|
@@ -1 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Bundled from @inquirer/input
|
|
3
|
+
* This is a zero-dependency bundle created by esbuild.
|
|
4
|
+
*/
|
|
5
|
+
"use strict";var it=Object.defineProperty;var s=(e,u)=>it(e,"name",{value:u,configurable:!0});var p=(e,u)=>()=>(u||e((u={exports:{}}).exports,u),u.exports);var Ye=p(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.isEnterKey=w.isNumberKey=w.isTabKey=w.isBackspaceKey=w.isSpaceKey=w.isDownKey=w.isUpKey=void 0;var st=s((e,u=[])=>e.name==="up"||u.includes("vim")&&e.name==="k"||u.includes("emacs")&&e.ctrl&&e.name==="p","isUpKey");w.isUpKey=st;var ot=s((e,u=[])=>e.name==="down"||u.includes("vim")&&e.name==="j"||u.includes("emacs")&&e.ctrl&&e.name==="n","isDownKey");w.isDownKey=ot;var lt=s(e=>e.name==="space","isSpaceKey");w.isSpaceKey=lt;var at=s(e=>e.name==="backspace","isBackspaceKey");w.isBackspaceKey=at;var ct=s(e=>e.name==="tab","isTabKey");w.isTabKey=ct;var ft=s(e=>"1234567890".includes(e.name),"isNumberKey");w.isNumberKey=ft;var ht=s(e=>e.name==="enter"||e.name==="return","isEnterKey");w.isEnterKey=ht});var ee=p(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.ValidationError=x.HookError=x.ExitPromptError=x.CancelPromptError=x.AbortPromptError=void 0;var fe=class extends Error{static{s(this,"AbortPromptError")}name="AbortPromptError";message="Prompt was aborted";constructor(u){super(),this.cause=u?.cause}};x.AbortPromptError=fe;var he=class extends Error{static{s(this,"CancelPromptError")}name="CancelPromptError";message="Prompt was canceled"};x.CancelPromptError=he;var de=class extends Error{static{s(this,"ExitPromptError")}name="ExitPromptError"};x.ExitPromptError=de;var Fe=class extends Error{static{s(this,"HookError")}name="HookError"};x.HookError=Fe;var Ce=class extends Error{static{s(this,"ValidationError")}name="ValidationError"};x.ValidationError=Ce});var T=p(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.effectScheduler=void 0;M.withHooks=Ft;M.readline=Xe;M.withUpdates=eu;M.withPointer=Ct;M.handleChange=pt;var Ze=require("node:async_hooks"),Qe=ee(),Je=new Ze.AsyncLocalStorage;function dt(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}s(dt,"createStore");function Ft(e,u){let t=dt(e);return Je.run(t,()=>{function n(D){t.handleChange=()=>{t.index=0,D()},t.handleChange()}return s(n,"cycle"),u(n)})}s(Ft,"withHooks");function q(){let e=Je.getStore();if(!e)throw new Qe.HookError("[Inquirer] Hook functions can only be called from within a prompt");return e}s(q,"getStore");function Xe(){return q().rl}s(Xe,"readline");function eu(e){let u=s((...t)=>{let n=q(),D=!1,r=n.handleChange;n.handleChange=()=>{D=!0};let i=e(...t);return D&&r(),n.handleChange=r,i},"wrapped");return Ze.AsyncResource.bind(u)}s(eu,"withUpdates");function Ct(e){let u=q(),{index:t}=u,n={get(){return u.hooks[t]},set(r){u.hooks[t]=r},initialized:t in u.hooks},D=e(n);return u.index++,D}s(Ct,"withPointer");function pt(){q().handleChange()}s(pt,"handleChange");M.effectScheduler={queue(e){let u=q(),{index:t}=u;u.hooksEffect.push(()=>{u.hooksCleanup[t]?.();let n=e(Xe());if(n!=null&&typeof n!="function")throw new Qe.ValidationError("useEffect return value must be a cleanup function or nothing.");u.hooksCleanup[t]=n})},run(){let e=q();eu(()=>{e.hooksEffect.forEach(u=>{u()}),e.hooksEffect.length=0})()},clearAll(){let e=q();e.hooksCleanup.forEach(u=>{u?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}}});var ue=p(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.useState=Et;var gt=require("node:async_hooks"),uu=T();function Et(e){return(0,uu.withPointer)(u=>{let t=gt.AsyncResource.bind(s(function(r){u.get()!==r&&(u.set(r),(0,uu.handleChange)())},"setState"));if(u.initialized)return[u.get(),t];let n=typeof e=="function"?e():e;return u.set(n),[n,t]})}s(Et,"useState")});var te=p(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.useEffect=bt;var tu=T();function bt(e,u){(0,tu.withPointer)(t=>{let n=t.get();(!Array.isArray(n)||u.some((r,i)=>!Object.is(r,n[i])))&&tu.effectScheduler.queue(e),t.set(u)})}s(bt,"useEffect")});var Ee=p((fD,nu)=>{var mt=require("node:tty"),Bt=mt?.WriteStream?.prototype?.hasColors?.()??!1,d=s((e,u)=>{if(!Bt)return D=>D;let t=`\x1B[${e}m`,n=`\x1B[${u}m`;return D=>{let r=D+"",i=r.indexOf(n);if(i===-1)return t+r+n;let o=t,l=0,f=(u===22?n:"")+t;for(;i!==-1;)o+=r.slice(l,i)+f,l=i+n.length,i=r.indexOf(n,l);return o+=r.slice(l)+n,o}},"format"),h={};h.reset=d(0,0);h.bold=d(1,22);h.dim=d(2,22);h.italic=d(3,23);h.underline=d(4,24);h.overline=d(53,55);h.inverse=d(7,27);h.hidden=d(8,28);h.strikethrough=d(9,29);h.black=d(30,39);h.red=d(31,39);h.green=d(32,39);h.yellow=d(33,39);h.blue=d(34,39);h.magenta=d(35,39);h.cyan=d(36,39);h.white=d(37,39);h.gray=d(90,39);h.bgBlack=d(40,49);h.bgRed=d(41,49);h.bgGreen=d(42,49);h.bgYellow=d(43,49);h.bgBlue=d(44,49);h.bgMagenta=d(45,49);h.bgCyan=d(46,49);h.bgWhite=d(47,49);h.bgGray=d(100,49);h.redBright=d(91,39);h.greenBright=d(92,39);h.yellowBright=d(93,39);h.blueBright=d(94,39);h.magentaBright=d(95,39);h.cyanBright=d(96,39);h.whiteBright=d(97,39);h.bgRedBright=d(101,49);h.bgGreenBright=d(102,49);h.bgYellowBright=d(103,49);h.bgBlueBright=d(104,49);h.bgMagentaBright=d(105,49);h.bgCyanBright=d(106,49);h.bgWhiteBright=d(107,49);nu.exports=h});var be=p(v=>{"use strict";var yt=v&&v.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(v,"__esModule",{value:!0});v.replaceSymbols=v.fallbackSymbols=v.mainSymbols=void 0;var O=yt(require("node:process"));function _t(){return O.default.platform!=="win32"?O.default.env.TERM!=="linux":!!O.default.env.WT_SESSION||!!O.default.env.TERMINUS_SUBLIME||O.default.env.ConEmuTask==="{cmd::Cmder}"||O.default.env.TERM_PROGRAM==="Terminus-Sublime"||O.default.env.TERM_PROGRAM==="vscode"||O.default.env.TERM==="xterm-256color"||O.default.env.TERM==="alacritty"||O.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}s(_t,"isUnicodeSupported");var Du={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"},ru={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"},wt={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"};v.mainSymbols={...Du,...ru};v.fallbackSymbols={...Du,...wt};var iu=_t(),At=iu?v.mainSymbols:v.fallbackSymbols;v.default=At;var vt=Object.entries(ru),xt=s((e,{useFallback:u=!iu}={})=>{if(u)for(let[t,n]of vt){let D=v.fallbackSymbols[t];if(!D)throw new Error(`Unable to find fallback for ${t}`);e=e.replaceAll(n,D)}return e},"replaceSymbols");v.replaceSymbols=xt});var ou=p($=>{"use strict";var su=$&&$.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($,"__esModule",{value:!0});$.defaultTheme=void 0;var S=su(Ee()),kt=su(be());$.defaultTheme={prefix:{idle:S.default.blue("?"),done:S.default.green(kt.default.tick)},spinner:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"].map(e=>S.default.yellow(e))},style:{answer:S.default.cyan,message:S.default.bold,error:s(e=>S.default.red(`> ${e}`),"error"),defaultAnswer:s(e=>S.default.dim(`(${e})`),"defaultAnswer"),help:S.default.dim,highlight:S.default.cyan,key:s(e=>S.default.cyan(S.default.bold(`<${e}>`)),"key")}}});var Be=p(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.makeTheme=Lt;var St=ou();function lu(e){if(typeof e!="object"||e===null)return!1;let u=e;for(;Object.getPrototypeOf(u)!==null;)u=Object.getPrototypeOf(u);return Object.getPrototypeOf(e)===u}s(lu,"isPlainObject");function au(...e){let u={};for(let t of e)for(let[n,D]of Object.entries(t)){let r=u[n];u[n]=lu(r)&&lu(D)?au(r,D):D}return u}s(au,"deepMerge");function Lt(...e){let u=[St.defaultTheme,...e.filter(t=>t!=null)];return au(...u)}s(Lt,"makeTheme")});var fu=p(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.usePrefix=Rt;var cu=ue(),Ot=te(),Pt=Be();function Rt({status:e="idle",theme:u}){let[t,n]=(0,cu.useState)(!1),[D,r]=(0,cu.useState)(0),{prefix:i,spinner:o}=(0,Pt.makeTheme)(u);return(0,Ot.useEffect)(()=>{if(e==="loading"){let a,f=-1,C=setTimeout(()=>{n(!0),a=setInterval(()=>{f=f+1,r(f%o.frames.length)},o.interval)},300);return()=>{clearTimeout(C),clearInterval(a)}}else n(!1)},[e]),t?o.frames[D]:typeof i=="string"?i:i[e==="loading"?"idle":e]??i.idle}s(Rt,"usePrefix")});var hu=p(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.useMemo=jt;var Mt=T();function jt(e,u){return(0,Mt.withPointer)(t=>{let n=t.get();if(!n||n.dependencies.length!==u.length||n.dependencies.some((D,r)=>D!==u[r])){let D=e();return t.set({value:D,dependencies:u}),D}return n.value})}s(jt,"useMemo")});var ne=p(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.useRef=qt;var Ut=ue();function qt(e){return(0,Ut.useState)({current:e})[0]}s(qt,"useRef")});var du=p(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.useKeypress=Nt;var Tt=ne(),Kt=te(),It=T();function Nt(e){let u=(0,Tt.useRef)(e);u.current=e,(0,Kt.useEffect)(t=>{let n=!1,D=(0,It.withUpdates)((r,i)=>{n||u.current(i,t)});return t.input.on("keypress",D),()=>{n=!0,t.input.removeListener("keypress",D)}},[])}s(Nt,"useKeypress")});var Cu=p((xD,Fu)=>{"use strict";Fu.exports=Wt;function Gt(e){let u={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(u).forEach(function(t){e[t]||(e[t]=u[t])}),e):u}s(Gt,"normalizeOpts");function Wt(e){let u=Gt(e);if(u.output.getWindowSize)return u.output.getWindowSize()[0]||u.defaultWidth;if(u.tty.getWindowSize)return u.tty.getWindowSize()[1]||u.defaultWidth;if(u.output.columns)return u.output.columns;if(process.env.CLI_WIDTH){let t=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(t)&&t!==0)return t}return u.defaultWidth}s(Wt,"cliWidth")});var gu=p((SD,pu)=>{"use strict";pu.exports=({onlyFirst:e=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")}});var ve=p((LD,Eu)=>{"use strict";var $t=gu();Eu.exports=e=>typeof e=="string"?e.replace($t(),""):e});var mu=p((OD,xe)=>{"use strict";var bu=s(e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141),"isFullwidthCodePoint");xe.exports=bu;xe.exports.default=bu});var yu=p((RD,Bu)=>{"use strict";Bu.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var wu=p((MD,ke)=>{"use strict";var Vt=ve(),Ht=mu(),zt=yu(),_u=s(e=>{if(typeof e!="string"||e.length===0||(e=Vt(e),e.length===0))return 0;e=e.replace(zt()," ");let u=0;for(let t=0;t<e.length;t++){let n=e.codePointAt(t);n<=31||n>=127&&n<=159||n>=768&&n<=879||(n>65535&&t++,u+=Ht(n)?2:1)}return u},"stringWidth");ke.exports=_u;ke.exports.default=_u});var vu=p((UD,Au)=>{"use strict";Au.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Se=p((qD,ku)=>{var Q=vu(),xu={};for(let e of Object.keys(Q))xu[Q[e]]=e;var c={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};ku.exports=c;for(let e of Object.keys(c)){if(!("channels"in c[e]))throw new Error("missing channels property: "+e);if(!("labels"in c[e]))throw new Error("missing channel labels property: "+e);if(c[e].labels.length!==c[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:u,labels:t}=c[e];delete c[e].channels,delete c[e].labels,Object.defineProperty(c[e],"channels",{value:u}),Object.defineProperty(c[e],"labels",{value:t})}c.rgb.hsl=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,D=Math.min(u,t,n),r=Math.max(u,t,n),i=r-D,o,l;r===D?o=0:u===r?o=(t-n)/i:t===r?o=2+(n-u)/i:n===r&&(o=4+(u-t)/i),o=Math.min(o*60,360),o<0&&(o+=360);let a=(D+r)/2;return r===D?l=0:a<=.5?l=i/(r+D):l=i/(2-r-D),[o,l*100,a*100]};c.rgb.hsv=function(e){let u,t,n,D,r,i=e[0]/255,o=e[1]/255,l=e[2]/255,a=Math.max(i,o,l),f=a-Math.min(i,o,l),C=s(function(E){return(a-E)/6/f+1/2},"diffc");return f===0?(D=0,r=0):(r=f/a,u=C(i),t=C(o),n=C(l),i===a?D=n-t:o===a?D=1/3+u-n:l===a&&(D=2/3+t-u),D<0?D+=1:D>1&&(D-=1)),[D*360,r*100,a*100]};c.rgb.hwb=function(e){let u=e[0],t=e[1],n=e[2],D=c.rgb.hsl(e)[0],r=1/255*Math.min(u,Math.min(t,n));return n=1-1/255*Math.max(u,Math.max(t,n)),[D,r*100,n*100]};c.rgb.cmyk=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,D=Math.min(1-u,1-t,1-n),r=(1-u-D)/(1-D)||0,i=(1-t-D)/(1-D)||0,o=(1-n-D)/(1-D)||0;return[r*100,i*100,o*100,D*100]};function Yt(e,u){return(e[0]-u[0])**2+(e[1]-u[1])**2+(e[2]-u[2])**2}s(Yt,"comparativeDistance");c.rgb.keyword=function(e){let u=xu[e];if(u)return u;let t=1/0,n;for(let D of Object.keys(Q)){let r=Q[D],i=Yt(e,r);i<t&&(t=i,n=D)}return n};c.keyword.rgb=function(e){return Q[e]};c.rgb.xyz=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255;u=u>.04045?((u+.055)/1.055)**2.4:u/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let D=u*.4124+t*.3576+n*.1805,r=u*.2126+t*.7152+n*.0722,i=u*.0193+t*.1192+n*.9505;return[D*100,r*100,i*100]};c.rgb.lab=function(e){let u=c.rgb.xyz(e),t=u[0],n=u[1],D=u[2];t/=95.047,n/=100,D/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,D=D>.008856?D**(1/3):7.787*D+16/116;let r=116*n-16,i=500*(t-n),o=200*(n-D);return[r,i,o]};c.hsl.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100,D,r,i;if(t===0)return i=n*255,[i,i,i];n<.5?D=n*(1+t):D=n+t-n*t;let o=2*n-D,l=[0,0,0];for(let a=0;a<3;a++)r=u+1/3*-(a-1),r<0&&r++,r>1&&r--,6*r<1?i=o+(D-o)*6*r:2*r<1?i=D:3*r<2?i=o+(D-o)*(2/3-r)*6:i=o,l[a]=i*255;return l};c.hsl.hsv=function(e){let u=e[0],t=e[1]/100,n=e[2]/100,D=t,r=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,D*=r<=1?r:2-r;let i=(n+t)/2,o=n===0?2*D/(r+D):2*t/(n+t);return[u,o*100,i*100]};c.hsv.rgb=function(e){let u=e[0]/60,t=e[1]/100,n=e[2]/100,D=Math.floor(u)%6,r=u-Math.floor(u),i=255*n*(1-t),o=255*n*(1-t*r),l=255*n*(1-t*(1-r));switch(n*=255,D){case 0:return[n,l,i];case 1:return[o,n,i];case 2:return[i,n,l];case 3:return[i,o,n];case 4:return[l,i,n];case 5:return[n,i,o]}};c.hsv.hsl=function(e){let u=e[0],t=e[1]/100,n=e[2]/100,D=Math.max(n,.01),r,i;i=(2-t)*n;let o=(2-t)*D;return r=t*D,r/=o<=1?o:2-o,r=r||0,i/=2,[u,r*100,i*100]};c.hwb.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100,D=t+n,r;D>1&&(t/=D,n/=D);let i=Math.floor(6*u),o=1-n;r=6*u-i,(i&1)!==0&&(r=1-r);let l=t+r*(o-t),a,f,C;switch(i){default:case 6:case 0:a=o,f=l,C=t;break;case 1:a=l,f=o,C=t;break;case 2:a=t,f=o,C=l;break;case 3:a=t,f=l,C=o;break;case 4:a=l,f=t,C=o;break;case 5:a=o,f=t,C=l;break}return[a*255,f*255,C*255]};c.cmyk.rgb=function(e){let u=e[0]/100,t=e[1]/100,n=e[2]/100,D=e[3]/100,r=1-Math.min(1,u*(1-D)+D),i=1-Math.min(1,t*(1-D)+D),o=1-Math.min(1,n*(1-D)+D);return[r*255,i*255,o*255]};c.xyz.rgb=function(e){let u=e[0]/100,t=e[1]/100,n=e[2]/100,D,r,i;return D=u*3.2406+t*-1.5372+n*-.4986,r=u*-.9689+t*1.8758+n*.0415,i=u*.0557+t*-.204+n*1.057,D=D>.0031308?1.055*D**(1/2.4)-.055:D*12.92,r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,D=Math.min(Math.max(0,D),1),r=Math.min(Math.max(0,r),1),i=Math.min(Math.max(0,i),1),[D*255,r*255,i*255]};c.xyz.lab=function(e){let u=e[0],t=e[1],n=e[2];u/=95.047,t/=100,n/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let D=116*t-16,r=500*(u-t),i=200*(t-n);return[D,r,i]};c.lab.xyz=function(e){let u=e[0],t=e[1],n=e[2],D,r,i;r=(u+16)/116,D=t/500+r,i=r-n/200;let o=r**3,l=D**3,a=i**3;return r=o>.008856?o:(r-16/116)/7.787,D=l>.008856?l:(D-16/116)/7.787,i=a>.008856?a:(i-16/116)/7.787,D*=95.047,r*=100,i*=108.883,[D,r,i]};c.lab.lch=function(e){let u=e[0],t=e[1],n=e[2],D;D=Math.atan2(n,t)*360/2/Math.PI,D<0&&(D+=360);let i=Math.sqrt(t*t+n*n);return[u,i,D]};c.lch.lab=function(e){let u=e[0],t=e[1],D=e[2]/360*2*Math.PI,r=t*Math.cos(D),i=t*Math.sin(D);return[u,r,i]};c.rgb.ansi16=function(e,u=null){let[t,n,D]=e,r=u===null?c.rgb.hsv(e)[2]:u;if(r=Math.round(r/50),r===0)return 30;let i=30+(Math.round(D/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return r===2&&(i+=60),i};c.hsv.ansi16=function(e){return c.rgb.ansi16(c.hsv.rgb(e),e[2])};c.rgb.ansi256=function(e){let u=e[0],t=e[1],n=e[2];return u===t&&t===n?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)};c.ansi16.rgb=function(e){let u=e%10;if(u===0||u===7)return e>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let t=(~~(e>50)+1)*.5,n=(u&1)*t*255,D=(u>>1&1)*t*255,r=(u>>2&1)*t*255;return[n,D,r]};c.ansi256.rgb=function(e){if(e>=232){let r=(e-232)*10+8;return[r,r,r]}e-=16;let u,t=Math.floor(e/36)/5*255,n=Math.floor((u=e%36)/6)/5*255,D=u%6/5*255;return[t,n,D]};c.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};c.hex.rgb=function(e){let u=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let t=u[0];u[0].length===3&&(t=t.split("").map(o=>o+o).join(""));let n=parseInt(t,16),D=n>>16&255,r=n>>8&255,i=n&255;return[D,r,i]};c.rgb.hcg=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,D=Math.max(Math.max(u,t),n),r=Math.min(Math.min(u,t),n),i=D-r,o,l;return i<1?o=r/(1-i):o=0,i<=0?l=0:D===u?l=(t-n)/i%6:D===t?l=2+(n-u)/i:l=4+(u-t)/i,l/=6,l%=1,[l*360,i*100,o*100]};c.hsl.hcg=function(e){let u=e[1]/100,t=e[2]/100,n=t<.5?2*u*t:2*u*(1-t),D=0;return n<1&&(D=(t-.5*n)/(1-n)),[e[0],n*100,D*100]};c.hsv.hcg=function(e){let u=e[1]/100,t=e[2]/100,n=u*t,D=0;return n<1&&(D=(t-n)/(1-n)),[e[0],n*100,D*100]};c.hcg.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100;if(t===0)return[n*255,n*255,n*255];let D=[0,0,0],r=u%1*6,i=r%1,o=1-i,l=0;switch(Math.floor(r)){case 0:D[0]=1,D[1]=i,D[2]=0;break;case 1:D[0]=o,D[1]=1,D[2]=0;break;case 2:D[0]=0,D[1]=1,D[2]=i;break;case 3:D[0]=0,D[1]=o,D[2]=1;break;case 4:D[0]=i,D[1]=0,D[2]=1;break;default:D[0]=1,D[1]=0,D[2]=o}return l=(1-t)*n,[(t*D[0]+l)*255,(t*D[1]+l)*255,(t*D[2]+l)*255]};c.hcg.hsv=function(e){let u=e[1]/100,t=e[2]/100,n=u+t*(1-u),D=0;return n>0&&(D=u/n),[e[0],D*100,n*100]};c.hcg.hsl=function(e){let u=e[1]/100,n=e[2]/100*(1-u)+.5*u,D=0;return n>0&&n<.5?D=u/(2*n):n>=.5&&n<1&&(D=u/(2*(1-n))),[e[0],D*100,n*100]};c.hcg.hwb=function(e){let u=e[1]/100,t=e[2]/100,n=u+t*(1-u);return[e[0],(n-u)*100,(1-n)*100]};c.hwb.hcg=function(e){let u=e[1]/100,n=1-e[2]/100,D=n-u,r=0;return D<1&&(r=(n-D)/(1-D)),[e[0],D*100,r*100]};c.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};c.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};c.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};c.gray.hsl=function(e){return[0,0,e[0]]};c.gray.hsv=c.gray.hsl;c.gray.hwb=function(e){return[0,100,e[0]]};c.gray.cmyk=function(e){return[0,0,0,e[0]]};c.gray.lab=function(e){return[e[0],0,0]};c.gray.hex=function(e){let u=Math.round(e[0]/100*255)&255,n=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(n.length)+n};c.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var Lu=p((KD,Su)=>{var De=Se();function Zt(){let e={},u=Object.keys(De);for(let t=u.length,n=0;n<t;n++)e[u[n]]={distance:-1,parent:null};return e}s(Zt,"buildGraph");function Qt(e){let u=Zt(),t=[e];for(u[e].distance=0;t.length;){let n=t.pop(),D=Object.keys(De[n]);for(let r=D.length,i=0;i<r;i++){let o=D[i],l=u[o];l.distance===-1&&(l.distance=u[n].distance+1,l.parent=n,t.unshift(o))}}return u}s(Qt,"deriveBFS");function Jt(e,u){return function(t){return u(e(t))}}s(Jt,"link");function Xt(e,u){let t=[u[e].parent,e],n=De[u[e].parent][e],D=u[e].parent;for(;u[D].parent;)t.unshift(u[D].parent),n=Jt(De[u[D].parent][D],n),D=u[D].parent;return n.conversion=t,n}s(Xt,"wrapConversion");Su.exports=function(e){let u=Qt(e),t={},n=Object.keys(u);for(let D=n.length,r=0;r<D;r++){let i=n[r];u[i].parent!==null&&(t[i]=Xt(i,u))}return t}});var Pu=p((ND,Ou)=>{var Le=Se(),en=Lu(),V={},un=Object.keys(Le);function tn(e){let u=s(function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))},"wrappedFn");return"conversion"in e&&(u.conversion=e.conversion),u}s(tn,"wrapRaw");function nn(e){let u=s(function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let D=e(t);if(typeof D=="object")for(let r=D.length,i=0;i<r;i++)D[i]=Math.round(D[i]);return D},"wrappedFn");return"conversion"in e&&(u.conversion=e.conversion),u}s(nn,"wrapRounded");un.forEach(e=>{V[e]={},Object.defineProperty(V[e],"channels",{value:Le[e].channels}),Object.defineProperty(V[e],"labels",{value:Le[e].labels});let u=en(e);Object.keys(u).forEach(n=>{let D=u[n];V[e][n]=nn(D),V[e][n].raw=tn(D)})});Ou.exports=V});var Tu=p((WD,qu)=>{"use strict";var Ru=s((e,u)=>(...t)=>`\x1B[${e(...t)+u}m`,"wrapAnsi16"),Mu=s((e,u)=>(...t)=>{let n=e(...t);return`\x1B[${38+u};5;${n}m`},"wrapAnsi256"),ju=s((e,u)=>(...t)=>{let n=e(...t);return`\x1B[${38+u};2;${n[0]};${n[1]};${n[2]}m`},"wrapAnsi16m"),re=s(e=>e,"ansi2ansi"),Uu=s((e,u,t)=>[e,u,t],"rgb2rgb"),H=s((e,u,t)=>{Object.defineProperty(e,u,{get:s(()=>{let n=t();return Object.defineProperty(e,u,{value:n,enumerable:!0,configurable:!0}),n},"get"),enumerable:!0,configurable:!0})},"setLazyProperty"),Oe,z=s((e,u,t,n)=>{Oe===void 0&&(Oe=Pu());let D=n?10:0,r={};for(let[i,o]of Object.entries(Oe)){let l=i==="ansi16"?"ansi":i;i===u?r[l]=e(t,D):typeof o=="object"&&(r[l]=e(o[u],D))}return r},"makeDynamicStyles");function Dn(){let e=new Map,u={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[t,n]of Object.entries(u)){for(let[D,r]of Object.entries(n))u[D]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[D]=u[D],e.set(r[0],r[1]);Object.defineProperty(u,t,{value:n,enumerable:!1})}return Object.defineProperty(u,"codes",{value:e,enumerable:!1}),u.color.close="\x1B[39m",u.bgColor.close="\x1B[49m",H(u.color,"ansi",()=>z(Ru,"ansi16",re,!1)),H(u.color,"ansi256",()=>z(Mu,"ansi256",re,!1)),H(u.color,"ansi16m",()=>z(ju,"rgb",Uu,!1)),H(u.bgColor,"ansi",()=>z(Ru,"ansi16",re,!0)),H(u.bgColor,"ansi256",()=>z(Mu,"ansi256",re,!0)),H(u.bgColor,"ansi16m",()=>z(ju,"rgb",Uu,!0)),u}s(Dn,"assembleStyles");Object.defineProperty(qu,"exports",{enumerable:!0,get:Dn})});var Nu=p((VD,Iu)=>{"use strict";var J=wu(),rn=ve(),sn=Tu(),Re=new Set(["\x1B",""]),on=39,Ku=s(e=>`${Re.values().next().value}[${e}m`,"wrapAnsi"),ln=s(e=>e.split(" ").map(u=>J(u)),"wordLengths"),Pe=s((e,u,t)=>{let n=[...u],D=!1,r=J(rn(e[e.length-1]));for(let[i,o]of n.entries()){let l=J(o);if(r+l<=t?e[e.length-1]+=o:(e.push(o),r=0),Re.has(o))D=!0;else if(D&&o==="m"){D=!1;continue}D||(r+=l,r===t&&i<n.length-1&&(e.push(""),r=0))}!r&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},"wrapWord"),an=s(e=>{let u=e.split(" "),t=u.length;for(;t>0&&!(J(u[t-1])>0);)t--;return t===u.length?e:u.slice(0,t).join(" ")+u.slice(t).join("")},"stringVisibleTrimSpacesRight"),cn=s((e,u,t={})=>{if(t.trim!==!1&&e.trim()==="")return"";let n="",D="",r,i=ln(e),o=[""];for(let[l,a]of e.split(" ").entries()){t.trim!==!1&&(o[o.length-1]=o[o.length-1].trimLeft());let f=J(o[o.length-1]);if(l!==0&&(f>=u&&(t.wordWrap===!1||t.trim===!1)&&(o.push(""),f=0),(f>0||t.trim===!1)&&(o[o.length-1]+=" ",f++)),t.hard&&i[l]>u){let C=u-f,E=1+Math.floor((i[l]-C-1)/u);Math.floor((i[l]-1)/u)<E&&o.push(""),Pe(o,a,u);continue}if(f+i[l]>u&&f>0&&i[l]>0){if(t.wordWrap===!1&&f<u){Pe(o,a,u);continue}o.push("")}if(f+i[l]>u&&t.wordWrap===!1){Pe(o,a,u);continue}o[o.length-1]+=a}t.trim!==!1&&(o=o.map(an)),n=o.join(`
|
|
6
|
+
`);for(let[l,a]of[...n].entries()){if(D+=a,Re.has(a)){let C=parseFloat(/\d[^m]*/.exec(n.slice(l,l+4)));r=C===on?null:C}let f=sn.codes.get(Number(r));r&&f&&(n[l+1]===`
|
|
7
|
+
`?D+=Ku(f):a===`
|
|
8
|
+
`&&(D+=Ku(r)))}return D},"exec");Iu.exports=(e,u,t)=>String(e).normalize().replace(/\r\n/g,`
|
|
9
|
+
`).split(`
|
|
10
|
+
`).map(n=>cn(n,u,t)).join(`
|
|
11
|
+
`)});var Me=p(Y=>{"use strict";var Gu=Y&&Y.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Y,"__esModule",{value:!0});Y.breakLines=Fn;Y.readlineWidth=Cn;var fn=Gu(Cu()),hn=Gu(Nu()),dn=T();function Fn(e,u){return e.split(`
|
|
12
|
+
`).flatMap(t=>(0,hn.default)(t,u,{trim:!1,hard:!0}).split(`
|
|
13
|
+
`).map(n=>n.trimEnd())).join(`
|
|
14
|
+
`)}s(Fn,"breakLines");function Cn(){return(0,fn.default)({defaultWidth:80,output:(0,dn.readline)().output})}s(Cn,"readlineWidth")});var $u=p(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.usePagination=En;var pn=ne(),Wu=Me();function gn({active:e,renderedItems:u,pageSize:t,loop:n}){let D=(0,pn.useRef)({lastPointer:e,lastActive:void 0}),{lastPointer:r,lastActive:i}=D.current,o=Math.floor(t/2),l=u.reduce((C,E)=>C+E.length,0),a=u.slice(0,e).reduce((C,E)=>C+E.length,0),f=a;if(l>t)if(n)f=r,i!=null&&i<e&&e-i<t&&(f=Math.min(o,Math.abs(e-i)===1?Math.min(r+(u[i]?.length??0),Math.max(a,r)):r+e-i));else{let C=u.slice(e).reduce((E,y)=>E+y.length,0);f=C<t-o?t-C:Math.min(a,o)}return D.current.lastPointer=f,D.current.lastActive=e,f}s(gn,"usePointerPosition");function En({items:e,active:u,renderItem:t,pageSize:n,loop:D=!0}){let r=(0,Wu.readlineWidth)(),i=s(g=>(g%e.length+e.length)%e.length,"bound"),o=e.map((g,m)=>g==null?[]:(0,Wu.breakLines)(t({item:g,index:m,isActive:m===u}),r).split(`
|
|
15
|
+
`)),l=o.reduce((g,m)=>g+m.length,0),a=s(g=>o[g]??[],"renderItemAtIndex"),f=gn({active:u,renderedItems:o,pageSize:n,loop:D}),C=a(u).slice(0,n),E=f+C.length<=n?f:n-C.length,y=Array.from({length:n});y.splice(E,C.length,...C);let R=new Set([u]),A=E+C.length,b=i(u+1);for(;A<n&&!R.has(b)&&(D&&l>n?b!==u:b>u);){let m=a(b).slice(0,n-A);y.splice(A,m.length,...m),R.add(b),A+=m.length,b=i(b+1)}for(A=E-1,b=i(u-1);A>=0&&!R.has(b)&&(D&&l>n?b!==u:b<u);){let g=a(b),m=g.slice(Math.max(0,g.length-A-1));y.splice(A-m.length+1,m.length,...m),R.add(b),A-=m.length,b=i(b-1)}return y.filter(g=>typeof g=="string").join(`
|
|
16
|
+
`)}s(En,"usePagination")});var Hu=p((JD,Vu)=>{var bn=require("stream"),Ue=class extends bn{static{s(this,"MuteStream")}#t=null;constructor(u={}){super(u),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=u.replace,this._prompt=u.prompt||null,this._hadControl=!1}#u(u,t){return this._dest?this._dest[u]:this._src?this._src[u]:t}#e(u,...t){typeof this._dest?.[u]=="function"&&this._dest[u](...t),typeof this._src?.[u]=="function"&&this._src[u](...t)}get isTTY(){return this.#t!==null?this.#t:this.#u("isTTY",!1)}set isTTY(u){this.#t=u}get rows(){return this.#u("rows")}get columns(){return this.#u("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(u){this._src=u}pipe(u,t){return this._dest=u,super.pipe(u,t)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(u){if(this.muted){if(!this.replace)return!0;if(u.match(/^\u001b/))return u.indexOf(this._prompt)===0&&(u=u.slice(this._prompt.length),u=u.replace(/./g,this.replace),u=this._prompt+u),this._hadControl=!0,this.emit("data",u);this._prompt&&this._hadControl&&u.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),u=u.slice(this._prompt.length)),u=u.toString().replace(/./g,this.replace)}this.emit("data",u)}end(u){this.muted&&(u&&this.replace?u=u.toString().replace(/./g,this.replace):u=null),u&&this.emit("data",u),this.emit("end")}destroy(...u){return this.#e("destroy",...u)}destroySoon(...u){return this.#e("destroySoon",...u)}close(...u){return this.#e("close",...u)}};Vu.exports=Ue});var zu=p(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.signals=void 0;K.signals=[];K.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&K.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&K.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var Yu=p(P=>{"use strict";var ie;Object.defineProperty(P,"__esModule",{value:!0});P.unload=P.load=P.onExit=P.signals=void 0;var se=zu();Object.defineProperty(P,"signals",{enumerable:!0,get:s(function(){return se.signals},"get")});var oe=s(e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function","processOk"),qe=Symbol.for("signal-exit emitter"),Te=globalThis,mn=Object.defineProperty.bind(Object),Ke=class{static{s(this,"Emitter")}emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Te[qe])return Te[qe];mn(Te,qe,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(u,t){this.listeners[u].push(t)}removeListener(u,t){let n=this.listeners[u],D=n.indexOf(t);D!==-1&&(D===0&&n.length===1?n.length=0:n.splice(D,1))}emit(u,t,n){if(this.emitted[u])return!1;this.emitted[u]=!0;let D=!1;for(let r of this.listeners[u])D=r(t,n)===!0||D;return u==="exit"&&(D=this.emit("afterExit",t,n)||D),D}},le=class{static{s(this,"SignalExitBase")}},Bn=s(e=>({onExit(u,t){return e.onExit(u,t)},load(){return e.load()},unload(){return e.unload()}}),"signalExitWrap"),Ie=class extends le{static{s(this,"SignalExitFallback")}onExit(){return()=>{}}load(){}unload(){}},Ne=class extends le{static{s(this,"SignalExit")}#t=Ge.platform==="win32"?"SIGINT":"SIGHUP";#u=new Ke;#e;#r;#i;#D={};#n=!1;constructor(u){super(),this.#e=u,this.#D={};for(let t of se.signals)this.#D[t]=()=>{let n=this.#e.listeners(t),{count:D}=this.#u,r=u;if(typeof r.__signal_exit_emitter__=="object"&&typeof r.__signal_exit_emitter__.count=="number"&&(D+=r.__signal_exit_emitter__.count),n.length===D){this.unload();let i=this.#u.emit("exit",null,t),o=t==="SIGHUP"?this.#t:t;i||u.kill(u.pid,o)}};this.#i=u.reallyExit,this.#r=u.emit}onExit(u,t){if(!oe(this.#e))return()=>{};this.#n===!1&&this.load();let n=t?.alwaysLast?"afterExit":"exit";return this.#u.on(n,u),()=>{this.#u.removeListener(n,u),this.#u.listeners.exit.length===0&&this.#u.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#n){this.#n=!0,this.#u.count+=1;for(let u of se.signals)try{let t=this.#D[u];t&&this.#e.on(u,t)}catch{}this.#e.emit=(u,...t)=>this.#o(u,...t),this.#e.reallyExit=u=>this.#s(u)}}unload(){this.#n&&(this.#n=!1,se.signals.forEach(u=>{let t=this.#D[u];if(!t)throw new Error("Listener not defined for signal: "+u);try{this.#e.removeListener(u,t)}catch{}}),this.#e.emit=this.#r,this.#e.reallyExit=this.#i,this.#u.count-=1)}#s(u){return oe(this.#e)?(this.#e.exitCode=u||0,this.#u.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#o(u,...t){let n=this.#r;if(u==="exit"&&oe(this.#e)){typeof t[0]=="number"&&(this.#e.exitCode=t[0]);let D=n.call(this.#e,u,...t);return this.#u.emit("exit",this.#e.exitCode,null),D}else return n.call(this.#e,u,...t)}},Ge=globalThis.process;ie=Bn(oe(Ge)?new Ne(Ge):new Ie),P.onExit=ie.onExit,P.load=ie.load,P.unload=ie.unload});var Qu=p(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.eraseLines=_.cursorTo=_.cursorDown=_.cursorUp=_.cursorShow=_.cursorHide=_.cursorLeft=void 0;var j="\x1B[";_.cursorLeft=j+"G";_.cursorHide=j+"?25l";_.cursorShow=j+"?25h";var yn=s((e=1)=>e>0?`${j}${e}A`:"","cursorUp");_.cursorUp=yn;var _n=s((e=1)=>e>0?`${j}${e}B`:"","cursorDown");_.cursorDown=_n;var wn=s((e,u)=>typeof u=="number"&&!Number.isNaN(u)?`${j}${u+1};${e+1}H`:`${j}${e+1}G`,"cursorTo");_.cursorTo=wn;var Zu=j+"2K",An=s(e=>e>0?(Zu+(0,_.cursorUp)(1)).repeat(e-1)+Zu+_.cursorLeft:"","eraseLines");_.eraseLines=An});var Xu=p(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});var vn=require("node:util"),We=Me(),U=Qu(),Ju=s(e=>e.split(`
|
|
17
|
+
`).length,"height"),xn=s(e=>e.split(`
|
|
18
|
+
`).pop()??"","lastLine"),$e=class{static{s(this,"ScreenManager")}height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(u){this.rl=u,this.cursorPos=u.getCursorPos()}write(u){this.rl.output.unmute(),this.rl.output.write(u),this.rl.output.mute()}render(u,t=""){let n=xn(u),D=(0,vn.stripVTControlCharacters)(n),r=D;this.rl.line.length>0&&(r=r.slice(0,-this.rl.line.length)),this.rl.setPrompt(r),this.cursorPos=this.rl.getCursorPos();let i=(0,We.readlineWidth)();u=(0,We.breakLines)(u,i),t=(0,We.breakLines)(t,i),D.length%i===0&&(u+=`
|
|
19
|
+
`);let o=u+(t?`
|
|
20
|
+
`+t:""),a=Math.floor(D.length/i)-this.cursorPos.rows+(t?Ju(t):0);a>0&&(o+=(0,U.cursorUp)(a)),o+=(0,U.cursorTo)(this.cursorPos.cols),this.write((0,U.cursorDown)(this.extraLinesUnderPrompt)+(0,U.eraseLines)(this.height)+o),this.extraLinesUnderPrompt=a,this.height=Ju(o)}checkCursorPos(){let u=this.rl.getCursorPos();u.cols!==this.cursorPos.cols&&(this.write((0,U.cursorTo)(u.cols)),this.cursorPos=u)}done({clearContent:u}){this.rl.setPrompt("");let t=(0,U.cursorDown)(this.extraLinesUnderPrompt);t+=u?(0,U.eraseLines)(this.height):`
|
|
21
|
+
`,t+=U.cursorShow,this.write(t),this.rl.close()}};Ve.default=$e});var et=p(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.PromisePolyfill=void 0;var He=class extends Promise{static{s(this,"PromisePolyfill")}static withResolver(){let u,t;return{promise:new Promise((D,r)=>{u=D,t=r}),resolve:u,reject:t}}};ae.PromisePolyfill=He});var tt=p(L=>{"use strict";var kn=L&&L.__createBinding||(Object.create?(function(e,u,t,n){n===void 0&&(n=t);var D=Object.getOwnPropertyDescriptor(u,t);(!D||("get"in D?!u.__esModule:D.writable||D.configurable))&&(D={enumerable:!0,get:s(function(){return u[t]},"get")}),Object.defineProperty(e,n,D)}):(function(e,u,t,n){n===void 0&&(n=t),e[n]=u[t]})),Sn=L&&L.__setModuleDefault||(Object.create?(function(e,u){Object.defineProperty(e,"default",{enumerable:!0,value:u})}):function(e,u){e.default=u}),Ln=L&&L.__importStar||(function(){var e=s(function(u){return e=Object.getOwnPropertyNames||function(t){var n=[];for(var D in t)Object.prototype.hasOwnProperty.call(t,D)&&(n[n.length]=D);return n},e(u)},"ownKeys");return function(u){if(u&&u.__esModule)return u;var t={};if(u!=null)for(var n=e(u),D=0;D<n.length;D++)n[D]!=="default"&&kn(t,u,n[D]);return Sn(t,u),t}})(),ut=L&&L.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(L,"__esModule",{value:!0});L.createPrompt=Tn;var On=Ln(require("node:readline")),Pn=require("node:async_hooks"),Rn=ut(Hu()),Mn=Yu(),jn=ut(Xu()),Un=et(),X=T(),ce=ee();function qn(){let e=Error.prepareStackTrace,u=[];try{Error.prepareStackTrace=(t,n)=>{let D=n.slice(1);return u=D,D},new Error().stack}catch{return u}return Error.prepareStackTrace=e,u}s(qn,"getCallSites");function Tn(e){let u=qn();return s((n,D={})=>{let{input:r=process.stdin,signal:i}=D,o=new Set,l=new Rn.default;l.pipe(D.output??process.stdout);let a=On.createInterface({terminal:!0,input:r,output:l}),f=new jn.default(a),{promise:C,resolve:E,reject:y}=Un.PromisePolyfill.withResolver(),R=s(()=>y(new ce.CancelPromptError),"cancel");if(i){let g=s(()=>y(new ce.AbortPromptError({cause:i.reason})),"abort");if(i.aborted)return g(),Object.assign(C,{cancel:R});i.addEventListener("abort",g),o.add(()=>i.removeEventListener("abort",g))}o.add((0,Mn.onExit)((g,m)=>{y(new ce.ExitPromptError(`User force closed the prompt with ${g} ${m}`))}));let A=s(()=>y(new ce.ExitPromptError("User force closed the prompt with SIGINT")),"sigint");a.on("SIGINT",A),o.add(()=>a.removeListener("SIGINT",A));let b=s(()=>f.checkCursorPos(),"checkCursorPos");return a.input.on("keypress",b),o.add(()=>a.input.removeListener("keypress",b)),(0,X.withHooks)(a,g=>{let m=Pn.AsyncResource.bind(()=>X.effectScheduler.clearAll());return a.on("close",m),o.add(()=>a.removeListener("close",m)),g(()=>{try{let B=e(n,W=>{setImmediate(()=>E(W))});if(B===void 0){let W=u[1]?.getFileName();throw new Error(`Prompt functions must return a string.
|
|
22
|
+
at ${W}`)}let[N,G]=typeof B=="string"?[B]:B;f.render(N,G),X.effectScheduler.run()}catch(B){y(B)}}),Object.assign(C.then(B=>(X.effectScheduler.clearAll(),B),B=>{throw X.effectScheduler.clearAll(),B}).finally(()=>{o.forEach(B=>B()),f.done({clearContent:!!D.clearPromptOnDone}),l.end()}).then(()=>C),{cancel:R})})},"prompt")}s(Tn,"createPrompt")});var Dt=p(Z=>{"use strict";var nt=Z&&Z.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Z,"__esModule",{value:!0});Z.Separator=void 0;var Kn=nt(Ee()),In=nt(be()),ze=class{static{s(this,"Separator")}separator=Kn.default.dim(Array.from({length:15}).join(In.default.line));type="separator";constructor(u){u&&(this.separator=u)}static isSeparator(u){return!!(u&&typeof u=="object"&&"type"in u&&u.type==="separator")}};Z.Separator=ze});var rt=p(F=>{"use strict";var Nn=F&&F.__createBinding||(Object.create?(function(e,u,t,n){n===void 0&&(n=t);var D=Object.getOwnPropertyDescriptor(u,t);(!D||("get"in D?!u.__esModule:D.writable||D.configurable))&&(D={enumerable:!0,get:s(function(){return u[t]},"get")}),Object.defineProperty(e,n,D)}):(function(e,u,t,n){n===void 0&&(n=t),e[n]=u[t]})),Gn=F&&F.__exportStar||function(e,u){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(u,t)&&Nn(u,e,t)};Object.defineProperty(F,"__esModule",{value:!0});F.Separator=F.createPrompt=F.usePagination=F.makeTheme=F.useKeypress=F.useRef=F.useMemo=F.useEffect=F.useState=F.usePrefix=F.isEnterKey=F.isNumberKey=F.isTabKey=F.isBackspaceKey=F.isSpaceKey=F.isDownKey=F.isUpKey=void 0;var I=Ye();Object.defineProperty(F,"isUpKey",{enumerable:!0,get:s(function(){return I.isUpKey},"get")});Object.defineProperty(F,"isDownKey",{enumerable:!0,get:s(function(){return I.isDownKey},"get")});Object.defineProperty(F,"isSpaceKey",{enumerable:!0,get:s(function(){return I.isSpaceKey},"get")});Object.defineProperty(F,"isBackspaceKey",{enumerable:!0,get:s(function(){return I.isBackspaceKey},"get")});Object.defineProperty(F,"isTabKey",{enumerable:!0,get:s(function(){return I.isTabKey},"get")});Object.defineProperty(F,"isNumberKey",{enumerable:!0,get:s(function(){return I.isNumberKey},"get")});Object.defineProperty(F,"isEnterKey",{enumerable:!0,get:s(function(){return I.isEnterKey},"get")});Gn(ee(),F);var Wn=fu();Object.defineProperty(F,"usePrefix",{enumerable:!0,get:s(function(){return Wn.usePrefix},"get")});var $n=ue();Object.defineProperty(F,"useState",{enumerable:!0,get:s(function(){return $n.useState},"get")});var Vn=te();Object.defineProperty(F,"useEffect",{enumerable:!0,get:s(function(){return Vn.useEffect},"get")});var Hn=hu();Object.defineProperty(F,"useMemo",{enumerable:!0,get:s(function(){return Hn.useMemo},"get")});var zn=ne();Object.defineProperty(F,"useRef",{enumerable:!0,get:s(function(){return zn.useRef},"get")});var Yn=du();Object.defineProperty(F,"useKeypress",{enumerable:!0,get:s(function(){return Yn.useKeypress},"get")});var Zn=Be();Object.defineProperty(F,"makeTheme",{enumerable:!0,get:s(function(){return Zn.makeTheme},"get")});var Qn=$u();Object.defineProperty(F,"usePagination",{enumerable:!0,get:s(function(){return Qn.usePagination},"get")});var Jn=tt();Object.defineProperty(F,"createPrompt",{enumerable:!0,get:s(function(){return Jn.createPrompt},"get")});var Xn=Dt();Object.defineProperty(F,"Separator",{enumerable:!0,get:s(function(){return Xn.Separator},"get")})});Object.defineProperty(exports,"__esModule",{value:!0});var k=rt(),eD={validationFailureMode:"keep"};exports.default=(0,k.createPrompt)((e,u)=>{let{required:t,validate:n=s(()=>!0,"validate"),prefill:D="tab"}=e,r=(0,k.makeTheme)(eD,e.theme),[i,o]=(0,k.useState)("idle"),[l="",a]=(0,k.useState)(e.default),[f,C]=(0,k.useState)(),[E,y]=(0,k.useState)(""),R=(0,k.usePrefix)({status:i,theme:r});(0,k.useKeypress)(async(B,N)=>{if(i==="idle")if((0,k.isEnterKey)(B)){let G=E||l;o("loading");let W=t&&!G?"You must provide a value":await n(G);W===!0?(y(G),o("done"),u(G)):(r.validationFailureMode==="clear"?y(""):N.write(E),C(W||"You must provide a valid value"),o("idle"))}else(0,k.isBackspaceKey)(B)&&!E?a(void 0):(0,k.isTabKey)(B)&&!E?(a(void 0),N.clearLine(0),N.write(l),y(l)):(y(N.line),C(void 0))}),(0,k.useEffect)(B=>{D==="editable"&&l&&(B.write(l),y(l))},[]);let A=r.style.message(e.message,i),b=E;typeof e.transformer=="function"?b=e.transformer(E,{isFinal:i==="done"}):i==="done"&&(b=r.style.answer(E));let g;l&&i!=="done"&&!E&&(g=r.style.defaultAnswer(l));let m="";return f&&(m=r.style.error(f)),[[R,A,g,b].filter(B=>B!==void 0).join(" "),m]});
|
|
@@ -1 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Bundled from @inquirer/password
|
|
3
|
+
* This is a zero-dependency bundle created by esbuild.
|
|
4
|
+
*/
|
|
5
|
+
"use strict";var dt=Object.defineProperty;var s=(e,u)=>dt(e,"name",{value:u,configurable:!0});var C=(e,u)=>()=>(u||e((u={exports:{}}).exports,u),u.exports);var Xe=C(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.isEnterKey=A.isNumberKey=A.isTabKey=A.isBackspaceKey=A.isSpaceKey=A.isDownKey=A.isUpKey=void 0;var Ft=s((e,u=[])=>e.name==="up"||u.includes("vim")&&e.name==="k"||u.includes("emacs")&&e.ctrl&&e.name==="p","isUpKey");A.isUpKey=Ft;var pt=s((e,u=[])=>e.name==="down"||u.includes("vim")&&e.name==="j"||u.includes("emacs")&&e.ctrl&&e.name==="n","isDownKey");A.isDownKey=pt;var Ct=s(e=>e.name==="space","isSpaceKey");A.isSpaceKey=Ct;var gt=s(e=>e.name==="backspace","isBackspaceKey");A.isBackspaceKey=gt;var Et=s(e=>e.name==="tab","isTabKey");A.isTabKey=Et;var bt=s(e=>"1234567890".includes(e.name),"isNumberKey");A.isNumberKey=bt;var mt=s(e=>e.name==="enter"||e.name==="return","isEnterKey");A.isEnterKey=mt});var ue=C(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.ValidationError=S.HookError=S.ExitPromptError=S.CancelPromptError=S.AbortPromptError=void 0;var Fe=class extends Error{static{s(this,"AbortPromptError")}name="AbortPromptError";message="Prompt was aborted";constructor(u){super(),this.cause=u?.cause}};S.AbortPromptError=Fe;var pe=class extends Error{static{s(this,"CancelPromptError")}name="CancelPromptError";message="Prompt was canceled"};S.CancelPromptError=pe;var Ce=class extends Error{static{s(this,"ExitPromptError")}name="ExitPromptError"};S.ExitPromptError=Ce;var ge=class extends Error{static{s(this,"HookError")}name="HookError"};S.HookError=ge;var Ee=class extends Error{static{s(this,"ValidationError")}name="ValidationError"};S.ValidationError=Ee});var I=C(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.effectScheduler=void 0;j.withHooks=yt;j.readline=nu;j.withUpdates=ru;j.withPointer=_t;j.handleChange=wt;var eu=require("node:async_hooks"),uu=ue(),tu=new eu.AsyncLocalStorage;function Bt(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}s(Bt,"createStore");function yt(e,u){let t=Bt(e);return tu.run(t,()=>{function n(r){t.handleChange=()=>{t.index=0,r()},t.handleChange()}return s(n,"cycle"),u(n)})}s(yt,"withHooks");function K(){let e=tu.getStore();if(!e)throw new uu.HookError("[Inquirer] Hook functions can only be called from within a prompt");return e}s(K,"getStore");function nu(){return K().rl}s(nu,"readline");function ru(e){let u=s((...t)=>{let n=K(),r=!1,D=n.handleChange;n.handleChange=()=>{r=!0};let i=e(...t);return r&&D(),n.handleChange=D,i},"wrapped");return eu.AsyncResource.bind(u)}s(ru,"withUpdates");function _t(e){let u=K(),{index:t}=u,n={get(){return u.hooks[t]},set(D){u.hooks[t]=D},initialized:t in u.hooks},r=e(n);return u.index++,r}s(_t,"withPointer");function wt(){K().handleChange()}s(wt,"handleChange");j.effectScheduler={queue(e){let u=K(),{index:t}=u;u.hooksEffect.push(()=>{u.hooksCleanup[t]?.();let n=e(nu());if(n!=null&&typeof n!="function")throw new uu.ValidationError("useEffect return value must be a cleanup function or nothing.");u.hooksCleanup[t]=n})},run(){let e=K();ru(()=>{e.hooksEffect.forEach(u=>{u()}),e.hooksEffect.length=0})()},clearAll(){let e=K();e.hooksCleanup.forEach(u=>{u?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}}});var te=C(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.useState=vt;var At=require("node:async_hooks"),Du=I();function vt(e){return(0,Du.withPointer)(u=>{let t=At.AsyncResource.bind(s(function(D){u.get()!==D&&(u.set(D),(0,Du.handleChange)())},"setState"));if(u.initialized)return[u.get(),t];let n=typeof e=="function"?e():e;return u.set(n),[n,t]})}s(vt,"useState")});var ne=C(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.useEffect=xt;var iu=I();function xt(e,u){(0,iu.withPointer)(t=>{let n=t.get();(!Array.isArray(n)||u.some((D,i)=>!Object.is(D,n[i])))&&iu.effectScheduler.queue(e),t.set(u)})}s(xt,"useEffect")});var Be=C((mr,su)=>{var kt=require("node:tty"),St=kt?.WriteStream?.prototype?.hasColors?.()??!1,d=s((e,u)=>{if(!St)return r=>r;let t=`\x1B[${e}m`,n=`\x1B[${u}m`;return r=>{let D=r+"",i=D.indexOf(n);if(i===-1)return t+D+n;let o=t,l=0,f=(u===22?n:"")+t;for(;i!==-1;)o+=D.slice(l,i)+f,l=i+n.length,i=D.indexOf(n,l);return o+=D.slice(l)+n,o}},"format"),h={};h.reset=d(0,0);h.bold=d(1,22);h.dim=d(2,22);h.italic=d(3,23);h.underline=d(4,24);h.overline=d(53,55);h.inverse=d(7,27);h.hidden=d(8,28);h.strikethrough=d(9,29);h.black=d(30,39);h.red=d(31,39);h.green=d(32,39);h.yellow=d(33,39);h.blue=d(34,39);h.magenta=d(35,39);h.cyan=d(36,39);h.white=d(37,39);h.gray=d(90,39);h.bgBlack=d(40,49);h.bgRed=d(41,49);h.bgGreen=d(42,49);h.bgYellow=d(43,49);h.bgBlue=d(44,49);h.bgMagenta=d(45,49);h.bgCyan=d(46,49);h.bgWhite=d(47,49);h.bgGray=d(100,49);h.redBright=d(91,39);h.greenBright=d(92,39);h.yellowBright=d(93,39);h.blueBright=d(94,39);h.magentaBright=d(95,39);h.cyanBright=d(96,39);h.whiteBright=d(97,39);h.bgRedBright=d(101,49);h.bgGreenBright=d(102,49);h.bgYellowBright=d(103,49);h.bgBlueBright=d(104,49);h.bgMagentaBright=d(105,49);h.bgCyanBright=d(106,49);h.bgWhiteBright=d(107,49);su.exports=h});var ye=C(x=>{"use strict";var Lt=x&&x.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(x,"__esModule",{value:!0});x.replaceSymbols=x.fallbackSymbols=x.mainSymbols=void 0;var R=Lt(require("node:process"));function Pt(){return R.default.platform!=="win32"?R.default.env.TERM!=="linux":!!R.default.env.WT_SESSION||!!R.default.env.TERMINUS_SUBLIME||R.default.env.ConEmuTask==="{cmd::Cmder}"||R.default.env.TERM_PROGRAM==="Terminus-Sublime"||R.default.env.TERM_PROGRAM==="vscode"||R.default.env.TERM==="xterm-256color"||R.default.env.TERM==="alacritty"||R.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}s(Pt,"isUnicodeSupported");var ou={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"},lu={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"},Ot={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"};x.mainSymbols={...ou,...lu};x.fallbackSymbols={...ou,...Ot};var au=Pt(),Rt=au?x.mainSymbols:x.fallbackSymbols;x.default=Rt;var Mt=Object.entries(lu),jt=s((e,{useFallback:u=!au}={})=>{if(u)for(let[t,n]of Mt){let r=x.fallbackSymbols[t];if(!r)throw new Error(`Unable to find fallback for ${t}`);e=e.replaceAll(n,r)}return e},"replaceSymbols");x.replaceSymbols=jt});var fu=C(G=>{"use strict";var cu=G&&G.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(G,"__esModule",{value:!0});G.defaultTheme=void 0;var L=cu(Be()),Ut=cu(ye());G.defaultTheme={prefix:{idle:L.default.blue("?"),done:L.default.green(Ut.default.tick)},spinner:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"].map(e=>L.default.yellow(e))},style:{answer:L.default.cyan,message:L.default.bold,error:s(e=>L.default.red(`> ${e}`),"error"),defaultAnswer:s(e=>L.default.dim(`(${e})`),"defaultAnswer"),help:L.default.dim,highlight:L.default.cyan,key:s(e=>L.default.cyan(L.default.bold(`<${e}>`)),"key")}}});var we=C(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.makeTheme=Tt;var qt=fu();function hu(e){if(typeof e!="object"||e===null)return!1;let u=e;for(;Object.getPrototypeOf(u)!==null;)u=Object.getPrototypeOf(u);return Object.getPrototypeOf(e)===u}s(hu,"isPlainObject");function du(...e){let u={};for(let t of e)for(let[n,r]of Object.entries(t)){let D=u[n];u[n]=hu(D)&&hu(r)?du(D,r):r}return u}s(du,"deepMerge");function Tt(...e){let u=[qt.defaultTheme,...e.filter(t=>t!=null)];return du(...u)}s(Tt,"makeTheme")});var pu=C(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.usePrefix=$t;var Fu=te(),Kt=ne(),It=we();function $t({status:e="idle",theme:u}){let[t,n]=(0,Fu.useState)(!1),[r,D]=(0,Fu.useState)(0),{prefix:i,spinner:o}=(0,It.makeTheme)(u);return(0,Kt.useEffect)(()=>{if(e==="loading"){let a,f=-1,p=setTimeout(()=>{n(!0),a=setInterval(()=>{f=f+1,D(f%o.frames.length)},o.interval)},300);return()=>{clearTimeout(p),clearInterval(a)}}else n(!1)},[e]),t?o.frames[r]:typeof i=="string"?i:i[e==="loading"?"idle":e]??i.idle}s($t,"usePrefix")});var Cu=C(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.useMemo=Gt;var Nt=I();function Gt(e,u){return(0,Nt.withPointer)(t=>{let n=t.get();if(!n||n.dependencies.length!==u.length||n.dependencies.some((r,D)=>r!==u[D])){let r=e();return t.set({value:r,dependencies:u}),r}return n.value})}s(Gt,"useMemo")});var re=C(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.useRef=Vt;var Wt=te();function Vt(e){return(0,Wt.useState)({current:e})[0]}s(Vt,"useRef")});var gu=C(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.useKeypress=Jt;var Ht=re(),zt=ne(),Yt=I();function Jt(e){let u=(0,Ht.useRef)(e);u.current=e,(0,zt.useEffect)(t=>{let n=!1,r=(0,Yt.withUpdates)((D,i)=>{n||u.current(i,t)});return t.input.on("keypress",r),()=>{n=!0,t.input.removeListener("keypress",r)}},[])}s(Jt,"useKeypress")});var bu=C((Ur,Eu)=>{"use strict";Eu.exports=Qt;function Zt(e){let u={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(u).forEach(function(t){e[t]||(e[t]=u[t])}),e):u}s(Zt,"normalizeOpts");function Qt(e){let u=Zt(e);if(u.output.getWindowSize)return u.output.getWindowSize()[0]||u.defaultWidth;if(u.tty.getWindowSize)return u.tty.getWindowSize()[1]||u.defaultWidth;if(u.output.columns)return u.output.columns;if(process.env.CLI_WIDTH){let t=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(t)&&t!==0)return t}return u.defaultWidth}s(Qt,"cliWidth")});var Bu=C((Tr,mu)=>{"use strict";mu.exports=({onlyFirst:e=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")}});var Se=C((Kr,yu)=>{"use strict";var Xt=Bu();yu.exports=e=>typeof e=="string"?e.replace(Xt(),""):e});var wu=C((Ir,Le)=>{"use strict";var _u=s(e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141),"isFullwidthCodePoint");Le.exports=_u;Le.exports.default=_u});var vu=C((Nr,Au)=>{"use strict";Au.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var ku=C((Gr,Pe)=>{"use strict";var en=Se(),un=wu(),tn=vu(),xu=s(e=>{if(typeof e!="string"||e.length===0||(e=en(e),e.length===0))return 0;e=e.replace(tn()," ");let u=0;for(let t=0;t<e.length;t++){let n=e.codePointAt(t);n<=31||n>=127&&n<=159||n>=768&&n<=879||(n>65535&&t++,u+=un(n)?2:1)}return u},"stringWidth");Pe.exports=xu;Pe.exports.default=xu});var Lu=C((Vr,Su)=>{"use strict";Su.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Oe=C((Hr,Ou)=>{var Z=Lu(),Pu={};for(let e of Object.keys(Z))Pu[Z[e]]=e;var c={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Ou.exports=c;for(let e of Object.keys(c)){if(!("channels"in c[e]))throw new Error("missing channels property: "+e);if(!("labels"in c[e]))throw new Error("missing channel labels property: "+e);if(c[e].labels.length!==c[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:u,labels:t}=c[e];delete c[e].channels,delete c[e].labels,Object.defineProperty(c[e],"channels",{value:u}),Object.defineProperty(c[e],"labels",{value:t})}c.rgb.hsl=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.min(u,t,n),D=Math.max(u,t,n),i=D-r,o,l;D===r?o=0:u===D?o=(t-n)/i:t===D?o=2+(n-u)/i:n===D&&(o=4+(u-t)/i),o=Math.min(o*60,360),o<0&&(o+=360);let a=(r+D)/2;return D===r?l=0:a<=.5?l=i/(D+r):l=i/(2-D-r),[o,l*100,a*100]};c.rgb.hsv=function(e){let u,t,n,r,D,i=e[0]/255,o=e[1]/255,l=e[2]/255,a=Math.max(i,o,l),f=a-Math.min(i,o,l),p=s(function(y){return(a-y)/6/f+1/2},"diffc");return f===0?(r=0,D=0):(D=f/a,u=p(i),t=p(o),n=p(l),i===a?r=n-t:o===a?r=1/3+u-n:l===a&&(r=2/3+t-u),r<0?r+=1:r>1&&(r-=1)),[r*360,D*100,a*100]};c.rgb.hwb=function(e){let u=e[0],t=e[1],n=e[2],r=c.rgb.hsl(e)[0],D=1/255*Math.min(u,Math.min(t,n));return n=1-1/255*Math.max(u,Math.max(t,n)),[r,D*100,n*100]};c.rgb.cmyk=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.min(1-u,1-t,1-n),D=(1-u-r)/(1-r)||0,i=(1-t-r)/(1-r)||0,o=(1-n-r)/(1-r)||0;return[D*100,i*100,o*100,r*100]};function nn(e,u){return(e[0]-u[0])**2+(e[1]-u[1])**2+(e[2]-u[2])**2}s(nn,"comparativeDistance");c.rgb.keyword=function(e){let u=Pu[e];if(u)return u;let t=1/0,n;for(let r of Object.keys(Z)){let D=Z[r],i=nn(e,D);i<t&&(t=i,n=r)}return n};c.keyword.rgb=function(e){return Z[e]};c.rgb.xyz=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255;u=u>.04045?((u+.055)/1.055)**2.4:u/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let r=u*.4124+t*.3576+n*.1805,D=u*.2126+t*.7152+n*.0722,i=u*.0193+t*.1192+n*.9505;return[r*100,D*100,i*100]};c.rgb.lab=function(e){let u=c.rgb.xyz(e),t=u[0],n=u[1],r=u[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let D=116*n-16,i=500*(t-n),o=200*(n-r);return[D,i,o]};c.hsl.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100,r,D,i;if(t===0)return i=n*255,[i,i,i];n<.5?r=n*(1+t):r=n+t-n*t;let o=2*n-r,l=[0,0,0];for(let a=0;a<3;a++)D=u+1/3*-(a-1),D<0&&D++,D>1&&D--,6*D<1?i=o+(r-o)*6*D:2*D<1?i=r:3*D<2?i=o+(r-o)*(2/3-D)*6:i=o,l[a]=i*255;return l};c.hsl.hsv=function(e){let u=e[0],t=e[1]/100,n=e[2]/100,r=t,D=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,r*=D<=1?D:2-D;let i=(n+t)/2,o=n===0?2*r/(D+r):2*t/(n+t);return[u,o*100,i*100]};c.hsv.rgb=function(e){let u=e[0]/60,t=e[1]/100,n=e[2]/100,r=Math.floor(u)%6,D=u-Math.floor(u),i=255*n*(1-t),o=255*n*(1-t*D),l=255*n*(1-t*(1-D));switch(n*=255,r){case 0:return[n,l,i];case 1:return[o,n,i];case 2:return[i,n,l];case 3:return[i,o,n];case 4:return[l,i,n];case 5:return[n,i,o]}};c.hsv.hsl=function(e){let u=e[0],t=e[1]/100,n=e[2]/100,r=Math.max(n,.01),D,i;i=(2-t)*n;let o=(2-t)*r;return D=t*r,D/=o<=1?o:2-o,D=D||0,i/=2,[u,D*100,i*100]};c.hwb.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100,r=t+n,D;r>1&&(t/=r,n/=r);let i=Math.floor(6*u),o=1-n;D=6*u-i,(i&1)!==0&&(D=1-D);let l=t+D*(o-t),a,f,p;switch(i){default:case 6:case 0:a=o,f=l,p=t;break;case 1:a=l,f=o,p=t;break;case 2:a=t,f=o,p=l;break;case 3:a=t,f=l,p=o;break;case 4:a=l,f=t,p=o;break;case 5:a=o,f=t,p=l;break}return[a*255,f*255,p*255]};c.cmyk.rgb=function(e){let u=e[0]/100,t=e[1]/100,n=e[2]/100,r=e[3]/100,D=1-Math.min(1,u*(1-r)+r),i=1-Math.min(1,t*(1-r)+r),o=1-Math.min(1,n*(1-r)+r);return[D*255,i*255,o*255]};c.xyz.rgb=function(e){let u=e[0]/100,t=e[1]/100,n=e[2]/100,r,D,i;return r=u*3.2406+t*-1.5372+n*-.4986,D=u*-.9689+t*1.8758+n*.0415,i=u*.0557+t*-.204+n*1.057,r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92,D=D>.0031308?1.055*D**(1/2.4)-.055:D*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,r=Math.min(Math.max(0,r),1),D=Math.min(Math.max(0,D),1),i=Math.min(Math.max(0,i),1),[r*255,D*255,i*255]};c.xyz.lab=function(e){let u=e[0],t=e[1],n=e[2];u/=95.047,t/=100,n/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let r=116*t-16,D=500*(u-t),i=200*(t-n);return[r,D,i]};c.lab.xyz=function(e){let u=e[0],t=e[1],n=e[2],r,D,i;D=(u+16)/116,r=t/500+D,i=D-n/200;let o=D**3,l=r**3,a=i**3;return D=o>.008856?o:(D-16/116)/7.787,r=l>.008856?l:(r-16/116)/7.787,i=a>.008856?a:(i-16/116)/7.787,r*=95.047,D*=100,i*=108.883,[r,D,i]};c.lab.lch=function(e){let u=e[0],t=e[1],n=e[2],r;r=Math.atan2(n,t)*360/2/Math.PI,r<0&&(r+=360);let i=Math.sqrt(t*t+n*n);return[u,i,r]};c.lch.lab=function(e){let u=e[0],t=e[1],r=e[2]/360*2*Math.PI,D=t*Math.cos(r),i=t*Math.sin(r);return[u,D,i]};c.rgb.ansi16=function(e,u=null){let[t,n,r]=e,D=u===null?c.rgb.hsv(e)[2]:u;if(D=Math.round(D/50),D===0)return 30;let i=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return D===2&&(i+=60),i};c.hsv.ansi16=function(e){return c.rgb.ansi16(c.hsv.rgb(e),e[2])};c.rgb.ansi256=function(e){let u=e[0],t=e[1],n=e[2];return u===t&&t===n?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)};c.ansi16.rgb=function(e){let u=e%10;if(u===0||u===7)return e>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let t=(~~(e>50)+1)*.5,n=(u&1)*t*255,r=(u>>1&1)*t*255,D=(u>>2&1)*t*255;return[n,r,D]};c.ansi256.rgb=function(e){if(e>=232){let D=(e-232)*10+8;return[D,D,D]}e-=16;let u,t=Math.floor(e/36)/5*255,n=Math.floor((u=e%36)/6)/5*255,r=u%6/5*255;return[t,n,r]};c.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};c.hex.rgb=function(e){let u=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let t=u[0];u[0].length===3&&(t=t.split("").map(o=>o+o).join(""));let n=parseInt(t,16),r=n>>16&255,D=n>>8&255,i=n&255;return[r,D,i]};c.rgb.hcg=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.max(Math.max(u,t),n),D=Math.min(Math.min(u,t),n),i=r-D,o,l;return i<1?o=D/(1-i):o=0,i<=0?l=0:r===u?l=(t-n)/i%6:r===t?l=2+(n-u)/i:l=4+(u-t)/i,l/=6,l%=1,[l*360,i*100,o*100]};c.hsl.hcg=function(e){let u=e[1]/100,t=e[2]/100,n=t<.5?2*u*t:2*u*(1-t),r=0;return n<1&&(r=(t-.5*n)/(1-n)),[e[0],n*100,r*100]};c.hsv.hcg=function(e){let u=e[1]/100,t=e[2]/100,n=u*t,r=0;return n<1&&(r=(t-n)/(1-n)),[e[0],n*100,r*100]};c.hcg.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100;if(t===0)return[n*255,n*255,n*255];let r=[0,0,0],D=u%1*6,i=D%1,o=1-i,l=0;switch(Math.floor(D)){case 0:r[0]=1,r[1]=i,r[2]=0;break;case 1:r[0]=o,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=i;break;case 3:r[0]=0,r[1]=o,r[2]=1;break;case 4:r[0]=i,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=o}return l=(1-t)*n,[(t*r[0]+l)*255,(t*r[1]+l)*255,(t*r[2]+l)*255]};c.hcg.hsv=function(e){let u=e[1]/100,t=e[2]/100,n=u+t*(1-u),r=0;return n>0&&(r=u/n),[e[0],r*100,n*100]};c.hcg.hsl=function(e){let u=e[1]/100,n=e[2]/100*(1-u)+.5*u,r=0;return n>0&&n<.5?r=u/(2*n):n>=.5&&n<1&&(r=u/(2*(1-n))),[e[0],r*100,n*100]};c.hcg.hwb=function(e){let u=e[1]/100,t=e[2]/100,n=u+t*(1-u);return[e[0],(n-u)*100,(1-n)*100]};c.hwb.hcg=function(e){let u=e[1]/100,n=1-e[2]/100,r=n-u,D=0;return r<1&&(D=(n-r)/(1-r)),[e[0],r*100,D*100]};c.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};c.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};c.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};c.gray.hsl=function(e){return[0,0,e[0]]};c.gray.hsv=c.gray.hsl;c.gray.hwb=function(e){return[0,100,e[0]]};c.gray.cmyk=function(e){return[0,0,0,e[0]]};c.gray.lab=function(e){return[e[0],0,0]};c.gray.hex=function(e){let u=Math.round(e[0]/100*255)&255,n=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(n.length)+n};c.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var Mu=C((Yr,Ru)=>{var De=Oe();function rn(){let e={},u=Object.keys(De);for(let t=u.length,n=0;n<t;n++)e[u[n]]={distance:-1,parent:null};return e}s(rn,"buildGraph");function Dn(e){let u=rn(),t=[e];for(u[e].distance=0;t.length;){let n=t.pop(),r=Object.keys(De[n]);for(let D=r.length,i=0;i<D;i++){let o=r[i],l=u[o];l.distance===-1&&(l.distance=u[n].distance+1,l.parent=n,t.unshift(o))}}return u}s(Dn,"deriveBFS");function sn(e,u){return function(t){return u(e(t))}}s(sn,"link");function on(e,u){let t=[u[e].parent,e],n=De[u[e].parent][e],r=u[e].parent;for(;u[r].parent;)t.unshift(u[r].parent),n=sn(De[u[r].parent][r],n),r=u[r].parent;return n.conversion=t,n}s(on,"wrapConversion");Ru.exports=function(e){let u=Dn(e),t={},n=Object.keys(u);for(let r=n.length,D=0;D<r;D++){let i=n[D];u[i].parent!==null&&(t[i]=on(i,u))}return t}});var Uu=C((Zr,ju)=>{var Re=Oe(),ln=Mu(),W={},an=Object.keys(Re);function cn(e){let u=s(function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))},"wrappedFn");return"conversion"in e&&(u.conversion=e.conversion),u}s(cn,"wrapRaw");function fn(e){let u=s(function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let r=e(t);if(typeof r=="object")for(let D=r.length,i=0;i<D;i++)r[i]=Math.round(r[i]);return r},"wrappedFn");return"conversion"in e&&(u.conversion=e.conversion),u}s(fn,"wrapRounded");an.forEach(e=>{W[e]={},Object.defineProperty(W[e],"channels",{value:Re[e].channels}),Object.defineProperty(W[e],"labels",{value:Re[e].labels});let u=ln(e);Object.keys(u).forEach(n=>{let r=u[n];W[e][n]=fn(r),W[e][n].raw=cn(r)})});ju.exports=W});var Nu=C((Xr,$u)=>{"use strict";var qu=s((e,u)=>(...t)=>`\x1B[${e(...t)+u}m`,"wrapAnsi16"),Tu=s((e,u)=>(...t)=>{let n=e(...t);return`\x1B[${38+u};5;${n}m`},"wrapAnsi256"),Ku=s((e,u)=>(...t)=>{let n=e(...t);return`\x1B[${38+u};2;${n[0]};${n[1]};${n[2]}m`},"wrapAnsi16m"),ie=s(e=>e,"ansi2ansi"),Iu=s((e,u,t)=>[e,u,t],"rgb2rgb"),V=s((e,u,t)=>{Object.defineProperty(e,u,{get:s(()=>{let n=t();return Object.defineProperty(e,u,{value:n,enumerable:!0,configurable:!0}),n},"get"),enumerable:!0,configurable:!0})},"setLazyProperty"),Me,H=s((e,u,t,n)=>{Me===void 0&&(Me=Uu());let r=n?10:0,D={};for(let[i,o]of Object.entries(Me)){let l=i==="ansi16"?"ansi":i;i===u?D[l]=e(t,r):typeof o=="object"&&(D[l]=e(o[u],r))}return D},"makeDynamicStyles");function hn(){let e=new Map,u={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[t,n]of Object.entries(u)){for(let[r,D]of Object.entries(n))u[r]={open:`\x1B[${D[0]}m`,close:`\x1B[${D[1]}m`},n[r]=u[r],e.set(D[0],D[1]);Object.defineProperty(u,t,{value:n,enumerable:!1})}return Object.defineProperty(u,"codes",{value:e,enumerable:!1}),u.color.close="\x1B[39m",u.bgColor.close="\x1B[49m",V(u.color,"ansi",()=>H(qu,"ansi16",ie,!1)),V(u.color,"ansi256",()=>H(Tu,"ansi256",ie,!1)),V(u.color,"ansi16m",()=>H(Ku,"rgb",Iu,!1)),V(u.bgColor,"ansi",()=>H(qu,"ansi16",ie,!0)),V(u.bgColor,"ansi256",()=>H(Tu,"ansi256",ie,!0)),V(u.bgColor,"ansi16m",()=>H(Ku,"rgb",Iu,!0)),u}s(hn,"assembleStyles");Object.defineProperty($u,"exports",{enumerable:!0,get:hn})});var Vu=C((uD,Wu)=>{"use strict";var Q=ku(),dn=Se(),Fn=Nu(),Ue=new Set(["\x1B",""]),pn=39,Gu=s(e=>`${Ue.values().next().value}[${e}m`,"wrapAnsi"),Cn=s(e=>e.split(" ").map(u=>Q(u)),"wordLengths"),je=s((e,u,t)=>{let n=[...u],r=!1,D=Q(dn(e[e.length-1]));for(let[i,o]of n.entries()){let l=Q(o);if(D+l<=t?e[e.length-1]+=o:(e.push(o),D=0),Ue.has(o))r=!0;else if(r&&o==="m"){r=!1;continue}r||(D+=l,D===t&&i<n.length-1&&(e.push(""),D=0))}!D&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},"wrapWord"),gn=s(e=>{let u=e.split(" "),t=u.length;for(;t>0&&!(Q(u[t-1])>0);)t--;return t===u.length?e:u.slice(0,t).join(" ")+u.slice(t).join("")},"stringVisibleTrimSpacesRight"),En=s((e,u,t={})=>{if(t.trim!==!1&&e.trim()==="")return"";let n="",r="",D,i=Cn(e),o=[""];for(let[l,a]of e.split(" ").entries()){t.trim!==!1&&(o[o.length-1]=o[o.length-1].trimLeft());let f=Q(o[o.length-1]);if(l!==0&&(f>=u&&(t.wordWrap===!1||t.trim===!1)&&(o.push(""),f=0),(f>0||t.trim===!1)&&(o[o.length-1]+=" ",f++)),t.hard&&i[l]>u){let p=u-f,y=1+Math.floor((i[l]-p-1)/u);Math.floor((i[l]-1)/u)<y&&o.push(""),je(o,a,u);continue}if(f+i[l]>u&&f>0&&i[l]>0){if(t.wordWrap===!1&&f<u){je(o,a,u);continue}o.push("")}if(f+i[l]>u&&t.wordWrap===!1){je(o,a,u);continue}o[o.length-1]+=a}t.trim!==!1&&(o=o.map(gn)),n=o.join(`
|
|
6
|
+
`);for(let[l,a]of[...n].entries()){if(r+=a,Ue.has(a)){let p=parseFloat(/\d[^m]*/.exec(n.slice(l,l+4)));D=p===pn?null:p}let f=Fn.codes.get(Number(D));D&&f&&(n[l+1]===`
|
|
7
|
+
`?r+=Gu(f):a===`
|
|
8
|
+
`&&(r+=Gu(D)))}return r},"exec");Wu.exports=(e,u,t)=>String(e).normalize().replace(/\r\n/g,`
|
|
9
|
+
`).split(`
|
|
10
|
+
`).map(n=>En(n,u,t)).join(`
|
|
11
|
+
`)});var qe=C(z=>{"use strict";var Hu=z&&z.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(z,"__esModule",{value:!0});z.breakLines=yn;z.readlineWidth=_n;var bn=Hu(bu()),mn=Hu(Vu()),Bn=I();function yn(e,u){return e.split(`
|
|
12
|
+
`).flatMap(t=>(0,mn.default)(t,u,{trim:!1,hard:!0}).split(`
|
|
13
|
+
`).map(n=>n.trimEnd())).join(`
|
|
14
|
+
`)}s(yn,"breakLines");function _n(){return(0,bn.default)({defaultWidth:80,output:(0,Bn.readline)().output})}s(_n,"readlineWidth")});var Yu=C(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.usePagination=vn;var wn=re(),zu=qe();function An({active:e,renderedItems:u,pageSize:t,loop:n}){let r=(0,wn.useRef)({lastPointer:e,lastActive:void 0}),{lastPointer:D,lastActive:i}=r.current,o=Math.floor(t/2),l=u.reduce((p,y)=>p+y.length,0),a=u.slice(0,e).reduce((p,y)=>p+y.length,0),f=a;if(l>t)if(n)f=D,i!=null&&i<e&&e-i<t&&(f=Math.min(o,Math.abs(e-i)===1?Math.min(D+(u[i]?.length??0),Math.max(a,D)):D+e-i));else{let p=u.slice(e).reduce((y,w)=>y+w.length,0);f=p<t-o?t-p:Math.min(a,o)}return r.current.lastPointer=f,r.current.lastActive=e,f}s(An,"usePointerPosition");function vn({items:e,active:u,renderItem:t,pageSize:n,loop:r=!0}){let D=(0,zu.readlineWidth)(),i=s(b=>(b%e.length+e.length)%e.length,"bound"),o=e.map((b,B)=>b==null?[]:(0,zu.breakLines)(t({item:b,index:B,isActive:B===u}),D).split(`
|
|
15
|
+
`)),l=o.reduce((b,B)=>b+B.length,0),a=s(b=>o[b]??[],"renderItemAtIndex"),f=An({active:u,renderedItems:o,pageSize:n,loop:r}),p=a(u).slice(0,n),y=f+p.length<=n?f:n-p.length,w=Array.from({length:n});w.splice(y,p.length,...p);let O=new Set([u]),v=y+p.length,m=i(u+1);for(;v<n&&!O.has(m)&&(r&&l>n?m!==u:m>u);){let B=a(m).slice(0,n-v);w.splice(v,B.length,...B),O.add(m),v+=B.length,m=i(m+1)}for(v=y-1,m=i(u-1);v>=0&&!O.has(m)&&(r&&l>n?m!==u:m<u);){let b=a(m),B=b.slice(Math.max(0,b.length-v-1));w.splice(v-B.length+1,B.length,...B),O.add(m),v-=B.length,m=i(m-1)}return w.filter(b=>typeof b=="string").join(`
|
|
16
|
+
`)}s(vn,"usePagination")});var Zu=C((sD,Ju)=>{var xn=require("stream"),Ke=class extends xn{static{s(this,"MuteStream")}#t=null;constructor(u={}){super(u),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=u.replace,this._prompt=u.prompt||null,this._hadControl=!1}#u(u,t){return this._dest?this._dest[u]:this._src?this._src[u]:t}#e(u,...t){typeof this._dest?.[u]=="function"&&this._dest[u](...t),typeof this._src?.[u]=="function"&&this._src[u](...t)}get isTTY(){return this.#t!==null?this.#t:this.#u("isTTY",!1)}set isTTY(u){this.#t=u}get rows(){return this.#u("rows")}get columns(){return this.#u("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(u){this._src=u}pipe(u,t){return this._dest=u,super.pipe(u,t)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(u){if(this.muted){if(!this.replace)return!0;if(u.match(/^\u001b/))return u.indexOf(this._prompt)===0&&(u=u.slice(this._prompt.length),u=u.replace(/./g,this.replace),u=this._prompt+u),this._hadControl=!0,this.emit("data",u);this._prompt&&this._hadControl&&u.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),u=u.slice(this._prompt.length)),u=u.toString().replace(/./g,this.replace)}this.emit("data",u)}end(u){this.muted&&(u&&this.replace?u=u.toString().replace(/./g,this.replace):u=null),u&&this.emit("data",u),this.emit("end")}destroy(...u){return this.#e("destroy",...u)}destroySoon(...u){return this.#e("destroySoon",...u)}close(...u){return this.#e("close",...u)}};Ju.exports=Ke});var Qu=C($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.signals=void 0;$.signals=[];$.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&$.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&$.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var Xu=C(M=>{"use strict";var se;Object.defineProperty(M,"__esModule",{value:!0});M.unload=M.load=M.onExit=M.signals=void 0;var oe=Qu();Object.defineProperty(M,"signals",{enumerable:!0,get:s(function(){return oe.signals},"get")});var le=s(e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function","processOk"),Ie=Symbol.for("signal-exit emitter"),$e=globalThis,kn=Object.defineProperty.bind(Object),Ne=class{static{s(this,"Emitter")}emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if($e[Ie])return $e[Ie];kn($e,Ie,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(u,t){this.listeners[u].push(t)}removeListener(u,t){let n=this.listeners[u],r=n.indexOf(t);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(u,t,n){if(this.emitted[u])return!1;this.emitted[u]=!0;let r=!1;for(let D of this.listeners[u])r=D(t,n)===!0||r;return u==="exit"&&(r=this.emit("afterExit",t,n)||r),r}},ae=class{static{s(this,"SignalExitBase")}},Sn=s(e=>({onExit(u,t){return e.onExit(u,t)},load(){return e.load()},unload(){return e.unload()}}),"signalExitWrap"),Ge=class extends ae{static{s(this,"SignalExitFallback")}onExit(){return()=>{}}load(){}unload(){}},We=class extends ae{static{s(this,"SignalExit")}#t=Ve.platform==="win32"?"SIGINT":"SIGHUP";#u=new Ne;#e;#D;#i;#r={};#n=!1;constructor(u){super(),this.#e=u,this.#r={};for(let t of oe.signals)this.#r[t]=()=>{let n=this.#e.listeners(t),{count:r}=this.#u,D=u;if(typeof D.__signal_exit_emitter__=="object"&&typeof D.__signal_exit_emitter__.count=="number"&&(r+=D.__signal_exit_emitter__.count),n.length===r){this.unload();let i=this.#u.emit("exit",null,t),o=t==="SIGHUP"?this.#t:t;i||u.kill(u.pid,o)}};this.#i=u.reallyExit,this.#D=u.emit}onExit(u,t){if(!le(this.#e))return()=>{};this.#n===!1&&this.load();let n=t?.alwaysLast?"afterExit":"exit";return this.#u.on(n,u),()=>{this.#u.removeListener(n,u),this.#u.listeners.exit.length===0&&this.#u.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#n){this.#n=!0,this.#u.count+=1;for(let u of oe.signals)try{let t=this.#r[u];t&&this.#e.on(u,t)}catch{}this.#e.emit=(u,...t)=>this.#o(u,...t),this.#e.reallyExit=u=>this.#s(u)}}unload(){this.#n&&(this.#n=!1,oe.signals.forEach(u=>{let t=this.#r[u];if(!t)throw new Error("Listener not defined for signal: "+u);try{this.#e.removeListener(u,t)}catch{}}),this.#e.emit=this.#D,this.#e.reallyExit=this.#i,this.#u.count-=1)}#s(u){return le(this.#e)?(this.#e.exitCode=u||0,this.#u.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#o(u,...t){let n=this.#D;if(u==="exit"&&le(this.#e)){typeof t[0]=="number"&&(this.#e.exitCode=t[0]);let r=n.call(this.#e,u,...t);return this.#u.emit("exit",this.#e.exitCode,null),r}else return n.call(this.#e,u,...t)}},Ve=globalThis.process;se=Sn(le(Ve)?new We(Ve):new Ge),M.onExit=se.onExit,M.load=se.load,M.unload=se.unload});var ut=C(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.eraseLines=_.cursorTo=_.cursorDown=_.cursorUp=_.cursorShow=_.cursorHide=_.cursorLeft=void 0;var U="\x1B[";_.cursorLeft=U+"G";_.cursorHide=U+"?25l";_.cursorShow=U+"?25h";var Ln=s((e=1)=>e>0?`${U}${e}A`:"","cursorUp");_.cursorUp=Ln;var Pn=s((e=1)=>e>0?`${U}${e}B`:"","cursorDown");_.cursorDown=Pn;var On=s((e,u)=>typeof u=="number"&&!Number.isNaN(u)?`${U}${u+1};${e+1}H`:`${U}${e+1}G`,"cursorTo");_.cursorTo=On;var et=U+"2K",Rn=s(e=>e>0?(et+(0,_.cursorUp)(1)).repeat(e-1)+et+_.cursorLeft:"","eraseLines");_.eraseLines=Rn});var nt=C(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});var Mn=require("node:util"),He=qe(),q=ut(),tt=s(e=>e.split(`
|
|
17
|
+
`).length,"height"),jn=s(e=>e.split(`
|
|
18
|
+
`).pop()??"","lastLine"),ze=class{static{s(this,"ScreenManager")}height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(u){this.rl=u,this.cursorPos=u.getCursorPos()}write(u){this.rl.output.unmute(),this.rl.output.write(u),this.rl.output.mute()}render(u,t=""){let n=jn(u),r=(0,Mn.stripVTControlCharacters)(n),D=r;this.rl.line.length>0&&(D=D.slice(0,-this.rl.line.length)),this.rl.setPrompt(D),this.cursorPos=this.rl.getCursorPos();let i=(0,He.readlineWidth)();u=(0,He.breakLines)(u,i),t=(0,He.breakLines)(t,i),r.length%i===0&&(u+=`
|
|
19
|
+
`);let o=u+(t?`
|
|
20
|
+
`+t:""),a=Math.floor(r.length/i)-this.cursorPos.rows+(t?tt(t):0);a>0&&(o+=(0,q.cursorUp)(a)),o+=(0,q.cursorTo)(this.cursorPos.cols),this.write((0,q.cursorDown)(this.extraLinesUnderPrompt)+(0,q.eraseLines)(this.height)+o),this.extraLinesUnderPrompt=a,this.height=tt(o)}checkCursorPos(){let u=this.rl.getCursorPos();u.cols!==this.cursorPos.cols&&(this.write((0,q.cursorTo)(u.cols)),this.cursorPos=u)}done({clearContent:u}){this.rl.setPrompt("");let t=(0,q.cursorDown)(this.extraLinesUnderPrompt);t+=u?(0,q.eraseLines)(this.height):`
|
|
21
|
+
`,t+=q.cursorShow,this.write(t),this.rl.close()}};Ye.default=ze});var rt=C(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.PromisePolyfill=void 0;var Je=class extends Promise{static{s(this,"PromisePolyfill")}static withResolver(){let u,t;return{promise:new Promise((r,D)=>{u=r,t=D}),resolve:u,reject:t}}};ce.PromisePolyfill=Je});var it=C(P=>{"use strict";var Un=P&&P.__createBinding||(Object.create?(function(e,u,t,n){n===void 0&&(n=t);var r=Object.getOwnPropertyDescriptor(u,t);(!r||("get"in r?!u.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:s(function(){return u[t]},"get")}),Object.defineProperty(e,n,r)}):(function(e,u,t,n){n===void 0&&(n=t),e[n]=u[t]})),qn=P&&P.__setModuleDefault||(Object.create?(function(e,u){Object.defineProperty(e,"default",{enumerable:!0,value:u})}):function(e,u){e.default=u}),Tn=P&&P.__importStar||(function(){var e=s(function(u){return e=Object.getOwnPropertyNames||function(t){var n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[n.length]=r);return n},e(u)},"ownKeys");return function(u){if(u&&u.__esModule)return u;var t={};if(u!=null)for(var n=e(u),r=0;r<n.length;r++)n[r]!=="default"&&Un(t,u,n[r]);return qn(t,u),t}})(),Dt=P&&P.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(P,"__esModule",{value:!0});P.createPrompt=Hn;var Kn=Tn(require("node:readline")),In=require("node:async_hooks"),$n=Dt(Zu()),Nn=Xu(),Gn=Dt(nt()),Wn=rt(),X=I(),fe=ue();function Vn(){let e=Error.prepareStackTrace,u=[];try{Error.prepareStackTrace=(t,n)=>{let r=n.slice(1);return u=r,r},new Error().stack}catch{return u}return Error.prepareStackTrace=e,u}s(Vn,"getCallSites");function Hn(e){let u=Vn();return s((n,r={})=>{let{input:D=process.stdin,signal:i}=r,o=new Set,l=new $n.default;l.pipe(r.output??process.stdout);let a=Kn.createInterface({terminal:!0,input:D,output:l}),f=new Gn.default(a),{promise:p,resolve:y,reject:w}=Wn.PromisePolyfill.withResolver(),O=s(()=>w(new fe.CancelPromptError),"cancel");if(i){let b=s(()=>w(new fe.AbortPromptError({cause:i.reason})),"abort");if(i.aborted)return b(),Object.assign(p,{cancel:O});i.addEventListener("abort",b),o.add(()=>i.removeEventListener("abort",b))}o.add((0,Nn.onExit)((b,B)=>{w(new fe.ExitPromptError(`User force closed the prompt with ${b} ${B}`))}));let v=s(()=>w(new fe.ExitPromptError("User force closed the prompt with SIGINT")),"sigint");a.on("SIGINT",v),o.add(()=>a.removeListener("SIGINT",v));let m=s(()=>f.checkCursorPos(),"checkCursorPos");return a.input.on("keypress",m),o.add(()=>a.input.removeListener("keypress",m)),(0,X.withHooks)(a,b=>{let B=In.AsyncResource.bind(()=>X.effectScheduler.clearAll());return a.on("close",B),o.add(()=>a.removeListener("close",B)),b(()=>{try{let k=e(n,de=>{setImmediate(()=>y(de))});if(k===void 0){let de=u[1]?.getFileName();throw new Error(`Prompt functions must return a string.
|
|
22
|
+
at ${de}`)}let[ft,ht]=typeof k=="string"?[k]:k;f.render(ft,ht),X.effectScheduler.run()}catch(k){w(k)}}),Object.assign(p.then(k=>(X.effectScheduler.clearAll(),k),k=>{throw X.effectScheduler.clearAll(),k}).finally(()=>{o.forEach(k=>k()),f.done({clearContent:!!r.clearPromptOnDone}),l.end()}).then(()=>p),{cancel:O})})},"prompt")}s(Hn,"createPrompt")});var ot=C(Y=>{"use strict";var st=Y&&Y.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Y,"__esModule",{value:!0});Y.Separator=void 0;var zn=st(Be()),Yn=st(ye()),Ze=class{static{s(this,"Separator")}separator=zn.default.dim(Array.from({length:15}).join(Yn.default.line));type="separator";constructor(u){u&&(this.separator=u)}static isSeparator(u){return!!(u&&typeof u=="object"&&"type"in u&&u.type==="separator")}};Y.Separator=Ze});var lt=C(F=>{"use strict";var Jn=F&&F.__createBinding||(Object.create?(function(e,u,t,n){n===void 0&&(n=t);var r=Object.getOwnPropertyDescriptor(u,t);(!r||("get"in r?!u.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:s(function(){return u[t]},"get")}),Object.defineProperty(e,n,r)}):(function(e,u,t,n){n===void 0&&(n=t),e[n]=u[t]})),Zn=F&&F.__exportStar||function(e,u){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(u,t)&&Jn(u,e,t)};Object.defineProperty(F,"__esModule",{value:!0});F.Separator=F.createPrompt=F.usePagination=F.makeTheme=F.useKeypress=F.useRef=F.useMemo=F.useEffect=F.useState=F.usePrefix=F.isEnterKey=F.isNumberKey=F.isTabKey=F.isBackspaceKey=F.isSpaceKey=F.isDownKey=F.isUpKey=void 0;var N=Xe();Object.defineProperty(F,"isUpKey",{enumerable:!0,get:s(function(){return N.isUpKey},"get")});Object.defineProperty(F,"isDownKey",{enumerable:!0,get:s(function(){return N.isDownKey},"get")});Object.defineProperty(F,"isSpaceKey",{enumerable:!0,get:s(function(){return N.isSpaceKey},"get")});Object.defineProperty(F,"isBackspaceKey",{enumerable:!0,get:s(function(){return N.isBackspaceKey},"get")});Object.defineProperty(F,"isTabKey",{enumerable:!0,get:s(function(){return N.isTabKey},"get")});Object.defineProperty(F,"isNumberKey",{enumerable:!0,get:s(function(){return N.isNumberKey},"get")});Object.defineProperty(F,"isEnterKey",{enumerable:!0,get:s(function(){return N.isEnterKey},"get")});Zn(ue(),F);var Qn=pu();Object.defineProperty(F,"usePrefix",{enumerable:!0,get:s(function(){return Qn.usePrefix},"get")});var Xn=te();Object.defineProperty(F,"useState",{enumerable:!0,get:s(function(){return Xn.useState},"get")});var er=ne();Object.defineProperty(F,"useEffect",{enumerable:!0,get:s(function(){return er.useEffect},"get")});var ur=Cu();Object.defineProperty(F,"useMemo",{enumerable:!0,get:s(function(){return ur.useMemo},"get")});var tr=re();Object.defineProperty(F,"useRef",{enumerable:!0,get:s(function(){return tr.useRef},"get")});var nr=gu();Object.defineProperty(F,"useKeypress",{enumerable:!0,get:s(function(){return nr.useKeypress},"get")});var rr=we();Object.defineProperty(F,"makeTheme",{enumerable:!0,get:s(function(){return rr.makeTheme},"get")});var Dr=Yu();Object.defineProperty(F,"usePagination",{enumerable:!0,get:s(function(){return Dr.usePagination},"get")});var ir=it();Object.defineProperty(F,"createPrompt",{enumerable:!0,get:s(function(){return ir.createPrompt},"get")});var sr=ot();Object.defineProperty(F,"Separator",{enumerable:!0,get:s(function(){return sr.Separator},"get")})});var ct=C((_D,Qe)=>{"use strict";var g=Qe.exports;Qe.exports.default=g;var E="\x1B[",ee="\x1B]",J="\x07",he=";",at=process.env.TERM_PROGRAM==="Apple_Terminal";g.cursorTo=(e,u)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?E+(e+1)+"G":E+(u+1)+";"+(e+1)+"H"};g.cursorMove=(e,u)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let t="";return e<0?t+=E+-e+"D":e>0&&(t+=E+e+"C"),u<0?t+=E+-u+"A":u>0&&(t+=E+u+"B"),t};g.cursorUp=(e=1)=>E+e+"A";g.cursorDown=(e=1)=>E+e+"B";g.cursorForward=(e=1)=>E+e+"C";g.cursorBackward=(e=1)=>E+e+"D";g.cursorLeft=E+"G";g.cursorSavePosition=at?"\x1B7":E+"s";g.cursorRestorePosition=at?"\x1B8":E+"u";g.cursorGetPosition=E+"6n";g.cursorNextLine=E+"E";g.cursorPrevLine=E+"F";g.cursorHide=E+"?25l";g.cursorShow=E+"?25h";g.eraseLines=e=>{let u="";for(let t=0;t<e;t++)u+=g.eraseLine+(t<e-1?g.cursorUp():"");return e&&(u+=g.cursorLeft),u};g.eraseEndLine=E+"K";g.eraseStartLine=E+"1K";g.eraseLine=E+"2K";g.eraseDown=E+"J";g.eraseUp=E+"1J";g.eraseScreen=E+"2J";g.scrollUp=E+"S";g.scrollDown=E+"T";g.clearScreen="\x1Bc";g.clearTerminal=process.platform==="win32"?`${g.eraseScreen}${E}0f`:`${g.eraseScreen}${E}3J${E}H`;g.beep=J;g.link=(e,u)=>[ee,"8",he,he,u,J,e,ee,"8",he,he,J].join("");g.image=(e,u={})=>{let t=`${ee}1337;File=inline=1`;return u.width&&(t+=`;width=${u.width}`),u.height&&(t+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(t+=";preserveAspectRatio=0"),t+":"+e.toString("base64")+J};g.iTerm={setCwd:s((e=process.cwd())=>`${ee}50;CurrentDir=${e}${J}`,"setCwd"),annotation:s((e,u={})=>{let t=`${ee}1337;`,n=typeof u.x<"u",r=typeof u.y<"u";if((n||r)&&!(n&&r&&typeof u.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),t+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?t+=(n?[e,u.length,u.x,u.y]:[u.length,e]).join("|"):t+=e,t+J},"annotation")}});var or=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var T=lt(),lr=or(ct());exports.default=(0,T.createPrompt)((e,u)=>{let{validate:t=s(()=>!0,"validate")}=e,n=(0,T.makeTheme)(e.theme),[r,D]=(0,T.useState)("idle"),[i,o]=(0,T.useState)(),[l,a]=(0,T.useState)(""),f=(0,T.usePrefix)({status:r,theme:n});(0,T.useKeypress)(async(v,m)=>{if(r==="idle")if((0,T.isEnterKey)(v)){let b=l;D("loading");let B=await t(b);B===!0?(a(b),D("done"),u(b)):(m.write(l),o(B||"You must provide a valid value"),D("idle"))}else a(m.line),o(void 0)});let p=n.style.message(e.message,r),y="",w;e.mask?y=(typeof e.mask=="string"?e.mask:"*").repeat(l.length):r!=="done"&&(w=`${n.style.help("[input is masked]")}${lr.default.cursorHide}`),r==="done"&&(y=n.style.answer(y));let O="";return i&&(O=n.style.error(i)),[[f,p,e.mask?y:w].join(" "),O]});
|
|
@@ -1 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Bundled from @inquirer/search
|
|
3
|
+
* This is a zero-dependency bundle created by esbuild.
|
|
4
|
+
*/
|
|
5
|
+
"use strict";var pt=Object.defineProperty;var i=(e,u)=>pt(e,"name",{value:u,configurable:!0});var g=(e,u)=>()=>(u||e((u={exports:{}}).exports,u),u.exports);var ru=g(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.isEnterKey=v.isNumberKey=v.isTabKey=v.isBackspaceKey=v.isSpaceKey=v.isDownKey=v.isUpKey=void 0;var gt=i((e,u=[])=>e.name==="up"||u.includes("vim")&&e.name==="k"||u.includes("emacs")&&e.ctrl&&e.name==="p","isUpKey");v.isUpKey=gt;var Ct=i((e,u=[])=>e.name==="down"||u.includes("vim")&&e.name==="j"||u.includes("emacs")&&e.ctrl&&e.name==="n","isDownKey");v.isDownKey=Ct;var Et=i(e=>e.name==="space","isSpaceKey");v.isSpaceKey=Et;var bt=i(e=>e.name==="backspace","isBackspaceKey");v.isBackspaceKey=bt;var mt=i(e=>e.name==="tab","isTabKey");v.isTabKey=mt;var Bt=i(e=>"1234567890".includes(e.name),"isNumberKey");v.isNumberKey=Bt;var yt=i(e=>e.name==="enter"||e.name==="return","isEnterKey");v.isEnterKey=yt});var ne=g(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.ValidationError=L.HookError=L.ExitPromptError=L.CancelPromptError=L.AbortPromptError=void 0;var Ee=class extends Error{static{i(this,"AbortPromptError")}name="AbortPromptError";message="Prompt was aborted";constructor(u){super(),this.cause=u?.cause}};L.AbortPromptError=Ee;var be=class extends Error{static{i(this,"CancelPromptError")}name="CancelPromptError";message="Prompt was canceled"};L.CancelPromptError=be;var me=class extends Error{static{i(this,"ExitPromptError")}name="ExitPromptError"};L.ExitPromptError=me;var Be=class extends Error{static{i(this,"HookError")}name="HookError"};L.HookError=Be;var ye=class extends Error{static{i(this,"ValidationError")}name="ValidationError"};L.ValidationError=ye});var N=g(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.effectScheduler=void 0;q.withHooks=wt;q.readline=ou;q.withUpdates=lu;q.withPointer=At;q.handleChange=vt;var Du=require("node:async_hooks"),su=ne(),iu=new Du.AsyncLocalStorage;function _t(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}i(_t,"createStore");function wt(e,u){let t=_t(e);return iu.run(t,()=>{function n(r){t.handleChange=()=>{t.index=0,r()},t.handleChange()}return i(n,"cycle"),u(n)})}i(wt,"withHooks");function $(){let e=iu.getStore();if(!e)throw new su.HookError("[Inquirer] Hook functions can only be called from within a prompt");return e}i($,"getStore");function ou(){return $().rl}i(ou,"readline");function lu(e){let u=i((...t)=>{let n=$(),r=!1,D=n.handleChange;n.handleChange=()=>{r=!0};let s=e(...t);return r&&D(),n.handleChange=D,s},"wrapped");return Du.AsyncResource.bind(u)}i(lu,"withUpdates");function At(e){let u=$(),{index:t}=u,n={get(){return u.hooks[t]},set(D){u.hooks[t]=D},initialized:t in u.hooks},r=e(n);return u.index++,r}i(At,"withPointer");function vt(){$().handleChange()}i(vt,"handleChange");q.effectScheduler={queue(e){let u=$(),{index:t}=u;u.hooksEffect.push(()=>{u.hooksCleanup[t]?.();let n=e(ou());if(n!=null&&typeof n!="function")throw new su.ValidationError("useEffect return value must be a cleanup function or nothing.");u.hooksCleanup[t]=n})},run(){let e=$();lu(()=>{e.hooksEffect.forEach(u=>{u()}),e.hooksEffect.length=0})()},clearAll(){let e=$();e.hooksCleanup.forEach(u=>{u?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}}});var re=g(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.useState=St;var xt=require("node:async_hooks"),au=N();function St(e){return(0,au.withPointer)(u=>{let t=xt.AsyncResource.bind(i(function(D){u.get()!==D&&(u.set(D),(0,au.handleChange)())},"setState"));if(u.initialized)return[u.get(),t];let n=typeof e=="function"?e():e;return u.set(n),[n,t]})}i(St,"useState")});var De=g(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.useEffect=kt;var cu=N();function kt(e,u){(0,cu.withPointer)(t=>{let n=t.get();(!Array.isArray(n)||u.some((D,s)=>!Object.is(D,n[s])))&&cu.effectScheduler.queue(e),t.set(u)})}i(kt,"useEffect")});var se=g((wr,fu)=>{var Lt=require("node:tty"),Ot=Lt?.WriteStream?.prototype?.hasColors?.()??!1,d=i((e,u)=>{if(!Ot)return r=>r;let t=`\x1B[${e}m`,n=`\x1B[${u}m`;return r=>{let D=r+"",s=D.indexOf(n);if(s===-1)return t+D+n;let o=t,l=0,f=(u===22?n:"")+t;for(;s!==-1;)o+=D.slice(l,s)+f,l=s+n.length,s=D.indexOf(n,l);return o+=D.slice(l)+n,o}},"format"),h={};h.reset=d(0,0);h.bold=d(1,22);h.dim=d(2,22);h.italic=d(3,23);h.underline=d(4,24);h.overline=d(53,55);h.inverse=d(7,27);h.hidden=d(8,28);h.strikethrough=d(9,29);h.black=d(30,39);h.red=d(31,39);h.green=d(32,39);h.yellow=d(33,39);h.blue=d(34,39);h.magenta=d(35,39);h.cyan=d(36,39);h.white=d(37,39);h.gray=d(90,39);h.bgBlack=d(40,49);h.bgRed=d(41,49);h.bgGreen=d(42,49);h.bgYellow=d(43,49);h.bgBlue=d(44,49);h.bgMagenta=d(45,49);h.bgCyan=d(46,49);h.bgWhite=d(47,49);h.bgGray=d(100,49);h.redBright=d(91,39);h.greenBright=d(92,39);h.yellowBright=d(93,39);h.blueBright=d(94,39);h.magentaBright=d(95,39);h.cyanBright=d(96,39);h.whiteBright=d(97,39);h.bgRedBright=d(101,49);h.bgGreenBright=d(102,49);h.bgYellowBright=d(103,49);h.bgBlueBright=d(104,49);h.bgMagentaBright=d(105,49);h.bgCyanBright=d(106,49);h.bgWhiteBright=d(107,49);fu.exports=h});var ie=g(S=>{"use strict";var Pt=S&&S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(S,"__esModule",{value:!0});S.replaceSymbols=S.fallbackSymbols=S.mainSymbols=void 0;var U=Pt(require("node:process"));function Rt(){return U.default.platform!=="win32"?U.default.env.TERM!=="linux":!!U.default.env.WT_SESSION||!!U.default.env.TERMINUS_SUBLIME||U.default.env.ConEmuTask==="{cmd::Cmder}"||U.default.env.TERM_PROGRAM==="Terminus-Sublime"||U.default.env.TERM_PROGRAM==="vscode"||U.default.env.TERM==="xterm-256color"||U.default.env.TERM==="alacritty"||U.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}i(Rt,"isUnicodeSupported");var hu={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"},du={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"},Mt={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"};S.mainSymbols={...hu,...du};S.fallbackSymbols={...hu,...Mt};var Fu=Rt(),Ut=Fu?S.mainSymbols:S.fallbackSymbols;S.default=Ut;var jt=Object.entries(du),qt=i((e,{useFallback:u=!Fu}={})=>{if(u)for(let[t,n]of jt){let r=S.fallbackSymbols[t];if(!r)throw new Error(`Unable to find fallback for ${t}`);e=e.replaceAll(n,r)}return e},"replaceSymbols");S.replaceSymbols=qt});var gu=g(z=>{"use strict";var pu=z&&z.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(z,"__esModule",{value:!0});z.defaultTheme=void 0;var P=pu(se()),Tt=pu(ie());z.defaultTheme={prefix:{idle:P.default.blue("?"),done:P.default.green(Tt.default.tick)},spinner:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"].map(e=>P.default.yellow(e))},style:{answer:P.default.cyan,message:P.default.bold,error:i(e=>P.default.red(`> ${e}`),"error"),defaultAnswer:i(e=>P.default.dim(`(${e})`),"defaultAnswer"),help:P.default.dim,highlight:P.default.cyan,key:i(e=>P.default.cyan(P.default.bold(`<${e}>`)),"key")}}});var ve=g(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.makeTheme=It;var Kt=gu();function Cu(e){if(typeof e!="object"||e===null)return!1;let u=e;for(;Object.getPrototypeOf(u)!==null;)u=Object.getPrototypeOf(u);return Object.getPrototypeOf(e)===u}i(Cu,"isPlainObject");function Eu(...e){let u={};for(let t of e)for(let[n,r]of Object.entries(t)){let D=u[n];u[n]=Cu(D)&&Cu(r)?Eu(D,r):r}return u}i(Eu,"deepMerge");function It(...e){let u=[Kt.defaultTheme,...e.filter(t=>t!=null)];return Eu(...u)}i(It,"makeTheme")});var mu=g(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.usePrefix=Gt;var bu=re(),$t=De(),Nt=ve();function Gt({status:e="idle",theme:u}){let[t,n]=(0,bu.useState)(!1),[r,D]=(0,bu.useState)(0),{prefix:s,spinner:o}=(0,Nt.makeTheme)(u);return(0,$t.useEffect)(()=>{if(e==="loading"){let a,f=-1,p=setTimeout(()=>{n(!0),a=setInterval(()=>{f=f+1,D(f%o.frames.length)},o.interval)},300);return()=>{clearTimeout(p),clearInterval(a)}}else n(!1)},[e]),t?o.frames[r]:typeof s=="string"?s:s[e==="loading"?"idle":e]??s.idle}i(Gt,"usePrefix")});var Bu=g(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.useMemo=Vt;var Wt=N();function Vt(e,u){return(0,Wt.withPointer)(t=>{let n=t.get();if(!n||n.dependencies.length!==u.length||n.dependencies.some((r,D)=>r!==u[D])){let r=e();return t.set({value:r,dependencies:u}),r}return n.value})}i(Vt,"useMemo")});var oe=g(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.useRef=Ht;var zt=re();function Ht(e){return(0,zt.useState)({current:e})[0]}i(Ht,"useRef")});var yu=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.useKeypress=Jt;var Yt=oe(),Zt=De(),Qt=N();function Jt(e){let u=(0,Yt.useRef)(e);u.current=e,(0,Zt.useEffect)(t=>{let n=!1,r=(0,Qt.withUpdates)((D,s)=>{n||u.current(s,t)});return t.input.on("keypress",r),()=>{n=!0,t.input.removeListener("keypress",r)}},[])}i(Jt,"useKeypress")});var wu=g((Ir,_u)=>{"use strict";_u.exports=en;function Xt(e){let u={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(u).forEach(function(t){e[t]||(e[t]=u[t])}),e):u}i(Xt,"normalizeOpts");function en(e){let u=Xt(e);if(u.output.getWindowSize)return u.output.getWindowSize()[0]||u.defaultWidth;if(u.tty.getWindowSize)return u.tty.getWindowSize()[1]||u.defaultWidth;if(u.output.columns)return u.output.columns;if(process.env.CLI_WIDTH){let t=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(t)&&t!==0)return t}return u.defaultWidth}i(en,"cliWidth")});var vu=g((Nr,Au)=>{"use strict";Au.exports=({onlyFirst:e=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")}});var Oe=g((Gr,xu)=>{"use strict";var un=vu();xu.exports=e=>typeof e=="string"?e.replace(un(),""):e});var ku=g((Wr,Pe)=>{"use strict";var Su=i(e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141),"isFullwidthCodePoint");Pe.exports=Su;Pe.exports.default=Su});var Ou=g((zr,Lu)=>{"use strict";Lu.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var Ru=g((Hr,Re)=>{"use strict";var tn=Oe(),nn=ku(),rn=Ou(),Pu=i(e=>{if(typeof e!="string"||e.length===0||(e=tn(e),e.length===0))return 0;e=e.replace(rn()," ");let u=0;for(let t=0;t<e.length;t++){let n=e.codePointAt(t);n<=31||n>=127&&n<=159||n>=768&&n<=879||(n>65535&&t++,u+=nn(n)?2:1)}return u},"stringWidth");Re.exports=Pu;Re.exports.default=Pu});var Uu=g((Zr,Mu)=>{"use strict";Mu.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Me=g((Qr,qu)=>{var X=Uu(),ju={};for(let e of Object.keys(X))ju[X[e]]=e;var c={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};qu.exports=c;for(let e of Object.keys(c)){if(!("channels"in c[e]))throw new Error("missing channels property: "+e);if(!("labels"in c[e]))throw new Error("missing channel labels property: "+e);if(c[e].labels.length!==c[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:u,labels:t}=c[e];delete c[e].channels,delete c[e].labels,Object.defineProperty(c[e],"channels",{value:u}),Object.defineProperty(c[e],"labels",{value:t})}c.rgb.hsl=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.min(u,t,n),D=Math.max(u,t,n),s=D-r,o,l;D===r?o=0:u===D?o=(t-n)/s:t===D?o=2+(n-u)/s:n===D&&(o=4+(u-t)/s),o=Math.min(o*60,360),o<0&&(o+=360);let a=(r+D)/2;return D===r?l=0:a<=.5?l=s/(D+r):l=s/(2-D-r),[o,l*100,a*100]};c.rgb.hsv=function(e){let u,t,n,r,D,s=e[0]/255,o=e[1]/255,l=e[2]/255,a=Math.max(s,o,l),f=a-Math.min(s,o,l),p=i(function(y){return(a-y)/6/f+1/2},"diffc");return f===0?(r=0,D=0):(D=f/a,u=p(s),t=p(o),n=p(l),s===a?r=n-t:o===a?r=1/3+u-n:l===a&&(r=2/3+t-u),r<0?r+=1:r>1&&(r-=1)),[r*360,D*100,a*100]};c.rgb.hwb=function(e){let u=e[0],t=e[1],n=e[2],r=c.rgb.hsl(e)[0],D=1/255*Math.min(u,Math.min(t,n));return n=1-1/255*Math.max(u,Math.max(t,n)),[r,D*100,n*100]};c.rgb.cmyk=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.min(1-u,1-t,1-n),D=(1-u-r)/(1-r)||0,s=(1-t-r)/(1-r)||0,o=(1-n-r)/(1-r)||0;return[D*100,s*100,o*100,r*100]};function Dn(e,u){return(e[0]-u[0])**2+(e[1]-u[1])**2+(e[2]-u[2])**2}i(Dn,"comparativeDistance");c.rgb.keyword=function(e){let u=ju[e];if(u)return u;let t=1/0,n;for(let r of Object.keys(X)){let D=X[r],s=Dn(e,D);s<t&&(t=s,n=r)}return n};c.keyword.rgb=function(e){return X[e]};c.rgb.xyz=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255;u=u>.04045?((u+.055)/1.055)**2.4:u/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let r=u*.4124+t*.3576+n*.1805,D=u*.2126+t*.7152+n*.0722,s=u*.0193+t*.1192+n*.9505;return[r*100,D*100,s*100]};c.rgb.lab=function(e){let u=c.rgb.xyz(e),t=u[0],n=u[1],r=u[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let D=116*n-16,s=500*(t-n),o=200*(n-r);return[D,s,o]};c.hsl.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100,r,D,s;if(t===0)return s=n*255,[s,s,s];n<.5?r=n*(1+t):r=n+t-n*t;let o=2*n-r,l=[0,0,0];for(let a=0;a<3;a++)D=u+1/3*-(a-1),D<0&&D++,D>1&&D--,6*D<1?s=o+(r-o)*6*D:2*D<1?s=r:3*D<2?s=o+(r-o)*(2/3-D)*6:s=o,l[a]=s*255;return l};c.hsl.hsv=function(e){let u=e[0],t=e[1]/100,n=e[2]/100,r=t,D=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,r*=D<=1?D:2-D;let s=(n+t)/2,o=n===0?2*r/(D+r):2*t/(n+t);return[u,o*100,s*100]};c.hsv.rgb=function(e){let u=e[0]/60,t=e[1]/100,n=e[2]/100,r=Math.floor(u)%6,D=u-Math.floor(u),s=255*n*(1-t),o=255*n*(1-t*D),l=255*n*(1-t*(1-D));switch(n*=255,r){case 0:return[n,l,s];case 1:return[o,n,s];case 2:return[s,n,l];case 3:return[s,o,n];case 4:return[l,s,n];case 5:return[n,s,o]}};c.hsv.hsl=function(e){let u=e[0],t=e[1]/100,n=e[2]/100,r=Math.max(n,.01),D,s;s=(2-t)*n;let o=(2-t)*r;return D=t*r,D/=o<=1?o:2-o,D=D||0,s/=2,[u,D*100,s*100]};c.hwb.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100,r=t+n,D;r>1&&(t/=r,n/=r);let s=Math.floor(6*u),o=1-n;D=6*u-s,(s&1)!==0&&(D=1-D);let l=t+D*(o-t),a,f,p;switch(s){default:case 6:case 0:a=o,f=l,p=t;break;case 1:a=l,f=o,p=t;break;case 2:a=t,f=o,p=l;break;case 3:a=t,f=l,p=o;break;case 4:a=l,f=t,p=o;break;case 5:a=o,f=t,p=l;break}return[a*255,f*255,p*255]};c.cmyk.rgb=function(e){let u=e[0]/100,t=e[1]/100,n=e[2]/100,r=e[3]/100,D=1-Math.min(1,u*(1-r)+r),s=1-Math.min(1,t*(1-r)+r),o=1-Math.min(1,n*(1-r)+r);return[D*255,s*255,o*255]};c.xyz.rgb=function(e){let u=e[0]/100,t=e[1]/100,n=e[2]/100,r,D,s;return r=u*3.2406+t*-1.5372+n*-.4986,D=u*-.9689+t*1.8758+n*.0415,s=u*.0557+t*-.204+n*1.057,r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92,D=D>.0031308?1.055*D**(1/2.4)-.055:D*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,r=Math.min(Math.max(0,r),1),D=Math.min(Math.max(0,D),1),s=Math.min(Math.max(0,s),1),[r*255,D*255,s*255]};c.xyz.lab=function(e){let u=e[0],t=e[1],n=e[2];u/=95.047,t/=100,n/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let r=116*t-16,D=500*(u-t),s=200*(t-n);return[r,D,s]};c.lab.xyz=function(e){let u=e[0],t=e[1],n=e[2],r,D,s;D=(u+16)/116,r=t/500+D,s=D-n/200;let o=D**3,l=r**3,a=s**3;return D=o>.008856?o:(D-16/116)/7.787,r=l>.008856?l:(r-16/116)/7.787,s=a>.008856?a:(s-16/116)/7.787,r*=95.047,D*=100,s*=108.883,[r,D,s]};c.lab.lch=function(e){let u=e[0],t=e[1],n=e[2],r;r=Math.atan2(n,t)*360/2/Math.PI,r<0&&(r+=360);let s=Math.sqrt(t*t+n*n);return[u,s,r]};c.lch.lab=function(e){let u=e[0],t=e[1],r=e[2]/360*2*Math.PI,D=t*Math.cos(r),s=t*Math.sin(r);return[u,D,s]};c.rgb.ansi16=function(e,u=null){let[t,n,r]=e,D=u===null?c.rgb.hsv(e)[2]:u;if(D=Math.round(D/50),D===0)return 30;let s=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return D===2&&(s+=60),s};c.hsv.ansi16=function(e){return c.rgb.ansi16(c.hsv.rgb(e),e[2])};c.rgb.ansi256=function(e){let u=e[0],t=e[1],n=e[2];return u===t&&t===n?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)};c.ansi16.rgb=function(e){let u=e%10;if(u===0||u===7)return e>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let t=(~~(e>50)+1)*.5,n=(u&1)*t*255,r=(u>>1&1)*t*255,D=(u>>2&1)*t*255;return[n,r,D]};c.ansi256.rgb=function(e){if(e>=232){let D=(e-232)*10+8;return[D,D,D]}e-=16;let u,t=Math.floor(e/36)/5*255,n=Math.floor((u=e%36)/6)/5*255,r=u%6/5*255;return[t,n,r]};c.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};c.hex.rgb=function(e){let u=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let t=u[0];u[0].length===3&&(t=t.split("").map(o=>o+o).join(""));let n=parseInt(t,16),r=n>>16&255,D=n>>8&255,s=n&255;return[r,D,s]};c.rgb.hcg=function(e){let u=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.max(Math.max(u,t),n),D=Math.min(Math.min(u,t),n),s=r-D,o,l;return s<1?o=D/(1-s):o=0,s<=0?l=0:r===u?l=(t-n)/s%6:r===t?l=2+(n-u)/s:l=4+(u-t)/s,l/=6,l%=1,[l*360,s*100,o*100]};c.hsl.hcg=function(e){let u=e[1]/100,t=e[2]/100,n=t<.5?2*u*t:2*u*(1-t),r=0;return n<1&&(r=(t-.5*n)/(1-n)),[e[0],n*100,r*100]};c.hsv.hcg=function(e){let u=e[1]/100,t=e[2]/100,n=u*t,r=0;return n<1&&(r=(t-n)/(1-n)),[e[0],n*100,r*100]};c.hcg.rgb=function(e){let u=e[0]/360,t=e[1]/100,n=e[2]/100;if(t===0)return[n*255,n*255,n*255];let r=[0,0,0],D=u%1*6,s=D%1,o=1-s,l=0;switch(Math.floor(D)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=o,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=o,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=o}return l=(1-t)*n,[(t*r[0]+l)*255,(t*r[1]+l)*255,(t*r[2]+l)*255]};c.hcg.hsv=function(e){let u=e[1]/100,t=e[2]/100,n=u+t*(1-u),r=0;return n>0&&(r=u/n),[e[0],r*100,n*100]};c.hcg.hsl=function(e){let u=e[1]/100,n=e[2]/100*(1-u)+.5*u,r=0;return n>0&&n<.5?r=u/(2*n):n>=.5&&n<1&&(r=u/(2*(1-n))),[e[0],r*100,n*100]};c.hcg.hwb=function(e){let u=e[1]/100,t=e[2]/100,n=u+t*(1-u);return[e[0],(n-u)*100,(1-n)*100]};c.hwb.hcg=function(e){let u=e[1]/100,n=1-e[2]/100,r=n-u,D=0;return r<1&&(D=(n-r)/(1-r)),[e[0],r*100,D*100]};c.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};c.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};c.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};c.gray.hsl=function(e){return[0,0,e[0]]};c.gray.hsv=c.gray.hsl;c.gray.hwb=function(e){return[0,100,e[0]]};c.gray.cmyk=function(e){return[0,0,0,e[0]]};c.gray.lab=function(e){return[e[0],0,0]};c.gray.hex=function(e){let u=Math.round(e[0]/100*255)&255,n=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(n.length)+n};c.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var Ku=g((Xr,Tu)=>{var le=Me();function sn(){let e={},u=Object.keys(le);for(let t=u.length,n=0;n<t;n++)e[u[n]]={distance:-1,parent:null};return e}i(sn,"buildGraph");function on(e){let u=sn(),t=[e];for(u[e].distance=0;t.length;){let n=t.pop(),r=Object.keys(le[n]);for(let D=r.length,s=0;s<D;s++){let o=r[s],l=u[o];l.distance===-1&&(l.distance=u[n].distance+1,l.parent=n,t.unshift(o))}}return u}i(on,"deriveBFS");function ln(e,u){return function(t){return u(e(t))}}i(ln,"link");function an(e,u){let t=[u[e].parent,e],n=le[u[e].parent][e],r=u[e].parent;for(;u[r].parent;)t.unshift(u[r].parent),n=ln(le[u[r].parent][r],n),r=u[r].parent;return n.conversion=t,n}i(an,"wrapConversion");Tu.exports=function(e){let u=on(e),t={},n=Object.keys(u);for(let r=n.length,D=0;D<r;D++){let s=n[D];u[s].parent!==null&&(t[s]=an(s,u))}return t}});var $u=g((uD,Iu)=>{var Ue=Me(),cn=Ku(),H={},fn=Object.keys(Ue);function hn(e){let u=i(function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))},"wrappedFn");return"conversion"in e&&(u.conversion=e.conversion),u}i(hn,"wrapRaw");function dn(e){let u=i(function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let r=e(t);if(typeof r=="object")for(let D=r.length,s=0;s<D;s++)r[s]=Math.round(r[s]);return r},"wrappedFn");return"conversion"in e&&(u.conversion=e.conversion),u}i(dn,"wrapRounded");fn.forEach(e=>{H[e]={},Object.defineProperty(H[e],"channels",{value:Ue[e].channels}),Object.defineProperty(H[e],"labels",{value:Ue[e].labels});let u=cn(e);Object.keys(u).forEach(n=>{let r=u[n];H[e][n]=dn(r),H[e][n].raw=hn(r)})});Iu.exports=H});var Hu=g((nD,zu)=>{"use strict";var Nu=i((e,u)=>(...t)=>`\x1B[${e(...t)+u}m`,"wrapAnsi16"),Gu=i((e,u)=>(...t)=>{let n=e(...t);return`\x1B[${38+u};5;${n}m`},"wrapAnsi256"),Wu=i((e,u)=>(...t)=>{let n=e(...t);return`\x1B[${38+u};2;${n[0]};${n[1]};${n[2]}m`},"wrapAnsi16m"),ae=i(e=>e,"ansi2ansi"),Vu=i((e,u,t)=>[e,u,t],"rgb2rgb"),Y=i((e,u,t)=>{Object.defineProperty(e,u,{get:i(()=>{let n=t();return Object.defineProperty(e,u,{value:n,enumerable:!0,configurable:!0}),n},"get"),enumerable:!0,configurable:!0})},"setLazyProperty"),je,Z=i((e,u,t,n)=>{je===void 0&&(je=$u());let r=n?10:0,D={};for(let[s,o]of Object.entries(je)){let l=s==="ansi16"?"ansi":s;s===u?D[l]=e(t,r):typeof o=="object"&&(D[l]=e(o[u],r))}return D},"makeDynamicStyles");function Fn(){let e=new Map,u={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[t,n]of Object.entries(u)){for(let[r,D]of Object.entries(n))u[r]={open:`\x1B[${D[0]}m`,close:`\x1B[${D[1]}m`},n[r]=u[r],e.set(D[0],D[1]);Object.defineProperty(u,t,{value:n,enumerable:!1})}return Object.defineProperty(u,"codes",{value:e,enumerable:!1}),u.color.close="\x1B[39m",u.bgColor.close="\x1B[49m",Y(u.color,"ansi",()=>Z(Nu,"ansi16",ae,!1)),Y(u.color,"ansi256",()=>Z(Gu,"ansi256",ae,!1)),Y(u.color,"ansi16m",()=>Z(Wu,"rgb",Vu,!1)),Y(u.bgColor,"ansi",()=>Z(Nu,"ansi16",ae,!0)),Y(u.bgColor,"ansi256",()=>Z(Gu,"ansi256",ae,!0)),Y(u.bgColor,"ansi16m",()=>Z(Wu,"rgb",Vu,!0)),u}i(Fn,"assembleStyles");Object.defineProperty(zu,"exports",{enumerable:!0,get:Fn})});var Qu=g((DD,Zu)=>{"use strict";var ee=Ru(),pn=Oe(),gn=Hu(),Te=new Set(["\x1B",""]),Cn=39,Yu=i(e=>`${Te.values().next().value}[${e}m`,"wrapAnsi"),En=i(e=>e.split(" ").map(u=>ee(u)),"wordLengths"),qe=i((e,u,t)=>{let n=[...u],r=!1,D=ee(pn(e[e.length-1]));for(let[s,o]of n.entries()){let l=ee(o);if(D+l<=t?e[e.length-1]+=o:(e.push(o),D=0),Te.has(o))r=!0;else if(r&&o==="m"){r=!1;continue}r||(D+=l,D===t&&s<n.length-1&&(e.push(""),D=0))}!D&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},"wrapWord"),bn=i(e=>{let u=e.split(" "),t=u.length;for(;t>0&&!(ee(u[t-1])>0);)t--;return t===u.length?e:u.slice(0,t).join(" ")+u.slice(t).join("")},"stringVisibleTrimSpacesRight"),mn=i((e,u,t={})=>{if(t.trim!==!1&&e.trim()==="")return"";let n="",r="",D,s=En(e),o=[""];for(let[l,a]of e.split(" ").entries()){t.trim!==!1&&(o[o.length-1]=o[o.length-1].trimLeft());let f=ee(o[o.length-1]);if(l!==0&&(f>=u&&(t.wordWrap===!1||t.trim===!1)&&(o.push(""),f=0),(f>0||t.trim===!1)&&(o[o.length-1]+=" ",f++)),t.hard&&s[l]>u){let p=u-f,y=1+Math.floor((s[l]-p-1)/u);Math.floor((s[l]-1)/u)<y&&o.push(""),qe(o,a,u);continue}if(f+s[l]>u&&f>0&&s[l]>0){if(t.wordWrap===!1&&f<u){qe(o,a,u);continue}o.push("")}if(f+s[l]>u&&t.wordWrap===!1){qe(o,a,u);continue}o[o.length-1]+=a}t.trim!==!1&&(o=o.map(bn)),n=o.join(`
|
|
6
|
+
`);for(let[l,a]of[...n].entries()){if(r+=a,Te.has(a)){let p=parseFloat(/\d[^m]*/.exec(n.slice(l,l+4)));D=p===Cn?null:p}let f=gn.codes.get(Number(D));D&&f&&(n[l+1]===`
|
|
7
|
+
`?r+=Yu(f):a===`
|
|
8
|
+
`&&(r+=Yu(D)))}return r},"exec");Zu.exports=(e,u,t)=>String(e).normalize().replace(/\r\n/g,`
|
|
9
|
+
`).split(`
|
|
10
|
+
`).map(n=>mn(n,u,t)).join(`
|
|
11
|
+
`)});var Ke=g(Q=>{"use strict";var Ju=Q&&Q.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Q,"__esModule",{value:!0});Q.breakLines=wn;Q.readlineWidth=An;var Bn=Ju(wu()),yn=Ju(Qu()),_n=N();function wn(e,u){return e.split(`
|
|
12
|
+
`).flatMap(t=>(0,yn.default)(t,u,{trim:!1,hard:!0}).split(`
|
|
13
|
+
`).map(n=>n.trimEnd())).join(`
|
|
14
|
+
`)}i(wn,"breakLines");function An(){return(0,Bn.default)({defaultWidth:80,output:(0,_n.readline)().output})}i(An,"readlineWidth")});var et=g(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.usePagination=Sn;var vn=oe(),Xu=Ke();function xn({active:e,renderedItems:u,pageSize:t,loop:n}){let r=(0,vn.useRef)({lastPointer:e,lastActive:void 0}),{lastPointer:D,lastActive:s}=r.current,o=Math.floor(t/2),l=u.reduce((p,y)=>p+y.length,0),a=u.slice(0,e).reduce((p,y)=>p+y.length,0),f=a;if(l>t)if(n)f=D,s!=null&&s<e&&e-s<t&&(f=Math.min(o,Math.abs(e-s)===1?Math.min(D+(u[s]?.length??0),Math.max(a,D)):D+e-s));else{let p=u.slice(e).reduce((y,_)=>y+_.length,0);f=p<t-o?t-p:Math.min(a,o)}return r.current.lastPointer=f,r.current.lastActive=e,f}i(xn,"usePointerPosition");function Sn({items:e,active:u,renderItem:t,pageSize:n,loop:r=!0}){let D=(0,Xu.readlineWidth)(),s=i(b=>(b%e.length+e.length)%e.length,"bound"),o=e.map((b,C)=>b==null?[]:(0,Xu.breakLines)(t({item:b,index:C,isActive:C===u}),D).split(`
|
|
15
|
+
`)),l=o.reduce((b,C)=>b+C.length,0),a=i(b=>o[b]??[],"renderItemAtIndex"),f=xn({active:u,renderedItems:o,pageSize:n,loop:r}),p=a(u).slice(0,n),y=f+p.length<=n?f:n-p.length,_=Array.from({length:n});_.splice(y,p.length,...p);let M=new Set([u]),A=y+p.length,E=s(u+1);for(;A<n&&!M.has(E)&&(r&&l>n?E!==u:E>u);){let C=a(E).slice(0,n-A);_.splice(A,C.length,...C),M.add(E),A+=C.length,E=s(E+1)}for(A=y-1,E=s(u-1);A>=0&&!M.has(E)&&(r&&l>n?E!==u:E<u);){let b=a(E),C=b.slice(Math.max(0,b.length-A-1));_.splice(A-C.length+1,C.length,...C),M.add(E),A-=C.length,E=s(E-1)}return _.filter(b=>typeof b=="string").join(`
|
|
16
|
+
`)}i(Sn,"usePagination")});var tt=g((cD,ut)=>{var kn=require("stream"),$e=class extends kn{static{i(this,"MuteStream")}#t=null;constructor(u={}){super(u),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=u.replace,this._prompt=u.prompt||null,this._hadControl=!1}#u(u,t){return this._dest?this._dest[u]:this._src?this._src[u]:t}#e(u,...t){typeof this._dest?.[u]=="function"&&this._dest[u](...t),typeof this._src?.[u]=="function"&&this._src[u](...t)}get isTTY(){return this.#t!==null?this.#t:this.#u("isTTY",!1)}set isTTY(u){this.#t=u}get rows(){return this.#u("rows")}get columns(){return this.#u("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(u){this._src=u}pipe(u,t){return this._dest=u,super.pipe(u,t)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(u){if(this.muted){if(!this.replace)return!0;if(u.match(/^\u001b/))return u.indexOf(this._prompt)===0&&(u=u.slice(this._prompt.length),u=u.replace(/./g,this.replace),u=this._prompt+u),this._hadControl=!0,this.emit("data",u);this._prompt&&this._hadControl&&u.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),u=u.slice(this._prompt.length)),u=u.toString().replace(/./g,this.replace)}this.emit("data",u)}end(u){this.muted&&(u&&this.replace?u=u.toString().replace(/./g,this.replace):u=null),u&&this.emit("data",u),this.emit("end")}destroy(...u){return this.#e("destroy",...u)}destroySoon(...u){return this.#e("destroySoon",...u)}close(...u){return this.#e("close",...u)}};ut.exports=$e});var nt=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.signals=void 0;G.signals=[];G.signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&G.signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&G.signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var rt=g(j=>{"use strict";var ce;Object.defineProperty(j,"__esModule",{value:!0});j.unload=j.load=j.onExit=j.signals=void 0;var fe=nt();Object.defineProperty(j,"signals",{enumerable:!0,get:i(function(){return fe.signals},"get")});var he=i(e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function","processOk"),Ne=Symbol.for("signal-exit emitter"),Ge=globalThis,Ln=Object.defineProperty.bind(Object),We=class{static{i(this,"Emitter")}emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Ge[Ne])return Ge[Ne];Ln(Ge,Ne,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(u,t){this.listeners[u].push(t)}removeListener(u,t){let n=this.listeners[u],r=n.indexOf(t);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(u,t,n){if(this.emitted[u])return!1;this.emitted[u]=!0;let r=!1;for(let D of this.listeners[u])r=D(t,n)===!0||r;return u==="exit"&&(r=this.emit("afterExit",t,n)||r),r}},de=class{static{i(this,"SignalExitBase")}},On=i(e=>({onExit(u,t){return e.onExit(u,t)},load(){return e.load()},unload(){return e.unload()}}),"signalExitWrap"),Ve=class extends de{static{i(this,"SignalExitFallback")}onExit(){return()=>{}}load(){}unload(){}},ze=class extends de{static{i(this,"SignalExit")}#t=He.platform==="win32"?"SIGINT":"SIGHUP";#u=new We;#e;#D;#s;#r={};#n=!1;constructor(u){super(),this.#e=u,this.#r={};for(let t of fe.signals)this.#r[t]=()=>{let n=this.#e.listeners(t),{count:r}=this.#u,D=u;if(typeof D.__signal_exit_emitter__=="object"&&typeof D.__signal_exit_emitter__.count=="number"&&(r+=D.__signal_exit_emitter__.count),n.length===r){this.unload();let s=this.#u.emit("exit",null,t),o=t==="SIGHUP"?this.#t:t;s||u.kill(u.pid,o)}};this.#s=u.reallyExit,this.#D=u.emit}onExit(u,t){if(!he(this.#e))return()=>{};this.#n===!1&&this.load();let n=t?.alwaysLast?"afterExit":"exit";return this.#u.on(n,u),()=>{this.#u.removeListener(n,u),this.#u.listeners.exit.length===0&&this.#u.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#n){this.#n=!0,this.#u.count+=1;for(let u of fe.signals)try{let t=this.#r[u];t&&this.#e.on(u,t)}catch{}this.#e.emit=(u,...t)=>this.#o(u,...t),this.#e.reallyExit=u=>this.#i(u)}}unload(){this.#n&&(this.#n=!1,fe.signals.forEach(u=>{let t=this.#r[u];if(!t)throw new Error("Listener not defined for signal: "+u);try{this.#e.removeListener(u,t)}catch{}}),this.#e.emit=this.#D,this.#e.reallyExit=this.#s,this.#u.count-=1)}#i(u){return he(this.#e)?(this.#e.exitCode=u||0,this.#u.emit("exit",this.#e.exitCode,null),this.#s.call(this.#e,this.#e.exitCode)):0}#o(u,...t){let n=this.#D;if(u==="exit"&&he(this.#e)){typeof t[0]=="number"&&(this.#e.exitCode=t[0]);let r=n.call(this.#e,u,...t);return this.#u.emit("exit",this.#e.exitCode,null),r}else return n.call(this.#e,u,...t)}},He=globalThis.process;ce=On(he(He)?new ze(He):new Ve),j.onExit=ce.onExit,j.load=ce.load,j.unload=ce.unload});var st=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.eraseLines=w.cursorTo=w.cursorDown=w.cursorUp=w.cursorShow=w.cursorHide=w.cursorLeft=void 0;var T="\x1B[";w.cursorLeft=T+"G";w.cursorHide=T+"?25l";w.cursorShow=T+"?25h";var Pn=i((e=1)=>e>0?`${T}${e}A`:"","cursorUp");w.cursorUp=Pn;var Rn=i((e=1)=>e>0?`${T}${e}B`:"","cursorDown");w.cursorDown=Rn;var Mn=i((e,u)=>typeof u=="number"&&!Number.isNaN(u)?`${T}${u+1};${e+1}H`:`${T}${e+1}G`,"cursorTo");w.cursorTo=Mn;var Dt=T+"2K",Un=i(e=>e>0?(Dt+(0,w.cursorUp)(1)).repeat(e-1)+Dt+w.cursorLeft:"","eraseLines");w.eraseLines=Un});var ot=g(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var jn=require("node:util"),Ye=Ke(),K=st(),it=i(e=>e.split(`
|
|
17
|
+
`).length,"height"),qn=i(e=>e.split(`
|
|
18
|
+
`).pop()??"","lastLine"),Ze=class{static{i(this,"ScreenManager")}height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(u){this.rl=u,this.cursorPos=u.getCursorPos()}write(u){this.rl.output.unmute(),this.rl.output.write(u),this.rl.output.mute()}render(u,t=""){let n=qn(u),r=(0,jn.stripVTControlCharacters)(n),D=r;this.rl.line.length>0&&(D=D.slice(0,-this.rl.line.length)),this.rl.setPrompt(D),this.cursorPos=this.rl.getCursorPos();let s=(0,Ye.readlineWidth)();u=(0,Ye.breakLines)(u,s),t=(0,Ye.breakLines)(t,s),r.length%s===0&&(u+=`
|
|
19
|
+
`);let o=u+(t?`
|
|
20
|
+
`+t:""),a=Math.floor(r.length/s)-this.cursorPos.rows+(t?it(t):0);a>0&&(o+=(0,K.cursorUp)(a)),o+=(0,K.cursorTo)(this.cursorPos.cols),this.write((0,K.cursorDown)(this.extraLinesUnderPrompt)+(0,K.eraseLines)(this.height)+o),this.extraLinesUnderPrompt=a,this.height=it(o)}checkCursorPos(){let u=this.rl.getCursorPos();u.cols!==this.cursorPos.cols&&(this.write((0,K.cursorTo)(u.cols)),this.cursorPos=u)}done({clearContent:u}){this.rl.setPrompt("");let t=(0,K.cursorDown)(this.extraLinesUnderPrompt);t+=u?(0,K.eraseLines)(this.height):`
|
|
21
|
+
`,t+=K.cursorShow,this.write(t),this.rl.close()}};Qe.default=Ze});var lt=g(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.PromisePolyfill=void 0;var Je=class extends Promise{static{i(this,"PromisePolyfill")}static withResolver(){let u,t;return{promise:new Promise((r,D)=>{u=r,t=D}),resolve:u,reject:t}}};Fe.PromisePolyfill=Je});var ct=g(R=>{"use strict";var Tn=R&&R.__createBinding||(Object.create?(function(e,u,t,n){n===void 0&&(n=t);var r=Object.getOwnPropertyDescriptor(u,t);(!r||("get"in r?!u.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:i(function(){return u[t]},"get")}),Object.defineProperty(e,n,r)}):(function(e,u,t,n){n===void 0&&(n=t),e[n]=u[t]})),Kn=R&&R.__setModuleDefault||(Object.create?(function(e,u){Object.defineProperty(e,"default",{enumerable:!0,value:u})}):function(e,u){e.default=u}),In=R&&R.__importStar||(function(){var e=i(function(u){return e=Object.getOwnPropertyNames||function(t){var n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[n.length]=r);return n},e(u)},"ownKeys");return function(u){if(u&&u.__esModule)return u;var t={};if(u!=null)for(var n=e(u),r=0;r<n.length;r++)n[r]!=="default"&&Tn(t,u,n[r]);return Kn(t,u),t}})(),at=R&&R.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(R,"__esModule",{value:!0});R.createPrompt=Yn;var $n=In(require("node:readline")),Nn=require("node:async_hooks"),Gn=at(tt()),Wn=rt(),Vn=at(ot()),zn=lt(),ue=N(),pe=ne();function Hn(){let e=Error.prepareStackTrace,u=[];try{Error.prepareStackTrace=(t,n)=>{let r=n.slice(1);return u=r,r},new Error().stack}catch{return u}return Error.prepareStackTrace=e,u}i(Hn,"getCallSites");function Yn(e){let u=Hn();return i((n,r={})=>{let{input:D=process.stdin,signal:s}=r,o=new Set,l=new Gn.default;l.pipe(r.output??process.stdout);let a=$n.createInterface({terminal:!0,input:D,output:l}),f=new Vn.default(a),{promise:p,resolve:y,reject:_}=zn.PromisePolyfill.withResolver(),M=i(()=>_(new pe.CancelPromptError),"cancel");if(s){let b=i(()=>_(new pe.AbortPromptError({cause:s.reason})),"abort");if(s.aborted)return b(),Object.assign(p,{cancel:M});s.addEventListener("abort",b),o.add(()=>s.removeEventListener("abort",b))}o.add((0,Wn.onExit)((b,C)=>{_(new pe.ExitPromptError(`User force closed the prompt with ${b} ${C}`))}));let A=i(()=>_(new pe.ExitPromptError("User force closed the prompt with SIGINT")),"sigint");a.on("SIGINT",A),o.add(()=>a.removeListener("SIGINT",A));let E=i(()=>f.checkCursorPos(),"checkCursorPos");return a.input.on("keypress",E),o.add(()=>a.input.removeListener("keypress",E)),(0,ue.withHooks)(a,b=>{let C=Nn.AsyncResource.bind(()=>ue.effectScheduler.clearAll());return a.on("close",C),o.add(()=>a.removeListener("close",C)),b(()=>{try{let x=e(n,I=>{setImmediate(()=>y(I))});if(x===void 0){let I=u[1]?.getFileName();throw new Error(`Prompt functions must return a string.
|
|
22
|
+
at ${I}`)}let[te,ge]=typeof x=="string"?[x]:x;f.render(te,ge),ue.effectScheduler.run()}catch(x){_(x)}}),Object.assign(p.then(x=>(ue.effectScheduler.clearAll(),x),x=>{throw ue.effectScheduler.clearAll(),x}).finally(()=>{o.forEach(x=>x()),f.done({clearContent:!!r.clearPromptOnDone}),l.end()}).then(()=>p),{cancel:M})})},"prompt")}i(Yn,"createPrompt")});var ht=g(J=>{"use strict";var ft=J&&J.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(J,"__esModule",{value:!0});J.Separator=void 0;var Zn=ft(se()),Qn=ft(ie()),Xe=class{static{i(this,"Separator")}separator=Zn.default.dim(Array.from({length:15}).join(Qn.default.line));type="separator";constructor(u){u&&(this.separator=u)}static isSeparator(u){return!!(u&&typeof u=="object"&&"type"in u&&u.type==="separator")}};J.Separator=Xe});var eu=g(F=>{"use strict";var Jn=F&&F.__createBinding||(Object.create?(function(e,u,t,n){n===void 0&&(n=t);var r=Object.getOwnPropertyDescriptor(u,t);(!r||("get"in r?!u.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:i(function(){return u[t]},"get")}),Object.defineProperty(e,n,r)}):(function(e,u,t,n){n===void 0&&(n=t),e[n]=u[t]})),Xn=F&&F.__exportStar||function(e,u){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(u,t)&&Jn(u,e,t)};Object.defineProperty(F,"__esModule",{value:!0});F.Separator=F.createPrompt=F.usePagination=F.makeTheme=F.useKeypress=F.useRef=F.useMemo=F.useEffect=F.useState=F.usePrefix=F.isEnterKey=F.isNumberKey=F.isTabKey=F.isBackspaceKey=F.isSpaceKey=F.isDownKey=F.isUpKey=void 0;var W=ru();Object.defineProperty(F,"isUpKey",{enumerable:!0,get:i(function(){return W.isUpKey},"get")});Object.defineProperty(F,"isDownKey",{enumerable:!0,get:i(function(){return W.isDownKey},"get")});Object.defineProperty(F,"isSpaceKey",{enumerable:!0,get:i(function(){return W.isSpaceKey},"get")});Object.defineProperty(F,"isBackspaceKey",{enumerable:!0,get:i(function(){return W.isBackspaceKey},"get")});Object.defineProperty(F,"isTabKey",{enumerable:!0,get:i(function(){return W.isTabKey},"get")});Object.defineProperty(F,"isNumberKey",{enumerable:!0,get:i(function(){return W.isNumberKey},"get")});Object.defineProperty(F,"isEnterKey",{enumerable:!0,get:i(function(){return W.isEnterKey},"get")});Xn(ne(),F);var er=mu();Object.defineProperty(F,"usePrefix",{enumerable:!0,get:i(function(){return er.usePrefix},"get")});var ur=re();Object.defineProperty(F,"useState",{enumerable:!0,get:i(function(){return ur.useState},"get")});var tr=De();Object.defineProperty(F,"useEffect",{enumerable:!0,get:i(function(){return tr.useEffect},"get")});var nr=Bu();Object.defineProperty(F,"useMemo",{enumerable:!0,get:i(function(){return nr.useMemo},"get")});var rr=oe();Object.defineProperty(F,"useRef",{enumerable:!0,get:i(function(){return rr.useRef},"get")});var Dr=yu();Object.defineProperty(F,"useKeypress",{enumerable:!0,get:i(function(){return Dr.useKeypress},"get")});var sr=ve();Object.defineProperty(F,"makeTheme",{enumerable:!0,get:i(function(){return sr.makeTheme},"get")});var ir=et();Object.defineProperty(F,"usePagination",{enumerable:!0,get:i(function(){return ir.usePagination},"get")});var or=ct();Object.defineProperty(F,"createPrompt",{enumerable:!0,get:i(function(){return or.createPrompt},"get")});var lr=ht();Object.defineProperty(F,"Separator",{enumerable:!0,get:i(function(){return lr.Separator},"get")})});var dt=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});exports.Separator=void 0;var B=eu(),uu=dt(se()),ar=dt(ie()),cr={icon:{cursor:ar.default.pointer},style:{disabled:i(e=>uu.default.dim(`- ${e}`),"disabled"),searchTerm:i(e=>uu.default.cyan(e),"searchTerm"),description:i(e=>uu.default.cyan(e),"description")},helpMode:"auto"};function tu(e){return!B.Separator.isSeparator(e)&&!e.disabled}i(tu,"isSelectable");function fr(e){return e.map(u=>{if(B.Separator.isSeparator(u))return u;if(typeof u=="string")return{value:u,name:u,short:u,disabled:!1};let t=u.name??String(u.value),n={value:u.value,name:t,short:u.short??t,disabled:u.disabled??!1};return u.description&&(n.description=u.description),n})}i(fr,"normalizeChoices");exports.default=(0,B.createPrompt)((e,u)=>{let{pageSize:t=7,validate:n=i(()=>!0,"validate")}=e,r=(0,B.makeTheme)(cr,e.theme),D=(0,B.useRef)(!0),[s,o]=(0,B.useState)("loading"),[l,a]=(0,B.useState)(""),[f,p]=(0,B.useState)([]),[y,_]=(0,B.useState)(),M=(0,B.usePrefix)({status:s,theme:r}),A=(0,B.useMemo)(()=>{let m=f.findIndex(tu),k=f.findLastIndex(tu);return{first:m,last:k}},[f]),[E=A.first,b]=(0,B.useState)();(0,B.useEffect)(()=>{let m=new AbortController;return o("loading"),_(void 0),i(async()=>{try{let O=await e.source(l||void 0,{signal:m.signal});m.signal.aborted||(b(void 0),_(void 0),p(fr(O)),o("idle"))}catch(O){!m.signal.aborted&&O instanceof Error&&_(O.message)}},"fetchResults")(),()=>{m.abort()}},[l]);let C=f[E];(0,B.useKeypress)(async(m,k)=>{if((0,B.isEnterKey)(m))if(C){o("loading");let O=await n(C.value);o("idle"),O===!0?(o("done"),u(C.value)):C.name===l?_(O||"You must provide a valid value"):(k.write(C.name),a(C.name))}else k.write(l);else if((0,B.isTabKey)(m)&&C)k.clearLine(0),k.write(C.name),a(C.name);else if(s!=="loading"&&((0,B.isUpKey)(m)||(0,B.isDownKey)(m))){if(k.clearLine(0),(0,B.isUpKey)(m)&&E!==A.first||(0,B.isDownKey)(m)&&E!==A.last){let O=(0,B.isUpKey)(m)?-1:1,V=E;do V=(V+O+f.length)%f.length;while(!tu(f[V]));b(V)}}else a(k.line)});let x=r.style.message(e.message,s);E>0&&(D.current=!1);let te="";f.length>1&&(r.helpMode==="always"||r.helpMode==="auto"&&D.current)&&(te=f.length>t?`
|
|
23
|
+
${r.style.help(`(${e.instructions?.pager??"Use arrow keys to reveal more choices"})`)}`:`
|
|
24
|
+
${r.style.help(`(${e.instructions?.navigation??"Use arrow keys"})`)}`);let ge=(0,B.usePagination)({items:f,active:E,renderItem({item:m,isActive:k}){if(B.Separator.isSeparator(m))return` ${m.separator}`;if(m.disabled){let Ce=typeof m.disabled=="string"?m.disabled:"(disabled)";return r.style.disabled(`${m.name} ${Ce}`)}let O=k?r.style.highlight:Ce=>Ce,V=k?r.icon.cursor:" ";return O(`${V} ${m.name}`)},pageSize:t,loop:!1}),I;y?I=r.style.error(y):f.length===0&&l!==""&&s==="idle"&&(I=r.style.error("No results found"));let nu;if(s==="done"&&C){let m=C.short;return`${M} ${x} ${r.style.answer(m)}`}else nu=r.style.searchTerm(l);let Ft=C?.description?`
|
|
25
|
+
${r.style.description(C.description)}`:"";return[[M,x,nu].filter(Boolean).join(" "),`${I??ge}${te}${Ft}`]});var hr=eu();Object.defineProperty(exports,"Separator",{enumerable:!0,get:i(function(){return hr.Separator},"get")});
|
package/dist/fs.d.ts
CHANGED
|
@@ -350,6 +350,54 @@ export declare function isDirEmptySync(dirname: PathLike, options?: IsDirEmptyOp
|
|
|
350
350
|
*/
|
|
351
351
|
/*@__NO_SIDE_EFFECTS__*/
|
|
352
352
|
export declare function isSymLinkSync(filepath: PathLike): boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Result of file readability validation.
|
|
355
|
+
* Contains lists of valid and invalid file paths.
|
|
356
|
+
*/
|
|
357
|
+
export interface ValidateFilesResult {
|
|
358
|
+
/**
|
|
359
|
+
* File paths that passed validation and are readable.
|
|
360
|
+
*/
|
|
361
|
+
validPaths: string[];
|
|
362
|
+
/**
|
|
363
|
+
* File paths that failed validation (unreadable, permission denied, or non-existent).
|
|
364
|
+
* Common with Yarn Berry PnP virtual filesystem, pnpm symlinks, or filesystem race conditions.
|
|
365
|
+
*/
|
|
366
|
+
invalidPaths: string[];
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Validate that file paths are readable before processing.
|
|
370
|
+
* Filters out files from glob results that cannot be accessed (common with
|
|
371
|
+
* Yarn Berry PnP virtual filesystem, pnpm content-addressable store symlinks,
|
|
372
|
+
* or filesystem race conditions in CI/CD environments).
|
|
373
|
+
*
|
|
374
|
+
* This defensive pattern prevents ENOENT errors when files exist in glob
|
|
375
|
+
* results but are not accessible via standard filesystem operations.
|
|
376
|
+
*
|
|
377
|
+
* @param filepaths - Array of file paths to validate
|
|
378
|
+
* @returns Object with `validPaths` (readable) and `invalidPaths` (unreadable)
|
|
379
|
+
*
|
|
380
|
+
* @example
|
|
381
|
+
* ```ts
|
|
382
|
+
* import { validateFiles } from '@socketsecurity/lib/fs'
|
|
383
|
+
*
|
|
384
|
+
* const files = ['package.json', '.pnp.cjs/virtual-file.json']
|
|
385
|
+
* const { validPaths, invalidPaths } = validateFiles(files)
|
|
386
|
+
*
|
|
387
|
+
* console.log(`Valid: ${validPaths.length}`)
|
|
388
|
+
* console.log(`Invalid: ${invalidPaths.length}`)
|
|
389
|
+
* ```
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* ```ts
|
|
393
|
+
* // Typical usage in Socket CLI commands
|
|
394
|
+
* const packagePaths = await getPackageFilesForScan(targets)
|
|
395
|
+
* const { validPaths } = validateFiles(packagePaths)
|
|
396
|
+
* await sdk.uploadManifestFiles(orgSlug, validPaths)
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
400
|
+
export declare function validateFiles(filepaths: string[] | readonly string[]): ValidateFilesResult;
|
|
353
401
|
/**
|
|
354
402
|
* Read directory names asynchronously with filtering and sorting.
|
|
355
403
|
* Returns only directory names (not files), with optional filtering for empty directories
|
package/dist/fs.js
CHANGED
|
@@ -39,6 +39,7 @@ __export(fs_exports, {
|
|
|
39
39
|
safeStats: () => safeStats,
|
|
40
40
|
safeStatsSync: () => safeStatsSync,
|
|
41
41
|
uniqueSync: () => uniqueSync,
|
|
42
|
+
validateFiles: () => validateFiles,
|
|
42
43
|
writeJson: () => writeJson,
|
|
43
44
|
writeJsonSync: () => writeJsonSync
|
|
44
45
|
});
|
|
@@ -250,6 +251,22 @@ function isSymLinkSync(filepath) {
|
|
|
250
251
|
return false;
|
|
251
252
|
}
|
|
252
253
|
// @__NO_SIDE_EFFECTS__
|
|
254
|
+
function validateFiles(filepaths) {
|
|
255
|
+
const fs = /* @__PURE__ */ getFs();
|
|
256
|
+
const validPaths = [];
|
|
257
|
+
const invalidPaths = [];
|
|
258
|
+
const { R_OK } = fs.constants;
|
|
259
|
+
for (const filepath of filepaths) {
|
|
260
|
+
try {
|
|
261
|
+
fs.accessSync(filepath, R_OK);
|
|
262
|
+
validPaths.push(filepath);
|
|
263
|
+
} catch {
|
|
264
|
+
invalidPaths.push(filepath);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return { __proto__: null, validPaths, invalidPaths };
|
|
268
|
+
}
|
|
269
|
+
// @__NO_SIDE_EFFECTS__
|
|
253
270
|
async function readDirNames(dirname, options) {
|
|
254
271
|
const fs = /* @__PURE__ */ getFs();
|
|
255
272
|
try {
|
|
@@ -604,6 +621,7 @@ function writeJsonSync(filepath, jsonContent, options) {
|
|
|
604
621
|
safeStats,
|
|
605
622
|
safeStatsSync,
|
|
606
623
|
uniqueSync,
|
|
624
|
+
validateFiles,
|
|
607
625
|
writeJson,
|
|
608
626
|
writeJsonSync
|
|
609
627
|
});
|
package/dist/fs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/fs.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @fileoverview File system utilities with cross-platform path handling.\n * Provides enhanced fs operations, glob matching, and directory traversal functions.\n */\n\nimport type { Abortable } from 'node:events'\nimport type {\n Dirent,\n ObjectEncodingOptions,\n OpenMode,\n PathLike,\n StatSyncOptions,\n WriteFileOptions,\n} from 'node:fs'\n\nimport { getAbortSignal } from '#constants/process'\n\nimport { isArray } from './arrays'\n\nconst abortSignal = getAbortSignal()\n\nimport { defaultIgnore, getGlobMatcher } from './globs'\nimport type { JsonReviver } from './json'\nimport { jsonParse } from './json'\nimport { objectFreeze, type Remap } from './objects'\nimport { normalizePath, pathLikeToString } from './path'\nimport { naturalCompare } from './sorts'\n\n/**\n * Supported text encodings for Node.js Buffers.\n * Includes ASCII, UTF-8/16, base64, binary, and hexadecimal encodings.\n */\nexport type BufferEncoding =\n | 'ascii'\n | 'utf8'\n | 'utf-8'\n | 'utf16le'\n | 'ucs2'\n | 'ucs-2'\n | 'base64'\n | 'base64url'\n | 'latin1'\n | 'binary'\n | 'hex'\n\n/**\n * Represents any valid JSON content type.\n */\nexport type JsonContent = unknown\n\n/**\n * Options for asynchronous `findUp` operations.\n */\nexport interface FindUpOptions {\n /**\n * Starting directory for the search.\n * @default process.cwd()\n */\n cwd?: string | undefined\n /**\n * Only match directories, not files.\n * @default false\n */\n onlyDirectories?: boolean | undefined\n /**\n * Only match files, not directories.\n * @default true\n */\n onlyFiles?: boolean | undefined\n /**\n * Abort signal to cancel the search operation.\n */\n signal?: AbortSignal | undefined\n}\n\n/**\n * Options for synchronous `findUpSync` operations.\n */\nexport interface FindUpSyncOptions {\n /**\n * Starting directory for the search.\n * @default process.cwd()\n */\n cwd?: string | undefined\n /**\n * Directory to stop searching at (inclusive).\n * When provided, search will stop at this directory even if the root hasn't been reached.\n */\n stopAt?: string | undefined\n /**\n * Only match directories, not files.\n * @default false\n */\n onlyDirectories?: boolean | undefined\n /**\n * Only match files, not directories.\n * @default true\n */\n onlyFiles?: boolean | undefined\n}\n\n/**\n * Options for checking if a directory is empty.\n */\nexport interface IsDirEmptyOptions {\n /**\n * Glob patterns for files to ignore when checking emptiness.\n * Files matching these patterns are not counted.\n * @default defaultIgnore\n */\n ignore?: string[] | readonly string[] | undefined\n}\n\n/**\n * Options for read operations with abort support.\n */\nexport interface ReadOptions extends Abortable {\n /**\n * Character encoding to use for reading.\n * @default 'utf8'\n */\n encoding?: BufferEncoding | string | undefined\n /**\n * File system flag for reading behavior.\n * @default 'r'\n */\n flag?: string | undefined\n}\n\n/**\n * Options for reading directories with filtering and sorting.\n */\nexport interface ReadDirOptions {\n /**\n * Glob patterns for directories to ignore.\n * @default undefined\n */\n ignore?: string[] | readonly string[] | undefined\n /**\n * Include empty directories in results.\n * When `false`, empty directories are filtered out.\n * @default true\n */\n includeEmpty?: boolean | undefined\n /**\n * Sort directory names alphabetically using natural sort order.\n * @default true\n */\n sort?: boolean | undefined\n}\n\n/**\n * Options for reading files with encoding and abort support.\n * Can be either an options object, an encoding string, or null.\n */\nexport type ReadFileOptions =\n | Remap<\n ObjectEncodingOptions &\n Abortable & {\n flag?: OpenMode | undefined\n }\n >\n | BufferEncoding\n | null\n\n/**\n * Options for reading and parsing JSON files.\n */\nexport type ReadJsonOptions = Remap<\n ReadFileOptions & {\n /**\n * Whether to throw errors on parse failure.\n * When `false`, returns `undefined` on error instead of throwing.\n * @default true\n */\n throws?: boolean | undefined\n /**\n * JSON reviver function to transform parsed values.\n * Same as the second parameter to `JSON.parse()`.\n */\n reviver?: Parameters<typeof JSON.parse>[1] | undefined\n }\n>\n\n/**\n * Options for file/directory removal operations.\n */\nexport interface RemoveOptions {\n /**\n * Force deletion even outside normally safe directories.\n * When `false`, prevents deletion outside temp, cacache, and ~/.socket.\n * @default true for safe directories, false otherwise\n */\n force?: boolean | undefined\n /**\n * Maximum number of retry attempts on failure.\n * @default 3\n */\n maxRetries?: number | undefined\n /**\n * Recursively delete directories and contents.\n * @default true\n */\n recursive?: boolean | undefined\n /**\n * Delay in milliseconds between retry attempts.\n * @default 200\n */\n retryDelay?: number | undefined\n /**\n * Abort signal to cancel the operation.\n */\n signal?: AbortSignal | undefined\n}\n\n/**\n * Options for safe read operations that don't throw on errors.\n */\nexport interface SafeReadOptions extends ReadOptions {\n /**\n * Default value to return on read failure.\n * If not provided, `undefined` is returned on error.\n */\n defaultValue?: unknown | undefined\n}\n\n/**\n * Options for write operations with encoding and mode control.\n */\nexport interface WriteOptions extends Abortable {\n /**\n * Character encoding for writing.\n * @default 'utf8'\n */\n encoding?: BufferEncoding | string | undefined\n /**\n * File mode (permissions) to set.\n * Uses standard Unix permission bits (e.g., 0o644).\n * @default 0o666 (read/write for all, respecting umask)\n */\n mode?: number | undefined\n /**\n * File system flag for write behavior.\n * @default 'w' (create or truncate)\n */\n flag?: string | undefined\n}\n\n/**\n * Options for writing JSON files with formatting control.\n */\nexport interface WriteJsonOptions extends WriteOptions {\n /**\n * End-of-line sequence to use.\n * @default '\\n'\n * @example\n * ```ts\n * // Windows-style line endings\n * writeJson('data.json', data, { EOL: '\\r\\n' })\n * ```\n */\n EOL?: string | undefined\n /**\n * Whether to add a final newline at end of file.\n * @default true\n */\n finalEOL?: boolean | undefined\n /**\n * JSON replacer function to transform values during stringification.\n * Same as the second parameter to `JSON.stringify()`.\n */\n replacer?: JsonReviver | undefined\n /**\n * Number of spaces for indentation, or string to use for indentation.\n * @default 2\n * @example\n * ```ts\n * // Use tabs instead of spaces\n * writeJson('data.json', data, { spaces: '\\t' })\n *\n * // Use 4 spaces for indentation\n * writeJson('data.json', data, { spaces: 4 })\n * ```\n */\n spaces?: number | string | undefined\n}\n\nconst defaultRemoveOptions = objectFreeze({\n __proto__: null,\n force: true,\n maxRetries: 3,\n recursive: true,\n retryDelay: 200,\n})\n\nlet _fs: typeof import('fs') | undefined\n/**\n * Lazily load the fs module to avoid Webpack errors.\n * Uses non-'node:' prefixed require to prevent Webpack bundling issues.\n *\n * @returns The Node.js fs module\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getFs() {\n if (_fs === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _fs = /*@__PURE__*/ require('node:fs')\n }\n return _fs as typeof import('fs')\n}\n\nlet _path: typeof import('path') | undefined\n/**\n * Lazily load the path module to avoid Webpack errors.\n * Uses non-'node:' prefixed require to prevent Webpack bundling issues.\n *\n * @returns The Node.js path module\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getPath() {\n if (_path === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _path = /*@__PURE__*/ require('node:path')\n }\n return _path as typeof import('path')\n}\n\nlet _os: typeof import('os') | undefined\n/**\n * Lazily load the os module to avoid Webpack errors.\n * Uses non-'node:' prefixed require to prevent Webpack bundling issues.\n *\n * @returns The Node.js os module\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getOs() {\n if (_os === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _os = /*@__PURE__*/ require('node:os')\n }\n return _os as typeof import('os')\n}\n\n/**\n * Process directory entries and filter for directories.\n * Filters entries to include only directories, optionally excluding empty ones.\n * Applies ignore patterns and natural sorting.\n *\n * @param dirents - Directory entries from readdir\n * @param dirname - Parent directory path\n * @param options - Filtering and sorting options\n * @returns Array of directory names, optionally sorted\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction innerReadDirNames(\n dirents: Dirent[],\n dirname: string | undefined,\n options?: ReadDirOptions | undefined,\n): string[] {\n const {\n ignore,\n includeEmpty = true,\n sort = true,\n } = { __proto__: null, ...options } as ReadDirOptions\n const path = getPath()\n const names = dirents\n .filter(\n (d: Dirent) =>\n d.isDirectory() &&\n (includeEmpty ||\n !isDirEmptySync(path.join(dirname || d.parentPath, d.name), {\n ignore,\n })),\n )\n .map((d: Dirent) => d.name)\n return sort ? names.sort(naturalCompare) : names\n}\n\n/**\n * Stringify JSON with custom formatting options.\n * Formats JSON with configurable line endings and indentation.\n *\n * @param json - Value to stringify\n * @param EOL - End-of-line sequence\n * @param finalEOL - Whether to add final newline\n * @param replacer - JSON replacer function\n * @param spaces - Indentation spaces or string\n * @returns Formatted JSON string\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction stringify(\n json: unknown,\n EOL: string,\n finalEOL: boolean,\n replacer: JsonReviver | undefined,\n spaces: number | string = 2,\n): string {\n const EOF = finalEOL ? EOL : ''\n const str = JSON.stringify(json, replacer, spaces)\n return `${str.replace(/\\n/g, EOL)}${EOF}`\n}\n\n/**\n * Find a file or directory by traversing up parent directories.\n * Searches from the starting directory upward to the filesystem root.\n * Useful for finding configuration files or project roots.\n *\n * @param name - Filename(s) to search for\n * @param options - Search options including cwd and type filters\n * @returns Normalized absolute path if found, undefined otherwise\n *\n * @example\n * ```ts\n * // Find package.json starting from current directory\n * const pkgPath = await findUp('package.json')\n *\n * // Find any of multiple config files\n * const configPath = await findUp(['.config.js', '.config.json'])\n *\n * // Find a directory instead of file\n * const nodeModules = await findUp('node_modules', { onlyDirectories: true })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function findUp(\n name: string | string[] | readonly string[],\n options?: FindUpOptions | undefined,\n): Promise<string | undefined> {\n const { cwd = process.cwd(), signal = abortSignal } = {\n __proto__: null,\n ...options,\n } as FindUpOptions\n let { onlyDirectories = false, onlyFiles = true } = {\n __proto__: null,\n ...options,\n } as FindUpOptions\n if (onlyDirectories) {\n onlyFiles = false\n }\n if (onlyFiles) {\n onlyDirectories = false\n }\n const fs = getFs()\n const path = getPath()\n let dir = path.resolve(cwd)\n const { root } = path.parse(dir)\n const names = isArray(name) ? name : [name as string]\n while (dir && dir !== root) {\n for (const n of names) {\n if (signal?.aborted) {\n return undefined\n }\n const thePath = path.join(dir, n)\n try {\n // eslint-disable-next-line no-await-in-loop\n const stats = await fs.promises.stat(thePath)\n if (!onlyDirectories && stats.isFile()) {\n return normalizePath(thePath)\n }\n if (!onlyFiles && stats.isDirectory()) {\n return normalizePath(thePath)\n }\n } catch {}\n }\n dir = path.dirname(dir)\n }\n return undefined\n}\n\n/**\n * Synchronously find a file or directory by traversing up parent directories.\n * Searches from the starting directory upward to the filesystem root or `stopAt` directory.\n * Useful for finding configuration files or project roots in synchronous contexts.\n *\n * @param name - Filename(s) to search for\n * @param options - Search options including cwd, stopAt, and type filters\n * @returns Normalized absolute path if found, undefined otherwise\n *\n * @example\n * ```ts\n * // Find package.json starting from current directory\n * const pkgPath = findUpSync('package.json')\n *\n * // Find .git directory but stop at home directory\n * const gitPath = findUpSync('.git', {\n * onlyDirectories: true,\n * stopAt: process.env.HOME\n * })\n *\n * // Find any of multiple config files\n * const configPath = findUpSync(['.eslintrc.js', '.eslintrc.json'])\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function findUpSync(\n name: string | string[] | readonly string[],\n options?: FindUpSyncOptions | undefined,\n) {\n const { cwd = process.cwd(), stopAt } = {\n __proto__: null,\n ...options,\n } as FindUpSyncOptions\n let { onlyDirectories = false, onlyFiles = true } = {\n __proto__: null,\n ...options,\n } as FindUpSyncOptions\n if (onlyDirectories) {\n onlyFiles = false\n }\n if (onlyFiles) {\n onlyDirectories = false\n }\n const fs = getFs()\n const path = getPath()\n let dir = path.resolve(cwd)\n const { root } = path.parse(dir)\n const stopDir = stopAt ? path.resolve(stopAt) : undefined\n const names = isArray(name) ? name : [name as string]\n while (dir && dir !== root) {\n // Check if we should stop at this directory.\n if (stopDir && dir === stopDir) {\n // Check current directory but don't go up.\n for (const n of names) {\n const thePath = path.join(dir, n)\n try {\n const stats = fs.statSync(thePath)\n if (!onlyDirectories && stats.isFile()) {\n return normalizePath(thePath)\n }\n if (!onlyFiles && stats.isDirectory()) {\n return normalizePath(thePath)\n }\n } catch {}\n }\n return undefined\n }\n for (const n of names) {\n const thePath = path.join(dir, n)\n try {\n const stats = fs.statSync(thePath)\n if (!onlyDirectories && stats.isFile()) {\n return normalizePath(thePath)\n }\n if (!onlyFiles && stats.isDirectory()) {\n return normalizePath(thePath)\n }\n } catch {}\n }\n dir = path.dirname(dir)\n }\n return undefined\n}\n\n/**\n * Check if a path is a directory asynchronously.\n * Returns `true` for directories, `false` for files or non-existent paths.\n *\n * @param filepath - Path to check\n * @returns `true` if path is a directory, `false` otherwise\n *\n * @example\n * ```ts\n * if (await isDir('./src')) {\n * console.log('src is a directory')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function isDir(filepath: PathLike) {\n return !!(await safeStats(filepath))?.isDirectory()\n}\n\n/**\n * Check if a path is a directory synchronously.\n * Returns `true` for directories, `false` for files or non-existent paths.\n *\n * @param filepath - Path to check\n * @returns `true` if path is a directory, `false` otherwise\n *\n * @example\n * ```ts\n * if (isDirSync('./src')) {\n * console.log('src is a directory')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function isDirSync(filepath: PathLike) {\n return !!safeStatsSync(filepath)?.isDirectory()\n}\n\n/**\n * Check if a directory is empty synchronously.\n * A directory is considered empty if it contains no files after applying ignore patterns.\n * Uses glob patterns to filter ignored files.\n *\n * @param dirname - Directory path to check\n * @param options - Options including ignore patterns\n * @returns `true` if directory is empty (or doesn't exist), `false` otherwise\n *\n * @example\n * ```ts\n * // Check if directory is completely empty\n * isDirEmptySync('./build')\n *\n * // Check if directory is empty, ignoring .DS_Store files\n * isDirEmptySync('./cache', { ignore: ['.DS_Store'] })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function isDirEmptySync(\n dirname: PathLike,\n options?: IsDirEmptyOptions | undefined,\n) {\n const { ignore = defaultIgnore } = {\n __proto__: null,\n ...options,\n } as IsDirEmptyOptions\n const fs = getFs()\n try {\n const files = fs.readdirSync(dirname)\n const { length } = files\n if (length === 0) {\n return true\n }\n const matcher = getGlobMatcher(\n ignore as string[],\n {\n cwd: pathLikeToString(dirname),\n } as { cwd?: string; dot?: boolean; ignore?: string[]; nocase?: boolean },\n )\n let ignoredCount = 0\n for (let i = 0; i < length; i += 1) {\n const file = files[i]\n if (file && matcher(file)) {\n ignoredCount += 1\n }\n }\n return ignoredCount === length\n } catch {\n // Return false for non-existent paths or other errors.\n return false\n }\n}\n\n/**\n * Check if a path is a symbolic link synchronously.\n * Uses `lstat` to check the link itself, not the target.\n *\n * @param filepath - Path to check\n * @returns `true` if path is a symbolic link, `false` otherwise\n *\n * @example\n * ```ts\n * if (isSymLinkSync('./my-link')) {\n * console.log('Path is a symbolic link')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function isSymLinkSync(filepath: PathLike) {\n const fs = getFs()\n try {\n return fs.lstatSync(filepath).isSymbolicLink()\n } catch {}\n return false\n}\n\n/**\n * Read directory names asynchronously with filtering and sorting.\n * Returns only directory names (not files), with optional filtering for empty directories\n * and glob-based ignore patterns. Results are naturally sorted by default.\n *\n * @param dirname - Directory path to read\n * @param options - Options for filtering and sorting\n * @returns Array of directory names, empty array on error\n *\n * @example\n * ```ts\n * // Get all subdirectories, sorted naturally\n * const dirs = await readDirNames('./packages')\n *\n * // Get non-empty directories only\n * const nonEmpty = await readDirNames('./cache', { includeEmpty: false })\n *\n * // Get directories without sorting\n * const unsorted = await readDirNames('./src', { sort: false })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readDirNames(\n dirname: PathLike,\n options?: ReadDirOptions | undefined,\n) {\n const fs = getFs()\n try {\n return innerReadDirNames(\n await fs.promises.readdir(dirname, {\n __proto__: null,\n encoding: 'utf8',\n withFileTypes: true,\n } as ObjectEncodingOptions & { withFileTypes: true }),\n String(dirname),\n options,\n )\n } catch {}\n return []\n}\n\n/**\n * Read directory names synchronously with filtering and sorting.\n * Returns only directory names (not files), with optional filtering for empty directories\n * and glob-based ignore patterns. Results are naturally sorted by default.\n *\n * @param dirname - Directory path to read\n * @param options - Options for filtering and sorting\n * @returns Array of directory names, empty array on error\n *\n * @example\n * ```ts\n * // Get all subdirectories, sorted naturally\n * const dirs = readDirNamesSync('./packages')\n *\n * // Get non-empty directories only, ignoring node_modules\n * const nonEmpty = readDirNamesSync('./src', {\n * includeEmpty: false,\n * ignore: ['node_modules']\n * })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readDirNamesSync(dirname: PathLike, options?: ReadDirOptions) {\n const fs = getFs()\n try {\n return innerReadDirNames(\n fs.readdirSync(dirname, {\n __proto__: null,\n encoding: 'utf8',\n withFileTypes: true,\n } as ObjectEncodingOptions & { withFileTypes: true }),\n String(dirname),\n options,\n )\n } catch {}\n return []\n}\n\n/**\n * Read a file as binary data asynchronously.\n * Returns a Buffer without encoding the contents.\n * Useful for reading images, archives, or other binary formats.\n *\n * @param filepath - Path to file\n * @param options - Read options (encoding is forced to null for binary)\n * @returns Promise resolving to Buffer containing file contents\n *\n * @example\n * ```ts\n * // Read an image file\n * const imageBuffer = await readFileBinary('./image.png')\n *\n * // Read with abort signal\n * const buffer = await readFileBinary('./data.bin', { signal: abortSignal })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readFileBinary(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n // Don't specify encoding to get a Buffer.\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return await fs.promises.readFile(filepath, {\n signal: abortSignal,\n ...opts,\n encoding: null,\n })\n}\n\n/**\n * Read a file as UTF-8 text asynchronously.\n * Returns a string with the file contents decoded as UTF-8.\n * This is the most common way to read text files.\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding and abort signal\n * @returns Promise resolving to string containing file contents\n *\n * @example\n * ```ts\n * // Read a text file\n * const content = await readFileUtf8('./README.md')\n *\n * // Read with custom encoding\n * const content = await readFileUtf8('./data.txt', { encoding: 'utf-8' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readFileUtf8(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return await fs.promises.readFile(filepath, {\n signal: abortSignal,\n ...opts,\n encoding: 'utf8',\n })\n}\n\n/**\n * Read a file as binary data synchronously.\n * Returns a Buffer without encoding the contents.\n * Useful for reading images, archives, or other binary formats.\n *\n * @param filepath - Path to file\n * @param options - Read options (encoding is forced to null for binary)\n * @returns Buffer containing file contents\n *\n * @example\n * ```ts\n * // Read an image file\n * const imageBuffer = readFileBinarySync('./logo.png')\n *\n * // Read a compressed file\n * const gzipData = readFileBinarySync('./archive.gz')\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readFileBinarySync(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n // Don't specify encoding to get a Buffer\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return fs.readFileSync(filepath, {\n ...opts,\n encoding: null,\n } as ObjectEncodingOptions)\n}\n\n/**\n * Read a file as UTF-8 text synchronously.\n * Returns a string with the file contents decoded as UTF-8.\n * This is the most common way to read text files synchronously.\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding\n * @returns String containing file contents\n *\n * @example\n * ```ts\n * // Read a configuration file\n * const config = readFileUtf8Sync('./config.txt')\n *\n * // Read with custom options\n * const data = readFileUtf8Sync('./data.txt', { encoding: 'utf8' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readFileUtf8Sync(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return fs.readFileSync(filepath, {\n ...opts,\n encoding: 'utf8',\n } as ObjectEncodingOptions)\n}\n\n/**\n * Read and parse a JSON file asynchronously.\n * Reads the file as UTF-8 text and parses it as JSON.\n * Optionally accepts a reviver function to transform parsed values.\n *\n * @param filepath - Path to JSON file\n * @param options - Read and parse options\n * @returns Promise resolving to parsed JSON value, or undefined if throws is false and an error occurs\n *\n * @example\n * ```ts\n * // Read and parse package.json\n * const pkg = await readJson('./package.json')\n *\n * // Read JSON with custom reviver\n * const data = await readJson('./data.json', {\n * reviver: (key, value) => {\n * if (key === 'date') return new Date(value)\n * return value\n * }\n * })\n *\n * // Don't throw on parse errors\n * const config = await readJson('./config.json', { throws: false })\n * if (config === undefined) {\n * console.log('Failed to parse config')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readJson(\n filepath: PathLike,\n options?: ReadJsonOptions | string | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { reviver, throws, ...fsOptions } = {\n __proto__: null,\n ...opts,\n } as unknown as ReadJsonOptions\n const shouldThrow = throws === undefined || !!throws\n const fs = getFs()\n let content = ''\n try {\n content = await fs.promises.readFile(filepath, {\n __proto__: null,\n encoding: 'utf8',\n ...fsOptions,\n } as unknown as Parameters<typeof fs.promises.readFile>[1] & {\n encoding: string\n })\n } catch (e) {\n if (shouldThrow) {\n throw e\n }\n return undefined\n }\n return jsonParse(content, {\n filepath: String(filepath),\n reviver,\n throws: shouldThrow,\n })\n}\n\n/**\n * Read and parse a JSON file synchronously.\n * Reads the file as UTF-8 text and parses it as JSON.\n * Optionally accepts a reviver function to transform parsed values.\n *\n * @param filepath - Path to JSON file\n * @param options - Read and parse options\n * @returns Parsed JSON value, or undefined if throws is false and an error occurs\n *\n * @example\n * ```ts\n * // Read and parse tsconfig.json\n * const tsconfig = readJsonSync('./tsconfig.json')\n *\n * // Read JSON with custom reviver\n * const data = readJsonSync('./data.json', {\n * reviver: (key, value) => {\n * if (typeof value === 'string' && /^\\d{4}-\\d{2}-\\d{2}/.test(value)) {\n * return new Date(value)\n * }\n * return value\n * }\n * })\n *\n * // Don't throw on parse errors\n * const config = readJsonSync('./config.json', { throws: false })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readJsonSync(\n filepath: PathLike,\n options?: ReadJsonOptions | string | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { reviver, throws, ...fsOptions } = {\n __proto__: null,\n ...opts,\n } as unknown as ReadJsonOptions\n const shouldThrow = throws === undefined || !!throws\n const fs = getFs()\n let content = ''\n try {\n content = fs.readFileSync(filepath, {\n __proto__: null,\n encoding: 'utf8',\n ...fsOptions,\n } as unknown as Parameters<typeof fs.readFileSync>[1] & {\n encoding: string\n })\n } catch (e) {\n if (shouldThrow) {\n throw e\n }\n return undefined\n }\n return jsonParse(content, {\n filepath: String(filepath),\n reviver,\n throws: shouldThrow,\n })\n}\n\n/**\n * Safely delete a file or directory asynchronously with built-in protections.\n * Uses `del` for safer deletion that prevents removing cwd and above by default.\n * Automatically uses force: true for temp directory, cacache, and ~/.socket subdirectories.\n *\n * @param filepath - Path or array of paths to delete (supports glob patterns)\n * @param options - Deletion options including force, retries, and recursion\n * @throws {Error} When attempting to delete protected paths without force option\n *\n * @example\n * ```ts\n * // Delete a single file\n * await safeDelete('./temp-file.txt')\n *\n * // Delete a directory recursively\n * await safeDelete('./build', { recursive: true })\n *\n * // Delete multiple paths\n * await safeDelete(['./dist', './coverage'])\n *\n * // Delete with custom retry settings\n * await safeDelete('./flaky-dir', { maxRetries: 5, retryDelay: 500 })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function safeDelete(\n filepath: PathLike | PathLike[],\n options?: RemoveOptions | undefined,\n) {\n const del = /*@__PURE__*/ require('./external/del')\n const { deleteAsync } = del\n const opts = { __proto__: null, ...options } as RemoveOptions\n const patterns = isArray(filepath)\n ? filepath.map(pathLikeToString)\n : [pathLikeToString(filepath)]\n\n // Check if we're deleting within allowed directories.\n let shouldForce = opts.force !== false\n if (!shouldForce && patterns.length > 0) {\n const os = getOs()\n const path = getPath()\n const {\n getSocketCacacheDir,\n getSocketUserDir,\n } = /*@__PURE__*/ require('./paths')\n\n // Get allowed directories\n const tmpDir = os.tmpdir()\n const resolvedTmpDir = path.resolve(tmpDir)\n const cacacheDir = getSocketCacacheDir()\n const resolvedCacacheDir = path.resolve(cacacheDir)\n const socketUserDir = getSocketUserDir()\n const resolvedSocketUserDir = path.resolve(socketUserDir)\n\n // Check if all patterns are within allowed directories.\n const allInAllowedDirs = patterns.every(pattern => {\n const resolvedPath = path.resolve(pattern)\n\n // Check each allowed directory\n for (const allowedDir of [\n resolvedTmpDir,\n resolvedCacacheDir,\n resolvedSocketUserDir,\n ]) {\n const isInAllowedDir =\n resolvedPath.startsWith(allowedDir + path.sep) ||\n resolvedPath === allowedDir\n const relativePath = path.relative(allowedDir, resolvedPath)\n const isGoingBackward = relativePath.startsWith('..')\n\n if (isInAllowedDir && !isGoingBackward) {\n return true\n }\n }\n\n return false\n })\n\n if (allInAllowedDirs) {\n shouldForce = true\n }\n }\n\n await deleteAsync(patterns, {\n concurrency: opts.maxRetries || defaultRemoveOptions.maxRetries,\n dryRun: false,\n force: shouldForce,\n onlyFiles: false,\n })\n}\n\n/**\n * Safely delete a file or directory synchronously with built-in protections.\n * Uses `del` for safer deletion that prevents removing cwd and above by default.\n * Automatically uses force: true for temp directory, cacache, and ~/.socket subdirectories.\n *\n * @param filepath - Path or array of paths to delete (supports glob patterns)\n * @param options - Deletion options including force, retries, and recursion\n * @throws {Error} When attempting to delete protected paths without force option\n *\n * @example\n * ```ts\n * // Delete a single file\n * safeDeleteSync('./temp-file.txt')\n *\n * // Delete a directory recursively\n * safeDeleteSync('./build', { recursive: true })\n *\n * // Delete multiple paths with globs\n * safeDeleteSync(['./dist/**', './coverage/**'])\n *\n * // Force delete a protected path (use with caution)\n * safeDeleteSync('./important', { force: true })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function safeDeleteSync(\n filepath: PathLike | PathLike[],\n options?: RemoveOptions | undefined,\n) {\n const del = /*@__PURE__*/ require('./external/del')\n const { deleteSync } = del\n const opts = { __proto__: null, ...options } as RemoveOptions\n const patterns = isArray(filepath)\n ? filepath.map(pathLikeToString)\n : [pathLikeToString(filepath)]\n\n // Check if we're deleting within allowed directories.\n let shouldForce = opts.force !== false\n if (!shouldForce && patterns.length > 0) {\n const os = getOs()\n const path = getPath()\n const {\n getSocketCacacheDir,\n getSocketUserDir,\n } = /*@__PURE__*/ require('./paths')\n\n // Get allowed directories\n const tmpDir = os.tmpdir()\n const resolvedTmpDir = path.resolve(tmpDir)\n const cacacheDir = getSocketCacacheDir()\n const resolvedCacacheDir = path.resolve(cacacheDir)\n const socketUserDir = getSocketUserDir()\n const resolvedSocketUserDir = path.resolve(socketUserDir)\n\n // Check if all patterns are within allowed directories.\n const allInAllowedDirs = patterns.every(pattern => {\n const resolvedPath = path.resolve(pattern)\n\n // Check each allowed directory\n for (const allowedDir of [\n resolvedTmpDir,\n resolvedCacacheDir,\n resolvedSocketUserDir,\n ]) {\n const isInAllowedDir =\n resolvedPath.startsWith(allowedDir + path.sep) ||\n resolvedPath === allowedDir\n const relativePath = path.relative(allowedDir, resolvedPath)\n const isGoingBackward = relativePath.startsWith('..')\n\n if (isInAllowedDir && !isGoingBackward) {\n return true\n }\n }\n\n return false\n })\n\n if (allInAllowedDirs) {\n shouldForce = true\n }\n }\n\n deleteSync(patterns, {\n concurrency: opts.maxRetries || defaultRemoveOptions.maxRetries,\n dryRun: false,\n force: shouldForce,\n onlyFiles: false,\n })\n}\n\n/**\n * Safely read a file asynchronously, returning undefined on error.\n * Useful when you want to attempt reading a file without handling errors explicitly.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding and default value\n * @returns Promise resolving to file contents, or undefined on error\n *\n * @example\n * ```ts\n * // Try to read a file, get undefined if it doesn't exist\n * const content = await safeReadFile('./optional-config.txt')\n * if (content) {\n * console.log('Config found:', content)\n * }\n *\n * // Read with specific encoding\n * const data = await safeReadFile('./data.txt', { encoding: 'utf8' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function safeReadFile(\n filepath: PathLike,\n options?: SafeReadOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n try {\n return await fs.promises.readFile(filepath, {\n signal: abortSignal,\n ...opts,\n } as Abortable)\n } catch {}\n return undefined\n}\n\n/**\n * Safely get file stats asynchronously, returning undefined on error.\n * Useful for checking file existence and properties without error handling.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to check\n * @returns Promise resolving to Stats object, or undefined on error\n *\n * @example\n * ```ts\n * // Check if file exists and get its stats\n * const stats = await safeStats('./file.txt')\n * if (stats) {\n * console.log('File size:', stats.size)\n * console.log('Modified:', stats.mtime)\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function safeStats(filepath: PathLike) {\n const fs = getFs()\n try {\n return await fs.promises.stat(filepath)\n } catch {}\n return undefined\n}\n\n/**\n * Safely get file stats synchronously, returning undefined on error.\n * Useful for checking file existence and properties without error handling.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to check\n * @param options - Read options (currently unused but kept for API consistency)\n * @returns Stats object, or undefined on error\n *\n * @example\n * ```ts\n * // Check if file exists and get its size\n * const stats = safeStatsSync('./file.txt')\n * if (stats) {\n * console.log('File size:', stats.size)\n * console.log('Is directory:', stats.isDirectory())\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function safeStatsSync(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n try {\n return fs.statSync(filepath, {\n __proto__: null,\n throwIfNoEntry: false,\n ...opts,\n } as StatSyncOptions)\n } catch {}\n return undefined\n}\n\n/**\n * Safely read a file synchronously, returning undefined on error.\n * Useful when you want to attempt reading a file without handling errors explicitly.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding and default value\n * @returns File contents, or undefined on error\n *\n * @example\n * ```ts\n * // Try to read a config file\n * const config = safeReadFileSync('./config.txt')\n * if (config) {\n * console.log('Config loaded successfully')\n * }\n *\n * // Read binary file safely\n * const buffer = safeReadFileSync('./image.png', { encoding: null })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function safeReadFileSync(\n filepath: PathLike,\n options?: SafeReadOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n try {\n return fs.readFileSync(filepath, {\n __proto__: null,\n ...opts,\n } as ObjectEncodingOptions)\n } catch {}\n return undefined\n}\n\n/**\n * Generate a unique filepath by adding number suffix if the path exists.\n * Appends `-1`, `-2`, etc. before the file extension until a non-existent path is found.\n * Useful for creating files without overwriting existing ones.\n *\n * @param filepath - Desired file path\n * @returns Normalized unique filepath (original if it doesn't exist, or with number suffix)\n *\n * @example\n * ```ts\n * // If 'report.pdf' exists, returns 'report-1.pdf'\n * const uniquePath = uniqueSync('./report.pdf')\n *\n * // If 'data.json' and 'data-1.json' exist, returns 'data-2.json'\n * const path = uniqueSync('./data.json')\n *\n * // If 'backup' doesn't exist, returns 'backup' unchanged\n * const backupPath = uniqueSync('./backup')\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function uniqueSync(filepath: PathLike): string {\n const fs = getFs()\n const path = getPath()\n const filepathStr = String(filepath)\n\n // If the file doesn't exist, return as is\n if (!fs.existsSync(filepathStr)) {\n return normalizePath(filepathStr)\n }\n\n const dirname = path.dirname(filepathStr)\n const ext = path.extname(filepathStr)\n const basename = path.basename(filepathStr, ext)\n\n let counter = 1\n let uniquePath: string\n do {\n uniquePath = path.join(dirname, `${basename}-${counter}${ext}`)\n counter++\n } while (fs.existsSync(uniquePath))\n\n return normalizePath(uniquePath)\n}\n\n/**\n * Write JSON content to a file asynchronously with formatting.\n * Stringifies the value with configurable indentation and line endings.\n * Automatically adds a final newline by default for POSIX compliance.\n *\n * @param filepath - Path to write to\n * @param jsonContent - Value to stringify and write\n * @param options - Write options including formatting and encoding\n * @returns Promise that resolves when write completes\n *\n * @example\n * ```ts\n * // Write formatted JSON with default 2-space indentation\n * await writeJson('./data.json', { name: 'example', version: '1.0.0' })\n *\n * // Write with custom indentation\n * await writeJson('./config.json', config, { spaces: 4 })\n *\n * // Write with tabs instead of spaces\n * await writeJson('./data.json', data, { spaces: '\\t' })\n *\n * // Write without final newline\n * await writeJson('./inline.json', obj, { finalEOL: false })\n *\n * // Write with Windows line endings\n * await writeJson('./win.json', data, { EOL: '\\r\\n' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function writeJson(\n filepath: PathLike,\n jsonContent: unknown,\n options?: WriteJsonOptions | string,\n): Promise<void> {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { EOL, finalEOL, replacer, spaces, ...fsOptions } = {\n __proto__: null,\n ...opts,\n } as WriteJsonOptions\n const fs = getFs()\n const jsonString = stringify(\n jsonContent,\n EOL || '\\n',\n finalEOL !== undefined ? finalEOL : true,\n replacer,\n spaces,\n )\n await fs.promises.writeFile(filepath, jsonString, {\n encoding: 'utf8',\n ...fsOptions,\n __proto__: null,\n } as ObjectEncodingOptions)\n}\n\n/**\n * Write JSON content to a file synchronously with formatting.\n * Stringifies the value with configurable indentation and line endings.\n * Automatically adds a final newline by default for POSIX compliance.\n *\n * @param filepath - Path to write to\n * @param jsonContent - Value to stringify and write\n * @param options - Write options including formatting and encoding\n *\n * @example\n * ```ts\n * // Write formatted JSON with default 2-space indentation\n * writeJsonSync('./package.json', pkg)\n *\n * // Write with custom indentation\n * writeJsonSync('./tsconfig.json', tsconfig, { spaces: 4 })\n *\n * // Write with tabs for indentation\n * writeJsonSync('./data.json', data, { spaces: '\\t' })\n *\n * // Write compacted (no indentation)\n * writeJsonSync('./compact.json', data, { spaces: 0 })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function writeJsonSync(\n filepath: PathLike,\n jsonContent: unknown,\n options?: WriteJsonOptions | string | undefined,\n): void {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { EOL, finalEOL, replacer, spaces, ...fsOptions } = {\n __proto__: null,\n ...opts,\n }\n const fs = getFs()\n const jsonString = stringify(\n jsonContent,\n EOL || '\\n',\n finalEOL !== undefined ? finalEOL : true,\n replacer,\n spaces,\n )\n fs.writeFileSync(filepath, jsonString, {\n encoding: 'utf8',\n ...fsOptions,\n __proto__: null,\n } as WriteFileOptions)\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * @fileoverview File system utilities with cross-platform path handling.\n * Provides enhanced fs operations, glob matching, and directory traversal functions.\n */\n\nimport type { Abortable } from 'node:events'\nimport type {\n Dirent,\n ObjectEncodingOptions,\n OpenMode,\n PathLike,\n StatSyncOptions,\n WriteFileOptions,\n} from 'node:fs'\n\nimport { getAbortSignal } from '#constants/process'\n\nimport { isArray } from './arrays'\n\nconst abortSignal = getAbortSignal()\n\nimport { defaultIgnore, getGlobMatcher } from './globs'\nimport type { JsonReviver } from './json'\nimport { jsonParse } from './json'\nimport { objectFreeze, type Remap } from './objects'\nimport { normalizePath, pathLikeToString } from './path'\nimport { naturalCompare } from './sorts'\n\n/**\n * Supported text encodings for Node.js Buffers.\n * Includes ASCII, UTF-8/16, base64, binary, and hexadecimal encodings.\n */\nexport type BufferEncoding =\n | 'ascii'\n | 'utf8'\n | 'utf-8'\n | 'utf16le'\n | 'ucs2'\n | 'ucs-2'\n | 'base64'\n | 'base64url'\n | 'latin1'\n | 'binary'\n | 'hex'\n\n/**\n * Represents any valid JSON content type.\n */\nexport type JsonContent = unknown\n\n/**\n * Options for asynchronous `findUp` operations.\n */\nexport interface FindUpOptions {\n /**\n * Starting directory for the search.\n * @default process.cwd()\n */\n cwd?: string | undefined\n /**\n * Only match directories, not files.\n * @default false\n */\n onlyDirectories?: boolean | undefined\n /**\n * Only match files, not directories.\n * @default true\n */\n onlyFiles?: boolean | undefined\n /**\n * Abort signal to cancel the search operation.\n */\n signal?: AbortSignal | undefined\n}\n\n/**\n * Options for synchronous `findUpSync` operations.\n */\nexport interface FindUpSyncOptions {\n /**\n * Starting directory for the search.\n * @default process.cwd()\n */\n cwd?: string | undefined\n /**\n * Directory to stop searching at (inclusive).\n * When provided, search will stop at this directory even if the root hasn't been reached.\n */\n stopAt?: string | undefined\n /**\n * Only match directories, not files.\n * @default false\n */\n onlyDirectories?: boolean | undefined\n /**\n * Only match files, not directories.\n * @default true\n */\n onlyFiles?: boolean | undefined\n}\n\n/**\n * Options for checking if a directory is empty.\n */\nexport interface IsDirEmptyOptions {\n /**\n * Glob patterns for files to ignore when checking emptiness.\n * Files matching these patterns are not counted.\n * @default defaultIgnore\n */\n ignore?: string[] | readonly string[] | undefined\n}\n\n/**\n * Options for read operations with abort support.\n */\nexport interface ReadOptions extends Abortable {\n /**\n * Character encoding to use for reading.\n * @default 'utf8'\n */\n encoding?: BufferEncoding | string | undefined\n /**\n * File system flag for reading behavior.\n * @default 'r'\n */\n flag?: string | undefined\n}\n\n/**\n * Options for reading directories with filtering and sorting.\n */\nexport interface ReadDirOptions {\n /**\n * Glob patterns for directories to ignore.\n * @default undefined\n */\n ignore?: string[] | readonly string[] | undefined\n /**\n * Include empty directories in results.\n * When `false`, empty directories are filtered out.\n * @default true\n */\n includeEmpty?: boolean | undefined\n /**\n * Sort directory names alphabetically using natural sort order.\n * @default true\n */\n sort?: boolean | undefined\n}\n\n/**\n * Options for reading files with encoding and abort support.\n * Can be either an options object, an encoding string, or null.\n */\nexport type ReadFileOptions =\n | Remap<\n ObjectEncodingOptions &\n Abortable & {\n flag?: OpenMode | undefined\n }\n >\n | BufferEncoding\n | null\n\n/**\n * Options for reading and parsing JSON files.\n */\nexport type ReadJsonOptions = Remap<\n ReadFileOptions & {\n /**\n * Whether to throw errors on parse failure.\n * When `false`, returns `undefined` on error instead of throwing.\n * @default true\n */\n throws?: boolean | undefined\n /**\n * JSON reviver function to transform parsed values.\n * Same as the second parameter to `JSON.parse()`.\n */\n reviver?: Parameters<typeof JSON.parse>[1] | undefined\n }\n>\n\n/**\n * Options for file/directory removal operations.\n */\nexport interface RemoveOptions {\n /**\n * Force deletion even outside normally safe directories.\n * When `false`, prevents deletion outside temp, cacache, and ~/.socket.\n * @default true for safe directories, false otherwise\n */\n force?: boolean | undefined\n /**\n * Maximum number of retry attempts on failure.\n * @default 3\n */\n maxRetries?: number | undefined\n /**\n * Recursively delete directories and contents.\n * @default true\n */\n recursive?: boolean | undefined\n /**\n * Delay in milliseconds between retry attempts.\n * @default 200\n */\n retryDelay?: number | undefined\n /**\n * Abort signal to cancel the operation.\n */\n signal?: AbortSignal | undefined\n}\n\n/**\n * Options for safe read operations that don't throw on errors.\n */\nexport interface SafeReadOptions extends ReadOptions {\n /**\n * Default value to return on read failure.\n * If not provided, `undefined` is returned on error.\n */\n defaultValue?: unknown | undefined\n}\n\n/**\n * Options for write operations with encoding and mode control.\n */\nexport interface WriteOptions extends Abortable {\n /**\n * Character encoding for writing.\n * @default 'utf8'\n */\n encoding?: BufferEncoding | string | undefined\n /**\n * File mode (permissions) to set.\n * Uses standard Unix permission bits (e.g., 0o644).\n * @default 0o666 (read/write for all, respecting umask)\n */\n mode?: number | undefined\n /**\n * File system flag for write behavior.\n * @default 'w' (create or truncate)\n */\n flag?: string | undefined\n}\n\n/**\n * Options for writing JSON files with formatting control.\n */\nexport interface WriteJsonOptions extends WriteOptions {\n /**\n * End-of-line sequence to use.\n * @default '\\n'\n * @example\n * ```ts\n * // Windows-style line endings\n * writeJson('data.json', data, { EOL: '\\r\\n' })\n * ```\n */\n EOL?: string | undefined\n /**\n * Whether to add a final newline at end of file.\n * @default true\n */\n finalEOL?: boolean | undefined\n /**\n * JSON replacer function to transform values during stringification.\n * Same as the second parameter to `JSON.stringify()`.\n */\n replacer?: JsonReviver | undefined\n /**\n * Number of spaces for indentation, or string to use for indentation.\n * @default 2\n * @example\n * ```ts\n * // Use tabs instead of spaces\n * writeJson('data.json', data, { spaces: '\\t' })\n *\n * // Use 4 spaces for indentation\n * writeJson('data.json', data, { spaces: 4 })\n * ```\n */\n spaces?: number | string | undefined\n}\n\nconst defaultRemoveOptions = objectFreeze({\n __proto__: null,\n force: true,\n maxRetries: 3,\n recursive: true,\n retryDelay: 200,\n})\n\nlet _fs: typeof import('fs') | undefined\n/**\n * Lazily load the fs module to avoid Webpack errors.\n * Uses non-'node:' prefixed require to prevent Webpack bundling issues.\n *\n * @returns The Node.js fs module\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getFs() {\n if (_fs === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _fs = /*@__PURE__*/ require('node:fs')\n }\n return _fs as typeof import('fs')\n}\n\nlet _path: typeof import('path') | undefined\n/**\n * Lazily load the path module to avoid Webpack errors.\n * Uses non-'node:' prefixed require to prevent Webpack bundling issues.\n *\n * @returns The Node.js path module\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getPath() {\n if (_path === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _path = /*@__PURE__*/ require('node:path')\n }\n return _path as typeof import('path')\n}\n\nlet _os: typeof import('os') | undefined\n/**\n * Lazily load the os module to avoid Webpack errors.\n * Uses non-'node:' prefixed require to prevent Webpack bundling issues.\n *\n * @returns The Node.js os module\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getOs() {\n if (_os === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _os = /*@__PURE__*/ require('node:os')\n }\n return _os as typeof import('os')\n}\n\n/**\n * Process directory entries and filter for directories.\n * Filters entries to include only directories, optionally excluding empty ones.\n * Applies ignore patterns and natural sorting.\n *\n * @param dirents - Directory entries from readdir\n * @param dirname - Parent directory path\n * @param options - Filtering and sorting options\n * @returns Array of directory names, optionally sorted\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction innerReadDirNames(\n dirents: Dirent[],\n dirname: string | undefined,\n options?: ReadDirOptions | undefined,\n): string[] {\n const {\n ignore,\n includeEmpty = true,\n sort = true,\n } = { __proto__: null, ...options } as ReadDirOptions\n const path = getPath()\n const names = dirents\n .filter(\n (d: Dirent) =>\n d.isDirectory() &&\n (includeEmpty ||\n !isDirEmptySync(path.join(dirname || d.parentPath, d.name), {\n ignore,\n })),\n )\n .map((d: Dirent) => d.name)\n return sort ? names.sort(naturalCompare) : names\n}\n\n/**\n * Stringify JSON with custom formatting options.\n * Formats JSON with configurable line endings and indentation.\n *\n * @param json - Value to stringify\n * @param EOL - End-of-line sequence\n * @param finalEOL - Whether to add final newline\n * @param replacer - JSON replacer function\n * @param spaces - Indentation spaces or string\n * @returns Formatted JSON string\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction stringify(\n json: unknown,\n EOL: string,\n finalEOL: boolean,\n replacer: JsonReviver | undefined,\n spaces: number | string = 2,\n): string {\n const EOF = finalEOL ? EOL : ''\n const str = JSON.stringify(json, replacer, spaces)\n return `${str.replace(/\\n/g, EOL)}${EOF}`\n}\n\n/**\n * Find a file or directory by traversing up parent directories.\n * Searches from the starting directory upward to the filesystem root.\n * Useful for finding configuration files or project roots.\n *\n * @param name - Filename(s) to search for\n * @param options - Search options including cwd and type filters\n * @returns Normalized absolute path if found, undefined otherwise\n *\n * @example\n * ```ts\n * // Find package.json starting from current directory\n * const pkgPath = await findUp('package.json')\n *\n * // Find any of multiple config files\n * const configPath = await findUp(['.config.js', '.config.json'])\n *\n * // Find a directory instead of file\n * const nodeModules = await findUp('node_modules', { onlyDirectories: true })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function findUp(\n name: string | string[] | readonly string[],\n options?: FindUpOptions | undefined,\n): Promise<string | undefined> {\n const { cwd = process.cwd(), signal = abortSignal } = {\n __proto__: null,\n ...options,\n } as FindUpOptions\n let { onlyDirectories = false, onlyFiles = true } = {\n __proto__: null,\n ...options,\n } as FindUpOptions\n if (onlyDirectories) {\n onlyFiles = false\n }\n if (onlyFiles) {\n onlyDirectories = false\n }\n const fs = getFs()\n const path = getPath()\n let dir = path.resolve(cwd)\n const { root } = path.parse(dir)\n const names = isArray(name) ? name : [name as string]\n while (dir && dir !== root) {\n for (const n of names) {\n if (signal?.aborted) {\n return undefined\n }\n const thePath = path.join(dir, n)\n try {\n // eslint-disable-next-line no-await-in-loop\n const stats = await fs.promises.stat(thePath)\n if (!onlyDirectories && stats.isFile()) {\n return normalizePath(thePath)\n }\n if (!onlyFiles && stats.isDirectory()) {\n return normalizePath(thePath)\n }\n } catch {}\n }\n dir = path.dirname(dir)\n }\n return undefined\n}\n\n/**\n * Synchronously find a file or directory by traversing up parent directories.\n * Searches from the starting directory upward to the filesystem root or `stopAt` directory.\n * Useful for finding configuration files or project roots in synchronous contexts.\n *\n * @param name - Filename(s) to search for\n * @param options - Search options including cwd, stopAt, and type filters\n * @returns Normalized absolute path if found, undefined otherwise\n *\n * @example\n * ```ts\n * // Find package.json starting from current directory\n * const pkgPath = findUpSync('package.json')\n *\n * // Find .git directory but stop at home directory\n * const gitPath = findUpSync('.git', {\n * onlyDirectories: true,\n * stopAt: process.env.HOME\n * })\n *\n * // Find any of multiple config files\n * const configPath = findUpSync(['.eslintrc.js', '.eslintrc.json'])\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function findUpSync(\n name: string | string[] | readonly string[],\n options?: FindUpSyncOptions | undefined,\n) {\n const { cwd = process.cwd(), stopAt } = {\n __proto__: null,\n ...options,\n } as FindUpSyncOptions\n let { onlyDirectories = false, onlyFiles = true } = {\n __proto__: null,\n ...options,\n } as FindUpSyncOptions\n if (onlyDirectories) {\n onlyFiles = false\n }\n if (onlyFiles) {\n onlyDirectories = false\n }\n const fs = getFs()\n const path = getPath()\n let dir = path.resolve(cwd)\n const { root } = path.parse(dir)\n const stopDir = stopAt ? path.resolve(stopAt) : undefined\n const names = isArray(name) ? name : [name as string]\n while (dir && dir !== root) {\n // Check if we should stop at this directory.\n if (stopDir && dir === stopDir) {\n // Check current directory but don't go up.\n for (const n of names) {\n const thePath = path.join(dir, n)\n try {\n const stats = fs.statSync(thePath)\n if (!onlyDirectories && stats.isFile()) {\n return normalizePath(thePath)\n }\n if (!onlyFiles && stats.isDirectory()) {\n return normalizePath(thePath)\n }\n } catch {}\n }\n return undefined\n }\n for (const n of names) {\n const thePath = path.join(dir, n)\n try {\n const stats = fs.statSync(thePath)\n if (!onlyDirectories && stats.isFile()) {\n return normalizePath(thePath)\n }\n if (!onlyFiles && stats.isDirectory()) {\n return normalizePath(thePath)\n }\n } catch {}\n }\n dir = path.dirname(dir)\n }\n return undefined\n}\n\n/**\n * Check if a path is a directory asynchronously.\n * Returns `true` for directories, `false` for files or non-existent paths.\n *\n * @param filepath - Path to check\n * @returns `true` if path is a directory, `false` otherwise\n *\n * @example\n * ```ts\n * if (await isDir('./src')) {\n * console.log('src is a directory')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function isDir(filepath: PathLike) {\n return !!(await safeStats(filepath))?.isDirectory()\n}\n\n/**\n * Check if a path is a directory synchronously.\n * Returns `true` for directories, `false` for files or non-existent paths.\n *\n * @param filepath - Path to check\n * @returns `true` if path is a directory, `false` otherwise\n *\n * @example\n * ```ts\n * if (isDirSync('./src')) {\n * console.log('src is a directory')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function isDirSync(filepath: PathLike) {\n return !!safeStatsSync(filepath)?.isDirectory()\n}\n\n/**\n * Check if a directory is empty synchronously.\n * A directory is considered empty if it contains no files after applying ignore patterns.\n * Uses glob patterns to filter ignored files.\n *\n * @param dirname - Directory path to check\n * @param options - Options including ignore patterns\n * @returns `true` if directory is empty (or doesn't exist), `false` otherwise\n *\n * @example\n * ```ts\n * // Check if directory is completely empty\n * isDirEmptySync('./build')\n *\n * // Check if directory is empty, ignoring .DS_Store files\n * isDirEmptySync('./cache', { ignore: ['.DS_Store'] })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function isDirEmptySync(\n dirname: PathLike,\n options?: IsDirEmptyOptions | undefined,\n) {\n const { ignore = defaultIgnore } = {\n __proto__: null,\n ...options,\n } as IsDirEmptyOptions\n const fs = getFs()\n try {\n const files = fs.readdirSync(dirname)\n const { length } = files\n if (length === 0) {\n return true\n }\n const matcher = getGlobMatcher(\n ignore as string[],\n {\n cwd: pathLikeToString(dirname),\n } as { cwd?: string; dot?: boolean; ignore?: string[]; nocase?: boolean },\n )\n let ignoredCount = 0\n for (let i = 0; i < length; i += 1) {\n const file = files[i]\n if (file && matcher(file)) {\n ignoredCount += 1\n }\n }\n return ignoredCount === length\n } catch {\n // Return false for non-existent paths or other errors.\n return false\n }\n}\n\n/**\n * Check if a path is a symbolic link synchronously.\n * Uses `lstat` to check the link itself, not the target.\n *\n * @param filepath - Path to check\n * @returns `true` if path is a symbolic link, `false` otherwise\n *\n * @example\n * ```ts\n * if (isSymLinkSync('./my-link')) {\n * console.log('Path is a symbolic link')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function isSymLinkSync(filepath: PathLike) {\n const fs = getFs()\n try {\n return fs.lstatSync(filepath).isSymbolicLink()\n } catch {}\n return false\n}\n\n/**\n * Result of file readability validation.\n * Contains lists of valid and invalid file paths.\n */\nexport interface ValidateFilesResult {\n /**\n * File paths that passed validation and are readable.\n */\n validPaths: string[]\n /**\n * File paths that failed validation (unreadable, permission denied, or non-existent).\n * Common with Yarn Berry PnP virtual filesystem, pnpm symlinks, or filesystem race conditions.\n */\n invalidPaths: string[]\n}\n\n/**\n * Validate that file paths are readable before processing.\n * Filters out files from glob results that cannot be accessed (common with\n * Yarn Berry PnP virtual filesystem, pnpm content-addressable store symlinks,\n * or filesystem race conditions in CI/CD environments).\n *\n * This defensive pattern prevents ENOENT errors when files exist in glob\n * results but are not accessible via standard filesystem operations.\n *\n * @param filepaths - Array of file paths to validate\n * @returns Object with `validPaths` (readable) and `invalidPaths` (unreadable)\n *\n * @example\n * ```ts\n * import { validateFiles } from '@socketsecurity/lib/fs'\n *\n * const files = ['package.json', '.pnp.cjs/virtual-file.json']\n * const { validPaths, invalidPaths } = validateFiles(files)\n *\n * console.log(`Valid: ${validPaths.length}`)\n * console.log(`Invalid: ${invalidPaths.length}`)\n * ```\n *\n * @example\n * ```ts\n * // Typical usage in Socket CLI commands\n * const packagePaths = await getPackageFilesForScan(targets)\n * const { validPaths } = validateFiles(packagePaths)\n * await sdk.uploadManifestFiles(orgSlug, validPaths)\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function validateFiles(\n filepaths: string[] | readonly string[],\n): ValidateFilesResult {\n const fs = getFs()\n const validPaths: string[] = []\n const invalidPaths: string[] = []\n const { R_OK } = fs.constants\n\n for (const filepath of filepaths) {\n try {\n fs.accessSync(filepath, R_OK)\n validPaths.push(filepath)\n } catch {\n invalidPaths.push(filepath)\n }\n }\n\n return { __proto__: null, validPaths, invalidPaths } as ValidateFilesResult\n}\n\n/**\n * Read directory names asynchronously with filtering and sorting.\n * Returns only directory names (not files), with optional filtering for empty directories\n * and glob-based ignore patterns. Results are naturally sorted by default.\n *\n * @param dirname - Directory path to read\n * @param options - Options for filtering and sorting\n * @returns Array of directory names, empty array on error\n *\n * @example\n * ```ts\n * // Get all subdirectories, sorted naturally\n * const dirs = await readDirNames('./packages')\n *\n * // Get non-empty directories only\n * const nonEmpty = await readDirNames('./cache', { includeEmpty: false })\n *\n * // Get directories without sorting\n * const unsorted = await readDirNames('./src', { sort: false })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readDirNames(\n dirname: PathLike,\n options?: ReadDirOptions | undefined,\n) {\n const fs = getFs()\n try {\n return innerReadDirNames(\n await fs.promises.readdir(dirname, {\n __proto__: null,\n encoding: 'utf8',\n withFileTypes: true,\n } as ObjectEncodingOptions & { withFileTypes: true }),\n String(dirname),\n options,\n )\n } catch {}\n return []\n}\n\n/**\n * Read directory names synchronously with filtering and sorting.\n * Returns only directory names (not files), with optional filtering for empty directories\n * and glob-based ignore patterns. Results are naturally sorted by default.\n *\n * @param dirname - Directory path to read\n * @param options - Options for filtering and sorting\n * @returns Array of directory names, empty array on error\n *\n * @example\n * ```ts\n * // Get all subdirectories, sorted naturally\n * const dirs = readDirNamesSync('./packages')\n *\n * // Get non-empty directories only, ignoring node_modules\n * const nonEmpty = readDirNamesSync('./src', {\n * includeEmpty: false,\n * ignore: ['node_modules']\n * })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readDirNamesSync(dirname: PathLike, options?: ReadDirOptions) {\n const fs = getFs()\n try {\n return innerReadDirNames(\n fs.readdirSync(dirname, {\n __proto__: null,\n encoding: 'utf8',\n withFileTypes: true,\n } as ObjectEncodingOptions & { withFileTypes: true }),\n String(dirname),\n options,\n )\n } catch {}\n return []\n}\n\n/**\n * Read a file as binary data asynchronously.\n * Returns a Buffer without encoding the contents.\n * Useful for reading images, archives, or other binary formats.\n *\n * @param filepath - Path to file\n * @param options - Read options (encoding is forced to null for binary)\n * @returns Promise resolving to Buffer containing file contents\n *\n * @example\n * ```ts\n * // Read an image file\n * const imageBuffer = await readFileBinary('./image.png')\n *\n * // Read with abort signal\n * const buffer = await readFileBinary('./data.bin', { signal: abortSignal })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readFileBinary(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n // Don't specify encoding to get a Buffer.\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return await fs.promises.readFile(filepath, {\n signal: abortSignal,\n ...opts,\n encoding: null,\n })\n}\n\n/**\n * Read a file as UTF-8 text asynchronously.\n * Returns a string with the file contents decoded as UTF-8.\n * This is the most common way to read text files.\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding and abort signal\n * @returns Promise resolving to string containing file contents\n *\n * @example\n * ```ts\n * // Read a text file\n * const content = await readFileUtf8('./README.md')\n *\n * // Read with custom encoding\n * const content = await readFileUtf8('./data.txt', { encoding: 'utf-8' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readFileUtf8(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return await fs.promises.readFile(filepath, {\n signal: abortSignal,\n ...opts,\n encoding: 'utf8',\n })\n}\n\n/**\n * Read a file as binary data synchronously.\n * Returns a Buffer without encoding the contents.\n * Useful for reading images, archives, or other binary formats.\n *\n * @param filepath - Path to file\n * @param options - Read options (encoding is forced to null for binary)\n * @returns Buffer containing file contents\n *\n * @example\n * ```ts\n * // Read an image file\n * const imageBuffer = readFileBinarySync('./logo.png')\n *\n * // Read a compressed file\n * const gzipData = readFileBinarySync('./archive.gz')\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readFileBinarySync(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n // Don't specify encoding to get a Buffer\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return fs.readFileSync(filepath, {\n ...opts,\n encoding: null,\n } as ObjectEncodingOptions)\n}\n\n/**\n * Read a file as UTF-8 text synchronously.\n * Returns a string with the file contents decoded as UTF-8.\n * This is the most common way to read text files synchronously.\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding\n * @returns String containing file contents\n *\n * @example\n * ```ts\n * // Read a configuration file\n * const config = readFileUtf8Sync('./config.txt')\n *\n * // Read with custom options\n * const data = readFileUtf8Sync('./data.txt', { encoding: 'utf8' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readFileUtf8Sync(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n return fs.readFileSync(filepath, {\n ...opts,\n encoding: 'utf8',\n } as ObjectEncodingOptions)\n}\n\n/**\n * Read and parse a JSON file asynchronously.\n * Reads the file as UTF-8 text and parses it as JSON.\n * Optionally accepts a reviver function to transform parsed values.\n *\n * @param filepath - Path to JSON file\n * @param options - Read and parse options\n * @returns Promise resolving to parsed JSON value, or undefined if throws is false and an error occurs\n *\n * @example\n * ```ts\n * // Read and parse package.json\n * const pkg = await readJson('./package.json')\n *\n * // Read JSON with custom reviver\n * const data = await readJson('./data.json', {\n * reviver: (key, value) => {\n * if (key === 'date') return new Date(value)\n * return value\n * }\n * })\n *\n * // Don't throw on parse errors\n * const config = await readJson('./config.json', { throws: false })\n * if (config === undefined) {\n * console.log('Failed to parse config')\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function readJson(\n filepath: PathLike,\n options?: ReadJsonOptions | string | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { reviver, throws, ...fsOptions } = {\n __proto__: null,\n ...opts,\n } as unknown as ReadJsonOptions\n const shouldThrow = throws === undefined || !!throws\n const fs = getFs()\n let content = ''\n try {\n content = await fs.promises.readFile(filepath, {\n __proto__: null,\n encoding: 'utf8',\n ...fsOptions,\n } as unknown as Parameters<typeof fs.promises.readFile>[1] & {\n encoding: string\n })\n } catch (e) {\n if (shouldThrow) {\n throw e\n }\n return undefined\n }\n return jsonParse(content, {\n filepath: String(filepath),\n reviver,\n throws: shouldThrow,\n })\n}\n\n/**\n * Read and parse a JSON file synchronously.\n * Reads the file as UTF-8 text and parses it as JSON.\n * Optionally accepts a reviver function to transform parsed values.\n *\n * @param filepath - Path to JSON file\n * @param options - Read and parse options\n * @returns Parsed JSON value, or undefined if throws is false and an error occurs\n *\n * @example\n * ```ts\n * // Read and parse tsconfig.json\n * const tsconfig = readJsonSync('./tsconfig.json')\n *\n * // Read JSON with custom reviver\n * const data = readJsonSync('./data.json', {\n * reviver: (key, value) => {\n * if (typeof value === 'string' && /^\\d{4}-\\d{2}-\\d{2}/.test(value)) {\n * return new Date(value)\n * }\n * return value\n * }\n * })\n *\n * // Don't throw on parse errors\n * const config = readJsonSync('./config.json', { throws: false })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function readJsonSync(\n filepath: PathLike,\n options?: ReadJsonOptions | string | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { reviver, throws, ...fsOptions } = {\n __proto__: null,\n ...opts,\n } as unknown as ReadJsonOptions\n const shouldThrow = throws === undefined || !!throws\n const fs = getFs()\n let content = ''\n try {\n content = fs.readFileSync(filepath, {\n __proto__: null,\n encoding: 'utf8',\n ...fsOptions,\n } as unknown as Parameters<typeof fs.readFileSync>[1] & {\n encoding: string\n })\n } catch (e) {\n if (shouldThrow) {\n throw e\n }\n return undefined\n }\n return jsonParse(content, {\n filepath: String(filepath),\n reviver,\n throws: shouldThrow,\n })\n}\n\n/**\n * Safely delete a file or directory asynchronously with built-in protections.\n * Uses `del` for safer deletion that prevents removing cwd and above by default.\n * Automatically uses force: true for temp directory, cacache, and ~/.socket subdirectories.\n *\n * @param filepath - Path or array of paths to delete (supports glob patterns)\n * @param options - Deletion options including force, retries, and recursion\n * @throws {Error} When attempting to delete protected paths without force option\n *\n * @example\n * ```ts\n * // Delete a single file\n * await safeDelete('./temp-file.txt')\n *\n * // Delete a directory recursively\n * await safeDelete('./build', { recursive: true })\n *\n * // Delete multiple paths\n * await safeDelete(['./dist', './coverage'])\n *\n * // Delete with custom retry settings\n * await safeDelete('./flaky-dir', { maxRetries: 5, retryDelay: 500 })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function safeDelete(\n filepath: PathLike | PathLike[],\n options?: RemoveOptions | undefined,\n) {\n const del = /*@__PURE__*/ require('./external/del')\n const { deleteAsync } = del\n const opts = { __proto__: null, ...options } as RemoveOptions\n const patterns = isArray(filepath)\n ? filepath.map(pathLikeToString)\n : [pathLikeToString(filepath)]\n\n // Check if we're deleting within allowed directories.\n let shouldForce = opts.force !== false\n if (!shouldForce && patterns.length > 0) {\n const os = getOs()\n const path = getPath()\n const {\n getSocketCacacheDir,\n getSocketUserDir,\n } = /*@__PURE__*/ require('./paths')\n\n // Get allowed directories\n const tmpDir = os.tmpdir()\n const resolvedTmpDir = path.resolve(tmpDir)\n const cacacheDir = getSocketCacacheDir()\n const resolvedCacacheDir = path.resolve(cacacheDir)\n const socketUserDir = getSocketUserDir()\n const resolvedSocketUserDir = path.resolve(socketUserDir)\n\n // Check if all patterns are within allowed directories.\n const allInAllowedDirs = patterns.every(pattern => {\n const resolvedPath = path.resolve(pattern)\n\n // Check each allowed directory\n for (const allowedDir of [\n resolvedTmpDir,\n resolvedCacacheDir,\n resolvedSocketUserDir,\n ]) {\n const isInAllowedDir =\n resolvedPath.startsWith(allowedDir + path.sep) ||\n resolvedPath === allowedDir\n const relativePath = path.relative(allowedDir, resolvedPath)\n const isGoingBackward = relativePath.startsWith('..')\n\n if (isInAllowedDir && !isGoingBackward) {\n return true\n }\n }\n\n return false\n })\n\n if (allInAllowedDirs) {\n shouldForce = true\n }\n }\n\n await deleteAsync(patterns, {\n concurrency: opts.maxRetries || defaultRemoveOptions.maxRetries,\n dryRun: false,\n force: shouldForce,\n onlyFiles: false,\n })\n}\n\n/**\n * Safely delete a file or directory synchronously with built-in protections.\n * Uses `del` for safer deletion that prevents removing cwd and above by default.\n * Automatically uses force: true for temp directory, cacache, and ~/.socket subdirectories.\n *\n * @param filepath - Path or array of paths to delete (supports glob patterns)\n * @param options - Deletion options including force, retries, and recursion\n * @throws {Error} When attempting to delete protected paths without force option\n *\n * @example\n * ```ts\n * // Delete a single file\n * safeDeleteSync('./temp-file.txt')\n *\n * // Delete a directory recursively\n * safeDeleteSync('./build', { recursive: true })\n *\n * // Delete multiple paths with globs\n * safeDeleteSync(['./dist/**', './coverage/**'])\n *\n * // Force delete a protected path (use with caution)\n * safeDeleteSync('./important', { force: true })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function safeDeleteSync(\n filepath: PathLike | PathLike[],\n options?: RemoveOptions | undefined,\n) {\n const del = /*@__PURE__*/ require('./external/del')\n const { deleteSync } = del\n const opts = { __proto__: null, ...options } as RemoveOptions\n const patterns = isArray(filepath)\n ? filepath.map(pathLikeToString)\n : [pathLikeToString(filepath)]\n\n // Check if we're deleting within allowed directories.\n let shouldForce = opts.force !== false\n if (!shouldForce && patterns.length > 0) {\n const os = getOs()\n const path = getPath()\n const {\n getSocketCacacheDir,\n getSocketUserDir,\n } = /*@__PURE__*/ require('./paths')\n\n // Get allowed directories\n const tmpDir = os.tmpdir()\n const resolvedTmpDir = path.resolve(tmpDir)\n const cacacheDir = getSocketCacacheDir()\n const resolvedCacacheDir = path.resolve(cacacheDir)\n const socketUserDir = getSocketUserDir()\n const resolvedSocketUserDir = path.resolve(socketUserDir)\n\n // Check if all patterns are within allowed directories.\n const allInAllowedDirs = patterns.every(pattern => {\n const resolvedPath = path.resolve(pattern)\n\n // Check each allowed directory\n for (const allowedDir of [\n resolvedTmpDir,\n resolvedCacacheDir,\n resolvedSocketUserDir,\n ]) {\n const isInAllowedDir =\n resolvedPath.startsWith(allowedDir + path.sep) ||\n resolvedPath === allowedDir\n const relativePath = path.relative(allowedDir, resolvedPath)\n const isGoingBackward = relativePath.startsWith('..')\n\n if (isInAllowedDir && !isGoingBackward) {\n return true\n }\n }\n\n return false\n })\n\n if (allInAllowedDirs) {\n shouldForce = true\n }\n }\n\n deleteSync(patterns, {\n concurrency: opts.maxRetries || defaultRemoveOptions.maxRetries,\n dryRun: false,\n force: shouldForce,\n onlyFiles: false,\n })\n}\n\n/**\n * Safely read a file asynchronously, returning undefined on error.\n * Useful when you want to attempt reading a file without handling errors explicitly.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding and default value\n * @returns Promise resolving to file contents, or undefined on error\n *\n * @example\n * ```ts\n * // Try to read a file, get undefined if it doesn't exist\n * const content = await safeReadFile('./optional-config.txt')\n * if (content) {\n * console.log('Config found:', content)\n * }\n *\n * // Read with specific encoding\n * const data = await safeReadFile('./data.txt', { encoding: 'utf8' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function safeReadFile(\n filepath: PathLike,\n options?: SafeReadOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n try {\n return await fs.promises.readFile(filepath, {\n signal: abortSignal,\n ...opts,\n } as Abortable)\n } catch {}\n return undefined\n}\n\n/**\n * Safely get file stats asynchronously, returning undefined on error.\n * Useful for checking file existence and properties without error handling.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to check\n * @returns Promise resolving to Stats object, or undefined on error\n *\n * @example\n * ```ts\n * // Check if file exists and get its stats\n * const stats = await safeStats('./file.txt')\n * if (stats) {\n * console.log('File size:', stats.size)\n * console.log('Modified:', stats.mtime)\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function safeStats(filepath: PathLike) {\n const fs = getFs()\n try {\n return await fs.promises.stat(filepath)\n } catch {}\n return undefined\n}\n\n/**\n * Safely get file stats synchronously, returning undefined on error.\n * Useful for checking file existence and properties without error handling.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to check\n * @param options - Read options (currently unused but kept for API consistency)\n * @returns Stats object, or undefined on error\n *\n * @example\n * ```ts\n * // Check if file exists and get its size\n * const stats = safeStatsSync('./file.txt')\n * if (stats) {\n * console.log('File size:', stats.size)\n * console.log('Is directory:', stats.isDirectory())\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function safeStatsSync(\n filepath: PathLike,\n options?: ReadFileOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n try {\n return fs.statSync(filepath, {\n __proto__: null,\n throwIfNoEntry: false,\n ...opts,\n } as StatSyncOptions)\n } catch {}\n return undefined\n}\n\n/**\n * Safely read a file synchronously, returning undefined on error.\n * Useful when you want to attempt reading a file without handling errors explicitly.\n * Returns undefined for any error (file not found, permission denied, etc.).\n *\n * @param filepath - Path to file\n * @param options - Read options including encoding and default value\n * @returns File contents, or undefined on error\n *\n * @example\n * ```ts\n * // Try to read a config file\n * const config = safeReadFileSync('./config.txt')\n * if (config) {\n * console.log('Config loaded successfully')\n * }\n *\n * // Read binary file safely\n * const buffer = safeReadFileSync('./image.png', { encoding: null })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function safeReadFileSync(\n filepath: PathLike,\n options?: SafeReadOptions | undefined,\n) {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const fs = getFs()\n try {\n return fs.readFileSync(filepath, {\n __proto__: null,\n ...opts,\n } as ObjectEncodingOptions)\n } catch {}\n return undefined\n}\n\n/**\n * Generate a unique filepath by adding number suffix if the path exists.\n * Appends `-1`, `-2`, etc. before the file extension until a non-existent path is found.\n * Useful for creating files without overwriting existing ones.\n *\n * @param filepath - Desired file path\n * @returns Normalized unique filepath (original if it doesn't exist, or with number suffix)\n *\n * @example\n * ```ts\n * // If 'report.pdf' exists, returns 'report-1.pdf'\n * const uniquePath = uniqueSync('./report.pdf')\n *\n * // If 'data.json' and 'data-1.json' exist, returns 'data-2.json'\n * const path = uniqueSync('./data.json')\n *\n * // If 'backup' doesn't exist, returns 'backup' unchanged\n * const backupPath = uniqueSync('./backup')\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function uniqueSync(filepath: PathLike): string {\n const fs = getFs()\n const path = getPath()\n const filepathStr = String(filepath)\n\n // If the file doesn't exist, return as is\n if (!fs.existsSync(filepathStr)) {\n return normalizePath(filepathStr)\n }\n\n const dirname = path.dirname(filepathStr)\n const ext = path.extname(filepathStr)\n const basename = path.basename(filepathStr, ext)\n\n let counter = 1\n let uniquePath: string\n do {\n uniquePath = path.join(dirname, `${basename}-${counter}${ext}`)\n counter++\n } while (fs.existsSync(uniquePath))\n\n return normalizePath(uniquePath)\n}\n\n/**\n * Write JSON content to a file asynchronously with formatting.\n * Stringifies the value with configurable indentation and line endings.\n * Automatically adds a final newline by default for POSIX compliance.\n *\n * @param filepath - Path to write to\n * @param jsonContent - Value to stringify and write\n * @param options - Write options including formatting and encoding\n * @returns Promise that resolves when write completes\n *\n * @example\n * ```ts\n * // Write formatted JSON with default 2-space indentation\n * await writeJson('./data.json', { name: 'example', version: '1.0.0' })\n *\n * // Write with custom indentation\n * await writeJson('./config.json', config, { spaces: 4 })\n *\n * // Write with tabs instead of spaces\n * await writeJson('./data.json', data, { spaces: '\\t' })\n *\n * // Write without final newline\n * await writeJson('./inline.json', obj, { finalEOL: false })\n *\n * // Write with Windows line endings\n * await writeJson('./win.json', data, { EOL: '\\r\\n' })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport async function writeJson(\n filepath: PathLike,\n jsonContent: unknown,\n options?: WriteJsonOptions | string,\n): Promise<void> {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { EOL, finalEOL, replacer, spaces, ...fsOptions } = {\n __proto__: null,\n ...opts,\n } as WriteJsonOptions\n const fs = getFs()\n const jsonString = stringify(\n jsonContent,\n EOL || '\\n',\n finalEOL !== undefined ? finalEOL : true,\n replacer,\n spaces,\n )\n await fs.promises.writeFile(filepath, jsonString, {\n encoding: 'utf8',\n ...fsOptions,\n __proto__: null,\n } as ObjectEncodingOptions)\n}\n\n/**\n * Write JSON content to a file synchronously with formatting.\n * Stringifies the value with configurable indentation and line endings.\n * Automatically adds a final newline by default for POSIX compliance.\n *\n * @param filepath - Path to write to\n * @param jsonContent - Value to stringify and write\n * @param options - Write options including formatting and encoding\n *\n * @example\n * ```ts\n * // Write formatted JSON with default 2-space indentation\n * writeJsonSync('./package.json', pkg)\n *\n * // Write with custom indentation\n * writeJsonSync('./tsconfig.json', tsconfig, { spaces: 4 })\n *\n * // Write with tabs for indentation\n * writeJsonSync('./data.json', data, { spaces: '\\t' })\n *\n * // Write compacted (no indentation)\n * writeJsonSync('./compact.json', data, { spaces: 0 })\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function writeJsonSync(\n filepath: PathLike,\n jsonContent: unknown,\n options?: WriteJsonOptions | string | undefined,\n): void {\n const opts = typeof options === 'string' ? { encoding: options } : options\n const { EOL, finalEOL, replacer, spaces, ...fsOptions } = {\n __proto__: null,\n ...opts,\n }\n const fs = getFs()\n const jsonString = stringify(\n jsonContent,\n EOL || '\\n',\n finalEOL !== undefined ? finalEOL : true,\n replacer,\n spaces,\n )\n fs.writeFileSync(filepath, jsonString, {\n encoding: 'utf8',\n ...fsOptions,\n __proto__: null,\n } as WriteFileOptions)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@socketsecurity/lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Core utilities and infrastructure for Socket.dev security tools",
|
|
6
6
|
"keywords": [
|
|
@@ -699,7 +699,6 @@
|
|
|
699
699
|
"./biome.json": "./biome.json",
|
|
700
700
|
"./data/extensions.json": "./data/extensions.json",
|
|
701
701
|
"./package.json": "./package.json",
|
|
702
|
-
"./taze.config.json": "./taze.config.json",
|
|
703
702
|
"./tsconfig.dts.json": "./tsconfig.dts.json",
|
|
704
703
|
"./tsconfig.json": "./tsconfig.json",
|
|
705
704
|
"./tsconfig.test.json": "./tsconfig.test.json"
|