@kumori/kdsl 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/deployment_spec.d.ts +21095 -0
- package/dist/build/deployment_spec.js +292 -0
- package/dist/build/deployment_spec.js.map +1 -0
- package/dist/build/helpers/builtin.d.ts +17 -0
- package/dist/build/helpers/builtin.js +82 -0
- package/dist/build/helpers/builtin.js.map +1 -0
- package/dist/build/helpers/component.d.ts +17 -0
- package/dist/build/helpers/component.js +212 -0
- package/dist/build/helpers/component.js.map +1 -0
- package/dist/build/helpers/connector.d.ts +13 -0
- package/dist/build/helpers/connector.js +190 -0
- package/dist/build/helpers/connector.js.map +1 -0
- package/dist/build/helpers/deployment.d.ts +326 -0
- package/dist/build/helpers/deployment.js +86 -0
- package/dist/build/helpers/deployment.js.map +1 -0
- package/dist/build/helpers/resource.d.ts +97 -0
- package/dist/build/helpers/resource.js +54 -0
- package/dist/build/helpers/resource.js.map +1 -0
- package/dist/build/helpers/service.d.ts +27 -0
- package/dist/build/helpers/service.js +199 -0
- package/dist/build/helpers/service.js.map +1 -0
- package/dist/build/helpers/utils.d.ts +22 -0
- package/dist/build/helpers/utils.js +55 -0
- package/dist/build/helpers/utils.js.map +1 -0
- package/dist/build/main.d.ts +17 -0
- package/dist/build/main.js +139 -0
- package/dist/build/main.js.map +1 -0
- package/dist/build/solution.d.ts +20 -0
- package/dist/build/solution.js +72 -0
- package/dist/build/solution.js.map +1 -0
- package/dist/check/main.d.ts +21 -0
- package/dist/check/main.js +99 -0
- package/dist/check/main.js.map +1 -0
- package/dist/clean/main.d.ts +11 -0
- package/dist/clean/main.js +26 -0
- package/dist/clean/main.js.map +1 -0
- package/dist/help/main.d.ts +13 -0
- package/dist/help/main.js +49 -0
- package/dist/help/main.js.map +1 -0
- package/dist/help/topic/build.d.ts +2 -0
- package/dist/help/topic/build.js +7 -0
- package/dist/help/topic/build.js.map +1 -0
- package/dist/help/topic/mod_dep.d.ts +2 -0
- package/dist/help/topic/mod_dep.js +8 -0
- package/dist/help/topic/mod_dep.js.map +1 -0
- package/dist/help/topic/mod_dl.d.ts +2 -0
- package/dist/help/topic/mod_dl.js +25 -0
- package/dist/help/topic/mod_dl.js.map +1 -0
- package/dist/index/create/main.d.ts +14 -0
- package/dist/index/create/main.js +264 -0
- package/dist/index/create/main.js.map +1 -0
- package/dist/index/main.d.ts +8 -0
- package/dist/index/main.js +17 -0
- package/dist/index/main.js.map +1 -0
- package/dist/lib/build.d.ts +42 -0
- package/dist/lib/build.js +28 -0
- package/dist/lib/build.js.map +1 -0
- package/dist/lib/check.d.ts +41 -0
- package/dist/lib/check.js +15 -0
- package/dist/lib/check.js.map +1 -0
- package/dist/lib/clean.d.ts +31 -0
- package/dist/lib/clean.js +1 -0
- package/dist/lib/clean.js.map +1 -0
- package/dist/lib/index-cmd.d.ts +54 -0
- package/dist/lib/index-cmd.js +57 -0
- package/dist/lib/index-cmd.js.map +1 -0
- package/dist/lib/index.d.ts +56 -0
- package/dist/lib/index.js +117 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/io/lib.kumori +5 -0
- package/dist/lib/kumori/builtin/httpinbound.h.kumori +27 -0
- package/dist/lib/kumori/builtin/tcpinbound.h.kumori +25 -0
- package/dist/lib/kumori/builtin.kumori +18 -0
- package/dist/lib/kumori/component.kumori +120 -0
- package/dist/lib/kumori/deployment.kumori +16 -0
- package/dist/lib/kumori/resource.kumori +25 -0
- package/dist/lib/kumori/service.kumori +49 -0
- package/dist/lib/kumori/shared.kumori +11 -0
- package/dist/lib/kumori/sized.kumori +25 -0
- package/dist/lib/logger.d.ts +10 -0
- package/dist/lib/logger.js +23 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/mod.d.ts +156 -0
- package/dist/lib/mod.js +70 -0
- package/dist/lib/mod.js.map +1 -0
- package/dist/lib/registry.d.ts +61 -0
- package/dist/lib/registry.js +1 -0
- package/dist/lib/registry.js.map +1 -0
- package/dist/lib/sized.kumori +8 -0
- package/dist/lib/std.kumori +8 -0
- package/dist/lib/strconv/lib.kumori +11 -0
- package/dist/lib/types.d.ts +26 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +35 -0
- package/dist/main.js.map +1 -0
- package/dist/mod/checksum/main.d.ts +11 -0
- package/dist/mod/checksum/main.js +33 -0
- package/dist/mod/checksum/main.js.map +1 -0
- package/dist/mod/dependency/main.d.ts +19 -0
- package/dist/mod/dependency/main.js +156 -0
- package/dist/mod/dependency/main.js.map +1 -0
- package/dist/mod/download/functions.d.ts +53 -0
- package/dist/mod/download/functions.js +235 -0
- package/dist/mod/download/functions.js.map +1 -0
- package/dist/mod/download/main.d.ts +26 -0
- package/dist/mod/download/main.js +89 -0
- package/dist/mod/download/main.js.map +1 -0
- package/dist/mod/init/main.d.ts +13 -0
- package/dist/mod/init/main.js +66 -0
- package/dist/mod/init/main.js.map +1 -0
- package/dist/mod/jsonschema/gen/main.d.ts +11 -0
- package/dist/mod/jsonschema/gen/main.js +281 -0
- package/dist/mod/jsonschema/gen/main.js.map +1 -0
- package/dist/mod/jsonschema/get/kdslschema.d.ts +28 -0
- package/dist/mod/jsonschema/get/kdslschema.js +3 -0
- package/dist/mod/jsonschema/get/kdslschema.js.map +1 -0
- package/dist/mod/jsonschema/get/main.d.ts +76 -0
- package/dist/mod/jsonschema/get/main.js +338 -0
- package/dist/mod/jsonschema/get/main.js.map +1 -0
- package/dist/mod/jsonschema/main.d.ts +8 -0
- package/dist/mod/jsonschema/main.js +20 -0
- package/dist/mod/jsonschema/main.js.map +1 -0
- package/dist/mod/main.d.ts +8 -0
- package/dist/mod/main.js +27 -0
- package/dist/mod/main.js.map +1 -0
- package/dist/mod/update/main.d.ts +17 -0
- package/dist/mod/update/main.js +69 -0
- package/dist/mod/update/main.js.map +1 -0
- package/dist/registry/add.d.ts +15 -0
- package/dist/registry/add.js +53 -0
- package/dist/registry/add.js.map +1 -0
- package/dist/registry/list.d.ts +15 -0
- package/dist/registry/list.js +29 -0
- package/dist/registry/list.js.map +1 -0
- package/dist/registry/main.d.ts +8 -0
- package/dist/registry/main.js +21 -0
- package/dist/registry/main.js.map +1 -0
- package/dist/registry/remove.d.ts +15 -0
- package/dist/registry/remove.js +34 -0
- package/dist/registry/remove.js.map +1 -0
- package/dist/util/err-format.d.ts +2 -0
- package/dist/util/err-format.js +11 -0
- package/dist/util/err-format.js.map +1 -0
- package/dist/util/err-handler.d.ts +3 -0
- package/dist/util/err-handler.js +11 -0
- package/dist/util/err-handler.js.map +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.js +2 -0
- package/dist/util.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/out/lib/build.cjs +29 -0
- package/out/lib/check.cjs +16 -0
- package/out/lib/clean.cjs +2 -0
- package/out/lib/index-cmd.cjs +58 -0
- package/out/lib/index.cjs +118 -0
- package/out/lib/mod.cjs +71 -0
- package/out/lib/registry.cjs +2 -0
- package/out/main.cjs +172 -172
- package/package.json +50 -6
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const __importMetaUrl = require('url').pathToFileURL(__filename).href;
|
|
2
|
+
"use strict";var zu=Object.create;var Ee=Object.defineProperty,Ju=Object.defineProperties,Yu=Object.getOwnPropertyDescriptor,Qu=Object.getOwnPropertyDescriptors,Zu=Object.getOwnPropertyNames,jt=Object.getOwnPropertySymbols,Xu=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable;var Kt=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e);var it=(e,t,r)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,p=(e,t)=>{for(var r in t||(t={}))Vt.call(t,r)&&it(e,r,t[r]);if(jt)for(var r of jt(t))eo.call(t,r)&&it(e,r,t[r]);return e},P=(e,t)=>Ju(e,Qu(t));var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var nt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),qt=(e,t)=>{for(var r in t)Ee(e,r,{get:t[r],enumerable:!0})},Wt=(e,t,r,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zu(t))!Vt.call(e,o)&&o!==r&&Ee(e,o,{get:()=>t[o],enumerable:!(u=Yu(t,o))||u.enumerable});return e};var q=(e,t,r)=>(r=e!=null?zu(Xu(e)):{},Wt(t||!e||!e.__esModule?Ee(r,"default",{value:e,enumerable:!0}):r,e)),to=e=>Wt(Ee({},"__esModule",{value:!0}),e);var C=(e,t,r)=>(it(e,typeof t!="symbol"?t+"":t,r),r),st=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var m=(e,t,r)=>(st(e,t,"read from private field"),r?r.call(e):t.get(e)),R=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},W=(e,t,r,u)=>(st(e,t,"write to private field"),u?u.call(e,r):t.set(e,r),r);var V=(e,t,r)=>(st(e,t,"access private method"),r);var Gt=(e,t,r)=>{if(t!=null){if(typeof t!="object"&&typeof t!="function")throw TypeError("Object expected");var u;if(r&&(u=t[Kt("asyncDispose")]),u===void 0&&(u=t[Kt("dispose")]),typeof u!="function")throw TypeError("Object not disposable");e.push([r,u,t])}else r&&e.push([r]);return t},Ht=(e,t,r)=>{var u=typeof SuppressedError=="function"?SuppressedError:function(i,s,a,D){return D=Error(a),D.name="SuppressedError",D.error=i,D.suppressed=s,D},o=i=>t=r?new u(i,t,"An error was suppressed during disposal"):(r=!0,i),n=i=>{for(;i=e.pop();)try{var s=i[1]&&i[1].call(i[2]);if(i[0])return Promise.resolve(s).then(n,a=>(o(a),n()))}catch(a){o(a)}if(r)throw t};return n()};var at,we,xe,tr=E(()=>{at=e=>e.name==="backspace",we=e=>e.name==="tab",xe=e=>e.name==="enter"||e.name==="return"});var ke,_e,be,Oe,$e,Ie=E(()=>{ke=class extends Error{constructor(r){super();C(this,"name","AbortPromptError");C(this,"message","Prompt was aborted");this.cause=r==null?void 0:r.cause}},_e=class extends Error{constructor(){super(...arguments);C(this,"name","CancelPromptError");C(this,"message","Prompt was canceled")}},be=class extends Error{constructor(){super(...arguments);C(this,"name","ExitPromptError")}},Oe=class extends Error{constructor(){super(...arguments);C(this,"name","HookError")}},$e=class extends Error{constructor(){super(...arguments);C(this,"name","ValidationError")}}});function oo(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function ur(e,t){let r=oo(e);return rr.run(r,()=>{function u(o){r.handleChange=()=>{r.index=0,o()},r.handleChange()}return t(u)})}function Z(){let e=rr.getStore();if(!e)throw new Oe("[Inquirer] Hook functions can only be called from within a prompt");return e}function Dt(){return Z().rl}function lt(e){let t=(...r)=>{let u=Z(),o=!1,n=u.handleChange;u.handleChange=()=>{o=!0};let i=e(...r);return o&&n(),u.handleChange=n,i};return Ue.AsyncResource.bind(t)}function Ne(e){let t=Z(),{index:r}=t,u={get(){return t.hooks[r]},set(n){t.hooks[r]=n},initialized:r in t.hooks},o=e(u);return t.index++,o}function or(){Z().handleChange()}var Ue,rr,X,se=E(()=>{Ue=require("async_hooks");Ie();rr=new Ue.AsyncLocalStorage;X={queue(e){let t=Z(),{index:r}=t;t.hooksEffect.push(()=>{var o,n;(n=(o=t.hooksCleanup)[r])==null||n.call(o);let u=e(Dt());if(u!=null&&typeof u!="function")throw new $e("useEffect return value must be a cleanup function or nothing.");t.hooksCleanup[r]=u})},run(){let e=Z();lt(()=>{e.hooksEffect.forEach(t=>{t()}),e.hooksEffect.length=0})()},clearAll(){let e=Z();e.hooksCleanup.forEach(t=>{t==null||t()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}}});function _(e){return Ne(t=>{let r=ir.AsyncResource.bind(function(n){t.get()!==n&&(t.set(n),or())});if(t.initialized)return[t.get(),r];let u=typeof e=="function"?e():e;return t.set(u),[u,r]})}var ir,je=E(()=>{ir=require("async_hooks");se()});function ee(e,t){Ne(r=>{let u=r.get();(!Array.isArray(u)||t.some((n,i)=>!Object.is(n,u[i])))&&X.queue(e),r.set(t)})}var Ke=E(()=>{se()});function io(){return N.default.platform!=="win32"?N.default.env.TERM!=="linux":!!N.default.env.WT_SESSION||!!N.default.env.TERMINUS_SUBLIME||N.default.env.ConEmuTask==="{cmd::Cmder}"||N.default.env.TERM_PROGRAM==="Terminus-Sublime"||N.default.env.TERM_PROGRAM==="vscode"||N.default.env.TERM==="xterm-256color"||N.default.env.TERM==="alacritty"||N.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var N,nr,sr,no,so,ao,Do,lo,ar,ji,Dr=E(()=>{N=q(require("process"),1);nr={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},sr={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},no={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},so=p(p({},nr),sr),ao=p(p({},nr),no),Do=io(),lo=Do?so:ao,ar=lo,ji=Object.entries(sr)});var I,lr,cr=E(()=>{I=require("util");Dr();lr={prefix:{idle:(0,I.styleText)("blue","?"),done:(0,I.styleText)("green",ar.tick)},spinner:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(e=>(0,I.styleText)("yellow",e))},style:{answer:e=>(0,I.styleText)("cyan",e),message:e=>(0,I.styleText)("bold",e),error:e=>(0,I.styleText)("red",`> ${e}`),defaultAnswer:e=>(0,I.styleText)("dim",`(${e})`),help:e=>(0,I.styleText)("dim",e),highlight:e=>(0,I.styleText)("cyan",e),key:e=>(0,I.styleText)("cyan",(0,I.styleText)("bold",`<${e}>`))}}});function Fr(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function dr(...e){let t={};for(let r of e)for(let[u,o]of Object.entries(r)){let n=t[u];t[u]=Fr(n)&&Fr(o)?dr(n,o):o}return t}function te(...e){let t=[lr,...e.filter(r=>r!=null)];return dr(...t)}var ct=E(()=>{cr()});function Le({status:e="idle",theme:t}){var D;let[r,u]=_(!1),[o,n]=_(0),{prefix:i,spinner:s}=te(t);return ee(()=>{if(e==="loading"){let c,l=-1,h=setTimeout(()=>{u(!0),c=setInterval(()=>{l=l+1,n(l%s.frames.length)},s.interval)},300);return()=>{clearTimeout(h),clearInterval(c)}}else u(!1)},[e]),r?s.frames[o]:typeof i=="string"?i:(D=i[e==="loading"?"idle":e])!=null?D:i.idle}var fr=E(()=>{je();Ke();ct()});function hr(e){return _({current:e})[0]}var mr=E(()=>{je()});function ye(e){let t=hr(e);t.current=e,ee(r=>{let u=!1,o=lt((n,i)=>{u||t.current(i,r)});return r.input.on("keypress",o),()=>{u=!0,r.input.removeListener("keypress",o)}},[])}var gr=E(()=>{mr();Ke();se()});var Cr=nt((on,pr)=>{"use strict";pr.exports=Fo;function co(e){let t={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(t).forEach(function(r){e[r]||(e[r]=t[r])}),e):t}function Fo(e){let t=co(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let r=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(r)&&r!==0)return r}return t.defaultWidth}});function Ft({onlyFirst:e=!1}={}){let o="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(o,e?void 0:"g")}var Er=E(()=>{});function Ae(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(fo,"")}var fo,dt=E(()=>{Er();fo=Ft()});function Br(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function wr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function xr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var br=E(()=>{});function ho(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Lr(e,{ambiguousAsWide:t=!1}={}){return ho(e),wr(e)||xr(e)||t&&Br(e)?2:1}var yr=E(()=>{br()});var vr=nt((dn,Ar)=>{Ar.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});function re(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:u=!1}=t;if(u||(e=Ae(e)),e.length===0)return 0;let o=0,n={ambiguousAsWide:!r};for(let{segment:i}of mo.segment(e)){let s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159)&&!(s>=8203&&s<=8207||s===65279)&&!(s>=768&&s<=879||s>=6832&&s<=6911||s>=7616&&s<=7679||s>=8400&&s<=8447||s>=65056&&s<=65071)&&!(s>=55296&&s<=57343)&&!(s>=65024&&s<=65039)&&!go.test(i)){if((0,Sr.default)().test(i)){o+=2;continue}o+=Lr(s,n)}}return o}var Sr,mo,go,Mr=E(()=>{dt();yr();Sr=q(vr(),1),mo=new Intl.Segmenter,go=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u")});function Eo(){let e=new Map;for(let[t,r]of Object.entries(L)){for(let[u,o]of Object.entries(r))L[u]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[u]=L[u],e.set(o[0],o[1]);Object.defineProperty(L,t,{value:r,enumerable:!1})}return Object.defineProperty(L,"codes",{value:e,enumerable:!1}),L.color.close="\x1B[39m",L.bgColor.close="\x1B[49m",L.color.ansi=Tr(),L.color.ansi256=Pr(),L.color.ansi16m=Rr(),L.bgColor.ansi=Tr(10),L.bgColor.ansi256=Pr(10),L.bgColor.ansi16m=Rr(10),Object.defineProperties(L,{rgbToAnsi256:{value(t,r,u){return t===r&&r===u?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(u/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[u]=r;u.length===3&&(u=[...u].map(n=>n+n).join(""));let o=Number.parseInt(u,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:t=>L.rgbToAnsi256(...L.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,u,o;if(t>=232)r=((t-232)*10+8)/255,u=r,o=r;else{t-=16;let s=t%36;r=Math.floor(t/36)/5,u=Math.floor(s/6)/5,o=s%6/5}let n=Math.max(r,u,o)*2;if(n===0)return 30;let i=30+(Math.round(o)<<2|Math.round(u)<<1|Math.round(r));return n===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(t,r,u)=>L.ansi256ToAnsi(L.rgbToAnsi256(t,r,u)),enumerable:!1},hexToAnsi:{value:t=>L.ansi256ToAnsi(L.hexToAnsi256(t)),enumerable:!1}}),L}var Tr,Pr,Rr,L,gn,po,Co,pn,Bo,kr,_r=E(()=>{Tr=(e=0)=>t=>`\x1B[${t+e}m`,Pr=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Rr=(e=0)=>(t,r,u)=>`\x1B[${38+e};2;${t};${r};${u}m`,L={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},gn=Object.keys(L.modifier),po=Object.keys(L.color),Co=Object.keys(L.bgColor),pn=[...po,...Co];Bo=Eo(),kr=Bo});function mt(e,t,r){return String(e).normalize().replaceAll(`\r
|
|
3
|
+
`,`
|
|
4
|
+
`).split(`
|
|
5
|
+
`).map(u=>yo(u,t,r)).join(`
|
|
6
|
+
`)}var qe,wo,ht,Ir,xo,Ur,Ve,Or,$r,bo,ft,Lo,yo,Nr=E(()=>{Mr();dt();_r();qe=new Set(["\x1B","\x9B"]),wo=39,ht="\x07",Ir="[",xo="]",Ur="m",Ve=`${xo}8;;`,Or=e=>`${qe.values().next().value}${Ir}${e}${Ur}`,$r=e=>`${qe.values().next().value}${Ve}${e}${ht}`,bo=e=>e.split(" ").map(t=>re(t)),ft=(e,t,r)=>{let u=[...t],o=!1,n=!1,i=re(Ae(e.at(-1)));for(let[s,a]of u.entries()){let D=re(a);if(i+D<=r?e[e.length-1]+=a:(e.push(a),i=0),qe.has(a)&&(o=!0,n=u.slice(s+1,s+1+Ve.length).join("")===Ve),o){n?a===ht&&(o=!1,n=!1):a===Ur&&(o=!1);continue}i+=D,i===r&&s<u.length-1&&(e.push(""),i=0)}!i&&e.at(-1).length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Lo=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(re(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},yo=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let u="",o,n,i=bo(e),s=[""];for(let[l,h]of e.split(" ").entries()){r.trim!==!1&&(s[s.length-1]=s.at(-1).trimStart());let f=re(s.at(-1));if(l!==0&&(f>=t&&(r.wordWrap===!1||r.trim===!1)&&(s.push(""),f=0),(f>0||r.trim===!1)&&(s[s.length-1]+=" ",f++)),r.hard&&i[l]>t){let d=t-f,F=1+Math.floor((i[l]-d-1)/t);Math.floor((i[l]-1)/t)<F&&s.push(""),ft(s,h,t);continue}if(f+i[l]>t&&f>0&&i[l]>0){if(r.wordWrap===!1&&f<t){ft(s,h,t);continue}s.push("")}if(f+i[l]>t&&r.wordWrap===!1){ft(s,h,t);continue}s[s.length-1]+=h}r.trim!==!1&&(s=s.map(l=>Lo(l)));let a=s.join(`
|
|
7
|
+
`),D=[...a],c=0;for(let[l,h]of D.entries()){if(u+=h,qe.has(h)){let{groups:d}=new RegExp(`(?:\\${Ir}(?<code>\\d+)m|\\${Ve}(?<uri>.*)${ht})`).exec(a.slice(c))||{groups:{}};if(d.code!==void 0){let F=Number.parseFloat(d.code);o=F===wo?void 0:F}else d.uri!==void 0&&(n=d.uri.length===0?void 0:d.uri)}let f=kr.codes.get(Number(o));D[l+1]===`
|
|
8
|
+
`?(n&&(u+=$r("")),o&&f&&(u+=Or(f))):h===`
|
|
9
|
+
`&&(o&&f&&(u+=Or(o)),n&&(u+=$r(n))),c+=h.length}return u}});function gt(e,t){return e.split(`
|
|
10
|
+
`).flatMap(r=>mt(r,t,{trim:!1,hard:!0}).split(`
|
|
11
|
+
`).map(u=>u.trimEnd())).join(`
|
|
12
|
+
`)}function Kr(){return(0,jr.default)({defaultWidth:80,output:Dt().output})}var jr,Vr=E(()=>{jr=q(Cr(),1);Nr();se()});var Wr=nt((An,qr)=>{var Ao=require("stream"),ae,De,We,le,Ge,pt=class extends Ao{constructor(r={}){super(r);R(this,De);R(this,le);R(this,ae,null);this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=r.replace,this._prompt=r.prompt||null,this._hadControl=!1}get isTTY(){return m(this,ae)!==null?m(this,ae):V(this,De,We).call(this,"isTTY",!1)}set isTTY(r){W(this,ae,r)}get rows(){return V(this,De,We).call(this,"rows")}get columns(){return V(this,De,We).call(this,"columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(r){this._src=r}pipe(r,u){return this._dest=r,super.pipe(r,u)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(r){if(this.muted){if(!this.replace)return!0;if(r.match(/^\u001b/))return r.indexOf(this._prompt)===0&&(r=r.slice(this._prompt.length),r=r.replace(/./g,this.replace),r=this._prompt+r),this._hadControl=!0,this.emit("data",r);this._prompt&&this._hadControl&&r.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),r=r.slice(this._prompt.length)),r=r.toString().replace(/./g,this.replace)}this.emit("data",r)}end(r){this.muted&&(r&&this.replace?r=r.toString().replace(/./g,this.replace):r=null),r&&this.emit("data",r),this.emit("end")}destroy(...r){return V(this,le,Ge).call(this,"destroy",...r)}destroySoon(...r){return V(this,le,Ge).call(this,"destroySoon",...r)}close(...r){return V(this,le,Ge).call(this,"close",...r)}};ae=new WeakMap,De=new WeakSet,We=function(r,u){return this._dest?this._dest[r]:this._src?this._src[r]:u},le=new WeakSet,Ge=function(r,...u){var o,n;typeof((o=this._dest)==null?void 0:o[r])=="function"&&this._dest[r](...u),typeof((n=this._src)==null?void 0:n[r])=="function"&&this._src[r](...u)};qr.exports=pt});var ue,Gr=E(()=>{ue=[];ue.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&ue.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&ue.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var He,Ct,Et,vo,Bt,ze,So,wt,Je,$,A,ce,Fe,oe,z,Ye,Hr,Qe,zr,xt,bt,Jr,Tn,Pn,Yr=E(()=>{Gr();He=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",Ct=Symbol.for("signal-exit emitter"),Et=globalThis,vo=Object.defineProperty.bind(Object),Bt=class{constructor(){C(this,"emitted",{afterExit:!1,exit:!1});C(this,"listeners",{afterExit:[],exit:[]});C(this,"count",0);C(this,"id",Math.random());if(Et[Ct])return Et[Ct];vo(Et,Ct,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let u=this.listeners[t],o=u.indexOf(r);o!==-1&&(o===0&&u.length===1?u.length=0:u.splice(o,1))}emit(t,r,u){if(this.emitted[t])return!1;this.emitted[t]=!0;let o=!1;for(let n of this.listeners[t])o=n(r,u)===!0||o;return t==="exit"&&(o=this.emit("afterExit",r,u)||o),o}},ze=class{},So=e=>({onExit(t,r){return e.onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),wt=class extends ze{onExit(){return()=>{}}load(){}unload(){}},xt=class extends ze{constructor(r){super();R(this,Ye);R(this,Qe);R(this,Je,bt.platform==="win32"?"SIGINT":"SIGHUP");R(this,$,new Bt);R(this,A,void 0);R(this,ce,void 0);R(this,Fe,void 0);R(this,oe,{});R(this,z,!1);W(this,A,r),W(this,oe,{});for(let u of ue)m(this,oe)[u]=()=>{let o=m(this,A).listeners(u),{count:n}=m(this,$),i=r;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(n+=i.__signal_exit_emitter__.count),o.length===n){this.unload();let s=m(this,$).emit("exit",null,u),a=u==="SIGHUP"?m(this,Je):u;s||r.kill(r.pid,a)}};W(this,Fe,r.reallyExit),W(this,ce,r.emit)}onExit(r,u){if(!He(m(this,A)))return()=>{};m(this,z)===!1&&this.load();let o=u!=null&&u.alwaysLast?"afterExit":"exit";return m(this,$).on(o,r),()=>{m(this,$).removeListener(o,r),m(this,$).listeners.exit.length===0&&m(this,$).listeners.afterExit.length===0&&this.unload()}}load(){if(!m(this,z)){W(this,z,!0),m(this,$).count+=1;for(let r of ue)try{let u=m(this,oe)[r];u&&m(this,A).on(r,u)}catch(u){}m(this,A).emit=(r,...u)=>V(this,Qe,zr).call(this,r,...u),m(this,A).reallyExit=r=>V(this,Ye,Hr).call(this,r)}}unload(){m(this,z)&&(W(this,z,!1),ue.forEach(r=>{let u=m(this,oe)[r];if(!u)throw new Error("Listener not defined for signal: "+r);try{m(this,A).removeListener(r,u)}catch(o){}}),m(this,A).emit=m(this,ce),m(this,A).reallyExit=m(this,Fe),m(this,$).count-=1)}};Je=new WeakMap,$=new WeakMap,A=new WeakMap,ce=new WeakMap,Fe=new WeakMap,oe=new WeakMap,z=new WeakMap,Ye=new WeakSet,Hr=function(r){return He(m(this,A))?(m(this,A).exitCode=r||0,m(this,$).emit("exit",m(this,A).exitCode,null),m(this,Fe).call(m(this,A),m(this,A).exitCode)):0},Qe=new WeakSet,zr=function(r,...u){let o=m(this,ce);if(r==="exit"&&He(m(this,A))){typeof u[0]=="number"&&(m(this,A).exitCode=u[0]);let n=o.call(m(this,A),r,...u);return m(this,$).emit("exit",m(this,A).exitCode,null),n}else return o.call(m(this,A),r,...u)};bt=globalThis.process,{onExit:Jr,load:Tn,unload:Pn}=So(He(bt)?new xt(bt):new wt)});var J,Mo,_n,Zr,Lt,yt,At,Qr,vt,Xr=E(()=>{J="\x1B[",Mo=J+"G",_n=J+"?25l",Zr=J+"?25h",Lt=(e=1)=>e>0?`${J}${e}A`:"",yt=(e=1)=>e>0?`${J}${e}B`:"",At=(e,t)=>typeof t=="number"&&!Number.isNaN(t)?`${J}${t+1};${e+1}H`:`${J}${e+1}G`,Qr=J+"2K",vt=e=>e>0?(Qr+Lt(1)).repeat(e-1)+Qr+Mo:""});var tu,eu,To,ve,ru=E(()=>{tu=require("util");Vr();Xr();eu=e=>e.split(`
|
|
13
|
+
`).length,To=e=>{var t;return(t=e.split(`
|
|
14
|
+
`).pop())!=null?t:""},ve=class{constructor(t){C(this,"height",0);C(this,"extraLinesUnderPrompt",0);C(this,"cursorPos");C(this,"rl");this.rl=t,this.cursorPos=t.getCursorPos()}write(t){this.rl.output.unmute(),this.rl.output.write(t),this.rl.output.mute()}render(t,r=""){let u=To(t),o=(0,tu.stripVTControlCharacters)(u),n=o;this.rl.line.length>0&&(n=n.slice(0,-this.rl.line.length)),this.rl.setPrompt(n),this.cursorPos=this.rl.getCursorPos();let i=Kr();t=gt(t,i),r=gt(r,i),o.length%i===0&&(t+=`
|
|
15
|
+
`);let s=t+(r?`
|
|
16
|
+
`+r:""),D=Math.floor(o.length/i)-this.cursorPos.rows+(r?eu(r):0);D>0&&(s+=Lt(D)),s+=At(this.cursorPos.cols),this.write(yt(this.extraLinesUnderPrompt)+vt(this.height)+s),this.extraLinesUnderPrompt=D,this.height=eu(s)}checkCursorPos(){let t=this.rl.getCursorPos();t.cols!==this.cursorPos.cols&&(this.write(At(t.cols)),this.cursorPos=t)}done({clearContent:t}){this.rl.setPrompt("");let r=yt(this.extraLinesUnderPrompt);r+=t?vt(this.height):`
|
|
17
|
+
`,r+=Zr,this.write(r),this.rl.close()}}});var Ze,uu=E(()=>{Ze=class extends Promise{static withResolver(){let t,r;return{promise:new Promise((o,n)=>{t=o,r=n}),resolve:t,reject:r}}}});function Po(){let e=Error.prepareStackTrace,t=[];try{Error.prepareStackTrace=(r,u)=>{let o=u.slice(1);return t=o,o},new Error().stack}catch(r){return t}return Error.prepareStackTrace=e,t}function Se(e){let t=Po();return(u,o={})=>{var S;let{input:n=process.stdin,signal:i}=o,s=new Set,a=new nu.default;a.pipe((S=o.output)!=null?S:process.stdout);let D=ou.createInterface({terminal:!0,input:n,output:a}),c=new ve(D),{promise:l,resolve:h,reject:f}=Ze.withResolver(),d=()=>f(new _e);if(i){let x=()=>f(new ke({cause:i.reason}));if(i.aborted)return x(),Object.assign(l,{cancel:d});i.addEventListener("abort",x),s.add(()=>i.removeEventListener("abort",x))}s.add(Jr((x,M)=>{f(new be(`User force closed the prompt with ${x} ${M}`))}));let F=()=>f(new be("User force closed the prompt with SIGINT"));D.on("SIGINT",F),s.add(()=>D.removeListener("SIGINT",F));let B=()=>c.checkCursorPos();return D.input.on("keypress",B),s.add(()=>D.input.removeListener("keypress",B)),ur(D,x=>{let M=iu.AsyncResource.bind(()=>X.clearAll());return D.on("close",M),s.add(()=>D.removeListener("close",M)),x(()=>{var v;try{let T=e(u,pe=>{setImmediate(()=>h(pe))});if(T===void 0){let pe=(v=t[1])==null?void 0:v.getFileName();throw new Error(`Prompt functions must return a string.
|
|
18
|
+
at ${pe}`)}let[ie,ne]=typeof T=="string"?[T]:T;c.render(ie,ne),X.run()}catch(T){f(T)}}),Object.assign(l.then(v=>(X.clearAll(),v),v=>{throw X.clearAll(),v}).finally(()=>{s.forEach(v=>v()),c.done({clearContent:!!o.clearPromptOnDone}),a.end()}).then(()=>l),{cancel:d})})}}var ou,iu,nu,su=E(()=>{ou=q(require("readline"),1),iu=require("async_hooks"),nu=q(Wr(),1);Yr();ru();uu();se();Ie()});var St=E(()=>{tr();Ie();fr();je();Ke();gr();ct();su()});function au(e,t){let r=t!==!1;return/^(y|yes)/i.test(e)?r=!0:/^(n|no)/i.test(e)&&(r=!1),r}function Du(e){return e?"Yes":"No"}var Me,lu=E(()=>{St();Me=Se((e,t)=>{let{transformer:r=Du}=e,[u,o]=_("idle"),[n,i]=_(""),s=te(e.theme),a=Le({status:u,theme:s});ye((h,f)=>{if(u==="idle")if(xe(h)){let d=au(n,e.default);i(r(d)),o("done"),t(d)}else if(we(h)){let d=Du(!au(n,e.default));f.clearLine(0),f.write(d),i(d)}else i(f.line)});let D=n,c="";u==="done"?D=s.style.answer(n):c=` ${s.style.defaultAnswer(e.default===!1?"y/N":"Y/n")}`;let l=s.style.message(e.message,u);return`${a} ${l}${c} ${D}`})});var Ro,Y,cu=E(()=>{St();Ro={validationFailureMode:"keep"},Y=Se((e,t)=>{let{prefill:r="tab"}=e,u=te(Ro,e.theme),[o,n]=_("idle"),[i="",s]=_(e.default),[a,D]=_(),[c,l]=_(""),h=Le({status:o,theme:u});async function f(x){let{required:M,pattern:v,patternError:T="Invalid input"}=e;return M&&!x?"You must provide a value":v&&!v.test(x)?T:typeof e.validate=="function"?await e.validate(x)||"You must provide a valid value":!0}ye(async(x,M)=>{if(o==="idle")if(xe(x)){let v=c||i;n("loading");let T=await f(v);T===!0?(l(v),n("done"),t(v)):(u.validationFailureMode==="clear"?l(""):M.write(c),D(T),n("idle"))}else at(x)&&!c?s(void 0):we(x)&&!c?(s(void 0),M.clearLine(0),M.write(i),l(i)):(l(M.line),D(void 0))}),ee(x=>{r==="editable"&&i&&(x.write(i),l(i))},[]);let d=u.style.message(e.message,o),F=c;typeof e.transformer=="function"?F=e.transformer(c,{isFinal:o==="done"}):o==="done"&&(F=u.style.answer(c));let B;i&&o!=="done"&&!c&&(B=u.style.defaultAnswer(i));let S="";return a&&(S=u.style.error(a)),[[h,d,B,F].filter(x=>x!==void 0).join(" "),S]})});var Fu=E(()=>{lu();cu()});var ko,Xe=E(()=>{"use strict";ko=require("@kumori/kdsl-lsp/util/result.js")});async function Cu(e){let t=new Map;return await Bu(e,t),t}async function Eu(e,t){let r=new Map;console.log(t);for(let u of t){let o=(0,Pt.ParseQuery)(u);if(G.Maybe.isNone(o)){let a=`invalid download query '${u}': failed to parse`;r.set(u,P(p({},(0,y.Err)(a)),{required:!0}));continue}let n=(0,Mt.Version)(o.value.Version);if(G.Maybe.isNone(n)){let a=`invalid download query '${u}': invalid version specifier '${o.value.Version}': failed to parse`;r.set(u,P(p({},(0,y.Err)(a)),{required:!0}));continue}if(!Mt.Version.isSemVer(n.value)){let a=`invalid download query '${u}': invalid version specifier '${o.value.Version}': invalid semver`;r.set(u,P(p({},(0,y.Err)(a)),{required:!0}));continue}let i=`${o.value.Scheme}://${o.value.Location}`,s=o.value.Version;await wu(e,i,s,r)}return r}async function Bu(e,t){var u;let r=(0,du.ListDependencies)(e.Current);for(let o of r.keys()){let n=r.get(o);if(n.length<1)continue;let{target:i,version:s}=n[0];await wu(e,i,s,t);let a=n.reduce((c,l)=>c||l.interface===void 0,!1),D=(0,kt.DependencyId)(i,s);(0,et.default)(t.has(D)),(u=t.get(D)).required||(u.required=a)}}async function wu(e,t,r,u){let o=(0,kt.DependencyId)(t,r);if(u.has(o))return;let n=await _o(e,t,r);if(u.set(o,P(p({},n),{required:!1})),y.Result.isErr(n))return;let i=await(0,Rt.LocateDependency)(e,t,r);(0,et.default)(G.Maybe.isSome(i));let s=await fu.ModuleContext.Move(e,e.FS,i.value.Root);(0,et.default)(y.Result.isOk(s)),e=p(p({},e),s.value),await Bu(e,u)}async function _o(e,t,r){var D=[];try{let u=await(0,Rt.LocateDependency)(e,t,r);if(y.Result.isOk(u))return(0,y.Ok)(G.None);let o=Gt(D,await(0,hu.MkdirTemp)(),!0);let n=await xu(e,t,r,o.Path);if(y.Result.isErr(n))return(0,y.Err)(`failed to fetch ${t}@${r}: ${n.err}`);let i=await(0,mu.ValidateChecksum)(e.SumDB,tt.URI.file(o.Path),e,t,n.value);if(y.Result.isErr(i))return i;let s=`${t}@${r}`;let a=tt.UriUtils.joinPath(e.Locations.Cache(),s);await(0,de.mkdir)(a.fsPath,{recursive:!0});await(0,de.rm)(a.fsPath,{recursive:!0,force:!0});await(0,de.rename)(o.Path,a.fsPath);return(0,y.Ok)((0,G.Some)(s))}catch(c){var l=c,h=!0}finally{var f=Ht(D,l,h);f&&await f}}async function xu(e,t,r,u){let o=`${t}@${r}`,n=(0,Pt.ParseQuery)(o);if(G.Maybe.isNone(n))return(0,y.Err)(`failed to resolve ${o}: invalid download query`);let i=(0,Tt.SemVer)(n.value.Version),s=new pu.URL(`${n.value.Scheme}://${n.value.Location}`),a=(0,gu.ForURL)(e.Remotes,s);if(y.Result.isErr(a))return(0,y.Err)(`failed to resolve ${o}': invalid remote ${s}: ${a.err}`);let D=await a.value.Versions(s);if(y.Result.isErr(D))return(0,y.Err)(`failed to read ${s}: ${D.err}`);let c=i,l=D.value.filter(d=>Tt.SemVer.Compare(d,c)===0);if(l.length===0)return(0,y.Err)(`no remote matches for ${s}@v${i}`);if(l.length>1){let d=`[${l.map(String).join(", ")}]`;return(0,y.Err)(`ambiguous match for ${s}@v${i}: found ${d}`)}let h=l[0],f=await a.value.Get(s,h.toString(),u);return y.Result.isErr(f)?(0,y.Err)(`failed to fetch ${s}@${i.toString()}: ${f.err}`):(0,y.Ok)(h)}var Pt,G,y,Mt,du,et,Rt,fu,hu,mu,tt,de,gu,Tt,pu,kt,_t=E(()=>{"use strict";Pt=require("@kumori/kdsl-lsp/module/query.js"),G=require("@kumori/kdsl-lsp/util/maybe.js"),y=require("@kumori/kdsl-lsp/util/result.js"),Mt=require("@kumori/kdsl-lsp/module/version.js"),du=require("@kumori/kdsl-lsp/module/dependency/list.js"),et=q(require("assert"),1),Rt=require("@kumori/kdsl-lsp/module/dependency/locate.js"),fu=require("@kumori/kdsl-lsp/module/context.js"),hu=require("@kumori/kdsl-lsp/util/tmp.js"),mu=require("@kumori/kdsl-lsp/module/integrity/validate.js"),tt=require("langium"),de=require("fs/promises"),gu=require("@kumori/kdsl-lsp/module/remote/factory.js"),Tt=require("@kumori/kdsl-lsp/util/semver.js"),pu=require("@kumori/kdsl-lsp/util/url.js"),kt=require("@kumori/kdsl-lsp/module/dependency/id.js")});var Lu,yu,Ot,Au,j,vu,Oo,$o,Io,xs,Su,Mu=E(()=>{"use strict";Lu=require("@kumori/kdsl-lsp/module/context.js"),yu=require("@kumori/kdsl-lsp/module/integrity/sumdb.js"),Ot=require("@kumori/kdsl-lsp/module/remote/factory.js"),Au=require("@kumori/kdsl-lsp/util/maybe.js"),j=require("@kumori/kdsl-lsp/util/result.js"),vu=require("langium"),Oo=require("langium/node"),$o=require("@kumori/kdsl-lsp/language/kumori.js");Xe();_t();Io=require("@kumori/kdsl-lsp/module/registry/manager.js"),xs=`
|
|
19
|
+
Downloads the specified modules, which can be module patterns selecting depen-
|
|
20
|
+
dencies of the current module or module queries of the form path@version.
|
|
21
|
+
|
|
22
|
+
With no arguments, download applies to the modules needed to build the packages
|
|
23
|
+
in the current module.
|
|
24
|
+
|
|
25
|
+
The kdsl command will automatically download modules as needed during ordinary
|
|
26
|
+
execution. The "kdsl mod download" command is useful mainly for pre-filling the
|
|
27
|
+
local cache.
|
|
28
|
+
|
|
29
|
+
By default, download writes nothing to standard output. It may print progress
|
|
30
|
+
messages and errors to standard error.
|
|
31
|
+
`.trim(),Su=async(e,t,r,u,o)=>{let n=t.shared.workspace.FileSystemProvider,i=await(0,Lu.ModuleContext)(n,vu.URI.file(r));if(j.Result.isErr(i))return(0,j.Err)([i.err]);let s=await yu.SumDB.Open(i.value.Locations.Checksum());if(j.Result.isErr(s))return j.Result.mapErr(s,l=>[l]);let a;u.length?a=await Eu(P(p({},i.value),{FS:n,Remotes:(0,Ot.RemoteFetcherFactory)(),SumDB:s.value}),u):a=await Cu(P(p({},i.value),{FS:n,Remotes:(0,Ot.RemoteFetcherFactory)(),SumDB:s.value}));let D=[];for(let[l,h]of a){if(j.Result.isOk(h)){Au.Maybe.isSome(h.value)&&e.info(`Downloaded dependency ${l}`);continue}h.required?D.push(`${l}: ${h.err}`):o.quiet||(e.warn(`${l}: ${h.err}`),e.warn(`${l}: not required - continuing`))}return Array.from(a.entries()).filter(([,l])=>j.Result.isErr(l)&&l.required).length>0?(0,j.Err)(D):(0,j.Ok)(void 0)}});function qo(e,t){return`lexer error: ${Te.UriUtils.relative(process.cwd(),e.uri.fsPath)}:${t.line||1}:${t.column||1}: ${t.message}`}function Wo(e,t){return`parser error: ${Te.UriUtils.relative(process.cwd(),e.uri.fsPath)}:${t.token.startLine||1}:${t.token.startColumn||1}: ${t.message}`}function Go(e,t){return`diagnostic error: ${Te.UriUtils.relative(process.cwd(),e.uri.fsPath)}:${t.range.start.line+1}:${t.range.start.character+1}: ${t.message}`}var Uo,Te,No,$t,U,jo,Ko,Ps,It,Vo,Ut=E(()=>{"use strict";Uo=require("@kumori/kdsl-lsp/language/kumori.js"),Te=require("langium"),No=require("langium/node"),$t=require("vscode-languageserver"),U=require("@kumori/kdsl-lsp/util/result.js"),jo=require("@kumori/kdsl-lsp/module/context.js");Mu();Xe();Ko=require("@kumori/kdsl-lsp/module/registry/manager.js"),Ps=`
|
|
32
|
+
`.trim(),It=async(e,t,r)=>{let u=r.Current.Root,o=await Su(e,t,u.fsPath,[],{quiet:!0});if(U.Result.isErr(o))return o;let n=await Vo(t,r);if(U.Result.isErr(n)){let i=n.err.warnings.concat(n.err.errors);return(0,U.Err)(i)}return(0,U.Ok)(void 0)},Vo=async(e,t)=>{let r={errors:[],warnings:[]},u=e.shared.workspace.FileSystemProvider,o=t.Current.Root,n=await U.Result.tryCatchAsync(()=>u.readDirectory(o));if(U.Result.isErr(n)){let D=""+n.err;return n.err instanceof Error&&(D=n.err.message),r.errors.push(`failed to read directory '${o.fsPath}': ${D}`),(0,U.Err)(r)}await e.shared.workspace.WorkspaceManager.initializeWorkspace([{name:"root",uri:o.toString()}]);let s=e.shared.workspace.LangiumDocuments;await e.shared.workspace.DocumentBuilder.build(s.all.toArray(),{validation:!0});for(let D of e.shared.workspace.LangiumDocuments.all){for(let c of D.parseResult.lexerErrors)r.errors.push(qo(D,c));for(let c of D.parseResult.parserErrors)r.errors.push(Wo(D,c));for(let c of D.diagnostics||[]){let l=Go(D,c);c.severity===$t.DiagnosticSeverity.Error&&r.errors.push(l),c.severity===$t.DiagnosticSeverity.Warning&&r.warnings.push(l)}}return r.errors.length>0?(0,U.Err)(r):(0,U.Ok)(void 0)}});function Tu(e){var u,o;let t=(o=(u=e.node.$cstNode)==null?void 0:u.range)!=null?o:{start:{line:-1,character:-1},end:{line:-1,character:-1}},r=rt.AstUtils.getDocument(e.node);return`${rt.UriUtils.relative(process.cwd(),r.uri.fsPath)}:${t.start.line+1}:${t.start.character+1}: ${e.message}`}var rt,Pu=E(()=>{"use strict";rt=require("langium")});async function _u(e,t,r,u){let o=me.UriUtils.joinPath(t.Current.Root,ut.default.normalize(r)),n=e.references.KumoriPackages.GetPackage(o);if(w.Result.isErr(n))return(0,w.Err)([`error: failed to retrieve package: ${o.toString()}`]);let i=new Set(n.value.docs.map(F=>F.uri.toString())),s=e.shared.workspace.IndexManager.allElements(void 0,i).toArray().filter(F=>F.name===u);if(s.length<1)return(0,w.Err)([`error: no artifact named defined in ${o.toString()}`]);if(s.length>2)return(0,w.Err)([`error: too many matches in ${o.toString()}`]);let a=s[0].node;if(!((0,ge.isComponentArtifact)(a)||(0,ge.isServiceArtifact)(a)||(0,ge.isBuiltinArtifact)(a)))return(0,w.Err)([`invalid reference to node of type: ${a.$type}`]);if(!me.AstUtils.getDocument(a).uri.fsPath.endsWith(".h.kumori")){if(!a.name.value.ref)return(0,w.Err)(["no headers found for component"]);a=a.name.value.ref}let c=e.validation.KumoriTypeSystem,l=e.validation.KumoriValidations.ctx(),[h,f]=c.Infer(l,a);if(f.length>0){let F=[];return f.map(B=>F.concat(B.message)),(0,w.Err)([`type inference failed with errors: ${F}`])}let d=await ei(e,t,h,ut.default.join(t.Current.Manifest.module,r+"@"+u));return w.Result.mapErr(d,F=>F.map(Tu))}async function ei(e,t,r,u){return w.Result.map(await H({svcs:e,mod:t},r),o=>p({$schema:"https://json-schema.org/draft/2020-12/schema",$spec:"kumori/schema/v1",$id:u},o))}async function H(e,t){if(b.TAny.is(t))return(0,w.Ok)({});if(b.TFunction.is(t))return H(e,t.returns);if(b.TOptional.is(t))return H(e,t.inner);if(b.TTypeDefAlias.is(t))return H(e,t.spec);if(b.TNumber.is(t))return t.literal===void 0?(0,w.Ok)({type:"number"}):(0,w.Ok)({const:t.literal});if(b.TString.is(t))return t.literal===void 0?(0,w.Ok)({type:"string"}):(0,w.Ok)({const:t.literal});if(b.TBoolean.is(t))return t.literal===void 0?(0,w.Ok)({type:"boolean"}):(0,w.Ok)({const:t.literal});if(b.TList.is(t)){let r=await H(e,t.restriction);return w.Result.isErr(r)?r:(0,w.Ok)({type:"array",items:r.value})}if(b.TEither.is(t)){let r=await Promise.all(t.variations.map(n=>H(e,n))),u=r.filter(w.Result.isErr).map(n=>n.err).flat();if(u.length>0)return(0,w.Err)(u);let o=r.filter(w.Result.isOk).map(n=>n.value);return(0,fe.default)(o.length===r.length),(0,w.Ok)({oneOf:o})}if(b.TStruct.is(t)){let r=await Promise.all(Object.entries(t.parameters).map(async i=>({key:i[0],value:i[1],schema:await H(e,i[1].value)}))),u=r.map(i=>i.schema).filter(i=>w.Result.isErr(i)).map(i=>i.err).flat(),o=he.None;if(t.restriction!==void 0&&!b.TAny.is(t.restriction)){let i=await H(e,t.restriction);w.Result.isOk(i)?o=(0,he.Some)(i.value):u=u.concat(i.err)}if(u.length>0)return(0,w.Err)(u);let n={type:"object",properties:Object.fromEntries(r.map(i=>((0,fe.default)(w.Result.isOk(i.schema)),[i.key,i.schema.value]))),required:r.filter(i=>i.value.optional===!1&&!b.TOptional.is(i.value.value)).map(i=>i.key)};return he.Maybe.isSome(o)&&(n=P(p({},n),{additionalProperties:o.value})),(0,w.Ok)(n)}if(b.TTypeDefNamed.is(t)){let r=await H(e,t.spec);return w.Result.isErr(r)?r:(0,w.Ok)({type:"object",properties:{$kdsl:{const:{NamedType:await ti(e,t)}},inner:r.value},required:["$kdsl","inner"]})}return(0,w.Err)([b.TypeSystemError.create({node:t,message:`cannot convert definition to JSONSchema: ${(0,b.TypeToString)(t)}`})])}var Ho,zo,Jo,he,w,Yo,Qo,ut,me,fe,b,Zo,ge,Ru,ku,Xo,qs,ti,Ou=E(()=>{"use strict";Ho=require("@kumori/kdsl-lsp/language/kumori.js"),zo=require("@kumori/kdsl-lsp/module/context.js"),Jo=require("@kumori/kdsl-lsp/module/query.js"),he=require("@kumori/kdsl-lsp/util/maybe.js"),w=require("@kumori/kdsl-lsp/util/result.js"),Yo=require("@kumori/kdsl-lsp/util/tmp.js"),Qo=require("langium/node"),ut=q(require("path"),1);Ut();me=require("langium"),fe=q(require("assert"),1),b=require("@kumori/kdsl-lsp/language/type-system/type.js"),Zo=require("@kumori/kdsl-lsp/module/descriptor.js"),ge=require("@kumori/kdsl-lsp/language/generated/ast.js"),Ru=require("@kumori/kdsl-lsp/language/builtin/util.js"),ku=require("@kumori/kdsl-lsp/module/documents.js");Xe();Pu();_t();Xo=require("@kumori/kdsl-lsp/module/remote/factory.js"),qs=`
|
|
33
|
+
Generates and outputs the JSON Schema that describes a particular Kumori DSL
|
|
34
|
+
artifact. This schema defines the artifact's configurable properties, resource
|
|
35
|
+
requirements, and overall structure, making it valuable for programmatic
|
|
36
|
+
interaction, validation, or documentation purposes.
|
|
37
|
+
|
|
38
|
+
The command allows you to specify artifacts from both remote/external modules
|
|
39
|
+
and local modules.
|
|
40
|
+
`.trim();ti=async(e,t)=>{let r=t.node;(0,fe.default)(r);let u=e.svcs.shared.references.KumoriModules,o=me.AstUtils.getDocument(r).uri,n=e.svcs.references.KumoriPackages.GetPackage(r),i=e.mod.Current;if((0,fe.default)(w.Result.isOk(n)),o.scheme===Ru.Scheme)return{Import:n.value.uri.path.slice(1),Name:t.meta.name};if(!(await(0,ku.GatherModuleDocuments)(e.svcs.shared,e.mod.Root.Root)).map(h=>h.fsPath).includes(o.fsPath)){let h=u.getModule(o);(0,fe.default)(w.Result.isOk(h)),i=h.value}let c=i.Root,l=n.value.uri.fsPath.slice(c.fsPath.length);return{Import:ut.default.join(i.Manifest.module,l),Name:t.meta.name}}});var Gu={};qt(Gu,{Action:()=>Wu,Description:()=>Vu,Register:()=>qu,default:()=>ui});function qu(e,t){return e.command("create").option("--module <module>","Path to the module to generate the index entry for. It can be either a relative or absolute path. Defaults to the current directory.").option("--index <index>","Path to the index file to append the new entry to. It can be either a relative or absolute path. If not provided, the entry will be printed to standard output.").summary(ri).description(Vu).action(Wu(t))}function Wu(e){return async t=>{let r=(0,$u.createKumoriServices)(Iu.NodeFileSystem).Kumori,u=r.shared.workspace.FileSystemProvider,o=process.cwd();t.module&&(t.module[0]==="."||K.default.isAbsolute(t.module))&&(o=K.default.isAbsolute(t.module)?t.module:K.default.resolve(process.cwd(),t.module));let n=await(0,Uu.ModuleContext)(u,Q.URI.file(o));if(Nt.Result.isErr(n))throw new Error(n.err);await It(e,r,n.value);let i=null;t.index&&(t.index[0]==="."||K.default.isAbsolute(t.index)?i=K.default.isAbsolute(t.index)?t.index:K.default.resolve(process.cwd(),t.index):i=K.default.resolve(process.cwd(),t.index)),console.log(i);let s=null;if(i)try{let F=null;try{F=await u.readFile(Q.URI.file(i))}catch(x){F=""}if(F===null||F===""){s={modules:[]},e.info(`Index file at ${i} is either missing or empty. A new one will be created.`);try{await Pe.promises.mkdir(K.default.dirname(i),{recursive:!0}),await Pe.promises.writeFile(Q.URI.file(i).fsPath,JSON.stringify(s,null,2)),e.info(`Created new index file at ${i}`)}catch(x){e.error(`Failed to create new index file at ${i}: ${x}`);return}}try{F=await u.readFile(Q.URI.file(i)),s=await JSON.parse(F)}catch(x){throw new Error(`Failed to parse index file at ${i}: ${x}`)}if(!new Nu.RegistryManager().validateIndexSchema(s))throw new Error(`Index schema validation failed for ${i}`)}catch(F){e.error(`Failed to read index file at ${i}: ${F}`);return}let a;if(s!=null&&s.modules&&(a=s.modules.find(F=>F.domain===n.value.Current.Manifest.module&&F.version===n.value.Current.Manifest.version)),a&&(e.warn(`Module ${a.domain} version ${a.version} already exists in the index file at ${i}. Proceeding will override the current entry.`),!await Me({message:"Do you want to proceed anyway?",default:!1}))){e.info("Aborting index entry creation.");return}let D=await(0,ju.GatherModuleDocuments)(r.shared,n.value.Current.Root),c={};for(let F of D)if(K.default.basename(F.path).endsWith(".h.kumori")){let S=F.path.substring(Q.URI.parse(o).fsPath.length),x=K.default.dirname(S),v=(await u.readFile(F)).split(`
|
|
41
|
+
`);for(let T of v){let ie=T.match(/service\s+(\w+)/),ne=T.match(/component\s+(\w+)/);ie?c[x]={name:ie[1],type:"service"}:ne&&(c[x]={name:ne[1],type:"component"})}}let l=n.value.Current.Manifest,h=await(0,Ku.CalculateChecksum)(o),f=await Y({message:"Enter the module location (remember it has to be a valid Git repository):",required:!0}),d={domain:l.module,version:l.version,location:f,checksum:h,releaseDate:new Date().toISOString().split("T")[0],artifacts:[]};for(let[F,B]of Object.entries(c)){if(!await Me({message:`Do you want to include artifact ${B.name} located at route ${F} in the index?`,default:!0}))continue;let x=await _u(r,n.value,F,B.name);if(Nt.Result.isErr(x))throw new Error(`Failed to generate JSON Schema for artifact ${B.name} at route ${F}: ${x.err}`);let M=await Y({message:`Enter the route for artifact ${B.name} (default: ${F}):`,default:F,required:!0}),v=await Y({message:`Enter a description for artifact ${B.name} (optional):`}),T=await Me({message:`Do you want to publish artifact ${B.name} to the marketplace?`,default:!0}),ie=await Y({message:`Enter an icon route for artifact ${B.name}. This is an optional field and it should be a path to an image file within the artifact route.
|
|
42
|
+
For example, your icon could be located at ${M}/icon.png or ${M}/img/icon.jpg`}),ne=await Y({message:`Enter categories for artifact ${B.name}, separated by commas. For example: utility,network,storage (optional):`}).then(Ce=>Ce?Ce.split(",").map(ot=>ot.trim()):[]),pe=await Y({message:`Enter tags for artifact ${B.name}, separated by commas. For example: sql,database,relational (optional):`}).then(Ce=>Ce?Ce.split(",").map(ot=>ot.trim()):[]);d.artifacts.push({name:B.name,description:v,location:M,type:B.type,marketplace:T,schema:x.value,icon:ie,categories:ne,tags:pe})}if(i&&s)if(a){s.modules=s.modules.map(B=>B.domain===a.domain&&B.version===a.version?d:B);let F=JSON.stringify(s,null,2);await Pe.promises.writeFile(Q.URI.file(i).fsPath,F),e.info(`Updated module entry in index file at ${i}`)}else{s.modules.push(d);let F=JSON.stringify(s,null,2);await Pe.promises.writeFile(Q.URI.file(i).fsPath,F),e.info(`Appended new module entry to index file at ${i}`)}else console.log(JSON.stringify({modules:[d]},null,2))}}var $u,Iu,Uu,Q,K,Nt,Nu,ju,Pe,Ku,ri,Vu,ui,Hu=E(()=>{"use strict";$u=require("@kumori/kdsl-lsp/language/kumori.js"),Iu=require("langium/node"),Uu=require("@kumori/kdsl-lsp/module/context.js"),Q=require("langium"),K=q(require("path"),1),Nt=require("@kumori/kdsl-lsp/util/result.js"),Nu=require("@kumori/kdsl-lsp/module/registry/manager.js"),ju=require("@kumori/kdsl-lsp/module/documents.js"),Pe=require("fs"),Ku=require("@kumori/kdsl-lsp/module/integrity/checksum.js");Fu();Ou();Ut();ri="Creates an index file",Vu=`
|
|
43
|
+
Creates a new index file entry for the current module. Additionally, you can provide
|
|
44
|
+
the location of the module from which generate the entry for.
|
|
45
|
+
|
|
46
|
+
This command will generate the entry for the current module:
|
|
47
|
+
kdsl index create
|
|
48
|
+
|
|
49
|
+
Or you can provide a module location to generate the entry for:
|
|
50
|
+
kdsl index create --module path/to/module
|
|
51
|
+
|
|
52
|
+
The generated index entry will be printed to the standard output. However, you can directly add
|
|
53
|
+
the new entry onto an existing index file by providing the --index option:
|
|
54
|
+
kdsl index create --index path/to/index/file.json
|
|
55
|
+
|
|
56
|
+
If the index file is empty, a new index file will be created with just the new entry. Otherwise,
|
|
57
|
+
if the index file already contains entries, the new entry will be appended to the existing ones.
|
|
58
|
+
`.trim(),ui={Register:qu}});var ii={};qt(ii,{indexCreate:()=>oi});module.exports=to(ii);var O=function(e){return e.info="info",e.warn="warn",e.error="error",e.debug="debug",e.trace="trace",e.fatal="fatal",e}({}),si={[O.trace]:10,[O.debug]:20,[O.info]:30,[O.warn]:40,[O.error]:50,[O.fatal]:60},ai={10:O.trace,20:O.debug,30:O.info,40:O.warn,50:O.error,60:O.fatal};var k=function(e){return e.onBeforeDataOut="onBeforeDataOut",e.shouldSendToLogger="shouldSendToLogger",e.onMetadataCalled="onMetadataCalled",e.onBeforeMessageOut="onBeforeMessageOut",e.onContextCalled="onContextCalled",e}({});var g=function(e){return e.info="info",e.warn="warn",e.error="error",e.debug="debug",e.trace="trace",e.fatal="fatal",e}({}),Be={[g.trace]:10,[g.debug]:20,[g.info]:30,[g.warn]:40,[g.error]:50,[g.fatal]:60},Fi={10:g.trace,20:g.debug,30:g.info,40:g.warn,50:g.error,60:g.fatal};var zt=class Jt{constructor(){C(this,"context",{});C(this,"hasContext",!1)}setContext(t){if(!t){this.context={},this.hasContext=!1;return}this.context=t,this.hasContext=!0}appendContext(t){this.context=p(p({},this.context),t),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:t,childContextManager:r}){if(t.hasContextData()){let u=t.getContext();r.setContext(p({},u))}}clone(){let t=new Jt;return t.setContext(p({},this.context)),t.hasContext=this.hasContext,t}};var Yt=class{constructor(e){C(this,"err");C(this,"metadata");C(this,"structuredLogger");C(this,"hasMetadata");C(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=e,this.hasMetadata=!1,this.pluginManager=e.pluginManager}withMetadata(e){let{pluginManager:t,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!e)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let u=e;return t.hasPlugins(k.onMetadataCalled)&&(u=t.runOnMetadataCalled(e,this.structuredLogger),!u)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=p(p({},this.metadata),u),this.hasMetadata=!0,this)}withError(e){return this.err=e,this}info(...e){this.structuredLogger.isLevelEnabled(g.info)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.info,e))}warn(...e){this.structuredLogger.isLevelEnabled(g.warn)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.warn,e))}error(...e){this.structuredLogger.isLevelEnabled(g.error)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.error,e))}debug(...e){this.structuredLogger.isLevelEnabled(g.debug)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.debug,e))}trace(...e){this.structuredLogger.isLevelEnabled(g.trace)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.trace,e))}fatal(...e){this.structuredLogger.isLevelEnabled(g.fatal)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.fatal,e))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(e,t){let{muteMetadata:r}=this.structuredLogger._config,u=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:e,params:t,metadata:u?this.metadata:null,err:this.err})}},ro=[k.onBeforeDataOut,k.onMetadataCalled,k.shouldSendToLogger,k.onBeforeMessageOut,k.onContextCalled],Qt=class{constructor(e){C(this,"idToPlugin");C(this,"onBeforeDataOut",[]);C(this,"shouldSendToLogger",[]);C(this,"onMetadataCalled",[]);C(this,"onBeforeMessageOut",[]);C(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(e),this.indexPlugins()}mapPlugins(e){for(let t of e){if(t.id||(t.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[t.id])throw new Error(`[LogLayer] Plugin with id ${t.id} already exists.`);t.registeredAt=Date.now(),this.idToPlugin[t.id]=t}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let e=Object.values(this.idToPlugin).sort((t,r)=>t.registeredAt-r.registeredAt);for(let t of e){if(t.disabled)return;for(let r of ro)t[r]&&t.id&&this[r].push(t.id)}}hasPlugins(e){return this[e].length>0}countPlugins(e){return e?this[e].length:Object.keys(this.idToPlugin).length}addPlugins(e){this.mapPlugins(e),this.indexPlugins()}enablePlugin(e){let t=this.idToPlugin[e];t&&(t.disabled=!1),this.indexPlugins()}disablePlugin(e){let t=this.idToPlugin[e];t&&(t.disabled=!0),this.indexPlugins()}removePlugin(e){delete this.idToPlugin[e],this.indexPlugins()}runOnBeforeDataOut(e,t){let r=p({},e);for(let u of this.onBeforeDataOut){let o=this.idToPlugin[u];if(o.onBeforeDataOut){let n=o.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},t);n&&(r.data||(r.data={}),Object.assign(r.data,n))}}return r.data}runShouldSendToLogger(e,t){return!this.shouldSendToLogger.some(r=>{var u,o;return!((o=(u=this.idToPlugin[r]).shouldSendToLogger)!=null&&o.call(u,e,t))})}runOnMetadataCalled(e,t){var u,o;let r=p({},e);for(let n of this.onMetadataCalled){let i=(o=(u=this.idToPlugin[n]).onMetadataCalled)==null?void 0:o.call(u,r,t);if(i)r=i;else return null}return r}runOnBeforeMessageOut(e,t){var u,o;let r=[...e.messages];for(let n of this.onBeforeMessageOut){let i=(o=(u=this.idToPlugin[n]).onBeforeMessageOut)==null?void 0:o.call(u,{messages:r,logLevel:e.logLevel},t);i&&(r=i)}return r}runOnContextCalled(e,t){var u,o;let r=p({},e);for(let n of this.onContextCalled){let i=(o=(u=this.idToPlugin[n]).onContextCalled)==null?void 0:o.call(u,r,t);if(i)r=i;else return null}return r}},Zt=class Xt{constructor(t){C(this,"pluginManager");C(this,"idToTransport");C(this,"hasMultipleTransports");C(this,"singleTransport");C(this,"contextManager");C(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});C(this,"_config");var r;this._config=P(p({},t),{enabled:(r=t.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new zt,this.pluginManager=new Qt(t.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(t){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=t,this}getContextManager(){return this.contextManager}_initializeTransports(t){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(t)&&t.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(t)?t[0]:t,Array.isArray(t)?this.idToTransport=t.reduce((r,u)=>(r[u.id]=u,r),{}):this.idToTransport={[t.id]:t}}withPrefix(t){let r=this.child();return r._config.prefix=t,r}withContext(t){let r=t;return t?this.pluginManager.hasPlugins(k.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(t,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(t){this.pluginManager.addPlugins(t)}enablePlugin(t){this.pluginManager.enablePlugin(t)}disablePlugin(t){this.pluginManager.disablePlugin(t)}removePlugin(t){this.pluginManager.removePlugin(t)}withMetadata(t){return new Yt(this).withMetadata(t)}withError(t){return new Yt(this).withError(t)}child(){let t=new Xt(P(p({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:t.contextManager,parentLogger:this,childLogger:t}),t}withFreshTransports(t){return this._config.transport=t,this._initializeTransports(t),this}withFreshPlugins(t){return this._config.plugins=t,this.pluginManager=new Qt(t),this}withPluginManager(t){return this.pluginManager=t,this}errorOnly(t,r){let u=(r==null?void 0:r.logLevel)||g.error;if(!this.isLevelEnabled(u))return;let{copyMsgOnOnlyError:o}=this._config,n={logLevel:u,err:t};(o&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(t!=null&&t.message)&&(n.params=[t.message]),this._formatLog(n)}metadataOnly(t,r=g.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:u,consoleDebug:o}=this._config;if(u)return;if(!t){o&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let n=t;if(this.pluginManager.hasPlugins(k.onMetadataCalled)&&(n=this.pluginManager.runOnMetadataCalled(t,this),!n)){o&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let i={logLevel:r,metadata:n};this._formatLog(i)}info(...t){this.isLevelEnabled(g.info)&&(this._formatMessage(t),this._formatLog({logLevel:g.info,params:t}))}warn(...t){this.isLevelEnabled(g.warn)&&(this._formatMessage(t),this._formatLog({logLevel:g.warn,params:t}))}error(...t){this.isLevelEnabled(g.error)&&(this._formatMessage(t),this._formatLog({logLevel:g.error,params:t}))}debug(...t){this.isLevelEnabled(g.debug)&&(this._formatMessage(t),this._formatLog({logLevel:g.debug,params:t}))}trace(...t){this.isLevelEnabled(g.trace)&&(this._formatMessage(t),this._formatLog({logLevel:g.trace,params:t}))}fatal(...t){this.isLevelEnabled(g.fatal)&&(this._formatMessage(t),this._formatLog({logLevel:g.fatal,params:t}))}raw(t){if(!this.isLevelEnabled(t.logLevel))return;let r={logLevel:t.logLevel,params:t.messages,metadata:t.metadata,err:t.error,context:t.context};this._formatMessage(t.messages),this._formatLog(r)}disableLogging(){for(let t of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[t]=!1;return this}enableLogging(){for(let t of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[t]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(t){let r=t;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(t){let r=t;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(t){let r=Be[t];for(let u of Object.values(g)){let o=u,n=Be[u];this.logLevelEnabledStatus[o]=n>=r}return this}isLevelEnabled(t){let r=t;return this.logLevelEnabledStatus[r]}formatContext(t){let{contextFieldName:r,muteContext:u}=this._config;return t&&Object.keys(t).length>0&&!u?r?{[r]:p({},t)}:p({},t):{}}formatMetadata(t=null){let{metadataFieldName:r,muteMetadata:u}=this._config;return t&&!u?r?{[r]:p({},t)}:p({},t):{}}getLoggerInstance(t){let r=this.idToTransport[t];if(r)return r.getLoggerInstance()}_formatMessage(t=[]){let{prefix:r}=this._config;r&&typeof t[0]=="string"&&(t[0]=`${r} ${t[0]}`)}_formatLog({logLevel:t,params:r=[],metadata:u=null,err:o,context:n=null}){var F;let{errorSerializer:i,errorFieldInMetadata:s,muteContext:a,contextFieldName:D,metadataFieldName:c,errorFieldName:l}=this._config,h=n!==null?n:this.contextManager.getContext(),f=!!u||(a?!1:n!==null?Object.keys(n).length>0:this.contextManager.hasContextData()),d={};if(f)if(D&&D===c){let B=this.formatContext(h)[D],S=this.formatMetadata(u)[c];d={[D]:p(p({},B),S)}}else d=p(p({},this.formatContext(h)),this.formatMetadata(u));if(o){let B=i?i(o):o;s&&u&&c?d!=null&&d[c]?d[c][l]=B:d=P(p({},d),{[c]:{[l]:B}}):s&&!u&&c?d=P(p({},d),{[c]:{[l]:B}}):d=P(p({},d),{[l]:B}),f=!0}if(this.pluginManager.hasPlugins(k.onBeforeDataOut)&&(d=this.pluginManager.runOnBeforeDataOut({data:f?d:void 0,logLevel:t,error:o,metadata:u,context:h},this),d&&!f&&(f=!0)),this.pluginManager.hasPlugins(k.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:t},this)),this.hasMultipleTransports){let B=this._config.transport.filter(S=>S.enabled).map(async S=>{if(!(this.pluginManager.hasPlugins(k.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:f?d:void 0,logLevel:t,transportId:S.id,error:o,metadata:u,context:h},this)))return S._sendToLogger({logLevel:t,messages:[...r],data:f?d:void 0,hasData:f,error:o,metadata:u,context:h})});Promise.all(B).catch(S=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",S)})}else{if(!((F=this.singleTransport)!=null&&F.enabled)||this.pluginManager.hasPlugins(k.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:f?d:void 0,logLevel:t,transportId:this.singleTransport.id,error:o,metadata:u,context:h},this))return;this.singleTransport._sendToLogger({logLevel:t,messages:[...r],data:f?d:void 0,hasData:f,error:o,metadata:u,context:h})}}};function uo(){let e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new Zt({transport:e})}function er(e){return e!=null?e:uo()}var Re=require("@kumori/kdsl-lsp/util/result.js");async function oi(e){var r,u;let t=er(e.logger);if(!e.interactive)return(0,Re.Err)(["Index create command requires interactive mode. Set interactive: true to use this command programmatically with prompts, or use the CLI directly: kdsl index create"]);try{let{Action:o}=await Promise.resolve().then(()=>(Hu(),Gu));return await o(t)({module:(r=e.module)!=null?r:void 0,index:(u=e.indexFile)!=null?u:void 0}),(0,Re.Ok)(void 0)}catch(o){return(0,Re.Err)([String(o)])}}0&&(module.exports={indexCreate});
|