@vibecoded/work 0.0.3 → 0.0.5

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.
Files changed (3) hide show
  1. package/dist/cli.js +56 -0
  2. package/package.json +5 -6
  3. package/dist/work +0 -0
package/dist/cli.js ADDED
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ import{createRequire as eu}from"node:module";var tu=Object.create;var{getPrototypeOf:ru,defineProperty:aD,getOwnPropertyNames:ou}=Object;var su=Object.prototype.hasOwnProperty;var zD=(D,u,F)=>{F=D!=null?tu(ru(D)):{};let C=u||!D||!D.__esModule?aD(F,"default",{value:D,enumerable:!0}):F;for(let E of ou(D))if(!su.call(C,E))aD(C,E,{get:()=>D[E],enumerable:!0});return C};var MD=(D,u)=>()=>(u||D((u={exports:{}}).exports,u),u.exports);var iD=eu(import.meta.url);var Eu=MD((m0,Cu)=>{Cu.exports=GF;function ZF(D){let u={defaultWidth:0,output:process.stdout,tty:iD("tty")};if(!D)return u;return Object.keys(u).forEach(function(F){if(!D[F])D[F]=u[F]}),D}function GF(D){let u=ZF(D);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 F=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(F)&&F!==0)return F}return u.defaultWidth}});var Zu=MD((t0,Xu)=>{Xu.exports=()=>{return/[#*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}});var Ju=MD((Y2,Ru)=>{var TF=iD("stream");class Nu extends TF{#F=null;constructor(D={}){super(D);this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=D.replace,this._prompt=D.prompt||null,this._hadControl=!1}#u(D,u){if(this._dest)return this._dest[D];if(this._src)return this._src[D];return u}#D(D,...u){if(typeof this._dest?.[D]==="function")this._dest[D](...u);if(typeof this._src?.[D]==="function")this._src[D](...u)}get isTTY(){if(this.#F!==null)return this.#F;return this.#u("isTTY",!1)}set isTTY(D){this.#F=D}get rows(){return this.#u("rows")}get columns(){return this.#u("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(D){this._src=D}pipe(D,u){return this._dest=D,super.pipe(D,u)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(D){if(this.muted){if(!this.replace)return!0;if(D.match(/^\u001b/)){if(D.indexOf(this._prompt)===0)D=D.slice(this._prompt.length),D=D.replace(/./g,this.replace),D=this._prompt+D;return this._hadControl=!0,this.emit("data",D)}else{if(this._prompt&&this._hadControl&&D.indexOf(this._prompt)===0)this._hadControl=!1,this.emit("data",this._prompt),D=D.slice(this._prompt.length);D=D.toString().replace(/./g,this.replace)}}this.emit("data",D)}end(D){if(this.muted)if(D&&this.replace)D=D.toString().replace(/./g,this.replace);else D=null;if(D)this.emit("data",D);this.emit("end")}destroy(...D){return this.#D("destroy",...D)}destroySoon(...D){return this.#D("destroySoon",...D)}close(...D){return this.#D("close",...D)}}Ru.exports=Nu});var DD=(D,u=[])=>D.name==="up"||u.includes("vim")&&D.name==="k"||u.includes("emacs")&&D.ctrl&&D.name==="p",AD=(D,u=[])=>D.name==="down"||u.includes("vim")&&D.name==="j"||u.includes("emacs")&&D.ctrl&&D.name==="n";var ND=(D)=>D.name==="backspace",w=(D)=>D.name==="tab";var k=(D)=>D.name==="enter"||D.name==="return";class RD extends Error{name="AbortPromptError";message="Prompt was aborted";constructor(D){super();this.cause=D?.cause}}class JD extends Error{name="CancelPromptError";message="Prompt was canceled"}class $D extends Error{name="ExitPromptError"}class VD extends Error{name="HookError"}class LD extends Error{name="ValidationError"}import{AsyncResource as CF}from"node:async_hooks";import{AsyncLocalStorage as DF,AsyncResource as uF}from"node:async_hooks";var tD=new DF;function FF(D){return{rl:D,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function rD(D,u){let F=FF(D);return tD.run(F,()=>{function C(E){F.handleChange=()=>{F.index=0,E()},F.handleChange()}return u(C)})}function h(){let D=tD.getStore();if(!D)throw new VD("[Inquirer] Hook functions can only be called from within a prompt");return D}function TD(){return h().rl}function fD(D){let u=(...F)=>{let C=h(),E=!1,B=C.handleChange;C.handleChange=()=>{E=!0};let A=D(...F);if(E)B();return C.handleChange=B,A};return uF.bind(u)}function r(D){let u=h(),{index:F}=u,C={get(){return u.hooks[F]},set(B){u.hooks[F]=B},initialized:F in u.hooks},E=D(C);return u.index++,E}function oD(){h().handleChange()}var g={queue(D){let u=h(),{index:F}=u;u.hooksEffect.push(()=>{u.hooksCleanup[F]?.();let C=D(TD());if(C!=null&&typeof C!=="function")throw new LD("useEffect return value must be a cleanup function or nothing.");u.hooksCleanup[F]=C})},run(){let D=h();fD(()=>{D.hooksEffect.forEach((u)=>{u()}),D.hooksEffect.length=0})()},clearAll(){let D=h();D.hooksCleanup.forEach((u)=>{u?.()}),D.hooksEffect.length=0,D.hooksCleanup.length=0}};function L(D){return r((u)=>{let F=CF.bind(function(B){if(u.get()!==B)u.set(B),oD()});if(u.initialized)return[u.get(),F];let C=typeof D==="function"?D():D;return u.set(C),[C,F]})}function S(D,u){r((F)=>{let C=F.get();if(!Array.isArray(C)||u.some((B,A)=>!Object.is(B,C[A])))g.queue(D);F.set(u)})}import{styleText as x}from"node:util";import j from"node:process";function EF(){if(j.platform!=="win32")return j.env.TERM!=="linux";return Boolean(j.env.WT_SESSION)||Boolean(j.env.TERMINUS_SUBLIME)||j.env.ConEmuTask==="{cmd::Cmder}"||j.env.TERM_PROGRAM==="Terminus-Sublime"||j.env.TERM_PROGRAM==="vscode"||j.env.TERM==="xterm-256color"||j.env.TERM==="alacritty"||j.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var sD={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:"╱"},eD={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:"⅒"},BF={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"},AF={...sD,...eD},$F={...sD,...BF},QF=EF(),XF=QF?AF:$F,o=XF,R0=Object.entries(eD);var Du={prefix:{idle:x("blue","?"),done:x("green",o.tick)},spinner:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"].map((D)=>x("yellow",D))},style:{answer:(D)=>x("cyan",D),message:(D)=>x("bold",D),error:(D)=>x("red",`> ${D}`),defaultAnswer:(D)=>x("dim",`(${D})`),help:(D)=>x("dim",D),highlight:(D)=>x("cyan",D),key:(D)=>x("cyan",x("bold",`<${D}>`))}};function uu(D){if(typeof D!=="object"||D===null)return!1;let u=D;while(Object.getPrototypeOf(u)!==null)u=Object.getPrototypeOf(u);return Object.getPrototypeOf(D)===u}function Fu(...D){let u={};for(let F of D)for(let[C,E]of Object.entries(F)){let B=u[C];u[C]=uu(B)&&uu(E)?Fu(B,E):E}return u}function b(...D){let u=[Du,...D.filter((F)=>F!=null)];return Fu(...u)}function m({status:D="idle",theme:u}){let[F,C]=L(!1),[E,B]=L(0),{prefix:A,spinner:$}=b(u);if(S(()=>{if(D==="loading"){let Q,X=-1,G=setTimeout(()=>{C(!0),Q=setInterval(()=>{X=X+1,B(X%$.frames.length)},$.interval)},300);return()=>{clearTimeout(G),clearInterval(Q)}}else C(!1)},[D]),F)return $.frames[E];return typeof A==="string"?A:A[D==="loading"?"idle":D]??A.idle}function xD(D,u){return r((F)=>{let C=F.get();if(!C||C.dependencies.length!==u.length||C.dependencies.some((E,B)=>E!==u[B])){let E=D();return F.set({value:E,dependencies:u}),E}return C.value})}function QD(D){return L({current:D})[0]}function p(D){let u=QD(D);u.current=D,S((F)=>{let C=!1,E=fD((B,A)=>{if(C)return;u.current(A,F)});return F.input.on("keypress",E),()=>{C=!0,F.input.removeListener("keypress",E)}},[])}var Mu=zD(Eu(),1);function HD({onlyFirst:D=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",D?void 0:"g")}var YF=HD();function uD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(YF,"")}function Bu(D){return D===161||D===164||D===167||D===168||D===170||D===173||D===174||D>=176&&D<=180||D>=182&&D<=186||D>=188&&D<=191||D===198||D===208||D===215||D===216||D>=222&&D<=225||D===230||D>=232&&D<=234||D===236||D===237||D===240||D===242||D===243||D>=247&&D<=250||D===252||D===254||D===257||D===273||D===275||D===283||D===294||D===295||D===299||D>=305&&D<=307||D===312||D>=319&&D<=322||D===324||D>=328&&D<=331||D===333||D===338||D===339||D===358||D===359||D===363||D===462||D===464||D===466||D===468||D===470||D===472||D===474||D===476||D===593||D===609||D===708||D===711||D>=713&&D<=715||D===717||D===720||D>=728&&D<=731||D===733||D===735||D>=768&&D<=879||D>=913&&D<=929||D>=931&&D<=937||D>=945&&D<=961||D>=963&&D<=969||D===1025||D>=1040&&D<=1103||D===1105||D===8208||D>=8211&&D<=8214||D===8216||D===8217||D===8220||D===8221||D>=8224&&D<=8226||D>=8228&&D<=8231||D===8240||D===8242||D===8243||D===8245||D===8251||D===8254||D===8308||D===8319||D>=8321&&D<=8324||D===8364||D===8451||D===8453||D===8457||D===8467||D===8470||D===8481||D===8482||D===8486||D===8491||D===8531||D===8532||D>=8539&&D<=8542||D>=8544&&D<=8555||D>=8560&&D<=8569||D===8585||D>=8592&&D<=8601||D===8632||D===8633||D===8658||D===8660||D===8679||D===8704||D===8706||D===8707||D===8711||D===8712||D===8715||D===8719||D===8721||D===8725||D===8730||D>=8733&&D<=8736||D===8739||D===8741||D>=8743&&D<=8748||D===8750||D>=8756&&D<=8759||D===8764||D===8765||D===8776||D===8780||D===8786||D===8800||D===8801||D>=8804&&D<=8807||D===8810||D===8811||D===8814||D===8815||D===8834||D===8835||D===8838||D===8839||D===8853||D===8857||D===8869||D===8895||D===8978||D>=9312&&D<=9449||D>=9451&&D<=9547||D>=9552&&D<=9587||D>=9600&&D<=9615||D>=9618&&D<=9621||D===9632||D===9633||D>=9635&&D<=9641||D===9650||D===9651||D===9654||D===9655||D===9660||D===9661||D===9664||D===9665||D>=9670&&D<=9672||D===9675||D>=9678&&D<=9681||D>=9698&&D<=9701||D===9711||D===9733||D===9734||D===9737||D===9742||D===9743||D===9756||D===9758||D===9792||D===9794||D===9824||D===9825||D>=9827&&D<=9829||D>=9831&&D<=9834||D===9836||D===9837||D===9839||D===9886||D===9887||D===9919||D>=9926&&D<=9933||D>=9935&&D<=9939||D>=9941&&D<=9953||D===9955||D===9960||D===9961||D>=9963&&D<=9969||D===9972||D>=9974&&D<=9977||D===9979||D===9980||D===9982||D===9983||D===10045||D>=10102&&D<=10111||D>=11094&&D<=11097||D>=12872&&D<=12879||D>=57344&&D<=63743||D>=65024&&D<=65039||D===65533||D>=127232&&D<=127242||D>=127248&&D<=127277||D>=127280&&D<=127337||D>=127344&&D<=127373||D===127375||D===127376||D>=127387&&D<=127404||D>=917760&&D<=917999||D>=983040&&D<=1048573||D>=1048576&&D<=1114109}function Au(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function $u(D){return D>=4352&&D<=4447||D===8986||D===8987||D===9001||D===9002||D>=9193&&D<=9196||D===9200||D===9203||D===9725||D===9726||D===9748||D===9749||D>=9776&&D<=9783||D>=9800&&D<=9811||D===9855||D>=9866&&D<=9871||D===9875||D===9889||D===9898||D===9899||D===9917||D===9918||D===9924||D===9925||D===9934||D===9940||D===9962||D===9970||D===9971||D===9973||D===9978||D===9981||D===9989||D===9994||D===9995||D===10024||D===10060||D===10062||D>=10067&&D<=10069||D===10071||D>=10133&&D<=10135||D===10160||D===10175||D===11035||D===11036||D===11088||D===11093||D>=11904&&D<=11929||D>=11931&&D<=12019||D>=12032&&D<=12245||D>=12272&&D<=12287||D>=12289&&D<=12350||D>=12353&&D<=12438||D>=12441&&D<=12543||D>=12549&&D<=12591||D>=12593&&D<=12686||D>=12688&&D<=12773||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=42124||D>=42128&&D<=42182||D>=43360&&D<=43388||D>=44032&&D<=55203||D>=63744&&D<=64255||D>=65040&&D<=65049||D>=65072&&D<=65106||D>=65108&&D<=65126||D>=65128&&D<=65131||D>=94176&&D<=94180||D>=94192&&D<=94198||D>=94208&&D<=101589||D>=101631&&D<=101662||D>=101760&&D<=101874||D>=110576&&D<=110579||D>=110581&&D<=110587||D===110589||D===110590||D>=110592&&D<=110882||D===110898||D>=110928&&D<=110930||D===110933||D>=110948&&D<=110951||D>=110960&&D<=111355||D>=119552&&D<=119638||D>=119648&&D<=119670||D===126980||D===127183||D===127374||D>=127377&&D<=127386||D>=127488&&D<=127490||D>=127504&&D<=127547||D>=127552&&D<=127560||D===127568||D===127569||D>=127584&&D<=127589||D>=127744&&D<=127776||D>=127789&&D<=127797||D>=127799&&D<=127868||D>=127870&&D<=127891||D>=127904&&D<=127946||D>=127951&&D<=127955||D>=127968&&D<=127984||D===127988||D>=127992&&D<=128062||D===128064||D>=128066&&D<=128252||D>=128255&&D<=128317||D>=128331&&D<=128334||D>=128336&&D<=128359||D===128378||D===128405||D===128406||D===128420||D>=128507&&D<=128591||D>=128640&&D<=128709||D===128716||D>=128720&&D<=128722||D>=128725&&D<=128728||D>=128732&&D<=128735||D===128747||D===128748||D>=128756&&D<=128764||D>=128992&&D<=129003||D===129008||D>=129292&&D<=129338||D>=129340&&D<=129349||D>=129351&&D<=129535||D>=129648&&D<=129660||D>=129664&&D<=129674||D>=129678&&D<=129734||D===129736||D>=129741&&D<=129756||D>=129759&&D<=129770||D>=129775&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function qF(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function Qu(D,{ambiguousAsWide:u=!1}={}){if(qF(D),Au(D)||$u(D)||u&&Bu(D))return 2;return 1}var Gu=zD(Zu(),1),OF=new Intl.Segmenter,WF=/^\p{Default_Ignorable_Code_Point}$/u;function d(D,u={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:C=!1}=u;if(!C)D=uD(D);if(D.length===0)return 0;let E=0,B={ambiguousAsWide:!F};for(let{segment:A}of OF.segment(D)){let $=A.codePointAt(0);if($<=31||$>=127&&$<=159)continue;if($>=8203&&$<=8207||$===65279)continue;if($>=768&&$<=879||$>=6832&&$<=6911||$>=7616&&$<=7679||$>=8400&&$<=8447||$>=65056&&$<=65071)continue;if($>=55296&&$<=57343)continue;if($>=65024&&$<=65039)continue;if(WF.test(A))continue;if(Gu.default().test(A)){E+=2;continue}E+=Qu($,B)}return E}var Yu=(D=0)=>(u)=>`\x1B[${u+D}m`,qu=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,Ou=(D=0)=>(u,F,C)=>`\x1B[${38+D};2;${u};${F};${C}m`,N={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]}},e0=Object.keys(N.modifier),KF=Object.keys(N.color),UF=Object.keys(N.bgColor),D2=[...KF,...UF];function _F(){let D=new Map;for(let[u,F]of Object.entries(N)){for(let[C,E]of Object.entries(F))N[C]={open:`\x1B[${E[0]}m`,close:`\x1B[${E[1]}m`},F[C]=N[C],D.set(E[0],E[1]);Object.defineProperty(N,u,{value:F,enumerable:!1})}return Object.defineProperty(N,"codes",{value:D,enumerable:!1}),N.color.close="\x1B[39m",N.bgColor.close="\x1B[49m",N.color.ansi=Yu(),N.color.ansi256=qu(),N.color.ansi16m=Ou(),N.bgColor.ansi=Yu(10),N.bgColor.ansi256=qu(10),N.bgColor.ansi16m=Ou(10),Object.defineProperties(N,{rgbToAnsi256:{value(u,F,C){if(u===F&&F===C){if(u<8)return 16;if(u>248)return 231;return Math.round((u-8)/247*24)+232}return 16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(C/255*5)},enumerable:!1},hexToRgb:{value(u){let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[C]=F;if(C.length===3)C=[...C].map((B)=>B+B).join("");let E=Number.parseInt(C,16);return[E>>16&255,E>>8&255,E&255]},enumerable:!1},hexToAnsi256:{value:(u)=>N.rgbToAnsi256(...N.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,C,E;if(u>=232)F=((u-232)*10+8)/255,C=F,E=F;else{u-=16;let $=u%36;F=Math.floor(u/36)/5,C=Math.floor($/6)/5,E=$%6/5}let B=Math.max(F,C,E)*2;if(B===0)return 30;let A=30+(Math.round(E)<<2|Math.round(C)<<1|Math.round(F));if(B===2)A+=60;return A},enumerable:!1},rgbToAnsi:{value:(u,F,C)=>N.ansi256ToAnsi(N.rgbToAnsi256(u,F,C)),enumerable:!1},hexToAnsi:{value:(u)=>N.ansi256ToAnsi(N.hexToAnsi256(u)),enumerable:!1}}),N}var zF=_F(),Wu=zF;var ZD=new Set(["\x1B","›"]),MF=39,jD="\x07",_u="[",NF="]",zu="m",XD=`${NF}8;;`,Ku=(D)=>`${ZD.values().next().value}${_u}${D}${zu}`,Uu=(D)=>`${ZD.values().next().value}${XD}${D}${jD}`,RF=(D)=>D.split(" ").map((u)=>d(u)),ID=(D,u,F)=>{let C=[...u],E=!1,B=!1,A=d(uD(D.at(-1)));for(let[$,Z]of C.entries()){let Q=d(Z);if(A+Q<=F)D[D.length-1]+=Z;else D.push(Z),A=0;if(ZD.has(Z))E=!0,B=C.slice($+1,$+1+XD.length).join("")===XD;if(E){if(B){if(Z===jD)E=!1,B=!1}else if(Z===zu)E=!1;continue}if(A+=Q,A===F&&$<C.length-1)D.push(""),A=0}if(!A&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},JF=(D)=>{let u=D.split(" "),F=u.length;while(F>0){if(d(u[F-1])>0)break;F--}if(F===u.length)return D;return u.slice(0,F).join(" ")+u.slice(F).join("")},VF=(D,u,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let C="",E,B,A=RF(D),$=[""];for(let[G,Y]of D.split(" ").entries()){if(F.trim!==!1)$[$.length-1]=$.at(-1).trimStart();let q=d($.at(-1));if(G!==0){if(q>=u&&(F.wordWrap===!1||F.trim===!1))$.push(""),q=0;if(q>0||F.trim===!1)$[$.length-1]+=" ",q++}if(F.hard&&A[G]>u){let K=u-q,U=1+Math.floor((A[G]-K-1)/u);if(Math.floor((A[G]-1)/u)<U)$.push("");ID($,Y,u);continue}if(q+A[G]>u&&q>0&&A[G]>0){if(F.wordWrap===!1&&q<u){ID($,Y,u);continue}$.push("")}if(q+A[G]>u&&F.wordWrap===!1){ID($,Y,u);continue}$[$.length-1]+=Y}if(F.trim!==!1)$=$.map((G)=>JF(G));let Z=$.join(`
4
+ `),Q=[...Z],X=0;for(let[G,Y]of Q.entries()){if(C+=Y,ZD.has(Y)){let{groups:K}=new RegExp(`(?:\\${_u}(?<code>\\d+)m|\\${XD}(?<uri>.*)${jD})`).exec(Z.slice(X))||{groups:{}};if(K.code!==void 0){let U=Number.parseFloat(K.code);E=U===MF?void 0:U}else if(K.uri!==void 0)B=K.uri.length===0?void 0:K.uri}let q=Wu.codes.get(Number(E));if(Q[G+1]===`
5
+ `){if(B)C+=Uu("");if(E&&q)C+=Ku(q)}else if(Y===`
6
+ `){if(E&&q)C+=Ku(E);if(B)C+=Uu(B)}X+=Y.length}return C};function PD(D,u,F){return String(D).normalize().replaceAll(`\r
7
+ `,`
8
+ `).split(`
9
+ `).map((C)=>VF(C,u,F)).join(`
10
+ `)}function FD(D,u){return D.split(`
11
+ `).flatMap((F)=>PD(F,u,{trim:!1,hard:!0}).split(`
12
+ `).map((C)=>C.trimEnd())).join(`
13
+ `)}function GD(){return Mu.default({defaultWidth:80,output:TD().output})}function LF({active:D,renderedItems:u,pageSize:F,loop:C}){let E=QD({lastPointer:D,lastActive:void 0}),{lastPointer:B,lastActive:A}=E.current,$=Math.floor(F/2),Z=u.reduce((G,Y)=>G+Y.length,0),Q=u.slice(0,D).reduce((G,Y)=>G+Y.length,0),X=Q;if(Z>F)if(C){if(X=B,A!=null&&A<D&&D-A<F)X=Math.min($,Math.abs(D-A)===1?Math.min(B+(u[A]?.length??0),Math.max(Q,B)):B+D-A)}else{let G=u.slice(D).reduce((Y,q)=>Y+q.length,0);X=G<F-$?F-G:Math.min(Q,$)}return E.current.lastPointer=X,E.current.lastActive=D,X}function SD({items:D,active:u,renderItem:F,pageSize:C,loop:E=!0}){let B=GD(),A=(O)=>(O%D.length+D.length)%D.length,$=D.map((O,W)=>{if(O==null)return[];return FD(F({item:O,index:W,isActive:W===u}),B).split(`
14
+ `)}),Z=$.reduce((O,W)=>O+W.length,0),Q=(O)=>$[O]??[],X=LF({active:u,renderedItems:$,pageSize:C,loop:E}),G=Q(u).slice(0,C),Y=X+G.length<=C?X:C-G.length,q=Array.from({length:C});q.splice(Y,G.length,...G);let K=new Set([u]),U=Y+G.length,_=A(u+1);while(U<C&&!K.has(_)&&(E&&Z>C?_!==u:_>u)){let W=Q(_).slice(0,C-U);q.splice(U,W.length,...W),K.add(_),U+=W.length,_=A(_+1)}U=Y-1,_=A(u-1);while(U>=0&&!K.has(_)&&(E&&Z>C?_!==u:_<u)){let O=Q(_),W=O.slice(Math.max(0,O.length-U-1));q.splice(U-W.length+1,W.length,...W),K.add(_),U-=W.length,_=A(_-1)}return q.filter((O)=>typeof O==="string").join(`
15
+ `)}var Pu=zD(Ju(),1);import*as ju from"node:readline";import{AsyncResource as PF}from"node:async_hooks";var l=[];l.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")l.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")l.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var YD=(D)=>!!D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function",bD=Symbol.for("signal-exit emitter"),vD=globalThis,fF=Object.defineProperty.bind(Object);class Vu{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(vD[bD])return vD[bD];fF(vD,bD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,u){this.listeners[D].push(u)}removeListener(D,u){let F=this.listeners[D],C=F.indexOf(u);if(C===-1)return;if(C===0&&F.length===1)F.length=0;else F.splice(C,1)}emit(D,u,F){if(this.emitted[D])return!1;this.emitted[D]=!0;let C=!1;for(let E of this.listeners[D])C=E(u,F)===!0||C;if(D==="exit")C=this.emit("afterExit",u,F)||C;return C}}class wD{}var xF=(D)=>{return{onExit(u,F){return D.onExit(u,F)},load(){return D.load()},unload(){return D.unload()}}};class Lu extends wD{onExit(){return()=>{}}load(){}unload(){}}class Tu extends wD{#F=yD.platform==="win32"?"SIGINT":"SIGHUP";#u=new Vu;#D;#B;#A;#E={};#C=!1;constructor(D){super();this.#D=D,this.#E={};for(let u of l)this.#E[u]=()=>{let F=this.#D.listeners(u),{count:C}=this.#u,E=D;if(typeof E.__signal_exit_emitter__==="object"&&typeof E.__signal_exit_emitter__.count==="number")C+=E.__signal_exit_emitter__.count;if(F.length===C){this.unload();let B=this.#u.emit("exit",null,u),A=u==="SIGHUP"?this.#F:u;if(!B)D.kill(D.pid,A)}};this.#A=D.reallyExit,this.#B=D.emit}onExit(D,u){if(!YD(this.#D))return()=>{};if(this.#C===!1)this.load();let F=u?.alwaysLast?"afterExit":"exit";return this.#u.on(F,D),()=>{if(this.#u.removeListener(F,D),this.#u.listeners.exit.length===0&&this.#u.listeners.afterExit.length===0)this.unload()}}load(){if(this.#C)return;this.#C=!0,this.#u.count+=1;for(let D of l)try{let u=this.#E[D];if(u)this.#D.on(D,u)}catch(u){}this.#D.emit=(D,...u)=>{return this.#Q(D,...u)},this.#D.reallyExit=(D)=>{return this.#$(D)}}unload(){if(!this.#C)return;this.#C=!1,l.forEach((D)=>{let u=this.#E[D];if(!u)throw Error("Listener not defined for signal: "+D);try{this.#D.removeListener(D,u)}catch(F){}}),this.#D.emit=this.#B,this.#D.reallyExit=this.#A,this.#u.count-=1}#$(D){if(!YD(this.#D))return 0;return this.#D.exitCode=D||0,this.#u.emit("exit",this.#D.exitCode,null),this.#A.call(this.#D,this.#D.exitCode)}#Q(D,...u){let F=this.#B;if(D==="exit"&&YD(this.#D)){if(typeof u[0]==="number")this.#D.exitCode=u[0];let C=F.call(this.#D,D,...u);return this.#u.emit("exit",this.#D.exitCode,null),C}else return F.call(this.#D,D,...u)}}var yD=globalThis.process,{onExit:fu,load:W2,unload:K2}=xF(YD(yD)?new Tu(yD):new Lu);import{stripVTControlCharacters as IF}from"node:util";var HF="\x1B[G";var Hu="\x1B[?25h",kD=(D=1)=>D>0?`\x1B[${D}A`:"",hD=(D=1)=>D>0?`\x1B[${D}B`:"",gD=(D,u)=>{if(typeof u==="number"&&!Number.isNaN(u))return`\x1B[${u+1};${D+1}H`;return`\x1B[${D+1}G`},xu="\x1B[2K",mD=(D)=>D>0?(xu+kD(1)).repeat(D-1)+xu+HF:"";var Iu=(D)=>D.split(`
16
+ `).length,jF=(D)=>D.split(`
17
+ `).pop()??"";class qD{height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(D){this.rl=D,this.cursorPos=D.getCursorPos()}write(D){this.rl.output.unmute(),this.rl.output.write(D),this.rl.output.mute()}render(D,u=""){let F=jF(D),C=IF(F),E=C;if(this.rl.line.length>0)E=E.slice(0,-this.rl.line.length);this.rl.setPrompt(E),this.cursorPos=this.rl.getCursorPos();let B=GD();if(D=FD(D,B),u=FD(u,B),C.length%B===0)D+=`
18
+ `;let A=D+(u?`
19
+ `+u:""),Z=Math.floor(C.length/B)-this.cursorPos.rows+(u?Iu(u):0);if(Z>0)A+=kD(Z);A+=gD(this.cursorPos.cols),this.write(hD(this.extraLinesUnderPrompt)+mD(this.height)+A),this.extraLinesUnderPrompt=Z,this.height=Iu(A)}checkCursorPos(){let D=this.rl.getCursorPos();if(D.cols!==this.cursorPos.cols)this.write(gD(D.cols)),this.cursorPos=D}done({clearContent:D}){this.rl.setPrompt("");let u=hD(this.extraLinesUnderPrompt);u+=D?mD(this.height):`
20
+ `,u+=Hu,this.write(u),this.rl.close()}}class pD extends Promise{static withResolver(){let D,u;return{promise:new Promise((C,E)=>{D=C,u=E}),resolve:D,reject:u}}}function SF(){let D=Error.prepareStackTrace,u=[];try{Error.prepareStackTrace=(F,C)=>{let E=C.slice(1);return u=E,E},Error().stack}catch{return u}return Error.prepareStackTrace=D,u}function n(D){let u=SF();return(C,E={})=>{let{input:B=process.stdin,signal:A}=E,$=new Set,Z=new Pu.default;Z.pipe(E.output??process.stdout);let Q=ju.createInterface({terminal:!0,input:B,output:Z}),X=new qD(Q),{promise:G,resolve:Y,reject:q}=pD.withResolver(),K=()=>q(new JD);if(A){let O=()=>q(new RD({cause:A.reason}));if(A.aborted)return O(),Object.assign(G,{cancel:K});A.addEventListener("abort",O),$.add(()=>A.removeEventListener("abort",O))}$.add(fu((O,W)=>{q(new $D(`User force closed the prompt with ${O} ${W}`))}));let U=()=>q(new $D("User force closed the prompt with SIGINT"));Q.on("SIGINT",U),$.add(()=>Q.removeListener("SIGINT",U));let _=()=>X.checkCursorPos();return Q.input.on("keypress",_),$.add(()=>Q.input.removeListener("keypress",_)),rD(Q,(O)=>{let W=PF.bind(()=>g.clearAll());return Q.on("close",W),$.add(()=>Q.removeListener("close",W)),O(()=>{try{let M=D(C,(I)=>{setImmediate(()=>Y(I))});if(M===void 0){let I=u[1]?.getFileName();throw Error(`Prompt functions must return a string.
21
+ at ${I}`)}let[z,R]=typeof M==="string"?[M]:M;X.render(z,R),g.run()}catch(M){q(M)}}),Object.assign(G.then((M)=>{return g.clearAll(),M},(M)=>{throw g.clearAll(),M}).finally(()=>{$.forEach((M)=>M()),X.done({clearContent:Boolean(E.clearPromptOnDone)}),Z.end()}).then(()=>G),{cancel:K})})}}import{styleText as bF}from"node:util";class s{separator=bF("dim",Array.from({length:15}).join(o.line));type="separator";constructor(D){if(D)this.separator=D}static isSeparator(D){return Boolean(D&&typeof D==="object"&&"type"in D&&D.type==="separator")}}function Su(D,u){let F=u!==!1;if(/^(y|yes)/i.test(D))F=!0;else if(/^(n|no)/i.test(D))F=!1;return F}function bu(D){return D?"Yes":"No"}var dD=n((D,u)=>{let{transformer:F=bu}=D,[C,E]=L("idle"),[B,A]=L(""),$=b(D.theme),Z=m({status:C,theme:$});p((Y,q)=>{if(C!=="idle")return;if(k(Y)){let K=Su(B,D.default);A(F(K)),E("done"),u(K)}else if(w(Y)){let K=bu(!Su(B,D.default));q.clearLine(0),q.write(K),A(K)}else A(q.line)});let Q=B,X="";if(C==="done")Q=$.style.answer(B);else X=` ${$.style.defaultAnswer(D.default===!1?"y/N":"Y/n")}`;let G=$.style.message(D.message,C);return`${Z} ${G}${X} ${Q}`});var vF={validationFailureMode:"keep"},OD=n((D,u)=>{let{prefill:F="tab"}=D,C=b(vF,D.theme),[E,B]=L("idle"),[A="",$]=L(D.default),[Z,Q]=L(),[X,G]=L(""),Y=m({status:E,theme:C});async function q(W){let{required:M,pattern:z,patternError:R="Invalid input"}=D;if(M&&!W)return"You must provide a value";if(z&&!z.test(W))return R;if(typeof D.validate==="function")return await D.validate(W)||"You must provide a valid value";return!0}p(async(W,M)=>{if(E!=="idle")return;if(k(W)){let z=X||A;B("loading");let R=await q(z);if(R===!0)G(z),B("done"),u(z);else{if(C.validationFailureMode==="clear")G("");else M.write(X);Q(R),B("idle")}}else if(ND(W)&&!X)$(void 0);else if(w(W)&&!X)$(void 0),M.clearLine(0),M.write(A),G(A);else G(M.line),Q(void 0)}),S((W)=>{if(F==="editable"&&A)W.write(A),G(A)},[]);let K=C.style.message(D.message,E),U=X;if(typeof D.transformer==="function")U=D.transformer(X,{isFinal:E==="done"});else if(E==="done")U=C.style.answer(X);let _;if(A&&E!=="done"&&!X)_=C.style.defaultAnswer(A);let O="";if(Z)O=C.style.error(Z);return[[Y,K,_,U].filter((W)=>W!==void 0).join(" "),O]});import{styleText as e}from"node:util";var yF={icon:{cursor:o.pointer},style:{disabled:(D)=>e("dim",`- ${D}`),searchTerm:(D)=>e("cyan",D),description:(D)=>e("cyan",D),keysHelpTip:(D)=>D.map(([u,F])=>`${e("bold",u)} ${e("dim",F)}`).join(e("dim"," • "))}};function lD(D){return!s.isSeparator(D)&&!D.disabled}function wF(D){return D.map((u)=>{if(s.isSeparator(u))return u;if(typeof u==="string")return{value:u,name:u,short:u,disabled:!1};let F=u.name??String(u.value),C={value:u.value,name:F,short:u.short??F,disabled:u.disabled??!1};if(u.description)C.description=u.description;return C})}var CD=n((D,u)=>{let{pageSize:F=7,validate:C=()=>!0}=D,E=b(yF,D.theme),[B,A]=L("loading"),[$,Z]=L(""),[Q,X]=L([]),[G,Y]=L(),q=m({status:B,theme:E}),K=xD(()=>{let J=Q.findIndex(lD),T=Q.findLastIndex(lD);return{first:J,last:T}},[Q]),[U=K.first,_]=L();S(()=>{let J=new AbortController;return A("loading"),Y(void 0),(async()=>{try{let f=await D.source($||void 0,{signal:J.signal});if(!J.signal.aborted)_(void 0),Y(void 0),X(wF(f)),A("idle")}catch(f){if(!J.signal.aborted&&f instanceof Error)Y(f.message)}})(),()=>{J.abort()}},[$]);let O=Q[U];p(async(J,T)=>{if(k(J))if(O){A("loading");let f=await C(O.value);if(A("idle"),f===!0)A("done"),u(O.value);else if(O.name===$)Y(f||"You must provide a valid value");else T.write(O.name),Z(O.name)}else T.write($);else if(w(J)&&O)T.clearLine(0),T.write(O.name),Z(O.name);else if(B!=="loading"&&(DD(J)||AD(J))){if(T.clearLine(0),DD(J)&&U!==K.first||AD(J)&&U!==K.last){let f=DD(J)?-1:1,t=U;do t=(t+f+Q.length)%Q.length;while(!lD(Q[t]));_(t)}}else Z(T.line)});let W=E.style.message(D.message,B),M=E.style.keysHelpTip([["↑↓","navigate"],["⏎","select"]]),z=SD({items:Q,active:U,renderItem({item:J,isActive:T}){if(s.isSeparator(J))return` ${J.separator}`;if(J.disabled){let _D=typeof J.disabled==="string"?J.disabled:"(disabled)";return E.style.disabled(`${J.name} ${_D}`)}let f=T?E.style.highlight:(_D)=>_D,t=T?E.icon.cursor:" ";return f(`${t} ${J.name}`)},pageSize:F,loop:!1}),R;if(G)R=E.style.error(G);else if(Q.length===0&&$!==""&&B==="idle")R=E.style.error("No results found");let I;if(B==="done"&&O)return[q,W,E.style.answer(O.short)].filter(Boolean).join(" ").trimEnd();else I=E.style.searchTerm($);let i=O?.description,ED=[q,W,I].filter(Boolean).join(" ").trimEnd(),BD=[R??z," ",i?E.style.description(i):"",M].filter(Boolean).join(`
22
+ `).trimEnd();return[ED,BD]});import{mkdir as kF}from"node:fs/promises";function V(...D){let u=D.filter(Boolean).map((B,A)=>{let $=B.trim();if(A===0)$=$.replace(/\/+$/g,"");else $=$.replace(/^\/+/g,"").replace(/\/+$/g,"");return $}).filter((B)=>B.length>0);if(u.length===0)return"";let F=u.join("/");return(D.find((B)=>(B??"").trim().length>0)??"").trim().startsWith("/")?F.startsWith("/")?F:`/${F}`:F}function hF(D){let u=Bun.env.HOME||Bun.env.USERPROFILE||"";if(!u)return D;if(D==="~")return u;if(D.startsWith("~/"))return`${u}/${D.slice(2)}`;return D}function vu(D){if(typeof D==="string"&&D.trim())return hF(D.trim());let u=Bun.env.HOME||Bun.env.USERPROFILE||".";return V(u,".work")}async function c(D){await kF(D,{recursive:!0})}async function v(D){await c(D),await c(V(D,"data"))}async function H(D,u){try{let F=Bun.file(D);if(!await F.exists())return u;let E=await F.text();return JSON.parse(E)}catch{return u}}async function y(D,u){let F=JSON.stringify(u,null,2)+`
23
+ `;await Bun.write(D,F)}function P(){return new Date().toISOString()}function yu(D){let u={},F=[];for(let B=0;B<D.length;B++){let A=D[B];if(A.startsWith("--")){let $=A.slice(2),Z=D[B+1];if(!Z||Z.startsWith("-"))u[$]=!0;else u[$]=Z,B++}else F.push(A)}let C=F[0],E=F.slice(1);return{cmd:C,rest:E,flags:u}}import{appendFile as gF,readFile as mF,writeFile as pF,access as dF}from"node:fs/promises";import{constants as lF}from"node:fs";var wu=`id,startAt,endAt,task,note,createdAt,updatedAt,deletedAt
24
+ `;function nF(D){let u=(D??"").toString();if(/[,"\n\r]/.test(u))return`"${u.replace(/"/g,'""')}"`;return u}async function ku(D){try{return await dF(D,lF.F_OK),!0}catch{return!1}}async function hu(D){if(!await ku(D))await pF(D,wu,"utf-8")}async function gu(D,u){let F=[u.id,u.startAt,u.endAt,u.task,u.note,u.createdAt,u.updatedAt,u.deletedAt].map(nF).join(",")+`
25
+ `;await gF(D,F,"utf-8")}function cF(D){if(D.startsWith('"')&&D.endsWith('"'))return D.slice(1,-1).replace(/""/g,'"');return D}function aF(D){let u=[],F="",C=!1;for(let E=0;E<D.length;E++){let B=D[E];if(B==='"'){let A=D[E+1];if(C&&A==='"')F+='"',E++;else C=!C;continue}if(B===","&&!C){u.push(F),F="";continue}F+=B}return u.push(F),u.map(cF)}async function mu(D){if(!await ku(D))return[];let F=(await mF(D,"utf-8")).split(/\r?\n/).filter((B)=>B.trim().length>0);if(F.length<=1)return[];if(F[0]?.trim()!==wu.trim())throw Error(`Unexpected CSV header in ${D}`);let E=[];for(let B=1;B<F.length;B++){let A=aF(F[B]||"");if(A.length<8)continue;E.push({id:A[0]??"",startAt:A[1]??"",endAt:A[2]??"",task:A[3]??"",note:A[4]??"",createdAt:A[5]??"",updatedAt:A[6]??"",deletedAt:A[7]??""})}return E}function WD(D){let u=Math.max(0,Math.floor(D/1000)),F=Math.floor(u/3600),C=Math.floor(u%3600/60),E=u%60;return`${String(F).padStart(2,"0")}:${String(C).padStart(2,"0")}:${String(E).padStart(2,"0")}`}function pu(){console.log(`
26
+ work - minimal time tracking (monthly CSV per project)
27
+
28
+ USAGE:
29
+ work init
30
+ work on [project] [task...]
31
+ work off
32
+ work status
33
+ work info [projectNameOrId] [YYYY-MM] [--export]
34
+ work projects
35
+ work tasks [projectNameOrId]
36
+
37
+ OPTIONS:
38
+ --dir <path> Data directory (default ~/.work)
39
+ --yes Skip confirmations (auto-switch)
40
+ --export Export summary CSV (work info)
41
+ `)}async function iF(){let{cmd:D,rest:u,flags:F}=yu(process.argv.slice(2));if(!D||D==="--help"||D==="-h")pu(),process.exit(0);let C=vu(F.dir);switch(D){case"init":await tF(C);return;case"on":await sF(C,u,F);return;case"off":await eF(C);return;case"status":await D0(C);return;case"info":await u0(C,u,F);return;case"projects":await rF(C);return;case"tasks":await oF(C,u);return;default:console.error(`Unknown command: ${D}`),pu(),process.exit(1)}}async function tF(D){await v(D);let u=V(D,"projects.json"),F=V(D,"running.json"),C=await H(u,{projects:[]}),E=await H(F,{session:null});await y(u,C),await y(F,E),console.log(`Initialized: ${D}`)}async function rF(D){await v(D);let u=V(D,"projects.json"),F=await H(u,{projects:[]});if(!F.projects.length){console.log("No projects yet. Use: work on (create one)");return}let C=[...F.projects].sort((E,B)=>E.name.localeCompare(B.name));console.log("Projects"),console.log("--------");for(let E of C)console.log(`${E.name} (${E.id})`)}async function oF(D,u){await v(D);let F=V(D,"projects.json"),C=await H(F,{projects:[]}),E=u[0]?.trim(),B=E?du(C,E):await lu(C);if(!B)console.error("Project not found."),process.exit(1);let A=await UD(D,B.id);if(!A.tasks.length){console.log(`No tasks for project "${B.name}" yet.`);return}let $=[...A.tasks].sort((Q,X)=>{let G=Q.count??0,Y=X.count??0;if(Y!==G)return Y-G;let q=Q.lastUsedAt?Date.parse(Q.lastUsedAt):0,K=X.lastUsedAt?Date.parse(X.lastUsedAt):0;if(K!==q)return K-q;return Q.name.localeCompare(X.name)});console.log(`Tasks for ${B.name}`),console.log("-".repeat(`Tasks for ${B.name}`.length));let Z=$.map((Q)=>[Q.name,String(Q.count??0),Q.lastUsedAt??""]);cD(["Task","Count","Last used"],Z)}async function sF(D,u,F){await v(D);let C=V(D,"projects.json"),E=V(D,"running.json"),B=await H(C,{projects:[]}),A=await H(E,{session:null}),$=u[0]?.trim(),Z=u.slice(1).join(" ").trim(),Q=$?await F0(B,C,$):await C0(B,C),X=Z?await cu(D,Q.id,Z):await E0(D,Q.id,Q.name);if(A.session){let Y=A.session;if(Y.projectId===Q.id&&Y.task===X){let q=WD(Date.now()-Date.parse(Y.startAt)-(Y.pausedMs??0));console.log(`Already working on ${Q.name}${X?" \u2022 "+X:""} (${q})`);return}if(!F.yes){let q=WD(Date.now()-Date.parse(Y.startAt)-(Y.pausedMs??0));if(console.log(`You are already working on:
42
+ ${Y.projectName}${Y.task?" \u2022 "+Y.task:""}
43
+ started: ${Y.startAt}
44
+ elapsed: ${q}
45
+
46
+ Switch to:
47
+ ${Q.name}${X?" \u2022 "+X:""}
48
+ `),!await dD({message:"Stop current and start the new one now?",default:!1}))console.log("Cancelled."),process.exit(2)}await au(D,Y,P()),A.session=null}let G={id:crypto.randomUUID(),projectId:Q.id,projectName:Q.name,task:X,startAt:P(),pausedAt:null,pausedMs:0,note:""};await y(E,{session:G}),console.log(`Working on ${Q.name}${X?" \u2022 "+X:""}`)}async function eF(D){await v(D);let u=V(D,"running.json"),F=await H(u,{session:null});if(!F.session)console.error("No active session."),process.exit(1);await au(D,F.session,P()),await y(u,{session:null}),console.log("Stopped.")}async function D0(D){await v(D);let u=V(D,"running.json"),F=await H(u,{session:null});if(!F.session){console.log("No active session.");return}let C=F.session,E=C.pausedMs??0,B=WD(Date.now()-Date.parse(C.startAt)-E);console.log(`Running: ${C.projectName}${C.task?" \u2022 "+C.task:""}
49
+ Started: ${C.startAt}
50
+ Elapsed: ${B}${C.pausedAt?" (paused)":""}`)}async function u0(D,u,F){await v(D);let C=V(D,"projects.json"),E=await H(C,{projects:[]}),B=u[0]?.trim(),A=u[1]?.trim(),$=null,Z=null;if(B&&/^\d{4}-\d{2}$/.test(B))Z=B;else if(B)$=B;if(A&&/^\d{4}-\d{2}$/.test(A))Z=A;let Q=Z??iu(new Date),X=$!=null?du(E,$):await lu(E);if(!X)console.error("Project not found."),process.exit(1);let G=V(D,"data",X.id),Y=V(G,`${Q}.csv`),K=(await mu(Y)).filter((z)=>!z.deletedAt),U=new Map,_=new Map,O=0;for(let z of K){let R=Date.parse(z.startAt),I=Date.parse(z.endAt);if(!Number.isFinite(R)||!Number.isFinite(I)||I<=R)continue;let i=I-R;O+=i;let ED=B0(new Date(R));U.set(ED,(U.get(ED)??0)+i);let BD=(z.task??"").trim()||"(no task)";_.set(BD,(_.get(BD)??0)+i)}let W=A0(U).map(([z,R])=>({key:z,ms:R,pretty:KD(R)})),M=$0(_).map(([z,R])=>({key:z,ms:R,pretty:KD(R)}));if(console.log(`
51
+ Project: ${X.name}`),console.log(`Month: ${Q}`),console.log(`Total: ${KD(O)}
52
+ `),console.log("By day"),cD(["Day","Time"],W.map((z)=>[z.key,z.pretty])),console.log(`
53
+ By task`),cD(["Task","Time"],M.map((z)=>[z.key,z.pretty])),F.export){await c(G);let z=V(G,`${Q}-info.csv`),R=Q0(X.name,Q,O,W,M);await Bun.write(z,R),console.log(`
54
+ Exported: ${z}`)}}function du(D,u){let F=u.trim().toLowerCase();return D.projects.find((C)=>C.id.toLowerCase()===F)??D.projects.find((C)=>C.name.toLowerCase()===F)??null}async function lu(D){if(!D.projects.length)console.error("No projects found. Use: work on (create one)"),process.exit(1);let u=await CD({message:"Select a project",source:async(F)=>{let C=(F??"").toLowerCase();return D.projects.filter((E)=>E.name.toLowerCase().includes(C)).map((E)=>({name:E.name,value:E.id,description:E.id}))}});return D.projects.find((F)=>F.id===u)??null}async function F0(D,u,F){let C=F.trim(),E=D.projects.find((A)=>A.name.toLowerCase()===C.toLowerCase());if(E)return E;let B={id:crypto.randomUUID(),name:C,createdAt:P()};return D.projects.push(B),await y(u,D),B}async function C0(D,u){let F=await CD({message:"Select a project",source:async(E)=>{let B=(E??"").toLowerCase();return[...D.projects.filter(($)=>$.name.toLowerCase().includes(B)).map(($)=>({name:$.name,value:$.id,description:$.id})),{name:"\u2795 Create new project\u2026",value:"__create__"}]}});if(F==="__create__"){let E=(await OD({message:"New project name",validate:(A)=>A.trim().length?!0:"Required"})).trim(),B={id:crypto.randomUUID(),name:E,createdAt:P()};return D.projects.push(B),await y(u,D),B}let C=D.projects.find((E)=>E.id===F);if(!C)throw Error("Project selection failed");return C}async function UD(D,u){let F=V(D,"data",u);await c(F);let C=V(F,"tasks.json");return await H(C,{tasks:[]})}async function nu(D,u,F){let C=V(D,"data",u);await c(C);let E=V(C,"tasks.json");await y(E,F)}async function cu(D,u,F){let C=await UD(D,u),E=F.trim(),B=C.tasks.find((A)=>A.name.toLowerCase()===E.toLowerCase());if(B)return B.name;return C.tasks.push({name:E,count:0,lastUsedAt:null,createdAt:P()}),await nu(D,u,C),E}async function E0(D,u,F){let C=await UD(D,u),E=await CD({message:`Select a task for "${F}"`,source:async(B)=>{let A=(B??"").toLowerCase();return[...[...C.tasks].sort((Z,Q)=>{let X=Z.lastUsedAt?Date.parse(Z.lastUsedAt):0,G=Q.lastUsedAt?Date.parse(Q.lastUsedAt):0;if(G!==X)return G-X;return Z.name.localeCompare(Q.name)}).filter((Z)=>Z.name.toLowerCase().includes(A)).map((Z)=>({name:Z.name,value:Z.name})),{name:"\u2795 Create new task\u2026",value:"__create__"}]}});if(E==="__create__"){let B=(await OD({message:"New task name",validate:(A)=>A.trim().length?!0:"Required"})).trim();return await cu(D,u,B),B}return E}async function au(D,u,F){let C=V(D,"data",u.projectId);await c(C);let E=await UD(D,u.projectId),B=E.tasks.find((X)=>X.name.toLowerCase()===u.task.toLowerCase());if(B)B.count=(B.count??0)+1,B.lastUsedAt=P();else if(u.task.trim())E.tasks.push({name:u.task,count:1,lastUsedAt:P(),createdAt:P()});await nu(D,u.projectId,E);let A=new Date(Date.parse(F)),$=iu(A),Z=V(C,`${$}.csv`);await hu(Z);let Q={id:u.id,startAt:u.startAt,endAt:F,task:u.task,note:u.note??"",createdAt:u.startAt,updatedAt:F,deletedAt:""};await gu(Z,Q)}function nD(D){return String(D).padStart(2,"0")}function iu(D){return`${D.getFullYear()}-${nD(D.getMonth()+1)}`}function B0(D){return`${D.getFullYear()}-${nD(D.getMonth()+1)}-${nD(D.getDate())}`}function KD(D){let u=Math.round(D/60000),F=Math.floor(u/60),C=u%60;if(F===0)return`${C}m`;if(C===0)return`${F}h`;return`${F}h ${String(C).padStart(2,"0")}m`}function A0(D){return[...D.entries()].sort((u,F)=>u[0].localeCompare(F[0]))}function $0(D){return[...D.entries()].sort((u,F)=>F[1]-u[1])}function cD(D,u){let F=D.map((E,B)=>Math.max(E.length,...u.map((A)=>(A[B]??"").length))),C=(E)=>E.map((B,A)=>(B??"").padEnd(F[A]||0)).join(" ").trimEnd();console.log(C(D)),console.log(F.map((E)=>"-".repeat(E)).join(" "));for(let E of u)console.log(C(E))}function Q0(D,u,F,C,E){let B=[];B.push(`meta,project,${a(D)}`),B.push(`meta,month,${a(u)}`),B.push(`meta,total,${a(KD(F))}`),B.push(""),B.push("type,key,durationMinutes,duration");for(let A of C)B.push(`day,${a(A.key)},${Math.round(A.ms/60000)},${a(A.pretty)}`);for(let A of E)B.push(`task,${a(A.key)},${Math.round(A.ms/60000)},${a(A.pretty)}`);return B.join(`
55
+ `)+`
56
+ `}function a(D){if(/[,"\n\r]/.test(D))return`"${D.replace(/"/g,'""')}"`;return D}process.on("uncaughtException",(D)=>{if(D instanceof Error&&D.name==="ExitPromptError")console.log("\uD83D\uDC4B until next time!");else throw D});await iF();
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@vibecoded/work",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Work: CLI Time Tracker",
5
- "module": "index.ts",
5
+ "module": "src/index.ts",
6
6
  "scripts": {
7
- "build": "bun build ./src/index.ts --compile --outfile=dist/work",
7
+ "build": "bun build ./src/cli.ts --outdir=dist --target=node --minify",
8
8
  "prepublishOnly": "bun run build"
9
9
  },
10
10
  "devDependencies": {
@@ -19,12 +19,11 @@
19
19
  "@inquirer/prompts": "^8.1.0"
20
20
  },
21
21
  "bin": {
22
- "work": "dist/work"
22
+ "work": "dist/cli.js"
23
23
  },
24
24
  "files": [
25
25
  "dist",
26
- "README.md",
27
- "LICENSE"
26
+ "README.md"
28
27
  ],
29
28
  "publishConfig": {
30
29
  "access": "public"
package/dist/work DELETED
Binary file