slack-term 1.14.0 → 1.16.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/dist/cli.js CHANGED
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- import{createRequire as o8}from"node:module";var i8=Object.create;var{getPrototypeOf:k8,defineProperty:B0,getOwnPropertyNames:d8}=Object;var n8=Object.prototype.hasOwnProperty;function g8(D){return this[D]}var t8,l8,$0=(D,u,F)=>{var E=D!=null&&typeof D==="object";if(E){var C=u?t8??=new WeakMap:l8??=new WeakMap,B=C.get(D);if(B)return B}F=D!=null?i8(k8(D)):{};let $=u||!D||!D.__esModule?B0(F,"default",{value:D,enumerable:!0}):F;for(let z of d8(D))if(!n8.call($,z))B0($,z,{get:g8.bind(D,z),enumerable:!0});if(E)C.set(D,$);return $};var z0=(D,u)=>()=>(u||D((u={exports:{}}).exports,u),u.exports);var Gu=o8(import.meta.url);var T0=z0((m6,N0)=>{N0.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 r0=z0((L7,s0)=>{s0.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 n1}from"crypto";import{existsSync as p8,readFileSync as g1,mkdirSync as t1,writeFileSync as l1}from"fs";import{homedir as v8}from"os";import{join as Cu}from"path";import{notStrictEqual as f3,strictEqual as b3}from"assert";var s8={right:e8,center:D3};class Z0{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&&WD.stringWidth(E[0])>F)F=Math.min(Math.floor(this.width*0.5),WD.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=WD.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[$]),X=B;if(Z>WD.stringWidth(B))X+=" ".repeat(Z-WD.stringWidth(B));if(D[$].align&&D[$].align!=="left"&&this.wrap){let J=s8[D[$].align];if(X=J(X,Z),WD.stringWidth(X)<Z)X+=" ".repeat((z||0)-WD.stringWidth(X)-1)}let O=D[$].padding||[0,0,0,0];if(O[3])C+=" ".repeat(O[3]);if(C+=G0(D[$],X,"| "),C+=X,C+=G0(D[$],X," |"),O[1])C+=" ".repeat(O[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=WD.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=WD.wrap(C.text,this.negatePadding(C),{hard:!0}).split(`
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&&HD.stringWidth(E[0])>F)F=Math.min(Math.floor(this.width*0.5),HD.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=HD.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>HD.stringWidth(B))G+=" ".repeat(Z-HD.stringWidth(B));if(D[$].align&&D[$].align!=="left"&&this.wrap){let J=c1[D[$].align];if(G=J(G,Z),HD.stringWidth(G)<Z)G+=" ".repeat((z||0)-HD.stringWidth(G)-1)}let Q=D[$].padding||[0,0,0,0];if(Q[3])C+=" ".repeat(Q[3]);if(C+=f0(D[$],G,"| "),C+=G,C+=f0(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=HD.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=HD.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 X=0;X<B;X++)if(Z[X]===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||WD.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,r8(D[$]));return B})}}function G0(D,u,F){if(D.border){if(/[.']-+[.']/.test(u))return"";if(u.trim().length!==0)return F;return" "}return""}function r8(D){let u=D.padding||[],F=1+(u[3]||0)+(u[1]||0);if(D.border)return F+4;return F}function a8(){if(typeof process==="object"&&process.stdout&&process.stdout.columns)return process.stdout.columns;return 80}function e8(D,u){D=D.trim();let F=WD.stringWidth(D);if(F<u)return" ".repeat(u-F)+D;return D}function D3(D,u){D=D.trim();let F=WD.stringWidth(D);if(F>=u)return D;return" ".repeat(u-F>>1)+D}var WD;function J0(D,u){return WD=u,new Z0({width:(D===null||D===void 0?void 0:D.width)||a8(),wrap:D===null||D===void 0?void 0:D.wrap})}function WF({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 u3=WF();function cD(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);if(!D.includes("\x1B")&&!D.includes("›"))return D;return D.replace(u3,"")}var X0=161,Q0=1114109,O0=[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],Y0=12288,W0=65510,M0=[12288,12288,65281,65376,65504,65510];var H0=4352,V0=262141,MF=[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 fu=(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 q0=19968,[F3,E3]=C3(MF);function C3(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(q0>=C&&q0<=B)return[C,B];if(B-C>F-u)u=C,F=B}return[u,F]}var U0=(D)=>{if(D<X0||D>Q0)return!1;return fu(O0,D)},j0=(D)=>{if(D<Y0||D>W0)return!1;return fu(M0,D)};var _0=(D)=>{if(D>=F3&&D<=E3)return!0;if(D<H0||D>V0)return!1;return fu(MF,D)};function B3(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function K0(D,{ambiguousAsWide:u=!1}={}){if(B3(D),j0(D)||_0(D)||u&&U0(D))return 2;return 1}var A0=$0(T0(),1),$3=new Intl.Segmenter,z3=/^\p{Default_Ignorable_Code_Point}$/u;function KD(D,u={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:E=!1}=u;if(!E)D=cD(D);if(D.length===0)return 0;let C=0,B={ambiguousAsWide:!F};for(let{segment:$}of $3.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(z3.test($))continue;if(A0.default().test($)){C+=2;continue}C+=K0(z,B)}return C}var L0=(D=0)=>(u)=>`\x1B[${u+D}m`,R0=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,S0=(D=0)=>(u,F,E)=>`\x1B[${38+D};2;${u};${F};${E}m`,s={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]}},k6=Object.keys(s.modifier),G3=Object.keys(s.color),Z3=Object.keys(s.bgColor),d6=[...G3,...Z3];function J3(){let D=new Map;for(let[u,F]of Object.entries(s)){for(let[E,C]of Object.entries(F))s[E]={open:`\x1B[${C[0]}m`,close:`\x1B[${C[1]}m`},F[E]=s[E],D.set(C[0],C[1]);Object.defineProperty(s,u,{value:F,enumerable:!1})}return Object.defineProperty(s,"codes",{value:D,enumerable:!1}),s.color.close="\x1B[39m",s.bgColor.close="\x1B[49m",s.color.ansi=L0(),s.color.ansi256=R0(),s.color.ansi16m=S0(),s.bgColor.ansi=L0(10),s.bgColor.ansi256=R0(10),s.bgColor.ansi16m=S0(10),Object.defineProperties(s,{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)=>s.rgbToAnsi256(...s.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)=>s.ansi256ToAnsi(s.rgbToAnsi256(u,F,E)),enumerable:!1},hexToAnsi:{value:(u)=>s.ansi256ToAnsi(s.hexToAnsi256(u)),enumerable:!1}}),s}var X3=J3(),P0=X3;var hu=new Set(["\x1B","›"]),Q3=39,VF="\x07",x0="[",O3="]",f0="m",bu=`${O3}8;;`,w0=(D)=>`${hu.values().next().value}${x0}${D}${f0}`,I0=(D)=>`${hu.values().next().value}${bu}${D}${VF}`,Y3=(D)=>D.split(" ").map((u)=>KD(u)),HF=(D,u,F)=>{let E=[...u],C=!1,B=!1,$=KD(cD(D.at(-1)));for(let[z,Z]of E.entries()){let X=KD(Z);if($+X<=F)D[D.length-1]+=Z;else D.push(Z),$=0;if(hu.has(Z))C=!0,B=E.slice(z+1,z+1+bu.length).join("")===bu;if(C){if(B){if(Z===VF)C=!1,B=!1}else if(Z===f0)C=!1;continue}if($+=X,$===F&&z<E.length-1)D.push(""),$=0}if(!$&&D.at(-1).length>0&&D.length>1)D[D.length-2]+=D.pop()},W3=(D)=>{let u=D.split(" "),F=u.length;while(F>0){if(KD(u[F-1])>0)break;F--}if(F===u.length)return D;return u.slice(0,F).join(" ")+u.slice(F).join("")},M3=(D,u,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let E="",C,B,$=Y3(D),z=[""];for(let[J,Q]of D.split(" ").entries()){if(F.trim!==!1)z[z.length-1]=z.at(-1).trimStart();let Y=KD(z.at(-1));if(J!==0){if(Y>=u&&(F.wordWrap===!1||F.trim===!1))z.push(""),Y=0;if(Y>0||F.trim===!1)z[z.length-1]+=" ",Y++}if(F.hard&&$[J]>u){let M=u-Y,H=1+Math.floor(($[J]-M-1)/u);if(Math.floor(($[J]-1)/u)<H)z.push("");HF(z,Q,u);continue}if(Y+$[J]>u&&Y>0&&$[J]>0){if(F.wordWrap===!1&&Y<u){HF(z,Q,u);continue}z.push("")}if(Y+$[J]>u&&F.wordWrap===!1){HF(z,Q,u);continue}z[z.length-1]+=Q}if(F.trim!==!1)z=z.map((J)=>W3(J));let Z=z.join(`
8
- `),X=[...Z],O=0;for(let[J,Q]of X.entries()){if(E+=Q,hu.has(Q)){let{groups:M}=new RegExp(`(?:\\${x0}(?<code>\\d+)m|\\${bu}(?<uri>.*)${VF})`).exec(Z.slice(O))||{groups:{}};if(M.code!==void 0){let H=Number.parseFloat(M.code);C=H===Q3?void 0:H}else if(M.uri!==void 0)B=M.uri.length===0?void 0:M.uri}let Y=P0.codes.get(Number(C));if(X[J+1]===`
9
- `){if(B)E+=I0("");if(C&&Y)E+=w0(Y)}else if(Q===`
10
- `){if(C&&Y)E+=w0(C);if(B)E+=I0(B)}O+=Q.length}return E};function qF(D,u,F){return String(D).normalize().replaceAll(`\r
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,Y]of G.entries()){if(E+=Y,iu.has(Y)){let{groups:H}=new RegExp(`(?:\\${$2}(?<code>\\d+)m|\\${du}(?<uri>.*)${TF})`).exec(Z.slice(Q))||{groups:{}};if(H.code!==void 0){let O=Number.parseFloat(H.code);C=O===E3?void 0:O}else if(H.uri!==void 0)B=H.uri.length===0?void 0:H.uri}let W=E2.codes.get(Number(C));if(G[J+1]===`
9
+ `){if(B)E+=B2("");if(C&&W)E+=C2(W)}else if(Y===`
10
+ `){if(C&&W)E+=C2(C);if(B)E+=B2(B)}Q+=Y.length}return E};function SF(D,u,F){return String(D).normalize().replaceAll(`\r
11
11
  `,`
12
12
  `).split(`
13
- `).map((E)=>M3(E,u,F)).join(`
14
- `)}function UF(D){return J0(D,{stringWidth:KD,stripAnsi:cD,wrap:qF})}import{dirname as b0,resolve as h0}from"path";import{readdirSync as H3,statSync as V3}from"fs";function jF(D,u){let F=h0(".",D),E;if(!V3(F).isDirectory())F=b0(F);while(!0){if(E=u(F,H3(F)),E)return h0(F,E);if(F=b0(E=F),E===F)break}}import{inspect as h3}from"util";import{fileURLToPath as e0}from"url";import{format as j3}from"util";import{normalize as _3,resolve as K3}from"path";function yD(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 vu(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 pu(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 v0(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 qD;(function(D){D.BOOLEAN="boolean",D.STRING="string",D.NUMBER="number",D.ARRAY="array"})(qD||(qD={}));var PD;class KF{constructor(D){PD=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=v0(D),C=typeof D==="string",B=q3(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||[],X=F.envPrefix,O=$["populate--"],J=O?"--":"_",Q=Object.create(null),Y=Object.create(null),M=F.__||PD.format,H={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:[]},j=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,A=new RegExp("^--"+$["negation-prefix"]+"(.+)");if([].concat(F.array||[]).filter(Boolean).forEach(function(W){let q=typeof W==="object"?W.key:W,_=Object.keys(W).map(function(U){return{boolean:"bools",string:"strings",number:"numbers"}[U]}).filter(Boolean).pop();if(_)H[_][q]=!0;H.arrays[q]=!0,H.keys.push(q)}),[].concat(F.boolean||[]).filter(Boolean).forEach(function(W){H.bools[W]=!0,H.keys.push(W)}),[].concat(F.string||[]).filter(Boolean).forEach(function(W){H.strings[W]=!0,H.keys.push(W)}),[].concat(F.number||[]).filter(Boolean).forEach(function(W){H.numbers[W]=!0,H.keys.push(W)}),[].concat(F.count||[]).filter(Boolean).forEach(function(W){H.counts[W]=!0,H.keys.push(W)}),[].concat(F.normalize||[]).filter(Boolean).forEach(function(W){H.normalize[W]=!0,H.keys.push(W)}),typeof F.narg==="object")Object.entries(F.narg).forEach(([W,q])=>{if(typeof q==="number")H.nargs[W]=q,H.keys.push(W)});if(typeof F.coerce==="object")Object.entries(F.coerce).forEach(([W,q])=>{if(typeof q==="function")H.coercions[W]=q,H.keys.push(W)});if(typeof F.config<"u"){if(Array.isArray(F.config)||typeof F.config==="string")[].concat(F.config).filter(Boolean).forEach(function(W){H.configs[W]=!0});else if(typeof F.config==="object")Object.entries(F.config).forEach(([W,q])=>{if(typeof q==="boolean"||typeof q==="function")H.configs[W]=q})}Vu(F.key,B,F.default,H.arrays),Object.keys(z).forEach(function(W){(H.aliases[W]||[]).forEach(function(q){z[q]=z[W]})});let x=null;YF();let n=[],f=Object.assign(Object.create(null),{_:[]}),i={};for(let W=0;W<E.length;W++){let q=E[W],_=q.replace(/^-{3,}/,"---"),U,V,R,N,I,GD;if(q!=="--"&&/^-/.test(q)&&t(q))a(q);else if(_.match(/^---+(=|$)/)){a(q);continue}else if(q.match(/^--.+=/)||!$["short-option-groups"]&&q.match(/^-.+=/)){if(N=q.match(/^--?([^=]+)=([\s\S]*)$/),N!==null&&Array.isArray(N)&&N.length>=3)if(b(N[1],H.arrays))W=AD(W,N[1],E,N[2]);else if(b(N[1],H.nargs)!==!1)W=e(W,N[1],E,N[2]);else g(N[1],N[2],!0)}else if(q.match(A)&&$["boolean-negation"]){if(N=q.match(A),N!==null&&Array.isArray(N)&&N.length>=2)V=N[1],g(V,b(V,H.arrays)?[!1]:!1)}else if(q.match(/^--.+/)||!$["short-option-groups"]&&q.match(/^-[^-]+/)){if(N=q.match(/^--?(.+)/),N!==null&&Array.isArray(N)&&N.length>=2)if(V=N[1],b(V,H.arrays))W=AD(W,V,E);else if(b(V,H.nargs)!==!1)W=e(W,V,E);else if(I=E[W+1],I!==void 0&&(!I.match(/^-/)||I.match(j))&&!b(V,H.bools)&&!b(V,H.counts))g(V,I),W++;else if(/^(true|false)$/.test(I))g(V,I),W++;else g(V,c(V))}else if(q.match(/^-.\..+=/)){if(N=q.match(/^-([^=]+)=([\s\S]*)$/),N!==null&&Array.isArray(N)&&N.length>=3)g(N[1],N[2])}else if(q.match(/^-.\..+/)&&!q.match(j)){if(I=E[W+1],N=q.match(/^-(.\..+)/),N!==null&&Array.isArray(N)&&N.length>=2)if(V=N[1],I!==void 0&&!I.match(/^-/)&&!b(V,H.bools)&&!b(V,H.counts))g(V,I),W++;else g(V,c(V))}else if(q.match(/^-[^-]+/)&&!q.match(j)){R=q.slice(1,-1).split(""),U=!1;for(let XD=0;XD<R.length;XD++){if(I=q.slice(XD+2),R[XD+1]&&R[XD+1]==="="){if(GD=q.slice(XD+3),V=R[XD],b(V,H.arrays))W=AD(W,V,E,GD);else if(b(V,H.nargs)!==!1)W=e(W,V,E,GD);else g(V,GD);U=!0;break}if(I==="-"){g(R[XD],I);continue}if(/[A-Za-z]/.test(R[XD])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(I)&&b(I,H.bools)===!1){g(R[XD],I),U=!0;break}if(R[XD+1]&&R[XD+1].match(/\W/)){g(R[XD],I),U=!0;break}else g(R[XD],c(R[XD]))}if(V=q.slice(-1)[0],!U&&V!=="-")if(b(V,H.arrays))W=AD(W,V,E);else if(b(V,H.nargs)!==!1)W=e(W,V,E);else if(I=E[W+1],I!==void 0&&(!/^(-|--)[^-]/.test(I)||I.match(j))&&!b(V,H.bools)&&!b(V,H.counts))g(V,I),W++;else if(/^(true|false)$/.test(I))g(V,I),W++;else g(V,c(V))}else if(q.match(/^-[0-9]$/)&&q.match(j)&&b(q.slice(1),H.bools))V=q.slice(1),g(V,c(V));else if(q==="--"){n=E.slice(W+1);break}else if($["halt-at-non-option"]){n=E.slice(W);break}else a(q)}if(ED(f,!0),ED(f,!1),P(f),d(),wD(f,H.aliases,z,!0),k(f),$["set-placeholder-key"])BD(f);if(Object.keys(H.counts).forEach(function(W){if(!l(f,W.split(".")))g(W,0)}),O&&n.length)f[J]=[];if(n.forEach(function(W){f[J].push(W)}),$["camel-case-expansion"]&&$["strip-dashed"])Object.keys(f).filter((W)=>W!=="--"&&W.includes("-")).forEach((W)=>{delete f[W]});if($["strip-aliased"])[].concat(...Object.keys(B).map((W)=>B[W])).forEach((W)=>{if($["camel-case-expansion"]&&W.includes("-"))delete f[W.split(".").map((q)=>yD(q)).join(".")];delete f[W]});function a(W){let q=K("_",W);if(typeof q==="string"||typeof q==="number")f._.push(q)}function e(W,q,_,U){let V,R=b(q,H.nargs);if(R=typeof R!=="number"||isNaN(R)?1:R,R===0){if(!zD(U))x=Error(M("Argument unexpected for: %s",q));return g(q,c(q)),W}let N=zD(U)?0:1;if($["nargs-eats-options"]){if(_.length-(W+1)+N<R)x=Error(M("Not enough arguments following: %s",q));N=R}else{for(V=W+1;V<_.length;V++)if(!_[V].match(/^-[^0-9]/)||_[V].match(j)||t(_[V]))N++;else break;if(N<R)x=Error(M("Not enough arguments following: %s",q))}let I=Math.min(N,R);if(!zD(U)&&I>0)g(q,U),I--;for(V=W+1;V<I+W+1;V++)g(q,_[V]);return W+I}function AD(W,q,_,U){let V=[],R=U||_[W+1],N=b(q,H.nargs);if(b(q,H.bools)&&!/^(true|false)$/.test(R))V.push(!0);else if(zD(R)||zD(U)&&/^-/.test(R)&&!j.test(R)&&!t(R)){if(z[q]!==void 0){let I=z[q];V=Array.isArray(I)?I:[I]}}else{if(!zD(U))V.push(S(q,U,!0));for(let I=W+1;I<_.length;I++){if(!$["greedy-arrays"]&&V.length>0||N&&typeof N==="number"&&V.length>=N)break;if(R=_[I],/^-/.test(R)&&!j.test(R)&&!t(R))break;W=I,V.push(S(q,R,C))}}if(typeof N==="number"&&(N&&V.length<N||isNaN(N)&&V.length===0))x=Error(M("Not enough arguments following: %s",q));return g(q,V),W}function g(W,q,_=C){if(/-/.test(W)&&$["camel-case-expansion"]){let R=W.split(".").map(function(N){return yD(N)}).join(".");Hu(W,R)}let U=S(W,q,_),V=W.split(".");if(SD(f,V,U),H.aliases[W])H.aliases[W].forEach(function(R){let N=R.split(".");SD(f,N,U)});if(V.length>1&&$["dot-notation"])(H.aliases[V[0]]||[]).forEach(function(R){let N=R.split("."),I=[].concat(V);if(I.shift(),N=N.concat(I),!(H.aliases[W]||[]).includes(N.join(".")))SD(f,N,U)});if(b(W,H.normalize)&&!b(W,H.arrays))[W].concat(H.aliases[W]||[]).forEach(function(N){Object.defineProperty(i,N,{enumerable:!0,get(){return q},set(I){q=typeof I==="string"?PD.normalize(I):I}})})}function Hu(W,q){if(!(H.aliases[W]&&H.aliases[W].length))H.aliases[W]=[q],Q[q]=!0;if(!(H.aliases[q]&&H.aliases[q].length))Hu(q,W)}function S(W,q,_){if(_)q=U3(q);if(b(W,H.bools)||b(W,H.counts)){if(typeof q==="string")q=q==="true"}let U=Array.isArray(q)?q.map(function(V){return K(W,V)}):K(W,q);if(b(W,H.counts)&&(zD(U)||typeof U==="boolean"))U=_F();if(b(W,H.normalize)&&b(W,H.arrays))if(Array.isArray(q))U=q.map((V)=>{return PD.normalize(V)});else U=PD.normalize(q);return U}function K(W,q){if(!$["parse-positional-numbers"]&&W==="_")return q;if(!b(W,H.strings)&&!b(W,H.bools)&&!Array.isArray(q)){if(pu(q)&&$["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${q}`)))||!zD(q)&&b(W,H.numbers))q=Number(q)}return q}function P(W){let q=Object.create(null);wD(q,H.aliases,z),Object.keys(H.configs).forEach(function(_){let U=W[_]||q[_];if(U)try{let V=null,R=PD.resolve(PD.cwd(),U),N=H.configs[_];if(typeof N==="function"){try{V=N(R)}catch(I){V=I}if(V instanceof Error){x=V;return}}else V=PD.require(R);p(V)}catch(V){if(V.name==="PermissionDenied")x=V;else if(W[_])x=Error(M("Invalid JSON config file: %s",U))}})}function p(W,q){Object.keys(W).forEach(function(_){let U=W[_],V=q?q+"."+_:_;if(typeof U==="object"&&U!==null&&!Array.isArray(U)&&$["dot-notation"])p(U,V);else if(!l(f,V.split("."))||b(V,H.arrays)&&$["combine-arrays"])g(V,U)})}function d(){if(typeof Z<"u")Z.forEach(function(W){p(W)})}function ED(W,q){if(typeof X>"u")return;let _=typeof X==="string"?X:"",U=PD.env();Object.keys(U).forEach(function(V){if(_===""||V.lastIndexOf(_,0)===0){let R=V.split("__").map(function(N,I){if(I===0)N=N.substring(_.length);return yD(N)});if((q&&H.configs[R.join(".")]||!q)&&!l(W,R))g(R.join("."),U[V])}})}function k(W){let q,_=new Set;Object.keys(W).forEach(function(U){if(!_.has(U)){if(q=b(U,H.coercions),typeof q==="function")try{let V=K(U,q(W[U]));[].concat(H.aliases[U]||[],U).forEach((R)=>{_.add(R),W[R]=V})}catch(V){x=V}}})}function BD(W){return H.keys.forEach((q)=>{if(~q.indexOf("."))return;if(typeof W[q]>"u")W[q]=void 0}),W}function wD(W,q,_,U=!1){Object.keys(_).forEach(function(V){if(!l(W,V.split("."))){if(SD(W,V.split("."),_[V]),U)Y[V]=!0;(q[V]||[]).forEach(function(R){if(l(W,R.split(".")))return;SD(W,R.split("."),_[V])})}})}function l(W,q){let _=W;if(!$["dot-notation"])q=[q.join(".")];q.slice(0,-1).forEach(function(V){_=_[V]||{}});let U=q[q.length-1];if(typeof _!=="object")return!1;else return U in _}function SD(W,q,_){let U=W;if(!$["dot-notation"])q=[q.join(".")];q.slice(0,-1).forEach(function(GD){if(GD=p0(GD),typeof U==="object"&&U[GD]===void 0)U[GD]={};if(typeof U[GD]!=="object"||Array.isArray(U[GD])){if(Array.isArray(U[GD]))U[GD].push({});else U[GD]=[U[GD],{}];U=U[GD][U[GD].length-1]}else U=U[GD]});let V=p0(q[q.length-1]),R=b(q.join("."),H.arrays),N=Array.isArray(_),I=$["duplicate-arguments-array"];if(!I&&b(V,H.nargs)){if(I=!0,!zD(U[V])&&H.nargs[V]===1||Array.isArray(U[V])&&U[V].length===H.nargs[V])U[V]=void 0}if(_===_F())U[V]=_F(U[V]);else if(Array.isArray(U[V]))if(I&&R&&N)U[V]=$["flatten-duplicate-arrays"]?U[V].concat(_):(Array.isArray(U[V][0])?U[V]:[U[V]]).concat([_]);else if(!I&&Boolean(R)===Boolean(N))U[V]=_;else U[V]=U[V].concat([_]);else if(U[V]===void 0&&R)U[V]=N?_:[_];else if(I&&!(U[V]===void 0||b(V,H.counts)||b(V,H.bools)))U[V]=[U[V],_];else U[V]=_}function Vu(...W){W.forEach(function(q){Object.keys(q||{}).forEach(function(_){if(H.aliases[_])return;H.aliases[_]=[].concat(B[_]||[]),H.aliases[_].concat(_).forEach(function(U){if(/-/.test(U)&&$["camel-case-expansion"]){let V=yD(U);if(V!==_&&H.aliases[_].indexOf(V)===-1)H.aliases[_].push(V),Q[V]=!0}}),H.aliases[_].concat(_).forEach(function(U){if(U.length>1&&/[A-Z]/.test(U)&&$["camel-case-expansion"]){let V=vu(U,"-");if(V!==_&&H.aliases[_].indexOf(V)===-1)H.aliases[_].push(V),Q[V]=!0}}),H.aliases[_].forEach(function(U){H.aliases[U]=[_].concat(H.aliases[_].filter(function(V){return U!==V}))})})})}function b(W,q){let _=[].concat(H.aliases[W]||[],W),U=Object.keys(q),V=_.find((R)=>U.includes(R));return V?q[V]:!1}function zu(W){let q=Object.keys(H);return[].concat(q.map((U)=>H[U])).some(function(U){return Array.isArray(U)?U.includes(W):U[W]})}function C0(W,...q){return[].concat(...q).some(function(U){let V=W.match(U);return V&&zu(V[1])})}function h(W){if(W.match(j)||!W.match(/^-[^-]+/))return!1;let q=!0,_,U=W.slice(1).split("");for(let V=0;V<U.length;V++){if(_=W.slice(V+2),!zu(U[V])){q=!1;break}if(U[V+1]&&U[V+1]==="="||_==="-"||/[A-Za-z]/.test(U[V])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(_)||U[V+1]&&U[V+1].match(/\W/))break}return q}function t(W){return $["unknown-options-as-args"]&&$D(W)}function $D(W){if(W=W.replace(/^-{3,}/,"--"),W.match(j))return!1;if(h(W))return!1;return!C0(W,/^-+([^=]+?)=[\s\S]*$/,A,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function c(W){if(!b(W,H.bools)&&!b(W,H.counts)&&`${W}`in z)return z[W];else return JD(DD(W))}function JD(W){return{[qD.BOOLEAN]:!0,[qD.STRING]:"",[qD.NUMBER]:void 0,[qD.ARRAY]:[]}[W]}function DD(W){let q=qD.BOOLEAN;if(b(W,H.strings))q=qD.STRING;else if(b(W,H.numbers))q=qD.NUMBER;else if(b(W,H.bools))q=qD.BOOLEAN;else if(b(W,H.arrays))q=qD.ARRAY;return q}function zD(W){return W===void 0}function YF(){Object.keys(H.counts).find((W)=>{if(b(W,H.arrays))return x=Error(M("Invalid configuration: %s, opts.count excludes opts.array.",W)),!0;else if(b(W,H.nargs))return x=Error(M("Invalid configuration: %s, opts.count excludes opts.narg.",W)),!0;return!1})}return{aliases:Object.assign({},H.aliases),argv:Object.assign(i,f),configuration:$,defaulted:Object.assign({},Y),error:x,newAliases:Object.assign({},Q)}}}function q3(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 _F(D){return D!==void 0?D+1:1}function p0(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 N3}from"fs";import{createRequire as m0}from"node:module";var NF,TF,AF,c0=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):20,y0=(TF=(NF=process===null||process===void 0?void 0:process.versions)===null||NF===void 0?void 0:NF.node)!==null&&TF!==void 0?TF:(AF=process===null||process===void 0?void 0:process.version)===null||AF===void 0?void 0:AF.slice(1);if(y0){if(Number(y0.match(/^([^.]+)/)[1])<c0)throw Error(`yargs parser supports a minimum Node.js version of ${c0}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var T3=process?process.env:{},i0=m0?m0(import.meta.url):void 0,k0=new KF({cwd:process.cwd,env:()=>{return T3},format:j3,normalize:_3,resolve:K3,require:(D)=>{if(typeof i0<"u")return i0(D);else if(D.match(/\.json$/))return JSON.parse(N3(D,"utf8"));else throw Error("only .json config files are supported in ESM")}}),qu=function(u,F){return k0.parse(u.slice(),F).argv};qu.detailed=function(D,u){return k0.parse(D.slice(),u)};qu.camelCase=yD;qu.decamelize=vu;qu.looksLikeNumber=pu;var LF=qu;import{basename as v3,dirname as p3,extname as m3,relative as c3,resolve as a0,join as y3}from"path";function d0(){if(A3())return 0;return 1}function A3(){return L3()&&!process.defaultApp}function L3(){return!!process.versions.electron}function RF(D){return D.slice(d0()+1)}function n0(){return process.argv[d0()]}import{readFileSync as R3,statSync as S3,writeFile as P3}from"fs";import{format as w3}from"util";import{resolve as I3}from"path";var g0={fs:{readFileSync:R3,writeFile:P3},format:w3,resolve:I3,exists:(D)=>{try{return S3(D).isFile()}catch(u){return!1}}};var ND;class t0{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 ND.format.apply(ND.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 ND.format.apply(ND.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);ND.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(ND.fs.readFileSync)D=JSON.parse(ND.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=ND.resolve(D,"./",u+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(F)&&~u.lastIndexOf("_")){let E=ND.resolve(D,"./",u.split("_")[0]+".json");if(this._fileExistsSync(E))F=E}return F}_fileExistsSync(D){return ND.exists(D)}}function l0(D,u){ND=u;let F=new t0(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 l0(D,g0)},o0=x3;var D2=$0(r0(),1);import{createRequire as i3}from"node:module";import{readFileSync as k3,readdirSync as d3}from"node:fs";var SF=e0(import.meta.url),n3=SF.substring(0,SF.lastIndexOf("node_modules")),g3=i3(import.meta.url),PF={assert:{notStrictEqual:f3,strictEqual:b3},cliui:UF,findUp:jF,getEnv:(D)=>{return process.env[D]},inspect:h3,getProcessArgvBin:n0,mainFilename:n3||process.cwd(),Parser:LF,path:{basename:v3,dirname:p3,extname:m3,relative:c3,resolve:a0,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:k3,readdirSync:d3,require:g3,getCallerFile:()=>{let D=D2.default(3);return D.match(/^file:\/\//)?e0(D):D},stringWidth:KD,y18n:o0({directory:a0(SF,"../../../locales"),updateFiles:!1})};function QD(D,u,F,E){F.assert.notStrictEqual(D,u,E)}function wF(D,u){u.assert.strictEqual(typeof D,"string")}function Zu(D){return Object.keys(D)}function o(D){return!!D&&!!D.then&&typeof D.then==="function"}class uD extends Error{constructor(D){super(D||"yargs error");if(this.name="YError",Error.captureStackTrace)Error.captureStackTrace(this,uD)}}function ID(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 t3=["first","second","third","fourth","fifth","sixth"];function T(D,u,F){function E(){return typeof D==="object"?[{demanded:[],optional:[]},D,u]:[ID(`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 X=z||Z.length;if(X<B.demanded.length)throw new uD(`Not enough arguments provided. Expected ${B.demanded.length} but received ${Z.length}.`);let O=B.demanded.length+B.optional.length;if(X>O)throw new uD(`Too many arguments provided. Expected max ${O} but received ${X}.`);B.demanded.forEach((J)=>{let Q=Z.shift(),Y=u2(Q);if(J.cmd.filter((H)=>H===Y||H==="*").length===0)F2(Y,J.cmd,C);C+=1}),B.optional.forEach((J)=>{if(Z.length===0)return;let Q=Z.shift(),Y=u2(Q);if(J.cmd.filter((H)=>H===Y||H==="*").length===0)F2(Y,J.cmd,C);C+=1})}catch(C){console.warn(C.stack)}}function u2(D){if(Array.isArray(D))return"array";else if(D===null)return"null";return typeof D}function F2(D,u,F){throw new uD(`Invalid ${t3[F]||"manyith"} argument. Expected ${u.join(" or ")} but received ${D}.`)}class IF{constructor(D){this.globalMiddleware=[],this.frozens=[],this.yargs=D}addMiddleware(D,u,F=!0,E=!1){if(T("<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 E2(D){if(!D)return[];return D.map((u)=>{return u.applyBeforeValidation=!1,u})}function iD(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 kD(D,u,F=(E)=>{throw E}){try{let E=l3(D)?D():D;return o(E)?E.then((C)=>u(C)):u(E)}catch(E){return F(E)}}function l3(D){return typeof D==="function"}var Ju=/(^\*)|(^\$0)/;class B2{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 O=!1;if(typeof E.exclude==="function")O=E.exclude(Z);else O=E.exclude.test(Z);if(O)continue}if(E.include){let O=!1;if(typeof E.include==="function")O=E.include(Z);else O=E.include.test(Z);if(!O)continue}let X=!1;for(let O of E.extensions)if(Z.endsWith(O))X=!0;if(X){let O=this.shim.path.join(C,Z),J=u(O),Q=Object.create(null,Object.getOwnPropertyDescriptors({...J}));if($(Q,O,Z)){if(this.requireCache.has(O))continue;else this.requireCache.add(O);if(!Q.command)Q.command=this.shim.path.basename(O,this.shim.path.extname(O));this.addHandler(Q)}}}}addHandler(D,u,F,E,C,B){let $=[],z=E2(C);if(E=E||(()=>{}),Array.isArray(D))if(o3(D))[D,...$]=D;else for(let Z of D)this.addHandler(Z);else if(r3(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(C2(F)){this.addHandler([D].concat($),u,F.builder,F.handler,F.middlewares,F.deprecated);return}if(typeof D==="string"){let Z=ID(D);$=$.map((J)=>ID(J).cmd);let X=!1,O=[Z.cmd].concat($).filter((J)=>{if(Ju.test(J))return X=!0,!1;return!0});if(O.length===0&&X)O.push("$0");if(X)Z.cmd=O[0],$=O.slice(1),D=D.replace(Ju,Z.cmd);if($.forEach((J)=>{this.aliasMap[J]=Z.cmd}),u!==!1)this.usage.command(D,u,X,$,B);if(this.handlers[Z.cmd]={original:D,description:u,handler:E,builder:F||{},middlewares:z,deprecated:B,demanded:Z.demanded,optional:Z.optional},X)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(),X=!D;if(D)z.commands.push(D),z.fullCommands.push($.original);let O=this.applyBuilderUpdateUsageAndParse(X,$,u,F.aliases,Z,E,C,B);return o(O)?O.then((J)=>this.applyMiddlewareAndGetResult(X,$,J.innerArgv,z,C,J.aliases,u)):this.applyMiddlewareAndGetResult(X,$,O.innerArgv,z,C,O.aliases,u)}applyBuilderUpdateUsageAndParse(D,u,F,E,C,B,$,z){let Z=u.builder,X=F;if(mu(Z)){F.getInternalMethods().getUsageInstance().freeze();let O=Z(F.getInternalMethods().reset(E),z);if(o(O))return O.then((J)=>{return X=z2(J)?J:F,this.parseAndUpdateUsage(D,u,X,C,B,$)})}else if(s3(Z))F.getInternalMethods().getUsageInstance().freeze(),X=F.getInternalMethods().reset(E),Object.keys(u.builder).forEach((O)=>{X.option(O,Z[O])});return this.parseAndUpdateUsage(D,u,X,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=Ju.test(u.original)?u.original.replace(Ju,"").trim():u.original,E=D.filter((C)=>{return!Ju.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=kD(F,(X)=>{return Z(X),X})}if(u.handler&&!B.getInternalMethods().getHasOutput()){B.getInternalMethods().setHasOutput();let Z=!!B.getOptions().configuration["populate--"];if(B.getInternalMethods().postProcess(F,Z,!1,!1),F=iD(F,B,$,!1),F=kD(F,(X)=>{let O=u.handler(X);return o(O)?O.then(()=>X):X}),!D)B.getInternalMethods().getUsageInstance().cacheHelpMessage();if(o(F)&&!B.getInternalMethods().hasParseCallback())F.catch((X)=>{try{B.getInternalMethods().getUsageInstance().fail(null,X)}catch(O){}})}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),X=iD(F,$,Z,!0);return o(X)?X.then((O)=>this.handleValidationAndGetResult(D,u,O,E,B,$,Z,z)):this.handleValidationAndGetResult(D,u,X,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=ID(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((X)=>{if(C.configuration["unknown-options-as-args"])C.key[Z]=!0;B.push(`--${Z}`),B.push(X)})}),!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((X)=>{Z.push(...z.aliases[X])}),Object.keys(z.argv).forEach((X)=>{if(Z.includes(X)){if(!u[X])u[X]=z.argv[X];if(!this.isInConfigs(E,X)&&!this.isDefaulted(E,X)&&Object.prototype.hasOwnProperty.call(D,X)&&Object.prototype.hasOwnProperty.call(z.argv,X)&&(Array.isArray(D[X])||Array.isArray(z.argv[X])))D[X]=[].concat(D[X],z.argv[X]);else D[X]=z.argv[X]}})}}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=Ju.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(mu(u))return u(D,!0);else if(!C2(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;QD(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();QD(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 $2(D,u,F,E){return new B2(D,u,F,E)}function C2(D){return typeof D==="object"&&!!D.builder&&typeof D.handler==="function"}function o3(D){return D.every((u)=>typeof u==="string")}function mu(D){return typeof D==="function"}function s3(D){return typeof D==="object"}function r3(D){return typeof D==="object"&&!Array.isArray(D)}function xD(D={},u=()=>!0){let F={};return Zu(D).forEach((E)=>{if(u(E,D[E]))F[E]=D[E]}),F}function fD(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 a3(D){return typeof D==="boolean"}function Z2(D,u){let F=u.y18n.__,E={},C=[];E.failFn=function(K){C.push(K)};let B=null,$=null,z=!0;E.showHelpOnFail=function(K=!0,P){let[p,d]=typeof K==="string"?[!0,K]:[K,P];if(D.getInternalMethods().isGlobalContext())$=d;return B=d,z=p,E};let Z=!1;E.fail=function(K,P){let p=D.getInternalMethods().getLoggerInstance();if(C.length)for(let d=C.length-1;d>=0;--d){let ED=C[d];if(a3(ED)){if(P)throw P;else if(K)throw Error(K)}else ED(K,P,E)}else{if(D.getExitProcess())fD(!0);if(!Z){if(Z=!0,z)D.showHelp("error"),p.error();if(K||P)p.error(K||P);let d=B||$;if(d){if(K||P)p.error("");p.error(d)}}if(P=P||new uD(K),D.getExitProcess())return D.exit(1);else if(D.getInternalMethods().hasParseCallback())return D.exit(1,P);else throw P}};let X=[],O=!1;E.usage=(S,K)=>{if(S===null)return O=!0,X=[],E;return O=!1,X.push([S,K||""]),E},E.getUsage=()=>{return X},E.getUsageDisabled=()=>{return O},E.getPositionalGroupName=()=>{return F("Positionals:")};let J=[];E.example=(S,K)=>{J.push([S,K||""])};let Q=[];E.command=function(K,P,p,d,ED=!1){if(p)Q=Q.map((k)=>{return k[2]=!1,k});Q.push([K,P||"",p,d,ED])},E.getCommands=()=>Q;let Y={};E.describe=function(K,P){if(Array.isArray(K))K.forEach((p)=>{E.describe(p,P)});else if(typeof K==="object")Object.keys(K).forEach((p)=>{E.describe(p,K[p])});else Y[K]=P},E.getDescriptions=()=>Y;let M=[];E.epilog=(S)=>{M.push(S)};let H=!1,j;E.wrap=(S)=>{H=!0,j=S},E.getWrap=()=>{if(u.getEnv("YARGS_DISABLE_WRAP"))return null;if(!H)j=AD(),H=!0;return j};let A="__yargsString__:";E.deferY18nLookup=(S)=>A+S,E.help=function(){if(f)return f;n();let K=D.customScriptName?D.$0:u.path.basename(D.$0),P=D.getDemandedOptions(),p=D.getDemandedCommands(),d=D.getDeprecatedOptions(),ED=D.getGroups(),k=D.getOptions(),BD=[];BD=BD.concat(Object.keys(Y)),BD=BD.concat(Object.keys(P)),BD=BD.concat(Object.keys(p)),BD=BD.concat(Object.keys(k.default)),BD=BD.filter(a),BD=Object.keys(BD.reduce((h,t)=>{if(t!=="_")h[t]=!0;return h},{}));let wD=E.getWrap(),l=u.cliui({width:wD,wrap:!!wD});if(!O){if(X.length)X.forEach((h)=>{if(l.div({text:`${h[0].replace(/\$0/g,K)}`}),h[1])l.div({text:`${h[1]}`,padding:[1,0,0,0]})}),l.div();else if(Q.length){let h=null;if(p._)h=`${K} <${F("command")}>
15
- `;else h=`${K} [${F("command")}]
16
- `;l.div(`${h}`)}}if(Q.length>1||Q.length===1&&!Q[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)Q=Q.sort((c,JD)=>c[0].localeCompare(JD[0]));let $D=K?`${K} `:"";Q.forEach((c)=>{let JD=`${$D}${t}${c[0].replace(/^\$0 ?/,"")}`;l.span({text:JD,padding:[0,2,0,2],width:x(Q,wD,`${K}${t}`)+4},{text:c[1]});let DD=[];if(c[2])DD.push(`[${F("default")}]`);if(c[3]&&c[3].length)DD.push(`[${F("aliases:")} ${c[3].join(", ")}]`);if(c[4])if(typeof c[4]==="string")DD.push(`[${F("deprecated: %s",c[4])}]`);else DD.push(`[${F("deprecated")}]`);if(DD.length)l.div({text:DD.join(" "),padding:[0,0,0,2],align:"right"});else l.div()}),l.div()}let SD=(Object.keys(k.alias)||[]).concat(Object.keys(D.parsed.newAliases)||[]);BD=BD.filter((h)=>!D.parsed.newAliases[h]&&SD.every((t)=>(k.alias[t]||[]).indexOf(h)===-1));let Vu=F("Options:");if(!ED[Vu])ED[Vu]=[];i(BD,k.alias,ED,Vu);let b=(h)=>/^--/.test(cu(h)),zu=Object.keys(ED).filter((h)=>ED[h].length>0).map((h)=>{let t=ED[h].filter(a).map(($D)=>{if(SD.includes($D))return $D;for(let c=0,JD;(JD=SD[c])!==void 0;c++)if((k.alias[JD]||[]).includes($D))return JD;return $D});return{groupName:h,normalizedKeys:t}}).filter(({normalizedKeys:h})=>h.length>0).map(({groupName:h,normalizedKeys:t})=>{let $D=t.reduce((c,JD)=>{return c[JD]=[JD].concat(k.alias[JD]||[]).map((DD)=>{if(h===E.getPositionalGroupName())return DD;else return(/^[0-9]$/.test(DD)?k.boolean.includes(JD)?"-":"--":DD.length>1?"--":"-")+DD}).sort((DD,zD)=>b(DD)===b(zD)?0:b(DD)?1:-1).join(", "),c},{});return{groupName:h,normalizedKeys:t,switches:$D}});if(zu.filter(({groupName:h})=>h!==E.getPositionalGroupName()).some(({normalizedKeys:h,switches:t})=>!h.every(($D)=>b(t[$D]))))zu.filter(({groupName:h})=>h!==E.getPositionalGroupName()).forEach(({normalizedKeys:h,switches:t})=>{h.forEach(($D)=>{if(b(t[$D]))t[$D]=e3(t[$D],4)})});if(zu.forEach(({groupName:h,normalizedKeys:t,switches:$D})=>{l.div(h),t.forEach((c)=>{let JD=$D[c],DD=Y[c]||"",zD=null;if(DD.includes(A))DD=F(DD.substring(A.length));if(k.boolean.includes(c))zD=`[${F("boolean")}]`;if(k.count.includes(c))zD=`[${F("count")}]`;if(k.string.includes(c))zD=`[${F("string")}]`;if(k.normalize.includes(c))zD=`[${F("string")}]`;if(k.array.includes(c))zD=`[${F("array")}]`;if(k.number.includes(c))zD=`[${F("number")}]`;let YF=(_)=>typeof _==="string"?`[${F("deprecated: %s",_)}]`:`[${F("deprecated")}]`,W=[c in d?YF(d[c]):null,zD,c in P?`[${F("required")}]`:null,k.choices&&k.choices[c]?`[${F("choices:")} ${E.stringifiedValues(k.choices[c])}]`:null,e(k.default[c],k.defaultDescription[c])].filter(Boolean).join(" ");l.span({text:cu(JD),padding:[0,2,0,2+G2(JD)],width:x($D,wD)+4},DD);let q=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(W&&!q)l.div({text:W,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,K)}),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:x(J,wD)+4},{text:h[1]})}),l.div();if(M.length>0){let h=M.map((t)=>t.replace(/\$0/g,K)).join(`
13
+ `).map((E)=>z3(E,u,F)).join(`
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")}>
15
+ `;else h=`${A} [${F("command")}]
16
+ `;l.div(`${h}`)}}if(Y.length>1||Y.length===1&&!Y[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)Y=Y.sort((g,QD)=>g[0].localeCompare(QD[0]));let zD=A?`${A} `:"";Y.forEach((g)=>{let QD=`${zD}${t}${g[0].replace(/^\$0 ?/,"")}`;l.span({text:QD,padding:[0,2,0,2],width:N(Y,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]=d3(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 AF=(K)=>typeof K==="string"?`[${F("deprecated: %s",K)}]`:`[${F("deprecated")}]`,M=[g in n?AF(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+f2(QD)],width:N(zD,hD)+4},uD);let U=D.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(M&&!U)l.div({text:M,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 x(S,K,P){let p=0;if(!Array.isArray(S))S=Object.values(S).map((d)=>[d]);if(S.forEach((d)=>{p=Math.max(u.stringWidth(P?`${P} ${cu(d[0])}`:cu(d[0]))+G2(d[0]),p)}),K)p=Math.min(p,parseInt((K*0.5).toString(),10));return p}function n(){let S=D.getDemandedOptions(),K=D.getOptions();(Object.keys(K.alias)||[]).forEach((P)=>{K.alias[P].forEach((p)=>{if(Y[p])E.describe(P,Y[p]);if(p in S)D.demandOption(P,S[p]);if(K.boolean.includes(p))D.boolean(P);if(K.count.includes(p))D.count(P);if(K.string.includes(p))D.string(P);if(K.normalize.includes(p))D.normalize(P);if(K.array.includes(p))D.array(P);if(K.number.includes(p))D.number(P)})})}let f;E.cacheHelpMessage=function(){f=this.help()},E.clearCachedHelpMessage=function(){f=void 0},E.hasCachedHelpMessage=function(){return!!f};function i(S,K,P,p){let d=[],ED=null;return Object.keys(P).forEach((k)=>{d=d.concat(P[k])}),S.forEach((k)=>{if(ED=[k].concat(K[k]),!ED.some((BD)=>d.indexOf(BD)!==-1))P[p].push(k)}),d}function a(S){return D.getOptions().hiddenOptions.indexOf(S)<0||D.parsed.argv[D.getOptions().showHiddenOpt]}E.showHelp=(S)=>{let K=D.getInternalMethods().getLoggerInstance();if(!S)S="error";(typeof S==="function"?S:K[S])(E.help())},E.functionDescription=(S)=>{return["(",S.name?u.Parser.decamelize(S.name,"-"):F("generated-value"),")"].join("")},E.stringifiedValues=function(K,P){let p="",d=P||", ",ED=[].concat(K);if(!K||!ED.length)return p;return ED.forEach((k)=>{if(p.length)p+=d;p+=JSON.stringify(k)}),p};function e(S,K){let P=`[${F("default:")} `;if(S===void 0&&!K)return null;if(K)P+=K;else switch(typeof S){case"string":P+=`"${S}"`;break;case"object":P+=JSON.stringify(S);break;default:P+=S}return`${P}]`}function AD(){if(u.process.stdColumns)return Math.min(80,u.process.stdColumns);else return 80}let g=null;E.version=(S)=>{g=S},E.showVersion=(S)=>{let K=D.getInternalMethods().getLoggerInstance();if(!S)S="error";(typeof S==="function"?S:K[S])(g)},E.reset=function(K){return B=null,Z=!1,X=[],O=!1,M=[],J=[],Q=[],Y=xD(Y,(P)=>!K[P]),E};let Hu=[];return E.freeze=function(){Hu.push({failMessage:B,failureOutput:Z,usages:X,usageDisabled:O,epilogs:M,examples:J,commands:Q,descriptions:Y})},E.unfreeze=function(K=!1){let P=Hu.pop();if(!P)return;if(K)Y={...P.descriptions,...Y},Q=[...P.commands,...Q],X=[...P.usages,...X],J=[...P.examples,...J],M=[...P.epilogs,...M];else({failMessage:B,failureOutput:Z,usages:X,usageDisabled:O,epilogs:M,examples:J,commands:Q,descriptions:Y}=P)},E}function xF(D){return typeof D==="object"}function e3(D,u){return xF(D)?{text:D.text,indentation:D.indentation+u}:{text:D,indentation:u}}function G2(D){return xF(D)?D.indentation:0}function cu(D){return xF(D)?D.text:D}var J2=`###-begin-{{app_name}}-completions-###
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]))+f2(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 qD(){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=[],Y=[],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:Y,descriptions:W})},E.unfreeze=function(A=!1){let x=tD.pop();if(!x)return;if(A)W={...x.descriptions,...W},Y=[...x.commands,...Y],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:Y,descriptions:W}=x)},E}function kF(D){return typeof D==="object"}function d3(D,u){return kF(D)?{text:D.text,indentation:D.indentation+u}:{text:D,indentation:u}}function f2(D){return kF(D)?D.indentation:0}function ou(D){return kF(D)?D.text:D}var v2=`###-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
- `,X2=`#compdef {{app_name}}
47
+ `,p2=`#compdef {{app_name}}
48
48
  ###-begin-{{app_name}}-completions-###
49
49
  #
50
50
  # yargs command completion script
@@ -71,68 +71,86 @@ else
71
71
  compdef _{{app_name}}_yargs_completions {{app_name}}
72
72
  fi
73
73
  ###-end-{{app_name}}-completions-###
74
- `;class Q2{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(mu(Z)){this.indexAfterLastReset=$+1;let X=this.yargs.getInternalMethods().reset();return Z(X,!0),X.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=ID(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 Q=this.usage.getDescriptions(),Y=(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((j)=>{let A=Q[j];return typeof A==="string"&&A.length>0}),M=Y?Q[Y]:void 0,H=(z=($=Q[D])!==null&&$!==void 0?$:M)!==null&&z!==void 0?z:"";Z=`${D.replace(/:/g,"\\:")}:${H.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let X=(Q)=>/^--/.test(Q),O=(Q)=>/^[^0-9]$/.test(Q),J=!X(F)&&O(D)?"-":"--";if(u.push(J+Z),E)u.push(J+"no-"+Z)}customCompletion(D,u,F,E){if(QD(this.customCompletionFunction,null,this.shim),u1(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(F1(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?X2:J2,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 O2(D,u,F,E){return new Q2(D,u,F,E)}function u1(D){return D.length<3}function F1(D){return D.length>3}function Y2(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 W2=["$0","--","_"];function M2(D,u,F){let E=F.y18n.__,C=F.y18n.__n,B={};B.nonOptionCount=function(J){let Q=D.getDemandedCommands(),M=J._.length+(J["--"]?J["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(Q._&&(M<Q._.min||M>Q._.max)){if(M<Q._.min)if(Q._.minMsg!==void 0)u.fail(Q._.minMsg?Q._.minMsg.replace(/\$0/g,M.toString()).replace(/\$1/,Q._.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",M,M.toString(),Q._.min.toString()));else if(M>Q._.max)if(Q._.maxMsg!==void 0)u.fail(Q._.maxMsg?Q._.maxMsg.replace(/\$0/g,M.toString()).replace(/\$1/,Q._.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",M,M.toString(),Q._.max.toString()))}},B.positionalCount=function(J,Q){if(Q<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",Q,Q+"",J+""))},B.requiredArguments=function(J,Q){let Y=null;for(let M of Object.keys(Q))if(!Object.prototype.hasOwnProperty.call(J,M)||typeof J[M]>"u")Y=Y||{},Y[M]=Q[M];if(Y){let M=[];for(let j of Object.keys(Y)){let A=Y[j];if(A&&M.indexOf(A)<0)M.push(A)}let H=M.length?`
75
- ${M.join(`
76
- `)}`:"";u.fail(C("Missing required argument: %s","Missing required arguments: %s",Object.keys(Y).length,Object.keys(Y).join(", ")+H))}},B.unknownArguments=function(J,Q,Y,M,H=!0){var j;let A=D.getInternalMethods().getCommandInstance().getCommands(),x=[],n=D.getInternalMethods().getContext();if(Object.keys(J).forEach((f)=>{if(!W2.includes(f)&&!Object.prototype.hasOwnProperty.call(Y,f)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),f)&&!B.isValidAndSomeAliasIsNotNew(f,Q))x.push(f)}),H&&(n.commands.length>0||A.length>0||M))J._.slice(n.commands.length).forEach((f)=>{if(!A.includes(""+f))x.push(""+f)});if(H){let i=((j=D.getDemandedCommands()._)===null||j===void 0?void 0:j.max)||0,a=n.commands.length+i;if(a<J._.length)J._.slice(a).forEach((e)=>{if(e=String(e),!n.commands.includes(e)&&!x.includes(e))x.push(e)})}if(x.length)u.fail(C("Unknown argument: %s","Unknown arguments: %s",x.length,x.map((f)=>f.trim()?f:`"${f}"`).join(", ")))},B.unknownCommands=function(J){let Q=D.getInternalMethods().getCommandInstance().getCommands(),Y=[],M=D.getInternalMethods().getContext();if(M.commands.length>0||Q.length>0)J._.slice(M.commands.length).forEach((H)=>{if(!Q.includes(""+H))Y.push(""+H)});if(Y.length>0)return u.fail(C("Unknown command: %s","Unknown commands: %s",Y.length,Y.join(", "))),!0;else return!1},B.isValidAndSomeAliasIsNotNew=function(J,Q){if(!Object.prototype.hasOwnProperty.call(Q,J))return!1;let Y=D.parsed.newAliases;return[J,...Q[J]].some((M)=>!Object.prototype.hasOwnProperty.call(Y,M)||!Y[J])},B.limitedChoices=function(J){let Q=D.getOptions(),Y={};if(!Object.keys(Q.choices).length)return;Object.keys(J).forEach((j)=>{if(W2.indexOf(j)===-1&&Object.prototype.hasOwnProperty.call(Q.choices,j))[].concat(J[j]).forEach((A)=>{if(Q.choices[j].indexOf(A)===-1&&A!==void 0)Y[j]=(Y[j]||[]).concat(A)})});let M=Object.keys(Y);if(!M.length)return;let H=E("Invalid values:");M.forEach((j)=>{H+=`
77
- ${E("Argument: %s, Given: %s, Choices: %s",j,u.stringifiedValues(Y[j]),u.stringifiedValues(Q.choices[j]))}`}),u.fail(H)};let $={};B.implies=function(J,Q){if(T("<string|object> [array|number|string]",[J,Q],arguments.length),typeof J==="object")Object.keys(J).forEach((Y)=>{B.implies(Y,J[Y])});else{if(D.global(J),!$[J])$[J]=[];if(Array.isArray(Q))Q.forEach((Y)=>B.implies(J,Y));else QD(Q,void 0,F),$[J].push(Q)}},B.getImplied=function(){return $};function z(O,J){let Q=Number(J);if(J=isNaN(Q)?J:Q,typeof J==="number")J=O._.length>=J;else if(J.match(/^--no-.+/))J=J.match(/^--no-(.+)/)[1],J=!Object.prototype.hasOwnProperty.call(O,J);else J=Object.prototype.hasOwnProperty.call(O,J);return J}B.implications=function(J){let Q=[];if(Object.keys($).forEach((Y)=>{let M=Y;($[Y]||[]).forEach((H)=>{let j=M,A=H;if(j=z(J,j),H=z(J,H),j&&!H)Q.push(` ${M} -> ${A}`)})}),Q.length){let Y=`${E("Implications failed:")}
78
- `;Q.forEach((M)=>{Y+=M}),u.fail(Y)}};let Z={};B.conflicts=function(J,Q){if(T("<string|object> [array|string]",[J,Q],arguments.length),typeof J==="object")Object.keys(J).forEach((Y)=>{B.conflicts(Y,J[Y])});else{if(D.global(J),!Z[J])Z[J]=[];if(Array.isArray(Q))Q.forEach((Y)=>B.conflicts(J,Y));else Z[J].push(Q)}},B.getConflicting=()=>Z,B.conflicting=function(J){if(Object.keys(J).forEach((Q)=>{if(Z[Q])Z[Q].forEach((Y)=>{if(Y&&J[Q]!==void 0&&J[Y]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",Q,Y))})}),D.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(Z).forEach((Q)=>{Z[Q].forEach((Y)=>{if(Y&&J[F.Parser.camelCase(Q)]!==void 0&&J[F.Parser.camelCase(Y)]!==void 0)u.fail(E("Arguments %s and %s are mutually exclusive",Q,Y))})})},B.recommendCommands=function(J,Q){Q=Q.sort((j,A)=>A.length-j.length);let M=null,H=1/0;for(let j=0,A;(A=Q[j])!==void 0;j++){let x=Y2(J,A);if(x<=3&&x<H)H=x,M=A}if(M)u.fail(E("Did you mean %s?",M))},B.reset=function(J){return $=xD($,(Q)=>!J[Q]),Z=xD(Z,(Q)=>!J[Q]),B};let X=[];return B.freeze=function(){X.push({implied:$,conflicting:Z})},B.unfreeze=function(){let J=X.pop();QD(J,void 0,F),{implied:$,conflicting:Z}=J},B}var fF=[],Uu;function ju(D,u,F,E){Uu=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 $=C1(u,D.extends);E1($),fF.push($),C=B?JSON.parse(Uu.readFileSync($,"utf8")):E.require(D.extends),delete D.extends,C=ju(C,Uu.path.dirname($),F,Uu)}return fF=[],F?H2(C,D):Object.assign({},C,D)}function E1(D){if(fF.indexOf(D)>-1)throw new uD(`Circular extended configurations: '${D}'.`)}function C1(D,u){return Uu.path.resolve(D,u)}function H2(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]=H2(D[C],u[C]);else F[C]=u[C];return F}var L=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},G=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)},FD,dD,_u,OD,MD,yu,bD,nD,iu,UD,ku,jD,LD,HD,_D,du,gD,ZD,w,nu,gu,VD,tD,Xu,lD,hD,tu,v,oD,sD,rD,m,lu,RD,r;function v2(D){return(u=[],F=D.process.cwd(),E)=>{let C=new p2(u,F,E,D);return Object.defineProperty(C,"argv",{get:()=>{return C.parse()},enumerable:!0}),C.help(),C.version(),C}}var V2=Symbol("copyDoubleDash"),q2=Symbol("copyDoubleDash"),bF=Symbol("deleteFromParserHintObject"),U2=Symbol("emitWarning"),j2=Symbol("freeze"),_2=Symbol("getDollarZero"),aD=Symbol("getParserConfiguration"),K2=Symbol("getUsageConfiguration"),hF=Symbol("guessLocale"),N2=Symbol("guessVersion"),T2=Symbol("parsePositionalNumbers"),vF=Symbol("pkgUp"),vD=Symbol("populateParserHintArray"),Qu=Symbol("populateParserHintSingleValueDictionary"),pF=Symbol("populateParserHintArrayDictionary"),mF=Symbol("populateParserHintDictionary"),cF=Symbol("sanitizeKey"),yF=Symbol("setKey"),iF=Symbol("unfreeze"),A2=Symbol("validateAsync"),L2=Symbol("getCommandInstance"),R2=Symbol("getContext"),S2=Symbol("getHasOutput"),P2=Symbol("getLoggerInstance"),w2=Symbol("getParseContext"),I2=Symbol("getUsageInstance"),x2=Symbol("getValidationInstance"),ou=Symbol("hasParseCallback"),f2=Symbol("isGlobalContext"),eD=Symbol("postProcess"),b2=Symbol("rebase"),kF=Symbol("reset"),Ku=Symbol("runYargsParserAndExecuteCommands"),dF=Symbol("runValidation"),h2=Symbol("setHasOutput"),Du=Symbol("kTrackManuallySetKeys"),B1="en_US";class p2{constructor(D=[],u,F,E){this.customScriptName=!1,this.parsed=!1,FD.set(this,void 0),dD.set(this,void 0),_u.set(this,{commands:[],fullCommands:[]}),OD.set(this,null),MD.set(this,null),yu.set(this,"show-hidden"),bD.set(this,null),nD.set(this,!0),iu.set(this,{}),UD.set(this,!0),ku.set(this,[]),jD.set(this,void 0),LD.set(this,{}),HD.set(this,!1),_D.set(this,null),du.set(this,!0),gD.set(this,void 0),ZD.set(this,""),w.set(this,void 0),nu.set(this,void 0),gu.set(this,{}),VD.set(this,null),tD.set(this,null),Xu.set(this,{}),lD.set(this,{}),hD.set(this,void 0),tu.set(this,!1),v.set(this,void 0),oD.set(this,!1),sD.set(this,!1),rD.set(this,!1),m.set(this,void 0),lu.set(this,{}),RD.set(this,null),r.set(this,void 0),L(this,v,E,"f"),L(this,hD,D,"f"),L(this,dD,u,"f"),L(this,nu,F,"f"),L(this,jD,new IF(this),"f"),this.$0=this[_2](),this[kF](),L(this,FD,G(this,FD,"f"),"f"),L(this,m,G(this,m,"f"),"f"),L(this,r,G(this,r,"f"),"f"),L(this,w,G(this,w,"f"),"f"),G(this,w,"f").showHiddenOpt=G(this,yu,"f"),L(this,gD,this[q2](),"f"),G(this,v,"f").y18n.setLocale(B1)}addHelpOpt(D,u){if(T("[string|boolean] [string]",[D,u],arguments.length),G(this,_D,"f"))this[bF](G(this,_D,"f")),L(this,_D,null,"f");if(D===!1&&u===void 0)return this;return L(this,_D,typeof D==="string"?D:"help","f"),this.boolean(G(this,_D,"f")),this.describe(G(this,_D,"f"),u||G(this,m,"f").deferY18nLookup("Show help")),this}help(D,u){return this.addHelpOpt(D,u)}addShowHiddenOpt(D,u){if(T("[string|boolean] [string]",[D,u],arguments.length),D===!1&&u===void 0)return this;let F=typeof D==="string"?D:G(this,yu,"f");return this.boolean(F),this.describe(F,u||G(this,m,"f").deferY18nLookup("Show hidden options")),G(this,w,"f").showHiddenOpt=F,this}showHidden(D,u){return this.addShowHiddenOpt(D,u)}alias(D,u){return T("<object|string|array> [string|array]",[D,u],arguments.length),this[pF](this.alias.bind(this),"alias",D,u),this}array(D){return T("<array|string>",[D],arguments.length),this[vD]("array",D),this[Du](D),this}boolean(D){return T("<array|string>",[D],arguments.length),this[vD]("boolean",D),this[Du](D),this}check(D,u){return T("<function> [boolean]",[D,u],arguments.length),this.middleware((F,E)=>{return kD(()=>{return D(F,E.getOptions())},(C)=>{if(!C)G(this,m,"f").fail(G(this,v,"f").y18n.__("Argument check failed: %s",D.toString()));else if(typeof C==="string"||C instanceof Error)G(this,m,"f").fail(C.toString(),C);return F},(C)=>{return G(this,m,"f").fail(C.message?C.message:C.toString(),C),F})},!1,u),this}choices(D,u){return T("<object|string|array> [string|array]",[D,u],arguments.length),this[pF](this.choices.bind(this),"choices",D,u),this}coerce(D,u){if(T("<object|string|array> [function]",[D,u],arguments.length),Array.isArray(D)){if(!u)throw new uD("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 uD("coerce callback must be provided");let F=D;return G(this,w,"f").key[F]=!0,G(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 kD(()=>{return u(E[z[0]])},(Z)=>{return z.forEach((X)=>{E[X]=Z}),E},(Z)=>{throw new uD(Z.message)})},F),this}conflicts(D,u){return T("<string|object> [string|array]",[D,u],arguments.length),G(this,r,"f").conflicts(D,u),this}config(D="config",u,F){if(T("[object|string] [string|function] [function]",[D,u,F],arguments.length),typeof D==="object"&&!Array.isArray(D))return D=ju(D,G(this,dD,"f"),this[aD]()["deep-merge-config"]||!1,G(this,v,"f")),G(this,w,"f").configObjects=(G(this,w,"f").configObjects||[]).concat(D),this;if(typeof u==="function")F=u,u=void 0;return this.describe(D,u||G(this,m,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(D)?D:[D]).forEach((E)=>{G(this,w,"f").config[E]=F||!0}),this}completion(D,u,F){if(T("[string] [string|boolean|function] [function]",[D,u,F],arguments.length),typeof u==="function")F=u,u=void 0;if(L(this,MD,D||G(this,MD,"f")||"completion","f"),!u&&u!==!1)u="generate completion script";if(this.command(G(this,MD,"f"),u),F)G(this,OD,"f").registerFunction(F);return this}command(D,u,F,E,C,B){return T("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[D,u,F,E,C,B],arguments.length),G(this,FD,"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){T("<string> [object]",[D,u],arguments.length);let F=G(this,nu,"f")||G(this,v,"f").require;return G(this,FD,"f").addDirectory(D,F,G(this,v,"f").getCallerFile(),u),this}count(D){return T("<array|string>",[D],arguments.length),this[vD]("count",D),this[Du](D),this}default(D,u,F){if(T("<object|string|array> [*] [string]",[D,u,F],arguments.length),F)wF(D,G(this,v,"f")),G(this,w,"f").defaultDescription[D]=F;if(typeof u==="function"){if(wF(D,G(this,v,"f")),!G(this,w,"f").defaultDescription[D])G(this,w,"f").defaultDescription[D]=G(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(T("[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),G(this,w,"f").demandedCommands._={min:D,max:u,minMsg:F,maxMsg:E},this}demand(D,u,F){if(Array.isArray(u))u.forEach((E)=>{QD(F,!0,G(this,v,"f")),this.demandOption(E,F)}),u=1/0;else if(typeof u!=="number")F=u,u=1/0;if(typeof D==="number")QD(F,!0,G(this,v,"f")),this.demandCommand(D,u,F,F);else if(Array.isArray(D))D.forEach((E)=>{QD(F,!0,G(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 T("<object|string|array> [string]",[D,u],arguments.length),this[Qu](this.demandOption.bind(this),"demandedOptions",D,u),this}deprecateOption(D,u){return T("<string> [string|boolean]",[D,u],arguments.length),G(this,w,"f").deprecatedOptions[D]=u,this}describe(D,u){return T("<object|string|array> [string]",[D,u],arguments.length),this[yF](D,!0),G(this,m,"f").describe(D,u),this}detectLocale(D){return T("<boolean>",[D],arguments.length),L(this,nD,D,"f"),this}env(D){if(T("[string|boolean]",[D],arguments.length),D===!1)delete G(this,w,"f").envPrefix;else G(this,w,"f").envPrefix=D||"";return this}epilogue(D){return T("<string>",[D],arguments.length),G(this,m,"f").epilog(D),this}epilog(D){return this.epilogue(D)}example(D,u){if(T("<string|array> [string]",[D,u],arguments.length),Array.isArray(D))D.forEach((F)=>this.example(...F));else G(this,m,"f").example(D,u);return this}exit(D,u){if(L(this,HD,!0,"f"),L(this,bD,u,"f"),G(this,UD,"f"))G(this,v,"f").process.exit(D)}exitProcess(D=!0){return T("[boolean]",[D],arguments.length),L(this,UD,D,"f"),this}fail(D){if(T("<function|boolean>",[D],arguments.length),typeof D==="boolean"&&D!==!1)throw new uD("Invalid first argument. Expected function or boolean 'false'");return G(this,m,"f").failFn(D),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(D,u){if(T("<array> [function]",[D,u],arguments.length),!u)return new Promise((F,E)=>{G(this,OD,"f").getCompletion(D,(C,B)=>{if(C)E(C);else F(B)})});else return G(this,OD,"f").getCompletion(D,u)}getDemandedOptions(){return T([],0),G(this,w,"f").demandedOptions}getDemandedCommands(){return T([],0),G(this,w,"f").demandedCommands}getDeprecatedOptions(){return T([],0),G(this,w,"f").deprecatedOptions}getDetectLocale(){return G(this,nD,"f")}getExitProcess(){return G(this,UD,"f")}getGroups(){return Object.assign({},G(this,LD,"f"),G(this,lD,"f"))}getHelp(){if(L(this,HD,!0,"f"),!G(this,m,"f").hasCachedHelpMessage()){if(!this.parsed){let u=this[Ku](G(this,hD,"f"),void 0,void 0,0,!0);if(o(u))return u.then(()=>{return G(this,m,"f").help()})}let D=G(this,FD,"f").runDefaultBuilderOn(this);if(o(D))return D.then(()=>{return G(this,m,"f").help()})}return Promise.resolve(G(this,m,"f").help())}getOptions(){return G(this,w,"f")}getStrict(){return G(this,oD,"f")}getStrictCommands(){return G(this,sD,"f")}getStrictOptions(){return G(this,rD,"f")}global(D,u){if(T("<string|array> [boolean]",[D,u],arguments.length),D=[].concat(D),u!==!1)G(this,w,"f").local=G(this,w,"f").local.filter((F)=>D.indexOf(F)===-1);else D.forEach((F)=>{if(!G(this,w,"f").local.includes(F))G(this,w,"f").local.push(F)});return this}group(D,u){T("<string|array> <string>",[D,u],arguments.length);let F=G(this,lD,"f")[u]||G(this,LD,"f")[u];if(G(this,lD,"f")[u])delete G(this,lD,"f")[u];let E={};return G(this,LD,"f")[u]=(F||[]).concat(D).filter((C)=>{if(E[C])return!1;return E[C]=!0}),this}hide(D){return T("<string>",[D],arguments.length),G(this,w,"f").hiddenOptions.push(D),this}implies(D,u){return T("<string|object> [number|string|array]",[D,u],arguments.length),G(this,r,"f").implies(D,u),this}locale(D){if(T("[string]",[D],arguments.length),D===void 0)return this[hF](),G(this,v,"f").y18n.getLocale();return L(this,nD,!1,"f"),G(this,v,"f").y18n.setLocale(D),this}middleware(D,u,F){return G(this,jD,"f").addMiddleware(D,!!u,F)}nargs(D,u){return T("<string|object|array> [number]",[D,u],arguments.length),this[Qu](this.nargs.bind(this),"narg",D,u),this}normalize(D){return T("<array|string>",[D],arguments.length),this[vD]("normalize",D),this}number(D){return T("<array|string>",[D],arguments.length),this[vD]("number",D),this[Du](D),this}option(D,u){if(T("<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[Du](D),G(this,RD,"f")&&(D==="version"||(u===null||u===void 0?void 0:u.alias)==="version"))this[U2](['"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(G(this,w,"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)G(this,w,"f").defaultDescription[D]=u.defaultDescription;if(u.skipValidation)this.skipValidation(D);let C=u.describe||u.description||u.desc,B=G(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(T("[string|array] [function|boolean|object] [function]",[D,u,F],arguments.length),this[j2](),typeof D>"u")D=G(this,hD,"f");if(typeof u==="object")L(this,tD,u,"f"),u=F;if(typeof u==="function")L(this,VD,u,"f"),u=!1;if(!u)L(this,hD,D,"f");if(G(this,VD,"f"))L(this,UD,!1,"f");let E=this[Ku](D,!!u),C=this.parsed;if(G(this,OD,"f").setParsed(this.parsed),o(E))return E.then((B)=>{if(G(this,VD,"f"))G(this,VD,"f").call(this,G(this,bD,"f"),B,G(this,ZD,"f"));return B}).catch((B)=>{if(G(this,VD,"f"))G(this,VD,"f")(B,this.parsed.argv,G(this,ZD,"f"));throw B}).finally(()=>{this[iF](),this.parsed=C});else{if(G(this,VD,"f"))G(this,VD,"f").call(this,G(this,bD,"f"),E,G(this,ZD,"f"));this[iF](),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 uD(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return E}parserConfiguration(D){return T("<object>",[D],arguments.length),L(this,gu,D,"f"),this}pkgConf(D,u){T("<string> [string]",[D,u],arguments.length);let F=null,E=this[vF](u||G(this,dD,"f"));if(E[D]&&typeof E[D]==="object")F=ju(E[D],u||G(this,dD,"f"),this[aD]()["deep-merge-config"]||!1,G(this,v,"f")),G(this,w,"f").configObjects=(G(this,w,"f").configObjects||[]).concat(F);return this}positional(D,u){T("<string> <object>",[D,u],arguments.length);let F=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];u=xD(u,(B,$)=>{if(B==="type"&&!["string","number","boolean"].includes($))return!1;return F.includes(B)});let E=G(this,_u,"f").fullCommands[G(this,_u,"f").fullCommands.length-1],C=E?G(this,FD,"f").cmdToParseOptions(E):{array:[],alias:{},default:{},demand:{}};return Zu(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,G(this,m,"f").getPositionalGroupName()),this.option(D,u)}recommendCommands(D=!0){return T("[boolean]",[D],arguments.length),L(this,tu,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(T("<array|string|object> [number]",[D],arguments.length),typeof D==="string"&&G(this,w,"f").narg[D])return this;else this[Qu](this.requiresArg.bind(this),"narg",D,NaN);return this}showCompletionScript(D,u){return T("[string] [string]",[D,u],arguments.length),D=D||this.$0,G(this,gD,"f").log(G(this,OD,"f").generateCompletionScript(D,u||G(this,MD,"f")||"completion")),this}showHelp(D){if(T("[string|function]",[D],arguments.length),L(this,HD,!0,"f"),!G(this,m,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[Ku](G(this,hD,"f"),void 0,void 0,0,!0);if(o(F))return F.then(()=>{G(this,m,"f").showHelp(D)}),this}let u=G(this,FD,"f").runDefaultBuilderOn(this);if(o(u))return u.then(()=>{G(this,m,"f").showHelp(D)}),this}return G(this,m,"f").showHelp(D),this}scriptName(D){return this.customScriptName=!0,this.$0=D,this}showHelpOnFail(D,u){return T("[boolean|string] [string]",[D,u],arguments.length),G(this,m,"f").showHelpOnFail(D,u),this}showVersion(D){return T("[string|function]",[D],arguments.length),G(this,m,"f").showVersion(D),this}skipValidation(D){return T("<array|string>",[D],arguments.length),this[vD]("skipValidation",D),this}strict(D){return T("[boolean]",[D],arguments.length),L(this,oD,D!==!1,"f"),this}strictCommands(D){return T("[boolean]",[D],arguments.length),L(this,sD,D!==!1,"f"),this}strictOptions(D){return T("[boolean]",[D],arguments.length),L(this,rD,D!==!1,"f"),this}string(D){return T("<array|string>",[D],arguments.length),this[vD]("string",D),this[Du](D),this}terminalWidth(){return T([],0),G(this,v,"f").process.stdColumns}updateLocale(D){return this.updateStrings(D)}updateStrings(D){return T("<object>",[D],arguments.length),L(this,nD,!1,"f"),G(this,v,"f").y18n.updateLocale(D),this}usage(D,u,F,E){if(T("<string|null|undefined> [string|boolean] [function|object] [function]",[D,u,F,E],arguments.length),u!==void 0)if(QD(D,null,G(this,v,"f")),(D||"").match(/^\$0( |$)/))return this.command(D,u,F,E);else throw new uD(".usage() description must start with $0 if being used as alias for .command()");else return G(this,m,"f").usage(D),this}usageConfiguration(D){return T("<object>",[D],arguments.length),L(this,lu,D,"f"),this}version(D,u,F){if(T("[boolean|string] [string] [string]",[D,u,F],arguments.length),G(this,RD,"f"))this[bF](G(this,RD,"f")),G(this,m,"f").version(void 0),L(this,RD,null,"f");if(arguments.length===0)F=this[N2](),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 L(this,RD,typeof D==="string"?D:"version","f"),u=u||G(this,m,"f").deferY18nLookup("Show version number"),G(this,m,"f").version(F||void 0),this.boolean(G(this,RD,"f")),this.describe(G(this,RD,"f"),u),this}wrap(D){return T("<number|null|undefined>",[D],arguments.length),G(this,m,"f").wrap(D),this}[(FD=new WeakMap,dD=new WeakMap,_u=new WeakMap,OD=new WeakMap,MD=new WeakMap,yu=new WeakMap,bD=new WeakMap,nD=new WeakMap,iu=new WeakMap,UD=new WeakMap,ku=new WeakMap,jD=new WeakMap,LD=new WeakMap,HD=new WeakMap,_D=new WeakMap,du=new WeakMap,gD=new WeakMap,ZD=new WeakMap,w=new WeakMap,nu=new WeakMap,gu=new WeakMap,VD=new WeakMap,tD=new WeakMap,Xu=new WeakMap,lD=new WeakMap,hD=new WeakMap,tu=new WeakMap,v=new WeakMap,oD=new WeakMap,sD=new WeakMap,rD=new WeakMap,m=new WeakMap,lu=new WeakMap,RD=new WeakMap,r=new WeakMap,V2)](D){if(!D._||!D["--"])return D;D._.push.apply(D._,D["--"]);try{delete D["--"]}catch(u){}return D}[q2](){return{log:(...D)=>{if(!this[ou]())console.log(...D);if(L(this,HD,!0,"f"),G(this,ZD,"f").length)L(this,ZD,G(this,ZD,"f")+`
80
- `,"f");L(this,ZD,G(this,ZD,"f")+D.join(" "),"f")},error:(...D)=>{if(!this[ou]())console.error(...D);if(L(this,HD,!0,"f"),G(this,ZD,"f").length)L(this,ZD,G(this,ZD,"f")+`
81
- `,"f");L(this,ZD,G(this,ZD,"f")+D.join(" "),"f")}}}[bF](D){Zu(G(this,w,"f")).forEach((u)=>{if(((E)=>E==="configObjects")(u))return;let F=G(this,w,"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 G(this,m,"f").getDescriptions()[D]}[U2](D,u,F){if(!G(this,iu,"f")[F])G(this,v,"f").process.emitWarning(D,u),G(this,iu,"f")[F]=!0}[j2](){G(this,ku,"f").push({options:G(this,w,"f"),configObjects:G(this,w,"f").configObjects.slice(0),exitProcess:G(this,UD,"f"),groups:G(this,LD,"f"),strict:G(this,oD,"f"),strictCommands:G(this,sD,"f"),strictOptions:G(this,rD,"f"),completionCommand:G(this,MD,"f"),output:G(this,ZD,"f"),exitError:G(this,bD,"f"),hasOutput:G(this,HD,"f"),parsed:this.parsed,parseFn:G(this,VD,"f"),parseContext:G(this,tD,"f")}),G(this,m,"f").freeze(),G(this,r,"f").freeze(),G(this,FD,"f").freeze(),G(this,jD,"f").freeze()}[_2](){let D="",u;if(/\b(node|iojs|electron)(\.exe)?$/.test(G(this,v,"f").process.argv()[0]))u=G(this,v,"f").process.argv().slice(1,2);else u=G(this,v,"f").process.argv().slice(0,1);if(D=u.map((F)=>{let E=this[b2](G(this,dD,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),G(this,v,"f").getEnv("_")&&G(this,v,"f").getProcessArgvBin()===G(this,v,"f").getEnv("_"))D=G(this,v,"f").getEnv("_").replace(`${G(this,v,"f").path.dirname(G(this,v,"f").process.execPath())}/`,"");return D}[aD](){return G(this,gu,"f")}[K2](){return G(this,lu,"f")}[hF](){if(!G(this,nD,"f"))return;let D=G(this,v,"f").getEnv("LC_ALL")||G(this,v,"f").getEnv("LC_MESSAGES")||G(this,v,"f").getEnv("LANG")||G(this,v,"f").getEnv("LANGUAGE")||"en_US";this.locale(D.replace(/[.:].*/,""))}[N2](){return this[vF]().version||"unknown"}[T2](D){let u=D["--"]?D["--"]:D._;for(let F=0,E;(E=u[F])!==void 0;F++)if(G(this,v,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))u[F]=Number(E);return D}[vF](D){let u=D||"*";if(G(this,Xu,"f")[u])return G(this,Xu,"f")[u];let F={};try{let E=D||G(this,v,"f").mainFilename;if(G(this,v,"f").path.extname(E))E=G(this,v,"f").path.dirname(E);let C=G(this,v,"f").findUp(E,(B,$)=>{if($.includes("package.json"))return"package.json";else return});QD(C,void 0,G(this,v,"f")),F=JSON.parse(G(this,v,"f").readFileSync(C,"utf8"))}catch(E){}return G(this,Xu,"f")[u]=F||{},G(this,Xu,"f")[u]}[vD](D,u){u=[].concat(u),u.forEach((F)=>{F=this[cF](F),G(this,w,"f")[D].push(F)})}[Qu](D,u,F,E){this[mF](D,u,F,E,(C,B,$)=>{G(this,w,"f")[C][B]=$})}[pF](D,u,F,E){this[mF](D,u,F,E,(C,B,$)=>{G(this,w,"f")[C][B]=(G(this,w,"f")[C][B]||[]).concat($)})}[mF](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 Zu(F))D(B,F[B]);else C(u,this[cF](F),E)}[cF](D){if(D==="__proto__")return"___proto___";return D}[yF](D,u){return this[Qu](this[yF].bind(this),"key",D,u),this}[iF](){var D,u,F,E,C,B,$,z,Z,X,O,J;let Q=G(this,ku,"f").pop();QD(Q,void 0,G(this,v,"f"));let Y;D=this,u=this,F=this,E=this,C=this,B=this,$=this,z=this,Z=this,X=this,O=this,J=this,{options:{set value(M){L(D,w,M,"f")}}.value,configObjects:Y,exitProcess:{set value(M){L(u,UD,M,"f")}}.value,groups:{set value(M){L(F,LD,M,"f")}}.value,output:{set value(M){L(E,ZD,M,"f")}}.value,exitError:{set value(M){L(C,bD,M,"f")}}.value,hasOutput:{set value(M){L(B,HD,M,"f")}}.value,parsed:this.parsed,strict:{set value(M){L($,oD,M,"f")}}.value,strictCommands:{set value(M){L(z,sD,M,"f")}}.value,strictOptions:{set value(M){L(Z,rD,M,"f")}}.value,completionCommand:{set value(M){L(X,MD,M,"f")}}.value,parseFn:{set value(M){L(O,VD,M,"f")}}.value,parseContext:{set value(M){L(J,tD,M,"f")}}.value}=Q,G(this,w,"f").configObjects=Y,G(this,m,"f").unfreeze(),G(this,r,"f").unfreeze(),G(this,FD,"f").unfreeze(),G(this,jD,"f").unfreeze()}[A2](D,u){return kD(u,(F)=>{return D(F),F})}getInternalMethods(){return{getCommandInstance:this[L2].bind(this),getContext:this[R2].bind(this),getHasOutput:this[S2].bind(this),getLoggerInstance:this[P2].bind(this),getParseContext:this[w2].bind(this),getParserConfiguration:this[aD].bind(this),getUsageConfiguration:this[K2].bind(this),getUsageInstance:this[I2].bind(this),getValidationInstance:this[x2].bind(this),hasParseCallback:this[ou].bind(this),isGlobalContext:this[f2].bind(this),postProcess:this[eD].bind(this),reset:this[kF].bind(this),runValidation:this[dF].bind(this),runYargsParserAndExecuteCommands:this[Ku].bind(this),setHasOutput:this[h2].bind(this)}}[L2](){return G(this,FD,"f")}[R2](){return G(this,_u,"f")}[S2](){return G(this,HD,"f")}[P2](){return G(this,gD,"f")}[w2](){return G(this,tD,"f")||{}}[I2](){return G(this,m,"f")}[x2](){return G(this,r,"f")}[ou](){return!!G(this,VD,"f")}[f2](){return G(this,du,"f")}[eD](D,u,F,E){if(F)return D;if(o(D))return D;if(!u)D=this[V2](D);if(this[aD]()["parse-positional-numbers"]||this[aD]()["parse-positional-numbers"]===void 0)D=this[T2](D);if(E)D=iD(D,this,G(this,jD,"f").getMiddleware(),!1);return D}[kF](D={}){L(this,w,G(this,w,"f")||{},"f");let u={};u.local=G(this,w,"f").local||[],u.configObjects=G(this,w,"f").configObjects||[];let F={};u.local.forEach((B)=>{F[B]=!0,(D[B]||[]).forEach(($)=>{F[$]=!0})}),Object.assign(G(this,lD,"f"),Object.keys(G(this,LD,"f")).reduce((B,$)=>{let z=G(this,LD,"f")[$].filter((Z)=>!(Z in F));if(z.length>0)B[$]=z;return B},{})),L(this,LD,{},"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]=(G(this,w,"f")[B]||[]).filter(($)=>!F[$])}),C.forEach((B)=>{u[B]=xD(G(this,w,"f")[B],($)=>!F[$])}),u.envPrefix=G(this,w,"f").envPrefix,L(this,w,u,"f"),L(this,m,G(this,m,"f")?G(this,m,"f").reset(F):Z2(this,G(this,v,"f")),"f"),L(this,r,G(this,r,"f")?G(this,r,"f").reset(F):M2(this,G(this,m,"f"),G(this,v,"f")),"f"),L(this,FD,G(this,FD,"f")?G(this,FD,"f").reset():$2(G(this,m,"f"),G(this,r,"f"),G(this,jD,"f"),G(this,v,"f")),"f"),!G(this,OD,"f"))L(this,OD,O2(this,G(this,m,"f"),G(this,FD,"f"),G(this,v,"f")),"f");return G(this,jD,"f").reset(),L(this,MD,null,"f"),L(this,ZD,"","f"),L(this,bD,null,"f"),L(this,HD,!1,"f"),this.parsed=!1,this}[b2](D,u){return G(this,v,"f").path.relative(D,u)}[Ku](D,u,F,E=0,C=!1){var B,$,z,Z;let X=!!F||C;D=D||G(this,hD,"f"),G(this,w,"f").__=G(this,v,"f").y18n.__,G(this,w,"f").configuration=this[aD]();let O=!!G(this,w,"f").configuration["populate--"],J=Object.assign({},G(this,w,"f").configuration,{"populate--":!0}),Q=G(this,v,"f").Parser.detailed(D,Object.assign({},G(this,w,"f"),{configuration:{"parse-positional-numbers":!1,...J}})),Y=Object.assign(Q.argv,G(this,tD,"f")),M=void 0,H=Q.aliases,j=!1,A=!1;if(Object.keys(Y).forEach((x)=>{if(x===G(this,_D,"f")&&Y[x])j=!0;else if(x===G(this,RD,"f")&&Y[x])A=!0}),Y.$0=this.$0,this.parsed=Q,E===0)G(this,m,"f").clearCachedHelpMessage();try{if(this[hF](),u)return this[eD](Y,O,!!F,!1);if(G(this,_D,"f")){if([G(this,_D,"f")].concat(H[G(this,_D,"f")]||[]).filter((a)=>a.length>1).includes(""+Y._[Y._.length-1]))Y._.pop(),j=!0}L(this,du,!1,"f");let x=G(this,FD,"f").getCommands(),n=((B=G(this,OD,"f"))===null||B===void 0?void 0:B.completionKey)?[($=G(this,OD,"f"))===null||$===void 0?void 0:$.completionKey,...(Z=this.getAliases()[(z=G(this,OD,"f"))===null||z===void 0?void 0:z.completionKey])!==null&&Z!==void 0?Z:[]].some((i)=>Object.prototype.hasOwnProperty.call(Y,i)):!1,f=j||n||C;if(Y._.length){if(x.length){let i;for(let a=E||0,e;Y._[a]!==void 0;a++)if(e=String(Y._[a]),x.includes(e)&&e!==G(this,MD,"f")){let AD=G(this,FD,"f").runCommand(e,this,Q,a+1,C,j||A||C);return this[eD](AD,O,!!F,!1)}else if(!i&&e!==G(this,MD,"f")){i=e;break}if(!G(this,FD,"f").hasDefaultCommand()&&G(this,tu,"f")&&i&&!f)G(this,r,"f").recommendCommands(i,x)}if(G(this,MD,"f")&&Y._.includes(G(this,MD,"f"))&&!n){if(G(this,UD,"f"))fD(!0);this.showCompletionScript(),this.exit(0)}}if(G(this,FD,"f").hasDefaultCommand()&&!f){let i=G(this,FD,"f").runCommand(null,this,Q,0,C,j||A||C);return this[eD](i,O,!!F,!1)}if(n){if(G(this,UD,"f"))fD(!0);D=[].concat(D);let i=D.slice(D.indexOf(`--${G(this,OD,"f").completionKey}`)+1);return G(this,OD,"f").getCompletion(i,(a,e)=>{if(a)throw new uD(a.message);(e||[]).forEach((AD)=>{G(this,gD,"f").log(AD)}),this.exit(0)}),this[eD](Y,!O,!!F,!1)}if(!G(this,HD,"f")){if(j){if(G(this,UD,"f"))fD(!0);X=!0,this.showHelp((i)=>{G(this,gD,"f").log(i),this.exit(0)})}else if(A){if(G(this,UD,"f"))fD(!0);X=!0,G(this,m,"f").showVersion("log"),this.exit(0)}}if(!X&&G(this,w,"f").skipValidation.length>0)X=Object.keys(Y).some((i)=>G(this,w,"f").skipValidation.indexOf(i)>=0&&Y[i]===!0);if(!X){if(Q.error)throw new uD(Q.error.message);if(!n){let i=this[dF](H,{},Q.error);if(!F)M=iD(Y,this,G(this,jD,"f").getMiddleware(),!0);if(M=this[A2](i,M!==null&&M!==void 0?M:Y),o(M)&&!F)M=M.then(()=>{return iD(Y,this,G(this,jD,"f").getMiddleware(),!1)})}}}catch(x){if(x instanceof uD)G(this,m,"f").fail(x.message,x);else throw x}return this[eD](M!==null&&M!==void 0?M:Y,O,!!F,!0)}[dF](D,u,F,E){let C={...this.getDemandedOptions()};return(B)=>{if(F)throw new uD(F.message);G(this,r,"f").nonOptionCount(B),G(this,r,"f").requiredArguments(B,C);let $=!1;if(G(this,sD,"f"))$=G(this,r,"f").unknownCommands(B);if(G(this,oD,"f")&&!$)G(this,r,"f").unknownArguments(B,D,u,!!E);else if(G(this,rD,"f"))G(this,r,"f").unknownArguments(B,D,{},!1,!1);G(this,r,"f").limitedChoices(B),G(this,r,"f").implications(B),G(this,r,"f").conflicting(B)}}[h2](){L(this,HD,!0,"f")}[Du](D){if(typeof D==="string")G(this,w,"f").key[D]=!0;else for(let u of D)G(this,w,"f").key[u]=!0}}function z2(D){return!!D&&typeof D.getInternalMethods==="function"}var $1=v2(PF),m2=$1;import{existsSync as gF,readFileSync as y2,writeFileSync as nF,mkdirSync as i2}from"node:fs";import{homedir as z1}from"node:os";import{join as su,dirname as k2}from"node:path";function d2(){return process.env.HOME||z1()}function n2(){return su(d2(),".config","slack-cli","profiles.json")}function ru(){return su(process.cwd(),".slack-cli","workspace")}function au(){return su(d2(),".slack-cli","workspace")}function Nu(){let D=n2();if(!gF(D))return{profiles:{}};return JSON.parse(y2(D,"utf8"))}function G1(D){let u=n2();i2(k2(u),{recursive:!0}),nF(u,JSON.stringify(D,null,2)+`
82
- `)}function Ou(D){if(!gF(D))return;return y2(D,"utf8").trim()||void 0}function c2(D,u){let F=k2(D);i2(F,{recursive:!0});let E=su(F,".gitignore");if(!gF(E))nF(E,`*
83
- `);nF(D,u+`
84
- `)}function g2(){let D=Nu(),u=Ou(ru()),F=Ou(au()),E=u??F;return Object.entries(D.profiles).map(([C,B])=>({name:C,profile:B,current:C===E}))}function t2(D){let u=Nu();if(!(D in u.profiles))throw Error(`Profile not found: ${D}`);delete u.profiles[D],G1(u)}function l2(D,u=!1){let F=Nu();if(!(D in F.profiles))throw Error(`Profile not found: ${D}`);if(u)c2(au(),D);else c2(ru(),D)}function tF(D){let F=Nu().profiles,E=Object.keys(F),C=process.env.SLACK_MCP_XOXP_TOKEN;if(C&&E.length>0){if(!globalThis.__slackEnvWarnShown)globalThis.__slackEnvWarnShown=!0,console.error(`Warning: SLACK_MCP_XOXP_TOKEN is set but workspace profiles exist - using profiles.
85
- Run: unset SLACK_MCP_XOXP_TOKEN (and remove from ~/.zshrc or ~/.bashrc)`)}else if(C)return C;let B=D??process.env.SLACK_WORKSPACE;if(B){let Z=F[B];if(!Z)throw Error(`Workspace "${B}" not found. Available: ${E.join(", ")||"(none)"}`);return Z.token}let $=Ou(ru());if($){let Z=F[$];if(!Z)throw Error(`Workspace "${$}" (from .slack-cli/workspace) not found in profiles.`);return Z.token}let z=Ou(au());if(z){let Z=F[z];if(!Z)throw Error(`Workspace "${z}" (from ~/.slack-cli/workspace) not found in profiles.`);return Z.token}if(E.length===0)throw Error("No profiles configured. Run: slack auth login");throw Error(`Workspace not selected (${E.join(", ")} available).
74
+ `;class m2{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 Y=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=Y[q];return typeof j==="string"&&j.length>0}),H=W?Y[W]:void 0,O=(z=($=Y[D])!==null&&$!==void 0?$:H)!==null&&z!==void 0?z:"";Z=`${D.replace(/:/g,"\\:")}:${O.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let G=(Y)=>/^--/.test(Y),Q=(Y)=>/^[^0-9]$/.test(Y),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),n3(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(t3(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?p2:v2,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 y2(D,u,F,E){return new m2(D,u,F,E)}function n3(D){return D.length<3}function t3(D){return D.length>3}function c2(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 g2=["$0","--","_"];function k2(D,u,F){let E=F.y18n.__,C=F.y18n.__n,B={};B.nonOptionCount=function(J){let Y=D.getDemandedCommands(),H=J._.length+(J["--"]?J["--"].length:0)-D.getInternalMethods().getContext().commands.length;if(Y._&&(H<Y._.min||H>Y._.max)){if(H<Y._.min)if(Y._.minMsg!==void 0)u.fail(Y._.minMsg?Y._.minMsg.replace(/\$0/g,H.toString()).replace(/\$1/,Y._.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(),Y._.min.toString()));else if(H>Y._.max)if(Y._.maxMsg!==void 0)u.fail(Y._.maxMsg?Y._.maxMsg.replace(/\$0/g,H.toString()).replace(/\$1/,Y._.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(),Y._.max.toString()))}},B.positionalCount=function(J,Y){if(Y<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",Y,Y+"",J+""))},B.requiredArguments=function(J,Y){let W=null;for(let H of Object.keys(Y))if(!Object.prototype.hasOwnProperty.call(J,H)||typeof J[H]>"u")W=W||{},W[H]=Y[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 O=H.length?`
75
+ ${H.join(`
76
+ `)}`:"";u.fail(C("Missing required argument: %s","Missing required arguments: %s",Object.keys(W).length,Object.keys(W).join(", ")+O))}},B.unknownArguments=function(J,Y,W,H,O=!0){var q;let j=D.getInternalMethods().getCommandInstance().getCommands(),N=[],k=D.getInternalMethods().getContext();if(Object.keys(J).forEach((w)=>{if(!g2.includes(w)&&!Object.prototype.hasOwnProperty.call(W,w)&&!Object.prototype.hasOwnProperty.call(D.getInternalMethods().getParseContext(),w)&&!B.isValidAndSomeAliasIsNotNew(w,Y))N.push(w)}),O&&(k.commands.length>0||j.length>0||H))J._.slice(k.commands.length).forEach((w)=>{if(!j.includes(""+w))N.push(""+w)});if(O){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 Y=D.getInternalMethods().getCommandInstance().getCommands(),W=[],H=D.getInternalMethods().getContext();if(H.commands.length>0||Y.length>0)J._.slice(H.commands.length).forEach((O)=>{if(!Y.includes(""+O))W.push(""+O)});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,Y){if(!Object.prototype.hasOwnProperty.call(Y,J))return!1;let W=D.parsed.newAliases;return[J,...Y[J]].some((H)=>!Object.prototype.hasOwnProperty.call(W,H)||!W[J])},B.limitedChoices=function(J){let Y=D.getOptions(),W={};if(!Object.keys(Y.choices).length)return;Object.keys(J).forEach((q)=>{if(g2.indexOf(q)===-1&&Object.prototype.hasOwnProperty.call(Y.choices,q))[].concat(J[q]).forEach((j)=>{if(Y.choices[q].indexOf(j)===-1&&j!==void 0)W[q]=(W[q]||[]).concat(j)})});let H=Object.keys(W);if(!H.length)return;let O=E("Invalid values:");H.forEach((q)=>{O+=`
77
+ ${E("Argument: %s, Given: %s, Choices: %s",q,u.stringifiedValues(W[q]),u.stringifiedValues(Y.choices[q]))}`}),u.fail(O)};let $={};B.implies=function(J,Y){if(R("<string|object> [array|number|string]",[J,Y],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(Y))Y.forEach((W)=>B.implies(J,W));else YD(Y,void 0,F),$[J].push(Y)}},B.getImplied=function(){return $};function z(Q,J){let Y=Number(J);if(J=isNaN(Y)?J:Y,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 Y=[];if(Object.keys($).forEach((W)=>{let H=W;($[W]||[]).forEach((O)=>{let q=H,j=O;if(q=z(J,q),O=z(J,O),q&&!O)Y.push(` ${H} -> ${j}`)})}),Y.length){let W=`${E("Implications failed:")}
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[l2](),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,UD,u,"f"),u=!1;if(!u)T(this,gD,D,"f");if(X(this,UD,"f"))T(this,KD,!1,"f");let E=this[Pu](D,!!u),C=this.parsed;if(X(this,WD,"f").setParsed(this.parsed),o(E))return E.then((B)=>{if(X(this,UD,"f"))X(this,UD,"f").call(this,X(this,cD,"f"),B,X(this,JD,"f"));return B}).catch((B)=>{if(X(this,UD,"f"))X(this,UD,"f")(B,this.parsed.argv,X(this,JD,"f"));throw B}).finally(()=>{this[aF](),this.parsed=C});else{if(X(this,UD,"f"))X(this,UD,"f").call(this,X(this,cD,"f"),E,X(this,JD,"f"));this[aF](),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[tF](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 Mu(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,WD,"f").generateCompletionScript(D,u||X(this,MD,"f")||"completion")),this}showHelp(D){if(R("[string|function]",[D],arguments.length),T(this,VD,!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[iF](X(this,wD,"f")),X(this,m,"f").version(void 0),T(this,wD,null,"f");if(arguments.length===0)F=this[r2](),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,WD=new WeakMap,MD=new WeakMap,su=new WeakMap,cD=new WeakMap,eD=new WeakMap,ru=new WeakMap,KD=new WeakMap,au=new WeakMap,jD=new WeakMap,PD=new WeakMap,VD=new WeakMap,AD=new WeakMap,eu=new WeakMap,Du=new WeakMap,JD=new WeakMap,I=new WeakMap,DF=new WeakMap,uF=new WeakMap,UD=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,i2)](D){if(!D._||!D["--"])return D;D._.push.apply(D._,D["--"]);try{delete D["--"]}catch(u){}return D}[n2](){return{log:(...D)=>{if(!this[CF]())console.log(...D);if(T(this,VD,!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,VD,!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")}}}[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 E0(D,"utf8").trim()||void 0}function O8(D,u){let F=C0(D);W8(F,{recursive:!0});let E=Zu(F,".gitignore");if(!BF(E))u0(E,`*
83
+ `);u0(D,u+`
84
+ `)}function D6(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 Y8(D){if(!BF(D))return{};try{return D6(E0(D,"utf8"))}catch{return{}}}function F0(D,u){let F=B0(),E=D;while(!0){for(let $ of[Zu(E,".slack-term",".env.local"),Zu(E,".env.local")]){let z=Y8($);for(let Z of u)if(z[Z])return z[Z]}if(E===F)break;let B=C0(E);if(B===E)break;E=B}let C=Y8(Zu(F,".slack-term",".env.local"));for(let B of u)if(C[B])return C[B];return}function M8(){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 V8(D){let u=wu();if(!(D in u.profiles))throw Error(`Profile not found: ${D}`);delete u.profiles[D],e3(u)}function U8(D,u=!1){let F=wu();if(!(D in F.profiles))throw Error(`Profile not found: ${D}`);if(u)O8(zF(),D);else O8($F(),D)}function $0(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=F0(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=F0(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).
86
87
  Select locally: slack workspace use <name> (writes .slack-cli/workspace)
87
- Select globally: slack workspace use -g <name> (writes ~/.slack-cli/workspace)`)}function o2(D){let F=Nu().profiles;if(process.env.SLACK_MCP_XOXP_TOKEN)return process.env.SLACK_MCP_XOXD_COOKIE;let C=D??process.env.SLACK_WORKSPACE;if(C)return F[C]?.cookie;let B=Ou(ru());if(B)return F[B]?.cookie;let $=Ou(au());if($)return F[$]?.cookie;return}import{createInterface as R1}from"node:readline/promises";import{existsSync as r2,readFileSync as a2,writeFileSync as Z1,mkdirSync as J1}from"node:fs";import{homedir as X1}from"node:os";import{join as lF,dirname as Q1}from"node:path";function e2(){return process.env.HOME||X1()}function D8(){return lF(e2(),".config","slack-cli","profiles.json")}function O1(){return lF(process.cwd(),".slack-cli","workspace")}function Y1(){return lF(e2(),".slack-cli","workspace")}function u8(){let D=D8();if(!r2(D))return{profiles:{}};return JSON.parse(a2(D,"utf8"))}function W1(D){let u=D8();J1(Q1(u),{recursive:!0}),Z1(u,JSON.stringify(D,null,2)+`
88
- `)}function s2(D){if(!r2(D))return;return a2(D,"utf8").trim()||void 0}function F8(){let D=u8(),u=s2(O1()),F=s2(Y1()),E=u??F;return Object.entries(D.profiles).map(([C,B])=>({name:C,profile:B,current:C===E}))}function oF(D,u){let F=u8();F.profiles[D]=u,W1(F)}class uu extends Error{retryAfter;constructor(D){super(`Slack rate limited — retry after ${D}s`);this.name="RateLimitError",this.retryAfter=D}}function E8(){return(process.env.SLACK_API_BASE??"https://slack.com/api").replace(/\/$/,"")}async function M1(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${E8()}/${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 uu(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new uu(60);if(z==="invalid_auth"&&D.startsWith("xoxc-")&&!E)throw Error(`Desktop app token (xoxc-) is not accepted by the public Slack API.
88
+ Select globally: slack workspace use -g <name> (writes ~/.slack-cli/workspace)`);throw Error(`No Slack token found.
89
+ Run one of:
90
+ `+` slack auth token — paste an existing xoxp-/xoxb- token
91
+ `+` slack auth chrome — import from Chrome browser (macOS)
92
+ `+` slack auth app — guided Slack app creation
93
+ `+" Or set SLACK_TOKEN=xoxp-... in .slack-term/.env.local")}function z0(){let D=process.env.SLACK_BOT_TOKEN;return D&&D.startsWith("xoxb-")?D:void 0}function q8(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=F0(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 G0(){return(process.env.SLACK_API_BASE??"https://slack.com/api").replace(/\/$/,"")}async function _8(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${G0()}/${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.
89
94
  Replace it with an xoxp- user token:
90
- slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function H1(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${E8()}/${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 uu(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new uu(60);if((z==="invalid_auth"||z==="not_authed")&&!D.startsWith("xoxc-"))throw Error(`The draft API requires a desktop app session token (xoxc-).
95
+ slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function u6(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${G0()}/${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-).
91
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.
92
97
  Set it with: slack workspace set-cookie <workspace-name> <xoxd-value>
93
- `+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function V1(D,u,F={},E){let C=new URLSearchParams({token:D,...F});return H1(D,u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:C.toString()},E)}function pD(D,u,F,E){let C=new URLSearchParams(F).toString();return M1(D,`${u}?${C}`,{method:"GET"},E)}async function DF(D){let u=await pD(D,"auth.test",{});return{team:u.team??"",teamId:u.team_id??"",url:u.url??"",user:u.user??"",userId:u.user_id??""}}async function sF(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 pD(D,"conversations.history",B)}function eu(D){return D.toLowerCase().replace(/[-_\s]/g,"")}function q1(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,X={channel:B?.get("cid")??void 0??F};if(E)X.ts=E;if($)X.threadTs=$;return X}function U1(D){return q1(D)?.channel}async function C8(D,u,F){let E=U1(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),$=eu(B);if(C){let X="",O="";while(!0){let Q={limit:"200"};if(O)Q.cursor=O;let Y=await pD(D,"users.list",Q,F);for(let M of Y.members??[]){let H=eu(M.name??""),j=eu(M.real_name??""),A=eu(M.profile?.display_name??"");if(H===$||j===$||A&&A===$){X=M.id??"";break}}if(X)break;if(O=Y.response_metadata?.next_cursor??"",!O)break}if(!X)throw Error(`User not found: ${u}`);let J="";while(!0){let Q={types:"im",limit:"200"};if(J)Q.cursor=J;let Y=await pD(D,"conversations.list",Q,F);for(let M of Y.channels??[])if(M.user===X)return String(M.id??"");if(J=Y.response_metadata?.next_cursor??"",!J)break}throw Error(`No existing DM with ${u} (${X}). Open it once in Slack first.`)}let z=B.toLowerCase(),Z="";while(!0){let X={limit:"200",types:"public_channel,private_channel",exclude_archived:"true"};if(Z)X.cursor=Z;let O=await pD(D,"conversations.list",X,F);for(let J of O.channels??[])if(String(J.name??"").toLowerCase()===z)return String(J.id??"");if(Z=O.response_metadata?.next_cursor??"",!Z)break}throw Error(`channel not found: ${u}`)}async function uF(D,u){try{let F=await pD(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 FF(D,u){try{let F=await pD(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 B8(D,u){return pD(D,"conversations.info",{channel:u})}async function $8(D,u){let F=await V1(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:""}}import{readdirSync as z8,readFileSync as G8,existsSync as Z8}from"node:fs";import{homedir as J8}from"node:os";import{join as Fu}from"node:path";import{pbkdf2Sync as j1,createDecipheriv as _1}from"node:crypto";import{execSync as K1}from"node:child_process";function N1(){let D=J8();if(process.platform==="darwin")return Fu(D,"Library","Application Support","Slack","Local Storage","leveldb");if(process.platform==="linux")return Fu(D,".config","Slack","Local Storage","leveldb");if(process.platform==="win32"){let u=process.env.APPDATA??Fu(D,"AppData","Roaming");return Fu(u,"Slack","Local Storage","leveldb")}throw Error(`Unsupported platform: ${process.platform}`)}function T1(){let D=J8();if(process.platform==="darwin")return Fu(D,"Library","Application Support","Slack","Cookies");return""}function A1(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=_1("aes-128-cbc",u,F);return C.setAutoPadding(!0),Buffer.concat([C.update(E),C.final()]).toString("utf8")}function L1(){if(process.platform!=="darwin")return;let D=T1();if(!Z8(D))return;let u;try{u=K1('security find-generic-password -w -s "Slack Safe Storage" -a "Slack Key"',{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trimEnd()}catch{return}let F=j1(u,"saltysalt",1003,16,"sha1");try{let{default:E}=Gu("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 A1(Buffer.from(B.encrypted_value),F)}catch{return}}async function X8(){let D=N1();if(!Z8(D))throw Error(`Slack desktop app LevelDB not found at:
98
+ `+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function F6(D,u,F={},E){let C=new URLSearchParams({token:D,...F});return u6(D,u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:C.toString()},E)}function LD(D,u,F,E){let C=new URLSearchParams(F).toString();return _8(D,`${u}?${C}`,{method:"GET"},E)}function E6(D,u,F){return _8(D,u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(F)})}async function GF(D){let u=await LD(D,"auth.test",{});return{team:u.team??"",teamId:u.team_id??"",url:u.url??"",user:u.user??"",userId:u.user_id??""}}async function K8(D){let u=await fetch(`${G0()}/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 j8(D,u){let F=await LD(D,"bots.info",{bot:u});return{appId:F.bot?.app_id??"",userId:F.bot?.user_id??""}}async function Z0(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 LD(D,"conversations.history",B)}async function A8(D,u,F,E=50){return LD(D,"conversations.replies",{channel:u,ts:F,limit:String(E)})}async function C6(D,u){let E=(await E6(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 J0(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 B6(D){return J0(D)?.channel}async function L8(D,u,F){let E=B6(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 LD(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 LD(D,"conversations.list",{types:"im",limit:"200"},F)).channels??[]).find((j)=>j.user===H);if(q?.id)return String(q.id);return C6(D,H)}let J="",Y="";while(!0){let H={limit:"200"};if(Y)H.cursor=Y;let O=await LD(D,"users.list",H,F);for(let q of O.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(Y=O.response_metadata?.next_cursor??"",!Y)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 O=await LD(D,"conversations.list",H,F);for(let q of O.channels??[])if(q.user===J)return String(q.id??"");if(W=O.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 LD(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 LD(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 LD(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 N8(D,u){return LD(D,"conversations.info",{channel:u})}async function R8(D,u){let F=await F6(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 $6=["chat:write","im:write"],z6=["im:history","im:read"];async function X0(D){let{userId:u,botId:F,team:E,scopes:C}=await K8(D),B="";if(F)try{B=(await j8(D,F)).appId}catch{B=""}let $=(G)=>C.includes(G),z=$6.filter((G)=>!$(G)),Z=z6.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 T8(D){return["",` Bot user: ${D.botUserId||"(unknown)"}`,` App ID: ${D.appId||"(unknown — bots.info unavailable)"}`,` Granted scopes: ${D.grantedScopes.join(", ")||"(none reported)"}`]}function Q0(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,...T8(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,...T8(D)]}import{createInterface as Xu}from"node:readline/promises";import{join as U0}from"node:path";import{homedir as q6}from"node:os";import{existsSync as O0,readFileSync as Y0,writeFileSync as P8,mkdirSync as w8}from"node:fs";import{homedir as G6}from"node:os";import{join as W0,dirname as x8}from"node:path";function I8(){return process.env.HOME||G6()}function b8(){return W0(I8(),".config","slack-cli","profiles.json")}function Z6(){return W0(process.cwd(),".slack-cli","workspace")}function J6(){return W0(I8(),".slack-cli","workspace")}function H0(){let D=b8();if(!O0(D))return{profiles:{}};return JSON.parse(Y0(D,"utf8"))}function f8(D){let u=b8();w8(x8(u),{recursive:!0}),P8(u,JSON.stringify(D,null,2)+`
99
+ `)}function S8(D){if(!O0(D))return;return Y0(D,"utf8").trim()||void 0}function h8(D,u){w8(x8(D),{recursive:!0});let F=O0(D)?Y0(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)}P8(D,E.join(`
101
+ `).trimEnd()+`
102
+ `)}function XF(){let D=H0(),u=S8(Z6()),F=S8(J6()),E=u??F;return Object.entries(D.profiles).map(([C,B])=>({name:C,profile:B,current:C===E}))}function M0(D,u){let F=H0();F.profiles[D]=u,f8(F)}function V0(D,u){let F=H0();if(!(D in F.profiles))throw Error(`Profile not found: ${D}`);F.profiles[D].cookie=u,f8(F)}import{readdirSync as QF,readFileSync as OF,existsSync as Ju,copyFileSync as v8,unlinkSync as p8}from"node:fs";import{homedir as YF,tmpdir as m8}from"node:os";import{join as XD,dirname as X6}from"node:path";import{pbkdf2Sync as y8,createDecipheriv as c8}from"node:crypto";import{execSync as g8}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 O6(){let D=YF();if(process.platform==="darwin")return XD(D,"Library","Application Support","Slack","Cookies");return""}function Y6(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=c8("aes-128-cbc",u,F);return C.setAutoPadding(!0),Buffer.concat([C.update(E),C.final()]).toString("utf8")}function W6(){if(process.platform!=="darwin")return;let D=O6();if(!Ju(D))return;let u;try{u=g8('security find-generic-password -w -s "Slack Safe Storage" -a "Slack Key"',{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trimEnd()}catch{return}let F=y8(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 Y6(Buffer.from(B.encrypted_value),F)}catch{return}}async function k8(){let D=Q6();if(!Ju(D))throw Error(`Slack desktop app LevelDB not found at:
94
103
  ${D}
95
- Is Slack installed and opened at least once?`);let u=z8(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=G8(Fu(D,z),"latin1")}catch{continue}if(z.endsWith(".log"))for(let X of Z.matchAll(/"token":"(xoxc-[^"]+)"/g)){let O=X[1],J=O.split("-")[1]??"";if(!J||O.length<40)continue;let Q=Math.max(0,X.index-2000),Y=Math.min(Z.length,X.index+2000),M=Z.slice(Q,Y),H=M.match(/"url":"(https:\/\/[a-z0-9-]+\.slack\.com\/)"/),j=M.match(/"(?:team_name|name)":"([^"]{2,60})"/),A=F.get(J);if(!A||O.length>A.token.length){let x={token:O,teamId:J},n=H?.[1]??A?.url,f=j?.[1]??A?.teamName;if(n)x.url=n;if(f)x.teamName=f;F.set(J,x)}}else for(let X of Z.matchAll(/xoxc-(\d+)-(\d+)-(\d+)/g)){let O=X[1];if(F.has(O))continue;let J=X.index+X[0].length,Q=Math.min(J+10,Z.length);while(J<Q&&(Z.charCodeAt(J)<48||Z.charCodeAt(J)>57))J++;let Y="";while(J<Z.length&&Z.charCodeAt(J)>=48&&Z.charCodeAt(J)<=57)Y+=Z[J++];if(Z[J]!=="-")continue;J++;let M="";while(J<Z.length){let j=Z.charCodeAt(J);if(j>=48&&j<=57||j>=97&&j<=102)M+=Z[J++];else break}if(M.length<20)continue;let H=`${X[0]}${Y}-${M}`;F.set(O,{token:H,teamId:O})}}let C=z8(D).filter((z)=>z.endsWith(".ldb")||z.endsWith(".log")).map((z)=>{try{return G8(Fu(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 X=Math.max(0,Z-500),O=Math.min(C.length,Z+500),Q=C.slice(X,O).match(/"(?:team_name|name)":"([^"]{2,60})"/);if(Q?.[1]){z.teamName=Q[1];continue}}if(!z.teamName&&z.url){let X=z.url.match(/https:\/\/([a-z0-9-]+)\.slack\.com\//)?.[1];if(X){let O=C.indexOf(X);if(O!==-1){let J=Math.max(0,O-500),Q=Math.min(C.length,O+500),M=C.slice(J,Q).match(/"(?:team_name|name)":"([^"]{2,60})"/);if(M?.[1]){z.teamName=M[1];continue}}z.teamName=X.split("-").map((J)=>J.charAt(0).toUpperCase()+J.slice(1)).join(" ")}}}let B=L1(),$=[...F.values()];if(B)for(let z of $)z.cookie=B;return $}var S1=["search:read","channels:history","groups:history","im:history","mpim:history","channels:read","groups:read","im:read","mpim:read","users:read","chat:write","files:write"],P1=["channels:history","groups:history","im:history","mpim:history","channels:read","groups:read","im:read","mpim:read","users:read","chat:write","files:write"];function rF(D){return D.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function w1(){return JSON.stringify({display_information:{name:"slack-term"},oauth_config:{scopes:{user:S1}},settings:{org_deploy_enabled:!1,socket_mode_enabled:!1,token_rotation_enabled:!1}},null,2)}function I1(){return JSON.stringify({display_information:{name:"slack-term"},features:{bot_user:{display_name:"slack-term",always_online:!1}},oauth_config:{scopes:{bot:P1}},settings:{org_deploy_enabled:!1,socket_mode_enabled:!1,token_rotation_enabled:!1}},null,2)}async function Tu(D,u){return(await D.question(u)).trim()}async function EF(D,u,F){console.error("Verifying token...");let E=await DF(u),C=rF(E.team),B;if(F)B=F;else if(D)B=await Tu(D,`Workspace name [${C}]: `)||C;else B=C;if(oF(B,{token:u,...E}),console.log(`Saved workspace "${B}": ${E.team} (${E.user})`),process.env.SLACK_MCP_XOXP_TOKEN)console.log(""),console.log("Warning: SLACK_MCP_XOXP_TOKEN is set in your environment - it conflicts with profiles."),console.log(" Unset it so your new profile is used:"),console.log(" unset SLACK_MCP_XOXP_TOKEN"),console.log(" Also remove it from your shell config (~/.zshrc, ~/.bashrc, etc.)");else console.log(` Run: slack auth use -g ${B}`);return B}async function x1(){console.error("Scanning Slack desktop app...");let D=await X8();if(D.length===0)console.error("No sessions found. Make sure Slack is installed and you have signed in at least once."),process.exit(1);for(let u of D){let F=u.teamName??u.teamId,E=rF(F);oF(E,{token:u.token,team:F,teamId:u.teamId,url:u.url??"",user:"",...u.cookie?{cookie:u.cookie}:{}}),console.log(`Added workspace "${E}": ${F}${u.cookie?" + xoxd cookie":""}`)}if(console.log(""),D.length===1){let u=rF(D[0].teamName??D[0].teamId);console.log(`Run: slack auth use -g ${u}`)}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 f1(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 Tu(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 Tu(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 EF(D,B)}async function Q8(D,u){let F=u==="user"?w1():I1(),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 Tu(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 EF(D,B)}async function CF(D={}){let u=F8();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 EF(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 EF(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=R1({input:process.stdin,output:process.stdout});try{let E=await Tu(F,"Choice [1/2/3/4]: ");if(console.log(""),E==="1")await x1();else if(E==="2")await f1(F);else if(E==="3")await Q8(F,"user");else if(E==="4")await Q8(F,"bot");else console.error(`Invalid choice: "${E}". Enter 1, 2, 3, or 4.`),process.exit(1)}finally{F.close()}}async function BF(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),X=Z.search(/[>|]/),O=X===-1?Z:Z.slice(0,X);if(O.length>=9)C.push(O);$=z+1}for(let z of C){if(!F.has(z))F.set(z,await FF(D,z));let Z=F.get(z)??z;E=E.replaceAll(`<@${z}>`,`@${Z}`),E=E.replace(new RegExp(`<@${z}\\|[^>]*>`,"g"),`@${Z}`)}return E}function $F(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()]??"",X=z[B.getUTCMonth()]??"";return`${Z}, ${X} ${String(B.getUTCDate()).padStart(2,"0")}, ${B.getUTCFullYear()}`})}function b1(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"),X=String(E.getUTCSeconds()).padStart(2,"0"),O=F.padEnd(6,"0").slice(0,6);return`${C}-${B}-${$}T${z}:${Z}:${X}.${O}`}async function h1(D,u,F){let E=typeof u.ts==="string"?u.ts:"0.000000",C=b1(E),B="?";if(typeof u.user==="string"){let O=u.user,J="@"+O;if(!F.has(J)){let[,Q]=await uF(D,O);F.set(J,Q)}B=F.get(J)??O}else if(typeof u.username==="string")B=u.username;let $=typeof u.text==="string"?u.text:"",Z=$F(await BF(D,$,F)).split(`
96
- `),X=Z[0]+(Z.length>1?`
97
- `+Z.slice(1).map((O)=>` ${O}`).join(`
98
- `):"");return`${C} @${B}: ${X}`}async function v1(D,u,F,E,C,B,$,z){if(z?.aborted)return;return new Promise((Z)=>{let X=new D(F);z?.addEventListener("abort",()=>{X.close(),Z()},{once:!0}),X.addEventListener("open",()=>{process.stderr.write(`Connected via RTM (experimental).
99
- `)}),X.addEventListener("close",()=>Z()),X.addEventListener("error",()=>Z()),X.addEventListener("message",(O)=>{(async()=>{try{let J;try{J=JSON.parse(String(O.data))}catch{return}let Q=typeof J.type==="string"?J.type:"";if(Q==="ping"){X.send(JSON.stringify({type:"pong",reply_to:J.id??0}));return}if(Q!=="message")return;if((typeof J.channel==="string"?J.channel:"")!==E)return;let M=typeof J.ts==="string"?J.ts:"";if(!M||B.has(M))return;let H=typeof J.subtype==="string"?J.subtype:"";if(H==="message_changed"||H==="message_deleted")return;if(C.thread){if((typeof J.thread_ts==="string"?J.thread_ts:M)!==C.thread&&M!==C.thread)return}if(C.me&&C.myUserId){if(!(typeof J.text==="string"?J.text:"").includes(`<@${C.myUserId}>`))return}if(B.add(M),B.size>1000){let A=B.values().next().value;if(A!==void 0)B.delete(A)}let j=await h1(u,J,$);process.stdout.write(j+`
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 Y=Math.max(0,G.index-2000),W=Math.min(Z.length,G.index+2000),H=Z.slice(Y,W),O=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=O?.[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,Y=Math.min(J+10,Z.length);while(J<Y&&(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 O=`${G[0]}${W}-${H}`;F.set(Q,{token:O,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),Y=C.slice(G,Q).match(/"(?:team_name|name)":"([^"]{2,60})"/);if(Y?.[1]){z.teamName=Y[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),Y=Math.min(C.length,Q+500),H=C.slice(J,Y).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=W6(),$=[...F.values()];if(B)for(let z of $)z.cookie=B;return $}function H6(D,u){let F=(E,C)=>{try{let B=c8("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 M6(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 d8(){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=g8('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=y8(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(m8(),`slack-chrome-cookies-${Date.now()}-${B}.db`);try{v8($,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),Y=J.slice(0,3).toString();if(Y==="v10"){let W=H6(J,F);if(!W)continue;C.push({profileDir:B,profileName:M6(D,B),cookie:W})}else if(Y==="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{p8(z)}catch{}}}return{candidates:C,totalProfiles:E.length}}function V6(){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 U6(D){let u=XD(X6(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 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(`
106
+ `),G=Z[0]+(Z.length>1?`
107
+ `+Z.slice(1).map((J)=>` ${J}`).join(`
108
+ `):""),Q=a8(u)?"":"";return`${C} ${Q}@${B}: ${G}`}async function T6(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 Y=typeof J.type==="string"?J.type:"";if(Y==="ping"){G.send(JSON.stringify({type:"pong",reply_to:J.id??0}));return}if(Y!=="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 O=typeof J.subtype==="string"?J.subtype:"";if(O==="message_changed"||O==="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&&a8(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 R6(u,J,$);process.stdout.write(q+`
100
110
  `)}catch(J){process.stderr.write(`RTM message error: ${J instanceof Error?J.message:String(J)}
101
- `)}})()})})}var O8=3,p1=2000,aF={sleep:(D)=>new Promise((u)=>setTimeout(u,D)),clientBoot:$8,getWebSocket:()=>{let D=globalThis.WebSocket;return typeof D==="function"?D:void 0}};async function Y8(D,u,F,E,C,B,$){let z=aF.getWebSocket();if(!z)return;for(let Z=0;Z<O8;Z++){if($?.aborted)return;try{let{wsUrl:X}=await aF.clientBoot(D,u);await v1(z,D,X,F,E,C,B,$)}catch{}if($?.aborted)return;if(Z<O8-1)await aF.sleep(p1)}}function m1(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 mD={sleep:(D)=>new Promise((u)=>setTimeout(u,D)),now:()=>Date.now(),tailRTM:Y8};function Eu(D){return D&&typeof D==="object"&&!Array.isArray(D)?D:{}}function W8(D){return Array.isArray(D)?D:[]}function c1(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"),X=String(E.getUTCSeconds()).padStart(2,"0"),O=F.padEnd(6,"0").slice(0,6);return`${C}-${B}-${$}T${z}:${Z}:${X}.${O}`}async function y1(D,u,F,E){let C=typeof u.ts==="string"?u.ts:"0.000000",B=c1(C),$="?";if(typeof u.user==="string"){let Q=u.user,Y="@"+Q;if(!F.has(Y)){let[,M]=await uF(D,Q);F.set(Y,M)}$=F.get(Y)??Q}else if(typeof u.username==="string")$=u.username;let z=typeof u.text==="string"?u.text:"",X=$F(await BF(D,z,F)).split(`
102
- `),O=X[0]+(X.length>1?`
103
- `+X.slice(1).map((Q)=>` ${Q}`).join(`
104
- `):""),J=E?`${E} @${$}`:`@${$}`;return`${B} ${J}: ${O}`}async function i1(D,u,F,E,C,B,$){let z=Eu(await sF(D,u,20,$?void 0:F||void 0,$)),Z=W8(z.messages).map(Eu).reverse(),X=Eu(z.response_metadata),O=z.has_more===!0&&typeof X.next_cursor==="string"?X.next_cursor:void 0,J=[],Q=F;for(let Y of Z){let M=typeof Y.ts==="string"?Y.ts:"";if(!M||C.has(M))continue;let H=typeof Y.subtype==="string"?Y.subtype:"";if(H==="message_changed"||H==="message_deleted")continue;if(E.thread){if((typeof Y.thread_ts==="string"?Y.thread_ts:M)!==E.thread&&M!==E.thread)continue}if(E.me&&E.myUserId){if(!(typeof Y.text==="string"?Y.text:"").includes(`<@${E.myUserId}>`))continue}if(C.add(M),C.size>1000){let j=C.values().next().value;if(j!==void 0)C.delete(j)}J.push(await y1(D,Y,B)),Q=M}return{newCursor:Q,lines:J,hasMore:z.has_more===!0,nextPageCursor:O}}async function M8(D,u,F={},E){if(F.me&&!u)console.error(`slack tail --me requires a <target> channel.
111
+ `)}})()})})}var r8=3,S6=2000,q0={sleep:(D)=>new Promise((u)=>setTimeout(u,D)),clientBoot:R8,getWebSocket:()=>{let D=globalThis.WebSocket;return typeof D==="function"?D:void 0}};async function e8(D,u,F,E,C,B,$){let z=q0.getWebSocket();if(!z)return;for(let Z=0;Z<r8;Z++){if($?.aborted)return;try{let{wsUrl:G}=await q0.clientBoot(D,u);await T6(z,D,G,F,E,C,B,$)}catch{}if($?.aborted)return;if(Z<r8-1)await q0.sleep(S6)}}function D1(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:e8};function fD(D){return D&&typeof D==="object"&&!Array.isArray(D)?D:{}}function _0(D){return Array.isArray(D)?D:[]}function u1(D){return Number(D)||0}function F1(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 w6(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[,O]=await ZF(D,W);F.set(H,O)}$=F.get(H)??W}else if(typeof u.username==="string")$=u.username;let z=typeof u.text==="string"?u.text:"",G=UF(await VF(D,z,F)).split(`
112
+ `),Q=G[0]+(G.length>1?`
113
+ `+G.slice(1).map((W)=>` ${W}`).join(`
114
+ `):""),J=F1(u)?"↳ ":"",Y=E?`${E} @${$}`:`@${$}`;return`${B} ${J}${Y}: ${Q}`}async function x6(D,u,F,E,C,B,$){let z=fD(await Z0(D,u,20,$?void 0:F||void 0,$)),Z=_0(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 A8(D,u,E.watchThread,50));J=_0(q.messages).map(fD).filter((j)=>(typeof j.ts==="string"?j.ts:"")!==E.watchThread)}let Y=[...Z.map((q)=>({m:q,fromHistory:!0})),...J.map((q)=>({m:q,fromHistory:!1}))].sort((q,j)=>u1(typeof q.m.ts==="string"?q.m.ts:"")-u1(typeof j.m.ts==="string"?j.m.ts:"")),W=[],H=F,O=!1;for(let{m:q,fromHistory:j}of Y){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&&F1(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 w6(D,q,B)),j)H=N;let w=typeof q.user==="string"?q.user:"";if(!E.myUserId||w!==E.myUserId)O=!0}return{newCursor:H,lines:W,hasMore:z.has_more===!0,nextPageCursor:Q,emittedOther:O}}function I6(D){if(D.includes("slack.com")){let u=J0(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 E1(D,u,F={},E){if(F.me&&!u)console.error(`slack tail --me requires a <target> channel.
105
115
  Cross-channel mention streaming is not yet supported.
106
- 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 C8(D,u),B=F.interval??60000,$=new Map,z=new Set;try{let Y=Eu(await B8(D,C));if(Eu(Y.channel).is_archived===!0)console.error("Warning: this channel is archived — no new messages will arrive.")}catch(Y){let M=Y instanceof Error?Y.message:String(Y);if(M.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(M.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(M.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: ${M}`)}let Z="";if(F.since){let Y=m1(F.since);Z=(mD.now()/1000-Y).toFixed(6)}else{let Y=Eu(await sF(D,C,1)),M=W8(Y.messages).map(Eu);if(M.length>0&&typeof M[0]?.ts==="string")Z=M[0].ts,z.add(Z);else Z=(mD.now()/1000).toFixed(6)}let X;if(F.me)X=(await DF(D)).userId||void 0;let O={...F.thread!==void 0?{thread:F.thread}:{},...F.me!==void 0?{me:F.me}:{},...X!==void 0?{myUserId:X}:{}};if(D.startsWith("xoxc-")&&F.cookie!==void 0&&F.noRtm!==!0&&F.since===void 0){if(await mD.tailRTM(D,F.cookie,C,O,z,$,E),E?.aborted)return;console.error("RTM unavailable — switching to polling.")}let J=!0,Q=mD.now();while(!E?.aborted){try{let M=mD.now()-Q,H=B>0&&M>B*5,j,A=!0;do{let{newCursor:x,lines:n,nextPageCursor:f}=await i1(D,C,Z,O,z,$,j);if(Z=x,J&&A&&F.since&&n.length===0)process.stdout.write(`(no messages in the last ${F.since} — watching for new)
107
- `);A=!1;for(let i of n)process.stdout.write(i+`
108
- `);j=H?f:void 0}while(j);J=!1}catch(Y){if(Y instanceof uu){console.error(`Warning: Slack rate limit hit — backing off for ${Y.retryAfter}s`),await mD.sleep(Y.retryAfter*1000);continue}throw Y}Q=mD.now(),await mD.sleep(B)}}class Au extends Error{retryAfter;constructor(D){super(`Slack rate limited — retry after ${D}s`);this.name="RateLimitError",this.retryAfter=D}}function H8(){return(process.env.SLACK_API_BASE??"https://slack.com/api").replace(/\/$/,"")}async function V8(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${H8()}/${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 Au(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new Au(60);if(z==="invalid_auth"&&D.startsWith("xoxc-")&&!E)throw Error(`Desktop app token (xoxc-) is not accepted by the public Slack API.
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 L8(D,u),B=F.interval??60000,$=F.timeout?SD.now()+D1(F.timeout)*1000:1/0,z=new Map,Z=new Set;try{let O=fD(await N8(D,C));if(fD(O.channel).is_archived===!0)console.error("Warning: this channel is archived — no new messages will arrive.")}catch(O){let q=O instanceof Error?O.message:String(O);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 O=D1(F.since);G=(SD.now()/1000-O).toFixed(6)}else{let O=fD(await Z0(D,C,1)),q=_0(O.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=I6(F.watchThread)}catch(O){console.error(O instanceof Error?O.message:String(O)),process.exit(1)}let Y={...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,Y,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 O=!1;try{let N=SD.now()-H,k=B>0&&N>B*5,w,c=!0;do{let{newCursor:e,lines:s,nextPageCursor:qD,emittedOther:i}=await x6(D,C,G,Y,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
+ `);c=!1;for(let tD of s)process.stdout.write(tD+`
118
+ `);if(i)O=!0;w=k?qD: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&&O)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 C1(){return(process.env.SLACK_API_BASE??"https://slack.com/api").replace(/\/$/,"")}async function B1(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${C1()}/${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.
109
119
  Replace it with an xoxp- user token:
110
- slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function k1(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${H8()}/${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 Au(isNaN(z)?60:z)}let $=await B.json();if($.ok!==!0){let z=$.error??"unknown";if(z==="ratelimited")throw new Au(60);if((z==="invalid_auth"||z==="not_authed")&&!D.startsWith("xoxc-"))throw Error(`The draft API requires a desktop app session token (xoxc-).
120
+ slack workspace set-token <name> <xoxp-token>`);throw Error(`Slack error on ${u}: ${z}`)}return $}async function b6(D,u,F,E){let C={};if(E)C.Cookie=`d=${E}`;let B=await fetch(`${C1()}/${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-).
111
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.
112
122
  Set it with: slack workspace set-cookie <workspace-name> <xoxd-value>
113
- `+"Get xoxd from browser: DevTools → Application → Cookies → slack.com → d");throw Error(`Slack error on ${u}: ${z}`)}return $}function Yu(D,u,F={},E){let C=new URLSearchParams({token:D,...F});return k1(D,u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:C.toString()},E)}function YD(D,u,F,E){let C=new URLSearchParams(F).toString();return V8(D,`${u}?${C}`,{method:"GET"},E)}function Wu(D,u,F){return V8(D,u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(F)})}async function Ru(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 YD(D,"conversations.history",B)}async function GF(D,u,F,E=50){return YD(D,"conversations.replies",{channel:u,ts:F,limit:String(E)})}async function q8(D,u,F,E){return YD(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 U8(D,u){return q8(D,u,100,1)}async function j8(D,u,F){let C=1,B=[],$={ok:!0,messages:{}};while(!0){let Z=await q8(D,u,100,C),X=Lu(Z,["messages","matches"]),O=Array.isArray(X)?X:[];B.push(...O);let J=Number(Lu(Z,["messages","paging","pages"])??1);if($=Z,O.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 _8(D,u,F,E){let C={channel:u,text:F,blocks:[{type:"markdown",text:F}]};if(E!==void 0)C.thread_ts=E;return(await Wu(D,"chat.postMessage",C)).ts??""}async function K8(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 Wu(D,"chat.scheduleMessage",B)).scheduled_message_id??""}async function N8(D,u){let F={};if(u)F.channel=u;return YD(D,"chat.scheduledMessages.list",F)}async function T8(D,u,F){await Wu(D,"chat.deleteScheduledMessage",{channel:u,scheduled_message_id:F})}async function A8(D,u,F,E){return(await Wu(D,"chat.update",{channel:u,ts:F,text:E,blocks:[{type:"markdown",text:E}]})).ts??F}async function ZF(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 YD(D,"conversations.list",E);if(u.push(...C.channels??[]),F=C.response_metadata?.next_cursor??"",!F)break}return{channels:u}}async function JF(D,u){let E=(await Wu(D,"conversations.open",{users:u})).channel?.id;if(!E)throw Error(`Failed to open DM with user ${u}`);return E}function zF(D){return D.toLowerCase().replace(/[-_\s]/g,"")}function XF(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,X={channel:B?.get("cid")??void 0??F};if(E)X.ts=E;if($)X.threadTs=$;return X}function d1(D){return XF(D)?.channel}async function TD(D,u,F){let E=d1(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),$=zF(B);if(C){let X="",O="";while(!0){let Q={limit:"200"};if(O)Q.cursor=O;let Y=await YD(D,"users.list",Q,F);for(let M of Y.members??[]){let H=zF(M.name??""),j=zF(M.real_name??""),A=zF(M.profile?.display_name??"");if(H===$||j===$||A&&A===$){X=M.id??"";break}}if(X)break;if(O=Y.response_metadata?.next_cursor??"",!O)break}if(!X)throw Error(`User not found: ${u}`);let J="";while(!0){let Q={types:"im",limit:"200"};if(J)Q.cursor=J;let Y=await YD(D,"conversations.list",Q,F);for(let M of Y.channels??[])if(M.user===X)return String(M.id??"");if(J=Y.response_metadata?.next_cursor??"",!J)break}throw Error(`No existing DM with ${u} (${X}). Open it once in Slack first.`)}let z=B.toLowerCase(),Z="";while(!0){let X={limit:"200",types:"public_channel,private_channel",exclude_archived:"true"};if(Z)X.cursor=Z;let O=await YD(D,"conversations.list",X,F);for(let J of O.channels??[])if(String(J.name??"").toLowerCase()===z)return String(J.id??"");if(Z=O.response_metadata?.next_cursor??"",!Z)break}throw Error(`channel not found: ${u}`)}async function Su(D,u){try{let F=await YD(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 L8(D,u){try{let F=await YD(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 eF(D){let u=[],F="";while(!0){let E={limit:"200"};if(F)E.cursor=F;let C=await YD(D,"users.list",E);if(u.push(...C.members??[]),F=C.response_metadata?.next_cursor??"",!F)break}return{members:u}}async function Pu(D,u){return Yu(D,"drafts.list",{},u)}async function R8(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 Yu(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 S8(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 Yu(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 P8(D,u,F){return Yu(D,"conversations.info",{channel:u},F)}async function w8(D,u){return YD(D,"users.info",{user:u})}async function I8(D,u){return YD(D,"conversations.info",{channel:u})}async function x8(D,u,F){let E=(Date.now()/1000).toFixed(6);return Yu(D,"drafts.delete",{draft_id:u,client_last_updated_ts:E},F)}async function D0(D,u){let F=await Yu(D,"auth.test",{},u);return{userId:String(F.user_id??""),teamId:String(F.team_id??"")}}async function f8(D,u,F,E={}){let{statSync:C,readFileSync:B}=await import("node:fs"),{basename:$}=await import("node:path"),z=C(F),Z=$(F),X=await YD(D,"files.getUploadURLExternal",{filename:Z,length:String(z.size)}),O=X.upload_url,J=X.file_id;if(!O||!J)throw Error("files.getUploadURLExternal returned no upload_url/file_id");let Q=B(F),Y=await fetch(O,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:Q});if(!Y.ok)throw Error(`Upload PUT failed: ${Y.status} ${Y.statusText}`);let M={files:[{id:J,title:E.title??Z}],channel_id:u};if(E.threadTs)M.thread_ts=E.threadTs;if(E.initialComment)M.initial_comment=E.initialComment;let H=await Wu(D,"files.completeUploadExternal",M),j={fileId:J},A=H.files?.[0]?.permalink;if(A)j.permalink=A;return j}function Lu(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}async function Mu(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),X=Z.search(/[>|]/),O=X===-1?Z:Z.slice(0,X);if(O.length>=9)C.push(O);$=z+1}for(let z of C){if(!F.has(z))F.set(z,await FF(D,z));let Z=F.get(z)??z;E=E.replaceAll(`<@${z}>`,`@${Z}`),E=E.replace(new RegExp(`<@${z}\\|[^>]*>`,"g"),`@${Z}`)}return E}function wu(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()]??"",X=z[B.getUTCMonth()]??"";return`${Z}, ${X} ${String(B.getUTCDate()).padStart(2,"0")}, ${B.getUTCFullYear()}`})}function b8(D,u=new Date){let F=new Date(D*1000),E=u0(u),C=u0(new Date(u.getTime()-86400000)),B=u0(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 u0(D){return`${D.getFullYear()}-${D.getMonth()}-${D.getDate()}`}function h8(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 Iu(D){if(!p8(D))return;let u=g1(D,"utf8");for(let F of u.split(`
114
- `)){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 o1(D){t1(D,{recursive:!0});let u=Cu(D,".gitignore");if(!p8(u))l1(u,`*
115
- `)}function s1(){Iu(Cu(v8(),".slack-cli",".env.local")),Iu(Cu(v8(),".config/slack-cli",".env")),Iu(Cu(process.cwd(),".slack-cli",".env.local")),Iu(Cu(process.cwd(),".env.local")),Iu(Cu(process.cwd(),".env"))}function r1(D){return n1("sha256").update(D).digest("hex")}function y(D){return D&&typeof D==="object"&&!Array.isArray(D)?D:{}}function CD(D){return Array.isArray(D)?D:[]}function QF(D){return Number(D.ts??0)}async function m8(D,u,F){let E=u.user;if(typeof E==="string"){if(!F.has(E))F.set(E,await L8(D,E));return F.get(E)??E}return typeof u.username==="string"?u.username:"bot"}function F0(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 a1(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"),X=String(C.getUTCMinutes()).padStart(2,"0"),O=String(C.getUTCSeconds()).padStart(2,"0"),J=F.padEnd(6,"0").slice(0,6);return`${B}-${$}-${z}T${Z}:${X}:${O}.${J}`}function c8(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 e1(D){return/^\d{4}-\d{2}-\d{2}T/.test(D)?c8(D):D}async function xu(D,u,F,E){let C=typeof u.ts==="string"?u.ts:`${QF(u)}.000000`,B=a1(C),$="?";if(typeof u.user==="string"){let Q=u.user,Y="@"+Q;if(!F.has(Y)){let[,M]=await Su(D,Q);F.set(Y,M)}$=F.get(Y)??Q}else if(typeof u.username==="string")$=u.username;let z=typeof u.text==="string"?u.text:"",X=wu(await Mu(D,z,F)).split(`
116
- `),O=X[0]+(X.length>1?`
117
- `+X.slice(1).map((Q)=>` ${Q}`).join(`
118
- `):""),J=E?`${E} @${$}`:`@${$}`;return`${B} ${J}: ${O}`}async function D6(D,u,F){let E=XF(u),C=await TD(D,u),B=new Map;if(E?.threadTs){let $=await GF(D,C,E.threadTs,F),z=CD($.messages).map(y);for(let Z of z)console.log(await xu(D,Z,B))}else{let $=await Ru(D,C,F),z=CD($.messages).map(y);for(let Z of z.reverse())console.log(await xu(D,Z,B))}}async function u6(D,u,F,E){let C=await TD(D,u),B=await GF(D,C,e1(F),E),$=CD(B.messages).map(y),z=new Map;for(let Z of $)console.log(await xu(D,Z,z))}async function F6(D){let u=await ZF(D),F=CD(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 Ru(D,B,5),Z=CD(z.messages).map(y).filter((X)=>X.subtype===void 0||X.subtype===null).filter((X)=>{let O=typeof X.text==="string"?X.text:"";return O.length>0&&!O.startsWith("<@")}).slice(0,3).reverse();if(Z.length===0)continue;console.log(`-- #${$} --------------------------------`);for(let X of Z){let O=await m8(D,X,E),J=(typeof X.text==="string"?X.text:"").split(`
119
- `)[0]??"",Q=await Mu(D,J,E);console.log(` ${O}: ${Q}`)}}}async function E6(D,u){let F=await U8(D,"to:me"),E=CD(Lu(F,["messages","matches"])).map(y).slice(0,u),C=new Map,B=[];for(let $ of E){let z=b8(QF($)),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 X of[...Z].reverse()){let O=y(X.channel),J=O.is_im===!0,Q=typeof O.name==="string"?O.name:"dm",Y;if(J&&Q.startsWith("U")){let M="@"+Q;if(!C.has(M)){let[,H]=await Su(D,Q);C.set(M,H)}Y=`@${C.get(M)??Q}`}else if(J)Y=`@${Q}`;else Y=`#${Q}`;console.log(await xu(D,X,C,Y))}}}async function C6(D,u,F,E,C="text"){let B=await ZF(D),$=CD(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??""),X=typeof z.name==="string"?z.name:typeof z.user==="string"?z.user:Z,O=z.is_im===!0,J=z.is_mpim===!0,Q=O||J?"@":"#",Y=z.is_member===!0?"":" (not joined)",M=typeof y(z.purpose).value==="string"?String(y(z.purpose).value):"",H=M?` ${M.split(`
120
- `)[0]?.slice(0,60)}`:"";console.log(`${Q}${X} ${Z}${Y}${H}`)}}async function B6(D,u,F,E){let C=await j8(D,u,F);if(E){console.log(JSON.stringify(C,null,2));return}let B=CD(Lu(C,["messages","matches"])).map(y),$=new Map;for(let z of B){let Z=y(z.channel),X=Z.is_im===!0,O=typeof Z.name==="string"?Z.name:"dm",J;if(X&&O.startsWith("U")){let Q="@"+O;if(!$.has(Q)){let[,Y]=await Su(D,O);$.set(Q,Y)}J=`@${$.get(Q)??O}`}else if(X)J=`@${O}`;else J=`#${O}`;console.log(await xu(D,z,$,J))}}async function $6(D,u,F,E){let C=Math.floor(Date.now()/1000)-u*86400,B=await ZF(D),$=CD(B.channels).map(y).filter((O)=>O.is_member===!0&&O.is_im!==!0&&O.is_mpim!==!0).filter((O)=>{if(!E)return!0;return(typeof O.name==="string"?O.name:"").toLowerCase().includes(E.toLowerCase())}).sort((O,J)=>Number(J.updated??0)-Number(O.updated??0)),z=new Map,Z=0,X=0;for(let O of $){let J=String(O.id??""),Q=typeof O.name==="string"?O.name:J,Y;try{Y=await Ru(D,J,F)}catch(H){console.error(` SKIP #${Q}: ${H.message}`);continue}let M=CD(Y.messages).map(y).filter((H)=>(H.subtype===void 0||H.subtype===null)&&QF(H)>=C);if(M.length===0)continue;X+=1,Z+=M.length,console.log(`## #${Q} (${M.length} msgs)
121
- `);for(let H of[...M].reverse()){let j=await m8(D,H,z),A=typeof H.text==="string"?H.text:"",n=wu(await Mu(D,A,z)).split(`
122
- `).join(" \u21B5 ");console.log(`[${h8(QF(H))}] ${j}: ${n}`)}console.log("")}console.error(`Dumped ${Z} messages across ${X} channels (cutoff: ${u}d)`)}function z6(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 y8(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 P8(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[X]=await Su(D,Z);z=`@${X}`}}else z=`#${typeof $.name==="string"?$.name:C}`;return E.set(C,z),z}catch{return C}}}function E0(D){let u=y(CD(D.destinations)[0]);return String(u.channel_id??D.channel_id??D.channel??"")}function OF(D){return z6(CD(D.blocks))||(typeof D.text==="string"?D.text:"(no text)")}async function G6(D,u,F=!1){let E=await Pu(D,u),C=CD(E.drafts??E.messages??[]).map(y).filter((X)=>X.is_deleted!==!0),B=F?C:C.filter((X)=>X.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 D0(D,u))}catch{}let z=await y8(D,u,$),Z=new Map;for(let X of B){let O=E0(X),J=OF(X),Q=Number(X.date_created??X.date_create??0),Y=Q?F0(Q):"?",M=await z(O),H=typeof X.id==="string"?X.id:"",j=X.is_sent===!0?" [SENT]":"",A=wu(await Mu(D,J,Z));console.log(`-- ${H} ${M} [${Y}]${j}`);for(let x of A.split(`
123
- `))console.log(` ${x}`)}}async function Z6(D,u,F){let E=await Pu(D,u),C=CD(E.drafts).map(y).find((M)=>String(M.id)===F);if(!C)console.error(`Draft not found: ${F}`),process.exit(1);let B="";try{({userId:B}=await D0(D,u))}catch{}let $=await y8(D,u,B),z=E0(C),Z=OF(C),X=Number(C.date_created??0),O=String(C.last_updated_ts??"?"),J=await $(z),Y=wu(await Mu(D,Z,new Map));console.log(`id: ${C.id}`),console.log(`channel: ${J} (${z})`),console.log(`created: ${X?F0(X):"?"}`),console.log(`updated: ${F0(Number(O.split(".")[0]))}`),console.log(`status: ${C.is_sent===!0?"sent":"pending"}`),console.log("---"),console.log(Y)}function Bu(...D){return r1(D.join(`
124
- `)).slice(0,4)}function $u(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 J6(D){let u=XF(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:c8(E)}}}return{ref:D}}async function X6(D,u){let{ref:F,ts:E}=J6(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 TD(D,F);let B=await GF(D,C,E,1),z=CD(B.messages).map(y).find((J)=>String(J.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:"",X=Bu(Z,u.newText);if(u.code!==X)$u(u.code,X,["--- Original message -------------------------",...Z.split(`
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 b6(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 B1(D,`${u}?${C}`,{method:"GET"},E)}function Yu(D,u,F){return B1(D,u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(F)})}async function $1(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 z1(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 G1(D,u){return z1(D,u,100,1)}async function Z1(D,u,F){let C=1,B=[],$={ok:!0,messages:{}};while(!0){let Z=await z1(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 J1(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 X1(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 Q1(D,u){let F={};if(u)F.channel=u;return BD(D,"chat.scheduledMessages.list",F)}async function O1(D,u,F){await Yu(D,"chat.deleteScheduledMessage",{channel:u,scheduled_message_id:F})}async function Y1(D,u,F){return(await BD(D,"chat.getPermalink",{channel:u,message_ts:F})).permalink??""}async function W1(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 H1(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 M1(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 f6(D){return vu(D)?.channel}async function ND(D,u,F){let E=f6(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="",Y="";while(!0){let H={limit:"200"};if(Y)H.cursor=Y;let O=await BD(D,"users.list",H,F);for(let q of O.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(Y=O.response_metadata?.next_cursor??"",!Y)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 O=await BD(D,"conversations.list",H,F);for(let q of O.channels??[])if(q.user===J)return String(q.id??"");if(W=O.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 K0(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 V1(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 U1(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 q1(D,u,F){return Ku(D,"conversations.info",{channel:u},F)}async function _1(D,u){return BD(D,"users.info",{user:u})}async function j0(D,u){return BD(D,"conversations.info",{channel:u})}async function K1(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 A0(D,u){let F=await Ku(D,"auth.test",{},u);return{userId:String(F.user_id??""),teamId:String(F.team_id??"")}}async function j1(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 Y=B(F),W=await fetch(Q,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:Y});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 O=await Yu(D,"files.completeUploadExternal",H),q={fileId:J},j=O.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}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 A1(D,u=new Date){let F=new Date(D*1000),E=L0(u),C=L0(new Date(u.getTime()-86400000)),B=L0(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 L0(D){return`${D.getFullYear()}-${D.getMonth()}-${D.getDate()}`}function L1(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(!R1(D))return;let u=v6(D,"utf8");for(let F of u.split(`
124
+ `)){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 y6(D){p6(D,{recursive:!0});let u=Wu(D,".gitignore");if(!R1(u))m6(u,`*
125
+ `)}function c6(){gu(Wu(N1(),".slack-cli",".env.local")),gu(Wu(N1(),".config/slack-cli",".env")),gu(Wu(process.cwd(),".slack-cli",".env.local")),gu(Wu(process.cwd(),".env.local")),gu(Wu(process.cwd(),".env"))}function g6(D){return h6("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 _F(D){return Number(D.ts??0)}async function T1(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 N0(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 R0(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 T0(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 k6(D){return/^\d{4}-\d{2}-\d{2}T/.test(D)?T0(D):D}async function jF(D,u,F,E){let C=typeof u.ts==="string"?u.ts:`${_F(u)}.000000`,B=R0(C),$="?";if(typeof u.user==="string"){let H=u.user,O="@"+H;if(!F.has(O)){let[,q]=await pu(D,H);F.set(O,q)}$=F.get(O)??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
+ `),Q=G[0]+(G.length>1?`
127
+ `+G.slice(1).map((H)=>` ${H}`).join(`
128
+ `):""),J=E?`${E} @${$}`:`@${$}`,Y=a(u.reactions).map(y).map((H)=>{let O=typeof H.name==="string"?H.name:"",q=Number(H.count??a(H.users).length??0);return O?`:${O}:\xD7${q}`:""}).filter(Boolean).join(" "),W=Y?`
129
+ ${Y}`:"";return`${B} ${J}: ${Q}${W}`}function S1(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 d6(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(S1(G)));return}for(let G of Z)console.log(await jF(D,G,$))}async function i6(D,u,F,E,C="text"){let B=await ND(D,u),$=await ju(D,B,k6(F),E),z=a($.messages).map(y);if(C==="jsonl"){for(let G of z)console.log(JSON.stringify(S1(G)));return}let Z=new Map;for(let G of z)console.log(await jF(D,G,Z))}async function n6(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 T1(D,G,E),J=(typeof G.text==="string"?G.text:"").split(`
130
+ `)[0]??"",Y=await Au(D,J,E);console.log(` ${Q}: ${Y}`)}}}async function t6(D,u){let F=await G1(D,"to:me"),E=a(bu(F,["messages","matches"])).map(y).slice(0,u),C=new Map,B=[];for(let $ of E){let z=A1(_F($)),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,Y=typeof Q.name==="string"?Q.name:"dm",W;if(J&&Y.startsWith("U")){let H="@"+Y;if(!C.has(H)){let[,O]=await pu(D,Y);C.set(H,O)}W=`@${C.get(H)??Y}`}else if(J)W=`@${Y}`;else W=`#${Y}`;console.log(await jF(D,G,C,W))}}}async function l6(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,Y=Q||J?"@":"#",W=z.is_member===!0?"":" (not joined)",H=typeof y(z.purpose).value==="string"?String(y(z.purpose).value):"",O=H?` ${H.split(`
131
+ `)[0]?.slice(0,60)}`:"";console.log(`${Y}${G} ${Z}${W}${O}`)}}async function o6(D,u,F,E){let C=await Z1(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 Y="@"+Q;if(!$.has(Y)){let[,W]=await pu(D,Q);$.set(Y,W)}J=`@${$.get(Y)??Q}`}else if(G)J=`@${Q}`;else J=`#${Q}`;console.log(await jF(D,z,$,J))}}async function s6(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??""),Y=typeof Q.name==="string"?Q.name:J,W;try{W=await fu(D,J,F)}catch(O){console.error(` SKIP #${Y}: ${O.message}`);continue}let H=a(W.messages).map(y).filter((O)=>(O.subtype===void 0||O.subtype===null)&&_F(O)>=C);if(H.length===0)continue;G+=1,Z+=H.length,console.log(`## #${Y} (${H.length} msgs)
132
+ `);for(let O of[...H].reverse()){let q=await T1(D,O,z),j=typeof O.text==="string"?O.text:"",k=cu(await Au(D,j,z)).split(`
133
+ `).join(" \u21B5 ");console.log(`[${L1(_F(O))}] ${q}: ${k}`)}console.log("")}console.error(`Dumped ${Z} messages across ${G} channels (cutoff: ${u}d)`)}function r6(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 q1(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 S0(D){let u=y(a(D.destinations)[0]);return String(u.channel_id??D.channel_id??D.channel??"")}function KF(D){return r6(a(D.blocks))||(typeof D.text==="string"?D.text:"(no text)")}async function a6(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 A0(D,u))}catch{}let z=await P1(D,u,$),Z=new Map;for(let G of B){let Q=S0(G),J=KF(G),Y=Number(G.date_created??G.date_create??0),W=Y?N0(Y):"?",H=await z(Q),O=typeof G.id==="string"?G.id:"",q=G.is_sent===!0?" [SENT]":"",j=cu(await Au(D,J,Z));console.log(`-- ${O} ${H} [${W}]${q}`);for(let N of j.split(`
134
+ `))console.log(` ${N}`)}}async function e6(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 A0(D,u))}catch{}let $=await P1(D,u,B),z=S0(C),Z=KF(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?N0(G):"?"}`),console.log(`updated: ${N0(Number(Q.split(".")[0]))}`),console.log(`status: ${C.is_sent===!0?"sent":"pending"}`),console.log("---"),console.log(W)}function iD(...D){return g6(D.join(`
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 w1(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:T0(E)}}}return{ref:D}}function P0(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:T0(E)}}return{ref:D}}async function x1(D,u,F){let E=F;if(!F.startsWith("#")&&!F.startsWith("@"))try{let C=y(await j0(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 D7(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(`
136
+ `)[0]??"",Z=z.length>40?`${z.slice(0,40)}\u2026`:z;return`${R0(F).slice(0,16).replace("T"," ")} @${$}${Z?`: ${Z}`:""}`}catch{return F}}async function u7(D,u){let{ref:F,ts:E}=w1(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((J)=>String(J.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(Z,u.newText);if(u.code!==G)nD(u.code,G,["--- Original message -------------------------",...Z.split(`
125
137
  `).map((J)=>` ${J}`),"--- Replacing with ---------------------------",...u.newText.split(`
126
- `).map((J)=>` ${J}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let O=await A8(D,C,E,u.newText);console.log(`\u2713 Edited (ts: ${O})`)}async function Q6(D,u){let F;if(u.channelId)F=u.channelId;else if(u.userId)F=await JF(D,u.userId);else if(u.target.startsWith("#")||u.target.startsWith("@"))F=await TD(D,u.target);else console.error(`Error: target must be #channel-name or @username (got: ${u.target})`),console.error("Use --channel-id=<ID> or --user-id=<ID> to send by raw ID."),process.exit(1);let E=await Ru(D,F,1),C=CD(E.messages).map(y).filter((X)=>X.subtype===void 0||X.subtype===null)[0],B=typeof C?.text==="string"?C.text:"",$=typeof C?.user==="string"?C.user:"?",z=Bu(B,u.message);if(u.code!==z)$u(u.code,z,["--- Last message in channel ------------------",` ${$}: ${B.split(`
127
- `)[0]?.slice(0,100)??"(empty)"}`,"--- Sending ----------------------------------",` To: ${u.target}${u.thread?` (thread ${u.thread})`:""}`,` Message: ${u.message}`,"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let Z=await _8(D,F,u.message,u.thread);console.log(`\u2713 Sent (ts: ${Z})`)}function O6(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 Y6(D,u){let F;if(u.channelId)F=u.channelId;else if(u.userId)F=await JF(D,u.userId);else if(u.target.startsWith("#")||u.target.startsWith("@"))F=await TD(D,u.target);else console.error(`Error: target must be #channel-name or @username (got: ${u.target})`),process.exit(1);let E=O6(u.at),C=new Date(E*1000).toISOString(),B=Bu(F,u.message,String(E));if(u.code!==B)$u(u.code,B,["--- Scheduling message -----------------------",` To: ${u.target}${u.thread?` (thread ${u.thread})`:""}`,` At: ${C} (Unix: ${E})`,` Message: ${u.message}`,"---------------------------------------------"]);let $=await K8(D,F,u.message,E,u.thread);console.log(`\u2713 Scheduled (id: ${$}, at: ${C})`)}async function W6(D,u,F){let E;if(F)E=F;else if(u)E=await TD(D,u);let B=(await N8(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(`
128
- `)[0]?.slice(0,80)??""}`)}}async function M6(D,u){let F;if(u.channelId)F=u.channelId;else F=await TD(D,u.target);let E=Bu(F,u.id);if(u.code!==E)$u(u.code,E,["--- Deleting scheduled message ---------------",` Channel: ${u.target}`,` ID: ${u.id}`,"---------------------------------------------"]);await T8(D,F,u.id),console.log(`\u2713 Deleted scheduled message ${u.id}`)}async function H6(D,u){let{statSync:F,existsSync:E}=await import("fs"),{basename:C}=await import("path");for(let J of u.filePaths)if(!E(J))console.error(`Error: file not found: ${J}`),process.exit(1);let B;if(u.channelId)B=u.channelId;else if(u.userId)B=await JF(D,u.userId);else if(u.target.startsWith("#")||u.target.startsWith("@"))B=await TD(D,u.target);else console.error(`Error: target must be #channel-name or @username (got: ${u.target})`),process.exit(1);function $(J){return J<1024?`${J} B`:J<1048576?`${(J/1024).toFixed(1)} KB`:`${(J/1048576).toFixed(1)} MB`}let z=u.filePaths.length>1,Z=u.filePaths.map((J)=>{let Q=C(J),Y=z?Q:u.title??Q;return{fp:J,filename:Q,title:Y,sizeFmt:$(F(J).size)}}),X=Bu(B,...Z.flatMap((J)=>[J.fp,J.title]));if(u.code!==X){let J=` To: ${u.target}${u.thread?` (thread ${u.thread})`:""}`,Q=z?[`--- Uploading ${Z.length} files ------------------------`,J,...Z.map((Y)=>` ${Y.filename} (${Y.sizeFmt})`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]:["--- Uploading file ---------------------------",J,` File: ${Z[0].fp}`,` Title: ${Z[0].title}`,` Size: ${Z[0].sizeFmt}`,"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"];$u(u.code,X,Q)}let O=Z.length;for(let J=0;J<O;J++){let Q=Z[J],Y={title:Q.title};if(u.thread!==void 0)Y.threadTs=u.thread;if(u.comment!==void 0&&J===0)Y.initialComment=u.comment;let{fileId:M,permalink:H}=await f8(D,B,Q.fp,Y),j=O>1?`[${J+1}/${O}] `:"";console.log(`${j}\u2713 Uploaded (file_id: ${M}${H?`, url: ${H}`:""})`)}}async function V6(){s1();let D=(F)=>tF(F.workspace),u=(F)=>o2(F.workspace);await m2(RF(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{tF(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:
129
- `),await CF(),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"}),async(F)=>{let E=D(F);if(F.target)await D6(E,F.target,F.limit);else await F6(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}),async(F)=>{await u6(D(F),F.target,F.ts,F.limit)}).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 C6(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 TD(C,$),Z=y(await I8(C,z)),X=y(Z.channel),O=typeof X.name==="string"?X.name:z,Q=X.is_im===!0?"@":"#",Y=String(y(X.purpose).value??""),M=String(y(X.topic).value??""),H=X.num_members??X.member_count??"";if(console.log(`${Q}${O} ${z}`),M)console.log(`topic: ${M}`);if(Y)console.log(`purpose: ${Y}`);if(H)console.log(`members: ${H}`);console.log(`private: ${X.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 eF(D(E)),$=E.filter?.toLowerCase(),z=CD(B.members).map(y).filter((X)=>X.deleted!==!0&&X.is_bot!==!0&&String(X.id)!=="USLACKBOT").filter((X)=>{if(!$)return!0;let O=String(X.name??"").toLowerCase(),J=String(y(X.profile).real_name??"").toLowerCase(),Q=String(y(X.profile).email??"").toLowerCase();return O.includes($)||J.includes($)||Q.includes($)}).slice(0,E.limit);if(C==="jsonl"){for(let X of z)console.log(JSON.stringify(X));return}if(C==="yaml"){for(let X of z){let O=function(J,Q=""){if(J===null)return"null";if(typeof J==="string")return J.includes(`
138
+ `).map((J)=>` ${J}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let Q=await W1(D,C,E,u.newText);console.log(`\u2713 Edited (ts: ${Q})`)}async function F7(D,u){let{ref:F,ts:E}=w1(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 x1(D,C,F);nD(u.code,G,["--- Deleting message -------------------------",` \u2192 ${Q} at ${R0(E)}`,...Z.split(`
139
+ `).map((J)=>` ${J}`),"---------------------------------------------"])}await H1(D,C,E),console.log(`\u2713 Deleted (ts: ${E})`)}async function E7(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 $1(D)).user??"").toLowerCase().replace(/[^a-z0-9]/g,"");return C!==""&&C===F}catch{return!1}}async function C7(D,u){let{ref:F,threadTs:E}=P0(u.target);if(!u.asBot&&!u.channelId&&!u.userId&&await E7(D,F))console.error(`Warning: "${F}" is a DM to yourself \u2014 Slack will NOT notify you of your own message.
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="",$="?";try{let Q=await fu(D,C,1),J=a(Q.messages).map(y).filter((Y)=>Y.subtype===void 0||Y.subtype===null)[0];B=typeof J?.text==="string"?J.text:"",$=typeof J?.user==="string"?await mu(D,J.user):typeof J?.username==="string"?J.username:"?"}catch{}let z=iD(C,E??"",B,u.message);if(u.code!==z){let Q=await x1(D,C,F),J=E?` \u2192 ${Q} thread of ${await D7(D,C,E)} \u2014 THREAD REPLY`:` \u2192 ${Q} \u2014 NEW top-level message`;nD(u.code,z,["--- Last message in channel ------------------",` ${$}: ${B.split(`
141
+ `)[0]?.slice(0,100)??"(empty)"}`,"--- Sending ----------------------------------",J,` Message: ${u.message}`,"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"])}let Z=await J1(D,C,u.message,E,u.broadcast),G="";try{G=await Y1(D,C,Z)}catch{}if(G)console.log(`\u2713 Sent: ${G}`);else console.log(`\u2713 Sent (ts: ${Z})`);if(u.asBot&&C.startsWith("D"))try{let Q=await X0(D);if(!Q.ok)for(let J of Q0(Q,!0))console.error(J);else{let J=Q.appId?`https://api.slack.com/apps/${Q.appId}`:"https://api.slack.com/apps";console.error(`Note: if ${u.target} can't reply (app messaging may be off), enable Messages Tab: ${J} \u2192 App Home.`)}}catch{}}async function B7(D){let u=await X0(D);for(let F of Q0(u,!1))console.log(F);if(!u.ok)process.exit(1)}function $7(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 z7(D,u){let{ref:F,threadTs:E}=P0(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=$7(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 X1(D,C,u.message,B,E);console.log(`\u2713 Scheduled (id: ${Z}, at: ${$})`)}async function G7(D,u,F){let E;if(F)E=F;else if(u)E=await ND(D,u);let B=(await Q1(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(`
142
+ `)[0]?.slice(0,80)??""}`)}}async function Z7(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 O1(D,F,u.id),console.log(`\u2713 Deleted scheduled message ${u.id}`)}async function J7(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:$}=P0(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),O=G?H:u.title??H;return{fp:W,filename:H,title:O,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((O)=>` ${O.filename} (${O.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 Y=Q.length;for(let W=0;W<Y;W++){let H=Q[W],O={title:H.title};if($!==void 0)O.threadTs=$;if(u.comment!==void 0&&W===0)O.initialComment=u.comment;let{fileId:q,permalink:j}=await j1(D,z,H.fp,O),N=Y>1?`[${W+1}/${Y}] `:"";console.log(`${N}\u2713 Uploaded (file_id: ${q}${j?`, url: ${j}`:""})`)}}async function X7(){c6();let D=(F)=>$0(F.workspace),u=(F)=>q8(F.workspace);await Q8(pF(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{$0(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:
143
+ `),await MF(),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 d6(E,F.target,F.limit,C);else await n6(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 i6(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 l6(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 j0(C,z)),G=y(Z.channel),Q=typeof G.name==="string"?G.name:z,Y=G.is_im===!0?"@":"#",W=String(y(G.purpose).value??""),H=String(y(G.topic).value??""),O=G.num_members??G.member_count??"";if(console.log(`${Y}${Q} ${z}`),H)console.log(`topic: ${H}`);if(W)console.log(`purpose: ${W}`);if(O)console.log(`members: ${O}`);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 K0(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(),Y=String(y(G.profile).email??"").toLowerCase();return Q.includes($)||J.includes($)||Y.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,Y=""){if(J===null)return"null";if(typeof J==="string")return J.includes(`
130
144
  `)?`|
131
145
  ${J.split(`
132
146
  `).join(`
133
- `)}`:J;if(typeof J!=="object")return String(J);if(Array.isArray(J))return J.map((Y)=>`
134
- ${Q} - ${O(Y,Q+" ")}`).join("");return Object.entries(J).map(([Y,M])=>`
135
- ${Q} ${Y}: ${O(M,Q+" ")}`).join("")};console.log("---");for(let[J,Q]of Object.entries(X))console.log(`${J}: ${O(Q)}`)}return}let Z=Intl.DateTimeFormat().resolvedOptions().timeZone;for(let X of z){let O=y(X.profile),J=String(X.name??X.id),Q=String(X.id??""),Y=String(O.display_name||""),M=String(O.real_name||""),H=String(O.email||""),j=String(X.tz??""),x=[...new Set([Y,M].filter((i)=>i&&i!==J))].join(" / "),f=[H,j&&j!==Z?j:""].filter(Boolean).join(" ");console.log(`@${J} ${Q} ${x}${f?" "+f:""}`)}}).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 f=await eF(C),i=CD(f.members).map(y).find((a)=>String(a.name??"")===B);if(!i)console.error(`User not found: @${B}`),process.exit(1);$=String(i.id)}let z=y(await w8(C,$)),Z=y(z.user),X=y(Z.profile),O=Intl.DateTimeFormat().resolvedOptions().timeZone,J=String(Z.name??$),Q=String(Z.id??$),Y=String(X.display_name||""),M=String(X.real_name||""),H=String(X.email||""),j=String(Z.tz??""),A=String(X.phone||""),x=String(X.title||"");console.log(`@${J} ${Q}`);let n=[...new Set([Y,M].filter((f)=>f&&f!==J))];if(n.length)console.log(`name: ${n.join(" / ")}`);if(H)console.log(`email: ${H}`);if(A)console.log(`phone: ${A}`);if(x)console.log(`title: ${x}`);if(j&&j!==O)console.log(`tz: ${j}`)}).demandCommand(1,"").showHelpOnFail(!0)).command("news","Activity feed (mentions to you)",(F)=>F.option("limit",{alias:"l",type:"number",default:20}),async(F)=>{await E6(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 B6(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}).positional("message",{type:"string",demandOption:!0}).option("thread",{type:"string",describe:"Thread timestamp"}).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)"}),async(F)=>{let E={target:F.target,message:F.message};if(F.thread)E.thread=F.thread;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 Q6(D(F),E)}).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}).positional("message",{type:"string",demandOption:!0}).option("at",{type:"string",demandOption:!0,describe:"Delivery time (ISO datetime or Unix ts)"}).option("thread",{type:"string",describe:"Thread timestamp"}).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.thread)C.thread=E.thread;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 Y6(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 W6(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 M6(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"}),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"];await X6(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}).positional("file",{type:"string",array:!0,demandOption:!0,describe:"Path(s) to file(s)"}).option("title",{type:"string",describe:"Title (single file only)"}).option("thread",{type:"string",describe:"Thread timestamp"}).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.thread)E.thread=F.thread;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 H6(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 $6(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 G6(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 TD(C,E.channel,B),Z=await R8(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 Z6(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 Pu(C,B),Z=CD(z.drafts).map(y).find((Q)=>String(Q.id)===E.id);if(!Z)console.error(`Draft not found: ${E.id}`),process.exit(1);let X=OF(Z),O=Bu(X,$);if(E.code!==O)$u(E.code,O,["--- Current draft ----------------------------",...X.split(`
136
- `).map((Q)=>` ${Q}`),"--- Replacing with ---------------------------",...$.split(`
137
- `).map((Q)=>` ${Q}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let J=await S8(C,E.id,E0(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 Pu(C,B),z=CD($.drafts).map(y).find((O)=>String(O.id)===E.id);if(!z)console.error(`Draft not found: ${E.id}`),process.exit(1);let Z=OF(z),X=Bu(E.id,Z);if(E.code!==X)$u(E.code,X,["\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(`
138
- `).map((O)=>` ${O}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);await x8(C,E.id,B),console.log(`\u2713 Draft deleted (id: ${E.id})`)})).command("auth","Authentication and workspace management",(F)=>F.command("login","Add a workspace (interactive or --token for non-interactive)",(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 CF({...E.token!==void 0?{token:E.token}:{},...E.name!==void 0?{name:E.name}:{}})}).command(["ls","status"],"Show auth status",()=>{},()=>{let E=g2();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)o1(Cu(process.cwd(),".slack-cli"));l2(E.name,E.g),console.log(`Switched to workspace "${E.name}" ${E.g?"globally":"locally"}`)}).command(["rm <name>","remove <name>"],"Remove a workspace",(E)=>E.positional("name",{type:"string",demandOption:!0}),(E)=>{t2(E.name),console.log(`Removed workspace "${E.name}"`)}).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("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("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 M8(E,F.target,{...F.since!==void 0?{since:F.since}:{},...F.thread!==void 0?{thread:F.thread}:{},me:F.me,interval:F.interval,...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 CF({...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()}V6().catch((D)=>{console.error(D instanceof Error?D.message:String(D)),process.exit(1)});
147
+ `)}`:J;if(typeof J!=="object")return String(J);if(Array.isArray(J))return J.map((W)=>`
148
+ ${Y} - ${Q(W,Y+" ")}`).join("");return Object.entries(J).map(([W,H])=>`
149
+ ${Y} ${W}: ${Q(H,Y+" ")}`).join("")};console.log("---");for(let[J,Y]of Object.entries(G))console.log(`${J}: ${Q(Y)}`)}return}let Z=Intl.DateTimeFormat().resolvedOptions().timeZone;for(let G of z){let Q=y(G.profile),J=String(G.name??G.id),Y=String(G.id??""),W=String(Q.display_name||""),H=String(Q.real_name||""),O=String(Q.email||""),q=String(G.tz??""),N=[...new Set([W,H].filter((c)=>c&&c!==J))].join(" / "),w=[O,q&&q!==Z?q:""].filter(Boolean).join(" ");console.log(`@${J} ${Y} ${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 K0(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 _1(C,$)),Z=y(z.user),G=y(Z.profile),Q=Intl.DateTimeFormat().resolvedOptions().timeZone,J=String(Z.name??$),Y=String(Z.id??$),W=String(G.display_name||""),H=String(G.real_name||""),O=String(G.email||""),q=String(Z.tz??""),j=String(G.phone||""),N=String(G.title||"");console.log(`@${J} ${Y}`);let k=[...new Set([W,H].filter((w)=>w&&w!==J))];if(k.length)console.log(`name: ${k.join(" / ")}`);if(O)console.log(`email: ${O}`);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 t6(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 o6(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.`}),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;let C;if(F["as-bot"]){let B=z0();if(!B)console.error(`Error: --as-bot needs a bot token, but no xoxb- token was found.
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 M1(D(F),E.target)}catch($){console.error(`Error: could not resolve ${E.target} to a user for the bot DM.
151
+ ${$ 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 C7(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=z0();if(!F)console.error(`Error: slack doctor checks the bot token, but no xoxb- token was found.
153
+ Set SLACK_BOT_TOKEN=xoxb-... in ~/.config/slack-cli/.env (or your shell).`),process.exit(1);await B7(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 z7(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 G7(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 Z7(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"}),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"];await u7(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 F7(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 J7(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 s6(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 a6(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 V1(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 e6(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((Y)=>String(Y.id)===E.id);if(!Z)console.error(`Draft not found: ${E.id}`),process.exit(1);let G=KF(Z),Q=iD(G,$);if(E.code!==Q)nD(E.code,Q,["--- Current draft ----------------------------",...G.split(`
154
+ `).map((Y)=>` ${Y}`),"--- Replacing with ---------------------------",...$.split(`
155
+ `).map((Y)=>` ${Y}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);let J=await U1(C,E.id,S0(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=KF(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(`
156
+ `).map((Q)=>` ${Q}`),"--------------------------------\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"]);await K1(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 o8({...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 s8({...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 MF({...E.token!==void 0?{token:E.token}:{},...E.name!==void 0?{name:E.name}:{}})}).command(["ls","status"],"Show auth status",()=>{},()=>{let E=M8();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)y6(Wu(process.cwd(),".slack-cli"));U8(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)=>{V8(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 t8({...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 l8({...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 E1(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 MF({...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()}X7().catch((D)=>{console.error(D instanceof Error?D.message:String(D)),process.exit(1)});