slack-term 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/cli.js +67 -66
- package/package.json +1 -1
- package/ts/cli.ts +38 -9
- package/ts/format.ts +90 -1
- package/ts/slack.ts +20 -0
package/dist/cli.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
import{createRequire as y1}from"node:module";var I1=Object.create;var{getPrototypeOf:b1,defineProperty:x0,getOwnPropertyNames:f1}=Object;var h1=Object.prototype.hasOwnProperty;function v1(D){return this[D]}var p1,m1,I0=(D,u,F)=>{var E=D!=null&&typeof D==="object";if(E){var C=u?p1??=new WeakMap:m1??=new WeakMap,B=C.get(D);if(B)return B}F=D!=null?I1(b1(D)):{};let $=u||!D||!D.__esModule?x0(F,"default",{value:D,enumerable:!0}):F;for(let z of f1(D))if(!h1.call($,z))x0($,z,{get:v1.bind(D,z),enumerable:!0});if(E)C.set(D,$);return $};var b0=(D,u)=>()=>(u||D((u={exports:{}}).exports,u),u.exports);var vD=y1(import.meta.url);var a0=b0((x7,r0)=>{r0.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 A2=b0((q9,j2)=>{j2.exports=function(u){if(u===void 0)u=2;if(u>=Error.stackTraceLimit)throw TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+u+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");var F=Error.prepareStackTrace;Error.prepareStackTrace=function(C,B){return B};var E=Error().stack;if(Error.prepareStackTrace=F,E!==null&&typeof E==="object")return E[u]?E[u].getFileName():void 0}});import{createHash as h6}from"crypto";import{existsSync as R1,readFileSync as v6,mkdirSync as p6,writeFileSync as m6}from"fs";import{homedir as N1}from"os";import{join as Wu}from"path";import{notStrictEqual as L3,strictEqual as N3}from"assert";var c1={right:d1,center:i1};class h0{constructor(D){var u;this.width=D.width,this.wrap=(u=D.wrap)!==null&&u!==void 0?u:!0,this.rows=[]}span(...D){let u=this.div(...D);u.span=!0}resetOutput(){this.rows=[]}div(...D){if(D.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...D)&&typeof D[0]==="string")return this.applyLayoutDSL(D[0]);let u=D.map((F)=>{if(typeof F==="string")return this.colFromString(F);return F});return this.rows.push(u),u}shouldApplyLayoutDSL(...D){return D.length===1&&typeof D[0]==="string"&&/[\t\n]/.test(D[0])}applyLayoutDSL(D){let u=D.split(`
|
|
4
|
-
`).map((E)=>E.split("\t")),F=0;return u.forEach((E)=>{if(E.length>1&&
|
|
5
|
-
`)}rowToString(D,u){return this.rasterize(D).forEach((F,E)=>{let C="";F.forEach((B,$)=>{let{width:z}=D[$],Z=this.negatePadding(D[$]),G=B;if(Z>
|
|
3
|
+
import{createRequire as l1}from"node:module";var c1=Object.create;var{getPrototypeOf:g1,defineProperty:v0,getOwnPropertyNames:k1}=Object;var d1=Object.prototype.hasOwnProperty;function i1(D){return this[D]}var n1,t1,p0=(D,u,F)=>{var E=D!=null&&typeof D==="object";if(E){var C=u?n1??=new WeakMap:t1??=new WeakMap,B=C.get(D);if(B)return B}F=D!=null?c1(g1(D)):{};let $=u||!D||!D.__esModule?v0(F,"default",{value:D,enumerable:!0}):F;for(let z of k1(D))if(!d1.call($,z))v0($,z,{get:i1.bind(D,z),enumerable:!0});if(E)C.set(D,$);return $};var m0=(D,u)=>()=>(u||D((u={exports:{}}).exports,u),u.exports);var vD=l1(import.meta.url);var E2=m0((y7,F2)=>{F2.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 S2=m0((T9,T2)=>{T2.exports=function(u){if(u===void 0)u=2;if(u>=Error.stackTraceLimit)throw TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+u+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");var F=Error.prepareStackTrace;Error.prepareStackTrace=function(C,B){return B};var E=Error().stack;if(Error.prepareStackTrace=F,E!==null&&typeof E==="object")return E[u]?E[u].getFileName():void 0}});import{createHash as d6}from"crypto";import{existsSync as f1,readFileSync as i6,mkdirSync as n6,writeFileSync as t6}from"fs";import{homedir as b1}from"os";import{join as Wu}from"path";import{notStrictEqual as I3,strictEqual as b3}from"assert";var o1={right:a1,center:e1};class c0{constructor(D){var u;this.width=D.width,this.wrap=(u=D.wrap)!==null&&u!==void 0?u:!0,this.rows=[]}span(...D){let u=this.div(...D);u.span=!0}resetOutput(){this.rows=[]}div(...D){if(D.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...D)&&typeof D[0]==="string")return this.applyLayoutDSL(D[0]);let u=D.map((F)=>{if(typeof F==="string")return this.colFromString(F);return F});return this.rows.push(u),u}shouldApplyLayoutDSL(...D){return D.length===1&&typeof D[0]==="string"&&/[\t\n]/.test(D[0])}applyLayoutDSL(D){let u=D.split(`
|
|
4
|
+
`).map((E)=>E.split("\t")),F=0;return u.forEach((E)=>{if(E.length>1&&VD.stringWidth(E[0])>F)F=Math.min(Math.floor(this.width*0.5),VD.stringWidth(E[0]))}),u.forEach((E)=>{this.div(...E.map((C,B)=>{return{text:C.trim(),padding:this.measurePadding(C),width:B===0&&E.length>1?F:void 0}}))}),this.rows[this.rows.length-1]}colFromString(D){return{text:D,padding:this.measurePadding(D)}}measurePadding(D){let u=VD.stripAnsi(D);return[0,u.match(/\s*$/)[0].length,0,u.match(/^\s*/)[0].length]}toString(){let D=[];return this.rows.forEach((u)=>{this.rowToString(u,D)}),D.filter((u)=>!u.hidden).map((u)=>u.text).join(`
|
|
5
|
+
`)}rowToString(D,u){return this.rasterize(D).forEach((F,E)=>{let C="";F.forEach((B,$)=>{let{width:z}=D[$],Z=this.negatePadding(D[$]),G=B;if(Z>VD.stringWidth(B))G+=" ".repeat(Z-VD.stringWidth(B));if(D[$].align&&D[$].align!=="left"&&this.wrap){let J=o1[D[$].align];if(G=J(G,Z),VD.stringWidth(G)<Z)G+=" ".repeat((z||0)-VD.stringWidth(G)-1)}let Q=D[$].padding||[0,0,0,0];if(Q[3])C+=" ".repeat(Q[3]);if(C+=y0(D[$],G,"| "),C+=G,C+=y0(D[$],G," |"),Q[1])C+=" ".repeat(Q[1]);if(E===0&&u.length>0)C=this.renderInline(C,u[u.length-1])}),u.push({text:C.replace(/ +$/,""),span:D.span})}),u}renderInline(D,u){let F=D.match(/^ */),E=F?F[0].length:0,C=u.text,B=VD.stringWidth(C.trimRight());if(!u.span)return D;if(!this.wrap)return u.hidden=!0,C+D;if(E<B)return D;return u.hidden=!0,C.trimRight()+" ".repeat(E-B)+D.trimLeft()}rasterize(D){let u=[],F=this.columnWidths(D),E;return D.forEach((C,B)=>{if(C.width=F[B],this.wrap)E=VD.wrap(C.text,this.negatePadding(C),{hard:!0}).split(`
|
|
6
6
|
`);else E=C.text.split(`
|
|
7
|
-
`);if(C.border)E.unshift("."+"-".repeat(this.negatePadding(C)+2)+"."),E.push("'"+"-".repeat(this.negatePadding(C)+2)+"'");if(C.padding)E.unshift(...Array(C.padding[0]||0).fill("")),E.push(...Array(C.padding[2]||0).fill(""));E.forEach(($,z)=>{if(!u[z])u.push([]);let Z=u[z];for(let G=0;G<B;G++)if(Z[G]===void 0)Z.push("");Z.push($)})}),u}negatePadding(D){let u=D.width||0;if(D.padding)u-=(D.padding[3]||0)+(D.padding[1]||0);if(D.border)u-=4;return u}columnWidths(D){if(!this.wrap)return D.map((B)=>{return B.width||HD.stringWidth(B.text)});let u=D.length,F=this.width,E=D.map((B)=>{if(B.width)return u--,F-=B.width,B.width;return}),C=u?Math.floor(F/u):0;return E.map((B,$)=>{if(B===void 0)return Math.max(C,g1(D[$]));return B})}}function f0(D,u,F){if(D.border){if(/[.']-+[.']/.test(u))return"";if(u.trim().length!==0)return F;return" "}return""}function g1(D){let u=D.padding||[],F=1+(u[3]||0)+(u[1]||0);if(D.border)return F+4;return F}function k1(){if(typeof process==="object"&&process.stdout&&process.stdout.columns)return process.stdout.columns;return 80}function d1(D,u){D=D.trim();let F=HD.stringWidth(D);if(F<u)return" ".repeat(u-F)+D;return D}function i1(D,u){D=D.trim();let F=HD.stringWidth(D);if(F>=u)return D;return" ".repeat(u-F>>1)+D}var HD;function v0(D,u){return HD=u,new h0({width:(D===null||D===void 0?void 0:D.width)||k1(),wrap:D===null||D===void 0?void 0:D.wrap})}function LF({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 n1=LF();function lD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);if(!D.includes("\x1B")&&!D.includes(""))return D;return D.replace(n1,"")}var p0=161,m0=1114109,y0=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],c0=12288,g0=65510,k0=[12288,12288,65281,65376,65504,65510];var d0=4352,i0=262141,NF=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var ku=(D,u)=>{let F=0,E=Math.floor(D.length/2)-1;while(F<=E){let C=Math.floor((F+E)/2),B=C*2;if(u<D[B])E=C-1;else if(u>D[B+1])F=C+1;else return!0}return!1};var n0=19968,[t1,l1]=o1(NF);function o1(D){let u=D[0],F=D[1];for(let E=0;E<D.length;E+=2){let C=D[E],B=D[E+1];if(n0>=C&&n0<=B)return[C,B];if(B-C>F-u)u=C,F=B}return[u,F]}var t0=(D)=>{if(D<p0||D>m0)return!1;return ku(y0,D)},l0=(D)=>{if(D<c0||D>g0)return!1;return ku(k0,D)};var o0=(D)=>{if(D>=t1&&D<=l1)return!0;if(D<d0||D>i0)return!1;return ku(NF,D)};function s1(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function s0(D,{ambiguousAsWide:u=!1}={}){if(s1(D),l0(D)||o0(D)||u&&t0(D))return 2;return 1}var e0=I0(a0(),1),r1=new Intl.Segmenter,a1=/^\p{Default_Ignorable_Code_Point}$/u;function RD(D,u={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:E=!1}=u;if(!E)D=lD(D);if(D.length===0)return 0;let C=0,B={ambiguousAsWide:!F};for(let{segment:$}of r1.segment(D)){let z=$.codePointAt(0);if(z<=31||z>=127&&z<=159)continue;if(z>=8203&&z<=8207||z===65279)continue;if(z>=768&&z<=879||z>=6832&&z<=6911||z>=7616&&z<=7679||z>=8400&&z<=8447||z>=65056&&z<=65071)continue;if(z>=55296&&z<=57343)continue;if(z>=65024&&z<=65039)continue;if(a1.test($))continue;if(e0.default().test($)){C+=2;continue}C+=s0(z,B)}return C}var D2=(D=0)=>(u)=>`\x1B[${u+D}m`,u2=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,F2=(D=0)=>(u,F,E)=>`\x1B[${38+D};2;${u};${F};${E}m`,r={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]}},h7=Object.keys(r.modifier),e1=Object.keys(r.color),D3=Object.keys(r.bgColor),v7=[...e1,...D3];function u3(){let D=new Map;for(let[u,F]of Object.entries(r)){for(let[E,C]of Object.entries(F))r[E]={open:`\x1B[${C[0]}m`,close:`\x1B[${C[1]}m`},F[E]=r[E],D.set(C[0],C[1]);Object.defineProperty(r,u,{value:F,enumerable:!1})}return Object.defineProperty(r,"codes",{value:D,enumerable:!1}),r.color.close="\x1B[39m",r.bgColor.close="\x1B[49m",r.color.ansi=D2(),r.color.ansi256=u2(),r.color.ansi16m=F2(),r.bgColor.ansi=D2(10),r.bgColor.ansi256=u2(10),r.bgColor.ansi16m=F2(10),Object.defineProperties(r,{rgbToAnsi256:{value(u,F,E){if(u===F&&F===E){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(E/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[E]=F;if(E.length===3)E=[...E].map((B)=>B+B).join("");let C=Number.parseInt(E,16);return[C>>16&255,C>>8&255,C&255]},enumerable:!1},hexToAnsi256:{value:(u)=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,E,C;if(u>=232)F=((u-232)*10+8)/255,E=F,C=F;else{u-=16;let z=u%36;F=Math.floor(u/36)/5,E=Math.floor(z/6)/5,C=z%6/5}let B=Math.max(F,E,C)*2;if(B===0)return 30;let $=30+(Math.round(C)<<2|Math.round(E)<<1|Math.round(F));if(B===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(u,F,E)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,E)),enumerable:!1},hexToAnsi:{value:(u)=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:!1}}),r}var F3=u3(),E2=F3;var iu=new Set(["\x1B",""]),E3=39,TF="\x07",$2="[",C3="]",z2="m",du=`${C3}8;;`,C2=(D)=>`${iu.values().next().value}${$2}${D}${z2}`,B2=(D)=>`${iu.values().next().value}${du}${D}${TF}`,B3=(D)=>D.split(" ").map((u)=>RD(u)),RF=(D,u,F)=>{let E=[...u],C=!1,B=!1,$=RD(lD(D.at(-1)));for(let[z,Z]of E.entries()){let G=RD(Z);if($+G<=F)D[D.length-1]+=Z;else D.push(Z),$=0;if(iu.has(Z))C=!0,B=E.slice(z+1,z+1+du.length).join("")===du;if(C){if(B){if(Z===TF)C=!1,B=!1}else if(Z===z2)C=!1;continue}if($+=G,$===F&&z<E.length-1)D.push(""),$=0}if(!$&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},$3=(D)=>{let u=D.split(" "),F=u.length;while(F>0){if(RD(u[F-1])>0)break;F--}if(F===u.length)return D;return u.slice(0,F).join(" ")+u.slice(F).join("")},z3=(D,u,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let E="",C,B,$=B3(D),z=[""];for(let[J,Y]of D.split(" ").entries()){if(F.trim!==!1)z[z.length-1]=z.at(-1).trimStart();let W=RD(z.at(-1));if(J!==0){if(W>=u&&(F.wordWrap===!1||F.trim===!1))z.push(""),W=0;if(W>0||F.trim===!1)z[z.length-1]+=" ",W++}if(F.hard&&$[J]>u){let H=u-W,O=1+Math.floor(($[J]-H-1)/u);if(Math.floor(($[J]-1)/u)<O)z.push("");RF(z,Y,u);continue}if(W+$[J]>u&&W>0&&$[J]>0){if(F.wordWrap===!1&&W<u){RF(z,Y,u);continue}z.push("")}if(W+$[J]>u&&F.wordWrap===!1){RF(z,Y,u);continue}z[z.length-1]+=Y}if(F.trim!==!1)z=z.map((J)=>$3(J));let Z=z.join(`
|
|
8
|
-
`),G=[...Z],Q=0;for(let[J,
|
|
9
|
-
`){if(B)E+=
|
|
10
|
-
`){if(C&&W)E+=
|
|
7
|
+
`);if(C.border)E.unshift("."+"-".repeat(this.negatePadding(C)+2)+"."),E.push("'"+"-".repeat(this.negatePadding(C)+2)+"'");if(C.padding)E.unshift(...Array(C.padding[0]||0).fill("")),E.push(...Array(C.padding[2]||0).fill(""));E.forEach(($,z)=>{if(!u[z])u.push([]);let Z=u[z];for(let G=0;G<B;G++)if(Z[G]===void 0)Z.push("");Z.push($)})}),u}negatePadding(D){let u=D.width||0;if(D.padding)u-=(D.padding[3]||0)+(D.padding[1]||0);if(D.border)u-=4;return u}columnWidths(D){if(!this.wrap)return D.map((B)=>{return B.width||VD.stringWidth(B.text)});let u=D.length,F=this.width,E=D.map((B)=>{if(B.width)return u--,F-=B.width,B.width;return}),C=u?Math.floor(F/u):0;return E.map((B,$)=>{if(B===void 0)return Math.max(C,s1(D[$]));return B})}}function y0(D,u,F){if(D.border){if(/[.']-+[.']/.test(u))return"";if(u.trim().length!==0)return F;return" "}return""}function s1(D){let u=D.padding||[],F=1+(u[3]||0)+(u[1]||0);if(D.border)return F+4;return F}function r1(){if(typeof process==="object"&&process.stdout&&process.stdout.columns)return process.stdout.columns;return 80}function a1(D,u){D=D.trim();let F=VD.stringWidth(D);if(F<u)return" ".repeat(u-F)+D;return D}function e1(D,u){D=D.trim();let F=VD.stringWidth(D);if(F>=u)return D;return" ".repeat(u-F>>1)+D}var VD;function g0(D,u){return VD=u,new c0({width:(D===null||D===void 0?void 0:D.width)||r1(),wrap:D===null||D===void 0?void 0:D.wrap})}function NF({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 D3=NF();function lD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);if(!D.includes("\x1B")&&!D.includes(""))return D;return D.replace(D3,"")}var k0=161,d0=1114109,i0=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],n0=12288,t0=65510,l0=[12288,12288,65281,65376,65504,65510];var o0=4352,s0=262141,RF=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var ku=(D,u)=>{let F=0,E=Math.floor(D.length/2)-1;while(F<=E){let C=Math.floor((F+E)/2),B=C*2;if(u<D[B])E=C-1;else if(u>D[B+1])F=C+1;else return!0}return!1};var r0=19968,[u3,F3]=E3(RF);function E3(D){let u=D[0],F=D[1];for(let E=0;E<D.length;E+=2){let C=D[E],B=D[E+1];if(r0>=C&&r0<=B)return[C,B];if(B-C>F-u)u=C,F=B}return[u,F]}var a0=(D)=>{if(D<k0||D>d0)return!1;return ku(i0,D)},e0=(D)=>{if(D<n0||D>t0)return!1;return ku(l0,D)};var D2=(D)=>{if(D>=u3&&D<=F3)return!0;if(D<o0||D>s0)return!1;return ku(RF,D)};function C3(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function u2(D,{ambiguousAsWide:u=!1}={}){if(C3(D),e0(D)||D2(D)||u&&a0(D))return 2;return 1}var C2=p0(E2(),1),B3=new Intl.Segmenter,$3=/^\p{Default_Ignorable_Code_Point}$/u;function RD(D,u={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:E=!1}=u;if(!E)D=lD(D);if(D.length===0)return 0;let C=0,B={ambiguousAsWide:!F};for(let{segment:$}of B3.segment(D)){let z=$.codePointAt(0);if(z<=31||z>=127&&z<=159)continue;if(z>=8203&&z<=8207||z===65279)continue;if(z>=768&&z<=879||z>=6832&&z<=6911||z>=7616&&z<=7679||z>=8400&&z<=8447||z>=65056&&z<=65071)continue;if(z>=55296&&z<=57343)continue;if(z>=65024&&z<=65039)continue;if($3.test($))continue;if(C2.default().test($)){C+=2;continue}C+=u2(z,B)}return C}var B2=(D=0)=>(u)=>`\x1B[${u+D}m`,$2=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,z2=(D=0)=>(u,F,E)=>`\x1B[${38+D};2;${u};${F};${E}m`,r={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]}},d7=Object.keys(r.modifier),z3=Object.keys(r.color),G3=Object.keys(r.bgColor),i7=[...z3,...G3];function Z3(){let D=new Map;for(let[u,F]of Object.entries(r)){for(let[E,C]of Object.entries(F))r[E]={open:`\x1B[${C[0]}m`,close:`\x1B[${C[1]}m`},F[E]=r[E],D.set(C[0],C[1]);Object.defineProperty(r,u,{value:F,enumerable:!1})}return Object.defineProperty(r,"codes",{value:D,enumerable:!1}),r.color.close="\x1B[39m",r.bgColor.close="\x1B[49m",r.color.ansi=B2(),r.color.ansi256=$2(),r.color.ansi16m=z2(),r.bgColor.ansi=B2(10),r.bgColor.ansi256=$2(10),r.bgColor.ansi16m=z2(10),Object.defineProperties(r,{rgbToAnsi256:{value(u,F,E){if(u===F&&F===E){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(E/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[E]=F;if(E.length===3)E=[...E].map((B)=>B+B).join("");let C=Number.parseInt(E,16);return[C>>16&255,C>>8&255,C&255]},enumerable:!1},hexToAnsi256:{value:(u)=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,E,C;if(u>=232)F=((u-232)*10+8)/255,E=F,C=F;else{u-=16;let z=u%36;F=Math.floor(u/36)/5,E=Math.floor(z/6)/5,C=z%6/5}let B=Math.max(F,E,C)*2;if(B===0)return 30;let $=30+(Math.round(C)<<2|Math.round(E)<<1|Math.round(F));if(B===2)$+=60;return $},enumerable:!1},rgbToAnsi:{value:(u,F,E)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,E)),enumerable:!1},hexToAnsi:{value:(u)=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:!1}}),r}var J3=Z3(),G2=J3;var iu=new Set(["\x1B",""]),X3=39,SF="\x07",X2="[",Q3="]",Q2="m",du=`${Q3}8;;`,Z2=(D)=>`${iu.values().next().value}${X2}${D}${Q2}`,J2=(D)=>`${iu.values().next().value}${du}${D}${SF}`,O3=(D)=>D.split(" ").map((u)=>RD(u)),TF=(D,u,F)=>{let E=[...u],C=!1,B=!1,$=RD(lD(D.at(-1)));for(let[z,Z]of E.entries()){let G=RD(Z);if($+G<=F)D[D.length-1]+=Z;else D.push(Z),$=0;if(iu.has(Z))C=!0,B=E.slice(z+1,z+1+du.length).join("")===du;if(C){if(B){if(Z===SF)C=!1,B=!1}else if(Z===Q2)C=!1;continue}if($+=G,$===F&&z<E.length-1)D.push(""),$=0}if(!$&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},Y3=(D)=>{let u=D.split(" "),F=u.length;while(F>0){if(RD(u[F-1])>0)break;F--}if(F===u.length)return D;return u.slice(0,F).join(" ")+u.slice(F).join("")},W3=(D,u,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let E="",C,B,$=O3(D),z=[""];for(let[J,O]of D.split(" ").entries()){if(F.trim!==!1)z[z.length-1]=z.at(-1).trimStart();let W=RD(z.at(-1));if(J!==0){if(W>=u&&(F.wordWrap===!1||F.trim===!1))z.push(""),W=0;if(W>0||F.trim===!1)z[z.length-1]+=" ",W++}if(F.hard&&$[J]>u){let H=u-W,Y=1+Math.floor(($[J]-H-1)/u);if(Math.floor(($[J]-1)/u)<Y)z.push("");TF(z,O,u);continue}if(W+$[J]>u&&W>0&&$[J]>0){if(F.wordWrap===!1&&W<u){TF(z,O,u);continue}z.push("")}if(W+$[J]>u&&F.wordWrap===!1){TF(z,O,u);continue}z[z.length-1]+=O}if(F.trim!==!1)z=z.map((J)=>Y3(J));let Z=z.join(`
|
|
8
|
+
`),G=[...Z],Q=0;for(let[J,O]of G.entries()){if(E+=O,iu.has(O)){let{groups:H}=new RegExp(`(?:\\${X2}(?<code>\\d+)m|\\${du}(?<uri>.*)${SF})`).exec(Z.slice(Q))||{groups:{}};if(H.code!==void 0){let Y=Number.parseFloat(H.code);C=Y===X3?void 0:Y}else if(H.uri!==void 0)B=H.uri.length===0?void 0:H.uri}let W=G2.codes.get(Number(C));if(G[J+1]===`
|
|
9
|
+
`){if(B)E+=J2("");if(C&&W)E+=Z2(W)}else if(O===`
|
|
10
|
+
`){if(C&&W)E+=Z2(C);if(B)E+=J2(B)}Q+=O.length}return E};function PF(D,u,F){return String(D).normalize().replaceAll(`\r
|
|
11
11
|
`,`
|
|
12
12
|
`).split(`
|
|
13
|
-
`).map((E)=>
|
|
14
|
-
`)}function PF(D){return v0(D,{stringWidth:RD,stripAnsi:lD,wrap:SF})}import{dirname as G2,resolve as Z2}from"path";import{readdirSync as G3,statSync as Z3}from"fs";function wF(D,u){let F=Z2(".",D),E;if(!Z3(F).isDirectory())F=G2(F);while(!0){if(E=u(F,G3(F)),E)return Z2(F,E);if(F=G2(E=F),E===F)break}}import{inspect as R3}from"util";import{fileURLToPath as N2}from"url";import{format as Q3}from"util";import{normalize as O3,resolve as Y3}from"path";function oD(D){if(!(D!==D.toLowerCase()&&D!==D.toUpperCase()))D=D.toLowerCase();if(D.indexOf("-")===-1&&D.indexOf("_")===-1)return D;else{let F="",E=!1,C=D.match(/^-+/);for(let B=C?C[0].length:0;B<D.length;B++){let $=D.charAt(B);if(E)E=!1,$=$.toUpperCase();if(B!==0&&($==="-"||$==="_"))E=!0;else if($!=="-"&&$!=="_")F+=$}return F}}function nu(D,u){let F=D.toLowerCase();u=u||"-";let E="";for(let C=0;C<D.length;C++){let B=F.charAt(C),$=D.charAt(C);if(B!==$&&C>0)E+=`${u}${F.charAt(C)}`;else E+=$}return E}function tu(D){if(D===null||D===void 0)return!1;if(typeof D==="number")return!0;if(/^0x[0-9a-f]+$/i.test(D))return!0;if(/^0[^.]/.test(D))return!1;return/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(D)}function J2(D){if(Array.isArray(D))return D.map(($)=>typeof $!=="string"?$+"":$);D=D.trim();let u=0,F=null,E=null,C=null,B=[];for(let $=0;$<D.length;$++){if(F=E,E=D.charAt($),E===" "&&!C){if(F!==" ")u++;continue}if(E===C)C=null;else if((E==="'"||E==='"')&&!C)C=E;if(!B[u])B[u]="";B[u]+=E}return B}var _D;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(_D||(_D={}));var bD;class IF{constructor(D){bD=D}parse(D,u){let F=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},u),E=J2(D),C=typeof D==="string",B=J3(Object.assign(Object.create(null),F.alias)),$=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},F.configuration),z=Object.assign(Object.create(null),F.default),Z=F.configObjects||[],G=F.envPrefix,Q=$["populate--"],J=Q?"--":"_",Y=Object.create(null),W=Object.create(null),H=F.__||bD.format,O={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},q=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,j=new RegExp("^--"+$["negation-prefix"]+"(.+)");if([].concat(F.array||[]).filter(Boolean).forEach(function(M){let U=typeof M==="object"?M.key:M,K=Object.keys(M).map(function(_){return{boolean:"bools",string:"strings",number:"numbers"}[_]}).filter(Boolean).pop();if(K)O[K][U]=!0;O.arrays[U]=!0,O.keys.push(U)}),[].concat(F.boolean||[]).filter(Boolean).forEach(function(M){O.bools[M]=!0,O.keys.push(M)}),[].concat(F.string||[]).filter(Boolean).forEach(function(M){O.strings[M]=!0,O.keys.push(M)}),[].concat(F.number||[]).filter(Boolean).forEach(function(M){O.numbers[M]=!0,O.keys.push(M)}),[].concat(F.count||[]).filter(Boolean).forEach(function(M){O.counts[M]=!0,O.keys.push(M)}),[].concat(F.normalize||[]).filter(Boolean).forEach(function(M){O.normalize[M]=!0,O.keys.push(M)}),typeof F.narg==="object")Object.entries(F.narg).forEach(([M,U])=>{if(typeof U==="number")O.nargs[M]=U,O.keys.push(M)});if(typeof F.coerce==="object")Object.entries(F.coerce).forEach(([M,U])=>{if(typeof U==="function")O.coercions[M]=U,O.keys.push(M)});if(typeof F.config<"u"){if(Array.isArray(F.config)||typeof F.config==="string")[].concat(F.config).filter(Boolean).forEach(function(M){O.configs[M]=!0});else if(typeof F.config==="object")Object.entries(F.config).forEach(([M,U])=>{if(typeof U==="boolean"||typeof U==="function")O.configs[M]=U})}Lu(F.key,B,F.default,O.arrays),Object.keys(z).forEach(function(M){(O.aliases[M]||[]).forEach(function(U){z[U]=z[M]})});let N=null;AF();let k=[],w=Object.assign(Object.create(null),{_:[]}),c={};for(let M=0;M<E.length;M++){let U=E[M],K=U.replace(/^-{3,}/,"---"),_,V,S,L,b,ZD;if(U!=="--"&&/^-/.test(U)&&t(U))e(U);else if(K.match(/^---+(=|$)/)){e(U);continue}else if(U.match(/^--.+=/)||!$["short-option-groups"]&&U.match(/^-.+=/)){if(L=U.match(/^--?([^=]+)=([\s\S]*)$/),L!==null&&Array.isArray(L)&&L.length>=3)if(f(L[1],O.arrays))M=qD(M,L[1],E,L[2]);else if(f(L[1],O.nargs)!==!1)M=s(M,L[1],E,L[2]);else i(L[1],L[2],!0)}else if(U.match(j)&&$["boolean-negation"]){if(L=U.match(j),L!==null&&Array.isArray(L)&&L.length>=2)V=L[1],i(V,f(V,O.arrays)?[!1]:!1)}else if(U.match(/^--.+/)||!$["short-option-groups"]&&U.match(/^-[^-]+/)){if(L=U.match(/^--?(.+)/),L!==null&&Array.isArray(L)&&L.length>=2)if(V=L[1],f(V,O.arrays))M=qD(M,V,E);else if(f(V,O.nargs)!==!1)M=s(M,V,E);else if(b=E[M+1],b!==void 0&&(!b.match(/^-/)||b.match(q))&&!f(V,O.bools)&&!f(V,O.counts))i(V,b),M++;else if(/^(true|false)$/.test(b))i(V,b),M++;else i(V,g(V))}else if(U.match(/^-.\..+=/)){if(L=U.match(/^-([^=]+)=([\s\S]*)$/),L!==null&&Array.isArray(L)&&L.length>=3)i(L[1],L[2])}else if(U.match(/^-.\..+/)&&!U.match(q)){if(b=E[M+1],L=U.match(/^-(.\..+)/),L!==null&&Array.isArray(L)&&L.length>=2)if(V=L[1],b!==void 0&&!b.match(/^-/)&&!f(V,O.bools)&&!f(V,O.counts))i(V,b),M++;else i(V,g(V))}else if(U.match(/^-[^-]+/)&&!U.match(q)){S=U.slice(1,-1).split(""),_=!1;for(let OD=0;OD<S.length;OD++){if(b=U.slice(OD+2),S[OD+1]&&S[OD+1]==="="){if(ZD=U.slice(OD+3),V=S[OD],f(V,O.arrays))M=qD(M,V,E,ZD);else if(f(V,O.nargs)!==!1)M=s(M,V,E,ZD);else i(V,ZD);_=!0;break}if(b==="-"){i(S[OD],b);continue}if(/[A-Za-z]/.test(S[OD])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(b)&&f(b,O.bools)===!1){i(S[OD],b),_=!0;break}if(S[OD+1]&&S[OD+1].match(/\W/)){i(S[OD],b),_=!0;break}else i(S[OD],g(S[OD]))}if(V=U.slice(-1)[0],!_&&V!=="-")if(f(V,O.arrays))M=qD(M,V,E);else if(f(V,O.nargs)!==!1)M=s(M,V,E);else if(b=E[M+1],b!==void 0&&(!/^(-|--)[^-]/.test(b)||b.match(q))&&!f(V,O.bools)&&!f(V,O.counts))i(V,b),M++;else if(/^(true|false)$/.test(b))i(V,b),M++;else i(V,g(V))}else if(U.match(/^-[0-9]$/)&&U.match(q)&&f(U.slice(1),O.bools))V=U.slice(1),i(V,g(V));else if(U==="--"){k=E.slice(M+1);break}else if($["halt-at-non-option"]){k=E.slice(M);break}else e(U)}if(CD(w,!0),CD(w,!1),x(w),n(),hD(w,O.aliases,z,!0),d(w),$["set-placeholder-key"])$D(w);if(Object.keys(O.counts).forEach(function(M){if(!l(w,M.split(".")))i(M,0)}),Q&&k.length)w[J]=[];if(k.forEach(function(M){w[J].push(M)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(w).filter((M)=>M!=="--"&&M.includes("-")).forEach((M)=>{delete w[M]});if($["strip-aliased"])[].concat(...Object.keys(B).map((M)=>B[M])).forEach((M)=>{if($["camel-case-expansion"]&&M.includes("-"))delete w[M.split(".").map((U)=>oD(U)).join(".")];delete w[M]});function e(M){let U=A("_",M);if(typeof U==="string"||typeof U==="number")w._.push(U)}function s(M,U,K,_){let V,S=f(U,O.nargs);if(S=typeof S!=="number"||isNaN(S)?1:S,S===0){if(!GD(_))N=Error(H("Argument unexpected for: %s",U));return i(U,g(U)),M}let L=GD(_)?0:1;if($["nargs-eats-options"]){if(K.length-(M+1)+L<S)N=Error(H("Not enough arguments following: %s",U));L=S}else{for(V=M+1;V<K.length;V++)if(!K[V].match(/^-[^0-9]/)||K[V].match(q)||t(K[V]))L++;else break;if(L<S)N=Error(H("Not enough arguments following: %s",U))}let b=Math.min(L,S);if(!GD(_)&&b>0)i(U,_),b--;for(V=M+1;V<b+M+1;V++)i(U,K[V]);return M+b}function qD(M,U,K,_){let V=[],S=_||K[M+1],L=f(U,O.nargs);if(f(U,O.bools)&&!/^(true|false)$/.test(S))V.push(!0);else if(GD(S)||GD(_)&&/^-/.test(S)&&!q.test(S)&&!t(S)){if(z[U]!==void 0){let b=z[U];V=Array.isArray(b)?b:[b]}}else{if(!GD(_))V.push(P(U,_,!0));for(let b=M+1;b<K.length;b++){if(!$["greedy-arrays"]&&V.length>0||L&&typeof L==="number"&&V.length>=L)break;if(S=K[b],/^-/.test(S)&&!q.test(S)&&!t(S))break;M=b,V.push(P(U,S,C))}}if(typeof L==="number"&&(L&&V.length<L||isNaN(L)&&V.length===0))N=Error(H("Not enough arguments following: %s",U));return i(U,V),M}function i(M,U,K=C){if(/-/.test(M)&&$["camel-case-expansion"]){let S=M.split(".").map(function(L){return oD(L)}).join(".");tD(M,S)}let _=P(M,U,K),V=M.split(".");if(ID(w,V,_),O.aliases[M])O.aliases[M].forEach(function(S){let L=S.split(".");ID(w,L,_)});if(V.length>1&&$["dot-notation"])(O.aliases[V[0]]||[]).forEach(function(S){let L=S.split("."),b=[].concat(V);if(b.shift(),L=L.concat(b),!(O.aliases[M]||[]).includes(L.join(".")))ID(w,L,_)});if(f(M,O.normalize)&&!f(M,O.arrays))[M].concat(O.aliases[M]||[]).forEach(function(L){Object.defineProperty(c,L,{enumerable:!0,get(){return U},set(b){U=typeof b==="string"?bD.normalize(b):b}})})}function tD(M,U){if(!(O.aliases[M]&&O.aliases[M].length))O.aliases[M]=[U],Y[U]=!0;if(!(O.aliases[U]&&O.aliases[U].length))tD(U,M)}function P(M,U,K){if(K)U=X3(U);if(f(M,O.bools)||f(M,O.counts)){if(typeof U==="string")U=U==="true"}let _=Array.isArray(U)?U.map(function(V){return A(M,V)}):A(M,U);if(f(M,O.counts)&&(GD(_)||typeof _==="boolean"))_=xF();if(f(M,O.normalize)&&f(M,O.arrays))if(Array.isArray(U))_=U.map((V)=>{return bD.normalize(V)});else _=bD.normalize(U);return _}function A(M,U){if(!$["parse-positional-numbers"]&&M==="_")return U;if(!f(M,O.strings)&&!f(M,O.bools)&&!Array.isArray(U)){if(tu(U)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${U}`)))||!GD(U)&&f(M,O.numbers))U=Number(U)}return U}function x(M){let U=Object.create(null);hD(U,O.aliases,z),Object.keys(O.configs).forEach(function(K){let _=M[K]||U[K];if(_)try{let V=null,S=bD.resolve(bD.cwd(),_),L=O.configs[K];if(typeof L==="function"){try{V=L(S)}catch(b){V=b}if(V instanceof Error){N=V;return}}else V=bD.require(S);p(V)}catch(V){if(V.name==="PermissionDenied")N=V;else if(M[K])N=Error(H("Invalid JSON config file: %s",_))}})}function p(M,U){Object.keys(M).forEach(function(K){let _=M[K],V=U?U+"."+K:K;if(typeof _==="object"&&_!==null&&!Array.isArray(_)&&$["dot-notation"])p(_,V);else if(!l(w,V.split("."))||f(V,O.arrays)&&$["combine-arrays"])i(V,_)})}function n(){if(typeof Z<"u")Z.forEach(function(M){p(M)})}function CD(M,U){if(typeof G>"u")return;let K=typeof G==="string"?G:"",_=bD.env();Object.keys(_).forEach(function(V){if(K===""||V.lastIndexOf(K,0)===0){let S=V.split("__").map(function(L,b){if(b===0)L=L.substring(K.length);return oD(L)});if((U&&O.configs[S.join(".")]||!U)&&!l(M,S))i(S.join("."),_[V])}})}function d(M){let U,K=new Set;Object.keys(M).forEach(function(_){if(!K.has(_)){if(U=f(_,O.coercions),typeof U==="function")try{let V=A(_,U(M[_]));[].concat(O.aliases[_]||[],_).forEach((S)=>{K.add(S),M[S]=V})}catch(V){N=V}}})}function $D(M){return O.keys.forEach((U)=>{if(~U.indexOf("."))return;if(typeof M[U]>"u")M[U]=void 0}),M}function hD(M,U,K,_=!1){Object.keys(K).forEach(function(V){if(!l(M,V.split("."))){if(ID(M,V.split("."),K[V]),_)W[V]=!0;(U[V]||[]).forEach(function(S){if(l(M,S.split(".")))return;ID(M,S.split("."),K[V])})}})}function l(M,U){let K=M;if(!$["dot-notation"])U=[U.join(".")];U.slice(0,-1).forEach(function(V){K=K[V]||{}});let _=U[U.length-1];if(typeof K!=="object")return!1;else return _ in K}function ID(M,U,K){let _=M;if(!$["dot-notation"])U=[U.join(".")];U.slice(0,-1).forEach(function(ZD){if(ZD=X2(ZD),typeof _==="object"&&_[ZD]===void 0)_[ZD]={};if(typeof _[ZD]!=="object"||Array.isArray(_[ZD])){if(Array.isArray(_[ZD]))_[ZD].push({});else _[ZD]=[_[ZD],{}];_=_[ZD][_[ZD].length-1]}else _=_[ZD]});let V=X2(U[U.length-1]),S=f(U.join("."),O.arrays),L=Array.isArray(K),b=$["duplicate-arguments-array"];if(!b&&f(V,O.nargs)){if(b=!0,!GD(_[V])&&O.nargs[V]===1||Array.isArray(_[V])&&_[V].length===O.nargs[V])_[V]=void 0}if(K===xF())_[V]=xF(_[V]);else if(Array.isArray(_[V]))if(b&&S&&L)_[V]=$["flatten-duplicate-arrays"]?_[V].concat(K):(Array.isArray(_[V][0])?_[V]:[_[V]]).concat([K]);else if(!b&&Boolean(S)===Boolean(L))_[V]=K;else _[V]=_[V].concat([K]);else if(_[V]===void 0&&S)_[V]=L?K:[K];else if(b&&!(_[V]===void 0||f(V,O.counts)||f(V,O.bools)))_[V]=[_[V],K];else _[V]=K}function Lu(...M){M.forEach(function(U){Object.keys(U||{}).forEach(function(K){if(O.aliases[K])return;O.aliases[K]=[].concat(B[K]||[]),O.aliases[K].concat(K).forEach(function(_){if(/-/.test(_)&&$["camel-case-expansion"]){let V=oD(_);if(V!==K&&O.aliases[K].indexOf(V)===-1)O.aliases[K].push(V),Y[V]=!0}}),O.aliases[K].concat(K).forEach(function(_){if(_.length>1&&/[A-Z]/.test(_)&&$["camel-case-expansion"]){let V=nu(_,"-");if(V!==K&&O.aliases[K].indexOf(V)===-1)O.aliases[K].push(V),Y[V]=!0}}),O.aliases[K].forEach(function(_){O.aliases[_]=[K].concat(O.aliases[K].filter(function(V){return _!==V}))})})})}function f(M,U){let K=[].concat(O.aliases[M]||[],M),_=Object.keys(U),V=K.find((S)=>_.includes(S));return V?U[V]:!1}function Hu(M){let U=Object.keys(O);return[].concat(U.map((_)=>O[_])).some(function(_){return Array.isArray(_)?_.includes(M):_[M]})}function w0(M,...U){return[].concat(...U).some(function(_){let V=M.match(_);return V&&Hu(V[1])})}function h(M){if(M.match(q)||!M.match(/^-[^-]+/))return!1;let U=!0,K,_=M.slice(1).split("");for(let V=0;V<_.length;V++){if(K=M.slice(V+2),!Hu(_[V])){U=!1;break}if(_[V+1]&&_[V+1]==="="||K==="-"||/[A-Za-z]/.test(_[V])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(K)||_[V+1]&&_[V+1].match(/\W/))break}return U}function t(M){return $["unknown-options-as-args"]&&zD(M)}function zD(M){if(M=M.replace(/^-{3,}/,"--"),M.match(q))return!1;if(h(M))return!1;return!w0(M,/^-+([^=]+?)=[\s\S]*$/,j,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function g(M){if(!f(M,O.bools)&&!f(M,O.counts)&&`${M}`in z)return z[M];else return QD(uD(M))}function QD(M){return{[_D.BOOLEAN]:!0,[_D.STRING]:"",[_D.NUMBER]:void 0,[_D.ARRAY]:[]}[M]}function uD(M){let U=_D.BOOLEAN;if(f(M,O.strings))U=_D.STRING;else if(f(M,O.numbers))U=_D.NUMBER;else if(f(M,O.bools))U=_D.BOOLEAN;else if(f(M,O.arrays))U=_D.ARRAY;return U}function GD(M){return M===void 0}function AF(){Object.keys(O.counts).find((M)=>{if(f(M,O.arrays))return N=Error(H("Invalid configuration: %s, opts.count excludes opts.array.",M)),!0;else if(f(M,O.nargs))return N=Error(H("Invalid configuration: %s, opts.count excludes opts.narg.",M)),!0;return!1})}return{aliases:Object.assign({},O.aliases),argv:Object.assign(c,w),configuration:$,defaulted:Object.assign({},W),error:N,newAliases:Object.assign({},Y)}}}function J3(D){let u=[],F=Object.create(null),E=!0;Object.keys(D).forEach(function(C){u.push([].concat(D[C],C))});while(E){E=!1;for(let C=0;C<u.length;C++)for(let B=C+1;B<u.length;B++)if(u[C].filter(function(z){return u[B].indexOf(z)!==-1}).length){u[C]=u[C].concat(u[B]),u.splice(B,1),E=!0;break}}return u.forEach(function(C){C=C.filter(function($,z,Z){return Z.indexOf($)===z});let B=C.pop();if(B!==void 0&&typeof B==="string")F[B]=C}),F}function xF(D){return D!==void 0?D+1:1}function X2(D){if(D==="__proto__")return"___proto___";return D}function X3(D){return typeof D==="string"&&(D[0]==="'"||D[0]==='"')&&D[D.length-1]===D[0]?D.substring(1,D.length-1):D}import{readFileSync as W3}from"fs";import{createRequire as Q2}from"node:module";var bF,fF,hF,O2=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,Y2=(fF=(bF=process===null||process===void 0?void 0:process.versions)===null||bF===void 0?void 0:bF.node)!==null&&fF!==void 0?fF:(hF=process===null||process===void 0?void 0:process.version)===null||hF===void 0?void 0:hF.slice(1);if(Y2){if(Number(Y2.match(/^([^.]+)/)[1])<O2)throw Error(`yargs parser supports a minimum Node.js version of ${O2}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var H3=process?process.env:{},W2=Q2?Q2(import.meta.url):void 0,H2=new IF({cwd:process.cwd,env:()=>{return H3},format:Q3,normalize:O3,resolve:Y3,require:(D)=>{if(typeof W2<"u")return W2(D);else if(D.match(/\.json$/))return JSON.parse(W3(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),Nu=function(u,F){return H2.parse(u.slice(),F).argv};Nu.detailed=function(D,u){return H2.parse(D.slice(),u)};Nu.camelCase=oD;Nu.decamelize=nu;Nu.looksLikeNumber=tu;var vF=Nu;import{basename as T3,dirname as S3,extname as P3,relative as w3,resolve as L2,join as x3}from"path";function M2(){if(M3())return 0;return 1}function M3(){return V3()&&!process.defaultApp}function V3(){return!!process.versions.electron}function pF(D){return D.slice(M2()+1)}function V2(){return process.argv[M2()]}import{readFileSync as U3,statSync as q3,writeFile as _3}from"fs";import{format as K3}from"util";import{resolve as j3}from"path";var U2={fs:{readFileSync:U3,writeFile:_3},format:K3,resolve:j3,exists:(D)=>{try{return q3(D).isFile()}catch(u){return!1}}};var TD;class q2{constructor(D){D=D||{},this.directory=D.directory||"./locales",this.updateFiles=typeof D.updateFiles==="boolean"?D.updateFiles:!0,this.locale=D.locale||"en",this.fallbackToLanguage=typeof D.fallbackToLanguage==="boolean"?D.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...D){if(typeof arguments[0]!=="string")return this._taggedLiteral(arguments[0],...arguments);let u=D.shift(),F=function(){};if(typeof D[D.length-1]==="function")F=D.pop();if(F=F||function(){},!this.cache[this.locale])this._readLocaleFile();if(!this.cache[this.locale][u]&&this.updateFiles)this.cache[this.locale][u]=u,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:F});else F();return TD.format.apply(TD.format,[this.cache[this.locale][u]||u].concat(D))}__n(){let D=Array.prototype.slice.call(arguments),u=D.shift(),F=D.shift(),E=D.shift(),C=function(){};if(typeof D[D.length-1]==="function")C=D.pop();if(!this.cache[this.locale])this._readLocaleFile();let B=E===1?u:F;if(this.cache[this.locale][u])B=this.cache[this.locale][u][E===1?"one":"other"];if(!this.cache[this.locale][u]&&this.updateFiles)this.cache[this.locale][u]={one:u,other:F},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:C});else C();let $=[B];if(~B.indexOf("%d"))$.push(E);return TD.format.apply(TD.format,$.concat(D))}setLocale(D){this.locale=D}getLocale(){return this.locale}updateLocale(D){if(!this.cache[this.locale])this._readLocaleFile();for(let u in D)if(Object.prototype.hasOwnProperty.call(D,u))this.cache[this.locale][u]=D[u]}_taggedLiteral(D,...u){let F="";return D.forEach(function(E,C){let B=u[C+1];if(F+=E,typeof B<"u")F+="%s"}),this.__.apply(this,[F].concat([].slice.call(u,1)))}_enqueueWrite(D){if(this.writeQueue.push(D),this.writeQueue.length===1)this._processWriteQueue()}_processWriteQueue(){let D=this,u=this.writeQueue[0],F=u.directory,E=u.locale,C=u.cb,B=this._resolveLocaleFile(F,E),$=JSON.stringify(this.cache[E],null,2);TD.fs.writeFile(B,$,"utf-8",function(z){if(D.writeQueue.shift(),D.writeQueue.length>0)D._processWriteQueue();C(z)})}_readLocaleFile(){let D={},u=this._resolveLocaleFile(this.directory,this.locale);try{if(TD.fs.readFileSync)D=JSON.parse(TD.fs.readFileSync(u,"utf-8"))}catch(F){if(F instanceof SyntaxError)F.message="syntax error in "+u;if(F.code==="ENOENT")D={};else throw F}this.cache[this.locale]=D}_resolveLocaleFile(D,u){let F=TD.resolve(D,"./",u+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(F)&&~u.lastIndexOf("_")){let E=TD.resolve(D,"./",u.split("_")[0]+".json");if(this._fileExistsSync(E))F=E}return F}_fileExistsSync(D){return TD.exists(D)}}function _2(D,u){TD=u;let F=new q2(D);return{__:F.__.bind(F),__n:F.__n.bind(F),setLocale:F.setLocale.bind(F),getLocale:F.getLocale.bind(F),updateLocale:F.updateLocale.bind(F),locale:F.locale}}var A3=(D)=>{return _2(D,U2)},K2=A3;var R2=I0(A2(),1);import{createRequire as I3}from"node:module";import{readFileSync as b3,readdirSync as f3}from"node:fs";var mF=N2(import.meta.url),h3=mF.substring(0,mF.lastIndexOf("node_modules")),v3=I3(import.meta.url),yF={assert:{notStrictEqual:L3,strictEqual:N3},cliui:PF,findUp:wF,getEnv:(D)=>{return process.env[D]},inspect:R3,getProcessArgvBin:V2,mainFilename:h3||process.cwd(),Parser:vF,path:{basename:T3,dirname:S3,extname:P3,relative:w3,resolve:L2,join:x3},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(D,u)=>process.emitWarning(D,u),execPath:()=>process.execPath,exit:(D)=>{process.exit(D)},nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:b3,readdirSync:f3,require:v3,getCallerFile:()=>{let D=R2.default(3);return D.match(/^file:\/\//)?N2(D):D},stringWidth:RD,y18n:K2({directory:L2(mF,"../../../locales"),updateFiles:!1})};function YD(D,u,F,E){F.assert.notStrictEqual(D,u,E)}function cF(D,u){u.assert.strictEqual(typeof D,"string")}function Mu(D){return Object.keys(D)}function o(D){return!!D&&!!D.then&&typeof D.then==="function"}class FD extends Error{constructor(D){super(D||"yargs error");if(this.name="YError",Error.captureStackTrace)Error.captureStackTrace(this,FD)}}function pD(D){let F=D.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),E=/\.*[\][<>]/g,C=F.shift();if(!C)throw Error(`No command found in: ${D}`);let B={cmd:C.replace(E,""),demanded:[],optional:[]};return F.forEach(($,z)=>{let Z=!1;if($=$.replace(/\s/g,""),/\.+[\]>]/.test($)&&z===F.length-1)Z=!0;if(/^\[/.test($))B.optional.push({cmd:$.replace(E,"").split("|"),variadic:Z});else B.demanded.push({cmd:$.replace(E,"").split("|"),variadic:Z})}),B}var p3=["first","second","third","fourth","fifth","sixth"];function R(D,u,F){function E(){return typeof D==="object"?[{demanded:[],optional:[]},D,u]:[pD(`cmd ${D}`),u,F]}try{let C=0,[B,$,z]=E(),Z=[].slice.call($);while(Z.length&&Z[Z.length-1]===void 0)Z.pop();let G=z||Z.length;if(G<B.demanded.length)throw new FD(`Not enough arguments provided. Expected ${B.demanded.length} but received ${Z.length}.`);let Q=B.demanded.length+B.optional.length;if(G>Q)throw new FD(`Too many arguments provided. Expected max ${Q} but received ${G}.`);B.demanded.forEach((J)=>{let Y=Z.shift(),W=T2(Y);if(J.cmd.filter((O)=>O===W||O==="*").length===0)S2(W,J.cmd,C);C+=1}),B.optional.forEach((J)=>{if(Z.length===0)return;let Y=Z.shift(),W=T2(Y);if(J.cmd.filter((O)=>O===W||O==="*").length===0)S2(W,J.cmd,C);C+=1})}catch(C){console.warn(C.stack)}}function T2(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function S2(D,u,F){throw new FD(`Invalid ${p3[F]||"manyith"} argument. Expected ${u.join(" or ")} but received ${D}.`)}class gF{constructor(D){this.globalMiddleware=[],this.frozens=[],this.yargs=D}addMiddleware(D,u,F=!0,E=!1){if(R("<array|function> [boolean] [boolean] [boolean]",[D,u,F],arguments.length),Array.isArray(D)){for(let C=0;C<D.length;C++){if(typeof D[C]!=="function")throw Error("middleware must be a function");let B=D[C];B.applyBeforeValidation=u,B.global=F}Array.prototype.push.apply(this.globalMiddleware,D)}else if(typeof D==="function"){let C=D;C.applyBeforeValidation=u,C.global=F,C.mutates=E,this.globalMiddleware.push(D)}return this.yargs}addCoerceMiddleware(D,u){let F=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((E)=>{let C=[...F[u]||[],u];if(!E.option)return!0;else return!C.includes(E.option)}),D.option=u,this.addMiddleware(D,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){let D=this.frozens.pop();if(D!==void 0)this.globalMiddleware=D}reset(){this.globalMiddleware=this.globalMiddleware.filter((D)=>D.global)}}function P2(D){if(!D)return[];return D.map((u)=>{return u.applyBeforeValidation=!1,u})}function sD(D,u,F,E){return F.reduce((C,B)=>{if(B.applyBeforeValidation!==E)return C;if(B.mutates){if(B.applied)return C;B.applied=!0}if(o(C))return C.then(($)=>Promise.all([$,B($,u)])).then(([$,z])=>Object.assign($,z));else{let $=B(C,u);return o($)?$.then((z)=>Object.assign(C,z)):Object.assign(C,$)}},D)}function rD(D,u,F=(E)=>{throw E}){try{let E=m3(D)?D():D;return o(E)?E.then((C)=>u(C)):u(E)}catch(E){return F(E)}}function m3(D){return typeof D==="function"}var Vu=/(^\*)|(^\$0)/;class x2{constructor(D,u,F,E){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=E,this.usage=D,this.globalMiddleware=F,this.validation=u}addDirectory(D,u,F,E){E=E||{},this.requireCache.add(F);let C=this.shim.path.resolve(this.shim.path.dirname(F),D),B=this.shim.readdirSync(C,{recursive:E.recurse?!0:!1});if(!Array.isArray(E.extensions))E.extensions=["js"];let $=typeof E.visit==="function"?E.visit:(z)=>z;for(let z of B){let Z=z.toString();if(E.exclude){let Q=!1;if(typeof E.exclude==="function")Q=E.exclude(Z);else Q=E.exclude.test(Z);if(Q)continue}if(E.include){let Q=!1;if(typeof E.include==="function")Q=E.include(Z);else Q=E.include.test(Z);if(!Q)continue}let G=!1;for(let Q of E.extensions)if(Z.endsWith(Q))G=!0;if(G){let Q=this.shim.path.join(C,Z),J=u(Q),Y=Object.create(null,Object.getOwnPropertyDescriptors({...J}));if($(Y,Q,Z)){if(this.requireCache.has(Q))continue;else this.requireCache.add(Q);if(!Y.command)Y.command=this.shim.path.basename(Q,this.shim.path.extname(Q));this.addHandler(Y)}}}}addHandler(D,u,F,E,C,B){let $=[],z=P2(C);if(E=E||(()=>{}),Array.isArray(D))if(y3(D))[D,...$]=D;else for(let Z of D)this.addHandler(Z);else if(g3(D)){let Z=Array.isArray(D.command)||typeof D.command==="string"?D.command:null;if(Z===null)throw Error(`No command name given for module: ${this.shim.inspect(D)}`);if(D.aliases)Z=[].concat(Z).concat(D.aliases);this.addHandler(Z,this.extractDesc(D),D.builder,D.handler,D.middlewares,D.deprecated);return}else if(w2(F)){this.addHandler([D].concat($),u,F.builder,F.handler,F.middlewares,F.deprecated);return}if(typeof D==="string"){let Z=pD(D);$=$.map((J)=>pD(J).cmd);let G=!1,Q=[Z.cmd].concat($).filter((J)=>{if(Vu.test(J))return G=!0,!1;return!0});if(Q.length===0&&G)Q.push("$0");if(G)Z.cmd=Q[0],$=Q.slice(1),D=D.replace(Vu,Z.cmd);if($.forEach((J)=>{this.aliasMap[J]=Z.cmd}),u!==!1)this.usage.command(D,u,G,$,B);if(this.handlers[Z.cmd]={original:D,description:u,handler:E,builder:F||{},middlewares:z,deprecated:B,demanded:Z.demanded,optional:Z.optional},G)this.defaultCommand=this.handlers[Z.cmd]}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(D,u,F,E,C,B){let $=this.handlers[D]||this.handlers[this.aliasMap[D]]||this.defaultCommand,z=u.getInternalMethods().getContext(),Z=z.commands.slice(),G=!D;if(D)z.commands.push(D),z.fullCommands.push($.original);let Q=this.applyBuilderUpdateUsageAndParse(G,$,u,F.aliases,Z,E,C,B);return o(Q)?Q.then((J)=>this.applyMiddlewareAndGetResult(G,$,J.innerArgv,z,C,J.aliases,u)):this.applyMiddlewareAndGetResult(G,$,Q.innerArgv,z,C,Q.aliases,u)}applyBuilderUpdateUsageAndParse(D,u,F,E,C,B,$,z){let Z=u.builder,G=F;if(lu(Z)){F.getInternalMethods().getUsageInstance().freeze();let Q=Z(F.getInternalMethods().reset(E),z);if(o(Q))return Q.then((J)=>{return G=b2(J)?J:F,this.parseAndUpdateUsage(D,u,G,C,B,$)})}else if(c3(Z))F.getInternalMethods().getUsageInstance().freeze(),G=F.getInternalMethods().reset(E),Object.keys(u.builder).forEach((Q)=>{G.option(Q,Z[Q])});return this.parseAndUpdateUsage(D,u,G,C,B,$)}parseAndUpdateUsage(D,u,F,E,C,B){if(D)F.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(F))F.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(E,u),u.description);let $=F.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,C,B);return o($)?$.then((z)=>({aliases:F.parsed.aliases,innerArgv:z})):{aliases:F.parsed.aliases,innerArgv:$}}shouldUpdateUsage(D){return!D.getInternalMethods().getUsageInstance().getUsageDisabled()&&D.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(D,u){let F=Vu.test(u.original)?u.original.replace(Vu,"").trim():u.original,E=D.filter((C)=>{return!Vu.test(C)});return E.push(F),`$0 ${E.join(" ")}`}handleValidationAndGetResult(D,u,F,E,C,B,$,z){if(!B.getInternalMethods().getHasOutput()){let Z=B.getInternalMethods().runValidation(C,z,B.parsed.error,D);F=rD(F,(G)=>{return Z(G),G})}if(u.handler&&!B.getInternalMethods().getHasOutput()){B.getInternalMethods().setHasOutput();let Z=!!B.getOptions().configuration["populate--"];if(B.getInternalMethods().postProcess(F,Z,!1,!1),F=sD(F,B,$,!1),F=rD(F,(G)=>{let Q=u.handler(G);return o(Q)?Q.then(()=>G):G}),!D)B.getInternalMethods().getUsageInstance().cacheHelpMessage();if(o(F)&&!B.getInternalMethods().hasParseCallback())F.catch((G)=>{try{B.getInternalMethods().getUsageInstance().fail(null,G)}catch(Q){}})}if(!D)E.commands.pop(),E.fullCommands.pop();return F}applyMiddlewareAndGetResult(D,u,F,E,C,B,$){let z={};if(C)return F;if(!$.getInternalMethods().getHasOutput())z=this.populatePositionals(u,F,E,$);let Z=this.globalMiddleware.getMiddleware().slice(0).concat(u.middlewares),G=sD(F,$,Z,!0);return o(G)?G.then((Q)=>this.handleValidationAndGetResult(D,u,Q,E,B,$,Z,z)):this.handleValidationAndGetResult(D,u,G,E,B,$,Z,z)}populatePositionals(D,u,F,E){u._=u._.slice(F.commands.length);let C=D.demanded.slice(0),B=D.optional.slice(0),$={};this.validation.positionalCount(C.length,u._.length);while(C.length){let z=C.shift();this.populatePositional(z,u,$)}while(B.length){let z=B.shift();this.populatePositional(z,u,$)}return u._=F.commands.concat(u._.map((z)=>""+z)),this.postProcessPositionals(u,$,this.cmdToParseOptions(D.original),E),$}populatePositional(D,u,F){let E=D.cmd[0];if(D.variadic)F[E]=u._.splice(0).map(String);else if(u._.length)F[E]=[String(u._.shift())]}cmdToParseOptions(D){let u={array:[],default:{},alias:{},demand:{}},F=pD(D);return F.demanded.forEach((E)=>{let[C,...B]=E.cmd;if(E.variadic)u.array.push(C),u.default[C]=[];u.alias[C]=B,u.demand[C]=!0}),F.optional.forEach((E)=>{let[C,...B]=E.cmd;if(E.variadic)u.array.push(C),u.default[C]=[];u.alias[C]=B}),u}postProcessPositionals(D,u,F,E){let C=Object.assign({},E.getOptions());C.default=Object.assign(F.default,C.default);for(let Z of Object.keys(F.alias))C.alias[Z]=(C.alias[Z]||[]).concat(F.alias[Z]);C.array=C.array.concat(F.array),C.config={};let B=[];if(Object.keys(u).forEach((Z)=>{u[Z].map((G)=>{if(C.configuration["unknown-options-as-args"])C.key[Z]=!0;B.push(`--${Z}`),B.push(G)})}),!B.length)return;let $=Object.assign({},C.configuration,{"populate--":!1}),z=this.shim.Parser.detailed(B,Object.assign({},C,{configuration:$}));if(z.error)E.getInternalMethods().getUsageInstance().fail(z.error.message,z.error);else{let Z=Object.keys(u);Object.keys(u).forEach((G)=>{Z.push(...z.aliases[G])}),Object.keys(z.argv).forEach((G)=>{if(Z.includes(G)){if(!u[G])u[G]=z.argv[G];if(!this.isInConfigs(E,G)&&!this.isDefaulted(E,G)&&Object.prototype.hasOwnProperty.call(D,G)&&Object.prototype.hasOwnProperty.call(z.argv,G)&&(Array.isArray(D[G])||Array.isArray(z.argv[G])))D[G]=[].concat(D[G],z.argv[G]);else D[G]=z.argv[G]}})}}isDefaulted(D,u){let{default:F}=D.getOptions();return Object.prototype.hasOwnProperty.call(F,u)||Object.prototype.hasOwnProperty.call(F,this.shim.Parser.camelCase(u))}isInConfigs(D,u){let{configObjects:F}=D.getOptions();return F.some((E)=>Object.prototype.hasOwnProperty.call(E,u))||F.some((E)=>Object.prototype.hasOwnProperty.call(E,this.shim.Parser.camelCase(u)))}runDefaultBuilderOn(D){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(D)){let F=Vu.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");D.getInternalMethods().getUsageInstance().usage(F,this.defaultCommand.description)}let u=this.defaultCommand.builder;if(lu(u))return u(D,!0);else if(!w2(u))Object.keys(u).forEach((F)=>{D.option(F,u[F])});return}extractDesc({describe:D,description:u,desc:F}){for(let E of[D,u,F]){if(typeof E==="string"||E===!1)return E;YD(E,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){let D=this.frozens.pop();YD(D,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=D}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function I2(D,u,F,E){return new x2(D,u,F,E)}function w2(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function y3(D){return D.every((u)=>typeof u==="string")}function lu(D){return typeof D==="function"}function c3(D){return typeof D==="object"}function g3(D){return typeof D==="object"&&!Array.isArray(D)}function mD(D={},u=()=>!0){let F={};return Mu(D).forEach((E)=>{if(u(E,D[E]))F[E]=D[E]}),F}function yD(D){if(typeof process>"u")return;[process.stdout,process.stderr].forEach((u)=>{let F=u;if(F._handle&&F.isTTY&&typeof F._handle.setBlocking==="function")F._handle.setBlocking(D)})}function k3(D){return typeof D==="boolean"}function h2(D,u){let F=u.y18n.__,E={},C=[];E.failFn=function(A){C.push(A)};let B=null,$=null,z=!0;E.showHelpOnFail=function(A=!0,x){let[p,n]=typeof A==="string"?[!0,A]:[A,x];if(D.getInternalMethods().isGlobalContext())$=n;return B=n,z=p,E};let Z=!1;E.fail=function(A,x){let p=D.getInternalMethods().getLoggerInstance();if(C.length)for(let n=C.length-1;n>=0;--n){let CD=C[n];if(k3(CD)){if(x)throw x;else if(A)throw Error(A)}else CD(A,x,E)}else{if(D.getExitProcess())yD(!0);if(!Z){if(Z=!0,z)D.showHelp("error"),p.error();if(A||x)p.error(A||x);let n=B||$;if(n){if(A||x)p.error("");p.error(n)}}if(x=x||new FD(A),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,x);else throw x}};let G=[],Q=!1;E.usage=(P,A)=>{if(P===null)return Q=!0,G=[],E;return Q=!1,G.push([P,A||""]),E},E.getUsage=()=>{return G},E.getUsageDisabled=()=>{return Q},E.getPositionalGroupName=()=>{return F("Positionals:")};let J=[];E.example=(P,A)=>{J.push([P,A||""])};let Y=[];E.command=function(A,x,p,n,CD=!1){if(p)Y=Y.map((d)=>{return d[2]=!1,d});Y.push([A,x||"",p,n,CD])},E.getCommands=()=>Y;let W={};E.describe=function(A,x){if(Array.isArray(A))A.forEach((p)=>{E.describe(p,x)});else if(typeof A==="object")Object.keys(A).forEach((p)=>{E.describe(p,A[p])});else W[A]=x},E.getDescriptions=()=>W;let H=[];E.epilog=(P)=>{H.push(P)};let O=!1,q;E.wrap=(P)=>{O=!0,q=P},E.getWrap=()=>{if(u.getEnv("YARGS_DISABLE_WRAP"))return null;if(!O)q=qD(),O=!0;return q};let j="__yargsString__:";E.deferY18nLookup=(P)=>j+P,E.help=function(){if(w)return w;k();let A=D.customScriptName?D.$0:u.path.basename(D.$0),x=D.getDemandedOptions(),p=D.getDemandedCommands(),n=D.getDeprecatedOptions(),CD=D.getGroups(),d=D.getOptions(),$D=[];$D=$D.concat(Object.keys(W)),$D=$D.concat(Object.keys(x)),$D=$D.concat(Object.keys(p)),$D=$D.concat(Object.keys(d.default)),$D=$D.filter(e),$D=Object.keys($D.reduce((h,t)=>{if(t!=="_")h[t]=!0;return h},{}));let hD=E.getWrap(),l=u.cliui({width:hD,wrap:!!hD});if(!Q){if(G.length)G.forEach((h)=>{if(l.div({text:`${h[0].replace(/\$0/g,A)}`}),h[1])l.div({text:`${h[1]}`,padding:[1,0,0,0]})}),l.div();else if(Y.length){let h=null;if(p._)h=`${A} <${F("command")}>
|
|
13
|
+
`).map((E)=>W3(E,u,F)).join(`
|
|
14
|
+
`)}function wF(D){return g0(D,{stringWidth:RD,stripAnsi:lD,wrap:PF})}import{dirname as O2,resolve as Y2}from"path";import{readdirSync as H3,statSync as V3}from"fs";function xF(D,u){let F=Y2(".",D),E;if(!V3(F).isDirectory())F=O2(F);while(!0){if(E=u(F,H3(F)),E)return Y2(F,E);if(F=O2(E=F),E===F)break}}import{inspect as f3}from"util";import{fileURLToPath as w2}from"url";import{format as q3}from"util";import{normalize as _3,resolve as K3}from"path";function oD(D){if(!(D!==D.toLowerCase()&&D!==D.toUpperCase()))D=D.toLowerCase();if(D.indexOf("-")===-1&&D.indexOf("_")===-1)return D;else{let F="",E=!1,C=D.match(/^-+/);for(let B=C?C[0].length:0;B<D.length;B++){let $=D.charAt(B);if(E)E=!1,$=$.toUpperCase();if(B!==0&&($==="-"||$==="_"))E=!0;else if($!=="-"&&$!=="_")F+=$}return F}}function nu(D,u){let F=D.toLowerCase();u=u||"-";let E="";for(let C=0;C<D.length;C++){let B=F.charAt(C),$=D.charAt(C);if(B!==$&&C>0)E+=`${u}${F.charAt(C)}`;else E+=$}return E}function tu(D){if(D===null||D===void 0)return!1;if(typeof D==="number")return!0;if(/^0x[0-9a-f]+$/i.test(D))return!0;if(/^0[^.]/.test(D))return!1;return/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(D)}function W2(D){if(Array.isArray(D))return D.map(($)=>typeof $!=="string"?$+"":$);D=D.trim();let u=0,F=null,E=null,C=null,B=[];for(let $=0;$<D.length;$++){if(F=E,E=D.charAt($),E===" "&&!C){if(F!==" ")u++;continue}if(E===C)C=null;else if((E==="'"||E==='"')&&!C)C=E;if(!B[u])B[u]="";B[u]+=E}return B}var KD;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(KD||(KD={}));var bD;class bF{constructor(D){bD=D}parse(D,u){let F=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},u),E=W2(D),C=typeof D==="string",B=M3(Object.assign(Object.create(null),F.alias)),$=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},F.configuration),z=Object.assign(Object.create(null),F.default),Z=F.configObjects||[],G=F.envPrefix,Q=$["populate--"],J=Q?"--":"_",O=Object.create(null),W=Object.create(null),H=F.__||bD.format,Y={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},q=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,j=new RegExp("^--"+$["negation-prefix"]+"(.+)");if([].concat(F.array||[]).filter(Boolean).forEach(function(V){let U=typeof V==="object"?V.key:V,K=Object.keys(V).map(function(_){return{boolean:"bools",string:"strings",number:"numbers"}[_]}).filter(Boolean).pop();if(K)Y[K][U]=!0;Y.arrays[U]=!0,Y.keys.push(U)}),[].concat(F.boolean||[]).filter(Boolean).forEach(function(V){Y.bools[V]=!0,Y.keys.push(V)}),[].concat(F.string||[]).filter(Boolean).forEach(function(V){Y.strings[V]=!0,Y.keys.push(V)}),[].concat(F.number||[]).filter(Boolean).forEach(function(V){Y.numbers[V]=!0,Y.keys.push(V)}),[].concat(F.count||[]).filter(Boolean).forEach(function(V){Y.counts[V]=!0,Y.keys.push(V)}),[].concat(F.normalize||[]).filter(Boolean).forEach(function(V){Y.normalize[V]=!0,Y.keys.push(V)}),typeof F.narg==="object")Object.entries(F.narg).forEach(([V,U])=>{if(typeof U==="number")Y.nargs[V]=U,Y.keys.push(V)});if(typeof F.coerce==="object")Object.entries(F.coerce).forEach(([V,U])=>{if(typeof U==="function")Y.coercions[V]=U,Y.keys.push(V)});if(typeof F.config<"u"){if(Array.isArray(F.config)||typeof F.config==="string")[].concat(F.config).filter(Boolean).forEach(function(V){Y.configs[V]=!0});else if(typeof F.config==="object")Object.entries(F.config).forEach(([V,U])=>{if(typeof U==="boolean"||typeof U==="function")Y.configs[V]=U})}Lu(F.key,B,F.default,Y.arrays),Object.keys(z).forEach(function(V){(Y.aliases[V]||[]).forEach(function(U){z[U]=z[V]})});let N=null;LF();let k=[],w=Object.assign(Object.create(null),{_:[]}),c={};for(let V=0;V<E.length;V++){let U=E[V],K=U.replace(/^-{3,}/,"---"),_,M,S,L,b,ZD;if(U!=="--"&&/^-/.test(U)&&t(U))e(U);else if(K.match(/^---+(=|$)/)){e(U);continue}else if(U.match(/^--.+=/)||!$["short-option-groups"]&&U.match(/^-.+=/)){if(L=U.match(/^--?([^=]+)=([\s\S]*)$/),L!==null&&Array.isArray(L)&&L.length>=3)if(f(L[1],Y.arrays))V=_D(V,L[1],E,L[2]);else if(f(L[1],Y.nargs)!==!1)V=s(V,L[1],E,L[2]);else i(L[1],L[2],!0)}else if(U.match(j)&&$["boolean-negation"]){if(L=U.match(j),L!==null&&Array.isArray(L)&&L.length>=2)M=L[1],i(M,f(M,Y.arrays)?[!1]:!1)}else if(U.match(/^--.+/)||!$["short-option-groups"]&&U.match(/^-[^-]+/)){if(L=U.match(/^--?(.+)/),L!==null&&Array.isArray(L)&&L.length>=2)if(M=L[1],f(M,Y.arrays))V=_D(V,M,E);else if(f(M,Y.nargs)!==!1)V=s(V,M,E);else if(b=E[V+1],b!==void 0&&(!b.match(/^-/)||b.match(q))&&!f(M,Y.bools)&&!f(M,Y.counts))i(M,b),V++;else if(/^(true|false)$/.test(b))i(M,b),V++;else i(M,g(M))}else if(U.match(/^-.\..+=/)){if(L=U.match(/^-([^=]+)=([\s\S]*)$/),L!==null&&Array.isArray(L)&&L.length>=3)i(L[1],L[2])}else if(U.match(/^-.\..+/)&&!U.match(q)){if(b=E[V+1],L=U.match(/^-(.\..+)/),L!==null&&Array.isArray(L)&&L.length>=2)if(M=L[1],b!==void 0&&!b.match(/^-/)&&!f(M,Y.bools)&&!f(M,Y.counts))i(M,b),V++;else i(M,g(M))}else if(U.match(/^-[^-]+/)&&!U.match(q)){S=U.slice(1,-1).split(""),_=!1;for(let OD=0;OD<S.length;OD++){if(b=U.slice(OD+2),S[OD+1]&&S[OD+1]==="="){if(ZD=U.slice(OD+3),M=S[OD],f(M,Y.arrays))V=_D(V,M,E,ZD);else if(f(M,Y.nargs)!==!1)V=s(V,M,E,ZD);else i(M,ZD);_=!0;break}if(b==="-"){i(S[OD],b);continue}if(/[A-Za-z]/.test(S[OD])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(b)&&f(b,Y.bools)===!1){i(S[OD],b),_=!0;break}if(S[OD+1]&&S[OD+1].match(/\W/)){i(S[OD],b),_=!0;break}else i(S[OD],g(S[OD]))}if(M=U.slice(-1)[0],!_&&M!=="-")if(f(M,Y.arrays))V=_D(V,M,E);else if(f(M,Y.nargs)!==!1)V=s(V,M,E);else if(b=E[V+1],b!==void 0&&(!/^(-|--)[^-]/.test(b)||b.match(q))&&!f(M,Y.bools)&&!f(M,Y.counts))i(M,b),V++;else if(/^(true|false)$/.test(b))i(M,b),V++;else i(M,g(M))}else if(U.match(/^-[0-9]$/)&&U.match(q)&&f(U.slice(1),Y.bools))M=U.slice(1),i(M,g(M));else if(U==="--"){k=E.slice(V+1);break}else if($["halt-at-non-option"]){k=E.slice(V);break}else e(U)}if(CD(w,!0),CD(w,!1),x(w),n(),hD(w,Y.aliases,z,!0),d(w),$["set-placeholder-key"])$D(w);if(Object.keys(Y.counts).forEach(function(V){if(!l(w,V.split(".")))i(V,0)}),Q&&k.length)w[J]=[];if(k.forEach(function(V){w[J].push(V)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(w).filter((V)=>V!=="--"&&V.includes("-")).forEach((V)=>{delete w[V]});if($["strip-aliased"])[].concat(...Object.keys(B).map((V)=>B[V])).forEach((V)=>{if($["camel-case-expansion"]&&V.includes("-"))delete w[V.split(".").map((U)=>oD(U)).join(".")];delete w[V]});function e(V){let U=A("_",V);if(typeof U==="string"||typeof U==="number")w._.push(U)}function s(V,U,K,_){let M,S=f(U,Y.nargs);if(S=typeof S!=="number"||isNaN(S)?1:S,S===0){if(!GD(_))N=Error(H("Argument unexpected for: %s",U));return i(U,g(U)),V}let L=GD(_)?0:1;if($["nargs-eats-options"]){if(K.length-(V+1)+L<S)N=Error(H("Not enough arguments following: %s",U));L=S}else{for(M=V+1;M<K.length;M++)if(!K[M].match(/^-[^0-9]/)||K[M].match(q)||t(K[M]))L++;else break;if(L<S)N=Error(H("Not enough arguments following: %s",U))}let b=Math.min(L,S);if(!GD(_)&&b>0)i(U,_),b--;for(M=V+1;M<b+V+1;M++)i(U,K[M]);return V+b}function _D(V,U,K,_){let M=[],S=_||K[V+1],L=f(U,Y.nargs);if(f(U,Y.bools)&&!/^(true|false)$/.test(S))M.push(!0);else if(GD(S)||GD(_)&&/^-/.test(S)&&!q.test(S)&&!t(S)){if(z[U]!==void 0){let b=z[U];M=Array.isArray(b)?b:[b]}}else{if(!GD(_))M.push(P(U,_,!0));for(let b=V+1;b<K.length;b++){if(!$["greedy-arrays"]&&M.length>0||L&&typeof L==="number"&&M.length>=L)break;if(S=K[b],/^-/.test(S)&&!q.test(S)&&!t(S))break;V=b,M.push(P(U,S,C))}}if(typeof L==="number"&&(L&&M.length<L||isNaN(L)&&M.length===0))N=Error(H("Not enough arguments following: %s",U));return i(U,M),V}function i(V,U,K=C){if(/-/.test(V)&&$["camel-case-expansion"]){let S=V.split(".").map(function(L){return oD(L)}).join(".");tD(V,S)}let _=P(V,U,K),M=V.split(".");if(ID(w,M,_),Y.aliases[V])Y.aliases[V].forEach(function(S){let L=S.split(".");ID(w,L,_)});if(M.length>1&&$["dot-notation"])(Y.aliases[M[0]]||[]).forEach(function(S){let L=S.split("."),b=[].concat(M);if(b.shift(),L=L.concat(b),!(Y.aliases[V]||[]).includes(L.join(".")))ID(w,L,_)});if(f(V,Y.normalize)&&!f(V,Y.arrays))[V].concat(Y.aliases[V]||[]).forEach(function(L){Object.defineProperty(c,L,{enumerable:!0,get(){return U},set(b){U=typeof b==="string"?bD.normalize(b):b}})})}function tD(V,U){if(!(Y.aliases[V]&&Y.aliases[V].length))Y.aliases[V]=[U],O[U]=!0;if(!(Y.aliases[U]&&Y.aliases[U].length))tD(U,V)}function P(V,U,K){if(K)U=U3(U);if(f(V,Y.bools)||f(V,Y.counts)){if(typeof U==="string")U=U==="true"}let _=Array.isArray(U)?U.map(function(M){return A(V,M)}):A(V,U);if(f(V,Y.counts)&&(GD(_)||typeof _==="boolean"))_=IF();if(f(V,Y.normalize)&&f(V,Y.arrays))if(Array.isArray(U))_=U.map((M)=>{return bD.normalize(M)});else _=bD.normalize(U);return _}function A(V,U){if(!$["parse-positional-numbers"]&&V==="_")return U;if(!f(V,Y.strings)&&!f(V,Y.bools)&&!Array.isArray(U)){if(tu(U)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${U}`)))||!GD(U)&&f(V,Y.numbers))U=Number(U)}return U}function x(V){let U=Object.create(null);hD(U,Y.aliases,z),Object.keys(Y.configs).forEach(function(K){let _=V[K]||U[K];if(_)try{let M=null,S=bD.resolve(bD.cwd(),_),L=Y.configs[K];if(typeof L==="function"){try{M=L(S)}catch(b){M=b}if(M instanceof Error){N=M;return}}else M=bD.require(S);p(M)}catch(M){if(M.name==="PermissionDenied")N=M;else if(V[K])N=Error(H("Invalid JSON config file: %s",_))}})}function p(V,U){Object.keys(V).forEach(function(K){let _=V[K],M=U?U+"."+K:K;if(typeof _==="object"&&_!==null&&!Array.isArray(_)&&$["dot-notation"])p(_,M);else if(!l(w,M.split("."))||f(M,Y.arrays)&&$["combine-arrays"])i(M,_)})}function n(){if(typeof Z<"u")Z.forEach(function(V){p(V)})}function CD(V,U){if(typeof G>"u")return;let K=typeof G==="string"?G:"",_=bD.env();Object.keys(_).forEach(function(M){if(K===""||M.lastIndexOf(K,0)===0){let S=M.split("__").map(function(L,b){if(b===0)L=L.substring(K.length);return oD(L)});if((U&&Y.configs[S.join(".")]||!U)&&!l(V,S))i(S.join("."),_[M])}})}function d(V){let U,K=new Set;Object.keys(V).forEach(function(_){if(!K.has(_)){if(U=f(_,Y.coercions),typeof U==="function")try{let M=A(_,U(V[_]));[].concat(Y.aliases[_]||[],_).forEach((S)=>{K.add(S),V[S]=M})}catch(M){N=M}}})}function $D(V){return Y.keys.forEach((U)=>{if(~U.indexOf("."))return;if(typeof V[U]>"u")V[U]=void 0}),V}function hD(V,U,K,_=!1){Object.keys(K).forEach(function(M){if(!l(V,M.split("."))){if(ID(V,M.split("."),K[M]),_)W[M]=!0;(U[M]||[]).forEach(function(S){if(l(V,S.split(".")))return;ID(V,S.split("."),K[M])})}})}function l(V,U){let K=V;if(!$["dot-notation"])U=[U.join(".")];U.slice(0,-1).forEach(function(M){K=K[M]||{}});let _=U[U.length-1];if(typeof K!=="object")return!1;else return _ in K}function ID(V,U,K){let _=V;if(!$["dot-notation"])U=[U.join(".")];U.slice(0,-1).forEach(function(ZD){if(ZD=H2(ZD),typeof _==="object"&&_[ZD]===void 0)_[ZD]={};if(typeof _[ZD]!=="object"||Array.isArray(_[ZD])){if(Array.isArray(_[ZD]))_[ZD].push({});else _[ZD]=[_[ZD],{}];_=_[ZD][_[ZD].length-1]}else _=_[ZD]});let M=H2(U[U.length-1]),S=f(U.join("."),Y.arrays),L=Array.isArray(K),b=$["duplicate-arguments-array"];if(!b&&f(M,Y.nargs)){if(b=!0,!GD(_[M])&&Y.nargs[M]===1||Array.isArray(_[M])&&_[M].length===Y.nargs[M])_[M]=void 0}if(K===IF())_[M]=IF(_[M]);else if(Array.isArray(_[M]))if(b&&S&&L)_[M]=$["flatten-duplicate-arrays"]?_[M].concat(K):(Array.isArray(_[M][0])?_[M]:[_[M]]).concat([K]);else if(!b&&Boolean(S)===Boolean(L))_[M]=K;else _[M]=_[M].concat([K]);else if(_[M]===void 0&&S)_[M]=L?K:[K];else if(b&&!(_[M]===void 0||f(M,Y.counts)||f(M,Y.bools)))_[M]=[_[M],K];else _[M]=K}function Lu(...V){V.forEach(function(U){Object.keys(U||{}).forEach(function(K){if(Y.aliases[K])return;Y.aliases[K]=[].concat(B[K]||[]),Y.aliases[K].concat(K).forEach(function(_){if(/-/.test(_)&&$["camel-case-expansion"]){let M=oD(_);if(M!==K&&Y.aliases[K].indexOf(M)===-1)Y.aliases[K].push(M),O[M]=!0}}),Y.aliases[K].concat(K).forEach(function(_){if(_.length>1&&/[A-Z]/.test(_)&&$["camel-case-expansion"]){let M=nu(_,"-");if(M!==K&&Y.aliases[K].indexOf(M)===-1)Y.aliases[K].push(M),O[M]=!0}}),Y.aliases[K].forEach(function(_){Y.aliases[_]=[K].concat(Y.aliases[K].filter(function(M){return _!==M}))})})})}function f(V,U){let K=[].concat(Y.aliases[V]||[],V),_=Object.keys(U),M=K.find((S)=>_.includes(S));return M?U[M]:!1}function Hu(V){let U=Object.keys(Y);return[].concat(U.map((_)=>Y[_])).some(function(_){return Array.isArray(_)?_.includes(V):_[V]})}function h0(V,...U){return[].concat(...U).some(function(_){let M=V.match(_);return M&&Hu(M[1])})}function h(V){if(V.match(q)||!V.match(/^-[^-]+/))return!1;let U=!0,K,_=V.slice(1).split("");for(let M=0;M<_.length;M++){if(K=V.slice(M+2),!Hu(_[M])){U=!1;break}if(_[M+1]&&_[M+1]==="="||K==="-"||/[A-Za-z]/.test(_[M])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(K)||_[M+1]&&_[M+1].match(/\W/))break}return U}function t(V){return $["unknown-options-as-args"]&&zD(V)}function zD(V){if(V=V.replace(/^-{3,}/,"--"),V.match(q))return!1;if(h(V))return!1;return!h0(V,/^-+([^=]+?)=[\s\S]*$/,j,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function g(V){if(!f(V,Y.bools)&&!f(V,Y.counts)&&`${V}`in z)return z[V];else return QD(uD(V))}function QD(V){return{[KD.BOOLEAN]:!0,[KD.STRING]:"",[KD.NUMBER]:void 0,[KD.ARRAY]:[]}[V]}function uD(V){let U=KD.BOOLEAN;if(f(V,Y.strings))U=KD.STRING;else if(f(V,Y.numbers))U=KD.NUMBER;else if(f(V,Y.bools))U=KD.BOOLEAN;else if(f(V,Y.arrays))U=KD.ARRAY;return U}function GD(V){return V===void 0}function LF(){Object.keys(Y.counts).find((V)=>{if(f(V,Y.arrays))return N=Error(H("Invalid configuration: %s, opts.count excludes opts.array.",V)),!0;else if(f(V,Y.nargs))return N=Error(H("Invalid configuration: %s, opts.count excludes opts.narg.",V)),!0;return!1})}return{aliases:Object.assign({},Y.aliases),argv:Object.assign(c,w),configuration:$,defaulted:Object.assign({},W),error:N,newAliases:Object.assign({},O)}}}function M3(D){let u=[],F=Object.create(null),E=!0;Object.keys(D).forEach(function(C){u.push([].concat(D[C],C))});while(E){E=!1;for(let C=0;C<u.length;C++)for(let B=C+1;B<u.length;B++)if(u[C].filter(function(z){return u[B].indexOf(z)!==-1}).length){u[C]=u[C].concat(u[B]),u.splice(B,1),E=!0;break}}return u.forEach(function(C){C=C.filter(function($,z,Z){return Z.indexOf($)===z});let B=C.pop();if(B!==void 0&&typeof B==="string")F[B]=C}),F}function IF(D){return D!==void 0?D+1:1}function H2(D){if(D==="__proto__")return"___proto___";return D}function U3(D){return typeof D==="string"&&(D[0]==="'"||D[0]==='"')&&D[D.length-1]===D[0]?D.substring(1,D.length-1):D}import{readFileSync as j3}from"fs";import{createRequire as V2}from"node:module";var fF,hF,vF,M2=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,U2=(hF=(fF=process===null||process===void 0?void 0:process.versions)===null||fF===void 0?void 0:fF.node)!==null&&hF!==void 0?hF:(vF=process===null||process===void 0?void 0:process.version)===null||vF===void 0?void 0:vF.slice(1);if(U2){if(Number(U2.match(/^([^.]+)/)[1])<M2)throw Error(`yargs parser supports a minimum Node.js version of ${M2}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var A3=process?process.env:{},q2=V2?V2(import.meta.url):void 0,_2=new bF({cwd:process.cwd,env:()=>{return A3},format:q3,normalize:_3,resolve:K3,require:(D)=>{if(typeof q2<"u")return q2(D);else if(D.match(/\.json$/))return JSON.parse(j3(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),Nu=function(u,F){return _2.parse(u.slice(),F).argv};Nu.detailed=function(D,u){return _2.parse(D.slice(),u)};Nu.camelCase=oD;Nu.decamelize=nu;Nu.looksLikeNumber=tu;var pF=Nu;import{basename as h3,dirname as v3,extname as p3,relative as m3,resolve as P2,join as y3}from"path";function K2(){if(L3())return 0;return 1}function L3(){return N3()&&!process.defaultApp}function N3(){return!!process.versions.electron}function mF(D){return D.slice(K2()+1)}function j2(){return process.argv[K2()]}import{readFileSync as R3,statSync as T3,writeFile as S3}from"fs";import{format as P3}from"util";import{resolve as w3}from"path";var A2={fs:{readFileSync:R3,writeFile:S3},format:P3,resolve:w3,exists:(D)=>{try{return T3(D).isFile()}catch(u){return!1}}};var TD;class L2{constructor(D){D=D||{},this.directory=D.directory||"./locales",this.updateFiles=typeof D.updateFiles==="boolean"?D.updateFiles:!0,this.locale=D.locale||"en",this.fallbackToLanguage=typeof D.fallbackToLanguage==="boolean"?D.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...D){if(typeof arguments[0]!=="string")return this._taggedLiteral(arguments[0],...arguments);let u=D.shift(),F=function(){};if(typeof D[D.length-1]==="function")F=D.pop();if(F=F||function(){},!this.cache[this.locale])this._readLocaleFile();if(!this.cache[this.locale][u]&&this.updateFiles)this.cache[this.locale][u]=u,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:F});else F();return TD.format.apply(TD.format,[this.cache[this.locale][u]||u].concat(D))}__n(){let D=Array.prototype.slice.call(arguments),u=D.shift(),F=D.shift(),E=D.shift(),C=function(){};if(typeof D[D.length-1]==="function")C=D.pop();if(!this.cache[this.locale])this._readLocaleFile();let B=E===1?u:F;if(this.cache[this.locale][u])B=this.cache[this.locale][u][E===1?"one":"other"];if(!this.cache[this.locale][u]&&this.updateFiles)this.cache[this.locale][u]={one:u,other:F},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:C});else C();let $=[B];if(~B.indexOf("%d"))$.push(E);return TD.format.apply(TD.format,$.concat(D))}setLocale(D){this.locale=D}getLocale(){return this.locale}updateLocale(D){if(!this.cache[this.locale])this._readLocaleFile();for(let u in D)if(Object.prototype.hasOwnProperty.call(D,u))this.cache[this.locale][u]=D[u]}_taggedLiteral(D,...u){let F="";return D.forEach(function(E,C){let B=u[C+1];if(F+=E,typeof B<"u")F+="%s"}),this.__.apply(this,[F].concat([].slice.call(u,1)))}_enqueueWrite(D){if(this.writeQueue.push(D),this.writeQueue.length===1)this._processWriteQueue()}_processWriteQueue(){let D=this,u=this.writeQueue[0],F=u.directory,E=u.locale,C=u.cb,B=this._resolveLocaleFile(F,E),$=JSON.stringify(this.cache[E],null,2);TD.fs.writeFile(B,$,"utf-8",function(z){if(D.writeQueue.shift(),D.writeQueue.length>0)D._processWriteQueue();C(z)})}_readLocaleFile(){let D={},u=this._resolveLocaleFile(this.directory,this.locale);try{if(TD.fs.readFileSync)D=JSON.parse(TD.fs.readFileSync(u,"utf-8"))}catch(F){if(F instanceof SyntaxError)F.message="syntax error in "+u;if(F.code==="ENOENT")D={};else throw F}this.cache[this.locale]=D}_resolveLocaleFile(D,u){let F=TD.resolve(D,"./",u+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(F)&&~u.lastIndexOf("_")){let E=TD.resolve(D,"./",u.split("_")[0]+".json");if(this._fileExistsSync(E))F=E}return F}_fileExistsSync(D){return TD.exists(D)}}function N2(D,u){TD=u;let F=new L2(D);return{__:F.__.bind(F),__n:F.__n.bind(F),setLocale:F.setLocale.bind(F),getLocale:F.getLocale.bind(F),updateLocale:F.updateLocale.bind(F),locale:F.locale}}var x3=(D)=>{return N2(D,A2)},R2=x3;var x2=p0(S2(),1);import{createRequire as c3}from"node:module";import{readFileSync as g3,readdirSync as k3}from"node:fs";var yF=w2(import.meta.url),d3=yF.substring(0,yF.lastIndexOf("node_modules")),i3=c3(import.meta.url),cF={assert:{notStrictEqual:I3,strictEqual:b3},cliui:wF,findUp:xF,getEnv:(D)=>{return process.env[D]},inspect:f3,getProcessArgvBin:j2,mainFilename:d3||process.cwd(),Parser:pF,path:{basename:h3,dirname:v3,extname:p3,relative:m3,resolve:P2,join:y3},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(D,u)=>process.emitWarning(D,u),execPath:()=>process.execPath,exit:(D)=>{process.exit(D)},nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:g3,readdirSync:k3,require:i3,getCallerFile:()=>{let D=x2.default(3);return D.match(/^file:\/\//)?w2(D):D},stringWidth:RD,y18n:R2({directory:P2(yF,"../../../locales"),updateFiles:!1})};function YD(D,u,F,E){F.assert.notStrictEqual(D,u,E)}function gF(D,u){u.assert.strictEqual(typeof D,"string")}function Vu(D){return Object.keys(D)}function o(D){return!!D&&!!D.then&&typeof D.then==="function"}class FD extends Error{constructor(D){super(D||"yargs error");if(this.name="YError",Error.captureStackTrace)Error.captureStackTrace(this,FD)}}function pD(D){let F=D.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),E=/\.*[\][<>]/g,C=F.shift();if(!C)throw Error(`No command found in: ${D}`);let B={cmd:C.replace(E,""),demanded:[],optional:[]};return F.forEach(($,z)=>{let Z=!1;if($=$.replace(/\s/g,""),/\.+[\]>]/.test($)&&z===F.length-1)Z=!0;if(/^\[/.test($))B.optional.push({cmd:$.replace(E,"").split("|"),variadic:Z});else B.demanded.push({cmd:$.replace(E,"").split("|"),variadic:Z})}),B}var n3=["first","second","third","fourth","fifth","sixth"];function R(D,u,F){function E(){return typeof D==="object"?[{demanded:[],optional:[]},D,u]:[pD(`cmd ${D}`),u,F]}try{let C=0,[B,$,z]=E(),Z=[].slice.call($);while(Z.length&&Z[Z.length-1]===void 0)Z.pop();let G=z||Z.length;if(G<B.demanded.length)throw new FD(`Not enough arguments provided. Expected ${B.demanded.length} but received ${Z.length}.`);let Q=B.demanded.length+B.optional.length;if(G>Q)throw new FD(`Too many arguments provided. Expected max ${Q} but received ${G}.`);B.demanded.forEach((J)=>{let O=Z.shift(),W=I2(O);if(J.cmd.filter((Y)=>Y===W||Y==="*").length===0)b2(W,J.cmd,C);C+=1}),B.optional.forEach((J)=>{if(Z.length===0)return;let O=Z.shift(),W=I2(O);if(J.cmd.filter((Y)=>Y===W||Y==="*").length===0)b2(W,J.cmd,C);C+=1})}catch(C){console.warn(C.stack)}}function I2(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function b2(D,u,F){throw new FD(`Invalid ${n3[F]||"manyith"} argument. Expected ${u.join(" or ")} but received ${D}.`)}class kF{constructor(D){this.globalMiddleware=[],this.frozens=[],this.yargs=D}addMiddleware(D,u,F=!0,E=!1){if(R("<array|function> [boolean] [boolean] [boolean]",[D,u,F],arguments.length),Array.isArray(D)){for(let C=0;C<D.length;C++){if(typeof D[C]!=="function")throw Error("middleware must be a function");let B=D[C];B.applyBeforeValidation=u,B.global=F}Array.prototype.push.apply(this.globalMiddleware,D)}else if(typeof D==="function"){let C=D;C.applyBeforeValidation=u,C.global=F,C.mutates=E,this.globalMiddleware.push(D)}return this.yargs}addCoerceMiddleware(D,u){let F=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((E)=>{let C=[...F[u]||[],u];if(!E.option)return!0;else return!C.includes(E.option)}),D.option=u,this.addMiddleware(D,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){let D=this.frozens.pop();if(D!==void 0)this.globalMiddleware=D}reset(){this.globalMiddleware=this.globalMiddleware.filter((D)=>D.global)}}function f2(D){if(!D)return[];return D.map((u)=>{return u.applyBeforeValidation=!1,u})}function sD(D,u,F,E){return F.reduce((C,B)=>{if(B.applyBeforeValidation!==E)return C;if(B.mutates){if(B.applied)return C;B.applied=!0}if(o(C))return C.then(($)=>Promise.all([$,B($,u)])).then(([$,z])=>Object.assign($,z));else{let $=B(C,u);return o($)?$.then((z)=>Object.assign(C,z)):Object.assign(C,$)}},D)}function rD(D,u,F=(E)=>{throw E}){try{let E=t3(D)?D():D;return o(E)?E.then((C)=>u(C)):u(E)}catch(E){return F(E)}}function t3(D){return typeof D==="function"}var Mu=/(^\*)|(^\$0)/;class v2{constructor(D,u,F,E){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=E,this.usage=D,this.globalMiddleware=F,this.validation=u}addDirectory(D,u,F,E){E=E||{},this.requireCache.add(F);let C=this.shim.path.resolve(this.shim.path.dirname(F),D),B=this.shim.readdirSync(C,{recursive:E.recurse?!0:!1});if(!Array.isArray(E.extensions))E.extensions=["js"];let $=typeof E.visit==="function"?E.visit:(z)=>z;for(let z of B){let Z=z.toString();if(E.exclude){let Q=!1;if(typeof E.exclude==="function")Q=E.exclude(Z);else Q=E.exclude.test(Z);if(Q)continue}if(E.include){let Q=!1;if(typeof E.include==="function")Q=E.include(Z);else Q=E.include.test(Z);if(!Q)continue}let G=!1;for(let Q of E.extensions)if(Z.endsWith(Q))G=!0;if(G){let Q=this.shim.path.join(C,Z),J=u(Q),O=Object.create(null,Object.getOwnPropertyDescriptors({...J}));if($(O,Q,Z)){if(this.requireCache.has(Q))continue;else this.requireCache.add(Q);if(!O.command)O.command=this.shim.path.basename(Q,this.shim.path.extname(Q));this.addHandler(O)}}}}addHandler(D,u,F,E,C,B){let $=[],z=f2(C);if(E=E||(()=>{}),Array.isArray(D))if(l3(D))[D,...$]=D;else for(let Z of D)this.addHandler(Z);else if(s3(D)){let Z=Array.isArray(D.command)||typeof D.command==="string"?D.command:null;if(Z===null)throw Error(`No command name given for module: ${this.shim.inspect(D)}`);if(D.aliases)Z=[].concat(Z).concat(D.aliases);this.addHandler(Z,this.extractDesc(D),D.builder,D.handler,D.middlewares,D.deprecated);return}else if(h2(F)){this.addHandler([D].concat($),u,F.builder,F.handler,F.middlewares,F.deprecated);return}if(typeof D==="string"){let Z=pD(D);$=$.map((J)=>pD(J).cmd);let G=!1,Q=[Z.cmd].concat($).filter((J)=>{if(Mu.test(J))return G=!0,!1;return!0});if(Q.length===0&&G)Q.push("$0");if(G)Z.cmd=Q[0],$=Q.slice(1),D=D.replace(Mu,Z.cmd);if($.forEach((J)=>{this.aliasMap[J]=Z.cmd}),u!==!1)this.usage.command(D,u,G,$,B);if(this.handlers[Z.cmd]={original:D,description:u,handler:E,builder:F||{},middlewares:z,deprecated:B,demanded:Z.demanded,optional:Z.optional},G)this.defaultCommand=this.handlers[Z.cmd]}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(D,u,F,E,C,B){let $=this.handlers[D]||this.handlers[this.aliasMap[D]]||this.defaultCommand,z=u.getInternalMethods().getContext(),Z=z.commands.slice(),G=!D;if(D)z.commands.push(D),z.fullCommands.push($.original);let Q=this.applyBuilderUpdateUsageAndParse(G,$,u,F.aliases,Z,E,C,B);return o(Q)?Q.then((J)=>this.applyMiddlewareAndGetResult(G,$,J.innerArgv,z,C,J.aliases,u)):this.applyMiddlewareAndGetResult(G,$,Q.innerArgv,z,C,Q.aliases,u)}applyBuilderUpdateUsageAndParse(D,u,F,E,C,B,$,z){let Z=u.builder,G=F;if(lu(Z)){F.getInternalMethods().getUsageInstance().freeze();let Q=Z(F.getInternalMethods().reset(E),z);if(o(Q))return Q.then((J)=>{return G=m2(J)?J:F,this.parseAndUpdateUsage(D,u,G,C,B,$)})}else if(o3(Z))F.getInternalMethods().getUsageInstance().freeze(),G=F.getInternalMethods().reset(E),Object.keys(u.builder).forEach((Q)=>{G.option(Q,Z[Q])});return this.parseAndUpdateUsage(D,u,G,C,B,$)}parseAndUpdateUsage(D,u,F,E,C,B){if(D)F.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(F))F.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(E,u),u.description);let $=F.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,C,B);return o($)?$.then((z)=>({aliases:F.parsed.aliases,innerArgv:z})):{aliases:F.parsed.aliases,innerArgv:$}}shouldUpdateUsage(D){return!D.getInternalMethods().getUsageInstance().getUsageDisabled()&&D.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(D,u){let F=Mu.test(u.original)?u.original.replace(Mu,"").trim():u.original,E=D.filter((C)=>{return!Mu.test(C)});return E.push(F),`$0 ${E.join(" ")}`}handleValidationAndGetResult(D,u,F,E,C,B,$,z){if(!B.getInternalMethods().getHasOutput()){let Z=B.getInternalMethods().runValidation(C,z,B.parsed.error,D);F=rD(F,(G)=>{return Z(G),G})}if(u.handler&&!B.getInternalMethods().getHasOutput()){B.getInternalMethods().setHasOutput();let Z=!!B.getOptions().configuration["populate--"];if(B.getInternalMethods().postProcess(F,Z,!1,!1),F=sD(F,B,$,!1),F=rD(F,(G)=>{let Q=u.handler(G);return o(Q)?Q.then(()=>G):G}),!D)B.getInternalMethods().getUsageInstance().cacheHelpMessage();if(o(F)&&!B.getInternalMethods().hasParseCallback())F.catch((G)=>{try{B.getInternalMethods().getUsageInstance().fail(null,G)}catch(Q){}})}if(!D)E.commands.pop(),E.fullCommands.pop();return F}applyMiddlewareAndGetResult(D,u,F,E,C,B,$){let z={};if(C)return F;if(!$.getInternalMethods().getHasOutput())z=this.populatePositionals(u,F,E,$);let Z=this.globalMiddleware.getMiddleware().slice(0).concat(u.middlewares),G=sD(F,$,Z,!0);return o(G)?G.then((Q)=>this.handleValidationAndGetResult(D,u,Q,E,B,$,Z,z)):this.handleValidationAndGetResult(D,u,G,E,B,$,Z,z)}populatePositionals(D,u,F,E){u._=u._.slice(F.commands.length);let C=D.demanded.slice(0),B=D.optional.slice(0),$={};this.validation.positionalCount(C.length,u._.length);while(C.length){let z=C.shift();this.populatePositional(z,u,$)}while(B.length){let z=B.shift();this.populatePositional(z,u,$)}return u._=F.commands.concat(u._.map((z)=>""+z)),this.postProcessPositionals(u,$,this.cmdToParseOptions(D.original),E),$}populatePositional(D,u,F){let E=D.cmd[0];if(D.variadic)F[E]=u._.splice(0).map(String);else if(u._.length)F[E]=[String(u._.shift())]}cmdToParseOptions(D){let u={array:[],default:{},alias:{},demand:{}},F=pD(D);return F.demanded.forEach((E)=>{let[C,...B]=E.cmd;if(E.variadic)u.array.push(C),u.default[C]=[];u.alias[C]=B,u.demand[C]=!0}),F.optional.forEach((E)=>{let[C,...B]=E.cmd;if(E.variadic)u.array.push(C),u.default[C]=[];u.alias[C]=B}),u}postProcessPositionals(D,u,F,E){let C=Object.assign({},E.getOptions());C.default=Object.assign(F.default,C.default);for(let Z of Object.keys(F.alias))C.alias[Z]=(C.alias[Z]||[]).concat(F.alias[Z]);C.array=C.array.concat(F.array),C.config={};let B=[];if(Object.keys(u).forEach((Z)=>{u[Z].map((G)=>{if(C.configuration["unknown-options-as-args"])C.key[Z]=!0;B.push(`--${Z}`),B.push(G)})}),!B.length)return;let $=Object.assign({},C.configuration,{"populate--":!1}),z=this.shim.Parser.detailed(B,Object.assign({},C,{configuration:$}));if(z.error)E.getInternalMethods().getUsageInstance().fail(z.error.message,z.error);else{let Z=Object.keys(u);Object.keys(u).forEach((G)=>{Z.push(...z.aliases[G])}),Object.keys(z.argv).forEach((G)=>{if(Z.includes(G)){if(!u[G])u[G]=z.argv[G];if(!this.isInConfigs(E,G)&&!this.isDefaulted(E,G)&&Object.prototype.hasOwnProperty.call(D,G)&&Object.prototype.hasOwnProperty.call(z.argv,G)&&(Array.isArray(D[G])||Array.isArray(z.argv[G])))D[G]=[].concat(D[G],z.argv[G]);else D[G]=z.argv[G]}})}}isDefaulted(D,u){let{default:F}=D.getOptions();return Object.prototype.hasOwnProperty.call(F,u)||Object.prototype.hasOwnProperty.call(F,this.shim.Parser.camelCase(u))}isInConfigs(D,u){let{configObjects:F}=D.getOptions();return F.some((E)=>Object.prototype.hasOwnProperty.call(E,u))||F.some((E)=>Object.prototype.hasOwnProperty.call(E,this.shim.Parser.camelCase(u)))}runDefaultBuilderOn(D){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(D)){let F=Mu.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");D.getInternalMethods().getUsageInstance().usage(F,this.defaultCommand.description)}let u=this.defaultCommand.builder;if(lu(u))return u(D,!0);else if(!h2(u))Object.keys(u).forEach((F)=>{D.option(F,u[F])});return}extractDesc({describe:D,description:u,desc:F}){for(let E of[D,u,F]){if(typeof E==="string"||E===!1)return E;YD(E,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){let D=this.frozens.pop();YD(D,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=D}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function p2(D,u,F,E){return new v2(D,u,F,E)}function h2(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function l3(D){return D.every((u)=>typeof u==="string")}function lu(D){return typeof D==="function"}function o3(D){return typeof D==="object"}function s3(D){return typeof D==="object"&&!Array.isArray(D)}function mD(D={},u=()=>!0){let F={};return Vu(D).forEach((E)=>{if(u(E,D[E]))F[E]=D[E]}),F}function yD(D){if(typeof process>"u")return;[process.stdout,process.stderr].forEach((u)=>{let F=u;if(F._handle&&F.isTTY&&typeof F._handle.setBlocking==="function")F._handle.setBlocking(D)})}function r3(D){return typeof D==="boolean"}function c2(D,u){let F=u.y18n.__,E={},C=[];E.failFn=function(A){C.push(A)};let B=null,$=null,z=!0;E.showHelpOnFail=function(A=!0,x){let[p,n]=typeof A==="string"?[!0,A]:[A,x];if(D.getInternalMethods().isGlobalContext())$=n;return B=n,z=p,E};let Z=!1;E.fail=function(A,x){let p=D.getInternalMethods().getLoggerInstance();if(C.length)for(let n=C.length-1;n>=0;--n){let CD=C[n];if(r3(CD)){if(x)throw x;else if(A)throw Error(A)}else CD(A,x,E)}else{if(D.getExitProcess())yD(!0);if(!Z){if(Z=!0,z)D.showHelp("error"),p.error();if(A||x)p.error(A||x);let n=B||$;if(n){if(A||x)p.error("");p.error(n)}}if(x=x||new FD(A),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,x);else throw x}};let G=[],Q=!1;E.usage=(P,A)=>{if(P===null)return Q=!0,G=[],E;return Q=!1,G.push([P,A||""]),E},E.getUsage=()=>{return G},E.getUsageDisabled=()=>{return Q},E.getPositionalGroupName=()=>{return F("Positionals:")};let J=[];E.example=(P,A)=>{J.push([P,A||""])};let O=[];E.command=function(A,x,p,n,CD=!1){if(p)O=O.map((d)=>{return d[2]=!1,d});O.push([A,x||"",p,n,CD])},E.getCommands=()=>O;let W={};E.describe=function(A,x){if(Array.isArray(A))A.forEach((p)=>{E.describe(p,x)});else if(typeof A==="object")Object.keys(A).forEach((p)=>{E.describe(p,A[p])});else W[A]=x},E.getDescriptions=()=>W;let H=[];E.epilog=(P)=>{H.push(P)};let Y=!1,q;E.wrap=(P)=>{Y=!0,q=P},E.getWrap=()=>{if(u.getEnv("YARGS_DISABLE_WRAP"))return null;if(!Y)q=_D(),Y=!0;return q};let j="__yargsString__:";E.deferY18nLookup=(P)=>j+P,E.help=function(){if(w)return w;k();let A=D.customScriptName?D.$0:u.path.basename(D.$0),x=D.getDemandedOptions(),p=D.getDemandedCommands(),n=D.getDeprecatedOptions(),CD=D.getGroups(),d=D.getOptions(),$D=[];$D=$D.concat(Object.keys(W)),$D=$D.concat(Object.keys(x)),$D=$D.concat(Object.keys(p)),$D=$D.concat(Object.keys(d.default)),$D=$D.filter(e),$D=Object.keys($D.reduce((h,t)=>{if(t!=="_")h[t]=!0;return h},{}));let hD=E.getWrap(),l=u.cliui({width:hD,wrap:!!hD});if(!Q){if(G.length)G.forEach((h)=>{if(l.div({text:`${h[0].replace(/\$0/g,A)}`}),h[1])l.div({text:`${h[1]}`,padding:[1,0,0,0]})}),l.div();else if(O.length){let h=null;if(p._)h=`${A} <${F("command")}>
|
|
15
15
|
`;else h=`${A} [${F("command")}]
|
|
16
|
-
`;l.div(`${h}`)}}if(
|
|
16
|
+
`;l.div(`${h}`)}}if(O.length>1||O.length===1&&!O[0][2]){l.div(F("Commands:"));let h=D.getInternalMethods().getContext(),t=h.commands.length?`${h.commands.join(" ")} `:"";if(D.getInternalMethods().getParserConfiguration()["sort-commands"]===!0)O=O.sort((g,QD)=>g[0].localeCompare(QD[0]));let zD=A?`${A} `:"";O.forEach((g)=>{let QD=`${zD}${t}${g[0].replace(/^\$0 ?/,"")}`;l.span({text:QD,padding:[0,2,0,2],width:N(O,hD,`${A}${t}`)+4},{text:g[1]});let uD=[];if(g[2])uD.push(`[${F("default")}]`);if(g[3]&&g[3].length)uD.push(`[${F("aliases:")} ${g[3].join(", ")}]`);if(g[4])if(typeof g[4]==="string")uD.push(`[${F("deprecated: %s",g[4])}]`);else uD.push(`[${F("deprecated")}]`);if(uD.length)l.div({text:uD.join(" "),padding:[0,0,0,2],align:"right"});else l.div()}),l.div()}let ID=(Object.keys(d.alias)||[]).concat(Object.keys(D.parsed.newAliases)||[]);$D=$D.filter((h)=>!D.parsed.newAliases[h]&&ID.every((t)=>(d.alias[t]||[]).indexOf(h)===-1));let Lu=F("Options:");if(!CD[Lu])CD[Lu]=[];c($D,d.alias,CD,Lu);let f=(h)=>/^--/.test(ou(h)),Hu=Object.keys(CD).filter((h)=>CD[h].length>0).map((h)=>{let t=CD[h].filter(e).map((zD)=>{if(ID.includes(zD))return zD;for(let g=0,QD;(QD=ID[g])!==void 0;g++)if((d.alias[QD]||[]).includes(zD))return QD;return zD});return{groupName:h,normalizedKeys:t}}).filter(({normalizedKeys:h})=>h.length>0).map(({groupName:h,normalizedKeys:t})=>{let zD=t.reduce((g,QD)=>{return g[QD]=[QD].concat(d.alias[QD]||[]).map((uD)=>{if(h===E.getPositionalGroupName())return uD;else return(/^[0-9]$/.test(uD)?d.boolean.includes(QD)?"-":"--":uD.length>1?"--":"-")+uD}).sort((uD,GD)=>f(uD)===f(GD)?0:f(uD)?1:-1).join(", "),g},{});return{groupName:h,normalizedKeys:t,switches:zD}});if(Hu.filter(({groupName:h})=>h!==E.getPositionalGroupName()).some(({normalizedKeys:h,switches:t})=>!h.every((zD)=>f(t[zD]))))Hu.filter(({groupName:h})=>h!==E.getPositionalGroupName()).forEach(({normalizedKeys:h,switches:t})=>{h.forEach((zD)=>{if(f(t[zD]))t[zD]=a3(t[zD],4)})});if(Hu.forEach(({groupName:h,normalizedKeys:t,switches:zD})=>{l.div(h),t.forEach((g)=>{let QD=zD[g],uD=W[g]||"",GD=null;if(uD.includes(j))uD=F(uD.substring(j.length));if(d.boolean.includes(g))GD=`[${F("boolean")}]`;if(d.count.includes(g))GD=`[${F("count")}]`;if(d.string.includes(g))GD=`[${F("string")}]`;if(d.normalize.includes(g))GD=`[${F("string")}]`;if(d.array.includes(g))GD=`[${F("array")}]`;if(d.number.includes(g))GD=`[${F("number")}]`;let LF=(K)=>typeof K==="string"?`[${F("deprecated: %s",K)}]`:`[${F("deprecated")}]`,V=[g in n?LF(n[g]):null,GD,g in x?`[${F("required")}]`:null,d.choices&&d.choices[g]?`[${F("choices:")} ${E.stringifiedValues(d.choices[g])}]`:null,s(d.default[g],d.defaultDescription[g])].filter(Boolean).join(" ");l.span({text:ou(QD),padding:[0,2,0,2+y2(QD)],width:N(zD,hD)+4},uD);let U=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(V&&!U)l.div({text:V,padding:[0,0,0,2],align:"right"});else l.div()}),l.div()}),J.length)l.div(F("Examples:")),J.forEach((h)=>{h[0]=h[0].replace(/\$0/g,A)}),J.forEach((h)=>{if(h[1]==="")l.div({text:h[0],padding:[0,2,0,2]});else l.div({text:h[0],padding:[0,2,0,2],width:N(J,hD)+4},{text:h[1]})}),l.div();if(H.length>0){let h=H.map((t)=>t.replace(/\$0/g,A)).join(`
|
|
17
17
|
`);l.div(`${h}
|
|
18
|
-
`)}return l.toString().replace(/\s*$/,"")};function N(P,A,x){let p=0;if(!Array.isArray(P))P=Object.values(P).map((n)=>[n]);if(P.forEach((n)=>{p=Math.max(u.stringWidth(x?`${x} ${ou(n[0])}`:ou(n[0]))+
|
|
18
|
+
`)}return l.toString().replace(/\s*$/,"")};function N(P,A,x){let p=0;if(!Array.isArray(P))P=Object.values(P).map((n)=>[n]);if(P.forEach((n)=>{p=Math.max(u.stringWidth(x?`${x} ${ou(n[0])}`:ou(n[0]))+y2(n[0]),p)}),A)p=Math.min(p,parseInt((A*0.5).toString(),10));return p}function k(){let P=D.getDemandedOptions(),A=D.getOptions();(Object.keys(A.alias)||[]).forEach((x)=>{A.alias[x].forEach((p)=>{if(W[p])E.describe(x,W[p]);if(p in P)D.demandOption(x,P[p]);if(A.boolean.includes(p))D.boolean(x);if(A.count.includes(p))D.count(x);if(A.string.includes(p))D.string(x);if(A.normalize.includes(p))D.normalize(x);if(A.array.includes(p))D.array(x);if(A.number.includes(p))D.number(x)})})}let w;E.cacheHelpMessage=function(){w=this.help()},E.clearCachedHelpMessage=function(){w=void 0},E.hasCachedHelpMessage=function(){return!!w};function c(P,A,x,p){let n=[],CD=null;return Object.keys(x).forEach((d)=>{n=n.concat(x[d])}),P.forEach((d)=>{if(CD=[d].concat(A[d]),!CD.some(($D)=>n.indexOf($D)!==-1))x[p].push(d)}),n}function e(P){return D.getOptions().hiddenOptions.indexOf(P)<0||D.parsed.argv[D.getOptions().showHiddenOpt]}E.showHelp=(P)=>{let A=D.getInternalMethods().getLoggerInstance();if(!P)P="error";(typeof P==="function"?P:A[P])(E.help())},E.functionDescription=(P)=>{return["(",P.name?u.Parser.decamelize(P.name,"-"):F("generated-value"),")"].join("")},E.stringifiedValues=function(A,x){let p="",n=x||", ",CD=[].concat(A);if(!A||!CD.length)return p;return CD.forEach((d)=>{if(p.length)p+=n;p+=JSON.stringify(d)}),p};function s(P,A){let x=`[${F("default:")} `;if(P===void 0&&!A)return null;if(A)x+=A;else switch(typeof P){case"string":x+=`"${P}"`;break;case"object":x+=JSON.stringify(P);break;default:x+=P}return`${x}]`}function _D(){if(u.process.stdColumns)return Math.min(80,u.process.stdColumns);else return 80}let i=null;E.version=(P)=>{i=P},E.showVersion=(P)=>{let A=D.getInternalMethods().getLoggerInstance();if(!P)P="error";(typeof P==="function"?P:A[P])(i)},E.reset=function(A){return B=null,Z=!1,G=[],Q=!1,H=[],J=[],O=[],W=mD(W,(x)=>!A[x]),E};let tD=[];return E.freeze=function(){tD.push({failMessage:B,failureOutput:Z,usages:G,usageDisabled:Q,epilogs:H,examples:J,commands:O,descriptions:W})},E.unfreeze=function(A=!1){let x=tD.pop();if(!x)return;if(A)W={...x.descriptions,...W},O=[...x.commands,...O],G=[...x.usages,...G],J=[...x.examples,...J],H=[...x.epilogs,...H];else({failMessage:B,failureOutput:Z,usages:G,usageDisabled:Q,epilogs:H,examples:J,commands:O,descriptions:W}=x)},E}function dF(D){return typeof D==="object"}function a3(D,u){return dF(D)?{text:D.text,indentation:D.indentation+u}:{text:D,indentation:u}}function y2(D){return dF(D)?D.indentation:0}function ou(D){return dF(D)?D.text:D}var g2=`###-begin-{{app_name}}-completions-###
|
|
19
19
|
#
|
|
20
20
|
# yargs command completion script
|
|
21
21
|
#
|
|
@@ -44,7 +44,7 @@ _{{app_name}}_yargs_completions()
|
|
|
44
44
|
}
|
|
45
45
|
complete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}
|
|
46
46
|
###-end-{{app_name}}-completions-###
|
|
47
|
-
`,
|
|
47
|
+
`,k2=`#compdef {{app_name}}
|
|
48
48
|
###-begin-{{app_name}}-completions-###
|
|
49
49
|
#
|
|
50
50
|
# yargs command completion script
|
|
@@ -71,86 +71,87 @@ else
|
|
|
71
71
|
compdef _{{app_name}}_yargs_completions {{app_name}}
|
|
72
72
|
fi
|
|
73
73
|
###-end-{{app_name}}-completions-###
|
|
74
|
-
`;class
|
|
74
|
+
`;class d2{constructor(D,u,F,E){var C,B,$;this.yargs=D,this.usage=u,this.command=F,this.shim=E,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=($=((C=this.shim.getEnv("SHELL"))===null||C===void 0?void 0:C.includes("zsh"))||((B=this.shim.getEnv("ZSH_NAME"))===null||B===void 0?void 0:B.includes("zsh")))!==null&&$!==void 0?$:!1}defaultCompletion(D,u,F,E){let C=this.command.getCommandHandlers();for(let $=0,z=D.length;$<z;++$)if(C[D[$]]&&C[D[$]].builder){let Z=C[D[$]].builder;if(lu(Z)){this.indexAfterLastReset=$+1;let G=this.yargs.getInternalMethods().reset();return Z(G,!0),G.argv}}let B=[];this.commandCompletions(B,D,F),this.optionCompletions(B,D,u,F),this.choicesFromOptionsCompletions(B,D,u,F),this.choicesFromPositionalsCompletions(B,D,u,F),E(null,B)}commandCompletions(D,u,F){let E=this.yargs.getInternalMethods().getContext().commands;if(!F.match(/^-/)&&E[E.length-1]!==F&&!this.previousArgHasChoices(u))this.usage.getCommands().forEach((C)=>{let B=pD(C[0]).cmd;if(u.indexOf(B)===-1)if(!this.zshShell)D.push(B);else{let $=C[1]||"";D.push(B.replace(/:/g,"\\:")+":"+$)}})}optionCompletions(D,u,F,E){if((E.match(/^-/)||E===""&&D.length===0)&&!this.previousArgHasChoices(u)){let C=this.yargs.getOptions(),B=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(C.key).forEach(($)=>{let z=!!C.configuration["boolean-negation"]&&C.boolean.includes($);if(!B.includes($)&&!C.hiddenOptions.includes($)&&!this.argsContainKey(u,$,z))this.completeOptionKey($,D,E,z&&!!C.default[$])})}}choicesFromOptionsCompletions(D,u,F,E){if(this.previousArgHasChoices(u)){let C=this.getPreviousArgChoices(u);if(C&&C.length>0)D.push(...C.map((B)=>B.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(D,u,F,E){if(E===""&&D.length>0&&this.previousArgHasChoices(u))return;let C=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],B=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),$=C[F._.length-B-1];if(!$)return;let z=this.yargs.getOptions().choices[$]||[];for(let Z of z)if(Z.startsWith(E))D.push(Z.replace(/:/g,"\\:"))}getPreviousArgChoices(D){if(D.length<1)return;let u=D[D.length-1],F="";if(!u.startsWith("-")&&D.length>1)F=u,u=D[D.length-2];if(!u.startsWith("-"))return;let E=u.replace(/^-+/,""),C=this.yargs.getOptions(),B=[E,...this.yargs.getAliases()[E]||[]],$;for(let z of B)if(Object.prototype.hasOwnProperty.call(C.key,z)&&Array.isArray(C.choices[z])){$=C.choices[z];break}if($)return $.filter((z)=>!F||z.startsWith(F))}previousArgHasChoices(D){let u=this.getPreviousArgChoices(D);return u!==void 0&&u.length>0}argsContainKey(D,u,F){let E=(C)=>D.indexOf((/^[^0-9]$/.test(C)?"-":"--")+C)!==-1;if(E(u))return!0;if(F&&E(`no-${u}`))return!0;if(this.aliases){for(let C of this.aliases[u])if(E(C))return!0}return!1}completeOptionKey(D,u,F,E){var C,B,$,z;let Z=D;if(this.zshShell){let O=this.usage.getDescriptions(),W=(B=(C=this===null||this===void 0?void 0:this.aliases)===null||C===void 0?void 0:C[D])===null||B===void 0?void 0:B.find((q)=>{let j=O[q];return typeof j==="string"&&j.length>0}),H=W?O[W]:void 0,Y=(z=($=O[D])!==null&&$!==void 0?$:H)!==null&&z!==void 0?z:"";Z=`${D.replace(/:/g,"\\:")}:${Y.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let G=(O)=>/^--/.test(O),Q=(O)=>/^[^0-9]$/.test(O),J=!G(F)&&Q(D)?"-":"--";if(u.push(J+Z),E)u.push(J+"no-"+Z)}customCompletion(D,u,F,E){if(YD(this.customCompletionFunction,null,this.shim),D6(this.customCompletionFunction)){let C=this.customCompletionFunction(F,u);if(o(C))return C.then((B)=>{this.shim.process.nextTick(()=>{E(null,B)})}).catch((B)=>{this.shim.process.nextTick(()=>{E(B,void 0)})});return E(null,C)}else if(u6(this.customCompletionFunction))return this.customCompletionFunction(F,u,(C=E)=>this.defaultCompletion(D,u,F,C),(C)=>{E(null,C)});else return this.customCompletionFunction(F,u,(C)=>{E(null,C)})}getCompletion(D,u){let F=D.length?D[D.length-1]:"",E=this.yargs.parse(D,!0),C=this.customCompletionFunction?(B)=>this.customCompletion(D,B,F,u):(B)=>this.defaultCompletion(D,B,F,u);return o(E)?E.then(C):C(E)}generateCompletionScript(D,u){let F=this.zshShell?k2:g2,E=this.shim.path.basename(D);if(D.match(/\.js$/))D=`./${D}`;return F=F.replace(/{{app_name}}/g,E),F=F.replace(/{{completion_command}}/g,u),F.replace(/{{app_path}}/g,D)}registerFunction(D){this.customCompletionFunction=D}setParsed(D){this.aliases=D.aliases}}function i2(D,u,F,E){return new d2(D,u,F,E)}function D6(D){return D.length<3}function u6(D){return D.length>3}function n2(D,u){if(D.length===0)return u.length;if(u.length===0)return D.length;let F=[],E;for(E=0;E<=u.length;E++)F[E]=[E];let C;for(C=0;C<=D.length;C++)F[0][C]=C;for(E=1;E<=u.length;E++)for(C=1;C<=D.length;C++)if(u.charAt(E-1)===D.charAt(C-1))F[E][C]=F[E-1][C-1];else if(E>1&&C>1&&u.charAt(E-2)===D.charAt(C-1)&&u.charAt(E-1)===D.charAt(C-2))F[E][C]=F[E-2][C-2]+1;else F[E][C]=Math.min(F[E-1][C-1]+1,Math.min(F[E][C-1]+1,F[E-1][C]+1));return F[u.length][D.length]}var t2=["$0","--","_"];function l2(D,u,F){let E=F.y18n.__,C=F.y18n.__n,B={};B.nonOptionCount=function(J){let O=D.getDemandedCommands(),H=J._.length+(J["--"]?J["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(O._&&(H<O._.min||H>O._.max)){if(H<O._.min)if(O._.minMsg!==void 0)u.fail(O._.minMsg?O._.minMsg.replace(/\$0/g,H.toString()).replace(/\$1/,O._.min.toString()):null);else u.fail(C("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",H,H.toString(),O._.min.toString()));else if(H>O._.max)if(O._.maxMsg!==void 0)u.fail(O._.maxMsg?O._.maxMsg.replace(/\$0/g,H.toString()).replace(/\$1/,O._.max.toString()):null);else u.fail(C("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",H,H.toString(),O._.max.toString()))}},B.positionalCount=function(J,O){if(O<J)u.fail(C("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",O,O+"",J+""))},B.requiredArguments=function(J,O){let W=null;for(let H of Object.keys(O))if(!Object.prototype.hasOwnProperty.call(J,H)||typeof J[H]>"u")W=W||{},W[H]=O[H];if(W){let H=[];for(let q of Object.keys(W)){let j=W[q];if(j&&H.indexOf(j)<0)H.push(j)}let Y=H.length?`
|
|
75
75
|
${H.join(`
|
|
76
|
-
`)}`:"";u.fail(C("Missing required argument: %s","Missing required arguments: %s",Object.keys(W).length,Object.keys(W).join(", ")+
|
|
77
|
-
${E("Argument: %s, Given: %s, Choices: %s",q,u.stringifiedValues(W[q]),u.stringifiedValues(
|
|
78
|
-
`;Y.forEach((H)=>{W+=H}),u.fail(W)}};let Z={};B.conflicts=function(J,Y){if(R("<string|object> [array|string]",[J,Y],arguments.length),typeof J==="object")Object.keys(J).forEach((W)=>{B.conflicts(W,J[W])});else{if(D.global(J),!Z[J])Z[J]=[];if(Array.isArray(Y))Y.forEach((W)=>B.conflicts(J,W));else Z[J].push(Y)}},B.getConflicting=()=>Z,B.conflicting=function(J){if(Object.keys(J).forEach((Y)=>{if(Z[Y])Z[Y].forEach((W)=>{if(W&&J[Y]!==void 0&&J[W]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",Y,W))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Z).forEach((Y)=>{Z[Y].forEach((W)=>{if(W&&J[F.Parser.camelCase(Y)]!==void 0&&J[F.Parser.camelCase(W)]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",Y,W))})})},B.recommendCommands=function(J,Y){Y=Y.sort((q,j)=>j.length-q.length);let H=null,O=1/0;for(let q=0,j;(j=Y[q])!==void 0;q++){let N=c2(J,j);if(N<=3&&N<O)O=N,H=j}if(H)u.fail(E("Did you mean %s?",H))},B.reset=function(J){return $=mD($,(Y)=>!J[Y]),Z=mD(Z,(Y)=>!J[Y]),B};let G=[];return B.freeze=function(){G.push({implied:$,conflicting:Z})},B.unfreeze=function(){let J=G.pop();YD(J,void 0,F),{implied:$,conflicting:Z}=J},B}var dF=[],Ru;function Tu(D,u,F,E){Ru=E;let C={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return C;let B=/\.json|\..*rc$/.test(D.extends),$=null;if(!B)try{$=import.meta.resolve(D.extends)}catch(z){return D}else $=o3(u,D.extends);l3($),dF.push($),C=B?JSON.parse(Ru.readFileSync($,"utf8")):E.require(D.extends),delete D.extends,C=Tu(C,Ru.path.dirname($),F,Ru)}return dF=[],F?d2(C,D):Object.assign({},C,D)}function l3(D){if(dF.indexOf(D)>-1)throw new FD(`Circular extended configurations: '${D}'.`)}function o3(D,u){return Ru.path.resolve(D,u)}function d2(D,u){let F={};function E(C){return C&&typeof C==="object"&&!Array.isArray(C)}Object.assign(F,D);for(let C of Object.keys(u))if(E(u[C])&&E(F[C]))F[C]=d2(D[C],u[C]);else F[C]=u[C];return F}var T=function(D,u,F,E,C){if(E==="m")throw TypeError("Private method is not writable");if(E==="a"&&!C)throw TypeError("Private accessor was defined without a setter");if(typeof u==="function"?D!==u||!C:!u.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?C.call(D,F):C?C.value=F:u.set(D,F),F},X=function(D,u,F,E){if(F==="a"&&!E)throw TypeError("Private accessor was defined without a getter");if(typeof u==="function"?D!==u||!E:!u.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return F==="m"?E:F==="a"?E.call(D):E?E.value:u.get(D)},ED,aD,Su,WD,MD,su,cD,eD,ru,KD,au,jD,PD,VD,AD,eu,Du,JD,I,DF,uF,UD,uu,Uu,Fu,gD,FF,v,Eu,Cu,Bu,m,EF,wD,DD;function J8(D){return(u=[],F=D.process.cwd(),E)=>{let C=new X8(u,F,E,D);return Object.defineProperty(C,"argv",{get:()=>{return C.parse()},enumerable:!0}),C.help(),C.version(),C}}var i2=Symbol("copyDoubleDash"),n2=Symbol("copyDoubleDash"),iF=Symbol("deleteFromParserHintObject"),t2=Symbol("emitWarning"),l2=Symbol("freeze"),o2=Symbol("getDollarZero"),$u=Symbol("getParserConfiguration"),s2=Symbol("getUsageConfiguration"),nF=Symbol("guessLocale"),r2=Symbol("guessVersion"),a2=Symbol("parsePositionalNumbers"),tF=Symbol("pkgUp"),kD=Symbol("populateParserHintArray"),qu=Symbol("populateParserHintSingleValueDictionary"),lF=Symbol("populateParserHintArrayDictionary"),oF=Symbol("populateParserHintDictionary"),sF=Symbol("sanitizeKey"),rF=Symbol("setKey"),aF=Symbol("unfreeze"),e2=Symbol("validateAsync"),D8=Symbol("getCommandInstance"),u8=Symbol("getContext"),F8=Symbol("getHasOutput"),E8=Symbol("getLoggerInstance"),C8=Symbol("getParseContext"),B8=Symbol("getUsageInstance"),$8=Symbol("getValidationInstance"),CF=Symbol("hasParseCallback"),z8=Symbol("isGlobalContext"),zu=Symbol("postProcess"),G8=Symbol("rebase"),eF=Symbol("reset"),Pu=Symbol("runYargsParserAndExecuteCommands"),D0=Symbol("runValidation"),Z8=Symbol("setHasOutput"),Gu=Symbol("kTrackManuallySetKeys"),s3="en_US";class X8{constructor(D=[],u,F,E){this.customScriptName=!1,this.parsed=!1,ED.set(this,void 0),aD.set(this,void 0),Su.set(this,{commands:[],fullCommands:[]}),WD.set(this,null),MD.set(this,null),su.set(this,"show-hidden"),cD.set(this,null),eD.set(this,!0),ru.set(this,{}),KD.set(this,!0),au.set(this,[]),jD.set(this,void 0),PD.set(this,{}),VD.set(this,!1),AD.set(this,null),eu.set(this,!0),Du.set(this,void 0),JD.set(this,""),I.set(this,void 0),DF.set(this,void 0),uF.set(this,{}),UD.set(this,null),uu.set(this,null),Uu.set(this,{}),Fu.set(this,{}),gD.set(this,void 0),FF.set(this,!1),v.set(this,void 0),Eu.set(this,!1),Cu.set(this,!1),Bu.set(this,!1),m.set(this,void 0),EF.set(this,{}),wD.set(this,null),DD.set(this,void 0),T(this,v,E,"f"),T(this,gD,D,"f"),T(this,aD,u,"f"),T(this,DF,F,"f"),T(this,jD,new gF(this),"f"),this.$0=this[o2](),this[eF](),T(this,ED,X(this,ED,"f"),"f"),T(this,m,X(this,m,"f"),"f"),T(this,DD,X(this,DD,"f"),"f"),T(this,I,X(this,I,"f"),"f"),X(this,I,"f").showHiddenOpt=X(this,su,"f"),T(this,Du,this[n2](),"f"),X(this,v,"f").y18n.setLocale(s3)}addHelpOpt(D,u){if(R("[string|boolean] [string]",[D,u],arguments.length),X(this,AD,"f"))this[iF](X(this,AD,"f")),T(this,AD,null,"f");if(D===!1&&u===void 0)return this;return T(this,AD,typeof D==="string"?D:"help","f"),this.boolean(X(this,AD,"f")),this.describe(X(this,AD,"f"),u||X(this,m,"f").deferY18nLookup("Show help")),this}help(D,u){return this.addHelpOpt(D,u)}addShowHiddenOpt(D,u){if(R("[string|boolean] [string]",[D,u],arguments.length),D===!1&&u===void 0)return this;let F=typeof D==="string"?D:X(this,su,"f");return this.boolean(F),this.describe(F,u||X(this,m,"f").deferY18nLookup("Show hidden options")),X(this,I,"f").showHiddenOpt=F,this}showHidden(D,u){return this.addShowHiddenOpt(D,u)}alias(D,u){return R("<object|string|array> [string|array]",[D,u],arguments.length),this[lF](this.alias.bind(this),"alias",D,u),this}array(D){return R("<array|string>",[D],arguments.length),this[kD]("array",D),this[Gu](D),this}boolean(D){return R("<array|string>",[D],arguments.length),this[kD]("boolean",D),this[Gu](D),this}check(D,u){return R("<function> [boolean]",[D,u],arguments.length),this.middleware((F,E)=>{return rD(()=>{return D(F,E.getOptions())},(C)=>{if(!C)X(this,m,"f").fail(X(this,v,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof C==="string"||C instanceof Error)X(this,m,"f").fail(C.toString(),C);return F},(C)=>{return X(this,m,"f").fail(C.message?C.message:C.toString(),C),F})},!1,u),this}choices(D,u){return R("<object|string|array> [string|array]",[D,u],arguments.length),this[lF](this.choices.bind(this),"choices",D,u),this}coerce(D,u){if(R("<object|string|array> [function]",[D,u],arguments.length),Array.isArray(D)){if(!u)throw new FD("coerce callback must be provided");for(let E of D)this.coerce(E,u);return this}else if(typeof D==="object"){for(let E of Object.keys(D))this.coerce(E,D[E]);return this}if(!u)throw new FD("coerce callback must be provided");let F=D;return X(this,I,"f").key[F]=!0,X(this,jD,"f").addCoerceMiddleware((E,C)=>{var B;let $=(B=C.getAliases()[F])!==null&&B!==void 0?B:[],z=[F,...$].filter((Z)=>Object.prototype.hasOwnProperty.call(E,Z));if(z.length===0)return E;return rD(()=>{return u(E[z[0]])},(Z)=>{return z.forEach((G)=>{E[G]=Z}),E},(Z)=>{throw new FD(Z.message)})},F),this}conflicts(D,u){return R("<string|object> [string|array]",[D,u],arguments.length),X(this,DD,"f").conflicts(D,u),this}config(D="config",u,F){if(R("[object|string] [string|function] [function]",[D,u,F],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=Tu(D,X(this,aD,"f"),this[$u]()["deep-merge-config"]||!1,X(this,v,"f")),X(this,I,"f").configObjects=(X(this,I,"f").configObjects||[]).concat(D),this;if(typeof u==="function")F=u,u=void 0;return this.describe(D,u||X(this,m,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((E)=>{X(this,I,"f").config[E]=F||!0}),this}completion(D,u,F){if(R("[string] [string|boolean|function] [function]",[D,u,F],arguments.length),typeof u==="function")F=u,u=void 0;if(T(this,MD,D||X(this,MD,"f")||"completion","f"),!u&&u!==!1)u="generate completion script";if(this.command(X(this,MD,"f"),u),F)X(this,WD,"f").registerFunction(F);return this}command(D,u,F,E,C,B){return R("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,u,F,E,C,B],arguments.length),X(this,ED,"f").addHandler(D,u,F,E,C,B),this}commands(D,u,F,E,C,B){return this.command(D,u,F,E,C,B)}commandDir(D,u){R("<string> [object]",[D,u],arguments.length);let F=X(this,DF,"f")||X(this,v,"f").require;return X(this,ED,"f").addDirectory(D,F,X(this,v,"f").getCallerFile(),u),this}count(D){return R("<array|string>",[D],arguments.length),this[kD]("count",D),this[Gu](D),this}default(D,u,F){if(R("<object|string|array> [*] [string]",[D,u,F],arguments.length),F)cF(D,X(this,v,"f")),X(this,I,"f").defaultDescription[D]=F;if(typeof u==="function"){if(cF(D,X(this,v,"f")),!X(this,I,"f").defaultDescription[D])X(this,I,"f").defaultDescription[D]=X(this,m,"f").functionDescription(u);u=u.call()}return this[qu](this.default.bind(this),"default",D,u),this}defaults(D,u,F){return this.default(D,u,F)}demandCommand(D=1,u,F,E){if(R("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,u,F,E],arguments.length),typeof u!=="number")F=u,u=1/0;return this.global("_",!1),X(this,I,"f").demandedCommands._={min:D,max:u,minMsg:F,maxMsg:E},this}demand(D,u,F){if(Array.isArray(u))u.forEach((E)=>{YD(F,!0,X(this,v,"f")),this.demandOption(E,F)}),u=1/0;else if(typeof u!=="number")F=u,u=1/0;if(typeof D==="number")YD(F,!0,X(this,v,"f")),this.demandCommand(D,u,F,F);else if(Array.isArray(D))D.forEach((E)=>{YD(F,!0,X(this,v,"f")),this.demandOption(E,F)});else if(typeof F==="string")this.demandOption(D,F);else if(F===!0||typeof F>"u")this.demandOption(D);return this}demandOption(D,u){return R("<object|string|array> [string]",[D,u],arguments.length),this[qu](this.demandOption.bind(this),"demandedOptions",D,u),this}deprecateOption(D,u){return R("<string> [string|boolean]",[D,u],arguments.length),X(this,I,"f").deprecatedOptions[D]=u,this}describe(D,u){return R("<object|string|array> [string]",[D,u],arguments.length),this[rF](D,!0),X(this,m,"f").describe(D,u),this}detectLocale(D){return R("<boolean>",[D],arguments.length),T(this,eD,D,"f"),this}env(D){if(R("[string|boolean]",[D],arguments.length),D===!1)delete X(this,I,"f").envPrefix;else X(this,I,"f").envPrefix=D||"";return this}epilogue(D){return R("<string>",[D],arguments.length),X(this,m,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,u){if(R("<string|array> [string]",[D,u],arguments.length),Array.isArray(D))D.forEach((F)=>this.example(...F));else X(this,m,"f").example(D,u);return this}exit(D,u){if(T(this,VD,!0,"f"),T(this,cD,u,"f"),X(this,KD,"f"))X(this,v,"f").process.exit(D)}exitProcess(D=!0){return R("[boolean]",[D],arguments.length),T(this,KD,D,"f"),this}fail(D){if(R("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new FD("Invalid first argument. Expected function or boolean 'false'");return X(this,m,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,u){if(R("<array> [function]",[D,u],arguments.length),!u)return new Promise((F,E)=>{X(this,WD,"f").getCompletion(D,(C,B)=>{if(C)E(C);else F(B)})});else return X(this,WD,"f").getCompletion(D,u)}getDemandedOptions(){return R([],0),X(this,I,"f").demandedOptions}getDemandedCommands(){return R([],0),X(this,I,"f").demandedCommands}getDeprecatedOptions(){return R([],0),X(this,I,"f").deprecatedOptions}getDetectLocale(){return X(this,eD,"f")}getExitProcess(){return X(this,KD,"f")}getGroups(){return Object.assign({},X(this,PD,"f"),X(this,Fu,"f"))}getHelp(){if(T(this,VD,!0,"f"),!X(this,m,"f").hasCachedHelpMessage()){if(!this.parsed){let u=this[Pu](X(this,gD,"f"),void 0,void 0,0,!0);if(o(u))return u.then(()=>{return X(this,m,"f").help()})}let D=X(this,ED,"f").runDefaultBuilderOn(this);if(o(D))return D.then(()=>{return X(this,m,"f").help()})}return Promise.resolve(X(this,m,"f").help())}getOptions(){return X(this,I,"f")}getStrict(){return X(this,Eu,"f")}getStrictCommands(){return X(this,Cu,"f")}getStrictOptions(){return X(this,Bu,"f")}global(D,u){if(R("<string|array> [boolean]",[D,u],arguments.length),D=[].concat(D),u!==!1)X(this,I,"f").local=X(this,I,"f").local.filter((F)=>D.indexOf(F)===-1);else D.forEach((F)=>{if(!X(this,I,"f").local.includes(F))X(this,I,"f").local.push(F)});return this}group(D,u){R("<string|array> <string>",[D,u],arguments.length);let F=X(this,Fu,"f")[u]||X(this,PD,"f")[u];if(X(this,Fu,"f")[u])delete X(this,Fu,"f")[u];let E={};return X(this,PD,"f")[u]=(F||[]).concat(D).filter((C)=>{if(E[C])return!1;return E[C]=!0}),this}hide(D){return R("<string>",[D],arguments.length),X(this,I,"f").hiddenOptions.push(D),this}implies(D,u){return R("<string|object> [number|string|array]",[D,u],arguments.length),X(this,DD,"f").implies(D,u),this}locale(D){if(R("[string]",[D],arguments.length),D===void 0)return this[nF](),X(this,v,"f").y18n.getLocale();return T(this,eD,!1,"f"),X(this,v,"f").y18n.setLocale(D),this}middleware(D,u,F){return X(this,jD,"f").addMiddleware(D,!!u,F)}nargs(D,u){return R("<string|object|array> [number]",[D,u],arguments.length),this[qu](this.nargs.bind(this),"narg",D,u),this}normalize(D){return R("<array|string>",[D],arguments.length),this[kD]("normalize",D),this}number(D){return R("<array|string>",[D],arguments.length),this[kD]("number",D),this[Gu](D),this}option(D,u){if(R("<string|object> [object]",[D,u],arguments.length),typeof D==="object")Object.keys(D).forEach((F)=>{this.options(F,D[F])});else{if(typeof u!=="object")u={};if(this[Gu](D),X(this,wD,"f")&&(D==="version"||(u===null||u===void 0?void 0:u.alias)==="version"))this[t2](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
|
|
79
|
-
`),void 0,"versionWarning");if(X(this,I,"f").key[D]=!0,u.alias)this.alias(D,u.alias);let F=u.deprecate||u.deprecated;if(F)this.deprecateOption(D,F);let E=u.demand||u.required||u.require;if(E)this.demand(D,E);if(u.demandOption)this.demandOption(D,typeof u.demandOption==="string"?u.demandOption:void 0);if(u.conflicts)this.conflicts(D,u.conflicts);if("default"in u)this.default(D,u.default);if(u.implies!==void 0)this.implies(D,u.implies);if(u.nargs!==void 0)this.nargs(D,u.nargs);if(u.config)this.config(D,u.configParser);if(u.normalize)this.normalize(D);if(u.choices)this.choices(D,u.choices);if(u.coerce)this.coerce(D,u.coerce);if(u.group)this.group(D,u.group);if(u.boolean||u.type==="boolean"){if(this.boolean(D),u.alias)this.boolean(u.alias)}if(u.array||u.type==="array"){if(this.array(D),u.alias)this.array(u.alias)}if(u.number||u.type==="number"){if(this.number(D),u.alias)this.number(u.alias)}if(u.string||u.type==="string"){if(this.string(D),u.alias)this.string(u.alias)}if(u.count||u.type==="count")this.count(D);if(typeof u.global==="boolean")this.global(D,u.global);if(u.defaultDescription)X(this,I,"f").defaultDescription[D]=u.defaultDescription;if(u.skipValidation)this.skipValidation(D);let C=u.describe||u.description||u.desc,B=X(this,m,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(B,D)||typeof C==="string")this.describe(D,C);if(u.hidden)this.hide(D);if(u.requiresArg)this.requiresArg(D)}return this}options(D,u){return this.option(D,u)}parse(D,u,F){if(R("[string|array] [function|boolean|object] [function]",[D,u,F],arguments.length),this[
|
|
80
|
-
`,"f");T(this,JD,X(this,JD,"f")+D.join(" "),"f")},error:(...D)=>{if(!this[CF]())console.error(...D);if(T(this,
|
|
81
|
-
`,"f");T(this,JD,X(this,JD,"f")+D.join(" "),"f")}}}[iF](D){Mu(X(this,I,"f")).forEach((u)=>{if(((E)=>E==="configObjects")(u))return;let F=X(this,I,"f")[u];if(Array.isArray(F)){if(F.includes(D))F.splice(F.indexOf(D),1)}else if(typeof F==="object")delete F[D]}),delete X(this,m,"f").getDescriptions()[D]}[t2](D,u,F){if(!X(this,ru,"f")[F])X(this,v,"f").process.emitWarning(D,u),X(this,ru,"f")[F]=!0}[l2](){X(this,au,"f").push({options:X(this,I,"f"),configObjects:X(this,I,"f").configObjects.slice(0),exitProcess:X(this,KD,"f"),groups:X(this,PD,"f"),strict:X(this,Eu,"f"),strictCommands:X(this,Cu,"f"),strictOptions:X(this,Bu,"f"),completionCommand:X(this,MD,"f"),output:X(this,JD,"f"),exitError:X(this,cD,"f"),hasOutput:X(this,VD,"f"),parsed:this.parsed,parseFn:X(this,UD,"f"),parseContext:X(this,uu,"f")}),X(this,m,"f").freeze(),X(this,DD,"f").freeze(),X(this,ED,"f").freeze(),X(this,jD,"f").freeze()}[o2](){let D="",u;if(/\b(node|iojs|electron)(\.exe)?$/.test(X(this,v,"f").process.argv()[0]))u=X(this,v,"f").process.argv().slice(1,2);else u=X(this,v,"f").process.argv().slice(0,1);if(D=u.map((F)=>{let E=this[G8](X(this,aD,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),X(this,v,"f").getEnv("_")&&X(this,v,"f").getProcessArgvBin()===X(this,v,"f").getEnv("_"))D=X(this,v,"f").getEnv("_").replace(`${X(this,v,"f").path.dirname(X(this,v,"f").process.execPath())}/`,"");return D}[$u](){return X(this,uF,"f")}[s2](){return X(this,EF,"f")}[nF](){if(!X(this,eD,"f"))return;let D=X(this,v,"f").getEnv("LC_ALL")||X(this,v,"f").getEnv("LC_MESSAGES")||X(this,v,"f").getEnv("LANG")||X(this,v,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[r2](){return this[tF]().version||"unknown"}[a2](D){let u=D["--"]?D["--"]:D._;for(let F=0,E;(E=u[F])!==void 0;F++)if(X(this,v,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))u[F]=Number(E);return D}[tF](D){let u=D||"*";if(X(this,Uu,"f")[u])return X(this,Uu,"f")[u];let F={};try{let E=D||X(this,v,"f").mainFilename;if(X(this,v,"f").path.extname(E))E=X(this,v,"f").path.dirname(E);let C=X(this,v,"f").findUp(E,(B,$)=>{if($.includes("package.json"))return"package.json";else return});YD(C,void 0,X(this,v,"f")),F=JSON.parse(X(this,v,"f").readFileSync(C,"utf8"))}catch(E){}return X(this,Uu,"f")[u]=F||{},X(this,Uu,"f")[u]}[kD](D,u){u=[].concat(u),u.forEach((F)=>{F=this[sF](F),X(this,I,"f")[D].push(F)})}[qu](D,u,F,E){this[oF](D,u,F,E,(C,B,$)=>{X(this,I,"f")[C][B]=$})}[lF](D,u,F,E){this[oF](D,u,F,E,(C,B,$)=>{X(this,I,"f")[C][B]=(X(this,I,"f")[C][B]||[]).concat($)})}[oF](D,u,F,E,C){if(Array.isArray(F))F.forEach((B)=>{D(B,E)});else if(((B)=>typeof B==="object")(F))for(let B of Mu(F))D(B,F[B]);else C(u,this[sF](F),E)}[sF](D){if(D==="__proto__")return"___proto___";return D}[rF](D,u){return this[qu](this[rF].bind(this),"key",D,u),this}[aF](){var D,u,F,E,C,B,$,z,Z,G,Q,J;let Y=X(this,au,"f").pop();YD(Y,void 0,X(this,v,"f"));let W;D=this,u=this,F=this,E=this,C=this,B=this,$=this,z=this,Z=this,G=this,Q=this,J=this,{options:{set value(H){T(D,I,H,"f")}}.value,configObjects:W,exitProcess:{set value(H){T(u,KD,H,"f")}}.value,groups:{set value(H){T(F,PD,H,"f")}}.value,output:{set value(H){T(E,JD,H,"f")}}.value,exitError:{set value(H){T(C,cD,H,"f")}}.value,hasOutput:{set value(H){T(B,VD,H,"f")}}.value,parsed:this.parsed,strict:{set value(H){T($,Eu,H,"f")}}.value,strictCommands:{set value(H){T(z,Cu,H,"f")}}.value,strictOptions:{set value(H){T(Z,Bu,H,"f")}}.value,completionCommand:{set value(H){T(G,MD,H,"f")}}.value,parseFn:{set value(H){T(Q,UD,H,"f")}}.value,parseContext:{set value(H){T(J,uu,H,"f")}}.value}=Y,X(this,I,"f").configObjects=W,X(this,m,"f").unfreeze(),X(this,DD,"f").unfreeze(),X(this,ED,"f").unfreeze(),X(this,jD,"f").unfreeze()}[e2](D,u){return rD(u,(F)=>{return D(F),F})}getInternalMethods(){return{getCommandInstance:this[D8].bind(this),getContext:this[u8].bind(this),getHasOutput:this[F8].bind(this),getLoggerInstance:this[E8].bind(this),getParseContext:this[C8].bind(this),getParserConfiguration:this[$u].bind(this),getUsageConfiguration:this[s2].bind(this),getUsageInstance:this[B8].bind(this),getValidationInstance:this[$8].bind(this),hasParseCallback:this[CF].bind(this),isGlobalContext:this[z8].bind(this),postProcess:this[zu].bind(this),reset:this[eF].bind(this),runValidation:this[D0].bind(this),runYargsParserAndExecuteCommands:this[Pu].bind(this),setHasOutput:this[Z8].bind(this)}}[D8](){return X(this,ED,"f")}[u8](){return X(this,Su,"f")}[F8](){return X(this,VD,"f")}[E8](){return X(this,Du,"f")}[C8](){return X(this,uu,"f")||{}}[B8](){return X(this,m,"f")}[$8](){return X(this,DD,"f")}[CF](){return!!X(this,UD,"f")}[z8](){return X(this,eu,"f")}[zu](D,u,F,E){if(F)return D;if(o(D))return D;if(!u)D=this[i2](D);if(this[$u]()["parse-positional-numbers"]||this[$u]()["parse-positional-numbers"]===void 0)D=this[a2](D);if(E)D=sD(D,this,X(this,jD,"f").getMiddleware(),!1);return D}[eF](D={}){T(this,I,X(this,I,"f")||{},"f");let u={};u.local=X(this,I,"f").local||[],u.configObjects=X(this,I,"f").configObjects||[];let F={};u.local.forEach((B)=>{F[B]=!0,(D[B]||[]).forEach(($)=>{F[$]=!0})}),Object.assign(X(this,Fu,"f"),Object.keys(X(this,PD,"f")).reduce((B,$)=>{let z=X(this,PD,"f")[$].filter((Z)=>!(Z in F));if(z.length>0)B[$]=z;return B},{})),T(this,PD,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],C=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((B)=>{u[B]=(X(this,I,"f")[B]||[]).filter(($)=>!F[$])}),C.forEach((B)=>{u[B]=mD(X(this,I,"f")[B],($)=>!F[$])}),u.envPrefix=X(this,I,"f").envPrefix,T(this,I,u,"f"),T(this,m,X(this,m,"f")?X(this,m,"f").reset(F):h2(this,X(this,v,"f")),"f"),T(this,DD,X(this,DD,"f")?X(this,DD,"f").reset(F):k2(this,X(this,m,"f"),X(this,v,"f")),"f"),T(this,ED,X(this,ED,"f")?X(this,ED,"f").reset():I2(X(this,m,"f"),X(this,DD,"f"),X(this,jD,"f"),X(this,v,"f")),"f"),!X(this,WD,"f"))T(this,WD,y2(this,X(this,m,"f"),X(this,ED,"f"),X(this,v,"f")),"f");return X(this,jD,"f").reset(),T(this,MD,null,"f"),T(this,JD,"","f"),T(this,cD,null,"f"),T(this,VD,!1,"f"),this.parsed=!1,this}[G8](D,u){return X(this,v,"f").path.relative(D,u)}[Pu](D,u,F,E=0,C=!1){var B,$,z,Z;let G=!!F||C;D=D||X(this,gD,"f"),X(this,I,"f").__=X(this,v,"f").y18n.__,X(this,I,"f").configuration=this[$u]();let Q=!!X(this,I,"f").configuration["populate--"],J=Object.assign({},X(this,I,"f").configuration,{"populate--":!0}),Y=X(this,v,"f").Parser.detailed(D,Object.assign({},X(this,I,"f"),{configuration:{"parse-positional-numbers":!1,...J}})),W=Object.assign(Y.argv,X(this,uu,"f")),H=void 0,O=Y.aliases,q=!1,j=!1;if(Object.keys(W).forEach((N)=>{if(N===X(this,AD,"f")&&W[N])q=!0;else if(N===X(this,wD,"f")&&W[N])j=!0}),W.$0=this.$0,this.parsed=Y,E===0)X(this,m,"f").clearCachedHelpMessage();try{if(this[nF](),u)return this[zu](W,Q,!!F,!1);if(X(this,AD,"f")){if([X(this,AD,"f")].concat(O[X(this,AD,"f")]||[]).filter((e)=>e.length>1).includes(""+W._[W._.length-1]))W._.pop(),q=!0}T(this,eu,!1,"f");let N=X(this,ED,"f").getCommands(),k=((B=X(this,WD,"f"))===null||B===void 0?void 0:B.completionKey)?[($=X(this,WD,"f"))===null||$===void 0?void 0:$.completionKey,...(Z=this.getAliases()[(z=X(this,WD,"f"))===null||z===void 0?void 0:z.completionKey])!==null&&Z!==void 0?Z:[]].some((c)=>Object.prototype.hasOwnProperty.call(W,c)):!1,w=q||k||C;if(W._.length){if(N.length){let c;for(let e=E||0,s;W._[e]!==void 0;e++)if(s=String(W._[e]),N.includes(s)&&s!==X(this,MD,"f")){let qD=X(this,ED,"f").runCommand(s,this,Y,e+1,C,q||j||C);return this[zu](qD,Q,!!F,!1)}else if(!c&&s!==X(this,MD,"f")){c=s;break}if(!X(this,ED,"f").hasDefaultCommand()&&X(this,FF,"f")&&c&&!w)X(this,DD,"f").recommendCommands(c,N)}if(X(this,MD,"f")&&W._.includes(X(this,MD,"f"))&&!k){if(X(this,KD,"f"))yD(!0);this.showCompletionScript(),this.exit(0)}}if(X(this,ED,"f").hasDefaultCommand()&&!w){let c=X(this,ED,"f").runCommand(null,this,Y,0,C,q||j||C);return this[zu](c,Q,!!F,!1)}if(k){if(X(this,KD,"f"))yD(!0);D=[].concat(D);let c=D.slice(D.indexOf(`--${X(this,WD,"f").completionKey}`)+1);return X(this,WD,"f").getCompletion(c,(e,s)=>{if(e)throw new FD(e.message);(s||[]).forEach((qD)=>{X(this,Du,"f").log(qD)}),this.exit(0)}),this[zu](W,!Q,!!F,!1)}if(!X(this,VD,"f")){if(q){if(X(this,KD,"f"))yD(!0);G=!0,this.showHelp((c)=>{X(this,Du,"f").log(c),this.exit(0)})}else if(j){if(X(this,KD,"f"))yD(!0);G=!0,X(this,m,"f").showVersion("log"),this.exit(0)}}if(!G&&X(this,I,"f").skipValidation.length>0)G=Object.keys(W).some((c)=>X(this,I,"f").skipValidation.indexOf(c)>=0&&W[c]===!0);if(!G){if(Y.error)throw new FD(Y.error.message);if(!k){let c=this[D0](O,{},Y.error);if(!F)H=sD(W,this,X(this,jD,"f").getMiddleware(),!0);if(H=this[e2](c,H!==null&&H!==void 0?H:W),o(H)&&!F)H=H.then(()=>{return sD(W,this,X(this,jD,"f").getMiddleware(),!1)})}}}catch(N){if(N instanceof FD)X(this,m,"f").fail(N.message,N);else throw N}return this[zu](H!==null&&H!==void 0?H:W,Q,!!F,!0)}[D0](D,u,F,E){let C={...this.getDemandedOptions()};return(B)=>{if(F)throw new FD(F.message);X(this,DD,"f").nonOptionCount(B),X(this,DD,"f").requiredArguments(B,C);let $=!1;if(X(this,Cu,"f"))$=X(this,DD,"f").unknownCommands(B);if(X(this,Eu,"f")&&!$)X(this,DD,"f").unknownArguments(B,D,u,!!E);else if(X(this,Bu,"f"))X(this,DD,"f").unknownArguments(B,D,{},!1,!1);X(this,DD,"f").limitedChoices(B),X(this,DD,"f").implications(B),X(this,DD,"f").conflicting(B)}}[Z8](){T(this,VD,!0,"f")}[Gu](D){if(typeof D==="string")X(this,I,"f").key[D]=!0;else for(let u of D)X(this,I,"f").key[u]=!0}}function b2(D){return!!D&&typeof D.getInternalMethods==="function"}var r3=J8(yF),Q8=r3;import{existsSync as BF,readFileSync as E0,writeFileSync as u0,mkdirSync as W8}from"node:fs";import{homedir as a3}from"node:os";import{join as Zu,dirname as C0}from"node:path";function B0(){return process.env.HOME||a3()}function H8(){return Zu(B0(),".config","slack-cli","profiles.json")}function $F(){return Zu(process.cwd(),".slack-cli","workspace")}function zF(){return Zu(B0(),".slack-cli","workspace")}function wu(){let D=H8();if(!BF(D))return{profiles:{}};return JSON.parse(E0(D,"utf8"))}function e3(D){let u=H8();W8(C0(u),{recursive:!0}),u0(u,JSON.stringify(D,null,2)+`
|
|
82
|
-
`)}function _u(D){if(!BF(D))return;return
|
|
83
|
-
`);
|
|
84
|
-
`)}function
|
|
85
|
-
`)){let E=F.trim();if(!E||E.startsWith("#"))continue;let C=E.indexOf("=");if(C===-1)continue;let B=E.slice(0,C).trim(),$=E.slice(C+1).trim();if($.startsWith('"')&&$.endsWith('"')||$.startsWith("'")&&$.endsWith("'"))$=$.slice(1,-1);u[B]=$}return u}function
|
|
86
|
-
`+" Migrate to SLACK_TOKEN=... or remove from your shell config.")}}let B=
|
|
76
|
+
`)}`:"";u.fail(C("Missing required argument: %s","Missing required arguments: %s",Object.keys(W).length,Object.keys(W).join(", ")+Y))}},B.unknownArguments=function(J,O,W,H,Y=!0){var q;let j=D.getInternalMethods().getCommandInstance().getCommands(),N=[],k=D.getInternalMethods().getContext();if(Object.keys(J).forEach((w)=>{if(!t2.includes(w)&&!Object.prototype.hasOwnProperty.call(W,w)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),w)&&!B.isValidAndSomeAliasIsNotNew(w,O))N.push(w)}),Y&&(k.commands.length>0||j.length>0||H))J._.slice(k.commands.length).forEach((w)=>{if(!j.includes(""+w))N.push(""+w)});if(Y){let c=((q=D.getDemandedCommands()._)===null||q===void 0?void 0:q.max)||0,e=k.commands.length+c;if(e<J._.length)J._.slice(e).forEach((s)=>{if(s=String(s),!k.commands.includes(s)&&!N.includes(s))N.push(s)})}if(N.length)u.fail(C("Unknown argument: %s","Unknown arguments: %s",N.length,N.map((w)=>w.trim()?w:`"${w}"`).join(", ")))},B.unknownCommands=function(J){let O=D.getInternalMethods().getCommandInstance().getCommands(),W=[],H=D.getInternalMethods().getContext();if(H.commands.length>0||O.length>0)J._.slice(H.commands.length).forEach((Y)=>{if(!O.includes(""+Y))W.push(""+Y)});if(W.length>0)return u.fail(C("Unknown command: %s","Unknown commands: %s",W.length,W.join(", "))),!0;else return!1},B.isValidAndSomeAliasIsNotNew=function(J,O){if(!Object.prototype.hasOwnProperty.call(O,J))return!1;let W=D.parsed.newAliases;return[J,...O[J]].some((H)=>!Object.prototype.hasOwnProperty.call(W,H)||!W[J])},B.limitedChoices=function(J){let O=D.getOptions(),W={};if(!Object.keys(O.choices).length)return;Object.keys(J).forEach((q)=>{if(t2.indexOf(q)===-1&&Object.prototype.hasOwnProperty.call(O.choices,q))[].concat(J[q]).forEach((j)=>{if(O.choices[q].indexOf(j)===-1&&j!==void 0)W[q]=(W[q]||[]).concat(j)})});let H=Object.keys(W);if(!H.length)return;let Y=E("Invalid values:");H.forEach((q)=>{Y+=`
|
|
77
|
+
${E("Argument: %s, Given: %s, Choices: %s",q,u.stringifiedValues(W[q]),u.stringifiedValues(O.choices[q]))}`}),u.fail(Y)};let $={};B.implies=function(J,O){if(R("<string|object> [array|number|string]",[J,O],arguments.length),typeof J==="object")Object.keys(J).forEach((W)=>{B.implies(W,J[W])});else{if(D.global(J),!$[J])$[J]=[];if(Array.isArray(O))O.forEach((W)=>B.implies(J,W));else YD(O,void 0,F),$[J].push(O)}},B.getImplied=function(){return $};function z(Q,J){let O=Number(J);if(J=isNaN(O)?J:O,typeof J==="number")J=Q._.length>=J;else if(J.match(/^--no-.+/))J=J.match(/^--no-(.+)/)[1],J=!Object.prototype.hasOwnProperty.call(Q,J);else J=Object.prototype.hasOwnProperty.call(Q,J);return J}B.implications=function(J){let O=[];if(Object.keys($).forEach((W)=>{let H=W;($[W]||[]).forEach((Y)=>{let q=H,j=Y;if(q=z(J,q),Y=z(J,Y),q&&!Y)O.push(` ${H} -> ${j}`)})}),O.length){let W=`${E("Implications failed:")}
|
|
78
|
+
`;O.forEach((H)=>{W+=H}),u.fail(W)}};let Z={};B.conflicts=function(J,O){if(R("<string|object> [array|string]",[J,O],arguments.length),typeof J==="object")Object.keys(J).forEach((W)=>{B.conflicts(W,J[W])});else{if(D.global(J),!Z[J])Z[J]=[];if(Array.isArray(O))O.forEach((W)=>B.conflicts(J,W));else Z[J].push(O)}},B.getConflicting=()=>Z,B.conflicting=function(J){if(Object.keys(J).forEach((O)=>{if(Z[O])Z[O].forEach((W)=>{if(W&&J[O]!==void 0&&J[W]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",O,W))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Z).forEach((O)=>{Z[O].forEach((W)=>{if(W&&J[F.Parser.camelCase(O)]!==void 0&&J[F.Parser.camelCase(W)]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",O,W))})})},B.recommendCommands=function(J,O){O=O.sort((q,j)=>j.length-q.length);let H=null,Y=1/0;for(let q=0,j;(j=O[q])!==void 0;q++){let N=n2(J,j);if(N<=3&&N<Y)Y=N,H=j}if(H)u.fail(E("Did you mean %s?",H))},B.reset=function(J){return $=mD($,(O)=>!J[O]),Z=mD(Z,(O)=>!J[O]),B};let G=[];return B.freeze=function(){G.push({implied:$,conflicting:Z})},B.unfreeze=function(){let J=G.pop();YD(J,void 0,F),{implied:$,conflicting:Z}=J},B}var iF=[],Ru;function Tu(D,u,F,E){Ru=E;let C={};if(Object.prototype.hasOwnProperty.call(D,"extends")){if(typeof D.extends!=="string")return C;let B=/\.json|\..*rc$/.test(D.extends),$=null;if(!B)try{$=import.meta.resolve(D.extends)}catch(z){return D}else $=E6(u,D.extends);F6($),iF.push($),C=B?JSON.parse(Ru.readFileSync($,"utf8")):E.require(D.extends),delete D.extends,C=Tu(C,Ru.path.dirname($),F,Ru)}return iF=[],F?o2(C,D):Object.assign({},C,D)}function F6(D){if(iF.indexOf(D)>-1)throw new FD(`Circular extended configurations: '${D}'.`)}function E6(D,u){return Ru.path.resolve(D,u)}function o2(D,u){let F={};function E(C){return C&&typeof C==="object"&&!Array.isArray(C)}Object.assign(F,D);for(let C of Object.keys(u))if(E(u[C])&&E(F[C]))F[C]=o2(D[C],u[C]);else F[C]=u[C];return F}var T=function(D,u,F,E,C){if(E==="m")throw TypeError("Private method is not writable");if(E==="a"&&!C)throw TypeError("Private accessor was defined without a setter");if(typeof u==="function"?D!==u||!C:!u.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?C.call(D,F):C?C.value=F:u.set(D,F),F},X=function(D,u,F,E){if(F==="a"&&!E)throw TypeError("Private accessor was defined without a getter");if(typeof u==="function"?D!==u||!E:!u.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return F==="m"?E:F==="a"?E.call(D):E?E.value:u.get(D)},ED,aD,Su,HD,MD,su,cD,eD,ru,jD,au,AD,PD,UD,LD,eu,Du,JD,I,DF,uF,qD,uu,Uu,Fu,gD,FF,v,Eu,Cu,Bu,m,EF,wD,DD;function W8(D){return(u=[],F=D.process.cwd(),E)=>{let C=new H8(u,F,E,D);return Object.defineProperty(C,"argv",{get:()=>{return C.parse()},enumerable:!0}),C.help(),C.version(),C}}var s2=Symbol("copyDoubleDash"),r2=Symbol("copyDoubleDash"),nF=Symbol("deleteFromParserHintObject"),a2=Symbol("emitWarning"),e2=Symbol("freeze"),D8=Symbol("getDollarZero"),$u=Symbol("getParserConfiguration"),u8=Symbol("getUsageConfiguration"),tF=Symbol("guessLocale"),F8=Symbol("guessVersion"),E8=Symbol("parsePositionalNumbers"),lF=Symbol("pkgUp"),kD=Symbol("populateParserHintArray"),qu=Symbol("populateParserHintSingleValueDictionary"),oF=Symbol("populateParserHintArrayDictionary"),sF=Symbol("populateParserHintDictionary"),rF=Symbol("sanitizeKey"),aF=Symbol("setKey"),eF=Symbol("unfreeze"),C8=Symbol("validateAsync"),B8=Symbol("getCommandInstance"),$8=Symbol("getContext"),z8=Symbol("getHasOutput"),G8=Symbol("getLoggerInstance"),Z8=Symbol("getParseContext"),J8=Symbol("getUsageInstance"),X8=Symbol("getValidationInstance"),CF=Symbol("hasParseCallback"),Q8=Symbol("isGlobalContext"),zu=Symbol("postProcess"),O8=Symbol("rebase"),D0=Symbol("reset"),Pu=Symbol("runYargsParserAndExecuteCommands"),u0=Symbol("runValidation"),Y8=Symbol("setHasOutput"),Gu=Symbol("kTrackManuallySetKeys"),C6="en_US";class H8{constructor(D=[],u,F,E){this.customScriptName=!1,this.parsed=!1,ED.set(this,void 0),aD.set(this,void 0),Su.set(this,{commands:[],fullCommands:[]}),HD.set(this,null),MD.set(this,null),su.set(this,"show-hidden"),cD.set(this,null),eD.set(this,!0),ru.set(this,{}),jD.set(this,!0),au.set(this,[]),AD.set(this,void 0),PD.set(this,{}),UD.set(this,!1),LD.set(this,null),eu.set(this,!0),Du.set(this,void 0),JD.set(this,""),I.set(this,void 0),DF.set(this,void 0),uF.set(this,{}),qD.set(this,null),uu.set(this,null),Uu.set(this,{}),Fu.set(this,{}),gD.set(this,void 0),FF.set(this,!1),v.set(this,void 0),Eu.set(this,!1),Cu.set(this,!1),Bu.set(this,!1),m.set(this,void 0),EF.set(this,{}),wD.set(this,null),DD.set(this,void 0),T(this,v,E,"f"),T(this,gD,D,"f"),T(this,aD,u,"f"),T(this,DF,F,"f"),T(this,AD,new kF(this),"f"),this.$0=this[D8](),this[D0](),T(this,ED,X(this,ED,"f"),"f"),T(this,m,X(this,m,"f"),"f"),T(this,DD,X(this,DD,"f"),"f"),T(this,I,X(this,I,"f"),"f"),X(this,I,"f").showHiddenOpt=X(this,su,"f"),T(this,Du,this[r2](),"f"),X(this,v,"f").y18n.setLocale(C6)}addHelpOpt(D,u){if(R("[string|boolean] [string]",[D,u],arguments.length),X(this,LD,"f"))this[nF](X(this,LD,"f")),T(this,LD,null,"f");if(D===!1&&u===void 0)return this;return T(this,LD,typeof D==="string"?D:"help","f"),this.boolean(X(this,LD,"f")),this.describe(X(this,LD,"f"),u||X(this,m,"f").deferY18nLookup("Show help")),this}help(D,u){return this.addHelpOpt(D,u)}addShowHiddenOpt(D,u){if(R("[string|boolean] [string]",[D,u],arguments.length),D===!1&&u===void 0)return this;let F=typeof D==="string"?D:X(this,su,"f");return this.boolean(F),this.describe(F,u||X(this,m,"f").deferY18nLookup("Show hidden options")),X(this,I,"f").showHiddenOpt=F,this}showHidden(D,u){return this.addShowHiddenOpt(D,u)}alias(D,u){return R("<object|string|array> [string|array]",[D,u],arguments.length),this[oF](this.alias.bind(this),"alias",D,u),this}array(D){return R("<array|string>",[D],arguments.length),this[kD]("array",D),this[Gu](D),this}boolean(D){return R("<array|string>",[D],arguments.length),this[kD]("boolean",D),this[Gu](D),this}check(D,u){return R("<function> [boolean]",[D,u],arguments.length),this.middleware((F,E)=>{return rD(()=>{return D(F,E.getOptions())},(C)=>{if(!C)X(this,m,"f").fail(X(this,v,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof C==="string"||C instanceof Error)X(this,m,"f").fail(C.toString(),C);return F},(C)=>{return X(this,m,"f").fail(C.message?C.message:C.toString(),C),F})},!1,u),this}choices(D,u){return R("<object|string|array> [string|array]",[D,u],arguments.length),this[oF](this.choices.bind(this),"choices",D,u),this}coerce(D,u){if(R("<object|string|array> [function]",[D,u],arguments.length),Array.isArray(D)){if(!u)throw new FD("coerce callback must be provided");for(let E of D)this.coerce(E,u);return this}else if(typeof D==="object"){for(let E of Object.keys(D))this.coerce(E,D[E]);return this}if(!u)throw new FD("coerce callback must be provided");let F=D;return X(this,I,"f").key[F]=!0,X(this,AD,"f").addCoerceMiddleware((E,C)=>{var B;let $=(B=C.getAliases()[F])!==null&&B!==void 0?B:[],z=[F,...$].filter((Z)=>Object.prototype.hasOwnProperty.call(E,Z));if(z.length===0)return E;return rD(()=>{return u(E[z[0]])},(Z)=>{return z.forEach((G)=>{E[G]=Z}),E},(Z)=>{throw new FD(Z.message)})},F),this}conflicts(D,u){return R("<string|object> [string|array]",[D,u],arguments.length),X(this,DD,"f").conflicts(D,u),this}config(D="config",u,F){if(R("[object|string] [string|function] [function]",[D,u,F],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=Tu(D,X(this,aD,"f"),this[$u]()["deep-merge-config"]||!1,X(this,v,"f")),X(this,I,"f").configObjects=(X(this,I,"f").configObjects||[]).concat(D),this;if(typeof u==="function")F=u,u=void 0;return this.describe(D,u||X(this,m,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((E)=>{X(this,I,"f").config[E]=F||!0}),this}completion(D,u,F){if(R("[string] [string|boolean|function] [function]",[D,u,F],arguments.length),typeof u==="function")F=u,u=void 0;if(T(this,MD,D||X(this,MD,"f")||"completion","f"),!u&&u!==!1)u="generate completion script";if(this.command(X(this,MD,"f"),u),F)X(this,HD,"f").registerFunction(F);return this}command(D,u,F,E,C,B){return R("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,u,F,E,C,B],arguments.length),X(this,ED,"f").addHandler(D,u,F,E,C,B),this}commands(D,u,F,E,C,B){return this.command(D,u,F,E,C,B)}commandDir(D,u){R("<string> [object]",[D,u],arguments.length);let F=X(this,DF,"f")||X(this,v,"f").require;return X(this,ED,"f").addDirectory(D,F,X(this,v,"f").getCallerFile(),u),this}count(D){return R("<array|string>",[D],arguments.length),this[kD]("count",D),this[Gu](D),this}default(D,u,F){if(R("<object|string|array> [*] [string]",[D,u,F],arguments.length),F)gF(D,X(this,v,"f")),X(this,I,"f").defaultDescription[D]=F;if(typeof u==="function"){if(gF(D,X(this,v,"f")),!X(this,I,"f").defaultDescription[D])X(this,I,"f").defaultDescription[D]=X(this,m,"f").functionDescription(u);u=u.call()}return this[qu](this.default.bind(this),"default",D,u),this}defaults(D,u,F){return this.default(D,u,F)}demandCommand(D=1,u,F,E){if(R("[number] [number|string] [string|null|undefined] [string|null|undefined]",[D,u,F,E],arguments.length),typeof u!=="number")F=u,u=1/0;return this.global("_",!1),X(this,I,"f").demandedCommands._={min:D,max:u,minMsg:F,maxMsg:E},this}demand(D,u,F){if(Array.isArray(u))u.forEach((E)=>{YD(F,!0,X(this,v,"f")),this.demandOption(E,F)}),u=1/0;else if(typeof u!=="number")F=u,u=1/0;if(typeof D==="number")YD(F,!0,X(this,v,"f")),this.demandCommand(D,u,F,F);else if(Array.isArray(D))D.forEach((E)=>{YD(F,!0,X(this,v,"f")),this.demandOption(E,F)});else if(typeof F==="string")this.demandOption(D,F);else if(F===!0||typeof F>"u")this.demandOption(D);return this}demandOption(D,u){return R("<object|string|array> [string]",[D,u],arguments.length),this[qu](this.demandOption.bind(this),"demandedOptions",D,u),this}deprecateOption(D,u){return R("<string> [string|boolean]",[D,u],arguments.length),X(this,I,"f").deprecatedOptions[D]=u,this}describe(D,u){return R("<object|string|array> [string]",[D,u],arguments.length),this[aF](D,!0),X(this,m,"f").describe(D,u),this}detectLocale(D){return R("<boolean>",[D],arguments.length),T(this,eD,D,"f"),this}env(D){if(R("[string|boolean]",[D],arguments.length),D===!1)delete X(this,I,"f").envPrefix;else X(this,I,"f").envPrefix=D||"";return this}epilogue(D){return R("<string>",[D],arguments.length),X(this,m,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,u){if(R("<string|array> [string]",[D,u],arguments.length),Array.isArray(D))D.forEach((F)=>this.example(...F));else X(this,m,"f").example(D,u);return this}exit(D,u){if(T(this,UD,!0,"f"),T(this,cD,u,"f"),X(this,jD,"f"))X(this,v,"f").process.exit(D)}exitProcess(D=!0){return R("[boolean]",[D],arguments.length),T(this,jD,D,"f"),this}fail(D){if(R("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new FD("Invalid first argument. Expected function or boolean 'false'");return X(this,m,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,u){if(R("<array> [function]",[D,u],arguments.length),!u)return new Promise((F,E)=>{X(this,HD,"f").getCompletion(D,(C,B)=>{if(C)E(C);else F(B)})});else return X(this,HD,"f").getCompletion(D,u)}getDemandedOptions(){return R([],0),X(this,I,"f").demandedOptions}getDemandedCommands(){return R([],0),X(this,I,"f").demandedCommands}getDeprecatedOptions(){return R([],0),X(this,I,"f").deprecatedOptions}getDetectLocale(){return X(this,eD,"f")}getExitProcess(){return X(this,jD,"f")}getGroups(){return Object.assign({},X(this,PD,"f"),X(this,Fu,"f"))}getHelp(){if(T(this,UD,!0,"f"),!X(this,m,"f").hasCachedHelpMessage()){if(!this.parsed){let u=this[Pu](X(this,gD,"f"),void 0,void 0,0,!0);if(o(u))return u.then(()=>{return X(this,m,"f").help()})}let D=X(this,ED,"f").runDefaultBuilderOn(this);if(o(D))return D.then(()=>{return X(this,m,"f").help()})}return Promise.resolve(X(this,m,"f").help())}getOptions(){return X(this,I,"f")}getStrict(){return X(this,Eu,"f")}getStrictCommands(){return X(this,Cu,"f")}getStrictOptions(){return X(this,Bu,"f")}global(D,u){if(R("<string|array> [boolean]",[D,u],arguments.length),D=[].concat(D),u!==!1)X(this,I,"f").local=X(this,I,"f").local.filter((F)=>D.indexOf(F)===-1);else D.forEach((F)=>{if(!X(this,I,"f").local.includes(F))X(this,I,"f").local.push(F)});return this}group(D,u){R("<string|array> <string>",[D,u],arguments.length);let F=X(this,Fu,"f")[u]||X(this,PD,"f")[u];if(X(this,Fu,"f")[u])delete X(this,Fu,"f")[u];let E={};return X(this,PD,"f")[u]=(F||[]).concat(D).filter((C)=>{if(E[C])return!1;return E[C]=!0}),this}hide(D){return R("<string>",[D],arguments.length),X(this,I,"f").hiddenOptions.push(D),this}implies(D,u){return R("<string|object> [number|string|array]",[D,u],arguments.length),X(this,DD,"f").implies(D,u),this}locale(D){if(R("[string]",[D],arguments.length),D===void 0)return this[tF](),X(this,v,"f").y18n.getLocale();return T(this,eD,!1,"f"),X(this,v,"f").y18n.setLocale(D),this}middleware(D,u,F){return X(this,AD,"f").addMiddleware(D,!!u,F)}nargs(D,u){return R("<string|object|array> [number]",[D,u],arguments.length),this[qu](this.nargs.bind(this),"narg",D,u),this}normalize(D){return R("<array|string>",[D],arguments.length),this[kD]("normalize",D),this}number(D){return R("<array|string>",[D],arguments.length),this[kD]("number",D),this[Gu](D),this}option(D,u){if(R("<string|object> [object]",[D,u],arguments.length),typeof D==="object")Object.keys(D).forEach((F)=>{this.options(F,D[F])});else{if(typeof u!=="object")u={};if(this[Gu](D),X(this,wD,"f")&&(D==="version"||(u===null||u===void 0?void 0:u.alias)==="version"))this[a2](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
|
|
79
|
+
`),void 0,"versionWarning");if(X(this,I,"f").key[D]=!0,u.alias)this.alias(D,u.alias);let F=u.deprecate||u.deprecated;if(F)this.deprecateOption(D,F);let E=u.demand||u.required||u.require;if(E)this.demand(D,E);if(u.demandOption)this.demandOption(D,typeof u.demandOption==="string"?u.demandOption:void 0);if(u.conflicts)this.conflicts(D,u.conflicts);if("default"in u)this.default(D,u.default);if(u.implies!==void 0)this.implies(D,u.implies);if(u.nargs!==void 0)this.nargs(D,u.nargs);if(u.config)this.config(D,u.configParser);if(u.normalize)this.normalize(D);if(u.choices)this.choices(D,u.choices);if(u.coerce)this.coerce(D,u.coerce);if(u.group)this.group(D,u.group);if(u.boolean||u.type==="boolean"){if(this.boolean(D),u.alias)this.boolean(u.alias)}if(u.array||u.type==="array"){if(this.array(D),u.alias)this.array(u.alias)}if(u.number||u.type==="number"){if(this.number(D),u.alias)this.number(u.alias)}if(u.string||u.type==="string"){if(this.string(D),u.alias)this.string(u.alias)}if(u.count||u.type==="count")this.count(D);if(typeof u.global==="boolean")this.global(D,u.global);if(u.defaultDescription)X(this,I,"f").defaultDescription[D]=u.defaultDescription;if(u.skipValidation)this.skipValidation(D);let C=u.describe||u.description||u.desc,B=X(this,m,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(B,D)||typeof C==="string")this.describe(D,C);if(u.hidden)this.hide(D);if(u.requiresArg)this.requiresArg(D)}return this}options(D,u){return this.option(D,u)}parse(D,u,F){if(R("[string|array] [function|boolean|object] [function]",[D,u,F],arguments.length),this[e2](),typeof D>"u")D=X(this,gD,"f");if(typeof u==="object")T(this,uu,u,"f"),u=F;if(typeof u==="function")T(this,qD,u,"f"),u=!1;if(!u)T(this,gD,D,"f");if(X(this,qD,"f"))T(this,jD,!1,"f");let E=this[Pu](D,!!u),C=this.parsed;if(X(this,HD,"f").setParsed(this.parsed),o(E))return E.then((B)=>{if(X(this,qD,"f"))X(this,qD,"f").call(this,X(this,cD,"f"),B,X(this,JD,"f"));return B}).catch((B)=>{if(X(this,qD,"f"))X(this,qD,"f")(B,this.parsed.argv,X(this,JD,"f"));throw B}).finally(()=>{this[eF](),this.parsed=C});else{if(X(this,qD,"f"))X(this,qD,"f").call(this,X(this,cD,"f"),E,X(this,JD,"f"));this[eF](),this.parsed=C}return E}parseAsync(D,u,F){let E=this.parse(D,u,F);return!o(E)?Promise.resolve(E):E}parseSync(D,u,F){let E=this.parse(D,u,F);if(o(E))throw new FD(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return E}parserConfiguration(D){return R("<object>",[D],arguments.length),T(this,uF,D,"f"),this}pkgConf(D,u){R("<string> [string]",[D,u],arguments.length);let F=null,E=this[lF](u||X(this,aD,"f"));if(E[D]&&typeof E[D]==="object")F=Tu(E[D],u||X(this,aD,"f"),this[$u]()["deep-merge-config"]||!1,X(this,v,"f")),X(this,I,"f").configObjects=(X(this,I,"f").configObjects||[]).concat(F);return this}positional(D,u){R("<string> <object>",[D,u],arguments.length);let F=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];u=mD(u,(B,$)=>{if(B==="type"&&!["string","number","boolean"].includes($))return!1;return F.includes(B)});let E=X(this,Su,"f").fullCommands[X(this,Su,"f").fullCommands.length-1],C=E?X(this,ED,"f").cmdToParseOptions(E):{array:[],alias:{},default:{},demand:{}};return Vu(C).forEach((B)=>{let $=C[B];if(Array.isArray($)){if($.indexOf(D)!==-1)u[B]=!0}else if($[D]&&!(B in u))u[B]=$[D]}),this.group(D,X(this,m,"f").getPositionalGroupName()),this.option(D,u)}recommendCommands(D=!0){return R("[boolean]",[D],arguments.length),T(this,FF,D,"f"),this}required(D,u,F){return this.demand(D,u,F)}require(D,u,F){return this.demand(D,u,F)}requiresArg(D){if(R("<array|string|object> [number]",[D],arguments.length),typeof D==="string"&&X(this,I,"f").narg[D])return this;else this[qu](this.requiresArg.bind(this),"narg",D,NaN);return this}showCompletionScript(D,u){return R("[string] [string]",[D,u],arguments.length),D=D||this.$0,X(this,Du,"f").log(X(this,HD,"f").generateCompletionScript(D,u||X(this,MD,"f")||"completion")),this}showHelp(D){if(R("[string|function]",[D],arguments.length),T(this,UD,!0,"f"),!X(this,m,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[Pu](X(this,gD,"f"),void 0,void 0,0,!0);if(o(F))return F.then(()=>{X(this,m,"f").showHelp(D)}),this}let u=X(this,ED,"f").runDefaultBuilderOn(this);if(o(u))return u.then(()=>{X(this,m,"f").showHelp(D)}),this}return X(this,m,"f").showHelp(D),this}scriptName(D){return this.customScriptName=!0,this.$0=D,this}showHelpOnFail(D,u){return R("[boolean|string] [string]",[D,u],arguments.length),X(this,m,"f").showHelpOnFail(D,u),this}showVersion(D){return R("[string|function]",[D],arguments.length),X(this,m,"f").showVersion(D),this}skipValidation(D){return R("<array|string>",[D],arguments.length),this[kD]("skipValidation",D),this}strict(D){return R("[boolean]",[D],arguments.length),T(this,Eu,D!==!1,"f"),this}strictCommands(D){return R("[boolean]",[D],arguments.length),T(this,Cu,D!==!1,"f"),this}strictOptions(D){return R("[boolean]",[D],arguments.length),T(this,Bu,D!==!1,"f"),this}string(D){return R("<array|string>",[D],arguments.length),this[kD]("string",D),this[Gu](D),this}terminalWidth(){return R([],0),X(this,v,"f").process.stdColumns}updateLocale(D){return this.updateStrings(D)}updateStrings(D){return R("<object>",[D],arguments.length),T(this,eD,!1,"f"),X(this,v,"f").y18n.updateLocale(D),this}usage(D,u,F,E){if(R("<string|null|undefined> [string|boolean] [function|object] [function]",[D,u,F,E],arguments.length),u!==void 0)if(YD(D,null,X(this,v,"f")),(D||"").match(/^\$0( |$)/))return this.command(D,u,F,E);else throw new FD(".usage() description must start with $0 if being used as alias for .command()");else return X(this,m,"f").usage(D),this}usageConfiguration(D){return R("<object>",[D],arguments.length),T(this,EF,D,"f"),this}version(D,u,F){if(R("[boolean|string] [string] [string]",[D,u,F],arguments.length),X(this,wD,"f"))this[nF](X(this,wD,"f")),X(this,m,"f").version(void 0),T(this,wD,null,"f");if(arguments.length===0)F=this[F8](),D="version";else if(arguments.length===1){if(D===!1)return this;F=D,D="version"}else if(arguments.length===2)F=u,u=void 0;return T(this,wD,typeof D==="string"?D:"version","f"),u=u||X(this,m,"f").deferY18nLookup("Show version number"),X(this,m,"f").version(F||void 0),this.boolean(X(this,wD,"f")),this.describe(X(this,wD,"f"),u),this}wrap(D){return R("<number|null|undefined>",[D],arguments.length),X(this,m,"f").wrap(D),this}[(ED=new WeakMap,aD=new WeakMap,Su=new WeakMap,HD=new WeakMap,MD=new WeakMap,su=new WeakMap,cD=new WeakMap,eD=new WeakMap,ru=new WeakMap,jD=new WeakMap,au=new WeakMap,AD=new WeakMap,PD=new WeakMap,UD=new WeakMap,LD=new WeakMap,eu=new WeakMap,Du=new WeakMap,JD=new WeakMap,I=new WeakMap,DF=new WeakMap,uF=new WeakMap,qD=new WeakMap,uu=new WeakMap,Uu=new WeakMap,Fu=new WeakMap,gD=new WeakMap,FF=new WeakMap,v=new WeakMap,Eu=new WeakMap,Cu=new WeakMap,Bu=new WeakMap,m=new WeakMap,EF=new WeakMap,wD=new WeakMap,DD=new WeakMap,s2)](D){if(!D._||!D["--"])return D;D._.push.apply(D._,D["--"]);try{delete D["--"]}catch(u){}return D}[r2](){return{log:(...D)=>{if(!this[CF]())console.log(...D);if(T(this,UD,!0,"f"),X(this,JD,"f").length)T(this,JD,X(this,JD,"f")+`
|
|
80
|
+
`,"f");T(this,JD,X(this,JD,"f")+D.join(" "),"f")},error:(...D)=>{if(!this[CF]())console.error(...D);if(T(this,UD,!0,"f"),X(this,JD,"f").length)T(this,JD,X(this,JD,"f")+`
|
|
81
|
+
`,"f");T(this,JD,X(this,JD,"f")+D.join(" "),"f")}}}[nF](D){Vu(X(this,I,"f")).forEach((u)=>{if(((E)=>E==="configObjects")(u))return;let F=X(this,I,"f")[u];if(Array.isArray(F)){if(F.includes(D))F.splice(F.indexOf(D),1)}else if(typeof F==="object")delete F[D]}),delete X(this,m,"f").getDescriptions()[D]}[a2](D,u,F){if(!X(this,ru,"f")[F])X(this,v,"f").process.emitWarning(D,u),X(this,ru,"f")[F]=!0}[e2](){X(this,au,"f").push({options:X(this,I,"f"),configObjects:X(this,I,"f").configObjects.slice(0),exitProcess:X(this,jD,"f"),groups:X(this,PD,"f"),strict:X(this,Eu,"f"),strictCommands:X(this,Cu,"f"),strictOptions:X(this,Bu,"f"),completionCommand:X(this,MD,"f"),output:X(this,JD,"f"),exitError:X(this,cD,"f"),hasOutput:X(this,UD,"f"),parsed:this.parsed,parseFn:X(this,qD,"f"),parseContext:X(this,uu,"f")}),X(this,m,"f").freeze(),X(this,DD,"f").freeze(),X(this,ED,"f").freeze(),X(this,AD,"f").freeze()}[D8](){let D="",u;if(/\b(node|iojs|electron)(\.exe)?$/.test(X(this,v,"f").process.argv()[0]))u=X(this,v,"f").process.argv().slice(1,2);else u=X(this,v,"f").process.argv().slice(0,1);if(D=u.map((F)=>{let E=this[O8](X(this,aD,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),X(this,v,"f").getEnv("_")&&X(this,v,"f").getProcessArgvBin()===X(this,v,"f").getEnv("_"))D=X(this,v,"f").getEnv("_").replace(`${X(this,v,"f").path.dirname(X(this,v,"f").process.execPath())}/`,"");return D}[$u](){return X(this,uF,"f")}[u8](){return X(this,EF,"f")}[tF](){if(!X(this,eD,"f"))return;let D=X(this,v,"f").getEnv("LC_ALL")||X(this,v,"f").getEnv("LC_MESSAGES")||X(this,v,"f").getEnv("LANG")||X(this,v,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[F8](){return this[lF]().version||"unknown"}[E8](D){let u=D["--"]?D["--"]:D._;for(let F=0,E;(E=u[F])!==void 0;F++)if(X(this,v,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))u[F]=Number(E);return D}[lF](D){let u=D||"*";if(X(this,Uu,"f")[u])return X(this,Uu,"f")[u];let F={};try{let E=D||X(this,v,"f").mainFilename;if(X(this,v,"f").path.extname(E))E=X(this,v,"f").path.dirname(E);let C=X(this,v,"f").findUp(E,(B,$)=>{if($.includes("package.json"))return"package.json";else return});YD(C,void 0,X(this,v,"f")),F=JSON.parse(X(this,v,"f").readFileSync(C,"utf8"))}catch(E){}return X(this,Uu,"f")[u]=F||{},X(this,Uu,"f")[u]}[kD](D,u){u=[].concat(u),u.forEach((F)=>{F=this[rF](F),X(this,I,"f")[D].push(F)})}[qu](D,u,F,E){this[sF](D,u,F,E,(C,B,$)=>{X(this,I,"f")[C][B]=$})}[oF](D,u,F,E){this[sF](D,u,F,E,(C,B,$)=>{X(this,I,"f")[C][B]=(X(this,I,"f")[C][B]||[]).concat($)})}[sF](D,u,F,E,C){if(Array.isArray(F))F.forEach((B)=>{D(B,E)});else if(((B)=>typeof B==="object")(F))for(let B of Vu(F))D(B,F[B]);else C(u,this[rF](F),E)}[rF](D){if(D==="__proto__")return"___proto___";return D}[aF](D,u){return this[qu](this[aF].bind(this),"key",D,u),this}[eF](){var D,u,F,E,C,B,$,z,Z,G,Q,J;let O=X(this,au,"f").pop();YD(O,void 0,X(this,v,"f"));let W;D=this,u=this,F=this,E=this,C=this,B=this,$=this,z=this,Z=this,G=this,Q=this,J=this,{options:{set value(H){T(D,I,H,"f")}}.value,configObjects:W,exitProcess:{set value(H){T(u,jD,H,"f")}}.value,groups:{set value(H){T(F,PD,H,"f")}}.value,output:{set value(H){T(E,JD,H,"f")}}.value,exitError:{set value(H){T(C,cD,H,"f")}}.value,hasOutput:{set value(H){T(B,UD,H,"f")}}.value,parsed:this.parsed,strict:{set value(H){T($,Eu,H,"f")}}.value,strictCommands:{set value(H){T(z,Cu,H,"f")}}.value,strictOptions:{set value(H){T(Z,Bu,H,"f")}}.value,completionCommand:{set value(H){T(G,MD,H,"f")}}.value,parseFn:{set value(H){T(Q,qD,H,"f")}}.value,parseContext:{set value(H){T(J,uu,H,"f")}}.value}=O,X(this,I,"f").configObjects=W,X(this,m,"f").unfreeze(),X(this,DD,"f").unfreeze(),X(this,ED,"f").unfreeze(),X(this,AD,"f").unfreeze()}[C8](D,u){return rD(u,(F)=>{return D(F),F})}getInternalMethods(){return{getCommandInstance:this[B8].bind(this),getContext:this[$8].bind(this),getHasOutput:this[z8].bind(this),getLoggerInstance:this[G8].bind(this),getParseContext:this[Z8].bind(this),getParserConfiguration:this[$u].bind(this),getUsageConfiguration:this[u8].bind(this),getUsageInstance:this[J8].bind(this),getValidationInstance:this[X8].bind(this),hasParseCallback:this[CF].bind(this),isGlobalContext:this[Q8].bind(this),postProcess:this[zu].bind(this),reset:this[D0].bind(this),runValidation:this[u0].bind(this),runYargsParserAndExecuteCommands:this[Pu].bind(this),setHasOutput:this[Y8].bind(this)}}[B8](){return X(this,ED,"f")}[$8](){return X(this,Su,"f")}[z8](){return X(this,UD,"f")}[G8](){return X(this,Du,"f")}[Z8](){return X(this,uu,"f")||{}}[J8](){return X(this,m,"f")}[X8](){return X(this,DD,"f")}[CF](){return!!X(this,qD,"f")}[Q8](){return X(this,eu,"f")}[zu](D,u,F,E){if(F)return D;if(o(D))return D;if(!u)D=this[s2](D);if(this[$u]()["parse-positional-numbers"]||this[$u]()["parse-positional-numbers"]===void 0)D=this[E8](D);if(E)D=sD(D,this,X(this,AD,"f").getMiddleware(),!1);return D}[D0](D={}){T(this,I,X(this,I,"f")||{},"f");let u={};u.local=X(this,I,"f").local||[],u.configObjects=X(this,I,"f").configObjects||[];let F={};u.local.forEach((B)=>{F[B]=!0,(D[B]||[]).forEach(($)=>{F[$]=!0})}),Object.assign(X(this,Fu,"f"),Object.keys(X(this,PD,"f")).reduce((B,$)=>{let z=X(this,PD,"f")[$].filter((Z)=>!(Z in F));if(z.length>0)B[$]=z;return B},{})),T(this,PD,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],C=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((B)=>{u[B]=(X(this,I,"f")[B]||[]).filter(($)=>!F[$])}),C.forEach((B)=>{u[B]=mD(X(this,I,"f")[B],($)=>!F[$])}),u.envPrefix=X(this,I,"f").envPrefix,T(this,I,u,"f"),T(this,m,X(this,m,"f")?X(this,m,"f").reset(F):c2(this,X(this,v,"f")),"f"),T(this,DD,X(this,DD,"f")?X(this,DD,"f").reset(F):l2(this,X(this,m,"f"),X(this,v,"f")),"f"),T(this,ED,X(this,ED,"f")?X(this,ED,"f").reset():p2(X(this,m,"f"),X(this,DD,"f"),X(this,AD,"f"),X(this,v,"f")),"f"),!X(this,HD,"f"))T(this,HD,i2(this,X(this,m,"f"),X(this,ED,"f"),X(this,v,"f")),"f");return X(this,AD,"f").reset(),T(this,MD,null,"f"),T(this,JD,"","f"),T(this,cD,null,"f"),T(this,UD,!1,"f"),this.parsed=!1,this}[O8](D,u){return X(this,v,"f").path.relative(D,u)}[Pu](D,u,F,E=0,C=!1){var B,$,z,Z;let G=!!F||C;D=D||X(this,gD,"f"),X(this,I,"f").__=X(this,v,"f").y18n.__,X(this,I,"f").configuration=this[$u]();let Q=!!X(this,I,"f").configuration["populate--"],J=Object.assign({},X(this,I,"f").configuration,{"populate--":!0}),O=X(this,v,"f").Parser.detailed(D,Object.assign({},X(this,I,"f"),{configuration:{"parse-positional-numbers":!1,...J}})),W=Object.assign(O.argv,X(this,uu,"f")),H=void 0,Y=O.aliases,q=!1,j=!1;if(Object.keys(W).forEach((N)=>{if(N===X(this,LD,"f")&&W[N])q=!0;else if(N===X(this,wD,"f")&&W[N])j=!0}),W.$0=this.$0,this.parsed=O,E===0)X(this,m,"f").clearCachedHelpMessage();try{if(this[tF](),u)return this[zu](W,Q,!!F,!1);if(X(this,LD,"f")){if([X(this,LD,"f")].concat(Y[X(this,LD,"f")]||[]).filter((e)=>e.length>1).includes(""+W._[W._.length-1]))W._.pop(),q=!0}T(this,eu,!1,"f");let N=X(this,ED,"f").getCommands(),k=((B=X(this,HD,"f"))===null||B===void 0?void 0:B.completionKey)?[($=X(this,HD,"f"))===null||$===void 0?void 0:$.completionKey,...(Z=this.getAliases()[(z=X(this,HD,"f"))===null||z===void 0?void 0:z.completionKey])!==null&&Z!==void 0?Z:[]].some((c)=>Object.prototype.hasOwnProperty.call(W,c)):!1,w=q||k||C;if(W._.length){if(N.length){let c;for(let e=E||0,s;W._[e]!==void 0;e++)if(s=String(W._[e]),N.includes(s)&&s!==X(this,MD,"f")){let _D=X(this,ED,"f").runCommand(s,this,O,e+1,C,q||j||C);return this[zu](_D,Q,!!F,!1)}else if(!c&&s!==X(this,MD,"f")){c=s;break}if(!X(this,ED,"f").hasDefaultCommand()&&X(this,FF,"f")&&c&&!w)X(this,DD,"f").recommendCommands(c,N)}if(X(this,MD,"f")&&W._.includes(X(this,MD,"f"))&&!k){if(X(this,jD,"f"))yD(!0);this.showCompletionScript(),this.exit(0)}}if(X(this,ED,"f").hasDefaultCommand()&&!w){let c=X(this,ED,"f").runCommand(null,this,O,0,C,q||j||C);return this[zu](c,Q,!!F,!1)}if(k){if(X(this,jD,"f"))yD(!0);D=[].concat(D);let c=D.slice(D.indexOf(`--${X(this,HD,"f").completionKey}`)+1);return X(this,HD,"f").getCompletion(c,(e,s)=>{if(e)throw new FD(e.message);(s||[]).forEach((_D)=>{X(this,Du,"f").log(_D)}),this.exit(0)}),this[zu](W,!Q,!!F,!1)}if(!X(this,UD,"f")){if(q){if(X(this,jD,"f"))yD(!0);G=!0,this.showHelp((c)=>{X(this,Du,"f").log(c),this.exit(0)})}else if(j){if(X(this,jD,"f"))yD(!0);G=!0,X(this,m,"f").showVersion("log"),this.exit(0)}}if(!G&&X(this,I,"f").skipValidation.length>0)G=Object.keys(W).some((c)=>X(this,I,"f").skipValidation.indexOf(c)>=0&&W[c]===!0);if(!G){if(O.error)throw new FD(O.error.message);if(!k){let c=this[u0](Y,{},O.error);if(!F)H=sD(W,this,X(this,AD,"f").getMiddleware(),!0);if(H=this[C8](c,H!==null&&H!==void 0?H:W),o(H)&&!F)H=H.then(()=>{return sD(W,this,X(this,AD,"f").getMiddleware(),!1)})}}}catch(N){if(N instanceof FD)X(this,m,"f").fail(N.message,N);else throw N}return this[zu](H!==null&&H!==void 0?H:W,Q,!!F,!0)}[u0](D,u,F,E){let C={...this.getDemandedOptions()};return(B)=>{if(F)throw new FD(F.message);X(this,DD,"f").nonOptionCount(B),X(this,DD,"f").requiredArguments(B,C);let $=!1;if(X(this,Cu,"f"))$=X(this,DD,"f").unknownCommands(B);if(X(this,Eu,"f")&&!$)X(this,DD,"f").unknownArguments(B,D,u,!!E);else if(X(this,Bu,"f"))X(this,DD,"f").unknownArguments(B,D,{},!1,!1);X(this,DD,"f").limitedChoices(B),X(this,DD,"f").implications(B),X(this,DD,"f").conflicting(B)}}[Y8](){T(this,UD,!0,"f")}[Gu](D){if(typeof D==="string")X(this,I,"f").key[D]=!0;else for(let u of D)X(this,I,"f").key[u]=!0}}function m2(D){return!!D&&typeof D.getInternalMethods==="function"}var B6=W8(cF),V8=B6;import{existsSync as BF,readFileSync as C0,writeFileSync as F0,mkdirSync as q8}from"node:fs";import{homedir as $6}from"node:os";import{join as Zu,dirname as B0}from"node:path";function $0(){return process.env.HOME||$6()}function _8(){return Zu($0(),".config","slack-cli","profiles.json")}function $F(){return Zu(process.cwd(),".slack-cli","workspace")}function zF(){return Zu($0(),".slack-cli","workspace")}function wu(){let D=_8();if(!BF(D))return{profiles:{}};return JSON.parse(C0(D,"utf8"))}function z6(D){let u=_8();q8(B0(u),{recursive:!0}),F0(u,JSON.stringify(D,null,2)+`
|
|
82
|
+
`)}function _u(D){if(!BF(D))return;return C0(D,"utf8").trim()||void 0}function M8(D,u){let F=B0(D);q8(F,{recursive:!0});let E=Zu(F,".gitignore");if(!BF(E))F0(E,`*
|
|
83
|
+
`);F0(D,u+`
|
|
84
|
+
`)}function G6(D){let u={};for(let F of D.split(`
|
|
85
|
+
`)){let E=F.trim();if(!E||E.startsWith("#"))continue;let C=E.indexOf("=");if(C===-1)continue;let B=E.slice(0,C).trim(),$=E.slice(C+1).trim();if($.startsWith('"')&&$.endsWith('"')||$.startsWith("'")&&$.endsWith("'"))$=$.slice(1,-1);u[B]=$}return u}function U8(D){if(!BF(D))return{};try{return G6(C0(D,"utf8"))}catch{return{}}}function E0(D,u){let F=$0(),E=D;while(!0){for(let $ of[Zu(E,".slack-term",".env.local"),Zu(E,".env.local")]){let z=U8($);for(let Z of u)if(z[Z])return z[Z]}if(E===F)break;let B=B0(E);if(B===E)break;E=B}let C=U8(Zu(F,".slack-term",".env.local"));for(let B of u)if(C[B])return C[B];return}function K8(){let D=wu(),u=_u($F()),F=_u(zF()),E=u??F;return Object.entries(D.profiles).map(([C,B])=>({name:C,profile:B,current:C===E}))}function j8(D){let u=wu();if(!(D in u.profiles))throw Error(`Profile not found: ${D}`);delete u.profiles[D],z6(u)}function A8(D,u=!1){let F=wu();if(!(D in F.profiles))throw Error(`Profile not found: ${D}`);if(u)M8(zF(),D);else M8($F(),D)}function z0(D){let F=wu().profiles,E=Object.keys(F);if(D){let G=F[D];if(!G)throw Error(`Workspace "${D}" not found. Available: ${E.join(", ")||"(none)"}`);return G.token}if(process.env.SLACK_TOKEN)return process.env.SLACK_TOKEN;let C=process.env.SLACK_BOT_TOKEN??process.env.SLACK_MCP_XOXP_TOKEN;if(C&&E.length===0)return C;if(C&&E.length>0){let G=E0(process.cwd(),["SLACK_BOT_TOKEN","SLACK_MCP_XOXP_TOKEN"]);if(C!==G){if(!globalThis.__slackEnvWarnShown)globalThis.__slackEnvWarnShown=!0,console.error(`Warning: SLACK_MCP_XOXP_TOKEN / SLACK_BOT_TOKEN is set but workspace profiles exist — using profiles.
|
|
86
|
+
`+" Migrate to SLACK_TOKEN=... or remove from your shell config.")}}let B=E0(process.cwd(),["SLACK_TOKEN"]);if(B)return B;let $=process.env.SLACK_WORKSPACE;if($){let G=F[$];if(!G)throw Error(`Workspace "${$}" not found. Available: ${E.join(", ")||"(none)"}`);return G.token}let z=_u($F());if(z){let G=F[z];if(!G)throw Error(`Workspace "${z}" (from .slack-cli/workspace) not found in profiles.`);return G.token}let Z=_u(zF());if(Z){let G=F[Z];if(!G)throw Error(`Workspace "${Z}" (from ~/.slack-cli/workspace) not found in profiles.`);return G.token}if(E.length>0)throw Error(`Workspace not selected (${E.join(", ")} available).
|
|
87
87
|
Select locally: slack workspace use <name> (writes .slack-cli/workspace)
|
|
88
88
|
Select globally: slack workspace use -g <name> (writes ~/.slack-cli/workspace)`);throw Error(`No Slack token found.
|
|
89
89
|
Run one of:
|
|
90
90
|
`+` slack auth token — paste an existing xoxp-/xoxb- token
|
|
91
91
|
`+` slack auth chrome — import from Chrome browser (macOS)
|
|
92
92
|
`+` slack auth app — guided Slack app creation
|
|
93
|
-
`+" Or set SLACK_TOKEN=xoxp-... in .slack-term/.env.local")}function
|
|
93
|
+
`+" Or set SLACK_TOKEN=xoxp-... in .slack-term/.env.local")}function G0(){let D=process.env.SLACK_BOT_TOKEN;return D&&D.startsWith("xoxb-")?D:void 0}function L8(D){let F=wu().profiles;if(D)return F[D]?.cookie;if(process.env.SLACK_COOKIE)return process.env.SLACK_COOKIE;if(process.env.SLACK_MCP_XOXD_COOKIE)return process.env.SLACK_MCP_XOXD_COOKIE;if(process.env.SLACK_MCP_XOXP_TOKEN&&Object.keys(F).length===0)return process.env.SLACK_MCP_XOXD_COOKIE;let C=E0(process.cwd(),["SLACK_COOKIE"]);if(C)return C;let B=process.env.SLACK_WORKSPACE;if(B)return F[B]?.cookie;let $=_u($F());if($)return F[$]?.cookie;let z=_u(zF());if(z)return F[z]?.cookie;return}class dD extends Error{retryAfter;constructor(D){super(`Slack rate limited — retry after ${D}s`);this.name="RateLimitError",this.retryAfter=D}}function Z0(){return(process.env.SLACK_API_BASE??"https://slack.com/api").replace(/\/$/,"")}async function N8(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${Z0()}/${u}`,{...F,headers:{...F.headers??{},Authorization:`Bearer ${D}`,...C}});if(B.status===429){let z=parseInt(B.headers.get("retry-after")??"60",10);throw new dD(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new dD(60);if(z==="invalid_auth"&&D.startsWith("xoxc-")&&!E)throw Error(`Desktop app token (xoxc-) is not accepted by the public Slack API.
|
|
94
94
|
Replace it with an xoxp- user token:
|
|
95
|
-
slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function
|
|
95
|
+
slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function Z6(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${Z0()}/${u}`,{...F,headers:{...F.headers??{},Authorization:`Bearer ${D}`,...C}});if(B.status===429){let z=parseInt(B.headers.get("retry-after")??"60",10);throw new dD(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new dD(60);if((z==="invalid_auth"||z==="not_authed")&&!D.startsWith("xoxc-"))throw Error(`The draft API requires a desktop app session token (xoxc-).
|
|
96
96
|
Import from Slack desktop: slack workspace import`);if((z==="invalid_auth"||z==="not_authed")&&!E)throw Error(`drafts.list also requires the xoxd session cookie.
|
|
97
97
|
Set it with: slack workspace set-cookie <workspace-name> <xoxd-value>
|
|
98
|
-
`+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function
|
|
99
|
-
`)}function
|
|
100
|
-
`):[];for(let[C,B]of Object.entries(u)){let $=E.findIndex((Z)=>{let G=Z.trim();return G.startsWith(C+"=")||G.startsWith(C+" =")}),z=`${C}=${B}`;if($!==-1)E[$]=z;else E.push(z)}
|
|
98
|
+
`+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function J6(D,u,F={},E){let C=new URLSearchParams({token:D,...F});return Z6(D,u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:C.toString()},E)}function WD(D,u,F,E){let C=new URLSearchParams(F).toString();return N8(D,`${u}?${C}`,{method:"GET"},E)}function X6(D,u,F){return N8(D,u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(F)})}async function GF(D){let u=await WD(D,"auth.test",{});return{team:u.team??"",teamId:u.team_id??"",url:u.url??"",user:u.user??"",userId:u.user_id??""}}async function R8(D){let u=await fetch(`${Z0()}/auth.test`,{method:"GET",headers:{Authorization:`Bearer ${D}`}});if(u.status===429){let C=parseInt(u.headers.get("retry-after")??"60",10);throw new dD(isNaN(C)?60:C)}let F=u.headers.get("x-oauth-scopes")??"",E=await u.json();if(E.ok!==!0)throw Error(`Slack error on auth.test: ${E.error??"unknown"}`);return{userId:E.user_id??"",botId:E.bot_id??"",team:E.team??"",url:E.url??"",scopes:F.split(",").map((C)=>C.trim()).filter(Boolean)}}async function T8(D,u){let F=await WD(D,"bots.info",{bot:u});return{appId:F.bot?.app_id??"",userId:F.bot?.user_id??""}}async function J0(D,u,F=20,E,C){let B={channel:u,limit:String(F)};if(E!==void 0)B.oldest=E;if(C!==void 0)B.cursor=C;return WD(D,"conversations.history",B)}async function S8(D,u,F,E=50){return WD(D,"conversations.replies",{channel:u,ts:F,limit:String(E)})}async function Q6(D,u){let E=(await X6(D,"conversations.open",{users:u})).channel?.id;if(!E)throw Error(`Failed to open DM with user ${u}`);return E}function xu(D){return D.toLowerCase().replace(/[-_\s]/g,"")}function X0(D){let u=D.match(/(?:app\.slack\.com\/client\/T[A-Za-z0-9]+|[A-Za-z0-9-]+\.slack\.com\/archives)\/([A-Za-z0-9]+)(?:\/p(\d{10})(\d{6}))?/);if(!u)return;let F=u[1],E=u[2]&&u[3]?`${u[2]}.${u[3]}`:void 0,C=D.indexOf("?"),B=C>=0?new URLSearchParams(D.slice(C)):void 0,$=B?.get("thread_ts")??void 0,G={channel:B?.get("cid")??void 0??F};if(E)G.ts=E;if($)G.threadTs=$;return G}function O6(D){return X0(D)?.channel}async function P8(D,u,F){let E=O6(u);if(E)return E;if(!u.startsWith("@")&&!u.startsWith("#")){if(/^[A-Za-z0-9]{9,}$/.test(u))return u;throw Error(`Target must start with # or @ (or be a Slack URL/ID), got: ${u}`)}let C=u.startsWith("@"),B=u.slice(1),$=xu(B);if(C){let G=await WD(D,"auth.test",{},F);if($==="you"||$==="me"||xu(G.user??"")===$){let H=G.user_id;if(!H)throw Error("auth.test did not return user_id");let q=((await WD(D,"conversations.list",{types:"im",limit:"200"},F)).channels??[]).find((j)=>j.user===H);if(q?.id)return String(q.id);return Q6(D,H)}let J="",O="";while(!0){let H={limit:"200"};if(O)H.cursor=O;let Y=await WD(D,"users.list",H,F);for(let q of Y.members??[]){let j=xu(q.name??""),N=xu(q.real_name??""),k=xu(q.profile?.display_name??"");if(j===$||N===$||k&&k===$){J=q.id??"";break}}if(J)break;if(O=Y.response_metadata?.next_cursor??"",!O)break}if(!J)throw Error(`User not found: ${u}`);let W="";while(!0){let H={types:"im",limit:"200"};if(W)H.cursor=W;let Y=await WD(D,"conversations.list",H,F);for(let q of Y.channels??[])if(q.user===J)return String(q.id??"");if(W=Y.response_metadata?.next_cursor??"",!W)break}throw Error(`No existing DM with ${u} (${J}). Open it once in Slack first.`)}let z=B.toLowerCase(),Z="";while(!0){let G={limit:"200",types:"public_channel,private_channel",exclude_archived:"true"};if(Z)G.cursor=Z;let Q=await WD(D,"conversations.list",G,F);for(let J of Q.channels??[])if(String(J.name??"").toLowerCase()===z)return String(J.id??"");if(Z=Q.response_metadata?.next_cursor??"",!Z)break}throw Error(`channel not found: ${u}`)}async function ZF(D,u){try{let F=await WD(D,"users.info",{user:u}),E=F.user?.profile?.display_name,C=E&&E.length>0?E:F.user?.real_name??F.user?.name??u,B=F.user?.name??u;return[C,B]}catch{return[u,u]}}async function JF(D,u){try{let F=await WD(D,"users.info",{user:u}),E=F.user?.profile?.display_name;if(E&&E.length>0)return E;return F.user?.real_name??F.user?.name??u}catch{return u}}async function Q0(D){let u=[],F="";while(!0){let E={limit:"200"};if(F)E.cursor=F;let C=await WD(D,"users.list",E);if(u.push(...C.members??[]),F=C.response_metadata?.next_cursor??"",!F)break}return{members:u}}async function O0(D,u){let F=[],E="";while(!0){let C={channel:u,limit:"200"};if(E)C.cursor=E;let B=await WD(D,"conversations.members",C);if(F.push(...B.members??[]),E=B.response_metadata?.next_cursor??"",!E)break}return F}async function Y0(D,u){return WD(D,"users.info",{user:u})}async function w8(D,u){return WD(D,"conversations.info",{channel:u})}async function x8(D,u){let F=await J6(D,"client.boot",{},u),E=typeof F.url==="string"?F.url:void 0;if(!E){let B=Object.keys(F).join(", ");throw Error(`client.boot did not return a WebSocket URL. Keys: ${B}`)}let C=F.self&&typeof F.self==="object"&&!Array.isArray(F.self)?F.self:{};return{wsUrl:E,selfId:typeof C.id==="string"?C.id:""}}var Y6=["chat:write","im:write"],W6=["im:history","im:read"];async function W0(D){let{userId:u,botId:F,team:E,scopes:C}=await R8(D),B="";if(F)try{B=(await T8(D,F)).appId}catch{B=""}let $=(G)=>C.includes(G),z=Y6.filter((G)=>!$(G)),Z=W6.filter((G)=>!$(G));return{canSend:z.length===0,canReceiveReplies:Z.length===0,ok:z.length===0&&Z.length===0,botUserId:u,appId:B,team:E,grantedScopes:C,missingSendScopes:z,missingReplyScopes:Z}}function I8(D){return["",` Bot user: ${D.botUserId||"(unknown)"}`,` App ID: ${D.appId||"(unknown — bots.info unavailable)"}`,` Granted scopes: ${D.grantedScopes.join(", ")||"(none reported)"}`]}function H0(D,u=!1){let F=D.appId?`https://api.slack.com/apps/${D.appId}`:"https://api.slack.com/apps";if(D.ok){let C=["✓ Bot DM scopes are complete (send + read replies)."," Two-way replies also require the Messages Tab, which is not API-detectable.",' If recipients see "Sending messages to this app is turned off", enable it:',` ${F} → App Home → "Messages Tab" ON + "Allow users to send messages".`];return u?C:[...C,...I8(D)]}let E=[];if(!D.canSend)E.push(`⚠ This bot CANNOT send DMs — missing scope(s): ${D.missingSendScopes.join(", ")}.`);else E.push("⚠ This bot can send DMs, but the user's replies will NOT be readable.");return E.push(" Make escalation DMs two-way:"),E.push(` 1. ${F} → App Home → enable "Messages Tab" and check`),E.push(' "Allow users to send Slash commands and messages".'),E.push(` 2. OAuth & Permissions → add Bot Token Scopes: ${[...D.missingSendScopes,...D.missingReplyScopes].join(", ")}`),E.push(" 3. Reinstall the app to apply the new scopes."),u?E:[...E,...I8(D)]}import{createInterface as Xu}from"node:readline/promises";import{join as j0}from"node:path";import{homedir as T6}from"node:os";import{existsSync as V0,readFileSync as M0,writeFileSync as f8,mkdirSync as h8}from"node:fs";import{homedir as H6}from"node:os";import{join as U0,dirname as v8}from"node:path";function p8(){return process.env.HOME||H6()}function m8(){return U0(p8(),".config","slack-cli","profiles.json")}function V6(){return U0(process.cwd(),".slack-cli","workspace")}function M6(){return U0(p8(),".slack-cli","workspace")}function q0(){let D=m8();if(!V0(D))return{profiles:{}};return JSON.parse(M0(D,"utf8"))}function y8(D){let u=m8();h8(v8(u),{recursive:!0}),f8(u,JSON.stringify(D,null,2)+`
|
|
99
|
+
`)}function b8(D){if(!V0(D))return;return M0(D,"utf8").trim()||void 0}function c8(D,u){h8(v8(D),{recursive:!0});let F=V0(D)?M0(D,"utf8"):"",E=F?F.split(`
|
|
100
|
+
`):[];for(let[C,B]of Object.entries(u)){let $=E.findIndex((Z)=>{let G=Z.trim();return G.startsWith(C+"=")||G.startsWith(C+" =")}),z=`${C}=${B}`;if($!==-1)E[$]=z;else E.push(z)}f8(D,E.join(`
|
|
101
101
|
`).trimEnd()+`
|
|
102
|
-
`)}function XF(){let D=
|
|
102
|
+
`)}function XF(){let D=q0(),u=b8(V6()),F=b8(M6()),E=u??F;return Object.entries(D.profiles).map(([C,B])=>({name:C,profile:B,current:C===E}))}function _0(D,u){let F=q0();F.profiles[D]=u,y8(F)}function K0(D,u){let F=q0();if(!(D in F.profiles))throw Error(`Profile not found: ${D}`);F.profiles[D].cookie=u,y8(F)}import{readdirSync as QF,readFileSync as OF,existsSync as Ju,copyFileSync as g8,unlinkSync as k8}from"node:fs";import{homedir as YF,tmpdir as d8}from"node:os";import{join as XD,dirname as U6}from"node:path";import{pbkdf2Sync as i8,createDecipheriv as n8}from"node:crypto";import{execSync as t8}from"node:child_process";function q6(){let D=YF();if(process.platform==="darwin")return XD(D,"Library","Application Support","Slack","Local Storage","leveldb");if(process.platform==="linux")return XD(D,".config","Slack","Local Storage","leveldb");if(process.platform==="win32"){let u=process.env.APPDATA??XD(D,"AppData","Roaming");return XD(u,"Slack","Local Storage","leveldb")}throw Error(`Unsupported platform: ${process.platform}`)}function _6(){let D=YF();if(process.platform==="darwin")return XD(D,"Library","Application Support","Slack","Cookies");return""}function K6(D,u){if(D.length<35||D.slice(0,3).toString()!=="v10")throw Error("Not a v10 encrypted cookie");let F=D.slice(19,35),E=D.slice(35),C=n8("aes-128-cbc",u,F);return C.setAutoPadding(!0),Buffer.concat([C.update(E),C.final()]).toString("utf8")}function j6(){if(process.platform!=="darwin")return;let D=_6();if(!Ju(D))return;let u;try{u=t8('security find-generic-password -w -s "Slack Safe Storage" -a "Slack Key"',{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trimEnd()}catch{return}let F=i8(u,"saltysalt",1003,16,"sha1");try{let{default:E}=vD("bun:sqlite"),C=new E(D,{readonly:!0}),B=C.prepare("SELECT encrypted_value FROM cookies WHERE name='d' AND host_key LIKE '%slack%'").get();if(C.close(),!B)return;return K6(Buffer.from(B.encrypted_value),F)}catch{return}}async function l8(){let D=q6();if(!Ju(D))throw Error(`Slack desktop app LevelDB not found at:
|
|
103
103
|
${D}
|
|
104
|
-
Is Slack installed and opened at least once?`);let u=QF(D).filter((z)=>z.endsWith(".ldb")||z.endsWith(".log"));if(u.length===0)throw Error(`No LevelDB data files found in ${D}`);let F=new Map;for(let z of u){let Z;try{Z=OF(XD(D,z),"latin1")}catch{continue}if(z.endsWith(".log"))for(let G of Z.matchAll(/"token":"(xoxc-[^"]+)"/g)){let Q=G[1],J=Q.split("-")[1]??"";if(!J||Q.length<40)continue;let
|
|
105
|
-
`)){let z=$.trim();if(z.startsWith("[")){C="",B="";continue}let Z=z.indexOf("=");if(Z===-1)continue;let G=z.slice(0,Z).trim().toLowerCase(),Q=z.slice(Z+1).trim();if(G==="name")C=Q;if(G==="path")B=Q.split(/[\\/]/).pop()??Q;if(C&&B)F[B]=C,C="",B=""}}catch{}return F}function i8(){let D=V6();if(!D||!Ju(D))return[];let u=U6(D),F=[],E;try{E=QF(D)}catch{return[]}for(let C of E){let B=XD(D,C,"cookies.sqlite");if(!Ju(B))continue;let $=XD(m8(),`slack-firefox-cookies-${Date.now()}-${C}.db`);try{v8(B,$);let{default:z}=vD("bun:sqlite"),Z=new z($,{readonly:!0}),G=Z.prepare("SELECT value FROM moz_cookies WHERE name='d' AND host LIKE '%slack%' LIMIT 1").get();if(Z.close(),!G?.value||!G.value.startsWith("xoxd-"))continue;let Q=u[C]??C;F.push({profileDir:C,profileName:Q,cookie:G.value})}catch{}finally{try{p8($)}catch{}}}return F}var _6=["search:read","channels:history","groups:history","im:history","mpim:history","channels:read","groups:read","im:read","mpim:read","users:read","chat:write","files:write"],K6=["channels:history","groups:history","im:history","mpim:history","channels:read","groups:read","im:read","mpim:read","users:read","chat:write","files:write"];function WF(D){return D.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function j6(){return JSON.stringify({display_information:{name:"slack-term"},oauth_config:{scopes:{user:_6}},settings:{org_deploy_enabled:!1,socket_mode_enabled:!1,token_rotation_enabled:!1}},null,2)}function A6(){return JSON.stringify({display_information:{name:"slack-term"},features:{bot_user:{display_name:"slack-term",always_online:!1}},oauth_config:{scopes:{bot:K6}},settings:{org_deploy_enabled:!1,socket_mode_enabled:!1,token_rotation_enabled:!1}},null,2)}async function Qu(D,u){return(await D.question(u)).trim()}async function Ou(D,u,F,E){console.error("Verifying token...");let C=await GF(u),B=WF(C.team),$;if(F)$=F;else if(D)$=await Qu(D,`Workspace name [${B}]: `)||B;else $=B;let z=null;if(D){console.log(""),console.log("Where to save the token?"),console.log(" 1) ./.env.local (current directory) [default]"),console.log(" 2) ./.slack-term/.env.local (current directory, slack-specific)"),console.log(" 3) ~/.slack-term/.env.local (global, available everywhere)"),console.log(" 4) profiles.json (multi-workspace: slack auth use)"),console.log("");let Z=await Qu(D,"Choice [1/2/3/4, Enter=1]: ");if(Z==="2")z=U0(process.cwd(),".slack-term",".env.local");else if(Z==="3")z=U0(q6(),".slack-term",".env.local");else if(Z==="4")z=null;else z=U0(process.cwd(),".env.local")}if(z===null)if(M0($,{token:u,...C,...E?{cookie:E}:{}}),console.log(`Saved workspace "${$}" to profiles.json: ${C.team} (${C.user})`),process.env.SLACK_MCP_XOXP_TOKEN)console.log(""),console.log("Warning: SLACK_MCP_XOXP_TOKEN is set — it conflicts with profiles."),console.log(" Unset it: unset SLACK_MCP_XOXP_TOKEN (and remove from ~/.zshrc / ~/.bashrc)");else console.log(` Run: slack auth use -g ${$}`);else{let Z={SLACK_TOKEN:u};if(E)Z.SLACK_COOKIE=E;h8(z,Z),console.log(`Saved token to ${z}`),console.log(" SLACK_TOKEN will be picked up automatically in this directory tree.")}return $}async function L6(D){console.error("Scanning Slack desktop app...");let u=await k8();if(u.length===0)console.error("No sessions found. Make sure Slack is installed and you have signed in at least once."),process.exit(1);if(u.length===1&&D){let F=u[0],E=F.teamName??F.teamId;console.log(`Found workspace: ${E}${F.cookie?" (+ xoxd cookie)":""}`),await Ou(D,F.token,WF(E),F.cookie),console.log(""),console.log("Note: desktop app tokens (xoxc-) are internal Slack tokens."),console.log("If API calls fail, replace with an xoxp- token: slack auth login");return}for(let F of u){let E=F.teamName??F.teamId,C=WF(E);M0(C,{token:F.token,team:E,teamId:F.teamId,url:F.url??"",user:"",...F.cookie?{cookie:F.cookie}:{}}),console.log(`Added workspace "${C}": ${E}${F.cookie?" + xoxd cookie":""}`)}if(console.log(""),u.length===1){let F=WF(u[0].teamName??u[0].teamId);console.log(`Run: slack auth use -g ${F}`)}else console.log("Run: slack auth ls then: slack auth use -g <name>");console.log(""),console.log("Note: desktop app tokens (xoxc-) are internal Slack tokens."),console.log("If API calls fail, replace with an xoxp- user token by re-running: slack auth login")}async function n8(D){console.log("Which token type does your app use?"),console.log(""),console.log(" 1) User token (xoxp-) -full access including search [recommended]"),console.log(" 2) Bot token (xoxb-) -search and news unavailable"),console.log("");let F=await Qu(D,"Choice [1/2]: ")==="2"?"bot":"user",E=F==="user"?"xoxp-":"xoxb-",C=F==="user"?"User OAuth Token":"Bot User OAuth Token";console.log(""),console.log("Find your token here:"),console.log(" https://api.slack.com/apps"),console.log(" -> Select your app -> OAuth & Permissions"),console.log(` -> Copy the "${C}" (starts with ${E})`),console.log("");let B=await Qu(D,"Paste your token: ");if(!B)console.error("No token provided."),process.exit(1);if(!B.startsWith(E))console.error(`Expected a ${E} token, got: ${B.slice(0,10)}...`),process.exit(1);await Ou(D,B)}async function HF(D,u){let F=u==="user"?j6():A6(),E=u==="user"?"User OAuth Token (xoxp-...)":"Bot User OAuth Token (xoxb-...)",C=u==="user"?"xoxp-":"xoxb-";if(u==="bot")console.log("Note: bot tokens cannot use search:read (user-only scope)."),console.log(" The news and search commands will not work with a bot token."),console.log("");console.log("Step 1 -Create your Slack app:"),console.log(" Open: https://api.slack.com/apps"),console.log(' Click "Create New App" -> "From a manifest" -> select your workspace'),console.log(" Paste this manifest (JSON tab):"),console.log(""),console.log("-------------------------------------------------------------"),console.log(F),console.log("-------------------------------------------------------------"),console.log(""),console.log('Step 2 -Install: "Install App" -> "Install to Workspace" -> Authorize'),console.log(""),console.log("Step 3 -Copy your token:"),console.log(` OAuth & Permissions -> ${E}`),console.log("");let B=await Qu(D,"Paste your token: ");if(!B)console.error("No token provided."),process.exit(1);if(!B.startsWith(C))console.error(`Expected a ${C} token, got: ${B.slice(0,10)}...`),process.exit(1);await Ou(D,B)}async function t8(D={}){if(process.platform!=="darwin")console.error("Chrome cookie extraction is only supported on macOS."),process.exit(1);let u=XF();if(u.length===0)console.error("No workspaces configured. Run: slack auth login"),process.exit(1);let F;if(D.workspace){if(!u.find((z)=>z.name===D.workspace))console.error(`Workspace "${D.workspace}" not found. Available: ${u.map((z)=>z.name).join(", ")}`),process.exit(1);F=D.workspace}else if(u.length===1)F=u[0].name;else{let $=u.find((z)=>z.current);if($)F=$.name,console.log(`Using active workspace: ${F}`);else{console.log("Multiple workspaces found. Choose one:"),u.forEach((Q,J)=>console.log(` ${J+1}) ${Q.name} (${Q.profile.team})`));let z=Xu({input:process.stdin,output:process.stdout}),Z=(await z.question("Choice: ")).trim();z.close();let G=parseInt(Z,10)-1;if(isNaN(G)||G<0||G>=u.length)console.error("Invalid choice."),process.exit(1);F=u[G].name}}console.log("Scanning Chrome profiles for Slack session..."),console.log("macOS may show a dialog asking for your login password — click Allow.");let E,C;try{({candidates:E,totalProfiles:C}=d8())}catch($){console.error(`Failed: ${$ instanceof Error?$.message:String($)}`),process.exit(1)}if(E.length===0)console.error(`No Slack session found in Chrome (scanned ${C} profile${C!==1?"s":""}). Possible reasons:`),console.error(" - You denied the keychain dialog (try running again and click Allow)"),console.error(" - Chrome is not installed or has no Slack session"),console.error(" - You're not logged in to Slack in Chrome"),process.exit(1);let B;if(E.length===1&&C<=1)B=E[0].cookie,console.log(`Found session in Chrome profile: ${E[0].profileName}`);else{let $=E.length===1?`Found 1 Slack session across ${C} Chrome profiles:`:`Found ${E.length} Slack sessions across ${C} Chrome profiles:`;console.log($),E.forEach((J,Y)=>console.log(` ${Y+1}) ${J.profileName} [${J.profileDir}]`)),console.log("");let z=Xu({input:process.stdin,output:process.stdout}),Z=E.length===1?" [Enter=1]":"",G=(await z.question(`Choice [1-${E.length}]${Z}: `)).trim();z.close();let Q=G===""&&E.length===1?0:parseInt(G,10)-1;if(isNaN(Q)||Q<0||Q>=E.length)console.error("Invalid choice."),process.exit(1);B=E[Q].cookie}V0(F,B),console.log(`Saved xoxd cookie to workspace "${F}".`),console.log("RTM WebSocket mode is now available: slack tail @you")}async function l8(D={}){let u=XF();if(u.length===0)console.error("No workspaces configured. Run: slack auth token"),process.exit(1);let F;if(D.workspace){if(!u.find(($)=>$.name===D.workspace))console.error(`Workspace "${D.workspace}" not found. Available: ${u.map(($)=>$.name).join(", ")}`),process.exit(1);F=D.workspace}else if(u.length===1)F=u[0].name;else{let B=u.find(($)=>$.current);if(B)F=B.name,console.log(`Using active workspace: ${F}`);else{console.log("Multiple workspaces found. Choose one:"),u.forEach((G,Q)=>console.log(` ${Q+1}) ${G.name} (${G.profile.team})`));let $=Xu({input:process.stdin,output:process.stdout}),z=(await $.question("Choice: ")).trim();$.close();let Z=parseInt(z,10)-1;if(isNaN(Z)||Z<0||Z>=u.length)console.error("Invalid choice."),process.exit(1);F=u[Z].name}}console.log("Scanning Firefox profiles for Slack session...");let E=i8();if(E.length===0)console.error("No Slack session found in Firefox. Possible reasons:"),console.error(" - Firefox is not installed"),console.error(" - You are not logged in to Slack in Firefox"),process.exit(1);let C;if(E.length===1)C=E[0].cookie,console.log(`Found session in Firefox profile: ${E[0].profileName}`);else{console.log("Multiple Firefox profiles have a Slack session. Choose one:"),E.forEach((Z,G)=>console.log(` ${G+1}) ${Z.profileName} [${Z.profileDir}]`));let B=Xu({input:process.stdin,output:process.stdout}),$=(await B.question("Choice: ")).trim();B.close();let z=parseInt($,10)-1;if(isNaN(z)||z<0||z>=E.length)console.error("Invalid choice."),process.exit(1);C=E[z].cookie}V0(F,C),console.log(`Saved xoxd cookie to workspace "${F}".`),console.log("RTM WebSocket mode is now available: slack tail @you")}async function o8(D={}){if(D.token){await Ou(null,D.token,D.name);return}if(!process.stdin.isTTY){let F=[];for await(let C of process.stdin)F.push(C);let E=Buffer.concat(F).toString("utf8").trim();if(!E)console.error("No token provided on stdin."),process.exit(1);await Ou(null,E,D.name);return}let u=Xu({input:process.stdin,output:process.stdout});try{await n8(u)}finally{u.close()}}async function s8(D={}){let u=Xu({input:process.stdin,output:process.stdout});try{if(D.bot!==void 0){await HF(u,D.bot?"bot":"user");return}console.log("Which token type?"),console.log(" 1) User token (xoxp-) -full access including search [default]"),console.log(" 2) Bot token (xoxb-) -search and news unavailable"),console.log("");let F=await Qu(u,"Choice [1/2, Enter=1]: ");await HF(u,F==="2"?"bot":"user")}finally{u.close()}}async function MF(D={}){let u=XF();if(u.length>0){console.log("Currently logged in:");for(let{name:E,profile:C,current:B}of u)console.log(` ${B?"*":" "} ${E} ${C.team} (${C.user||"unknown"})`);console.log(""),console.log("Adding another workspace:"),console.log("")}if(D.token){await Ou(null,D.token,D.name);return}if(!process.stdin.isTTY){let E=[];for await(let B of process.stdin)E.push(B);let C=Buffer.concat(E).toString("utf8").trim();if(!C)console.error("No token provided on stdin."),process.exit(1);await Ou(null,C,D.name);return}console.log("How would you like to authenticate with Slack?"),console.log(""),console.log(" 1) Slack desktop app - import session token"),console.log(" Reads the xoxc- token directly from the installed app."),console.log(" Token: all platforms | xoxd cookie: macOS only"),console.log(""),console.log(" 2) Connect existing Slack app [recommended if you have one]"),console.log(" Paste a token from an app you already created."),console.log(""),console.log(" 3) Create new Slack app - user token (xoxp-)"),console.log(" Guided setup with manifest. Full access including search."),console.log(""),console.log(" 4) Create new Slack app - bot token (xoxb-)"),console.log(" Bot is invited to channels. Search and news unavailable."),console.log("");let F=Xu({input:process.stdin,output:process.stdout});try{let E=await Qu(F,"Choice [1/2/3/4]: ");if(console.log(""),E==="1")await L6(F);else if(E==="2")await n8(F);else if(E==="3")await HF(F,"user");else if(E==="4")await HF(F,"bot");else console.error(`Invalid choice: "${E}". Enter 1, 2, 3, or 4.`),process.exit(1)}finally{F.close()}}async function VF(D,u,F){let E=u,C=[],B=E,$=0;while(!0){let z=B.indexOf("<@U",$);if(z===-1)break;let Z=B.slice(z+2),G=Z.search(/[>|]/),Q=G===-1?Z:Z.slice(0,G);if(Q.length>=9)C.push(Q);$=z+1}for(let z of C){if(!F.has(z))F.set(z,await JF(D,z));let Z=F.get(z)??z;E=E.replaceAll(`<@${z}>`,`@${Z}`),E=E.replace(new RegExp(`<@${z}\\|[^>]*>`,"g"),`@${Z}`)}return E}function UF(D){return D.replace(/<!date\^(\d+)\^[^|>]*(?:\|([^>]*))?>/g,(u,F,E)=>{let C=Number(F);if(!Number.isFinite(C))return E??"date";let B=new Date(C*1000);if(Number.isNaN(B.getTime()))return E??"date";let $=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z=$[B.getUTCDay()]??"",G=z[B.getUTCMonth()]??"";return`${Z}, ${G} ${String(B.getUTCDate()).padStart(2,"0")}, ${B.getUTCFullYear()}`})}function a8(D){let u=typeof D.ts==="string"?D.ts:"",F=typeof D.thread_ts==="string"?D.thread_ts:"";return F!==""&&F!==u}function N6(D){let[u,F="000000"]=D.split("."),E=new Date(Number(u)*1000),C=E.getUTCFullYear(),B=String(E.getUTCMonth()+1).padStart(2,"0"),$=String(E.getUTCDate()).padStart(2,"0"),z=String(E.getUTCHours()).padStart(2,"0"),Z=String(E.getUTCMinutes()).padStart(2,"0"),G=String(E.getUTCSeconds()).padStart(2,"0"),Q=F.padEnd(6,"0").slice(0,6);return`${C}-${B}-${$}T${z}:${Z}:${G}.${Q}`}async function R6(D,u,F){let E=typeof u.ts==="string"?u.ts:"0.000000",C=N6(E),B="?";if(typeof u.user==="string"){let J=u.user,Y="@"+J;if(!F.has(Y)){let[,W]=await ZF(D,J);F.set(Y,W)}B=F.get(Y)??J}else if(typeof u.username==="string")B=u.username;let $=typeof u.text==="string"?u.text:"",Z=UF(await VF(D,$,F)).split(`
|
|
104
|
+
Is Slack installed and opened at least once?`);let u=QF(D).filter((z)=>z.endsWith(".ldb")||z.endsWith(".log"));if(u.length===0)throw Error(`No LevelDB data files found in ${D}`);let F=new Map;for(let z of u){let Z;try{Z=OF(XD(D,z),"latin1")}catch{continue}if(z.endsWith(".log"))for(let G of Z.matchAll(/"token":"(xoxc-[^"]+)"/g)){let Q=G[1],J=Q.split("-")[1]??"";if(!J||Q.length<40)continue;let O=Math.max(0,G.index-2000),W=Math.min(Z.length,G.index+2000),H=Z.slice(O,W),Y=H.match(/"url":"(https:\/\/[a-z0-9-]+\.slack\.com\/)"/),q=H.match(/"(?:team_name|name)":"([^"]{2,60})"/),j=F.get(J);if(!j||Q.length>j.token.length){let N={token:Q,teamId:J},k=Y?.[1]??j?.url,w=q?.[1]??j?.teamName;if(k)N.url=k;if(w)N.teamName=w;F.set(J,N)}}else for(let G of Z.matchAll(/xoxc-(\d+)-(\d+)-(\d+)/g)){let Q=G[1];if(F.has(Q))continue;let J=G.index+G[0].length,O=Math.min(J+10,Z.length);while(J<O&&(Z.charCodeAt(J)<48||Z.charCodeAt(J)>57))J++;let W="";while(J<Z.length&&Z.charCodeAt(J)>=48&&Z.charCodeAt(J)<=57)W+=Z[J++];if(Z[J]!=="-")continue;J++;let H="";while(J<Z.length){let q=Z.charCodeAt(J);if(q>=48&&q<=57||q>=97&&q<=102)H+=Z[J++];else break}if(H.length<20)continue;let Y=`${G[0]}${W}-${H}`;F.set(Q,{token:Y,teamId:Q})}}let C=QF(D).filter((z)=>z.endsWith(".ldb")||z.endsWith(".log")).map((z)=>{try{return OF(XD(D,z),"latin1").replace(/[^\x20-\x7e]/g," ")}catch{return""}}).join(" ");for(let z of F.values()){if(z.teamName)continue;let Z=C.indexOf(z.teamId);if(Z!==-1){let G=Math.max(0,Z-500),Q=Math.min(C.length,Z+500),O=C.slice(G,Q).match(/"(?:team_name|name)":"([^"]{2,60})"/);if(O?.[1]){z.teamName=O[1];continue}}if(!z.teamName&&z.url){let G=z.url.match(/https:\/\/([a-z0-9-]+)\.slack\.com\//)?.[1];if(G){let Q=C.indexOf(G);if(Q!==-1){let J=Math.max(0,Q-500),O=Math.min(C.length,Q+500),H=C.slice(J,O).match(/"(?:team_name|name)":"([^"]{2,60})"/);if(H?.[1]){z.teamName=H[1];continue}}z.teamName=G.split("-").map((J)=>J.charAt(0).toUpperCase()+J.slice(1)).join(" ")}}}let B=j6(),$=[...F.values()];if(B)for(let z of $)z.cookie=B;return $}function A6(D,u){let F=(E,C)=>{try{let B=n8("aes-128-cbc",u,E);B.setAutoPadding(!0);let $=Buffer.concat([B.update(C),B.final()]).toString("utf8");return $.startsWith("xoxd-")?$:void 0}catch{return}};return F(Buffer.alloc(16,32),D.slice(3))??(D.length>=35?F(D.slice(19,35),D.slice(35)):void 0)}function L6(D,u){try{let E=JSON.parse(OF(XD(D,u,"Preferences"),"utf8")).profile,C=E?.name??"",B=E?.user_name??"";return B?`${C} (${B})`:C||u}catch{return u}}function o8(){if(process.platform!=="darwin")return{candidates:[],totalProfiles:0};let D=XD(YF(),"Library","Application Support","Google","Chrome");if(!Ju(D))return{candidates:[],totalProfiles:0};let u;try{u=t8('security find-generic-password -a Chrome -s "Chrome Safe Storage" -w',{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trimEnd()}catch{return{candidates:[],totalProfiles:0}}if(!u)return{candidates:[],totalProfiles:0};let F=i8(u,"saltysalt",1003,16,"sha1"),E=["Default",...QF(D).filter((B)=>B.startsWith("Profile "))],C=[];for(let B of E){let $=XD(D,B,"Cookies");if(!Ju($))continue;let z=XD(d8(),`slack-chrome-cookies-${Date.now()}-${B}.db`);try{g8($,z);let{default:Z}=vD("bun:sqlite"),G=new Z(z,{readonly:!0}),Q=G.prepare("SELECT encrypted_value FROM cookies WHERE name='d' AND host_key LIKE '%slack%'").get();if(G.close(),!Q)continue;let J=Buffer.from(Q.encrypted_value),O=J.slice(0,3).toString();if(O==="v10"){let W=A6(J,F);if(!W)continue;C.push({profileDir:B,profileName:L6(D,B),cookie:W})}else if(O==="v20")throw Error(`Chrome cookie uses v20 (app-bound AES-256-GCM) which is not supported yet. Prefix found: ${J.slice(0,4).toString("hex")}`);else throw Error(`Unknown cookie encryption prefix: ${J.slice(0,4).toString("hex")}`)}catch(Z){if(Z instanceof Error&&(Z.message.includes("app-bound")||Z.message.includes("Unknown cookie")))throw Z}finally{try{k8(z)}catch{}}}return{candidates:C,totalProfiles:E.length}}function N6(){let D=YF();if(process.platform==="darwin")return XD(D,"Library","Application Support","Firefox","Profiles");if(process.platform==="linux")return XD(D,".mozilla","firefox");if(process.platform==="win32")return XD(process.env.APPDATA??XD(D,"AppData","Roaming"),"Mozilla","Firefox","Profiles");return""}function R6(D){let u=XD(U6(D),"profiles.ini"),F={};if(!Ju(u))return F;try{let E=OF(u,"utf8"),C="",B="";for(let $ of E.split(`
|
|
105
|
+
`)){let z=$.trim();if(z.startsWith("[")){C="",B="";continue}let Z=z.indexOf("=");if(Z===-1)continue;let G=z.slice(0,Z).trim().toLowerCase(),Q=z.slice(Z+1).trim();if(G==="name")C=Q;if(G==="path")B=Q.split(/[\\/]/).pop()??Q;if(C&&B)F[B]=C,C="",B=""}}catch{}return F}function s8(){let D=N6();if(!D||!Ju(D))return[];let u=R6(D),F=[],E;try{E=QF(D)}catch{return[]}for(let C of E){let B=XD(D,C,"cookies.sqlite");if(!Ju(B))continue;let $=XD(d8(),`slack-firefox-cookies-${Date.now()}-${C}.db`);try{g8(B,$);let{default:z}=vD("bun:sqlite"),Z=new z($,{readonly:!0}),G=Z.prepare("SELECT value FROM moz_cookies WHERE name='d' AND host LIKE '%slack%' LIMIT 1").get();if(Z.close(),!G?.value||!G.value.startsWith("xoxd-"))continue;let Q=u[C]??C;F.push({profileDir:C,profileName:Q,cookie:G.value})}catch{}finally{try{k8($)}catch{}}}return F}var S6=["search:read","channels:history","groups:history","im:history","mpim:history","channels:read","groups:read","im:read","mpim:read","users:read","chat:write","files:write"],P6=["channels:history","groups:history","im:history","mpim:history","channels:read","groups:read","im:read","mpim:read","users:read","chat:write","files:write"];function WF(D){return D.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function w6(){return JSON.stringify({display_information:{name:"slack-term"},oauth_config:{scopes:{user:S6}},settings:{org_deploy_enabled:!1,socket_mode_enabled:!1,token_rotation_enabled:!1}},null,2)}function x6(){return JSON.stringify({display_information:{name:"slack-term"},features:{bot_user:{display_name:"slack-term",always_online:!1}},oauth_config:{scopes:{bot:P6}},settings:{org_deploy_enabled:!1,socket_mode_enabled:!1,token_rotation_enabled:!1}},null,2)}async function Qu(D,u){return(await D.question(u)).trim()}async function Ou(D,u,F,E){console.error("Verifying token...");let C=await GF(u),B=WF(C.team),$;if(F)$=F;else if(D)$=await Qu(D,`Workspace name [${B}]: `)||B;else $=B;let z=null;if(D){console.log(""),console.log("Where to save the token?"),console.log(" 1) ./.env.local (current directory) [default]"),console.log(" 2) ./.slack-term/.env.local (current directory, slack-specific)"),console.log(" 3) ~/.slack-term/.env.local (global, available everywhere)"),console.log(" 4) profiles.json (multi-workspace: slack auth use)"),console.log("");let Z=await Qu(D,"Choice [1/2/3/4, Enter=1]: ");if(Z==="2")z=j0(process.cwd(),".slack-term",".env.local");else if(Z==="3")z=j0(T6(),".slack-term",".env.local");else if(Z==="4")z=null;else z=j0(process.cwd(),".env.local")}if(z===null)if(_0($,{token:u,...C,...E?{cookie:E}:{}}),console.log(`Saved workspace "${$}" to profiles.json: ${C.team} (${C.user})`),process.env.SLACK_MCP_XOXP_TOKEN)console.log(""),console.log("Warning: SLACK_MCP_XOXP_TOKEN is set — it conflicts with profiles."),console.log(" Unset it: unset SLACK_MCP_XOXP_TOKEN (and remove from ~/.zshrc / ~/.bashrc)");else console.log(` Run: slack auth use -g ${$}`);else{let Z={SLACK_TOKEN:u};if(E)Z.SLACK_COOKIE=E;c8(z,Z),console.log(`Saved token to ${z}`),console.log(" SLACK_TOKEN will be picked up automatically in this directory tree.")}return $}async function I6(D){console.error("Scanning Slack desktop app...");let u=await l8();if(u.length===0)console.error("No sessions found. Make sure Slack is installed and you have signed in at least once."),process.exit(1);if(u.length===1&&D){let F=u[0],E=F.teamName??F.teamId;console.log(`Found workspace: ${E}${F.cookie?" (+ xoxd cookie)":""}`),await Ou(D,F.token,WF(E),F.cookie),console.log(""),console.log("Note: desktop app tokens (xoxc-) are internal Slack tokens."),console.log("If API calls fail, replace with an xoxp- token: slack auth login");return}for(let F of u){let E=F.teamName??F.teamId,C=WF(E);_0(C,{token:F.token,team:E,teamId:F.teamId,url:F.url??"",user:"",...F.cookie?{cookie:F.cookie}:{}}),console.log(`Added workspace "${C}": ${E}${F.cookie?" + xoxd cookie":""}`)}if(console.log(""),u.length===1){let F=WF(u[0].teamName??u[0].teamId);console.log(`Run: slack auth use -g ${F}`)}else console.log("Run: slack auth ls then: slack auth use -g <name>");console.log(""),console.log("Note: desktop app tokens (xoxc-) are internal Slack tokens."),console.log("If API calls fail, replace with an xoxp- user token by re-running: slack auth login")}async function r8(D){console.log("Which token type does your app use?"),console.log(""),console.log(" 1) User token (xoxp-) -full access including search [recommended]"),console.log(" 2) Bot token (xoxb-) -search and news unavailable"),console.log("");let F=await Qu(D,"Choice [1/2]: ")==="2"?"bot":"user",E=F==="user"?"xoxp-":"xoxb-",C=F==="user"?"User OAuth Token":"Bot User OAuth Token";console.log(""),console.log("Find your token here:"),console.log(" https://api.slack.com/apps"),console.log(" -> Select your app -> OAuth & Permissions"),console.log(` -> Copy the "${C}" (starts with ${E})`),console.log("");let B=await Qu(D,"Paste your token: ");if(!B)console.error("No token provided."),process.exit(1);if(!B.startsWith(E))console.error(`Expected a ${E} token, got: ${B.slice(0,10)}...`),process.exit(1);await Ou(D,B)}async function HF(D,u){let F=u==="user"?w6():x6(),E=u==="user"?"User OAuth Token (xoxp-...)":"Bot User OAuth Token (xoxb-...)",C=u==="user"?"xoxp-":"xoxb-";if(u==="bot")console.log("Note: bot tokens cannot use search:read (user-only scope)."),console.log(" The news and search commands will not work with a bot token."),console.log("");console.log("Step 1 -Create your Slack app:"),console.log(" Open: https://api.slack.com/apps"),console.log(' Click "Create New App" -> "From a manifest" -> select your workspace'),console.log(" Paste this manifest (JSON tab):"),console.log(""),console.log("-------------------------------------------------------------"),console.log(F),console.log("-------------------------------------------------------------"),console.log(""),console.log('Step 2 -Install: "Install App" -> "Install to Workspace" -> Authorize'),console.log(""),console.log("Step 3 -Copy your token:"),console.log(` OAuth & Permissions -> ${E}`),console.log("");let B=await Qu(D,"Paste your token: ");if(!B)console.error("No token provided."),process.exit(1);if(!B.startsWith(C))console.error(`Expected a ${C} token, got: ${B.slice(0,10)}...`),process.exit(1);await Ou(D,B)}async function a8(D={}){if(process.platform!=="darwin")console.error("Chrome cookie extraction is only supported on macOS."),process.exit(1);let u=XF();if(u.length===0)console.error("No workspaces configured. Run: slack auth login"),process.exit(1);let F;if(D.workspace){if(!u.find((z)=>z.name===D.workspace))console.error(`Workspace "${D.workspace}" not found. Available: ${u.map((z)=>z.name).join(", ")}`),process.exit(1);F=D.workspace}else if(u.length===1)F=u[0].name;else{let $=u.find((z)=>z.current);if($)F=$.name,console.log(`Using active workspace: ${F}`);else{console.log("Multiple workspaces found. Choose one:"),u.forEach((Q,J)=>console.log(` ${J+1}) ${Q.name} (${Q.profile.team})`));let z=Xu({input:process.stdin,output:process.stdout}),Z=(await z.question("Choice: ")).trim();z.close();let G=parseInt(Z,10)-1;if(isNaN(G)||G<0||G>=u.length)console.error("Invalid choice."),process.exit(1);F=u[G].name}}console.log("Scanning Chrome profiles for Slack session..."),console.log("macOS may show a dialog asking for your login password — click Allow.");let E,C;try{({candidates:E,totalProfiles:C}=o8())}catch($){console.error(`Failed: ${$ instanceof Error?$.message:String($)}`),process.exit(1)}if(E.length===0)console.error(`No Slack session found in Chrome (scanned ${C} profile${C!==1?"s":""}). Possible reasons:`),console.error(" - You denied the keychain dialog (try running again and click Allow)"),console.error(" - Chrome is not installed or has no Slack session"),console.error(" - You're not logged in to Slack in Chrome"),process.exit(1);let B;if(E.length===1&&C<=1)B=E[0].cookie,console.log(`Found session in Chrome profile: ${E[0].profileName}`);else{let $=E.length===1?`Found 1 Slack session across ${C} Chrome profiles:`:`Found ${E.length} Slack sessions across ${C} Chrome profiles:`;console.log($),E.forEach((J,O)=>console.log(` ${O+1}) ${J.profileName} [${J.profileDir}]`)),console.log("");let z=Xu({input:process.stdin,output:process.stdout}),Z=E.length===1?" [Enter=1]":"",G=(await z.question(`Choice [1-${E.length}]${Z}: `)).trim();z.close();let Q=G===""&&E.length===1?0:parseInt(G,10)-1;if(isNaN(Q)||Q<0||Q>=E.length)console.error("Invalid choice."),process.exit(1);B=E[Q].cookie}K0(F,B),console.log(`Saved xoxd cookie to workspace "${F}".`),console.log("RTM WebSocket mode is now available: slack tail @you")}async function e8(D={}){let u=XF();if(u.length===0)console.error("No workspaces configured. Run: slack auth token"),process.exit(1);let F;if(D.workspace){if(!u.find(($)=>$.name===D.workspace))console.error(`Workspace "${D.workspace}" not found. Available: ${u.map(($)=>$.name).join(", ")}`),process.exit(1);F=D.workspace}else if(u.length===1)F=u[0].name;else{let B=u.find(($)=>$.current);if(B)F=B.name,console.log(`Using active workspace: ${F}`);else{console.log("Multiple workspaces found. Choose one:"),u.forEach((G,Q)=>console.log(` ${Q+1}) ${G.name} (${G.profile.team})`));let $=Xu({input:process.stdin,output:process.stdout}),z=(await $.question("Choice: ")).trim();$.close();let Z=parseInt(z,10)-1;if(isNaN(Z)||Z<0||Z>=u.length)console.error("Invalid choice."),process.exit(1);F=u[Z].name}}console.log("Scanning Firefox profiles for Slack session...");let E=s8();if(E.length===0)console.error("No Slack session found in Firefox. Possible reasons:"),console.error(" - Firefox is not installed"),console.error(" - You are not logged in to Slack in Firefox"),process.exit(1);let C;if(E.length===1)C=E[0].cookie,console.log(`Found session in Firefox profile: ${E[0].profileName}`);else{console.log("Multiple Firefox profiles have a Slack session. Choose one:"),E.forEach((Z,G)=>console.log(` ${G+1}) ${Z.profileName} [${Z.profileDir}]`));let B=Xu({input:process.stdin,output:process.stdout}),$=(await B.question("Choice: ")).trim();B.close();let z=parseInt($,10)-1;if(isNaN(z)||z<0||z>=E.length)console.error("Invalid choice."),process.exit(1);C=E[z].cookie}K0(F,C),console.log(`Saved xoxd cookie to workspace "${F}".`),console.log("RTM WebSocket mode is now available: slack tail @you")}async function D1(D={}){if(D.token){await Ou(null,D.token,D.name);return}if(!process.stdin.isTTY){let F=[];for await(let C of process.stdin)F.push(C);let E=Buffer.concat(F).toString("utf8").trim();if(!E)console.error("No token provided on stdin."),process.exit(1);await Ou(null,E,D.name);return}let u=Xu({input:process.stdin,output:process.stdout});try{await r8(u)}finally{u.close()}}async function u1(D={}){let u=Xu({input:process.stdin,output:process.stdout});try{if(D.bot!==void 0){await HF(u,D.bot?"bot":"user");return}console.log("Which token type?"),console.log(" 1) User token (xoxp-) -full access including search [default]"),console.log(" 2) Bot token (xoxb-) -search and news unavailable"),console.log("");let F=await Qu(u,"Choice [1/2, Enter=1]: ");await HF(u,F==="2"?"bot":"user")}finally{u.close()}}async function VF(D={}){let u=XF();if(u.length>0){console.log("Currently logged in:");for(let{name:E,profile:C,current:B}of u)console.log(` ${B?"*":" "} ${E} ${C.team} (${C.user||"unknown"})`);console.log(""),console.log("Adding another workspace:"),console.log("")}if(D.token){await Ou(null,D.token,D.name);return}if(!process.stdin.isTTY){let E=[];for await(let B of process.stdin)E.push(B);let C=Buffer.concat(E).toString("utf8").trim();if(!C)console.error("No token provided on stdin."),process.exit(1);await Ou(null,C,D.name);return}console.log("How would you like to authenticate with Slack?"),console.log(""),console.log(" 1) Slack desktop app - import session token"),console.log(" Reads the xoxc- token directly from the installed app."),console.log(" Token: all platforms | xoxd cookie: macOS only"),console.log(""),console.log(" 2) Connect existing Slack app [recommended if you have one]"),console.log(" Paste a token from an app you already created."),console.log(""),console.log(" 3) Create new Slack app - user token (xoxp-)"),console.log(" Guided setup with manifest. Full access including search."),console.log(""),console.log(" 4) Create new Slack app - bot token (xoxb-)"),console.log(" Bot is invited to channels. Search and news unavailable."),console.log("");let F=Xu({input:process.stdin,output:process.stdout});try{let E=await Qu(F,"Choice [1/2/3/4]: ");if(console.log(""),E==="1")await I6(F);else if(E==="2")await r8(F);else if(E==="3")await HF(F,"user");else if(E==="4")await HF(F,"bot");else console.error(`Invalid choice: "${E}". Enter 1, 2, 3, or 4.`),process.exit(1)}finally{F.close()}}async function MF(D,u,F){let E=u,C=[],B=E,$=0;while(!0){let z=B.indexOf("<@U",$);if(z===-1)break;let Z=B.slice(z+2),G=Z.search(/[>|]/),Q=G===-1?Z:Z.slice(0,G);if(Q.length>=9)C.push(Q);$=z+1}for(let z of C){if(!F.has(z))F.set(z,await JF(D,z));let Z=F.get(z)??z;E=E.replaceAll(`<@${z}>`,`@${Z}`),E=E.replace(new RegExp(`<@${z}\\|[^>]*>`,"g"),`@${Z}`)}return E}function UF(D){return D.replace(/<!date\^(\d+)\^[^|>]*(?:\|([^>]*))?>/g,(u,F,E)=>{let C=Number(F);if(!Number.isFinite(C))return E??"date";let B=new Date(C*1000);if(Number.isNaN(B.getTime()))return E??"date";let $=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z=$[B.getUTCDay()]??"",G=z[B.getUTCMonth()]??"";return`${Z}, ${G} ${String(B.getUTCDate()).padStart(2,"0")}, ${B.getUTCFullYear()}`})}function E1(D){let u=typeof D.ts==="string"?D.ts:"",F=typeof D.thread_ts==="string"?D.thread_ts:"";return F!==""&&F!==u}function b6(D){let[u,F="000000"]=D.split("."),E=new Date(Number(u)*1000),C=E.getUTCFullYear(),B=String(E.getUTCMonth()+1).padStart(2,"0"),$=String(E.getUTCDate()).padStart(2,"0"),z=String(E.getUTCHours()).padStart(2,"0"),Z=String(E.getUTCMinutes()).padStart(2,"0"),G=String(E.getUTCSeconds()).padStart(2,"0"),Q=F.padEnd(6,"0").slice(0,6);return`${C}-${B}-${$}T${z}:${Z}:${G}.${Q}`}async function f6(D,u,F){let E=typeof u.ts==="string"?u.ts:"0.000000",C=b6(E),B="?";if(typeof u.user==="string"){let J=u.user,O="@"+J;if(!F.has(O)){let[,W]=await ZF(D,J);F.set(O,W)}B=F.get(O)??J}else if(typeof u.username==="string")B=u.username;let $=typeof u.text==="string"?u.text:"",Z=UF(await MF(D,$,F)).split(`
|
|
106
106
|
`),G=Z[0]+(Z.length>1?`
|
|
107
107
|
`+Z.slice(1).map((J)=>` ${J}`).join(`
|
|
108
|
-
`):""),Q=
|
|
109
|
-
`)}),G.addEventListener("close",()=>Z()),G.addEventListener("error",()=>Z()),G.addEventListener("message",(Q)=>{(async()=>{try{let J;try{J=JSON.parse(String(Q.data))}catch{return}let
|
|
108
|
+
`):""),Q=E1(u)?"↳ ":"";return`${C} ${Q}@${B}: ${G}`}async function h6(D,u,F,E,C,B,$,z){if(z?.aborted)return;return new Promise((Z)=>{let G=new D(F);z?.addEventListener("abort",()=>{G.close(),Z()},{once:!0}),G.addEventListener("open",()=>{process.stderr.write(`Connected via RTM (experimental).
|
|
109
|
+
`)}),G.addEventListener("close",()=>Z()),G.addEventListener("error",()=>Z()),G.addEventListener("message",(Q)=>{(async()=>{try{let J;try{J=JSON.parse(String(Q.data))}catch{return}let O=typeof J.type==="string"?J.type:"";if(O==="ping"){G.send(JSON.stringify({type:"pong",reply_to:J.id??0}));return}if(O!=="message")return;if((typeof J.channel==="string"?J.channel:"")!==E)return;let H=typeof J.ts==="string"?J.ts:"";if(!H||B.has(H))return;let Y=typeof J.subtype==="string"?J.subtype:"";if(Y==="message_changed"||Y==="message_deleted")return;if(C.thread){if((typeof J.thread_ts==="string"?J.thread_ts:H)!==C.thread&&H!==C.thread)return}if(C.watchThread&&E1(J)){if((typeof J.thread_ts==="string"?J.thread_ts:"")!==C.watchThread)return}if(C.me&&C.myUserId){if(!(typeof J.text==="string"?J.text:"").includes(`<@${C.myUserId}>`))return}if(B.add(H),B.size>1000){let j=B.values().next().value;if(j!==void 0)B.delete(j)}let q=await f6(u,J,$);process.stdout.write(q+`
|
|
110
110
|
`)}catch(J){process.stderr.write(`RTM message error: ${J instanceof Error?J.message:String(J)}
|
|
111
|
-
`)}})()})})}var
|
|
111
|
+
`)}})()})})}var F1=3,v6=2000,A0={sleep:(D)=>new Promise((u)=>setTimeout(u,D)),clientBoot:x8,getWebSocket:()=>{let D=globalThis.WebSocket;return typeof D==="function"?D:void 0}};async function C1(D,u,F,E,C,B,$){let z=A0.getWebSocket();if(!z)return;for(let Z=0;Z<F1;Z++){if($?.aborted)return;try{let{wsUrl:G}=await A0.clientBoot(D,u);await h6(z,D,G,F,E,C,B,$)}catch{}if($?.aborted)return;if(Z<F1-1)await A0.sleep(v6)}}function B1(D){let u=D.match(/^(\d+(?:\.\d+)?)(s|m|h|d)$/);if(!u)throw Error(`Invalid --since format: "${D}" (expected e.g. 10m, 2h, 1d)`);let F=parseFloat(u[1]);switch(u[2]){case"s":return F;case"m":return F*60;case"h":return F*3600;case"d":return F*86400}}var SD={sleep:(D)=>new Promise((u)=>setTimeout(u,D)),now:()=>Date.now(),tailRTM:C1};function fD(D){return D&&typeof D==="object"&&!Array.isArray(D)?D:{}}function L0(D){return Array.isArray(D)?D:[]}function $1(D){return Number(D)||0}function z1(D){let u=typeof D.ts==="string"?D.ts:"",F=typeof D.thread_ts==="string"?D.thread_ts:"";return F!==""&&F!==u}function p6(D){let[u,F="000000"]=D.split("."),E=new Date(Number(u)*1000),C=E.getUTCFullYear(),B=String(E.getUTCMonth()+1).padStart(2,"0"),$=String(E.getUTCDate()).padStart(2,"0"),z=String(E.getUTCHours()).padStart(2,"0"),Z=String(E.getUTCMinutes()).padStart(2,"0"),G=String(E.getUTCSeconds()).padStart(2,"0"),Q=F.padEnd(6,"0").slice(0,6);return`${C}-${B}-${$}T${z}:${Z}:${G}.${Q}`}async function m6(D,u,F,E){let C=typeof u.ts==="string"?u.ts:"0.000000",B=p6(C),$="?";if(typeof u.user==="string"){let W=u.user,H="@"+W;if(!F.has(H)){let[,Y]=await ZF(D,W);F.set(H,Y)}$=F.get(H)??W}else if(typeof u.username==="string")$=u.username;let z=typeof u.text==="string"?u.text:"",G=UF(await MF(D,z,F)).split(`
|
|
112
112
|
`),Q=G[0]+(G.length>1?`
|
|
113
113
|
`+G.slice(1).map((W)=>` ${W}`).join(`
|
|
114
|
-
`):""),J=
|
|
114
|
+
`):""),J=z1(u)?"↳ ":"",O=E?`${E} @${$}`:`@${$}`;return`${B} ${J}${O}: ${Q}`}async function y6(D,u,F,E,C,B,$){let z=fD(await J0(D,u,20,$?void 0:F||void 0,$)),Z=L0(z.messages).map(fD).reverse(),G=fD(z.response_metadata),Q=z.has_more===!0&&typeof G.next_cursor==="string"?G.next_cursor:void 0,J=[];if(E.watchThread&&!$){let q=fD(await S8(D,u,E.watchThread,50));J=L0(q.messages).map(fD).filter((j)=>(typeof j.ts==="string"?j.ts:"")!==E.watchThread)}let O=[...Z.map((q)=>({m:q,fromHistory:!0})),...J.map((q)=>({m:q,fromHistory:!1}))].sort((q,j)=>$1(typeof q.m.ts==="string"?q.m.ts:"")-$1(typeof j.m.ts==="string"?j.m.ts:"")),W=[],H=F,Y=!1;for(let{m:q,fromHistory:j}of O){let N=typeof q.ts==="string"?q.ts:"";if(!N||C.has(N))continue;let k=typeof q.subtype==="string"?q.subtype:"";if(k==="message_changed"||k==="message_deleted")continue;if(E.thread){if((typeof q.thread_ts==="string"?q.thread_ts:N)!==E.thread&&N!==E.thread)continue}if(E.watchThread&&z1(q)){if((typeof q.thread_ts==="string"?q.thread_ts:"")!==E.watchThread)continue}if(E.me&&E.myUserId){if(!(typeof q.text==="string"?q.text:"").includes(`<@${E.myUserId}>`))continue}if(C.add(N),C.size>1000){let c=C.values().next().value;if(c!==void 0)C.delete(c)}if(W.push(await m6(D,q,B)),j)H=N;let w=typeof q.user==="string"?q.user:"";if(!E.myUserId||w!==E.myUserId)Y=!0}return{newCursor:H,lines:W,hasMore:z.has_more===!0,nextPageCursor:Q,emittedOther:Y}}function c6(D){if(D.includes("slack.com")){let u=X0(D),F=u?.threadTs??u?.ts;if(F)return F;throw Error(`--watch-thread: could not extract a timestamp from "${D}"`)}if(/^\d{10}\.\d{6}$/.test(D))return D;if(/^\d{16}$/.test(D))return`${D.slice(0,10)}.${D.slice(10)}`;throw Error(`--watch-thread: "${D}" is not a valid ts or permalink`)}async function G1(D,u,F={},E){if(F.me&&!u)console.error(`slack tail --me requires a <target> channel.
|
|
115
115
|
Cross-channel mention streaming is not yet supported.
|
|
116
|
-
Use: slack tail "#channel" --me`),process.exit(1);if(!u)console.error("Usage: slack tail <#channel|@user>\n Run `slack tail --help` for details."),process.exit(1);let C=await
|
|
116
|
+
Use: slack tail "#channel" --me`),process.exit(1);if(!u)console.error("Usage: slack tail <#channel|@user>\n Run `slack tail --help` for details."),process.exit(1);let C=await P8(D,u),B=F.interval??60000,$=F.timeout?SD.now()+B1(F.timeout)*1000:1/0,z=new Map,Z=new Set;try{let Y=fD(await w8(D,C));if(fD(Y.channel).is_archived===!0)console.error("Warning: this channel is archived — no new messages will arrive.")}catch(Y){let q=Y instanceof Error?Y.message:String(Y);if(q.includes("not_in_channel"))console.error("Error: you are not a member of that channel. Join it in Slack first, then retry."),process.exit(1);if(q.includes("missing_scope"))console.error("Error: token lacks the required history scope. Check your token's channels:history (or groups:history) permission."),process.exit(1);if(q.includes("channel_not_found"))console.error("Error: channel not found — it may be a private channel inaccessible with your token."),process.exit(1);console.error(`Warning: preflight check failed: ${q}`)}let G="";if(F.since){let Y=B1(F.since);G=(SD.now()/1000-Y).toFixed(6)}else{let Y=fD(await J0(D,C,1)),q=L0(Y.messages).map(fD);if(q.length>0&&typeof q[0]?.ts==="string")G=q[0].ts,Z.add(G);else G=(SD.now()/1000).toFixed(6)}let Q;if(F.me||F.exitOnMessage)Q=(await GF(D)).userId||void 0;let J;if(F.watchThread!==void 0)try{J=c6(F.watchThread)}catch(Y){console.error(Y instanceof Error?Y.message:String(Y)),process.exit(1)}let O={...F.thread!==void 0?{thread:F.thread}:{},...J!==void 0?{watchThread:J}:{},...F.me!==void 0?{me:F.me}:{},...Q!==void 0?{myUserId:Q}:{}};if(D.startsWith("xoxc-")&&F.cookie!==void 0&&F.noRtm!==!0&&F.since===void 0&&F.timeout===void 0&&F.exitOnMessage!==!0){if(await SD.tailRTM(D,F.cookie,C,O,Z,z,E),E?.aborted)return;console.error("RTM unavailable — switching to polling.")}let W=!0,H=SD.now();while(!E?.aborted){if(SD.now()>=$)return;let Y=!1;try{let N=SD.now()-H,k=B>0&&N>B*5,w,c=!0;do{let{newCursor:e,lines:s,nextPageCursor:_D,emittedOther:i}=await y6(D,C,G,O,Z,z,w);if(G=e,W&&c&&F.since&&s.length===0)process.stdout.write(`(no messages in the last ${F.since} — watching for new)
|
|
117
117
|
`);c=!1;for(let tD of s)process.stdout.write(tD+`
|
|
118
|
-
`);if(i)
|
|
118
|
+
`);if(i)Y=!0;w=k?_D:void 0}while(w);W=!1}catch(j){if(j instanceof dD){console.error(`Warning: Slack rate limit hit — backing off for ${j.retryAfter}s`),await SD.sleep(j.retryAfter*1000);continue}throw j}if(F.exitOnMessage&&Y)return;H=SD.now();let q=$-SD.now();if(q<=0)return;await SD.sleep(Math.min(B,q))}}class Iu extends Error{retryAfter;constructor(D){super(`Slack rate limited — retry after ${D}s`);this.name="RateLimitError",this.retryAfter=D}}function Z1(){return(process.env.SLACK_API_BASE??"https://slack.com/api").replace(/\/$/,"")}async function J1(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${Z1()}/${u}`,{...F,headers:{...F.headers??{},Authorization:`Bearer ${D}`,...C}});if(B.status===429){let z=parseInt(B.headers.get("retry-after")??"60",10);throw new Iu(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new Iu(60);if(z==="invalid_auth"&&D.startsWith("xoxc-")&&!E)throw Error(`Desktop app token (xoxc-) is not accepted by the public Slack API.
|
|
119
119
|
Replace it with an xoxp- user token:
|
|
120
|
-
slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function
|
|
120
|
+
slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function g6(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${Z1()}/${u}`,{...F,headers:{...F.headers??{},Authorization:`Bearer ${D}`,...C}});if(B.status===429){let z=parseInt(B.headers.get("retry-after")??"60",10);throw new Iu(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new Iu(60);if((z==="invalid_auth"||z==="not_authed")&&!D.startsWith("xoxc-"))throw Error(`The draft API requires a desktop app session token (xoxc-).
|
|
121
121
|
Import from Slack desktop: slack workspace import`);if((z==="invalid_auth"||z==="not_authed")&&!E)throw Error(`drafts.list also requires the xoxd session cookie.
|
|
122
122
|
Set it with: slack workspace set-cookie <workspace-name> <xoxd-value>
|
|
123
|
-
`+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function Ku(D,u,F={},E){let C=new URLSearchParams({token:D,...F});return
|
|
124
|
-
`)){let
|
|
125
|
-
`)
|
|
123
|
+
`+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function Ku(D,u,F={},E){let C=new URLSearchParams({token:D,...F});return g6(D,u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:C.toString()},E)}function BD(D,u,F,E){let C=new URLSearchParams(F).toString();return J1(D,`${u}?${C}`,{method:"GET"},E)}function Yu(D,u,F){return J1(D,u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(F)})}async function X1(D){let u=await BD(D,"auth.test",{});return{team:u.team??"",teamId:u.team_id??"",url:u.url??"",user:u.user??"",userId:u.user_id??""}}async function fu(D,u,F=20,E,C){let B={channel:u,limit:String(F)};if(E!==void 0)B.oldest=E;if(C!==void 0)B.cursor=C;return BD(D,"conversations.history",B)}async function ju(D,u,F,E=50){return BD(D,"conversations.replies",{channel:u,ts:F,limit:String(E)})}async function Q1(D,u,F,E){return BD(D,"search.messages",{query:u,sort:"timestamp",sort_dir:"desc",count:String(Math.min(Math.max(F,1),100)),page:String(Math.max(E,1))})}async function O1(D,u){return Q1(D,u,100,1)}async function Y1(D,u,F){let C=1,B=[],$={ok:!0,messages:{}};while(!0){let Z=await Q1(D,u,100,C),G=bu(Z,["messages","matches"]),Q=Array.isArray(G)?G:[];B.push(...Q);let J=Number(bu(Z,["messages","paging","pages"])??1);if($=Z,Q.length===0||C>=J||B.length>=F)break;C+=1}let z=$;if(!z.messages)z.messages={};return z.messages.matches=B.slice(0,F),z}async function W1(D,u,F,E,C){let B={channel:u,text:F,blocks:[{type:"markdown",text:F}]};if(E!==void 0)B.thread_ts=E;if(C&&E!==void 0)B.reply_broadcast=!0;return(await Yu(D,"chat.postMessage",B)).ts??""}async function H1(D,u,F,E,C){let B={channel:u,text:F,post_at:E,blocks:[{type:"markdown",text:F}]};if(C!==void 0)B.thread_ts=C;return(await Yu(D,"chat.scheduleMessage",B)).scheduled_message_id??""}async function V1(D,u){let F={};if(u)F.channel=u;return BD(D,"chat.scheduledMessages.list",F)}async function M1(D,u,F){await Yu(D,"chat.deleteScheduledMessage",{channel:u,scheduled_message_id:F})}async function U1(D,u,F){return(await BD(D,"chat.getPermalink",{channel:u,message_ts:F})).permalink??""}async function q1(D,u,F,E){return(await Yu(D,"chat.update",{channel:u,ts:F,text:E,blocks:[{type:"markdown",text:E}]})).ts??F}async function _1(D,u,F){await Yu(D,"chat.delete",{channel:u,ts:F})}async function qF(D){let u=[],F="";while(!0){let E={limit:"200",types:"public_channel,private_channel,im,mpim"};if(F)E.cursor=F;let C=await BD(D,"conversations.list",E);if(u.push(...C.channels??[]),F=C.response_metadata?.next_cursor??"",!F)break}return{channels:u}}async function hu(D,u){let E=(await Yu(D,"conversations.open",{users:u})).channel?.id;if(!E)throw Error(`Failed to open DM with user ${u}`);return E}function xD(D){return D.toLowerCase().replace(/[-_\s]/g,"")}async function K1(D,u,F){if(!u.startsWith("@")){if(/^[UW][A-Za-z0-9]{6,}$/.test(u))return u;throw Error(`Expected @user or a user ID, got: ${u}`)}let E=xD(u.slice(1)),C=await BD(D,"auth.test",{},F);if(E==="you"||E==="me"||xD(C.user??"")===E){if(!C.user_id)throw Error("auth.test did not return user_id");return C.user_id}let B="";while(!0){let $={limit:"200"};if(B)$.cursor=B;let z=await BD(D,"users.list",$,F);for(let Z of z.members??[]){let G=xD(Z.name??""),Q=xD(Z.real_name??""),J=xD(Z.profile?.display_name??"");if(G===E||Q===E||J&&J===E)return Z.id??""}if(B=z.response_metadata?.next_cursor??"",!B)break}throw Error(`User not found: ${u}`)}function vu(D){let u=D.match(/(?:app\.slack\.com\/client\/T[A-Za-z0-9]+|[A-Za-z0-9-]+\.slack\.com\/archives)\/([A-Za-z0-9]+)(?:\/p(\d{10})(\d{6}))?/);if(!u)return;let F=u[1],E=u[2]&&u[3]?`${u[2]}.${u[3]}`:void 0,C=D.indexOf("?"),B=C>=0?new URLSearchParams(D.slice(C)):void 0,$=B?.get("thread_ts")??void 0,G={channel:B?.get("cid")??void 0??F};if(E)G.ts=E;if($)G.threadTs=$;return G}function k6(D){return vu(D)?.channel}async function ND(D,u,F){let E=k6(u);if(E)return E;if(!u.startsWith("@")&&!u.startsWith("#")){if(/^[A-Za-z0-9]{9,}$/.test(u))return u;throw Error(`Target must start with # or @ (or be a Slack URL/ID), got: ${u}`)}let C=u.startsWith("@"),B=u.slice(1),$=xD(B);if(C){let G=await BD(D,"auth.test",{},F);if($==="you"||$==="me"||xD(G.user??"")===$){let H=G.user_id;if(!H)throw Error("auth.test did not return user_id");let q=((await BD(D,"conversations.list",{types:"im",limit:"200"},F)).channels??[]).find((j)=>j.user===H);if(q?.id)return String(q.id);return hu(D,H)}let J="",O="";while(!0){let H={limit:"200"};if(O)H.cursor=O;let Y=await BD(D,"users.list",H,F);for(let q of Y.members??[]){let j=xD(q.name??""),N=xD(q.real_name??""),k=xD(q.profile?.display_name??"");if(j===$||N===$||k&&k===$){J=q.id??"";break}}if(J)break;if(O=Y.response_metadata?.next_cursor??"",!O)break}if(!J)throw Error(`User not found: ${u}`);let W="";while(!0){let H={types:"im",limit:"200"};if(W)H.cursor=W;let Y=await BD(D,"conversations.list",H,F);for(let q of Y.channels??[])if(q.user===J)return String(q.id??"");if(W=Y.response_metadata?.next_cursor??"",!W)break}throw Error(`No existing DM with ${u} (${J}). Open it once in Slack first.`)}let z=B.toLowerCase(),Z="";while(!0){let G={limit:"200",types:"public_channel,private_channel",exclude_archived:"true"};if(Z)G.cursor=Z;let Q=await BD(D,"conversations.list",G,F);for(let J of Q.channels??[])if(String(J.name??"").toLowerCase()===z)return String(J.id??"");if(Z=Q.response_metadata?.next_cursor??"",!Z)break}throw Error(`channel not found: ${u}`)}async function pu(D,u){try{let F=await BD(D,"users.info",{user:u}),E=F.user?.profile?.display_name,C=E&&E.length>0?E:F.user?.real_name??F.user?.name??u,B=F.user?.name??u;return[C,B]}catch{return[u,u]}}async function mu(D,u){try{let F=await BD(D,"users.info",{user:u}),E=F.user?.profile?.display_name;if(E&&E.length>0)return E;return F.user?.real_name??F.user?.name??u}catch{return u}}async function N0(D){let u=[],F="";while(!0){let E={limit:"200"};if(F)E.cursor=F;let C=await BD(D,"users.list",E);if(u.push(...C.members??[]),F=C.response_metadata?.next_cursor??"",!F)break}return{members:u}}async function yu(D,u){return Ku(D,"drafts.list",{},u)}async function j1(D,u,F,E){let{randomUUID:C}=await import("node:crypto"),B=JSON.stringify([{type:"rich_text",elements:[{type:"rich_text_section",elements:[{type:"text",text:F}]}]}]);return Ku(D,"drafts.create",{client_msg_id:C(),destinations:JSON.stringify([{channel_id:u}]),blocks:B,file_ids:JSON.stringify([]),is_from_composer:"true"},E)}async function A1(D,u,F,E,C){let B=JSON.stringify([{type:"rich_text",elements:[{type:"rich_text_section",elements:[{type:"text",text:E}]}]}]),$=(Date.now()/1000).toFixed(6);return Ku(D,"drafts.update",{draft_id:u,client_last_updated_ts:$,destinations:JSON.stringify([{channel_id:F}]),blocks:B,file_ids:JSON.stringify([])},C)}async function L1(D,u,F){return Ku(D,"conversations.info",{channel:u},F)}async function N1(D,u){return BD(D,"users.info",{user:u})}async function R0(D,u){return BD(D,"conversations.info",{channel:u})}async function R1(D,u,F){let E=(Date.now()/1000).toFixed(6);return Ku(D,"drafts.delete",{draft_id:u,client_last_updated_ts:E},F)}async function T0(D,u){let F=await Ku(D,"auth.test",{},u);return{userId:String(F.user_id??""),teamId:String(F.team_id??"")}}async function T1(D,u,F,E={}){let{statSync:C,readFileSync:B}=await import("node:fs"),{basename:$}=await import("node:path"),z=C(F),Z=$(F),G=await BD(D,"files.getUploadURLExternal",{filename:Z,length:String(z.size)}),Q=G.upload_url,J=G.file_id;if(!Q||!J)throw Error("files.getUploadURLExternal returned no upload_url/file_id");let O=B(F),W=await fetch(Q,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:O});if(!W.ok)throw Error(`Upload PUT failed: ${W.status} ${W.statusText}`);let H={files:[{id:J,title:E.title??Z}],channel_id:u};if(E.threadTs)H.thread_ts=E.threadTs;if(E.initialComment)H.initial_comment=E.initialComment;let Y=await Yu(D,"files.completeUploadExternal",H),q={fileId:J},j=Y.files?.[0]?.permalink;if(j)q.permalink=j;return q}function bu(D,u){let F=D;for(let E of u){if(F===void 0||F===null)return;if(typeof E==="number"){if(!Array.isArray(F))return;F=F[E]??void 0}else{if(typeof F!=="object"||Array.isArray(F))return;F=F[E]}}return F}function S1(){return/(?<![A-Za-z0-9._@-])@([A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*)/g}function P1(D){return D.toLowerCase().replace(/[-_\s]/g,"")}function _F(D){return D&&typeof D==="object"&&!Array.isArray(D)?D:{}}function w1(D,u){let F=P1(u),E=_F(D.profile);for(let B of[D.name,D.real_name,E.display_name,E.real_name])if(typeof B==="string"&&B&&P1(B)===F)return!0;let C=typeof E.email==="string"?E.email.toLowerCase():"";return C!==""&&C===u.toLowerCase()}async function P0(D,u,F,E={}){let C=E.warn??((Q)=>process.stderr.write(`${Q}
|
|
124
|
+
`)),B=new Set;for(let Q of u.matchAll(S1()))B.add(Q[1]);if(B.size===0)return u;let $=new Map,Z=((await Q0(D)).members??[]).map(_F),G=[];for(let Q of B){let J=Z.find((W)=>w1(W,Q)),O=J&&typeof J.id==="string"?J.id:"";if(O)$.set(Q,O);else G.push(Q)}if(G.length>0&&F){let Q=await O0(D,F),J=[];for(let O of Q){let W=_F(await Y0(D,O)),H=_F(W.user);if(typeof H.id!=="string")H.id=O;J.push(H)}for(let O of G){let W=J.find((Y)=>w1(Y,O)),H=W&&typeof W.id==="string"?W.id:"";if(H)$.set(O,H)}}for(let Q of B)if(!$.has(Q))C(`warn: unresolved mention @${Q} (left as text)`);return u.replace(S1(),(Q,J)=>{let O=$.get(J);return O?`<@${O}>`:Q})}async function Au(D,u,F){let E=u,C=[],B=E,$=0;while(!0){let z=B.indexOf("<@U",$);if(z===-1)break;let Z=B.slice(z+2),G=Z.search(/[>|]/),Q=G===-1?Z:Z.slice(0,G);if(Q.length>=9)C.push(Q);$=z+1}for(let z of C){if(!F.has(z))F.set(z,await JF(D,z));let Z=F.get(z)??z;E=E.replaceAll(`<@${z}>`,`@${Z}`),E=E.replace(new RegExp(`<@${z}\\|[^>]*>`,"g"),`@${Z}`)}return E}function cu(D){return D.replace(/<!date\^(\d+)\^[^|>]*(?:\|([^>]*))?>/g,(u,F,E)=>{let C=Number(F);if(!Number.isFinite(C))return E??"date";let B=new Date(C*1000);if(Number.isNaN(B.getTime()))return E??"date";let $=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z=$[B.getUTCDay()]??"",G=z[B.getUTCMonth()]??"";return`${Z}, ${G} ${String(B.getUTCDate()).padStart(2,"0")}, ${B.getUTCFullYear()}`})}function x1(D,u=new Date){let F=new Date(D*1000),E=S0(u),C=S0(new Date(u.getTime()-86400000)),B=S0(F);if(B===E)return"Today";if(B===C)return"Yesterday";let $=F.toLocaleDateString("en-US",{weekday:"long"}),z=F.toLocaleDateString("en-US",{month:"short"});return`${$}, ${z} ${String(F.getDate()).padStart(2,"0")}`}function S0(D){return`${D.getFullYear()}-${D.getMonth()}-${D.getDate()}`}function I1(D){let u=new Date(D*1000),F=u.getFullYear(),E=String(u.getMonth()+1).padStart(2,"0"),C=String(u.getDate()).padStart(2,"0"),B=String(u.getHours()).padStart(2,"0"),$=String(u.getMinutes()).padStart(2,"0");return`${F}-${E}-${C} ${B}:${$}`}function gu(D){if(!f1(D))return;let u=i6(D,"utf8");for(let F of u.split(`
|
|
125
|
+
`)){let E=F.trim();if(!E||E.startsWith("#"))continue;let C=E.indexOf("=");if(C===-1)continue;let B=E.slice(0,C).trim(),$=E.slice(C+1).trim();if($.startsWith('"')&&$.endsWith('"')||$.startsWith("'")&&$.endsWith("'"))$=$.slice(1,-1);if(!(B in process.env))process.env[B]=$}}function l6(D){n6(D,{recursive:!0});let u=Wu(D,".gitignore");if(!f1(u))t6(u,`*
|
|
126
|
+
`)}function o6(){gu(Wu(b1(),".slack-cli",".env.local")),gu(Wu(b1(),".config/slack-cli",".env")),gu(Wu(process.cwd(),".slack-cli",".env.local")),gu(Wu(process.cwd(),".env.local")),gu(Wu(process.cwd(),".env"))}function s6(D){return d6("sha256").update(D).digest("hex")}function y(D){return D&&typeof D==="object"&&!Array.isArray(D)?D:{}}function a(D){return Array.isArray(D)?D:[]}function KF(D){return Number(D.ts??0)}async function h1(D,u,F){let E=u.user;if(typeof E==="string"){if(!F.has(E))F.set(E,await mu(D,E));return F.get(E)??E}return typeof u.username==="string"?u.username:"bot"}function w0(D){let u=new Date(D*1000),F=u.getUTCFullYear(),E=String(u.getUTCMonth()+1).padStart(2,"0"),C=String(u.getUTCDate()).padStart(2,"0"),B=String(u.getUTCHours()).padStart(2,"0"),$=String(u.getUTCMinutes()).padStart(2,"0"),z=String(u.getUTCSeconds()).padStart(2,"0");return`${F}-${E}-${C} ${B}:${$}:${z}`}function x0(D){let[u,F="000000"]=D.split("."),E=Number(u),C=new Date(E*1000),B=C.getUTCFullYear(),$=String(C.getUTCMonth()+1).padStart(2,"0"),z=String(C.getUTCDate()).padStart(2,"0"),Z=String(C.getUTCHours()).padStart(2,"0"),G=String(C.getUTCMinutes()).padStart(2,"0"),Q=String(C.getUTCSeconds()).padStart(2,"0"),J=F.padEnd(6,"0").slice(0,6);return`${B}-${$}-${z}T${Z}:${G}:${Q}.${J}`}function I0(D){let u=D.match(/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})\.(\d{6})$/);if(!u)throw Error(`Invalid message timestamp "${D}" \u2014 expected 2026-05-11T06:01:04.000100`);let F=Date.parse(u[1]+"Z");if(isNaN(F))throw Error(`Cannot parse date in "${D}"`);return`${Math.floor(F/1000)}.${u[2]}`}function r6(D){return/^\d{4}-\d{2}-\d{2}T/.test(D)?I0(D):D}async function AF(D,u,F,E){let C=typeof u.ts==="string"?u.ts:`${KF(u)}.000000`,B=x0(C),$="?";if(typeof u.user==="string"){let H=u.user,Y="@"+H;if(!F.has(Y)){let[,q]=await pu(D,H);F.set(Y,q)}$=F.get(Y)??H}else if(typeof u.username==="string")$=u.username;let z=typeof u.text==="string"?u.text:"",G=cu(await Au(D,z,F)).split(`
|
|
126
127
|
`),Q=G[0]+(G.length>1?`
|
|
127
128
|
`+G.slice(1).map((H)=>` ${H}`).join(`
|
|
128
|
-
`):""),J=E?`${E} @${$}`:`@${$}`,
|
|
129
|
-
${
|
|
130
|
-
`)[0]??"",
|
|
131
|
-
`)[0]?.slice(0,60)}`:"";console.log(`${
|
|
132
|
-
`);for(let
|
|
133
|
-
`).join(" \u21B5 ");console.log(`[${
|
|
134
|
-
`))console.log(` ${N}`)}}async function
|
|
135
|
-
`)).slice(0,4)}function nD(D,u,F){for(let E of F)console.log(E);if(D!==void 0)console.error(`Code mismatch (got ${D}, expected ${u})`);console.error(`Rerun with --code=${u}`),process.exit(1)}function
|
|
136
|
-
`)[0]??"",Z=z.length>40?`${z.slice(0,40)}\u2026`:z;return`${
|
|
137
|
-
`).map((
|
|
138
|
-
`).map((
|
|
139
|
-
`).map((J)=>` ${J}`),"---------------------------------------------"])}await
|
|
140
|
-
`+` To reach yourself with a notification, send as the bot: slack send '${F}' '...' --as-bot`);let C;if(u.channelId)C=u.channelId;else if(u.userId)C=await hu(D,u.userId);else C=await ND(D,F);let B=""
|
|
141
|
-
`)[0]?.slice(0,100)??"(empty)"}`,"--- Sending ----------------------------------",
|
|
142
|
-
`)[0]?.slice(0,80)??""}`)}}async function
|
|
143
|
-
`),await
|
|
129
|
+
`):""),J=E?`${E} @${$}`:`@${$}`,O=a(u.reactions).map(y).map((H)=>{let Y=typeof H.name==="string"?H.name:"",q=Number(H.count??a(H.users).length??0);return Y?`:${Y}:\xD7${q}`:""}).filter(Boolean).join(" "),W=O?`
|
|
130
|
+
${O}`:"";return`${B} ${J}: ${Q}${W}`}function v1(D){return{ts:D.ts??null,user:D.user??null,username:D.username??null,bot_id:D.bot_id??null,thread_ts:D.thread_ts??null,text:typeof D.text==="string"?D.text:""}}async function a6(D,u,F,E="text"){let C=vu(u),B=await ND(D,u),$=new Map,Z=await(async()=>{if(C?.threadTs){let Q=await ju(D,B,C.threadTs,F);return a(Q.messages).map(y)}let G=await fu(D,B,F);return a(G.messages).map(y).reverse()})();if(E==="jsonl"){for(let G of Z)console.log(JSON.stringify(v1(G)));return}for(let G of Z)console.log(await AF(D,G,$))}async function e6(D,u,F,E,C="text"){let B=await ND(D,u),$=await ju(D,B,r6(F),E),z=a($.messages).map(y);if(C==="jsonl"){for(let G of z)console.log(JSON.stringify(v1(G)));return}let Z=new Map;for(let G of z)console.log(await AF(D,G,Z))}async function D7(D){let u=await qF(D),F=a(u.channels).map(y).filter((C)=>C.is_member===!0).sort((C,B)=>Number(B.updated??0)-Number(C.updated??0)).slice(0,10),E=new Map;for(let C of F){let B=String(C.id??""),$=typeof C.name==="string"?C.name:typeof C.user==="string"?C.user:B,z=await fu(D,B,5),Z=a(z.messages).map(y).filter((G)=>G.subtype===void 0||G.subtype===null).filter((G)=>{let Q=typeof G.text==="string"?G.text:"";return Q.length>0&&!Q.startsWith("<@")}).slice(0,3).reverse();if(Z.length===0)continue;console.log(`-- #${$} --------------------------------`);for(let G of Z){let Q=await h1(D,G,E),J=(typeof G.text==="string"?G.text:"").split(`
|
|
131
|
+
`)[0]??"",O=await Au(D,J,E);console.log(` ${Q}: ${O}`)}}}async function u7(D,u){let F=await O1(D,"to:me"),E=a(bu(F,["messages","matches"])).map(y).slice(0,u),C=new Map,B=[];for(let $ of E){let z=x1(KF($)),Z=B[B.length-1];if(Z?.label===z)Z.msgs.push($);else B.push({label:z,msgs:[$]})}for(let $=0;$<B.length;$++){let{label:z,msgs:Z}=B[$];if($>0)console.log("");console.log(` ${z}`),console.log(" ----------------------------");for(let G of[...Z].reverse()){let Q=y(G.channel),J=Q.is_im===!0,O=typeof Q.name==="string"?Q.name:"dm",W;if(J&&O.startsWith("U")){let H="@"+O;if(!C.has(H)){let[,Y]=await pu(D,O);C.set(H,Y)}W=`@${C.get(H)??O}`}else if(J)W=`@${O}`;else W=`#${O}`;console.log(await AF(D,G,C,W))}}}async function F7(D,u,F,E,C="text"){let B=await qF(D),$=a(B.channels).map(y).filter((z)=>E||z.is_member===!0).filter((z)=>{if(!F)return!0;return(typeof z.name==="string"?z.name:"").toLowerCase().includes(F.toLowerCase())}).sort((z,Z)=>Number(Z.updated??0)-Number(z.updated??0)).slice(0,u);if(C==="jsonl"){for(let z of $)console.log(JSON.stringify(z));return}for(let z of $){let Z=String(z.id??""),G=typeof z.name==="string"?z.name:typeof z.user==="string"?z.user:Z,Q=z.is_im===!0,J=z.is_mpim===!0,O=Q||J?"@":"#",W=z.is_member===!0?"":" (not joined)",H=typeof y(z.purpose).value==="string"?String(y(z.purpose).value):"",Y=H?` ${H.split(`
|
|
132
|
+
`)[0]?.slice(0,60)}`:"";console.log(`${O}${G} ${Z}${W}${Y}`)}}async function E7(D,u,F,E){let C=await Y1(D,u,F);if(E){console.log(JSON.stringify(C,null,2));return}let B=a(bu(C,["messages","matches"])).map(y),$=new Map;for(let z of B){let Z=y(z.channel),G=Z.is_im===!0,Q=typeof Z.name==="string"?Z.name:"dm",J;if(G&&Q.startsWith("U")){let O="@"+Q;if(!$.has(O)){let[,W]=await pu(D,Q);$.set(O,W)}J=`@${$.get(O)??Q}`}else if(G)J=`@${Q}`;else J=`#${Q}`;console.log(await AF(D,z,$,J))}}async function C7(D,u,F,E){let C=Math.floor(Date.now()/1000)-u*86400,B=await qF(D),$=a(B.channels).map(y).filter((Q)=>Q.is_member===!0&&Q.is_im!==!0&&Q.is_mpim!==!0).filter((Q)=>{if(!E)return!0;return(typeof Q.name==="string"?Q.name:"").toLowerCase().includes(E.toLowerCase())}).sort((Q,J)=>Number(J.updated??0)-Number(Q.updated??0)),z=new Map,Z=0,G=0;for(let Q of $){let J=String(Q.id??""),O=typeof Q.name==="string"?Q.name:J,W;try{W=await fu(D,J,F)}catch(Y){console.error(` SKIP #${O}: ${Y.message}`);continue}let H=a(W.messages).map(y).filter((Y)=>(Y.subtype===void 0||Y.subtype===null)&&KF(Y)>=C);if(H.length===0)continue;G+=1,Z+=H.length,console.log(`## #${O} (${H.length} msgs)
|
|
133
|
+
`);for(let Y of[...H].reverse()){let q=await h1(D,Y,z),j=typeof Y.text==="string"?Y.text:"",k=cu(await Au(D,j,z)).split(`
|
|
134
|
+
`).join(" \u21B5 ");console.log(`[${I1(KF(Y))}] ${q}: ${k}`)}console.log("")}console.error(`Dumped ${Z} messages across ${G} channels (cutoff: ${u}d)`)}function B7(D){let u=[];function F(E){if(typeof E==="string"){u.push(E);return}if(Array.isArray(E)){for(let C of E)F(C);return}if(E&&typeof E==="object"){let C=E;if(typeof C.text==="string"){u.push(C.text);return}if(Array.isArray(C.elements))F(C.elements);else if(Array.isArray(C.content))F(C.content)}}for(let E of D)F(E);return u.join("").trim()}async function p1(D,u,F){let E=new Map;return async(C)=>{if(!C)return"(unknown)";if(E.has(C))return E.get(C);try{let B=await L1(D,C,u),$=y(B.channel),z;if($.is_im===!0){let Z=typeof $.user==="string"?$.user:"";if(!Z||Z===F)z="@self";else{let[G]=await pu(D,Z);z=`@${G}`}}else z=`#${typeof $.name==="string"?$.name:C}`;return E.set(C,z),z}catch{return C}}}function b0(D){let u=y(a(D.destinations)[0]);return String(u.channel_id??D.channel_id??D.channel??"")}function jF(D){return B7(a(D.blocks))||(typeof D.text==="string"?D.text:"(no text)")}async function $7(D,u,F=!1){let E=await yu(D,u),C=a(E.drafts??E.messages??[]).map(y).filter((G)=>G.is_deleted!==!0),B=F?C:C.filter((G)=>G.is_sent!==!0);if(B.length===0){console.log(F?"No drafts.":"No pending drafts. Run with --all to include sent.");return}let $="";try{({userId:$}=await T0(D,u))}catch{}let z=await p1(D,u,$),Z=new Map;for(let G of B){let Q=b0(G),J=jF(G),O=Number(G.date_created??G.date_create??0),W=O?w0(O):"?",H=await z(Q),Y=typeof G.id==="string"?G.id:"",q=G.is_sent===!0?" [SENT]":"",j=cu(await Au(D,J,Z));console.log(`-- ${Y} ${H} [${W}]${q}`);for(let N of j.split(`
|
|
135
|
+
`))console.log(` ${N}`)}}async function z7(D,u,F){let E=await yu(D,u),C=a(E.drafts).map(y).find((H)=>String(H.id)===F);if(!C)console.error(`Draft not found: ${F}`),process.exit(1);let B="";try{({userId:B}=await T0(D,u))}catch{}let $=await p1(D,u,B),z=b0(C),Z=jF(C),G=Number(C.date_created??0),Q=String(C.last_updated_ts??"?"),J=await $(z),W=cu(await Au(D,Z,new Map));console.log(`id: ${C.id}`),console.log(`channel: ${J} (${z})`),console.log(`created: ${G?w0(G):"?"}`),console.log(`updated: ${w0(Number(Q.split(".")[0]))}`),console.log(`status: ${C.is_sent===!0?"sent":"pending"}`),console.log("---"),console.log(W)}function iD(...D){return s6(D.join(`
|
|
136
|
+
`)).slice(0,4)}function nD(D,u,F){for(let E of F)console.log(E);if(D!==void 0)console.error(`Code mismatch (got ${D}, expected ${u})`);console.error(`Rerun with --code=${u}`),process.exit(1)}function m1(D){let u=vu(D);if(u)return u.ts?{ref:u.channel,ts:u.ts}:{ref:u.channel};if(D.startsWith("#")||D.startsWith("@")){let F=D.indexOf(":");if(F>0){let E=D.slice(F+1);if(/^\d{10}\.\d{6}$/.test(E))return{ref:D.slice(0,F),ts:E};if(/^\d{4}-\d{2}-\d{2}T/.test(E))return{ref:D.slice(0,F),ts:I0(E)}}}return{ref:D}}function f0(D){let u=vu(D);if(u){let E=u.threadTs??u.ts;return E?{ref:u.channel,threadTs:E}:{ref:u.channel}}let F=D.indexOf(":");if(F>0){let E=D.slice(F+1);if(/^\d{10}\.\d{6}$/.test(E))return{ref:D.slice(0,F),threadTs:E};if(/^\d{4}-\d{2}-\d{2}T/.test(E))return{ref:D.slice(0,F),threadTs:I0(E)}}return{ref:D}}async function y1(D,u,F){let E=F;if(!F.startsWith("#")&&!F.startsWith("@"))try{let C=y(await R0(D,u)),B=y(C.channel);if(B.is_im===!0){let $=typeof B.user==="string"?B.user:"";E=$?`@${await mu(D,$)}`:u}else E=typeof B.name==="string"?`#${B.name}`:u}catch{E=u}return E===u?u:`${E} (${u})`}async function G7(D,u,F){try{let E=await ju(D,u,F,1),C=a(E.messages).map(y),B=C.find((Q)=>String(Q.ts)===F)??C[0];if(!B)return F;let $=typeof B.user==="string"?await mu(D,B.user):typeof B.username==="string"?B.username:"?",z=(typeof B.text==="string"?B.text:"").split(`
|
|
137
|
+
`)[0]??"",Z=z.length>40?`${z.slice(0,40)}\u2026`:z;return`${x0(F).slice(0,16).replace("T"," ")} @${$}${Z?`: ${Z}`:""}`}catch{return F}}async function Z7(D,u){let{ref:F,ts:E}=m1(u.target);if(!E)console.error("Error: target must embed a message ts (e.g. #chan:2026-05-11T06:01:04.000100 or a Slack permalink URL)"),process.exit(2);let C;if(u.channelId)C=u.channelId;else C=await ND(D,F);let B=await ju(D,C,E,1),z=a(B.messages).map(y).find((O)=>String(O.ts)===E);if(!z)console.error(`Message not found at ts=${E} in channel ${C}`),process.exit(1);let Z=typeof z.text==="string"?z.text:"",G=u.mentions?await P0(D,u.newText,C):u.newText,Q=iD(Z,G);if(u.code!==Q)nD(u.code,Q,["--- Original message -------------------------",...Z.split(`
|
|
138
|
+
`).map((O)=>` ${O}`),"--- Replacing with ---------------------------",...G.split(`
|
|
139
|
+
`).map((O)=>` ${O}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let J=await q1(D,C,E,G);console.log(`\u2713 Edited (ts: ${J})`)}async function J7(D,u){let{ref:F,ts:E}=m1(u.target);if(!E)console.error("Error: target must embed a message ts (e.g. #chan:2026-05-11T06:01:04.000100 or a Slack permalink URL)"),process.exit(2);let C;if(u.channelId)C=u.channelId;else C=await ND(D,F);let B=await ju(D,C,E,1),z=a(B.messages).map(y).find((Q)=>String(Q.ts)===E);if(!z)console.error(`Message not found at ts=${E} in channel ${C}`),process.exit(1);let Z=typeof z.text==="string"?z.text:"",G=iD(C,E,Z);if(u.code!==G){let Q=await y1(D,C,F);nD(u.code,G,["--- Deleting message -------------------------",` \u2192 ${Q} at ${x0(E)}`,...Z.split(`
|
|
140
|
+
`).map((J)=>` ${J}`),"---------------------------------------------"])}await _1(D,C,E),console.log(`\u2713 Deleted (ts: ${E})`)}async function X7(D,u){if(!u.startsWith("@"))return!1;let F=u.slice(1).toLowerCase().replace(/[^a-z0-9]/g,"");if(F==="me"||F==="you")return!0;try{let C=((await X1(D)).user??"").toLowerCase().replace(/[^a-z0-9]/g,"");return C!==""&&C===F}catch{return!1}}async function Q7(D,u){let{ref:F,threadTs:E}=f0(u.target);if(!u.asBot&&!u.channelId&&!u.userId&&await X7(D,F))console.error(`Warning: "${F}" is a DM to yourself \u2014 Slack will NOT notify you of your own message.
|
|
141
|
+
`+` To reach yourself with a notification, send as the bot: slack send '${F}' '...' --as-bot`);let C;if(u.channelId)C=u.channelId;else if(u.userId)C=await hu(D,u.userId);else C=await ND(D,F);let B=u.mentions?await P0(u.mentionToken??D,u.message,C):u.message,$="",z="?";try{let J=await fu(D,C,1),O=a(J.messages).map(y).filter((W)=>W.subtype===void 0||W.subtype===null)[0];$=typeof O?.text==="string"?O.text:"",z=typeof O?.user==="string"?await mu(D,O.user):typeof O?.username==="string"?O.username:"?"}catch{}let Z=iD(C,E??"",$,B);if(u.code!==Z){let J=await y1(D,C,F),O=E?` \u2192 ${J} thread of ${await G7(D,C,E)} \u2014 THREAD REPLY`:` \u2192 ${J} \u2014 NEW top-level message`;nD(u.code,Z,["--- Last message in channel ------------------",` ${z}: ${$.split(`
|
|
142
|
+
`)[0]?.slice(0,100)??"(empty)"}`,"--- Sending ----------------------------------",O,` Message: ${B}`,"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"])}let G=await W1(D,C,B,E,u.broadcast),Q="";try{Q=await U1(D,C,G)}catch{}if(Q)console.log(`\u2713 Sent: ${Q}`);else console.log(`\u2713 Sent (ts: ${G})`);if(u.asBot&&C.startsWith("D"))try{let J=await W0(D);if(!J.ok)for(let O of H0(J,!0))console.error(O);else{let O=J.appId?`https://api.slack.com/apps/${J.appId}`:"https://api.slack.com/apps";console.error(`Note: if ${u.target} can't reply (app messaging may be off), enable Messages Tab: ${O} \u2192 App Home.`)}}catch{}}async function O7(D){let u=await W0(D);for(let F of H0(u,!1))console.log(F);if(!u.ok)process.exit(1)}function Y7(D){if(/^\d{10,}$/.test(D))return parseInt(D,10);let u=new Date(D.replace(" ","T"));if(isNaN(u.getTime()))throw Error(`Cannot parse time: ${D}`);return Math.floor(u.getTime()/1000)}async function W7(D,u){let{ref:F,threadTs:E}=f0(u.target),C;if(u.channelId)C=u.channelId;else if(u.userId)C=await hu(D,u.userId);else C=await ND(D,F);let B=Y7(u.at),$=new Date(B*1000).toISOString(),z=iD(C,u.message,String(B));if(u.code!==z)nD(u.code,z,["--- Scheduling message -----------------------",` To: ${F}${E?` (thread ${E})`:""}`,` At: ${$} (Unix: ${B})`,` Message: ${u.message}`,"---------------------------------------------"]);let Z=await H1(D,C,u.message,B,E);console.log(`\u2713 Scheduled (id: ${Z}, at: ${$})`)}async function H7(D,u,F){let E;if(F)E=F;else if(u)E=await ND(D,u);let B=(await V1(D,E)).scheduled_messages??[];if(B.length===0){console.log("(no scheduled messages)");return}for(let $ of B){let z=new Date($.post_at*1000).toISOString();console.log(`${$.id} ${z} [${$.channel_id}] ${$.text.split(`
|
|
143
|
+
`)[0]?.slice(0,80)??""}`)}}async function V7(D,u){let F;if(u.channelId)F=u.channelId;else F=await ND(D,u.target);let E=iD(F,u.id);if(u.code!==E)nD(u.code,E,["--- Deleting scheduled message ---------------",` Channel: ${u.target}`,` ID: ${u.id}`,"---------------------------------------------"]);await M1(D,F,u.id),console.log(`\u2713 Deleted scheduled message ${u.id}`)}async function M7(D,u){let{statSync:F,existsSync:E}=await import("fs"),{basename:C}=await import("path");for(let W of u.filePaths)if(!E(W))console.error(`Error: file not found: ${W}`),process.exit(1);let{ref:B,threadTs:$}=f0(u.target),z;if(u.channelId)z=u.channelId;else if(u.userId)z=await hu(D,u.userId);else z=await ND(D,B);function Z(W){return W<1024?`${W} B`:W<1048576?`${(W/1024).toFixed(1)} KB`:`${(W/1048576).toFixed(1)} MB`}let G=u.filePaths.length>1,Q=u.filePaths.map((W)=>{let H=C(W),Y=G?H:u.title??H;return{fp:W,filename:H,title:Y,sizeFmt:Z(F(W).size)}}),J=iD(z,...Q.flatMap((W)=>[W.fp,W.title]));if(u.code!==J){let W=` To: ${B}${$?` (thread ${$})`:""}`,H=G?[`--- Uploading ${Q.length} files ------------------------`,W,...Q.map((Y)=>` ${Y.filename} (${Y.sizeFmt})`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]:["--- Uploading file ---------------------------",W,` File: ${Q[0].fp}`,` Title: ${Q[0].title}`,` Size: ${Q[0].sizeFmt}`,"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"];nD(u.code,J,H)}let O=Q.length;for(let W=0;W<O;W++){let H=Q[W],Y={title:H.title};if($!==void 0)Y.threadTs=$;if(u.comment!==void 0&&W===0)Y.initialComment=u.comment;let{fileId:q,permalink:j}=await T1(D,z,H.fp,Y),N=O>1?`[${W+1}/${O}] `:"";console.log(`${N}\u2713 Uploaded (file_id: ${q}${j?`, url: ${j}`:""})`)}}async function U7(){o6();let D=(F)=>z0(F.workspace),u=(F)=>L8(F.workspace);await V8(mF(process.argv)).scriptName("slack").option("workspace",{alias:"w",type:"string",describe:"Workspace name"}).middleware(async(F)=>{let E=String((F._??[])[0]??"");if(!E||E==="auth"||E==="login")return;try{z0(F.workspace)}catch(C){if((C instanceof Error?C.message:String(C)).startsWith("No profiles configured"))console.log(`No workspace configured. Let's set that up:
|
|
144
|
+
`),await VF(),process.exit(0);throw C}},!0).command(["read [target]","msgs [target]"],"Browse messages",(F)=>F.positional("target",{type:"string",describe:"#channel, @user, or URL"}).option("limit",{alias:"n",type:"number",default:20,describe:"Number of messages"}).option("format",{type:"string",choices:["text","jsonl"],default:"text",describe:"jsonl exposes raw ts/user/text (incl. external-guest user IDs)"}).option("json",{type:"boolean",default:!1,describe:"Alias for --format=jsonl"}),async(F)=>{let E=D(F),C=F.json?"jsonl":F.format;if(F.target)await a6(E,F.target,F.limit,C);else await D7(E)}).command("thread <target> <ts>","Show thread messages",(F)=>F.positional("target",{type:"string",demandOption:!0}).positional("ts",{type:"string",demandOption:!0}).option("limit",{alias:"n",type:"number",default:100}).option("format",{type:"string",choices:["text","jsonl"],default:"text",describe:"jsonl exposes raw ts/user/text (incl. external-guest user IDs)"}).option("json",{type:"boolean",default:!1,describe:"Alias for --format=jsonl"}),async(F)=>{let E=F.json?"jsonl":F.format;await e6(D(F),F.target,F.ts,F.limit,E)}).command(["channel","channels","ch"],"Channel commands",(F)=>F.command(["ls","list"],"List channels",(E)=>E.option("limit",{alias:"n",type:"number",default:200}).option("filter",{alias:"f",type:"string"}).option("all",{type:"boolean",default:!1}).option("format",{type:"string",choices:["text","jsonl"],default:"text"}).option("json",{type:"boolean",default:!1,describe:"Alias for --format=jsonl"}),async(E)=>{await F7(D(E),E.limit,E.filter,E.all,E.json?"jsonl":E.format)}).command("get <channel>","Show channel details",(E)=>E.positional("channel",{type:"string",demandOption:!0,describe:"#name or channel ID"}),async(E)=>{let C=D(E),B=E.channel,$=B.startsWith("#")||B.startsWith("@")||B.startsWith("C")||B.startsWith("G")||B.startsWith("D")?B:`#${B}`,z=await ND(C,$),Z=y(await R0(C,z)),G=y(Z.channel),Q=typeof G.name==="string"?G.name:z,O=G.is_im===!0?"@":"#",W=String(y(G.purpose).value??""),H=String(y(G.topic).value??""),Y=G.num_members??G.member_count??"";if(console.log(`${O}${Q} ${z}`),H)console.log(`topic: ${H}`);if(W)console.log(`purpose: ${W}`);if(Y)console.log(`members: ${Y}`);console.log(`private: ${G.is_private===!0}`)}).demandCommand(1,"").showHelpOnFail(!0)).command(["user","usr"],"User commands",(F)=>F.command(["ls","list"],"List workspace members",(E)=>E.option("limit",{alias:"n",type:"number",default:200}).option("filter",{alias:"f",type:"string"}).option("format",{type:"string",choices:["text","jsonl","yaml"],default:"text"}).option("json",{type:"boolean",default:!1,describe:"Alias for --format=jsonl"}),async(E)=>{let C=E.json?"jsonl":E.format,B=await N0(D(E)),$=E.filter?.toLowerCase(),z=a(B.members).map(y).filter((G)=>G.deleted!==!0&&G.is_bot!==!0&&String(G.id)!=="USLACKBOT").filter((G)=>{if(!$)return!0;let Q=String(G.name??"").toLowerCase(),J=String(y(G.profile).real_name??"").toLowerCase(),O=String(y(G.profile).email??"").toLowerCase();return Q.includes($)||J.includes($)||O.includes($)}).slice(0,E.limit);if(C==="jsonl"){for(let G of z)console.log(JSON.stringify(G));return}if(C==="yaml"){for(let G of z){let Q=function(J,O=""){if(J===null)return"null";if(typeof J==="string")return J.includes(`
|
|
144
145
|
`)?`|
|
|
145
146
|
${J.split(`
|
|
146
147
|
`).join(`
|
|
147
148
|
`)}`:J;if(typeof J!=="object")return String(J);if(Array.isArray(J))return J.map((W)=>`
|
|
148
|
-
${
|
|
149
|
-
${
|
|
150
|
-
Set SLACK_BOT_TOKEN=xoxb-... in ~/.config/slack-cli/.env (or your shell).`),process.exit(1);if(!E.channelId&&!E.userId&&E.target.startsWith("@"))try{E.userId=await
|
|
149
|
+
${O} - ${Q(W,O+" ")}`).join("");return Object.entries(J).map(([W,H])=>`
|
|
150
|
+
${O} ${W}: ${Q(H,O+" ")}`).join("")};console.log("---");for(let[J,O]of Object.entries(G))console.log(`${J}: ${Q(O)}`)}return}let Z=Intl.DateTimeFormat().resolvedOptions().timeZone;for(let G of z){let Q=y(G.profile),J=String(G.name??G.id),O=String(G.id??""),W=String(Q.display_name||""),H=String(Q.real_name||""),Y=String(Q.email||""),q=String(G.tz??""),N=[...new Set([W,H].filter((c)=>c&&c!==J))].join(" / "),w=[Y,q&&q!==Z?q:""].filter(Boolean).join(" ");console.log(`@${J} ${O} ${N}${w?" "+w:""}`)}}).command("get <user>","Show user details",(E)=>E.positional("user",{type:"string",demandOption:!0,describe:"@handle or user ID"}),async(E)=>{let C=D(E),B=E.user.startsWith("@")?E.user.slice(1):E.user,$=B;if(!/^U[A-Z0-9]+$/.test(B)){let w=await N0(C),c=a(w.members).map(y).find((e)=>String(e.name??"")===B);if(!c)console.error(`User not found: @${B}`),process.exit(1);$=String(c.id)}let z=y(await N1(C,$)),Z=y(z.user),G=y(Z.profile),Q=Intl.DateTimeFormat().resolvedOptions().timeZone,J=String(Z.name??$),O=String(Z.id??$),W=String(G.display_name||""),H=String(G.real_name||""),Y=String(G.email||""),q=String(Z.tz??""),j=String(G.phone||""),N=String(G.title||"");console.log(`@${J} ${O}`);let k=[...new Set([W,H].filter((w)=>w&&w!==J))];if(k.length)console.log(`name: ${k.join(" / ")}`);if(Y)console.log(`email: ${Y}`);if(j)console.log(`phone: ${j}`);if(N)console.log(`title: ${N}`);if(q&&q!==Q)console.log(`tz: ${q}`)}).demandCommand(1,"").showHelpOnFail(!0)).command("news","Activity feed (mentions to you)",(F)=>F.option("limit",{alias:"l",type:"number",default:20}),async(F)=>{await u7(D(F),F.limit)}).command("search <query>","Full-text search",(F)=>F.positional("query",{type:"string",demandOption:!0}).option("count",{alias:"n",type:"number",default:100}).option("json",{type:"boolean",default:!1,describe:"Output raw JSON"}),async(F)=>{await E7(D(F),F.query,F.count,F.json)}).command("send <target> <message>","Send a message (confirm-hash safety gate)",(F)=>F.positional("target",{type:"string",demandOption:!0,describe:"#chan, @user, #chan:thread_ts, or permalink (a message permalink replies in its thread)"}).positional("message",{type:"string",demandOption:!0}).option("code",{type:"string",describe:"Safety hash to confirm send"}).option("channel-id",{type:"string",describe:"Raw channel ID"}).option("user-id",{type:"string",describe:"Raw user ID (opens DM)"}).option("as-bot",{type:"boolean",default:!1,describe:"Send via the bot token (xoxb / SLACK_BOT_TOKEN) so a DM notifies the recipient and can be two-way"}).option("broadcast",{type:"boolean",default:!1,describe:`Also send to channel: broadcast a threaded reply back to the channel (Slack's "Also send to #channel" checkbox). Only effective with a thread target.`}).option("mentions",{type:"boolean",default:!0,describe:"Convert @handle tokens to real <@USERID> mentions (on by default; resolves via users.list, then channel members for Slack Connect guests). Unresolved handles stay as plain text. The confirm preview shows the converted message before sending. Disable with --no-mentions for literal @text."}),async(F)=>{let E={target:F.target,message:F.message};if(F.code)E.code=F.code;if(F["channel-id"])E.channelId=F["channel-id"];if(F["user-id"])E.userId=F["user-id"];if(F.broadcast)E.broadcast=!0;if(F.mentions!==!1)E.mentions=!0,E.mentionToken=D(F);let C;if(F["as-bot"]){let B=G0();if(!B)console.error(`Error: --as-bot needs a bot token, but no xoxb- token was found.
|
|
151
|
+
Set SLACK_BOT_TOKEN=xoxb-... in ~/.config/slack-cli/.env (or your shell).`),process.exit(1);if(!E.channelId&&!E.userId&&E.target.startsWith("@"))try{E.userId=await K1(D(F),E.target)}catch($){console.error(`Error: could not resolve ${E.target} to a user for the bot DM.
|
|
151
152
|
${$ instanceof Error?$.message:String($)}
|
|
152
|
-
Tip: pass --user-id <Uxxxx> to skip the lookup.`),process.exit(1)}C=B,E.asBot=!0}else C=D(F);try{await
|
|
153
|
-
Set SLACK_BOT_TOKEN=xoxb-... in ~/.config/slack-cli/.env (or your shell).`),process.exit(1);await
|
|
154
|
-
`).map((
|
|
155
|
-
`).map((
|
|
156
|
-
`).map((Q)=>` ${Q}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);await
|
|
153
|
+
Tip: pass --user-id <Uxxxx> to skip the lookup.`),process.exit(1)}C=B,E.asBot=!0}else C=D(F);try{await Q7(C,E)}catch(B){console.error(B instanceof Error?B.message:String(B)),process.exit(1)}}).command("doctor","Check the bot token (xoxb) can carry a two-way DM (scopes + Messages Tab)",(F)=>F,async()=>{let F=G0();if(!F)console.error(`Error: slack doctor checks the bot token, but no xoxb- token was found.
|
|
154
|
+
Set SLACK_BOT_TOKEN=xoxb-... in ~/.config/slack-cli/.env (or your shell).`),process.exit(1);await O7(F)}).command("schedule","Manage scheduled messages",(F)=>F.command("send <target> <message>","Schedule a message for later delivery",(E)=>E.positional("target",{type:"string",demandOption:!0,describe:"#chan, @user, #chan:thread_ts, or permalink (a message permalink replies in its thread)"}).positional("message",{type:"string",demandOption:!0}).option("at",{type:"string",demandOption:!0,describe:"Delivery time (ISO datetime or Unix ts)"}).option("code",{type:"string",describe:"Safety hash to confirm"}).option("channel-id",{type:"string",describe:"Raw channel ID"}).option("user-id",{type:"string",describe:"Raw user ID (opens DM)"}),async(E)=>{let C={target:E.target,message:E.message,at:E.at};if(E.code)C.code=E.code;if(E["channel-id"])C.channelId=E["channel-id"];if(E["user-id"])C.userId=E["user-id"];await W7(D(E),C)}).command(["ls","list"],"List pending scheduled messages",(E)=>E.positional("target",{type:"string",describe:"#channel to filter by"}).option("channel-id",{type:"string",describe:"Raw channel ID"}),async(E)=>{await H7(D(E),E.target,E["channel-id"])}).command("rm <target> <id>","Delete a scheduled message",(E)=>E.positional("target",{type:"string",demandOption:!0,describe:"#channel or @user"}).positional("id",{type:"string",demandOption:!0,describe:"Scheduled message ID"}).option("code",{type:"string",describe:"Safety hash to confirm"}).option("channel-id",{type:"string",describe:"Raw channel ID"}),async(E)=>{let C={target:E.target,id:E.id};if(E.code)C.code=E.code;if(E["channel-id"])C.channelId=E["channel-id"];await V7(D(E),C)}).demandCommand(1,"").showHelpOnFail(!0),()=>{}).command("edit <target> <newText>","Edit a sent message",(F)=>F.positional("target",{type:"string",demandOption:!0,describe:"#chan:ts, @user:ts, or permalink"}).positional("newText",{type:"string",demandOption:!0}).option("code",{type:"string",describe:"Safety hash to confirm edit"}).option("channel-id",{type:"string",describe:"Raw channel ID"}).option("mentions",{type:"boolean",default:!0,describe:"Convert @handle tokens in the new text to real <@USERID> mentions (on by default). Unresolved handles stay as plain text. Disable with --no-mentions for literal @text."}),async(F)=>{let E={target:F.target,newText:F.newText};if(F.code)E.code=F.code;if(F["channel-id"])E.channelId=F["channel-id"];if(F.mentions!==!1)E.mentions=!0;await Z7(D(F),E)}).command("delete <target>","Delete a sent message (confirm-hash safety gate)",(F)=>F.positional("target",{type:"string",demandOption:!0,describe:"#chan:ts, @user:ts, or permalink"}).option("code",{type:"string",describe:"Safety hash to confirm delete"}).option("channel-id",{type:"string",describe:"Raw channel ID"}),async(F)=>{let E={target:F.target};if(F.code)E.code=F.code;if(F["channel-id"])E.channelId=F["channel-id"];await J7(D(F),E)}).command("upload <target> <file..>","Upload one or more files to a channel or DM",(F)=>F.positional("target",{type:"string",demandOption:!0,describe:"#chan, @user, #chan:thread_ts, or permalink (a message permalink replies in its thread)"}).positional("file",{type:"string",array:!0,demandOption:!0,describe:"Path(s) to file(s)"}).option("title",{type:"string",describe:"Title (single file only)"}).option("comment",{type:"string",describe:"Initial comment (first file)"}).option("code",{type:"string",describe:"4-hex safety code to confirm upload"}).option("channel-id",{type:"string"}).option("user-id",{type:"string"}),async(F)=>{let E={target:F.target,filePaths:F.file};if(F.title)E.title=F.title;if(F.comment)E.comment=F.comment;if(F.code)E.code=F.code;if(F["channel-id"])E.channelId=F["channel-id"];if(F["user-id"])E.userId=F["user-id"];await M7(D(F),E)}).command("dump","Bulk export channel history as markdown",(F)=>F.option("days",{alias:"d",type:"number",default:7,describe:"Days of history"}).option("limit",{alias:"l",type:"number",default:200}).option("filter",{alias:"f",type:"string",describe:"Filter channel names"}),async(F)=>{await C7(D(F),F.days,F.limit,F.filter)}).command("drafts","Manage message drafts (requires xoxc desktop token)",(F)=>F.command(["$0","ls","list"],"List pending drafts",(E)=>E.option("all",{alias:"a",type:"boolean",default:!1,describe:"Include sent drafts"}),async(E)=>{await $7(D(E),u(E),E.all)}).command(["new <channel> [text..]","save <channel> [text..]"],"Create a draft",(E)=>E.positional("channel",{type:"string",demandOption:!0}).positional("text",{type:"string",array:!0,default:[]}),async(E)=>{let C=D(E),B=u(E),$=E.text.join(" ");if(!$)console.error("Usage: slack drafts new <#channel|@user> <text>"),process.exit(2);let z=await ND(C,E.channel,B),Z=await j1(C,z,$,B);console.log(`\u2713 Draft created (id: ${y(Z.draft).id??"?"})`)}).command("get <id>","Show a draft",(E)=>E.positional("id",{type:"string",demandOption:!0}),async(E)=>{await z7(D(E),u(E),E.id)}).command(["edit <id> [text..]","update <id> [text..]"],"Edit a draft",(E)=>E.positional("id",{type:"string",demandOption:!0}).positional("text",{type:"string",array:!0,default:[]}).option("code",{type:"string"}),async(E)=>{let C=D(E),B=u(E),$=E.text.join(" ");if(!$)console.error("Usage: slack drafts edit <id> <new-text>"),process.exit(2);let z=await yu(C,B),Z=a(z.drafts).map(y).find((O)=>String(O.id)===E.id);if(!Z)console.error(`Draft not found: ${E.id}`),process.exit(1);let G=jF(Z),Q=iD(G,$);if(E.code!==Q)nD(E.code,Q,["--- Current draft ----------------------------",...G.split(`
|
|
155
|
+
`).map((O)=>` ${O}`),"--- Replacing with ---------------------------",...$.split(`
|
|
156
|
+
`).map((O)=>` ${O}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let J=await A1(C,E.id,b0(Z),$,B);console.log(`\u2713 Draft updated (id: ${y(J.draft).id??"?"})`)}).command(["delete <id>","rm <id>"],"Delete a draft",(E)=>E.positional("id",{type:"string",demandOption:!0}).option("code",{type:"string"}),async(E)=>{let C=D(E),B=u(E),$=await yu(C,B),z=a($.drafts).map(y).find((Q)=>String(Q.id)===E.id);if(!z)console.error(`Draft not found: ${E.id}`),process.exit(1);let Z=jF(z),G=iD(E.id,Z);if(E.code!==G)nD(E.code,G,["\u2500-- Deleting draft \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",` id: ${E.id}`,...Z.split(`
|
|
157
|
+
`).map((Q)=>` ${Q}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);await R1(C,E.id,B),console.log(`\u2713 Draft deleted (id: ${E.id})`)})).command("auth","Authentication and workspace management",(F)=>F.command("token","Add a workspace \u2014 paste an existing xoxp-/xoxb- token",(E)=>E.option("token",{type:"string",describe:"Token to save directly (non-interactive)"}).option("name",{type:"string",describe:"Workspace name (used with --token)"}),async(E)=>{await D1({...E.token!==void 0?{token:E.token}:{},...E.name!==void 0?{name:E.name}:{}})}).command("app","Create a new Slack app and obtain a token (guided wizard)",(E)=>E.option("bot",{type:"boolean",describe:"Create a bot token (xoxb-) instead of user (xoxp-)"}),async(E)=>{await u1({...E.bot!==void 0?{bot:E.bot}:{}})}).command("login","Interactive auth wizard (all auth methods: desktop app, token, new app)",(E)=>E.option("token",{type:"string",describe:"Token to save directly (non-interactive)"}).option("name",{type:"string",describe:"Workspace name (used with --token)"}),async(E)=>{await VF({...E.token!==void 0?{token:E.token}:{},...E.name!==void 0?{name:E.name}:{}})}).command(["ls","status"],"Show auth status",()=>{},()=>{let E=K8();if(E.length===0){console.log("No workspaces configured. Run: slack auth login");return}for(let{name:C,profile:B,current:$}of E)console.log(`${$?"* ":" "}${C} ${B.team} (${B.user}) ${B.url??""}`)}).command("use <name>","Switch active workspace",(E)=>E.positional("name",{type:"string",demandOption:!0}).option("g",{type:"boolean",default:!1,describe:"Write global lockfile (~/.slack-cli/workspace)"}),(E)=>{if(!E.g)l6(Wu(process.cwd(),".slack-cli"));A8(E.name,E.g),console.log(`Switched to workspace "${E.name}" ${E.g?"globally":"locally"}`)}).command(["logout <name>","rm <name>","remove <name>"],"Remove a workspace",(E)=>E.positional("name",{type:"string",demandOption:!0}),(E)=>{j8(E.name),console.log(`Removed workspace "${E.name}"`)}).command(["chrome","cookie"],"Attach Chrome browser xoxd cookie to a workspace (macOS, interactive)",(E)=>E.option("workspace",{type:"string",alias:"w",describe:"Workspace name to update (default: active)"}),async(E)=>{await a8({...E.workspace!==void 0?{workspace:E.workspace}:{}})}).command("firefox","Attach Firefox browser xoxd cookie to a workspace (all platforms)",(E)=>E.option("workspace",{type:"string",alias:"w",describe:"Workspace name to update (default: active)"}),async(E)=>{await e8({...E.workspace!==void 0?{workspace:E.workspace}:{}})}).command("$0",!1,()=>{},()=>{F.showHelp(),process.exit(0)})).command("tail [target]","Stream new messages in real time (like tail -f)",(F)=>F.positional("target",{type:"string",describe:"#channel or @user to follow"}).option("since",{type:"string",describe:"Backfill from N ago (e.g. 10m, 2h, 1d)"}).option("thread",{type:"string",describe:"Follow a single thread by timestamp"}).option("watch-thread",{type:"string",describe:"Watch the channel's top-level timeline AND one thread's replies together (ts or permalink)"}).option("me",{type:"boolean",default:!1,describe:"Filter to messages that mention you"}).option("interval",{type:"number",default:60000,describe:"Poll interval in ms (default 60s; use --interval=3000 for near-real-time)"}).option("timeout",{type:"string",describe:"Auto-stop after this long (e.g. 30m, 2h). Exit code 0 even if nothing arrived."}).option("exit-on-message",{type:"boolean",default:!1,describe:"Stop as soon as the first new message from someone else arrives (wait-for-reply)"}).option("rtm",{type:"boolean",default:!0,describe:"Use RTM WebSocket when available (xoxc + cookie); pass --no-rtm to force polling"}),async(F)=>{let E=D(F),C=u(F),B=new AbortController;process.on("SIGINT",()=>{B.abort(),process.exit(0)}),await G1(E,F.target,{...F.since!==void 0?{since:F.since}:{},...F.thread!==void 0?{thread:F.thread}:{},...F["watch-thread"]!==void 0?{watchThread:F["watch-thread"]}:{},me:F.me,interval:F.interval,...F.timeout!==void 0?{timeout:F.timeout}:{},...F["exit-on-message"]===!0?{exitOnMessage:!0}:{},...C!==void 0?{cookie:C}:{},...F.rtm===!1?{noRtm:!0}:{}},B.signal)}).command("login",!1,(F)=>F.option("token",{type:"string"}).option("name",{type:"string"}),async(F)=>{await VF({...F.token!==void 0?{token:F.token}:{},...F.name!==void 0?{name:F.name}:{}})}).demandCommand(1,"Specify a command. Run with --help for usage.").strict().help().alias("help","h").parseAsync()}U7().catch((D)=>{console.error(D instanceof Error?D.message:String(D)),process.exit(1)});
|