@easbot/terminal 0.3.12 → 0.3.13

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/index.cjs CHANGED
@@ -1,17 +1,32 @@
1
- 'use strict';var fe=require('chalk'),ae=require('os'),$e=require('path'),utils=require('@easbot/utils'),prompts=require('@clack/prompts'),ue=require('process'),de=require('readline'),util=require('util'),stream=require('stream');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var fe__default=/*#__PURE__*/_interopDefault(fe);var ae__default=/*#__PURE__*/_interopDefault(ae);var $e__default=/*#__PURE__*/_interopDefault($e);var ue__default=/*#__PURE__*/_interopDefault(ue);var de__namespace=/*#__PURE__*/_interopNamespace(de);var xt="\\x1b\\[[0-9;]*m",bt="\\x1b\\]8;;.*?\\x1b\\\\|\\x1b\\]8;;\\x1b\\\\",St=new RegExp(xt,"g"),$t=new RegExp(bt,"g");function ne(e){return e?e.replace($t,"").replace(St,""):""}function D(e){return e?Array.from(ne(e)).length:0}var B={accent:"#FF5A2D",accentBright:"#FF7A3D",accentDim:"#D14A22",info:"#FF8A5B",success:"#2FBF71",warn:"#FFB020",error:"#E23D2D",muted:"#8B7F77"};var Ct=typeof process.env.FORCE_COLOR=="string"&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!=="0",he=process.env.NO_COLOR&&!Ct?new fe.Chalk({level:0}):fe__default.default,j=e=>he.hex(e),b={accent:j(B.accent),accentBright:j(B.accentBright),accentDim:j(B.accentDim),info:j(B.info),success:j(B.success),warn:j(B.warn),error:j(B.error),muted:j(B.muted),heading:he.bold.hex(B.accent),command:j(B.accentBright),option:j(B.warn)},k=()=>he.level>0,y=(e,t,r)=>e?t(r):r;function yt(e){return y(k(),b.success,"\u2713")+` ${e}`}function wt(e){return y(k(),b.error,"\u2717")+` ${e}`}function Et(e){return y(k(),b.warn,"\u26A0")+` ${e}`}function Rt(e){return y(k(),b.info,"\u2139")+` ${e}`}function It(e){return y(k(),b.heading,e)}function kt(e,t,r=15){let s=e.padEnd(r);return `${y(k(),b.muted,s)} ${t}`}function Ot(e,t){let r=k(),s=y(r,b.command,e);if(!t)return ` ${s}`;let c=y(r,b.muted,`# ${t}`);return ` ${s} ${c}`}function Wt(e,t,r){let s=k(),c=y(s,b.info,e),f=y(s,b.command,t),m=r?` ${y(s,b.muted,r)}`:"";return `${c} ${f}${m}`}var Lt={pending:{icon:"\u25CB",color:b.muted},running:{icon:"\u25CF",color:b.info},success:{icon:"\u2713",color:b.success},error:{icon:"\u2717",color:b.error},skipped:{icon:"\u25CB",color:b.muted}};function Mt(e,t){let{icon:r,color:s}=Lt[e];return y(k(),s,r)+` ${t}`}function Pt(e=80,t="\u2500"){return y(k(),b.muted,t.repeat(e))}function Ft(e){return y(k(),b.muted,e)}function Nt(e,t,r){let s=e===1?t:r||`${t}s`;return `${y(k(),b.accent,String(e))} ${s}`}function V(e){let t=e?.trim();return t?utils.Filesystem.toUnixPath(t):void 0}function Je(e){try{return V(e())}catch{return}}function At(e,t){let r=V(e.EASBOT_TEST_HOME);if(r)return r;let s=V(e.EASBOT_HOME);if(s){if(s==="~"||s.startsWith("~/")||s.startsWith("~\\")){let m=V(e.HOME)??V(e.USERPROFILE)??Je(t);return m?s.replace(/^~(?=$|[\\/])/,m):void 0}return s}let c=V(e.HOME);if(c)return c;let f=V(e.USERPROFILE);return f||Je(t)}function q(e=process.env,t=ae__default.default.homedir){let r=At(e,t);if(r)return r}function be(e=process.env,t=ae__default.default.homedir){return q(e,t)??utils.Filesystem.resolve(process.cwd())}function Se(e,t){if(!e.startsWith("~"))return V(e);let r=process.env.EASBOT_TEST_HOME?.trim();return r||(r=V(t?.home)??q(t?.env??process.env,t?.homedir??ae__default.default.homedir)),r?e.replace(/^~(?=$|[\\/])/,r):V(e)}function je(e){if(!e)return "";let t=e.trim();if(!t)return t;if(t.startsWith("~")){let r=Se(t,{home:be(process.env,ae__default.default.homedir),env:process.env,homedir:ae__default.default.homedir});return $e__default.default.resolve(r)}return $e__default.default.resolve(t)}function _t(e=process.env,t=ae__default.default.homedir){let r=e.EASBOT_STATE_DIR?.trim();if(r)return je(r);let c=q(e,t)??process.cwd();return $e__default.default.join(c,".config","easbot")}function Ve(){return q(process.env,ae__default.default.homedir)}function Ke(){let e=Ve();return e?process.env.EASBOT_TEST_HOME?.trim()?{home:e,prefix:"~"}:process.env.EASBOT_HOME?.trim()?{home:e,prefix:"$EASBOT_HOME"}:{home:e,prefix:"~"}:void 0}function ze(e){if(!e)return e;let t=Ke();if(!t)return e;let{home:r,prefix:s}=t;return e===r?s:e.startsWith(`${r}/`)||e.startsWith(`${r}\\`)?`${s}${e.slice(r.length)}`:e}function Ye(e){if(!e)return e;let t=Ke();return t?e.split(t.home).join(t.prefix):e}function Ht(e){return ze(e)}function ve(e){return Ye(e)}function Bt(e,t){return e?.force===true?true:e?.force===false?false:!!(t??process.stdout?.isTTY)}function re(e,t,r,s){let c=ne(e??""),f=ne(t??"");return Bt(r,s)?`\x1B]8;;${f}\x07${c}\x1B]8;;\x07`:r?.fallback??`${c} (${f})`}function Jt(e,t,r,s,c){let f=t.trim();if(!e)return re(r??f,f,s,c);let m=/^[a-z]+:\/\//i.test(f)?f:`${e}${f.startsWith("/")?f:`/${f}`}`;return re(r??m,m,s,c)}function Dt(e,t,r){return re(t??e,e,void 0,r)}function jt(e,t){let r={ok:true,data:e};t!==void 0&&(r.meta=t),console.log(JSON.stringify(r,null,2));}function Vt(e,t){console.log(JSON.stringify({ok:false,error:{code:e,message:t}},null,2));}var Te=e=>k()?b.accent(e):e,Ce=e=>e&&k()?b.heading(e):e,ye=e=>e&&k()?b.muted(e):e;var zt=/^(https?:\/\/|file:\/\/)/i,Yt=/^[a-zA-Z]:[\\/]/,Ut=/^[a-zA-Z0-9._-]+$/;function Ue(e,t){if(t<=0)return [e];let r=Array.from(e),s=[];for(let c=0;c<r.length;c+=t)s.push(r.slice(c,c+t).join(""));return s.length>0?s:[e]}function Ge(e){return e?zt.test(e)||e.startsWith("/")||e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")||Yt.test(e)||e.startsWith("\\\\")||e.includes("/")||e.includes("\\")?true:e.includes("_")&&Ut.test(e):false}function Gt(e,t){if(e.trim().length===0)return [e];if(t<=0)return [e];let r=e.match(/^(\s*)([-*\u2022]\s+)?(.*)$/),s=r?.[1]??"",c=r?.[2]??"",f=r?.[3]??"",m=`${s}${c}`,a=`${s}${c?" ".repeat(c.length):""}`,v=Math.max(10,t-D(m)),$=Math.max(10,t-D(a)),E=f.split(/\s+/).filter(Boolean),O=[],h="",o=m,l=v;for(let T of E){if(!h){if(D(T)>l){if(Ge(T)){h=T;continue}let w=Ue(T,l),S=w.shift()??"";O.push(o+S),o=a,l=$;for(let p of w)O.push(o+p);continue}h=T;continue}let n=`${h} ${T}`;if(D(n)<=l){h=n;continue}if(O.push(o+h),o=a,l=$,D(T)>l){if(Ge(T)){h=T;continue}let w=Ue(T,l),S=w.shift()??"";O.push(o+S);for(let p of w)O.push(o+p);h="";continue}h=T;}return (h||E.length===0)&&O.push(o+h),O}function qe(e,t={}){let r=process.stdout?.columns??80,s=t.columns??r,c=t.maxWidth??Math.max(40,Math.min(88,s-10));return e.split(`
2
- `).flatMap(f=>Gt(f,c)).join(`
3
- `)}function qt(e,t,r={}){let s=r.columns??process.stdout?.columns,c=qe(e,{columns:s,maxWidth:r.maxWidth});prompts.note(c,Ce(t));}var Q=null;function Qt(e,t){try{e.write(t);}catch{}}function Xt(e){e.isTTY&&(Q=e);}function we(){Q?.isTTY&&Qt(Q,"\r\x1B[2K");}function Zt(e){Q&&(e&&Q!==e||(Q=null));}function tn(e){return prompts.select({...e,message:Te(e.message),options:e.options.map(t=>t.hint===void 0?t:{...t,hint:ye(t.hint)})})}var nn="\x1B[0m\x1B[?25h\x1B[?1000l\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?2004l";function le(e,t,r){let s=r?` (${r})`:"",c=`[terminal] restore ${e} failed${s}: ${String(t)}`;try{ue__default.default.stderr.write(`${c}
4
- `);}catch(f){console.error(`[terminal] restore reporting failed${s}: ${String(f)}`);}}function rn(e,t={}){let r=t.resumeStdinIfPaused??t.resumeStdin??false;try{we();}catch(c){le("progress line",c,e);}let s=ue__default.default.stdin;if(s?.isTTY&&typeof s.setRawMode=="function"){try{s.setRawMode(!1);}catch(c){le("raw mode",c,e);}if(r&&typeof s.isPaused=="function"&&s.isPaused())try{s.resume();}catch(c){le("stdin resume",c,e);}}if(ue__default.default.stdout?.isTTY)try{ue__default.default.stdout.write(nn);}catch(c){le("stdout reset",c,e);}}function sn(e){let t=e?.code;return t==="EPIPE"||t==="EIO"}function cn(e={}){let t=false,r=false,s=(a,v)=>{r||(r=true,e.onBrokenPipe?.(a,v));},c=(a,v)=>{if(!sn(a))throw a;return t=true,s(a,v),false},f=(a,v)=>{if(t)return false;try{e.beforeWrite?.();}catch($){return c($,ue__default.default.stderr)}try{return a.write(v),!t}catch($){return c($,a)}};return {write:f,writeLine:(a,v)=>f(a,`${v}
5
- `),reset:()=>{t=false,r=false;},isClosed:()=>t}}function X(e,t){return !Number.isFinite(t)||t<=0?"":e.repeat(t)}function an(e,t,r){let s=D(e);if(s>=t)return e;let c=t-s;if(r==="right")return `${X(" ",c)}${e}`;if(r==="center"){let f=Math.floor(c/2),m=c-f;return `${X(" ",f)}${e}${X(" ",m)}`}return `${e}${X(" ",c)}`}function ln(e,t){if(!e||e.length===0)return [""];if(!Number.isFinite(t)||t<=0)return [e];let r="\x1B",s=[];for(let i=0;i<e.length;){if(e[i]===r){if(e[i+1]==="["){let g=i+2;for(;g<e.length;){let C=e[g];if(C==="m")break;if(C&&C>="0"&&C<="9"){g+=1;continue}if(C===";"){g+=1;continue}break}if(e[g]==="m"){s.push({kind:"ansi",value:e.slice(i,g+1)}),i=g+1;continue}}if(e[i+1]==="]"&&e.slice(i+2,i+5)==="8;;"){let g=e.indexOf(`${r}\\`,i+5);if(g>=0){s.push({kind:"ansi",value:e.slice(i,g+2)}),i=g+2;continue}}}let u=e.codePointAt(i);if(!u)break;let x=String.fromCodePoint(u);s.push({kind:"char",value:x}),i+=x.length;}let c=s.findIndex(i=>i.kind==="char");if(c<0)return [e];let f=-1;for(let i=s.length-1;i>=0;i-=1){let u=s[i];if(u&&u.kind==="char"){f=i;break}}let m=s.slice(0,c).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),a=s.slice(f+1).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),v=s.slice(c,f+1),$=[],E=i=>i===" "||i===" "||i==="/"||i==="-"||i==="_"||i===".",O=i=>i===" "||i===" ",h=false,o=[],l=0,T=null,n=i=>(i??o).map(u=>u.value).join(""),w=i=>i.reduce((u,x)=>u+(x.kind==="char"?1:0),0),S=i=>{let u=i.replace(/\s+$/,"");u.trim().length!==0&&$.push(u);},p=i=>{if(o.length===0)return;if(i==null||i<=0){S(n()),o.length=0,l=0,T=null;return}let u=o.slice(0,i),x=o.slice(i);for(S(n(u));x.length>0;){let g=x[0];if(g?.kind!=="char"||!O(g.value))break;x.shift();}o.length=0,o.push(...x),l=w(o),T=null;};for(let i of v){if(i.kind==="ansi"){o.push(i);continue}let u=i.value;if(!(h&&(h=false,u===`
6
- `))){if(u===`
7
- `||u==="\r"){p(o.length),u==="\r"&&(h=true);continue}l+1>t&&l>0&&p(T),o.push(i),l+=1,E(u)&&(T=o.length);}}return p(o.length),$.length===0?[""]:!m&&!a?$:$.map(i=>i&&`${m}${i}${a}`)}function un(e){if(e!=null&&!(!Number.isFinite(e)||e<=0))return Math.floor(e)}function fn(e){let t=e.rows.map(S=>{let p={};for(let[i,u]of Object.entries(S))p[i]=ve(u);return p}),r=e.border??"unicode";if(r==="none"){let S=e.columns;return `${[S.map(u=>u.header).join(" | "),...t.map(u=>S.map(x=>u[x.key]??"").join(" | "))].join(`
1
+ 'use strict';var me=require('chalk'),de=require('os'),ye=require('path'),utils=require('@easbot/utils'),Y=require('@clack/prompts'),pe=require('readline'),util=require('util'),stream=require('stream'),he=require('process');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var me__default=/*#__PURE__*/_interopDefault(me);var de__default=/*#__PURE__*/_interopDefault(de);var ye__default=/*#__PURE__*/_interopDefault(ye);var Y__namespace=/*#__PURE__*/_interopNamespace(Y);var pe__namespace=/*#__PURE__*/_interopNamespace(pe);var he__default=/*#__PURE__*/_interopDefault(he);var kt="\\x1b\\[[0-9;]*m",Et="\\x1b\\]8;;.*?\\x1b\\\\|\\x1b\\]8;;\\x1b\\\\",Rt=new RegExp(kt,"g"),It=new RegExp(Et,"g");function Z(e){return e?e.replace(It,"").replace(Rt,""):""}function K(e){return e?Array.from(Z(e)).length:0}var V={accent:"#FF5A2D",accentBright:"#FF7A3D",accentDim:"#D14A22",info:"#FF8A5B",success:"#2FBF71",warn:"#FFB020",error:"#E23D2D",muted:"#8B7F77"};var Mt=typeof process.env.FORCE_COLOR=="string"&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!=="0",ve=process.env.NO_COLOR&&!Mt?new me.Chalk({level:0}):me__default.default,j=e=>ve.hex(e),u={accent:j(V.accent),accentBright:j(V.accentBright),accentDim:j(V.accentDim),info:j(V.info),success:j(V.success),warn:j(V.warn),error:j(V.error),muted:j(V.muted),heading:ve.bold.hex(V.accent),command:j(V.accentBright),option:j(V.warn)},k=()=>ve.level>0,$=(e,t,o)=>e?t(o):o;exports.Symbol=void 0;(d=>{d.icons={success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2139",accent:"\u25C6",muted:"\u25CB",heading:"\u25C6",active:"\u25C6",submit:"\u25C7",cancel:"\u25A0",locked:"\u2713",pending:"\u25CB",radioActive:"\u25CF",radioInactive:"\u25CB",skipped:"\u21A1",cursor:"\u276F",accentBright:"\u276F"},d.bar={vertical:"\u2502",horizontal:"\u2500",cornerBottom:"\u2514",cornerBottomRight:"\u2518",teeRight:"\u251C",stepActive:"\u25C6",bullet:"\u2022"};function o(l,f){let y=Pt(f);return $(k(),y,l)}d.colorize=o;function s(l){return o(d.icons[l],l)}d.statusIcon=s;function c(l,f){return `${s(l)} ${f}`}d.prefixed=c;})(exports.Symbol||(exports.Symbol={}));function Pt(e){switch(e){case "success":case "locked":case "submit":return u.success;case "error":case "cancel":return u.error;case "warning":return u.warn;case "info":return u.info;case "accent":case "active":case "radioActive":return u.accent;case "muted":case "pending":case "radioInactive":return u.muted;case "skipped":return u.muted;case "heading":return u.heading;case "cursor":case "accentBright":return u.accentBright}}function Wt(e){return exports.Symbol.prefixed("success",e)}function Ft(e){return exports.Symbol.prefixed("error",e)}function At(e){return exports.Symbol.prefixed("warning",e)}function Nt(e){return exports.Symbol.prefixed("info",e)}function Ht(e){return $(k(),u.heading,e)}function _t(e,t,o=15){let s=e.padEnd(o);return `${$(k(),u.muted,s)} ${t}`}function Bt(e,t){let o=k(),s=$(o,u.command,e);if(!t)return ` ${s}`;let c=$(o,u.muted,`# ${t}`);return ` ${s} ${c}`}function Jt(e,t,o){let s=k(),c=exports.Symbol.colorize(e,"info"),d=$(s,u.command,t),l=o?` ${$(s,u.muted,o)}`:"";return `${c} ${d}${l}`}var Vt={pending:"pending",running:"active",success:"success",error:"error",skipped:"skipped"};function Dt(e,t){return exports.Symbol.prefixed(Vt[e],t)}function Kt(e=80,t="\u2500"){return $(k(),u.muted,t.repeat(e))}function jt(e){return $(k(),u.muted,e)}function zt(e,t,o){let s=e===1?t:o||`${t}s`;return `${$(k(),u.accent,String(e))} ${s}`}function z(e){let t=e?.trim();return t?utils.Filesystem.toUnixPath(t):void 0}function Ve(e){try{return z(e())}catch{return}}function Yt(e,t){let o=z(e.EASBOT_TEST_HOME);if(o)return o;let s=z(e.EASBOT_HOME);if(s){if(s==="~"||s.startsWith("~/")||s.startsWith("~\\")){let l=z(e.HOME)??z(e.USERPROFILE)??Ve(t);return l?s.replace(/^~(?=$|[\\/])/,l):void 0}return s}let c=z(e.HOME);if(c)return c;let d=z(e.USERPROFILE);return d||Ve(t)}function te(e=process.env,t=de__default.default.homedir){let o=Yt(e,t);if(o)return o}function Se(e=process.env,t=de__default.default.homedir){return te(e,t)??utils.Filesystem.resolve(process.cwd())}function $e(e,t){if(!e.startsWith("~"))return z(e);let o=process.env.EASBOT_TEST_HOME?.trim();return o||(o=z(t?.home)??te(t?.env??process.env,t?.homedir??de__default.default.homedir)),o?e.replace(/^~(?=$|[\\/])/,o):z(e)}function Ke(e){if(!e)return "";let t=e.trim();if(!t)return t;if(t.startsWith("~")){let o=$e(t,{home:Se(process.env,de__default.default.homedir),env:process.env,homedir:de__default.default.homedir});return ye__default.default.resolve(o)}return ye__default.default.resolve(t)}function Gt(e=process.env,t=de__default.default.homedir){let o=e.EASBOT_STATE_DIR?.trim();if(o)return Ke(o);let c=te(e,t)??process.cwd();return ye__default.default.join(c,".config","easbot")}function je(){return te(process.env,de__default.default.homedir)}function ze(){let e=je();return e?process.env.EASBOT_TEST_HOME?.trim()?{home:e,prefix:"~"}:process.env.EASBOT_HOME?.trim()?{home:e,prefix:"$EASBOT_HOME"}:{home:e,prefix:"~"}:void 0}function Ye(e){if(!e)return e;let t=ze();if(!t)return e;let{home:o,prefix:s}=t;return e===o?s:e.startsWith(`${o}/`)||e.startsWith(`${o}\\`)?`${s}${e.slice(o.length)}`:e}function Ge(e){if(!e)return e;let t=ze();return t?e.split(t.home).join(t.prefix):e}function Ut(e){return Ye(e)}function we(e){return Ge(e)}function qt(e,t){return e?.force===true?true:e?.force===false?false:!!(t??process.stdout?.isTTY)}function se(e,t,o,s){let c=Z(e??""),d=Z(t??"");return qt(o,s)?`\x1B]8;;${d}\x07${c}\x1B]8;;\x07`:o?.fallback??`${c} (${d})`}function Qt(e,t,o,s,c){let d=t.trim();if(!e)return se(o??d,d,s,c);let l=/^[a-z]+:\/\//i.test(d)?d:`${e}${d.startsWith("/")?d:`/${d}`}`;return se(o??l,l,s,c)}function Xt(e,t,o){return se(t??e,e,void 0,o)}function Ue(e,t,o=true){return t===void 0?{ok:o,data:e}:{ok:o,data:e,meta:t}}function Zt(e,t){return Ue(e,t,false)}function qe(e,t=2){console.log(JSON.stringify(e,null,t));}function en(e){qe(e);}function tn(e,t){let o={ok:true,data:e};t!==void 0&&(o.meta=t),console.log(JSON.stringify(o,null,2));}function nn(e,t){console.log(JSON.stringify({ok:false,error:{code:e,message:t}},null,2));}var Ce=e=>k()?u.accent(e):e,ke=e=>e&&k()?u.heading(e):e,Ee=e=>e&&k()?u.muted(e):e;var on=/^(https?:\/\/|file:\/\/)/i,sn=/^[a-zA-Z]:[\\/]/,an=/^[a-zA-Z0-9._-]+$/;function Qe(e,t){if(t<=0)return [e];let o=Array.from(e),s=[];for(let c=0;c<o.length;c+=t)s.push(o.slice(c,c+t).join(""));return s.length>0?s:[e]}function Xe(e){return e?on.test(e)||e.startsWith("/")||e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")||sn.test(e)||e.startsWith("\\\\")||e.includes("/")||e.includes("\\")?true:e.includes("_")&&an.test(e):false}function cn(e,t){if(e.trim().length===0)return [e];if(t<=0)return [e];let o=e.match(/^(\s*)([-*\u2022]\s+)?(.*)$/),s=o?.[1]??"",c=o?.[2]??"",d=o?.[3]??"",l=`${s}${c}`,f=`${s}${c?" ".repeat(c.length):""}`,y=Math.max(10,t-K(l)),w=Math.max(10,t-K(f)),E=d.split(/\s+/).filter(Boolean),L=[],S="",a=l,r=y;for(let x of E){if(!S){if(K(x)>r){if(Xe(x)){S=x;continue}let T=Qe(x,r),b=T.shift()??"";L.push(a+b),a=f,r=w;for(let g of T)L.push(a+g);continue}S=x;continue}let n=`${S} ${x}`;if(K(n)<=r){S=n;continue}if(L.push(a+S),a=f,r=w,K(x)>r){if(Xe(x)){S=x;continue}let T=Qe(x,r),b=T.shift()??"";L.push(a+b);for(let g of T)L.push(a+g);S="";continue}S=x;}return (S||E.length===0)&&L.push(a+S),L}function Ze(e,t={}){let o=process.stdout?.columns??80,s=t.columns??o,c=t.maxWidth??Math.max(40,Math.min(88,s-10));return e.split(`
2
+ `).flatMap(d=>cn(d,c)).join(`
3
+ `)}function ae(e,t,o={}){let s=o.columns??process.stdout?.columns,c=Ze(e,{columns:s,maxWidth:o.maxWidth});Y.note(c,ke(t));}function ln(e,t={}){if(t.boxed===true){un(e,t);return}console.log(et(e,t));}function et(e,t={}){let o=k(),s=e.length>0,c=s?e:[t.empty??"No results."],d=s?t.title:t.emptyTitle??t.title,l=[];d&&l.push($(o,u.heading,d));for(let f of c)l.push(` ${f}`);if(!t.skipOutro){let f=t.outro!==void 0?t.outro:"Done!";f&&l.push($(o,u.success,f));}return l.join(`
4
+ `)}function un(e,t){let o=k(),s=e.length>0,c=s?e.join(`
5
+ `):t.empty??"No results.",d=s?t.title:t.emptyTitle??t.title;if(d?ae(c,d):console.log(c),!t.skipOutro){let l=t.outro!==void 0?t.outro:"Done!";l&&console.log($(o,u.success,l));}}function tt(e){let t=k(),o=[];if(o.push($(t,u.heading,e.title)),e.flat&&e.flat.length>0)for(let s of e.flat)o.push(` ${s}`);if(e.groups&&e.groups.length>0)for(let s of e.groups){if(s.key){let c=s.detail?` ${$(t,u.muted,s.detail)}`:"";o.push($(t,u.heading,s.key)+c);}for(let c of s.rows)o.push(` ${c}`);}if(e.footer&&e.footer.length>0)for(let s of e.footer)o.push($(t,u.muted,s));return o.join(`
6
+ `)}function fn(e){console.log(tt(e));}function nt(e,t=5){if(e.length<=t)return e.join(", ");let o=e.slice(0,t).join(", "),s=e.length-t;return `${o} +${s} more`}var dn=nt;var rt=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],ot=80;exports.Loader=void 0;(t=>{function e(o={}){let s=[...rt],c=ot,d=0,l=null,f=o.message??"Loading...",y=o.spinnerColor??(a=>$(k(),u.accent,a)),w=o.messageColor??(a=>$(k(),u.muted,a)),E=a=>{s=a.frames!==void 0?[...a.frames]:[...rt],c=a.intervalMs!==void 0&&a.intervalMs>0?a.intervalMs:ot,d=0;};o.indicator&&E(o.indicator);function L(){S(),!(s.length<=1)&&(l=setInterval(()=>{d=(d+1)%s.length;},c));}function S(){l!==null&&(clearInterval(l),l=null);}return {start:L,stop:S,isRunning(){return l!==null},line(){let a=s[d]??"";return `${(a.length>0?Z(y(a)).length:0)>0?`${y(a)} `:""}${w(f)}`},setMessage(a){f=a;},setIndicator(a){E(a??{}),L();}}}t.create=e;})(exports.Loader||(exports.Loader={}));var gn=new stream.Writable({write(e,t,o){o();}}),q;(S=>{S.cancelSymbol=Symbol("Search.cancel");function t(a){let r=0;for(let x of a){let n=x.codePointAt(0);if(n===void 0||n===0)continue;let T=n>=4352&&n<=4447||n>=8986&&n<=8987||n>=9001&&n<=9002||n>=9193&&n<=9196||n===9200||n===9203||n>=9725&&n<=9726||n>=9748&&n<=9749||n>=9800&&n<=9811||n===9855||n===9875||n===9889||n>=9898&&n<=9899||n>=9917&&n<=9918||n>=9924&&n<=9925||n===9934||n===9940||n===9962||n>=9970&&n<=9971||n===9973||n===9978||n===9981||n===9989||n>=9994&&n<=9995||n===10024||n===10060||n===10062||n>=10067&&n<=10069||n===10071||n>=10133&&n<=10135||n===10160||n===10175||n>=11035&&n<=11036||n===11088||n===11093||n>=11904&&n<=42191&&n!==12351||n>=43360&&n<=43388||n>=44032&&n<=55203||n>=63744&&n<=64255||n>=65040&&n<=65049||n>=65072&&n<=65135||n>=65280&&n<=65376||n>=65504&&n<=65510||n>=126976&&n<=129535;r+=T?2:1;}return r}S.approxStringWidth=t;function o(a,r){let x=util.stripVTControlCharacters(a),n=Math.max(1,r),T=t(x);return Math.max(1,Math.ceil(T/n))}S.visualRowsForLine=o;function s(a,r){let x=r!==void 0&&r>0?r:process.stdout.columns&&process.stdout.columns>0?process.stdout.columns:80,n=0;for(let T of a)n+=o(T,x);return n}S.countVisualRowsForLines=s;function c(a){let r=new Array(a.length);for(let x=0;x<a.length;x++){let n=a[x],T=n.value===null||n.value===void 0?"":String(n.value);r[x]={...n,searchKey:`${n.label}
7
+ ${T}`.toLowerCase()};}return r}function d(a,r){return r===""||a.searchKey.includes(r)}function l(a,r){return r<=0||a<0?0:a>=r?r-1:a}function f(a){if(a?.length!==1)return false;let r=a.codePointAt(0);return !(r===void 0||r<32||r===127||r===27)}function y(){let a=process.stdout.rows;if(!a||a<=0)return 8;let r=Math.floor((a-8)/2);return Math.max(5,Math.min(15,r))}function w(a,r){try{a.write(r);}catch{}}function E(a){if(a&&a.isTTY&&typeof a.setRawMode=="function")try{a.setRawMode(!1);}catch{}}function L(a){let r=a.message,x=c(a.items),n=Math.max(1,a.maxVisible??y()),T=a.initialSelected??[],b=a.required??false,g=a.lockedSection,i=a.isTTY;i??!!process.stdout?.isTTY;return new Promise(m=>{let p=process.stdin,C=process.stdout,_=pe__namespace.createInterface({input:p,output:gn,terminal:false});try{(i===!0||i===void 0&&p.isTTY)&&p.setRawMode?.(!0);}catch{}pe__namespace.emitKeypressEvents(p,_);let P="",W="",I=0,M=new Set(T),B=0,D=false,Q=g?g.items.map(R=>R.value):[],st=g?g.items.map(R=>R.label):[],le=[],Le=()=>{if(le.length=0,W==="")for(let R=0;R<x.length;R++){let v=x[R];le.push(v);}else for(let R=0;R<x.length;R++){let v=x[R];d(v,W)&&le.push(v);}return le},at=()=>{if(B>0){w(C,`\x1B[${B}A`);for(let R=0;R<B;R++)w(C,"\x1B[2K\x1B[1B");w(C,`\x1B[${B}A`);}},Me=()=>{let R=st.slice();for(let v=0;v<x.length;v++){let N=x[v];M.has(N.value)&&R.push(N.label);}return R},J=(R="active")=>{at();let v=[],N=Le(),G=i===false?false:i===true?true:k(),He=H=>$(G,u.error,H),fe=H=>$(G,u.success,H),O=H=>$(G,u.muted,H),xe=H=>$(G,u.heading,H),mt=H=>$(G,me__default.default.bold,H),pt=H=>$(G,me__default.default.underline,H),gt=H=>$(G,me__default.default.inverse,H),ht=H=>$(G,me__default.default.strikethrough,H),xt=O(exports.Symbol.bar.vertical);exports.Symbol.bar.horizontal;fe(exports.Symbol.bar.bullet);let _e=R==="active"||R==="error"?exports.Symbol.icons.active:R==="cancel"?exports.Symbol.icons.cancel:exports.Symbol.icons.submit,bt=R==="cancel"||R==="error"?He(_e):fe(_e);if(v.push(`${bt} ${mt(r)}`),R==="active"||R==="error"){if(g&&g.items.length>0){v.push(xt);let X=`${xe(g.title)} ${O("\u2500\u2500 always included")}`;v.push(`${O("\u2502")} ${O("\u2500\u2500")} ${X} ${O("\u2500".repeat(12))}`);for(let oe of g.items)v.push(`${O("\u2502")} ${fe("\u2022")} ${xe(oe.label)}`);g.hiddenCount&&g.hiddenCount>0&&v.push(`${O("\u2502")} ${O(`...and ${g.hiddenCount} more`)}`),v.push(O("\u2502")),v.push(`${O("\u2502")} ${O("\u2500\u2500")} ${xe("Additional agents")} ${O("\u2500".repeat(29))}`);}let H=`${O("\u2502")} ${O("Search:")} ${P}${gt(" ")}`;v.push(H),v.push(`${O("\u2502")} ${O("\u2191\u2193 move \xB7 space select \xB7 enter confirm")}`),v.push(O("\u2502"));let vt=Math.max(0,N.length-n),Tt=I-Math.floor(n/2),be=Math.max(0,Math.min(Tt,vt)),Be=Math.min(N.length,be+n);if(N.length===0)v.push(`${O("\u2502")} ${O("No matches found")}`);else {for(let U=be;U<Be;U++){let ie=N[U],St=M.has(ie.value),Je=U===I,$t=St?exports.Symbol.statusIcon("radioActive"):exports.Symbol.colorize(exports.Symbol.icons.radioInactive,"radioInactive"),yt=Je?pt(ie.label):ie.label,wt=ie.hint?O(` (${ie.hint})`):"",Ct=Je?exports.Symbol.colorize(exports.Symbol.icons.cursor,"cursor"):" ";v.push(`${O("\u2502")} ${Ct} ${$t} ${yt}${wt}`);}let X=be,oe=N.length-Be;if(X>0||oe>0){let U=[];X>0&&U.push(`\u2191 ${X} more`),oe>0&&U.push(`\u2193 ${oe} more`),v.push(`${O("\u2502")} ${O(U.join(" "))}`);}}v.push(O("\u2502"));let re=Me();if(re.length===0)v.push(`${O("\u2502")} ${O("Selected: (none)")}`);else {let X=re.length<=3?re.join(", "):`${re.slice(0,3).join(", ")} +${re.length-3} more`;v.push(`${O("\u2502")} ${fe("Selected:")} ${X}`);}R==="error"&&v.push(`${O("\u2502")} ${He("\u26A0 Please select at least one item before submitting")}`),v.push(`${O("\u2514")}`);}else if(R==="submit"){let H=Me();v.push(`${O("\u2502")} ${O(H.join(", "))}`);}else v.push(`${O("\u2502")} ${ht(O("Cancelled"))}`);w(C,`${v.join(`
8
8
  `)}
9
- `}let s=Math.max(0,e.padding??1),c=e.columns,f=c.map(S=>{let p=D(S.header),i=Math.max(0,...t.map(u=>D(u[S.key]??"")));return {headerW:p,cellW:i}}),m=c.map((S,p)=>{let i=f[p];if(!i)throw new Error(`Internal error: metrics[${p}] is undefined`);let u=Math.max(i.headerW,i.cellW)+s*2,x=S.maxWidth?Math.min(u,S.maxWidth):u;return Math.max(S.minWidth??3,x)}),a=un(e.width),v=c.length+1,$=m.reduce((S,p)=>S+p,0)+v,E=c.map((S,p)=>{let i=f[p];if(!i)throw new Error(`Internal error: metrics[${p}] is undefined`);return Math.max(S.minWidth??3,i.headerW+s*2,3)}),O=c.map((S,p)=>{let i=f[p];if(!i)throw new Error(`Internal error: metrics[${p}] is undefined`);return Math.max(i.headerW+s*2,3)});if(a&&$>a){let S=$-a,p=c.map((x,g)=>{let C=m[g];if(C===void 0)throw new Error(`Internal error: widths[${g}] is undefined`);return {i:g,w:C}}).filter(({i:x})=>!!c[x]?.flex).toSorted((x,g)=>g.w-x.w).map(x=>x.i),i=c.map((x,g)=>{let C=m[g];if(C===void 0)throw new Error(`Internal error: widths[${g}] is undefined`);return {i:g,w:C}}).filter(({i:x})=>!c[x]?.flex).toSorted((x,g)=>g.w-x.w).map(x=>x.i),u=(x,g)=>{for(;S>0;){let C=false;for(let A of x){let F=m[A],_=g[A];if(!(F===void 0||_===void 0)&&!(F<=_)&&(m[A]=F-1,S-=1,C=true,S<=0))break}if(!C)break}};u(p,E),u(p,O),u(i,E),u(i,O);}if(a){let S=c.length+1,p=m.reduce((u,x)=>u+x,0)+S,i=a-p;if(i>0){let u=c.map((x,g)=>({c:x,i:g})).filter(({c:x})=>!!x.flex).map(({i:x})=>x);if(u.length>0){let x=c.map(g=>typeof g.maxWidth=="number"&&g.maxWidth>0?Math.floor(g.maxWidth):Number.POSITIVE_INFINITY);for(;i>0;){let g=false;for(let C of u){let A=m[C],F=x[C];if(!(A===void 0||F===void 0)&&!(A>=F)&&(m[C]=A+1,i-=1,g=true,i<=0))break}if(!g)break}}}}let h=r==="ascii"?{tl:"+",tr:"+",bl:"+",br:"+",h:"-",v:"|",t:"+",ml:"+",m:"+",mr:"+",b:"+"}:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",t:"\u252C",ml:"\u251C",m:"\u253C",mr:"\u2524",b:"\u2534"},o=(S,p,i)=>`${S}${m.map(u=>{if(u===void 0)throw new Error("Internal error: width is undefined");return X(h.h,u)}).join(p)}${i}`,l=S=>{let p=m[S];if(p===void 0)throw new Error(`Internal error: widths[${S}] is undefined`);return Math.max(1,p-s*2)},T=X(" ",s),n=(S,p=false)=>{let u=c.map(C=>p?C.header:S[C.key]??"").map((C,A)=>ln(C,l(A))),x=Math.max(...u.map(C=>C.length)),g=[];for(let C=0;C<x;C+=1){let A=u.map((F,_)=>{let W=F[C]??"",J=c[_];if(!J)throw new Error(`Internal error: columns[${_}] is undefined`);let M=an(W,l(_),J.align??"left");return `${T}${M}${T}`});g.push(`${h.v}${A.join(h.v)}${h.v}`);}return g},w=[];w.push(o(h.tl,h.t,h.tr)),w.push(...n({},true)),w.push(o(h.ml,h.m,h.mr));for(let S of t)w.push(...n(S,false));return w.push(o(h.bl,h.b,h.br)),`${w.join(`
9
+ `);try{B=s(v,C.columns);}catch{B=v.length;}},Pe=false,ct=()=>{if(!Pe){Pe=true;try{p.removeListener("keypress",Ne),p.removeListener("end",Ae);}catch{}try{process.removeListener("SIGINT",ue),process.removeListener("SIGTERM",ue);}catch{}E(p);try{_.close();}catch{}}},We=R=>{D||(D=true,ct(),m(R));},lt=()=>{if(b&&M.size===0&&Q.length===0){J("error");return}J("submit"),We([...Q,...Array.from(M)]);},Fe=()=>{J("cancel"),We(S.cancelSymbol);},Ae=()=>{Fe();},ue=()=>{E(p);},ut=R=>{let v=R[I];v&&(M.has(v.value)?M.delete(v.value):M.add(v.value));},ft=R=>{P+=R,W+=R.toLowerCase();},dt=()=>{P.length!==0&&(P=P.slice(0,-1),W=W.slice(0,-1));},Ne=(R,v)=>{if(!v)return;let N=Le();if(I=l(I,N.length),v.name==="return"){lt();return}if(v.name==="escape"||v.ctrl&&v.name==="c"){Fe();return}if(v.name==="up"||v.name==="left"){N.length>0&&(I=l(I-1,N.length),J());return}if(v.name==="down"||v.name==="right"){N.length>0&&(I=l(I+1,N.length),J());return}if(v.name==="pageup"){N.length>0&&(I=l(I-n,N.length),J());return}if(v.name==="pagedown"){N.length>0&&(I=l(I+n,N.length),J());return}if(v.name==="home"){N.length>0&&(I=0,J());return}if(v.name==="end"){N.length>0&&(I=N.length-1,J());return}if(v.name==="space"){ut(N),J();return}if(v.name==="backspace"){P.length>0&&(dt(),I=0,J());return}!v.ctrl&&!v.meta&&f(v.sequence)&&(ft(v.sequence),I=0,J());};p.on("keypress",Ne),p.once("end",Ae),process.on("SIGINT",ue),process.on("SIGTERM",ue),J();})}S.multiselect=L;})(q||(q={}));exports.Prompt=void 0;(a=>{a.cancelSymbol=q.cancelSymbol;function t(r){return r===a.cancelSymbol||typeof r=="symbol"}a.isCancel=t;async function o(r){return await Y__namespace.select({message:r.message,options:r.options,...r.initialValue!==void 0?{initialValue:r.initialValue}:{}})}a.select=o;async function s(r){return await Y__namespace.groupMultiselect({message:r.message,options:r.options,...r.initialValues!==void 0?{initialValues:r.initialValues}:{},...r.required!==void 0?{required:r.required}:{}})}a.groupMultiselect=s;async function c(r){return await Y__namespace.text({message:r.message,...r.placeholder!==void 0?{placeholder:r.placeholder}:{},...r.defaultValue!==void 0?{defaultValue:r.defaultValue}:{},...r.validate!==void 0?{validate:r.validate}:{}})}a.text=c;async function d(r){return await Y__namespace.password({message:r.message,...r.mask!==void 0?{mask:r.mask}:{}})}a.password=d;async function l(r){return await Y__namespace.confirm({message:r.message,...r.initialValue!==void 0?{initialValue:r.initialValue}:{}})}a.confirm=l;async function f(r){if(r.withGuide===true){let n=r.guideLines??["Use \u2191 / \u2193 to navigate","Press Space to toggle selection","Press a to toggle all","Press i to invert selection","Press Enter to submit"];ae(n.join(`
10
+ `),"\u64CD\u4F5C\u63D0\u793A");}return await q.multiselect({message:r.message,items:r.options,...r.initialValues!==void 0?{initialSelected:r.initialValues}:{},...r.required!==void 0?{required:r.required}:{},...r.lockedSection!==void 0?{lockedSection:r.lockedSection}:{},...r.maxVisible!==void 0?{maxVisible:r.maxVisible}:{},...r.isTTY!==void 0?{isTTY:r.isTTY}:{}})}a.multiselect=f;function y(r){let x=k(),n=$(x,u.heading,r),T=$(x,u.muted,"\u2500".repeat(Math.max(8,r.length*2)));process.stdout.write(`${n}
11
+ ${T}
12
+ `);}a.intro=y;function w(r,x){let n=k(),T=x?.success!==false,b=r??"Done!",g=T?u.success:u.error,i=$(n,g,b),h=$(n,u.muted,"\u2500".repeat(Math.max(8,b.length*2)));process.stdout.write(`${i}
13
+ ${h}
14
+ `);}a.outro=w;function E(r){let x=k(),n=r??"Cancelled.",T=`${exports.Symbol.statusIcon("cancel")} ${n}`,b=$(x,u.muted,"\u2500".repeat(Math.max(8,n.length*2)));process.stdout.write(`${T}
15
+ ${b}
16
+ `),process.exit(0);}a.cancel=E;(h=>{function r(m,p){i("info",m,p);}h.info=r;function x(m,p){i("warning",m,p);}h.warn=x;function n(m,p){i("error",m,p);}h.error=n;function T(m){i("success",m);}h.success=T;function b(m){let p=`${exports.Symbol.statusIcon("active")} ${m}`;process.stdout.write(`${p}
17
+ `);}h.step=b;function g(m){process.stdout.write(`${m}
18
+ `);}h.message=g;function i(m,p,C){let _=k(),P=`${exports.Symbol.statusIcon(m)} ${p}`;if(C){let W=$(_,u.muted,C);process.stdout.write(`${P}
19
+ ${W}
20
+ `);}else process.stdout.write(`${P}
21
+ `);}})(a.Log||(a.Log={}));function S(r){let x=r?.color??(i=>$(k(),u.accent,i)),n=i=>$(k(),u.muted,i),T=exports.Loader.create({...r?.frames!==void 0?{message:""}:{},spinnerColor:x,messageColor:n,indicator:{frames:r?.frames??[],intervalMs:80}}),b=null,g=false;return {start(i){i!==void 0&&T.setMessage(i),!g&&(g=true,T.start(),b=setInterval(()=>{process.stdout.write(`\r${T.line()}\x1B[K`);},80));},stop(i){b!==null&&(clearInterval(b),b=null),i!==void 0&&T.setMessage(i),T.stop(),process.stdout.write(`\r${T.line()}\x1B[K
22
+ `),g=false;},update(i){T.setMessage(i);},line(){return T.line()}}}a.spinner=S;})(exports.Prompt||(exports.Prompt={}));var ne=null;function hn(e,t){try{e.write(t);}catch{}}function xn(e){e.isTTY&&(ne=e);}function Ie(){ne?.isTTY&&hn(ne,"\r\x1B[2K");}function bn(e){ne&&(e&&ne!==e||(ne=null));}function Tn(e){return Y.select({...e,message:Ce(e.message),options:e.options.map(t=>t.hint===void 0?t:{...t,hint:Ee(t.hint)})})}var Sn="\x1B[0m\x1B[?25h\x1B[?1000l\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?2004l";function ge(e,t,o){let s=o?` (${o})`:"",c=`[terminal] restore ${e} failed${s}: ${String(t)}`;try{he__default.default.stderr.write(`${c}
23
+ `);}catch(d){console.error(`[terminal] restore reporting failed${s}: ${String(d)}`);}}function $n(e,t={}){let o=t.resumeStdinIfPaused??t.resumeStdin??false;try{Ie();}catch(c){ge("progress line",c,e);}let s=he__default.default.stdin;if(s?.isTTY&&typeof s.setRawMode=="function"){try{s.setRawMode(!1);}catch(c){ge("raw mode",c,e);}if(o&&typeof s.isPaused=="function"&&s.isPaused())try{s.resume();}catch(c){ge("stdin resume",c,e);}}if(he__default.default.stdout?.isTTY)try{he__default.default.stdout.write(Sn);}catch(c){ge("stdout reset",c,e);}}function wn(e){let t=e?.code;return t==="EPIPE"||t==="EIO"}function Cn(e={}){let t=false,o=false,s=(f,y)=>{o||(o=true,e.onBrokenPipe?.(f,y));},c=(f,y)=>{if(!wn(f))throw f;return t=true,s(f,y),false},d=(f,y)=>{if(t)return false;try{e.beforeWrite?.();}catch(w){return c(w,he__default.default.stderr)}try{return f.write(y),!t}catch(w){return c(w,f)}};return {write:d,writeLine:(f,y)=>d(f,`${y}
24
+ `),reset:()=>{t=false,o=false;},isClosed:()=>t}}function ee(e,t){return !Number.isFinite(t)||t<=0?"":e.repeat(t)}function kn(e,t,o){let s=K(e);if(s>=t)return e;let c=t-s;if(o==="right")return `${ee(" ",c)}${e}`;if(o==="center"){let d=Math.floor(c/2),l=c-d;return `${ee(" ",d)}${e}${ee(" ",l)}`}return `${e}${ee(" ",c)}`}function En(e,t){if(!e||e.length===0)return [""];if(!Number.isFinite(t)||t<=0)return [e];let o="\x1B",s=[];for(let i=0;i<e.length;){if(e[i]===o){if(e[i+1]==="["){let p=i+2;for(;p<e.length;){let C=e[p];if(C==="m")break;if(C&&C>="0"&&C<="9"){p+=1;continue}if(C===";"){p+=1;continue}break}if(e[p]==="m"){s.push({kind:"ansi",value:e.slice(i,p+1)}),i=p+1;continue}}if(e[i+1]==="]"&&e.slice(i+2,i+5)==="8;;"){let p=e.indexOf(`${o}\\`,i+5);if(p>=0){s.push({kind:"ansi",value:e.slice(i,p+2)}),i=p+2;continue}}}let h=e.codePointAt(i);if(!h)break;let m=String.fromCodePoint(h);s.push({kind:"char",value:m}),i+=m.length;}let c=s.findIndex(i=>i.kind==="char");if(c<0)return [e];let d=-1;for(let i=s.length-1;i>=0;i-=1){let h=s[i];if(h&&h.kind==="char"){d=i;break}}let l=s.slice(0,c).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),f=s.slice(d+1).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),y=s.slice(c,d+1),w=[],E=i=>i===" "||i===" "||i==="/"||i==="-"||i==="_"||i===".",L=i=>i===" "||i===" ",S=false,a=[],r=0,x=null,n=i=>(i??a).map(h=>h.value).join(""),T=i=>i.reduce((h,m)=>h+(m.kind==="char"?1:0),0),b=i=>{let h=i.replace(/\s+$/,"");h.trim().length!==0&&w.push(h);},g=i=>{if(a.length===0)return;if(i==null||i<=0){b(n()),a.length=0,r=0,x=null;return}let h=a.slice(0,i),m=a.slice(i);for(b(n(h));m.length>0;){let p=m[0];if(p?.kind!=="char"||!L(p.value))break;m.shift();}a.length=0,a.push(...m),r=T(a),x=null;};for(let i of y){if(i.kind==="ansi"){a.push(i);continue}let h=i.value;if(!(S&&(S=false,h===`
25
+ `))){if(h===`
26
+ `||h==="\r"){g(a.length),h==="\r"&&(S=true);continue}r+1>t&&r>0&&g(x),a.push(i),r+=1,E(h)&&(x=a.length);}}return g(a.length),w.length===0?[""]:!l&&!f?w:w.map(i=>i&&`${l}${i}${f}`)}function Rn(e){if(e!=null&&!(!Number.isFinite(e)||e<=0))return Math.floor(e)}function In(e){let t=e.rows.map(b=>{let g={};for(let[i,h]of Object.entries(b))g[i]=we(h);return g}),o=e.border??"unicode";if(o==="none"){let b=e.columns;return `${[b.map(h=>h.header).join(" | "),...t.map(h=>b.map(m=>h[m.key]??"").join(" | "))].join(`
10
27
  `)}
11
- `}var dn=[{prefix:"failed",color:b.error},{prefix:"ok",color:b.success},{prefix:"linked",color:b.success},{prefix:"configured",color:b.success},{prefix:"not linked",color:b.warn},{prefix:"not configured",color:b.muted},{prefix:"unknown",color:b.warn}];function mn(e,t){if(!t)return e;let r=e.indexOf(":");if(r===-1)return e;let s=e.slice(0,r+1),c=e.slice(r+1).trimStart(),f=c.toLowerCase();for(let{prefix:m,color:a}of dn)if(f.startsWith(m))return `${s} ${a(c.slice(0,m.length))}${c.slice(m.length)}`;return e}var hn=new stream.Writable({write(e,t,r){r();}}),oe;(h=>{h.cancelSymbol=Symbol("Search.cancel");function t(o){let l=0;for(let T of o){let n=T.codePointAt(0);if(n===void 0||n===0)continue;let w=n>=4352&&n<=4447||n>=8986&&n<=8987||n>=9001&&n<=9002||n>=9193&&n<=9196||n===9200||n===9203||n>=9725&&n<=9726||n>=9748&&n<=9749||n>=9800&&n<=9811||n===9855||n===9875||n===9889||n>=9898&&n<=9899||n>=9917&&n<=9918||n>=9924&&n<=9925||n===9934||n===9940||n===9962||n>=9970&&n<=9971||n===9973||n===9978||n===9981||n===9989||n>=9994&&n<=9995||n===10024||n===10060||n===10062||n>=10067&&n<=10069||n===10071||n>=10133&&n<=10135||n===10160||n===10175||n>=11035&&n<=11036||n===11088||n===11093||n>=11904&&n<=42191&&n!==12351||n>=43360&&n<=43388||n>=44032&&n<=55203||n>=63744&&n<=64255||n>=65040&&n<=65049||n>=65072&&n<=65135||n>=65280&&n<=65376||n>=65504&&n<=65510||n>=126976&&n<=129535;l+=w?2:1;}return l}h.approxStringWidth=t;function r(o,l){let T=util.stripVTControlCharacters(o),n=Math.max(1,l),w=t(T);return Math.max(1,Math.ceil(w/n))}h.visualRowsForLine=r;function s(o,l){let T=l!==void 0&&l>0?l:process.stdout.columns&&process.stdout.columns>0?process.stdout.columns:80,n=0;for(let w of o)n+=r(w,T);return n}h.countVisualRowsForLines=s;function c(o){let l=new Array(o.length);for(let T=0;T<o.length;T++){let n=o[T],w=n.value===null||n.value===void 0?"":String(n.value);l[T]={...n,searchKey:`${n.label}
12
- ${w}`.toLowerCase()};}return l}function f(o,l){return l===""||o.searchKey.includes(l)}function m(o,l){return l<=0||o<0?0:o>=l?l-1:o}function a(o){if(o?.length!==1)return false;let l=o.codePointAt(0);return !(l===void 0||l<32||l===127||l===27)}function v(){let o=process.stdout.rows;if(!o||o<=0)return 8;let l=Math.floor((o-8)/2);return Math.max(5,Math.min(15,l))}function $(o,l){try{o.write(l);}catch{}}function E(o){if(o&&o.isTTY&&typeof o.setRawMode=="function")try{o.setRawMode(!1);}catch{}}function O(o){let l=o.message,T=c(o.items),n=Math.max(1,o.maxVisible??v()),w=o.initialSelected??[],S=o.required??false,p=o.lockedSection,i=o.isTTY;i??!!process.stdout?.isTTY;return new Promise(x=>{let g=process.stdin,C=process.stdout,A=de__namespace.createInterface({input:g,output:hn,terminal:false});try{(i===!0||i===void 0&&g.isTTY)&&g.setRawMode?.(!0);}catch{}de__namespace.emitKeypressEvents(g,A);let F="",_="",W=0,J=new Set(w),M=0,U=false,z=p?p.items.map(R=>R.value):[],me=p?p.items.map(R=>R.label):[],ie=[],Oe=()=>{if(ie.length=0,_==="")for(let R=0;R<T.length;R++){let d=T[R];ie.push(d);}else for(let R=0;R<T.length;R++){let d=T[R];f(d,_)&&ie.push(d);}return ie},Xe=()=>{if(M>0){$(C,`\x1B[${M}A`);for(let R=0;R<M;R++)$(C,"\x1B[2K\x1B[1B");$(C,`\x1B[${M}A`);}},We=()=>{let R=me.slice();for(let d=0;d<T.length;d++){let L=T[d];J.has(L.value)&&R.push(L.label);}return R},H=(R="active")=>{Xe();let d=[],L=Oe(),K=i===false?false:i===true?true:k(),Ae=P=>y(K,b.error,P),ce=P=>y(K,b.success,P),I=P=>y(K,b.muted,P),pe=P=>y(K,b.heading,P),ot=P=>y(K,b.accentBright,P),it=P=>y(K,fe__default.default.bold,P),st=P=>y(K,fe__default.default.underline,P),ct=P=>y(K,fe__default.default.inverse,P),at=P=>y(K,fe__default.default.strikethrough,P),_e=R==="active"||R==="error"?"\u25C6":R==="cancel"?"\u25A0":"\u25C7",lt=R==="cancel"||R==="error"?Ae(_e):ce(_e);if(d.push(`${lt} ${it(l)}`),R==="active"||R==="error"){if(p&&p.items.length>0){d.push(I("\u2502"));let G=`${pe(p.title)} ${I("\u2500\u2500 always included")}`;d.push(`${I("\u2502")} ${I("\u2500\u2500")} ${G} ${I("\u2500".repeat(12))}`);for(let ee of p.items)d.push(`${I("\u2502")} ${ce("\u2022")} ${pe(ee.label)}`);p.hiddenCount&&p.hiddenCount>0&&d.push(`${I("\u2502")} ${I(`...and ${p.hiddenCount} more`)}`),d.push(I("\u2502")),d.push(`${I("\u2502")} ${I("\u2500\u2500")} ${pe("Additional agents")} ${I("\u2500".repeat(29))}`);}let P=`${I("\u2502")} ${I("Search:")} ${F}${ct(" ")}`;d.push(P),d.push(`${I("\u2502")} ${I("\u2191\u2193 move \xB7 space select \xB7 enter confirm")}`),d.push(I("\u2502"));let ut=Math.max(0,L.length-n),ft=W-Math.floor(n/2),ge=Math.max(0,Math.min(ft,ut)),He=Math.min(L.length,ge+n);if(L.length===0)d.push(`${I("\u2502")} ${I("No matches found")}`);else {for(let Y=ge;Y<He;Y++){let te=L[Y],dt=J.has(te.value),Be=Y===W,mt=dt?ce("\u25CF"):I("\u25CB"),pt=Be?st(te.label):te.label,gt=te.hint?I(` (${te.hint})`):"",ht=Be?ot("\u276F"):" ";d.push(`${I("\u2502")} ${ht} ${mt} ${pt}${gt}`);}let G=ge,ee=L.length-He;if(G>0||ee>0){let Y=[];G>0&&Y.push(`\u2191 ${G} more`),ee>0&&Y.push(`\u2193 ${ee} more`),d.push(`${I("\u2502")} ${I(Y.join(" "))}`);}}d.push(I("\u2502"));let Z=We();if(Z.length===0)d.push(`${I("\u2502")} ${I("Selected: (none)")}`);else {let G=Z.length<=3?Z.join(", "):`${Z.slice(0,3).join(", ")} +${Z.length-3} more`;d.push(`${I("\u2502")} ${ce("Selected:")} ${G}`);}R==="error"&&d.push(`${I("\u2502")} ${Ae("\u26A0 Please select at least one item before submitting")}`),d.push(`${I("\u2514")}`);}else if(R==="submit"){let P=We();d.push(`${I("\u2502")} ${I(P.join(", "))}`);}else d.push(`${I("\u2502")} ${at(I("Cancelled"))}`);$(C,`${d.join(`
28
+ `}let s=Math.max(0,e.padding??1),c=e.columns,d=c.map(b=>{let g=K(b.header),i=Math.max(0,...t.map(h=>K(h[b.key]??"")));return {headerW:g,cellW:i}}),l=c.map((b,g)=>{let i=d[g];if(!i)throw new Error(`Internal error: metrics[${g}] is undefined`);let h=Math.max(i.headerW,i.cellW)+s*2,m=b.maxWidth?Math.min(h,b.maxWidth):h;return Math.max(b.minWidth??3,m)}),f=Rn(e.width),y=c.length+1,w=l.reduce((b,g)=>b+g,0)+y,E=c.map((b,g)=>{let i=d[g];if(!i)throw new Error(`Internal error: metrics[${g}] is undefined`);return Math.max(b.minWidth??3,i.headerW+s*2,3)}),L=c.map((b,g)=>{let i=d[g];if(!i)throw new Error(`Internal error: metrics[${g}] is undefined`);return Math.max(i.headerW+s*2,3)});if(f&&w>f){let b=w-f,g=c.map((m,p)=>{let C=l[p];if(C===void 0)throw new Error(`Internal error: widths[${p}] is undefined`);return {i:p,w:C}}).filter(({i:m})=>!!c[m]?.flex).toSorted((m,p)=>p.w-m.w).map(m=>m.i),i=c.map((m,p)=>{let C=l[p];if(C===void 0)throw new Error(`Internal error: widths[${p}] is undefined`);return {i:p,w:C}}).filter(({i:m})=>!c[m]?.flex).toSorted((m,p)=>p.w-m.w).map(m=>m.i),h=(m,p)=>{let C=[],_=0;for(let W of m){let I=l[W],M=p[W];if(I===void 0||M===void 0)continue;let B=I-M;B<=0||(C.push({i:W,free:B}),_+=B);}if(C.length===0)return;let P=b;for(let{i:W,free:I}of C){if(P<=0)break;let M=l[W],B=p[W];if(M===void 0||B===void 0)continue;let D=Math.min(I,Math.floor(I*P/_)),Q=Math.min(D,P);l[W]=M-Q,P-=Q;}for(let{i:W}of C){if(P<=0)break;let I=l[W],M=p[W];I===void 0||M===void 0||I<=M||(l[W]=I-1,P-=1);}b=P;};h(g,E),h(g,L),h(i,E),h(i,L);}if(f){let b=c.length+1,g=l.reduce((h,m)=>h+m,0)+b,i=f-g;if(i>0){let h=c.map((m,p)=>({c:m,i:p})).filter(({c:m})=>!!m.flex).map(({i:m})=>m);if(h.length>0){let m=c.map(p=>typeof p.maxWidth=="number"&&p.maxWidth>0?Math.floor(p.maxWidth):Number.POSITIVE_INFINITY);for(;i>0;){let p=false;for(let C of h){let _=l[C],P=m[C];if(!(_===void 0||P===void 0)&&!(_>=P)&&(l[C]=_+1,i-=1,p=true,i<=0))break}if(!p)break}}}}let S=o==="ascii"?{tl:"+",tr:"+",bl:"+",br:"+",h:"-",v:"|",t:"+",ml:"+",m:"+",mr:"+",b:"+"}:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",t:"\u252C",ml:"\u251C",m:"\u253C",mr:"\u2524",b:"\u2534"},a=(b,g,i)=>`${b}${l.map(h=>{if(h===void 0)throw new Error("Internal error: width is undefined");return ee(S.h,h)}).join(g)}${i}`,r=b=>{let g=l[b];if(g===void 0)throw new Error(`Internal error: widths[${b}] is undefined`);return Math.max(1,g-s*2)},x=ee(" ",s),n=(b,g=false)=>{let h=c.map(C=>g?C.header:b[C.key]??"").map((C,_)=>En(C,r(_))),m=Math.max(...h.map(C=>C.length)),p=[];for(let C=0;C<m;C+=1){let _=h.map((P,W)=>{let I=P[C],M=c[W];if(!M)throw new Error(`Internal error: columns[${W}] is undefined`);let B=r(W);if(I===void 0)return `${x}${ee(" ",B)}${x}`;let D=kn(I,B,M.align??"left");return `${x}${D}${x}`});p.push(`${S.v}${_.join(S.v)}${S.v}`);}return p},T=[];T.push(a(S.tl,S.t,S.tr)),T.push(...n({},true)),T.push(a(S.ml,S.m,S.mr));for(let b of t)T.push(...n(b,false));return T.push(a(S.bl,S.b,S.br)),`${T.join(`
13
29
  `)}
14
- `);try{M=s(d,C.columns);}catch{M=d.length;}},Le=false,Ze=()=>{if(!Le){Le=true;try{g.removeListener("keypress",Ne),g.removeListener("end",Fe);}catch{}try{process.removeListener("SIGINT",se),process.removeListener("SIGTERM",se);}catch{}E(g);try{A.close();}catch{}}},Me=R=>{U||(U=true,Ze(),x(R));},et=()=>{if(S&&J.size===0&&z.length===0){H("error");return}H("submit"),Me([...z,...Array.from(J)]);},Pe=()=>{H("cancel"),Me(h.cancelSymbol);},Fe=()=>{Pe();},se=()=>{E(g);},tt=R=>{let d=R[W];d&&(J.has(d.value)?J.delete(d.value):J.add(d.value));},nt=R=>{F+=R,_+=R.toLowerCase();},rt=()=>{F.length!==0&&(F=F.slice(0,-1),_=_.slice(0,-1));},Ne=(R,d)=>{if(!d)return;let L=Oe();if(W=m(W,L.length),d.name==="return"){et();return}if(d.name==="escape"||d.ctrl&&d.name==="c"){Pe();return}if(d.name==="up"||d.name==="left"){L.length>0&&(W=m(W-1,L.length),H());return}if(d.name==="down"||d.name==="right"){L.length>0&&(W=m(W+1,L.length),H());return}if(d.name==="pageup"){L.length>0&&(W=m(W-n,L.length),H());return}if(d.name==="pagedown"){L.length>0&&(W=m(W+n,L.length),H());return}if(d.name==="home"){L.length>0&&(W=0,H());return}if(d.name==="end"){L.length>0&&(W=L.length-1,H());return}if(d.name==="space"){tt(L),H();return}if(d.name==="backspace"){F.length>0&&(rt(),W=0,H());return}!d.ctrl&&!d.meta&&a(d.sequence)&&(nt(d.sequence),W=0,H());};g.on("keypress",Ne),g.once("end",Fe),process.on("SIGINT",se),process.on("SIGTERM",se),H();})}h.multiselect=O;})(oe||(oe={}));var Ee=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Re=80;exports.Loader=void 0;(t=>{function e(r={}){let s=[...Ee],c=Re,f=0,m=null,a=r.message??"Loading...",v=r.spinnerColor??(o=>y(k(),b.accent,o)),$=r.messageColor??(o=>y(k(),b.muted,o)),E=o=>{s=o.frames!==void 0?[...o.frames]:[...Ee],c=o.intervalMs!==void 0&&o.intervalMs>0?o.intervalMs:Re,f=0;};r.indicator&&E(r.indicator);function O(){h(),!(s.length<=1)&&(m=setInterval(()=>{f=(f+1)%s.length;},c));}function h(){m!==null&&(clearInterval(m),m=null);}return {start:O,stop:h,isRunning(){return m!==null},line(){let o=s[f]??"";return `${o.length>0?`${v(o)} `:""}${$(a)}`},setMessage(o){a=o;},setIndicator(o){o?E(o):(s=[...Ee],c=Re,f=0),O();}}}t.create=e;})(exports.Loader||(exports.Loader={}));var xn=e=>y(k(),b.accent,e),bn=e=>y(k(),b.muted,e);exports.Input=void 0;(m=>{function e(a){let v=a;typeof v.resume=="function"&&v.resume();}function t(a,v){try{a.write(v);}catch{}}function r(a,v,$){let E=a;for(let O=0;O<v.length;O+=1){let h=v[O],o=h.charCodeAt(0);if(o===3)return {buffer:E,done:true,line:""};if(o===4)return {buffer:E,done:true,line:E};if(o===10||o===13)return {buffer:"",done:true,line:E};if((o===8||o===127)){E=E.slice(0,-1);continue}E+=h;}return {buffer:E,done:false,line:""}}function s(a){return new Promise((v,$)=>{let{message:E,hint:O,defaultValue:h,hidden:o,input:l,output:T,messageColor:n,hintColor:w}=a,S=(n??xn)(E),p=O?` ${(w??bn)(`(${O})`)}`:"",i=h?` [${h}]`:"",u=o?`${S}${p}: `:`${S}${p}${i}: `,x=l??ue__default.default.stdin,g=T??ue__default.default.stdout;t(g,u);let C="",A=false,F=M=>{A||(A=true,M(),x.off("data",_),x.off("end",W));},_=M=>{let U=typeof M=="string"?M:M.toString("utf8"),z=r(C,U);if(C=z.buffer,!z.done)return;if(z.line===""&&C===""&&!U.includes(`
15
- `)&&!U.includes("\r")){F(()=>$(new Error("Input canceled")));return}let me=z.line.length===0&&h!==void 0?h:z.line;F(()=>v(me));},W=()=>{if(A)return;let M=C.length===0&&h!==void 0?h:C;F(()=>v(M));},J=M=>{if((typeof M=="string"?M:M.toString("utf8")).includes("")){F(()=>$(new Error("Input canceled")));return}_(M);};x.on("data",J),x.once("end",W),e(x);})}m.readText=s;async function c(a){let v=a.defaultValue!==false,E=(await s({message:a.message,hint:a.hint??`y/n, default ${v?"y":"n"}`,defaultValue:v?"y":"n",messageColor:a.messageColor,hintColor:a.hintColor,input:a.input,output:a.output})).trim().toLowerCase();return E===""?v:E==="y"||E==="yes"?true:E==="n"||E==="no"?false:c(a)}m.readConfirm=c;function f(a){return s({...a,hidden:true})}m.readPassword=f;})(exports.Input||(exports.Input={}));var Sn=e=>y(k(),b.heading,e),$n=e=>y(k(),b.command,e),vn=e=>y(k(),b.muted,e),Tn=e=>y(k(),b.warn,e),Cn=e=>y(k(),b.accent,e);function yn(e,t,r,s,c,f){let m=e;return m=m.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(a,v,$)=>`${f(v)} (${$})`),m=m.replace(/`([^`]+)`/g,(a,v)=>c(v)),m=m.replace(/\*\*([^*]+)\*\*/g,(a,v)=>r(v)),m=m.replace(/(^|[^*])\*([^*]+)\*(?!\*)/g,(a,v,$)=>`${v}${s($)}`),m}function wn(e,t={}){if(!e)return [];let r=t.headingColor??Sn,s=t.boldColor??$n,c=t.italicColor??vn,f=t.codeColor??Tn,m=t.linkColor??Cn,a=n=>yn(n,r,s,c,f,m),v=e.replace(/\r\n/g,`
30
+ `}var On=[{prefix:"failed",color:u.error},{prefix:"ok",color:u.success},{prefix:"linked",color:u.success},{prefix:"configured",color:u.success},{prefix:"not linked",color:u.warn},{prefix:"not configured",color:u.muted},{prefix:"unknown",color:u.warn}];function Ln(e,t){if(!t)return e;let o=e.indexOf(":");if(o===-1)return e;let s=e.slice(0,o+1),c=e.slice(o+1).trimStart(),d=c.toLowerCase();for(let{prefix:l,color:f}of On)if(d.startsWith(l))return `${s} ${f(c.slice(0,l.length))}${c.slice(l.length)}`;return e}var Mn=e=>$(k(),u.accent,e),Pn=e=>$(k(),u.muted,e);exports.Input=void 0;(l=>{function e(f){let y=f;typeof y.resume=="function"&&y.resume();}function t(f,y){try{f.write(y);}catch{}}function o(f,y,w){let E=f;for(let L=0;L<y.length;L+=1){let S=y[L],a=S.charCodeAt(0);if(a===3)return {buffer:E,done:true,line:""};if(a===4)return {buffer:E,done:true,line:E};if(a===10||a===13)return {buffer:"",done:true,line:E};if((a===8||a===127)){E=E.slice(0,-1);continue}E+=S;}return {buffer:E,done:false,line:""}}function s(f){return new Promise((y,w)=>{let{message:E,hint:L,defaultValue:S,hidden:a,input:r,output:x,messageColor:n,hintColor:T}=f,b=(n??Mn)(E),g=L?` ${(T??Pn)(`(${L})`)}`:"",i=S?` [${S}]`:"",h=a?`${b}${g}: `:`${b}${g}${i}: `,m=r??he__default.default.stdin,p=x??he__default.default.stdout;t(p,h);let C="",_=false,P=M=>{_||(_=true,M(),m.off("data",W),m.off("end",I));},W=M=>{let B=typeof M=="string"?M:M.toString("utf8");if(B.includes("")){P(()=>w(new Error("Input canceled")));return}let D=o(C,B);if(C=D.buffer,!D.done)return;let Q=D.line.length===0&&S!==void 0?S:D.line;P(()=>y(Q));},I=()=>{if(_)return;let M=C.length===0&&S!==void 0?S:C;P(()=>y(M));};m.on("data",W),m.once("end",I),e(m);})}l.readText=s;async function c(f){let y=f.defaultValue!==false,E=(await s({message:f.message,hint:f.hint??`y/n, default ${y?"y":"n"}`,defaultValue:y?"y":"n",messageColor:f.messageColor,hintColor:f.hintColor,input:f.input,output:f.output})).trim().toLowerCase();return E===""?y:E==="y"||E==="yes"?true:E==="n"||E==="no"?false:c(f)}l.readConfirm=c;function d(f){return s({...f,hidden:true})}l.readPassword=d;})(exports.Input||(exports.Input={}));var Wn=e=>$(k(),u.heading,e),Fn=e=>$(k(),u.command,e),An=e=>$(k(),u.muted,e),Nn=e=>$(k(),u.warn,e),Hn=e=>$(k(),u.accent,e);function _n(e,t,o,s,c,d){let l=e;return l=l.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(f,y,w)=>`${d(y)} (${w})`),l=l.replace(/`([^`]+)`/g,(f,y)=>c(y)),l=l.replace(/\*\*([^*]+)\*\*/g,(f,y)=>o(y)),l=l.replace(/(^|[^*])\*([^*]+)\*(?!\*)/g,(f,y,w)=>`${y}${s(w)}`),l}function Bn(e,t={}){if(!e)return [];let o=t.headingColor??Wn,s=t.boldColor??Fn,c=t.italicColor??An,d=t.codeColor??Nn,l=t.linkColor??Hn,f=n=>_n(n,o,s,c,d,l),y=e.replace(/\r\n/g,`
16
31
  `).split(`
17
- `),$=[],E=false,O=[],h="",o=0,l=true,T=()=>{if(O.length!==0){$.push(f(`\`\`\`${h}`));for(let n of O)$.push(f(n));$.push(f("```")),O=[],h="";}};for(let n of v){let w=n;if(w.trim().startsWith("```")){if(!E){T(),E=true,h=w.trim().slice(3).trim(),$.push(f(`\`\`\`${h}`)),l=false;continue}for(let u of O)$.push(f(u));O=[],$.push(f("```")),E=false,h="",l=false;continue}if(E){O.push(w);continue}let S=/^(#{1,3})\s+(.+)$/.exec(w);if(S){let u=S[1]??"#",x=S[2]??"";$.push(r(`${u} ${a(x)}`)),l=false;continue}if(/^(\s*[-*_])\s*\1\s*\1[-*_\s]*$/.test(w)||/^---\s*$/.test(w)||/^\*\*\*\s*$/.test(w)){$.push(f("\u2500".repeat(40))),l=true;continue}let p=/^\s*[-*]\s+(.+)$/.exec(w),i=/^\s*\d+\.\s+(.+)$/.exec(w);if(p){let u=p[1]??"";$.push(` \u2022 ${a(u)}`),o=0,l=false;continue}if(i){let u=i[1]??"";o+=1,$.push(` ${o}. ${a(u)}`),l=false;continue}if(w.trim()===""){l||$.push(""),l=true,o=0;continue}$.push(a(w)),l=false,o=0;}return E&&T(),$}var jr=oe,Vr=oe.cancelSymbol;exports.LOBSTER_PALETTE=B;exports.Search=jr;exports.cancelSymbol=Vr;exports.clearActiveProgressLine=we;exports.colorize=y;exports.createSafeStreamWriter=cn;exports.displayPath=Ht;exports.displayString=ve;exports.emitJsonError=Vt;exports.emitJsonOk=jt;exports.expandHomePrefix=Se;exports.formatCommandExample=Ot;exports.formatCount=Nt;exports.formatEmptyMessage=Ft;exports.formatError=wt;exports.formatHeading=It;exports.formatInfo=Rt;exports.formatKeyValue=kt;exports.formatListItem=Wt;exports.formatRootLink=Dt;exports.formatRootedLink=Jt;exports.formatSeparator=Pt;exports.formatStatus=Mt;exports.formatSuccess=yt;exports.formatTerminalLink=re;exports.formatWarning=Et;exports.isRich=k;exports.note=qt;exports.registerActiveProgressLine=Xt;exports.renderMarkdown=wn;exports.renderTable=fn;exports.resolveConfigDir=_t;exports.resolveEffectiveHomeDir=q;exports.resolveHomeDir=Ve;exports.resolveRequiredHomeDir=be;exports.resolveUserPath=je;exports.restoreTerminalState=rn;exports.selectStyled=tn;exports.shortenHomeInString=Ye;exports.shortenHomePath=ze;exports.stripAnsi=ne;exports.styleHealthChannelLine=mn;exports.stylePromptHint=ye;exports.stylePromptMessage=Te;exports.stylePromptTitle=Ce;exports.theme=b;exports.unregisterActiveProgressLine=Zt;exports.visibleWidth=D;exports.wrapNoteMessage=qe;
32
+ `),w=[],E=false,L=[],S="",a=0,r=true,x=()=>{if(L.length!==0){w.push(d(`\`\`\`${S}`));for(let n of L)w.push(d(n));w.push(d("```")),L=[],S="";}};for(let n of y){let T=n;if(T.trim().startsWith("```")){if(!E){x(),E=true,S=T.trim().slice(3).trim(),w.push(d(`\`\`\`${S}`)),r=false;continue}for(let h of L)w.push(d(h));L=[],w.push(d("```")),E=false,S="",r=false;continue}if(E){L.push(T);continue}let b=/^(#{1,3})\s+(.+)$/.exec(T);if(b){let h=b[1]??"#",m=b[2]??"";w.push(o(`${h} ${f(m)}`)),r=false;continue}if(/^(\s*[-*_])\s*\1\s*\1[-*_\s]*$/.test(T)||/^---\s*$/.test(T)||/^\*\*\*\s*$/.test(T)){w.push(d("\u2500".repeat(40))),r=true;continue}let g=/^\s*[-*]\s+(.+)$/.exec(T),i=/^\s*\d+\.\s+(.+)$/.exec(T);if(g){let h=g[1]??"";w.push(` \u2022 ${f(h)}`),a=0,r=false;continue}if(i){let h=i[1]??"";a+=1,w.push(` ${a}. ${f(h)}`),r=false;continue}if(T.trim()===""){r||w.push(""),r=true,a=0;continue}w.push(f(T)),r=false,a=0;}return E&&x(),w}var Co=q,ko=q.cancelSymbol;exports.LOBSTER_PALETTE=V;exports.Search=Co;exports.cancelSymbol=ko;exports.clearActiveProgressLine=Ie;exports.colorize=$;exports.createSafeStreamWriter=Cn;exports.displayPath=Ut;exports.displayString=we;exports.emitCommandJson=en;exports.emitJson=qe;exports.emitJsonError=nn;exports.emitJsonOk=tn;exports.expandHomePrefix=$e;exports.formatCommandExample=Bt;exports.formatCount=zt;exports.formatEmptyMessage=jt;exports.formatError=Ft;exports.formatHeading=Ht;exports.formatInfo=Nt;exports.formatKeyValue=_t;exports.formatList=dn;exports.formatListItem=Jt;exports.formatListTruncated=nt;exports.formatPrintHuman=et;exports.formatRootLink=Xt;exports.formatRootedLink=Qt;exports.formatSeparator=Kt;exports.formatStatus=Dt;exports.formatSuccess=Wt;exports.formatTerminalLink=se;exports.formatWarning=At;exports.isRich=k;exports.note=ae;exports.printHuman=ln;exports.printRenderLines=fn;exports.registerActiveProgressLine=xn;exports.renderLines=tt;exports.renderMarkdown=Bn;exports.renderTable=In;exports.resolveConfigDir=Gt;exports.resolveEffectiveHomeDir=te;exports.resolveHomeDir=je;exports.resolveRequiredHomeDir=Se;exports.resolveUserPath=Ke;exports.restoreTerminalState=$n;exports.selectStyled=Tn;exports.shortenHomeInString=Ge;exports.shortenHomePath=Ye;exports.stripAnsi=Z;exports.styleHealthChannelLine=Ln;exports.stylePromptHint=Ee;exports.stylePromptMessage=Ce;exports.stylePromptTitle=ke;exports.theme=u;exports.unregisterActiveProgressLine=bn;exports.visibleWidth=K;exports.wrapError=Zt;exports.wrapJson=Ue;exports.wrapNoteMessage=Ze;
package/dist/index.d.cts CHANGED
@@ -74,6 +74,17 @@ declare function formatRootedLink(root: string, path: string, label?: string, op
74
74
  }, isTTY?: boolean): string;
75
75
  declare function formatRootLink(root: string, label?: string, isTTY?: boolean): string;
76
76
 
77
+ interface JsonEnvelope<T> {
78
+ ok: boolean;
79
+ data: T;
80
+ meta?: Record<string, unknown>;
81
+ }
82
+ declare function wrapJson<T>(data: T, meta?: Record<string, unknown>, ok?: boolean): JsonEnvelope<T>;
83
+ declare function wrapError<T = {
84
+ reason: string;
85
+ }>(data: T, meta?: Record<string, unknown>): JsonEnvelope<T>;
86
+ declare function emitJson<T>(envelope: JsonEnvelope<T>, indent?: number): void;
87
+ declare function emitCommandJson<T>(envelope: JsonEnvelope<T>): void;
77
88
  declare function emitJsonOk(data: unknown, meta?: Record<string, unknown>): void;
78
89
  declare function emitJsonError(code: string, message: string): void;
79
90
 
@@ -88,6 +99,190 @@ type NoteOptions = {
88
99
  };
89
100
  declare function note(message: string, title?: string, options?: NoteOptions): void;
90
101
 
102
+ interface PrintHumanOptions {
103
+ boxed?: boolean;
104
+ title?: string;
105
+ outro?: string;
106
+ skipOutro?: boolean;
107
+ empty?: string;
108
+ emptyTitle?: string;
109
+ }
110
+ declare function printHuman(lines: string[], opts?: PrintHumanOptions): void;
111
+ declare function formatPrintHuman(lines: string[], opts?: PrintHumanOptions): string;
112
+ interface RenderLinesGroup {
113
+ key?: string;
114
+ rows: string[];
115
+ detail?: string;
116
+ }
117
+ interface RenderLinesOptions {
118
+ title: string;
119
+ groups?: RenderLinesGroup[];
120
+ footer?: string[];
121
+ flat?: string[];
122
+ }
123
+ declare function renderLines(opts: RenderLinesOptions): string;
124
+ declare function printRenderLines(opts: RenderLinesOptions): void;
125
+ declare function formatListTruncated(items: string[], maxShow?: number): string;
126
+ declare const formatList: typeof formatListTruncated;
127
+
128
+ type ColorFn$2 = (text: string) => string;
129
+ declare namespace Loader {
130
+ interface IndicatorOptions {
131
+ frames?: string[];
132
+ intervalMs?: number;
133
+ }
134
+ interface Options {
135
+ message?: string;
136
+ spinnerColor?: ColorFn$2;
137
+ messageColor?: ColorFn$2;
138
+ indicator?: IndicatorOptions;
139
+ }
140
+ interface Instance {
141
+ start(): void;
142
+ stop(): void;
143
+ isRunning(): boolean;
144
+ line(): string;
145
+ setMessage(message: string): void;
146
+ setIndicator(indicator?: IndicatorOptions): void;
147
+ }
148
+ function create(options?: Options): Instance;
149
+ }
150
+
151
+ declare namespace Search$1 {
152
+ interface Item<T> {
153
+ value: T;
154
+ label: string;
155
+ hint?: string;
156
+ }
157
+ interface LockedSection<T> {
158
+ title: string;
159
+ items: Item<T>[];
160
+ hiddenCount?: number;
161
+ }
162
+ interface MultiselectOptions<T> {
163
+ message: string;
164
+ items: Item<T>[];
165
+ maxVisible?: number;
166
+ initialSelected?: T[];
167
+ required?: boolean;
168
+ lockedSection?: LockedSection<T>;
169
+ isTTY?: boolean;
170
+ }
171
+ const cancelSymbol: unique symbol;
172
+ function approxStringWidth(plain: string): number;
173
+ function visualRowsForLine(line: string, columns: number): number;
174
+ function countVisualRowsForLines(lines: string[], columns: number | undefined): number;
175
+ function multiselect<T>(options: MultiselectOptions<T>): Promise<T[] | typeof cancelSymbol>;
176
+ }
177
+
178
+ declare namespace Prompt {
179
+ const cancelSymbol: typeof Search$1.cancelSymbol;
180
+ type Cancel = typeof cancelSymbol;
181
+ function isCancel(value: unknown): value is Cancel;
182
+ interface SelectOption<T> {
183
+ value: T;
184
+ label: string;
185
+ hint?: string;
186
+ }
187
+ interface SelectOptions<T> {
188
+ message: string;
189
+ options: SelectOption<T>[];
190
+ initialValue?: T;
191
+ isTTY?: boolean;
192
+ }
193
+ function select<T>(opts: SelectOptions<T>): Promise<T | Cancel>;
194
+ interface GroupMultiselectOptions<T> {
195
+ message: string;
196
+ options: Record<string, SelectOption<T>[]>;
197
+ initialValues?: T[];
198
+ required?: boolean;
199
+ isTTY?: boolean;
200
+ }
201
+ function groupMultiselect<T>(opts: GroupMultiselectOptions<T>): Promise<T[] | Cancel>;
202
+ interface TextOptions {
203
+ message: string;
204
+ placeholder?: string;
205
+ defaultValue?: string;
206
+ validate?: (value: string) => string | undefined;
207
+ isTTY?: boolean;
208
+ }
209
+ function text(opts: TextOptions): Promise<string | Cancel>;
210
+ interface PasswordOptions {
211
+ message: string;
212
+ mask?: string;
213
+ isTTY?: boolean;
214
+ }
215
+ function password(opts: PasswordOptions): Promise<string | Cancel>;
216
+ interface ConfirmOptions {
217
+ message: string;
218
+ initialValue?: boolean;
219
+ isTTY?: boolean;
220
+ }
221
+ function confirm(opts: ConfirmOptions): Promise<boolean | Cancel>;
222
+ interface MultiselectItem<T> {
223
+ value: T;
224
+ label: string;
225
+ hint?: string;
226
+ }
227
+ interface LockedSection<T> {
228
+ title: string;
229
+ items: MultiselectItem<T>[];
230
+ hiddenCount?: number;
231
+ }
232
+ interface MultiselectOptions<T> {
233
+ message: string;
234
+ options: MultiselectItem<T>[];
235
+ initialValues?: T[];
236
+ required?: boolean;
237
+ lockedSection?: LockedSection<T>;
238
+ maxVisible?: number;
239
+ isTTY?: boolean;
240
+ withGuide?: boolean;
241
+ guideLines?: string[];
242
+ }
243
+ function multiselect<T>(opts: MultiselectOptions<T>): Promise<T[] | Cancel>;
244
+ function intro(title: string): void;
245
+ function outro(message?: string, opts?: {
246
+ success?: boolean;
247
+ }): void;
248
+ function cancel(message?: string): never;
249
+ namespace Log {
250
+ function info(message: string, detail?: string): void;
251
+ function warn(message: string, detail?: string): void;
252
+ function error(message: string, detail?: string): void;
253
+ function success(message: string): void;
254
+ function step(message: string): void;
255
+ function message(message: string): void;
256
+ }
257
+ interface SpinnerInstance {
258
+ start(message?: string): void;
259
+ stop(finalMessage?: string): void;
260
+ update(message: string): void;
261
+ line(): string;
262
+ }
263
+ function spinner(options?: {
264
+ frames?: string[];
265
+ color?: ColorFn$2;
266
+ }): SpinnerInstance;
267
+ }
268
+
269
+ type SymbolKind = 'success' | 'error' | 'warning' | 'info' | 'accent' | 'muted' | 'heading' | 'active' | 'submit' | 'cancel' | 'locked' | 'pending' | 'radioActive' | 'radioInactive' | 'skipped' | 'cursor' | 'accentBright';
270
+ declare namespace Symbol {
271
+ const icons: Readonly<Record<SymbolKind, string>>;
272
+ const bar: {
273
+ readonly vertical: "│";
274
+ readonly horizontal: "─";
275
+ readonly cornerBottom: "└";
276
+ readonly cornerBottomRight: "┘";
277
+ readonly teeRight: "├";
278
+ readonly stepActive: "◆";
279
+ readonly bullet: "•";
280
+ };
281
+ function colorize(char: string, kind: SymbolKind): string;
282
+ function statusIcon(kind: SymbolKind): string;
283
+ function prefixed(kind: SymbolKind, text: string): string;
284
+ }
285
+
91
286
  declare function registerActiveProgressLine(stream: NodeJS.WriteStream): void;
92
287
  declare function clearActiveProgressLine(): void;
93
288
  declare function unregisterActiveProgressLine(stream?: NodeJS.WriteStream): void;
@@ -136,56 +331,6 @@ declare function renderTable(opts: RenderTableOptions): string;
136
331
 
137
332
  declare function styleHealthChannelLine(line: string, rich: boolean): string;
138
333
 
139
- declare namespace Search$1 {
140
- interface Item<T> {
141
- value: T;
142
- label: string;
143
- hint?: string;
144
- }
145
- interface LockedSection<T> {
146
- title: string;
147
- items: Item<T>[];
148
- hiddenCount?: number;
149
- }
150
- interface MultiselectOptions<T> {
151
- message: string;
152
- items: Item<T>[];
153
- maxVisible?: number;
154
- initialSelected?: T[];
155
- required?: boolean;
156
- lockedSection?: LockedSection<T>;
157
- isTTY?: boolean;
158
- }
159
- const cancelSymbol: unique symbol;
160
- function approxStringWidth(plain: string): number;
161
- function visualRowsForLine(line: string, columns: number): number;
162
- function countVisualRowsForLines(lines: string[], columns: number | undefined): number;
163
- function multiselect<T>(options: MultiselectOptions<T>): Promise<T[] | typeof cancelSymbol>;
164
- }
165
-
166
- type ColorFn$2 = (text: string) => string;
167
- declare namespace Loader {
168
- interface IndicatorOptions {
169
- frames?: string[];
170
- intervalMs?: number;
171
- }
172
- interface Options {
173
- message?: string;
174
- spinnerColor?: ColorFn$2;
175
- messageColor?: ColorFn$2;
176
- indicator?: IndicatorOptions;
177
- }
178
- interface Instance {
179
- start(): void;
180
- stop(): void;
181
- isRunning(): boolean;
182
- line(): string;
183
- setMessage(message: string): void;
184
- setIndicator(indicator?: IndicatorOptions): void;
185
- }
186
- function create(options?: Options): Instance;
187
- }
188
-
189
334
  type ColorFn$1 = (text: string) => string;
190
335
  declare namespace Input {
191
336
  interface ReadTextBaseOptions {
@@ -225,4 +370,4 @@ declare function renderMarkdown(md: string, opts?: RenderMarkdownOptions): strin
225
370
  declare const Search: typeof Search$1;
226
371
  declare const cancelSymbol: symbol;
227
372
 
228
- export { type ColorFn$2 as ColorFn, type FormatTerminalLinkOptions, Input, type ColorFn$1 as InputColorFn, LOBSTER_PALETTE, Loader, type LobsterPalette, type LobsterPaletteKey, type ColorFn as MarkdownColorFn, type NoteOptions, type RenderMarkdownOptions, type RenderTableOptions, type RestoreTerminalStateOptions, type SafeStreamWriter, type SafeStreamWriterOptions, Search, type StatusKind, type TableColumn, type WrapNoteMessageOptions, cancelSymbol, clearActiveProgressLine, colorize, createSafeStreamWriter, displayPath, displayString, emitJsonError, emitJsonOk, expandHomePrefix, formatCommandExample, formatCount, formatEmptyMessage, formatError, formatHeading, formatInfo, formatKeyValue, formatListItem, formatRootLink, formatRootedLink, formatSeparator, formatStatus, formatSuccess, formatTerminalLink, formatWarning, isRich, note, registerActiveProgressLine, renderMarkdown, renderTable, resolveConfigDir, resolveEffectiveHomeDir, resolveHomeDir, resolveRequiredHomeDir, resolveUserPath, restoreTerminalState, selectStyled, shortenHomeInString, shortenHomePath, stripAnsi, styleHealthChannelLine, stylePromptHint, stylePromptMessage, stylePromptTitle, theme, unregisterActiveProgressLine, visibleWidth, wrapNoteMessage };
373
+ export { type ColorFn$2 as ColorFn, type FormatTerminalLinkOptions, Input, type ColorFn$1 as InputColorFn, type JsonEnvelope, LOBSTER_PALETTE, Loader, type LobsterPalette, type LobsterPaletteKey, type ColorFn as MarkdownColorFn, type NoteOptions, type PrintHumanOptions, Prompt, type RenderLinesGroup, type RenderLinesOptions, type RenderMarkdownOptions, type RenderTableOptions, type RestoreTerminalStateOptions, type SafeStreamWriter, type SafeStreamWriterOptions, Search, type StatusKind, Symbol, type SymbolKind, type TableColumn, type WrapNoteMessageOptions, cancelSymbol, clearActiveProgressLine, colorize, createSafeStreamWriter, displayPath, displayString, emitCommandJson, emitJson, emitJsonError, emitJsonOk, expandHomePrefix, formatCommandExample, formatCount, formatEmptyMessage, formatError, formatHeading, formatInfo, formatKeyValue, formatList, formatListItem, formatListTruncated, formatPrintHuman, formatRootLink, formatRootedLink, formatSeparator, formatStatus, formatSuccess, formatTerminalLink, formatWarning, isRich, note, printHuman, printRenderLines, registerActiveProgressLine, renderLines, renderMarkdown, renderTable, resolveConfigDir, resolveEffectiveHomeDir, resolveHomeDir, resolveRequiredHomeDir, resolveUserPath, restoreTerminalState, selectStyled, shortenHomeInString, shortenHomePath, stripAnsi, styleHealthChannelLine, stylePromptHint, stylePromptMessage, stylePromptTitle, theme, unregisterActiveProgressLine, visibleWidth, wrapError, wrapJson, wrapNoteMessage };
package/dist/index.d.ts CHANGED
@@ -74,6 +74,17 @@ declare function formatRootedLink(root: string, path: string, label?: string, op
74
74
  }, isTTY?: boolean): string;
75
75
  declare function formatRootLink(root: string, label?: string, isTTY?: boolean): string;
76
76
 
77
+ interface JsonEnvelope<T> {
78
+ ok: boolean;
79
+ data: T;
80
+ meta?: Record<string, unknown>;
81
+ }
82
+ declare function wrapJson<T>(data: T, meta?: Record<string, unknown>, ok?: boolean): JsonEnvelope<T>;
83
+ declare function wrapError<T = {
84
+ reason: string;
85
+ }>(data: T, meta?: Record<string, unknown>): JsonEnvelope<T>;
86
+ declare function emitJson<T>(envelope: JsonEnvelope<T>, indent?: number): void;
87
+ declare function emitCommandJson<T>(envelope: JsonEnvelope<T>): void;
77
88
  declare function emitJsonOk(data: unknown, meta?: Record<string, unknown>): void;
78
89
  declare function emitJsonError(code: string, message: string): void;
79
90
 
@@ -88,6 +99,190 @@ type NoteOptions = {
88
99
  };
89
100
  declare function note(message: string, title?: string, options?: NoteOptions): void;
90
101
 
102
+ interface PrintHumanOptions {
103
+ boxed?: boolean;
104
+ title?: string;
105
+ outro?: string;
106
+ skipOutro?: boolean;
107
+ empty?: string;
108
+ emptyTitle?: string;
109
+ }
110
+ declare function printHuman(lines: string[], opts?: PrintHumanOptions): void;
111
+ declare function formatPrintHuman(lines: string[], opts?: PrintHumanOptions): string;
112
+ interface RenderLinesGroup {
113
+ key?: string;
114
+ rows: string[];
115
+ detail?: string;
116
+ }
117
+ interface RenderLinesOptions {
118
+ title: string;
119
+ groups?: RenderLinesGroup[];
120
+ footer?: string[];
121
+ flat?: string[];
122
+ }
123
+ declare function renderLines(opts: RenderLinesOptions): string;
124
+ declare function printRenderLines(opts: RenderLinesOptions): void;
125
+ declare function formatListTruncated(items: string[], maxShow?: number): string;
126
+ declare const formatList: typeof formatListTruncated;
127
+
128
+ type ColorFn$2 = (text: string) => string;
129
+ declare namespace Loader {
130
+ interface IndicatorOptions {
131
+ frames?: string[];
132
+ intervalMs?: number;
133
+ }
134
+ interface Options {
135
+ message?: string;
136
+ spinnerColor?: ColorFn$2;
137
+ messageColor?: ColorFn$2;
138
+ indicator?: IndicatorOptions;
139
+ }
140
+ interface Instance {
141
+ start(): void;
142
+ stop(): void;
143
+ isRunning(): boolean;
144
+ line(): string;
145
+ setMessage(message: string): void;
146
+ setIndicator(indicator?: IndicatorOptions): void;
147
+ }
148
+ function create(options?: Options): Instance;
149
+ }
150
+
151
+ declare namespace Search$1 {
152
+ interface Item<T> {
153
+ value: T;
154
+ label: string;
155
+ hint?: string;
156
+ }
157
+ interface LockedSection<T> {
158
+ title: string;
159
+ items: Item<T>[];
160
+ hiddenCount?: number;
161
+ }
162
+ interface MultiselectOptions<T> {
163
+ message: string;
164
+ items: Item<T>[];
165
+ maxVisible?: number;
166
+ initialSelected?: T[];
167
+ required?: boolean;
168
+ lockedSection?: LockedSection<T>;
169
+ isTTY?: boolean;
170
+ }
171
+ const cancelSymbol: unique symbol;
172
+ function approxStringWidth(plain: string): number;
173
+ function visualRowsForLine(line: string, columns: number): number;
174
+ function countVisualRowsForLines(lines: string[], columns: number | undefined): number;
175
+ function multiselect<T>(options: MultiselectOptions<T>): Promise<T[] | typeof cancelSymbol>;
176
+ }
177
+
178
+ declare namespace Prompt {
179
+ const cancelSymbol: typeof Search$1.cancelSymbol;
180
+ type Cancel = typeof cancelSymbol;
181
+ function isCancel(value: unknown): value is Cancel;
182
+ interface SelectOption<T> {
183
+ value: T;
184
+ label: string;
185
+ hint?: string;
186
+ }
187
+ interface SelectOptions<T> {
188
+ message: string;
189
+ options: SelectOption<T>[];
190
+ initialValue?: T;
191
+ isTTY?: boolean;
192
+ }
193
+ function select<T>(opts: SelectOptions<T>): Promise<T | Cancel>;
194
+ interface GroupMultiselectOptions<T> {
195
+ message: string;
196
+ options: Record<string, SelectOption<T>[]>;
197
+ initialValues?: T[];
198
+ required?: boolean;
199
+ isTTY?: boolean;
200
+ }
201
+ function groupMultiselect<T>(opts: GroupMultiselectOptions<T>): Promise<T[] | Cancel>;
202
+ interface TextOptions {
203
+ message: string;
204
+ placeholder?: string;
205
+ defaultValue?: string;
206
+ validate?: (value: string) => string | undefined;
207
+ isTTY?: boolean;
208
+ }
209
+ function text(opts: TextOptions): Promise<string | Cancel>;
210
+ interface PasswordOptions {
211
+ message: string;
212
+ mask?: string;
213
+ isTTY?: boolean;
214
+ }
215
+ function password(opts: PasswordOptions): Promise<string | Cancel>;
216
+ interface ConfirmOptions {
217
+ message: string;
218
+ initialValue?: boolean;
219
+ isTTY?: boolean;
220
+ }
221
+ function confirm(opts: ConfirmOptions): Promise<boolean | Cancel>;
222
+ interface MultiselectItem<T> {
223
+ value: T;
224
+ label: string;
225
+ hint?: string;
226
+ }
227
+ interface LockedSection<T> {
228
+ title: string;
229
+ items: MultiselectItem<T>[];
230
+ hiddenCount?: number;
231
+ }
232
+ interface MultiselectOptions<T> {
233
+ message: string;
234
+ options: MultiselectItem<T>[];
235
+ initialValues?: T[];
236
+ required?: boolean;
237
+ lockedSection?: LockedSection<T>;
238
+ maxVisible?: number;
239
+ isTTY?: boolean;
240
+ withGuide?: boolean;
241
+ guideLines?: string[];
242
+ }
243
+ function multiselect<T>(opts: MultiselectOptions<T>): Promise<T[] | Cancel>;
244
+ function intro(title: string): void;
245
+ function outro(message?: string, opts?: {
246
+ success?: boolean;
247
+ }): void;
248
+ function cancel(message?: string): never;
249
+ namespace Log {
250
+ function info(message: string, detail?: string): void;
251
+ function warn(message: string, detail?: string): void;
252
+ function error(message: string, detail?: string): void;
253
+ function success(message: string): void;
254
+ function step(message: string): void;
255
+ function message(message: string): void;
256
+ }
257
+ interface SpinnerInstance {
258
+ start(message?: string): void;
259
+ stop(finalMessage?: string): void;
260
+ update(message: string): void;
261
+ line(): string;
262
+ }
263
+ function spinner(options?: {
264
+ frames?: string[];
265
+ color?: ColorFn$2;
266
+ }): SpinnerInstance;
267
+ }
268
+
269
+ type SymbolKind = 'success' | 'error' | 'warning' | 'info' | 'accent' | 'muted' | 'heading' | 'active' | 'submit' | 'cancel' | 'locked' | 'pending' | 'radioActive' | 'radioInactive' | 'skipped' | 'cursor' | 'accentBright';
270
+ declare namespace Symbol {
271
+ const icons: Readonly<Record<SymbolKind, string>>;
272
+ const bar: {
273
+ readonly vertical: "│";
274
+ readonly horizontal: "─";
275
+ readonly cornerBottom: "└";
276
+ readonly cornerBottomRight: "┘";
277
+ readonly teeRight: "├";
278
+ readonly stepActive: "◆";
279
+ readonly bullet: "•";
280
+ };
281
+ function colorize(char: string, kind: SymbolKind): string;
282
+ function statusIcon(kind: SymbolKind): string;
283
+ function prefixed(kind: SymbolKind, text: string): string;
284
+ }
285
+
91
286
  declare function registerActiveProgressLine(stream: NodeJS.WriteStream): void;
92
287
  declare function clearActiveProgressLine(): void;
93
288
  declare function unregisterActiveProgressLine(stream?: NodeJS.WriteStream): void;
@@ -136,56 +331,6 @@ declare function renderTable(opts: RenderTableOptions): string;
136
331
 
137
332
  declare function styleHealthChannelLine(line: string, rich: boolean): string;
138
333
 
139
- declare namespace Search$1 {
140
- interface Item<T> {
141
- value: T;
142
- label: string;
143
- hint?: string;
144
- }
145
- interface LockedSection<T> {
146
- title: string;
147
- items: Item<T>[];
148
- hiddenCount?: number;
149
- }
150
- interface MultiselectOptions<T> {
151
- message: string;
152
- items: Item<T>[];
153
- maxVisible?: number;
154
- initialSelected?: T[];
155
- required?: boolean;
156
- lockedSection?: LockedSection<T>;
157
- isTTY?: boolean;
158
- }
159
- const cancelSymbol: unique symbol;
160
- function approxStringWidth(plain: string): number;
161
- function visualRowsForLine(line: string, columns: number): number;
162
- function countVisualRowsForLines(lines: string[], columns: number | undefined): number;
163
- function multiselect<T>(options: MultiselectOptions<T>): Promise<T[] | typeof cancelSymbol>;
164
- }
165
-
166
- type ColorFn$2 = (text: string) => string;
167
- declare namespace Loader {
168
- interface IndicatorOptions {
169
- frames?: string[];
170
- intervalMs?: number;
171
- }
172
- interface Options {
173
- message?: string;
174
- spinnerColor?: ColorFn$2;
175
- messageColor?: ColorFn$2;
176
- indicator?: IndicatorOptions;
177
- }
178
- interface Instance {
179
- start(): void;
180
- stop(): void;
181
- isRunning(): boolean;
182
- line(): string;
183
- setMessage(message: string): void;
184
- setIndicator(indicator?: IndicatorOptions): void;
185
- }
186
- function create(options?: Options): Instance;
187
- }
188
-
189
334
  type ColorFn$1 = (text: string) => string;
190
335
  declare namespace Input {
191
336
  interface ReadTextBaseOptions {
@@ -225,4 +370,4 @@ declare function renderMarkdown(md: string, opts?: RenderMarkdownOptions): strin
225
370
  declare const Search: typeof Search$1;
226
371
  declare const cancelSymbol: symbol;
227
372
 
228
- export { type ColorFn$2 as ColorFn, type FormatTerminalLinkOptions, Input, type ColorFn$1 as InputColorFn, LOBSTER_PALETTE, Loader, type LobsterPalette, type LobsterPaletteKey, type ColorFn as MarkdownColorFn, type NoteOptions, type RenderMarkdownOptions, type RenderTableOptions, type RestoreTerminalStateOptions, type SafeStreamWriter, type SafeStreamWriterOptions, Search, type StatusKind, type TableColumn, type WrapNoteMessageOptions, cancelSymbol, clearActiveProgressLine, colorize, createSafeStreamWriter, displayPath, displayString, emitJsonError, emitJsonOk, expandHomePrefix, formatCommandExample, formatCount, formatEmptyMessage, formatError, formatHeading, formatInfo, formatKeyValue, formatListItem, formatRootLink, formatRootedLink, formatSeparator, formatStatus, formatSuccess, formatTerminalLink, formatWarning, isRich, note, registerActiveProgressLine, renderMarkdown, renderTable, resolveConfigDir, resolveEffectiveHomeDir, resolveHomeDir, resolveRequiredHomeDir, resolveUserPath, restoreTerminalState, selectStyled, shortenHomeInString, shortenHomePath, stripAnsi, styleHealthChannelLine, stylePromptHint, stylePromptMessage, stylePromptTitle, theme, unregisterActiveProgressLine, visibleWidth, wrapNoteMessage };
373
+ export { type ColorFn$2 as ColorFn, type FormatTerminalLinkOptions, Input, type ColorFn$1 as InputColorFn, type JsonEnvelope, LOBSTER_PALETTE, Loader, type LobsterPalette, type LobsterPaletteKey, type ColorFn as MarkdownColorFn, type NoteOptions, type PrintHumanOptions, Prompt, type RenderLinesGroup, type RenderLinesOptions, type RenderMarkdownOptions, type RenderTableOptions, type RestoreTerminalStateOptions, type SafeStreamWriter, type SafeStreamWriterOptions, Search, type StatusKind, Symbol, type SymbolKind, type TableColumn, type WrapNoteMessageOptions, cancelSymbol, clearActiveProgressLine, colorize, createSafeStreamWriter, displayPath, displayString, emitCommandJson, emitJson, emitJsonError, emitJsonOk, expandHomePrefix, formatCommandExample, formatCount, formatEmptyMessage, formatError, formatHeading, formatInfo, formatKeyValue, formatList, formatListItem, formatListTruncated, formatPrintHuman, formatRootLink, formatRootedLink, formatSeparator, formatStatus, formatSuccess, formatTerminalLink, formatWarning, isRich, note, printHuman, printRenderLines, registerActiveProgressLine, renderLines, renderMarkdown, renderTable, resolveConfigDir, resolveEffectiveHomeDir, resolveHomeDir, resolveRequiredHomeDir, resolveUserPath, restoreTerminalState, selectStyled, shortenHomeInString, shortenHomePath, stripAnsi, styleHealthChannelLine, stylePromptHint, stylePromptMessage, stylePromptTitle, theme, unregisterActiveProgressLine, visibleWidth, wrapError, wrapJson, wrapNoteMessage };
package/dist/index.mjs CHANGED
@@ -1,17 +1,32 @@
1
- import de,{Chalk}from'chalk';import le from'os';import ve from'path';import {Filesystem}from'@easbot/utils';import {note,select}from'@clack/prompts';import fe from'process';import*as me from'readline';import {stripVTControlCharacters}from'util';import {Writable}from'stream';var bt="\\x1b\\[[0-9;]*m",St="\\x1b\\]8;;.*?\\x1b\\\\|\\x1b\\]8;;\\x1b\\\\",$t=new RegExp(bt,"g"),vt=new RegExp(St,"g");function re(e){return e?e.replace(vt,"").replace($t,""):""}function j(e){return e?Array.from(re(e)).length:0}var J={accent:"#FF5A2D",accentBright:"#FF7A3D",accentDim:"#D14A22",info:"#FF8A5B",success:"#2FBF71",warn:"#FFB020",error:"#E23D2D",muted:"#8B7F77"};var yt=typeof process.env.FORCE_COLOR=="string"&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!=="0",xe=process.env.NO_COLOR&&!yt?new Chalk({level:0}):de,V=e=>xe.hex(e),b={accent:V(J.accent),accentBright:V(J.accentBright),accentDim:V(J.accentDim),info:V(J.info),success:V(J.success),warn:V(J.warn),error:V(J.error),muted:V(J.muted),heading:xe.bold.hex(J.accent),command:V(J.accentBright),option:V(J.warn)},k=()=>xe.level>0,y=(e,t,r)=>e?t(r):r;function wt(e){return y(k(),b.success,"\u2713")+` ${e}`}function Et(e){return y(k(),b.error,"\u2717")+` ${e}`}function Rt(e){return y(k(),b.warn,"\u26A0")+` ${e}`}function It(e){return y(k(),b.info,"\u2139")+` ${e}`}function kt(e){return y(k(),b.heading,e)}function Ot(e,t,r=15){let s=e.padEnd(r);return `${y(k(),b.muted,s)} ${t}`}function Wt(e,t){let r=k(),s=y(r,b.command,e);if(!t)return ` ${s}`;let c=y(r,b.muted,`# ${t}`);return ` ${s} ${c}`}function Lt(e,t,r){let s=k(),c=y(s,b.info,e),f=y(s,b.command,t),m=r?` ${y(s,b.muted,r)}`:"";return `${c} ${f}${m}`}var Mt={pending:{icon:"\u25CB",color:b.muted},running:{icon:"\u25CF",color:b.info},success:{icon:"\u2713",color:b.success},error:{icon:"\u2717",color:b.error},skipped:{icon:"\u25CB",color:b.muted}};function Pt(e,t){let{icon:r,color:s}=Mt[e];return y(k(),s,r)+` ${t}`}function Ft(e=80,t="\u2500"){return y(k(),b.muted,t.repeat(e))}function Nt(e){return y(k(),b.muted,e)}function At(e,t,r){let s=e===1?t:r||`${t}s`;return `${y(k(),b.accent,String(e))} ${s}`}function K(e){let t=e?.trim();return t?Filesystem.toUnixPath(t):void 0}function De(e){try{return K(e())}catch{return}}function _t(e,t){let r=K(e.EASBOT_TEST_HOME);if(r)return r;let s=K(e.EASBOT_HOME);if(s){if(s==="~"||s.startsWith("~/")||s.startsWith("~\\")){let m=K(e.HOME)??K(e.USERPROFILE)??De(t);return m?s.replace(/^~(?=$|[\\/])/,m):void 0}return s}let c=K(e.HOME);if(c)return c;let f=K(e.USERPROFILE);return f||De(t)}function Q(e=process.env,t=le.homedir){let r=_t(e,t);if(r)return r}function Se(e=process.env,t=le.homedir){return Q(e,t)??Filesystem.resolve(process.cwd())}function $e(e,t){if(!e.startsWith("~"))return K(e);let r=process.env.EASBOT_TEST_HOME?.trim();return r||(r=K(t?.home)??Q(t?.env??process.env,t?.homedir??le.homedir)),r?e.replace(/^~(?=$|[\\/])/,r):K(e)}function Ve(e){if(!e)return "";let t=e.trim();if(!t)return t;if(t.startsWith("~")){let r=$e(t,{home:Se(process.env,le.homedir),env:process.env,homedir:le.homedir});return ve.resolve(r)}return ve.resolve(t)}function Ht(e=process.env,t=le.homedir){let r=e.EASBOT_STATE_DIR?.trim();if(r)return Ve(r);let c=Q(e,t)??process.cwd();return ve.join(c,".config","easbot")}function Ke(){return Q(process.env,le.homedir)}function ze(){let e=Ke();return e?process.env.EASBOT_TEST_HOME?.trim()?{home:e,prefix:"~"}:process.env.EASBOT_HOME?.trim()?{home:e,prefix:"$EASBOT_HOME"}:{home:e,prefix:"~"}:void 0}function Ye(e){if(!e)return e;let t=ze();if(!t)return e;let{home:r,prefix:s}=t;return e===r?s:e.startsWith(`${r}/`)||e.startsWith(`${r}\\`)?`${s}${e.slice(r.length)}`:e}function Ue(e){if(!e)return e;let t=ze();return t?e.split(t.home).join(t.prefix):e}function Bt(e){return Ye(e)}function Te(e){return Ue(e)}function Jt(e,t){return e?.force===true?true:e?.force===false?false:!!(t??process.stdout?.isTTY)}function oe(e,t,r,s){let c=re(e??""),f=re(t??"");return Jt(r,s)?`\x1B]8;;${f}\x07${c}\x1B]8;;\x07`:r?.fallback??`${c} (${f})`}function Dt(e,t,r,s,c){let f=t.trim();if(!e)return oe(r??f,f,s,c);let m=/^[a-z]+:\/\//i.test(f)?f:`${e}${f.startsWith("/")?f:`/${f}`}`;return oe(r??m,m,s,c)}function jt(e,t,r){return oe(t??e,e,void 0,r)}function Vt(e,t){let r={ok:true,data:e};t!==void 0&&(r.meta=t),console.log(JSON.stringify(r,null,2));}function Kt(e,t){console.log(JSON.stringify({ok:false,error:{code:e,message:t}},null,2));}var Ce=e=>k()?b.accent(e):e,ye=e=>e&&k()?b.heading(e):e,we=e=>e&&k()?b.muted(e):e;var Yt=/^(https?:\/\/|file:\/\/)/i,Ut=/^[a-zA-Z]:[\\/]/,Gt=/^[a-zA-Z0-9._-]+$/;function Ge(e,t){if(t<=0)return [e];let r=Array.from(e),s=[];for(let c=0;c<r.length;c+=t)s.push(r.slice(c,c+t).join(""));return s.length>0?s:[e]}function qe(e){return e?Yt.test(e)||e.startsWith("/")||e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")||Ut.test(e)||e.startsWith("\\\\")||e.includes("/")||e.includes("\\")?true:e.includes("_")&&Gt.test(e):false}function qt(e,t){if(e.trim().length===0)return [e];if(t<=0)return [e];let r=e.match(/^(\s*)([-*\u2022]\s+)?(.*)$/),s=r?.[1]??"",c=r?.[2]??"",f=r?.[3]??"",m=`${s}${c}`,a=`${s}${c?" ".repeat(c.length):""}`,v=Math.max(10,t-j(m)),$=Math.max(10,t-j(a)),E=f.split(/\s+/).filter(Boolean),O=[],h="",o=m,l=v;for(let T of E){if(!h){if(j(T)>l){if(qe(T)){h=T;continue}let w=Ge(T,l),S=w.shift()??"";O.push(o+S),o=a,l=$;for(let p of w)O.push(o+p);continue}h=T;continue}let n=`${h} ${T}`;if(j(n)<=l){h=n;continue}if(O.push(o+h),o=a,l=$,j(T)>l){if(qe(T)){h=T;continue}let w=Ge(T,l),S=w.shift()??"";O.push(o+S);for(let p of w)O.push(o+p);h="";continue}h=T;}return (h||E.length===0)&&O.push(o+h),O}function Qe(e,t={}){let r=process.stdout?.columns??80,s=t.columns??r,c=t.maxWidth??Math.max(40,Math.min(88,s-10));return e.split(`
2
- `).flatMap(f=>qt(f,c)).join(`
3
- `)}function Qt(e,t,r={}){let s=r.columns??process.stdout?.columns,c=Qe(e,{columns:s,maxWidth:r.maxWidth});note(c,ye(t));}var X=null;function Xt(e,t){try{e.write(t);}catch{}}function Zt(e){e.isTTY&&(X=e);}function Ee(){X?.isTTY&&Xt(X,"\r\x1B[2K");}function en(e){X&&(e&&X!==e||(X=null));}function nn(e){return select({...e,message:Ce(e.message),options:e.options.map(t=>t.hint===void 0?t:{...t,hint:we(t.hint)})})}var rn="\x1B[0m\x1B[?25h\x1B[?1000l\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?2004l";function ue(e,t,r){let s=r?` (${r})`:"",c=`[terminal] restore ${e} failed${s}: ${String(t)}`;try{fe.stderr.write(`${c}
4
- `);}catch(f){console.error(`[terminal] restore reporting failed${s}: ${String(f)}`);}}function on(e,t={}){let r=t.resumeStdinIfPaused??t.resumeStdin??false;try{Ee();}catch(c){ue("progress line",c,e);}let s=fe.stdin;if(s?.isTTY&&typeof s.setRawMode=="function"){try{s.setRawMode(!1);}catch(c){ue("raw mode",c,e);}if(r&&typeof s.isPaused=="function"&&s.isPaused())try{s.resume();}catch(c){ue("stdin resume",c,e);}}if(fe.stdout?.isTTY)try{fe.stdout.write(rn);}catch(c){ue("stdout reset",c,e);}}function cn(e){let t=e?.code;return t==="EPIPE"||t==="EIO"}function an(e={}){let t=false,r=false,s=(a,v)=>{r||(r=true,e.onBrokenPipe?.(a,v));},c=(a,v)=>{if(!cn(a))throw a;return t=true,s(a,v),false},f=(a,v)=>{if(t)return false;try{e.beforeWrite?.();}catch($){return c($,fe.stderr)}try{return a.write(v),!t}catch($){return c($,a)}};return {write:f,writeLine:(a,v)=>f(a,`${v}
5
- `),reset:()=>{t=false,r=false;},isClosed:()=>t}}function Z(e,t){return !Number.isFinite(t)||t<=0?"":e.repeat(t)}function ln(e,t,r){let s=j(e);if(s>=t)return e;let c=t-s;if(r==="right")return `${Z(" ",c)}${e}`;if(r==="center"){let f=Math.floor(c/2),m=c-f;return `${Z(" ",f)}${e}${Z(" ",m)}`}return `${e}${Z(" ",c)}`}function un(e,t){if(!e||e.length===0)return [""];if(!Number.isFinite(t)||t<=0)return [e];let r="\x1B",s=[];for(let i=0;i<e.length;){if(e[i]===r){if(e[i+1]==="["){let g=i+2;for(;g<e.length;){let C=e[g];if(C==="m")break;if(C&&C>="0"&&C<="9"){g+=1;continue}if(C===";"){g+=1;continue}break}if(e[g]==="m"){s.push({kind:"ansi",value:e.slice(i,g+1)}),i=g+1;continue}}if(e[i+1]==="]"&&e.slice(i+2,i+5)==="8;;"){let g=e.indexOf(`${r}\\`,i+5);if(g>=0){s.push({kind:"ansi",value:e.slice(i,g+2)}),i=g+2;continue}}}let u=e.codePointAt(i);if(!u)break;let x=String.fromCodePoint(u);s.push({kind:"char",value:x}),i+=x.length;}let c=s.findIndex(i=>i.kind==="char");if(c<0)return [e];let f=-1;for(let i=s.length-1;i>=0;i-=1){let u=s[i];if(u&&u.kind==="char"){f=i;break}}let m=s.slice(0,c).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),a=s.slice(f+1).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),v=s.slice(c,f+1),$=[],E=i=>i===" "||i===" "||i==="/"||i==="-"||i==="_"||i===".",O=i=>i===" "||i===" ",h=false,o=[],l=0,T=null,n=i=>(i??o).map(u=>u.value).join(""),w=i=>i.reduce((u,x)=>u+(x.kind==="char"?1:0),0),S=i=>{let u=i.replace(/\s+$/,"");u.trim().length!==0&&$.push(u);},p=i=>{if(o.length===0)return;if(i==null||i<=0){S(n()),o.length=0,l=0,T=null;return}let u=o.slice(0,i),x=o.slice(i);for(S(n(u));x.length>0;){let g=x[0];if(g?.kind!=="char"||!O(g.value))break;x.shift();}o.length=0,o.push(...x),l=w(o),T=null;};for(let i of v){if(i.kind==="ansi"){o.push(i);continue}let u=i.value;if(!(h&&(h=false,u===`
6
- `))){if(u===`
7
- `||u==="\r"){p(o.length),u==="\r"&&(h=true);continue}l+1>t&&l>0&&p(T),o.push(i),l+=1,E(u)&&(T=o.length);}}return p(o.length),$.length===0?[""]:!m&&!a?$:$.map(i=>i&&`${m}${i}${a}`)}function fn(e){if(e!=null&&!(!Number.isFinite(e)||e<=0))return Math.floor(e)}function dn(e){let t=e.rows.map(S=>{let p={};for(let[i,u]of Object.entries(S))p[i]=Te(u);return p}),r=e.border??"unicode";if(r==="none"){let S=e.columns;return `${[S.map(u=>u.header).join(" | "),...t.map(u=>S.map(x=>u[x.key]??"").join(" | "))].join(`
1
+ import pe,{Chalk}from'chalk';import me from'os';import we from'path';import {Filesystem}from'@easbot/utils';import*as G from'@clack/prompts';import {note,select}from'@clack/prompts';import*as ge from'readline';import {stripVTControlCharacters}from'util';import {Writable}from'stream';import xe from'process';var Et="\\x1b\\[[0-9;]*m",Rt="\\x1b\\]8;;.*?\\x1b\\\\|\\x1b\\]8;;\\x1b\\\\",It=new RegExp(Et,"g"),Ot=new RegExp(Rt,"g");function ee(e){return e?e.replace(Ot,"").replace(It,""):""}function j(e){return e?Array.from(ee(e)).length:0}var D={accent:"#FF5A2D",accentBright:"#FF7A3D",accentDim:"#D14A22",info:"#FF8A5B",success:"#2FBF71",warn:"#FFB020",error:"#E23D2D",muted:"#8B7F77"};var Pt=typeof process.env.FORCE_COLOR=="string"&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!=="0",Te=process.env.NO_COLOR&&!Pt?new Chalk({level:0}):pe,z=e=>Te.hex(e),u={accent:z(D.accent),accentBright:z(D.accentBright),accentDim:z(D.accentDim),info:z(D.info),success:z(D.success),warn:z(D.warn),error:z(D.error),muted:z(D.muted),heading:Te.bold.hex(D.accent),command:z(D.accentBright),option:z(D.warn)},k=()=>Te.level>0,$=(e,t,o)=>e?t(o):o;var F;(d=>{d.icons={success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2139",accent:"\u25C6",muted:"\u25CB",heading:"\u25C6",active:"\u25C6",submit:"\u25C7",cancel:"\u25A0",locked:"\u2713",pending:"\u25CB",radioActive:"\u25CF",radioInactive:"\u25CB",skipped:"\u21A1",cursor:"\u276F",accentBright:"\u276F"},d.bar={vertical:"\u2502",horizontal:"\u2500",cornerBottom:"\u2514",cornerBottomRight:"\u2518",teeRight:"\u251C",stepActive:"\u25C6",bullet:"\u2022"};function o(l,f){let y=Wt(f);return $(k(),y,l)}d.colorize=o;function s(l){return o(d.icons[l],l)}d.statusIcon=s;function c(l,f){return `${s(l)} ${f}`}d.prefixed=c;})(F||(F={}));function Wt(e){switch(e){case "success":case "locked":case "submit":return u.success;case "error":case "cancel":return u.error;case "warning":return u.warn;case "info":return u.info;case "accent":case "active":case "radioActive":return u.accent;case "muted":case "pending":case "radioInactive":return u.muted;case "skipped":return u.muted;case "heading":return u.heading;case "cursor":case "accentBright":return u.accentBright}}function Ft(e){return F.prefixed("success",e)}function At(e){return F.prefixed("error",e)}function Nt(e){return F.prefixed("warning",e)}function Ht(e){return F.prefixed("info",e)}function _t(e){return $(k(),u.heading,e)}function Bt(e,t,o=15){let s=e.padEnd(o);return `${$(k(),u.muted,s)} ${t}`}function Jt(e,t){let o=k(),s=$(o,u.command,e);if(!t)return ` ${s}`;let c=$(o,u.muted,`# ${t}`);return ` ${s} ${c}`}function Vt(e,t,o){let s=k(),c=F.colorize(e,"info"),d=$(s,u.command,t),l=o?` ${$(s,u.muted,o)}`:"";return `${c} ${d}${l}`}var Dt={pending:"pending",running:"active",success:"success",error:"error",skipped:"skipped"};function Kt(e,t){return F.prefixed(Dt[e],t)}function jt(e=80,t="\u2500"){return $(k(),u.muted,t.repeat(e))}function zt(e){return $(k(),u.muted,e)}function Yt(e,t,o){let s=e===1?t:o||`${t}s`;return `${$(k(),u.accent,String(e))} ${s}`}function Y(e){let t=e?.trim();return t?Filesystem.toUnixPath(t):void 0}function De(e){try{return Y(e())}catch{return}}function Gt(e,t){let o=Y(e.EASBOT_TEST_HOME);if(o)return o;let s=Y(e.EASBOT_HOME);if(s){if(s==="~"||s.startsWith("~/")||s.startsWith("~\\")){let l=Y(e.HOME)??Y(e.USERPROFILE)??De(t);return l?s.replace(/^~(?=$|[\\/])/,l):void 0}return s}let c=Y(e.HOME);if(c)return c;let d=Y(e.USERPROFILE);return d||De(t)}function ne(e=process.env,t=me.homedir){let o=Gt(e,t);if(o)return o}function $e(e=process.env,t=me.homedir){return ne(e,t)??Filesystem.resolve(process.cwd())}function ye(e,t){if(!e.startsWith("~"))return Y(e);let o=process.env.EASBOT_TEST_HOME?.trim();return o||(o=Y(t?.home)??ne(t?.env??process.env,t?.homedir??me.homedir)),o?e.replace(/^~(?=$|[\\/])/,o):Y(e)}function je(e){if(!e)return "";let t=e.trim();if(!t)return t;if(t.startsWith("~")){let o=ye(t,{home:$e(process.env,me.homedir),env:process.env,homedir:me.homedir});return we.resolve(o)}return we.resolve(t)}function Ut(e=process.env,t=me.homedir){let o=e.EASBOT_STATE_DIR?.trim();if(o)return je(o);let c=ne(e,t)??process.cwd();return we.join(c,".config","easbot")}function ze(){return ne(process.env,me.homedir)}function Ye(){let e=ze();return e?process.env.EASBOT_TEST_HOME?.trim()?{home:e,prefix:"~"}:process.env.EASBOT_HOME?.trim()?{home:e,prefix:"$EASBOT_HOME"}:{home:e,prefix:"~"}:void 0}function Ge(e){if(!e)return e;let t=Ye();if(!t)return e;let{home:o,prefix:s}=t;return e===o?s:e.startsWith(`${o}/`)||e.startsWith(`${o}\\`)?`${s}${e.slice(o.length)}`:e}function Ue(e){if(!e)return e;let t=Ye();return t?e.split(t.home).join(t.prefix):e}function qt(e){return Ge(e)}function Ce(e){return Ue(e)}function Qt(e,t){return e?.force===true?true:e?.force===false?false:!!(t??process.stdout?.isTTY)}function ae(e,t,o,s){let c=ee(e??""),d=ee(t??"");return Qt(o,s)?`\x1B]8;;${d}\x07${c}\x1B]8;;\x07`:o?.fallback??`${c} (${d})`}function Xt(e,t,o,s,c){let d=t.trim();if(!e)return ae(o??d,d,s,c);let l=/^[a-z]+:\/\//i.test(d)?d:`${e}${d.startsWith("/")?d:`/${d}`}`;return ae(o??l,l,s,c)}function Zt(e,t,o){return ae(t??e,e,void 0,o)}function qe(e,t,o=true){return t===void 0?{ok:o,data:e}:{ok:o,data:e,meta:t}}function en(e,t){return qe(e,t,false)}function Qe(e,t=2){console.log(JSON.stringify(e,null,t));}function tn(e){Qe(e);}function nn(e,t){let o={ok:true,data:e};t!==void 0&&(o.meta=t),console.log(JSON.stringify(o,null,2));}function rn(e,t){console.log(JSON.stringify({ok:false,error:{code:e,message:t}},null,2));}var ke=e=>k()?u.accent(e):e,Ee=e=>e&&k()?u.heading(e):e,Re=e=>e&&k()?u.muted(e):e;var sn=/^(https?:\/\/|file:\/\/)/i,an=/^[a-zA-Z]:[\\/]/,cn=/^[a-zA-Z0-9._-]+$/;function Xe(e,t){if(t<=0)return [e];let o=Array.from(e),s=[];for(let c=0;c<o.length;c+=t)s.push(o.slice(c,c+t).join(""));return s.length>0?s:[e]}function Ze(e){return e?sn.test(e)||e.startsWith("/")||e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")||an.test(e)||e.startsWith("\\\\")||e.includes("/")||e.includes("\\")?true:e.includes("_")&&cn.test(e):false}function ln(e,t){if(e.trim().length===0)return [e];if(t<=0)return [e];let o=e.match(/^(\s*)([-*\u2022]\s+)?(.*)$/),s=o?.[1]??"",c=o?.[2]??"",d=o?.[3]??"",l=`${s}${c}`,f=`${s}${c?" ".repeat(c.length):""}`,y=Math.max(10,t-j(l)),w=Math.max(10,t-j(f)),E=d.split(/\s+/).filter(Boolean),L=[],S="",a=l,r=y;for(let x of E){if(!S){if(j(x)>r){if(Ze(x)){S=x;continue}let T=Xe(x,r),b=T.shift()??"";L.push(a+b),a=f,r=w;for(let g of T)L.push(a+g);continue}S=x;continue}let n=`${S} ${x}`;if(j(n)<=r){S=n;continue}if(L.push(a+S),a=f,r=w,j(x)>r){if(Ze(x)){S=x;continue}let T=Xe(x,r),b=T.shift()??"";L.push(a+b);for(let g of T)L.push(a+g);S="";continue}S=x;}return (S||E.length===0)&&L.push(a+S),L}function et(e,t={}){let o=process.stdout?.columns??80,s=t.columns??o,c=t.maxWidth??Math.max(40,Math.min(88,s-10));return e.split(`
2
+ `).flatMap(d=>ln(d,c)).join(`
3
+ `)}function ce(e,t,o={}){let s=o.columns??process.stdout?.columns,c=et(e,{columns:s,maxWidth:o.maxWidth});note(c,Ee(t));}function un(e,t={}){if(t.boxed===true){fn(e,t);return}console.log(tt(e,t));}function tt(e,t={}){let o=k(),s=e.length>0,c=s?e:[t.empty??"No results."],d=s?t.title:t.emptyTitle??t.title,l=[];d&&l.push($(o,u.heading,d));for(let f of c)l.push(` ${f}`);if(!t.skipOutro){let f=t.outro!==void 0?t.outro:"Done!";f&&l.push($(o,u.success,f));}return l.join(`
4
+ `)}function fn(e,t){let o=k(),s=e.length>0,c=s?e.join(`
5
+ `):t.empty??"No results.",d=s?t.title:t.emptyTitle??t.title;if(d?ce(c,d):console.log(c),!t.skipOutro){let l=t.outro!==void 0?t.outro:"Done!";l&&console.log($(o,u.success,l));}}function nt(e){let t=k(),o=[];if(o.push($(t,u.heading,e.title)),e.flat&&e.flat.length>0)for(let s of e.flat)o.push(` ${s}`);if(e.groups&&e.groups.length>0)for(let s of e.groups){if(s.key){let c=s.detail?` ${$(t,u.muted,s.detail)}`:"";o.push($(t,u.heading,s.key)+c);}for(let c of s.rows)o.push(` ${c}`);}if(e.footer&&e.footer.length>0)for(let s of e.footer)o.push($(t,u.muted,s));return o.join(`
6
+ `)}function dn(e){console.log(nt(e));}function rt(e,t=5){if(e.length<=t)return e.join(", ");let o=e.slice(0,t).join(", "),s=e.length-t;return `${o} +${s} more`}var mn=rt;var ot=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],it=80,le;(t=>{function e(o={}){let s=[...ot],c=it,d=0,l=null,f=o.message??"Loading...",y=o.spinnerColor??(a=>$(k(),u.accent,a)),w=o.messageColor??(a=>$(k(),u.muted,a)),E=a=>{s=a.frames!==void 0?[...a.frames]:[...ot],c=a.intervalMs!==void 0&&a.intervalMs>0?a.intervalMs:it,d=0;};o.indicator&&E(o.indicator);function L(){S(),!(s.length<=1)&&(l=setInterval(()=>{d=(d+1)%s.length;},c));}function S(){l!==null&&(clearInterval(l),l=null);}return {start:L,stop:S,isRunning(){return l!==null},line(){let a=s[d]??"";return `${(a.length>0?ee(y(a)).length:0)>0?`${y(a)} `:""}${w(f)}`},setMessage(a){f=a;},setIndicator(a){E(a??{}),L();}}}t.create=e;})(le||(le={}));var hn=new Writable({write(e,t,o){o();}}),Q;(S=>{S.cancelSymbol=Symbol("Search.cancel");function t(a){let r=0;for(let x of a){let n=x.codePointAt(0);if(n===void 0||n===0)continue;let T=n>=4352&&n<=4447||n>=8986&&n<=8987||n>=9001&&n<=9002||n>=9193&&n<=9196||n===9200||n===9203||n>=9725&&n<=9726||n>=9748&&n<=9749||n>=9800&&n<=9811||n===9855||n===9875||n===9889||n>=9898&&n<=9899||n>=9917&&n<=9918||n>=9924&&n<=9925||n===9934||n===9940||n===9962||n>=9970&&n<=9971||n===9973||n===9978||n===9981||n===9989||n>=9994&&n<=9995||n===10024||n===10060||n===10062||n>=10067&&n<=10069||n===10071||n>=10133&&n<=10135||n===10160||n===10175||n>=11035&&n<=11036||n===11088||n===11093||n>=11904&&n<=42191&&n!==12351||n>=43360&&n<=43388||n>=44032&&n<=55203||n>=63744&&n<=64255||n>=65040&&n<=65049||n>=65072&&n<=65135||n>=65280&&n<=65376||n>=65504&&n<=65510||n>=126976&&n<=129535;r+=T?2:1;}return r}S.approxStringWidth=t;function o(a,r){let x=stripVTControlCharacters(a),n=Math.max(1,r),T=t(x);return Math.max(1,Math.ceil(T/n))}S.visualRowsForLine=o;function s(a,r){let x=r!==void 0&&r>0?r:process.stdout.columns&&process.stdout.columns>0?process.stdout.columns:80,n=0;for(let T of a)n+=o(T,x);return n}S.countVisualRowsForLines=s;function c(a){let r=new Array(a.length);for(let x=0;x<a.length;x++){let n=a[x],T=n.value===null||n.value===void 0?"":String(n.value);r[x]={...n,searchKey:`${n.label}
7
+ ${T}`.toLowerCase()};}return r}function d(a,r){return r===""||a.searchKey.includes(r)}function l(a,r){return r<=0||a<0?0:a>=r?r-1:a}function f(a){if(a?.length!==1)return false;let r=a.codePointAt(0);return !(r===void 0||r<32||r===127||r===27)}function y(){let a=process.stdout.rows;if(!a||a<=0)return 8;let r=Math.floor((a-8)/2);return Math.max(5,Math.min(15,r))}function w(a,r){try{a.write(r);}catch{}}function E(a){if(a&&a.isTTY&&typeof a.setRawMode=="function")try{a.setRawMode(!1);}catch{}}function L(a){let r=a.message,x=c(a.items),n=Math.max(1,a.maxVisible??y()),T=a.initialSelected??[],b=a.required??false,g=a.lockedSection,i=a.isTTY;i??!!process.stdout?.isTTY;return new Promise(m=>{let p=process.stdin,C=process.stdout,B=ge.createInterface({input:p,output:hn,terminal:false});try{(i===!0||i===void 0&&p.isTTY)&&p.setRawMode?.(!0);}catch{}ge.emitKeypressEvents(p,B);let P="",W="",I=0,M=new Set(T),J=0,K=false,X=g?g.items.map(R=>R.value):[],at=g?g.items.map(R=>R.label):[],ue=[],Me=()=>{if(ue.length=0,W==="")for(let R=0;R<x.length;R++){let v=x[R];ue.push(v);}else for(let R=0;R<x.length;R++){let v=x[R];d(v,W)&&ue.push(v);}return ue},ct=()=>{if(J>0){w(C,`\x1B[${J}A`);for(let R=0;R<J;R++)w(C,"\x1B[2K\x1B[1B");w(C,`\x1B[${J}A`);}},Pe=()=>{let R=at.slice();for(let v=0;v<x.length;v++){let H=x[v];M.has(H.value)&&R.push(H.label);}return R},V=(R="active")=>{ct();let v=[],H=Me(),U=i===false?false:i===true?true:k(),_e=_=>$(U,u.error,_),de=_=>$(U,u.success,_),O=_=>$(U,u.muted,_),be=_=>$(U,u.heading,_),pt=_=>$(U,pe.bold,_),gt=_=>$(U,pe.underline,_),ht=_=>$(U,pe.inverse,_),xt=_=>$(U,pe.strikethrough,_),bt=O(F.bar.vertical);F.bar.horizontal;de(F.bar.bullet);let Be=R==="active"||R==="error"?F.icons.active:R==="cancel"?F.icons.cancel:F.icons.submit,vt=R==="cancel"||R==="error"?_e(Be):de(Be);if(v.push(`${vt} ${pt(r)}`),R==="active"||R==="error"){if(g&&g.items.length>0){v.push(bt);let Z=`${be(g.title)} ${O("\u2500\u2500 always included")}`;v.push(`${O("\u2502")} ${O("\u2500\u2500")} ${Z} ${O("\u2500".repeat(12))}`);for(let ie of g.items)v.push(`${O("\u2502")} ${de("\u2022")} ${be(ie.label)}`);g.hiddenCount&&g.hiddenCount>0&&v.push(`${O("\u2502")} ${O(`...and ${g.hiddenCount} more`)}`),v.push(O("\u2502")),v.push(`${O("\u2502")} ${O("\u2500\u2500")} ${be("Additional agents")} ${O("\u2500".repeat(29))}`);}let _=`${O("\u2502")} ${O("Search:")} ${P}${ht(" ")}`;v.push(_),v.push(`${O("\u2502")} ${O("\u2191\u2193 move \xB7 space select \xB7 enter confirm")}`),v.push(O("\u2502"));let Tt=Math.max(0,H.length-n),St=I-Math.floor(n/2),ve=Math.max(0,Math.min(St,Tt)),Je=Math.min(H.length,ve+n);if(H.length===0)v.push(`${O("\u2502")} ${O("No matches found")}`);else {for(let q=ve;q<Je;q++){let se=H[q],$t=M.has(se.value),Ve=q===I,yt=$t?F.statusIcon("radioActive"):F.colorize(F.icons.radioInactive,"radioInactive"),wt=Ve?gt(se.label):se.label,Ct=se.hint?O(` (${se.hint})`):"",kt=Ve?F.colorize(F.icons.cursor,"cursor"):" ";v.push(`${O("\u2502")} ${kt} ${yt} ${wt}${Ct}`);}let Z=ve,ie=H.length-Je;if(Z>0||ie>0){let q=[];Z>0&&q.push(`\u2191 ${Z} more`),ie>0&&q.push(`\u2193 ${ie} more`),v.push(`${O("\u2502")} ${O(q.join(" "))}`);}}v.push(O("\u2502"));let oe=Pe();if(oe.length===0)v.push(`${O("\u2502")} ${O("Selected: (none)")}`);else {let Z=oe.length<=3?oe.join(", "):`${oe.slice(0,3).join(", ")} +${oe.length-3} more`;v.push(`${O("\u2502")} ${de("Selected:")} ${Z}`);}R==="error"&&v.push(`${O("\u2502")} ${_e("\u26A0 Please select at least one item before submitting")}`),v.push(`${O("\u2514")}`);}else if(R==="submit"){let _=Pe();v.push(`${O("\u2502")} ${O(_.join(", "))}`);}else v.push(`${O("\u2502")} ${xt(O("Cancelled"))}`);w(C,`${v.join(`
8
8
  `)}
9
- `}let s=Math.max(0,e.padding??1),c=e.columns,f=c.map(S=>{let p=j(S.header),i=Math.max(0,...t.map(u=>j(u[S.key]??"")));return {headerW:p,cellW:i}}),m=c.map((S,p)=>{let i=f[p];if(!i)throw new Error(`Internal error: metrics[${p}] is undefined`);let u=Math.max(i.headerW,i.cellW)+s*2,x=S.maxWidth?Math.min(u,S.maxWidth):u;return Math.max(S.minWidth??3,x)}),a=fn(e.width),v=c.length+1,$=m.reduce((S,p)=>S+p,0)+v,E=c.map((S,p)=>{let i=f[p];if(!i)throw new Error(`Internal error: metrics[${p}] is undefined`);return Math.max(S.minWidth??3,i.headerW+s*2,3)}),O=c.map((S,p)=>{let i=f[p];if(!i)throw new Error(`Internal error: metrics[${p}] is undefined`);return Math.max(i.headerW+s*2,3)});if(a&&$>a){let S=$-a,p=c.map((x,g)=>{let C=m[g];if(C===void 0)throw new Error(`Internal error: widths[${g}] is undefined`);return {i:g,w:C}}).filter(({i:x})=>!!c[x]?.flex).toSorted((x,g)=>g.w-x.w).map(x=>x.i),i=c.map((x,g)=>{let C=m[g];if(C===void 0)throw new Error(`Internal error: widths[${g}] is undefined`);return {i:g,w:C}}).filter(({i:x})=>!c[x]?.flex).toSorted((x,g)=>g.w-x.w).map(x=>x.i),u=(x,g)=>{for(;S>0;){let C=false;for(let _ of x){let F=m[_],H=g[_];if(!(F===void 0||H===void 0)&&!(F<=H)&&(m[_]=F-1,S-=1,C=true,S<=0))break}if(!C)break}};u(p,E),u(p,O),u(i,E),u(i,O);}if(a){let S=c.length+1,p=m.reduce((u,x)=>u+x,0)+S,i=a-p;if(i>0){let u=c.map((x,g)=>({c:x,i:g})).filter(({c:x})=>!!x.flex).map(({i:x})=>x);if(u.length>0){let x=c.map(g=>typeof g.maxWidth=="number"&&g.maxWidth>0?Math.floor(g.maxWidth):Number.POSITIVE_INFINITY);for(;i>0;){let g=false;for(let C of u){let _=m[C],F=x[C];if(!(_===void 0||F===void 0)&&!(_>=F)&&(m[C]=_+1,i-=1,g=true,i<=0))break}if(!g)break}}}}let h=r==="ascii"?{tl:"+",tr:"+",bl:"+",br:"+",h:"-",v:"|",t:"+",ml:"+",m:"+",mr:"+",b:"+"}:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",t:"\u252C",ml:"\u251C",m:"\u253C",mr:"\u2524",b:"\u2534"},o=(S,p,i)=>`${S}${m.map(u=>{if(u===void 0)throw new Error("Internal error: width is undefined");return Z(h.h,u)}).join(p)}${i}`,l=S=>{let p=m[S];if(p===void 0)throw new Error(`Internal error: widths[${S}] is undefined`);return Math.max(1,p-s*2)},T=Z(" ",s),n=(S,p=false)=>{let u=c.map(C=>p?C.header:S[C.key]??"").map((C,_)=>un(C,l(_))),x=Math.max(...u.map(C=>C.length)),g=[];for(let C=0;C<x;C+=1){let _=u.map((F,H)=>{let W=F[C]??"",D=c[H];if(!D)throw new Error(`Internal error: columns[${H}] is undefined`);let M=ln(W,l(H),D.align??"left");return `${T}${M}${T}`});g.push(`${h.v}${_.join(h.v)}${h.v}`);}return g},w=[];w.push(o(h.tl,h.t,h.tr)),w.push(...n({},true)),w.push(o(h.ml,h.m,h.mr));for(let S of t)w.push(...n(S,false));return w.push(o(h.bl,h.b,h.br)),`${w.join(`
9
+ `);try{J=s(v,C.columns);}catch{J=v.length;}},We=false,lt=()=>{if(!We){We=true;try{p.removeListener("keypress",He),p.removeListener("end",Ne);}catch{}try{process.removeListener("SIGINT",fe),process.removeListener("SIGTERM",fe);}catch{}E(p);try{B.close();}catch{}}},Fe=R=>{K||(K=true,lt(),m(R));},ut=()=>{if(b&&M.size===0&&X.length===0){V("error");return}V("submit"),Fe([...X,...Array.from(M)]);},Ae=()=>{V("cancel"),Fe(S.cancelSymbol);},Ne=()=>{Ae();},fe=()=>{E(p);},ft=R=>{let v=R[I];v&&(M.has(v.value)?M.delete(v.value):M.add(v.value));},dt=R=>{P+=R,W+=R.toLowerCase();},mt=()=>{P.length!==0&&(P=P.slice(0,-1),W=W.slice(0,-1));},He=(R,v)=>{if(!v)return;let H=Me();if(I=l(I,H.length),v.name==="return"){ut();return}if(v.name==="escape"||v.ctrl&&v.name==="c"){Ae();return}if(v.name==="up"||v.name==="left"){H.length>0&&(I=l(I-1,H.length),V());return}if(v.name==="down"||v.name==="right"){H.length>0&&(I=l(I+1,H.length),V());return}if(v.name==="pageup"){H.length>0&&(I=l(I-n,H.length),V());return}if(v.name==="pagedown"){H.length>0&&(I=l(I+n,H.length),V());return}if(v.name==="home"){H.length>0&&(I=0,V());return}if(v.name==="end"){H.length>0&&(I=H.length-1,V());return}if(v.name==="space"){ft(H),V();return}if(v.name==="backspace"){P.length>0&&(mt(),I=0,V());return}!v.ctrl&&!v.meta&&f(v.sequence)&&(dt(v.sequence),I=0,V());};p.on("keypress",He),p.once("end",Ne),process.on("SIGINT",fe),process.on("SIGTERM",fe),V();})}S.multiselect=L;})(Q||(Q={}));var Ie;(a=>{a.cancelSymbol=Q.cancelSymbol;function t(r){return r===a.cancelSymbol||typeof r=="symbol"}a.isCancel=t;async function o(r){return await G.select({message:r.message,options:r.options,...r.initialValue!==void 0?{initialValue:r.initialValue}:{}})}a.select=o;async function s(r){return await G.groupMultiselect({message:r.message,options:r.options,...r.initialValues!==void 0?{initialValues:r.initialValues}:{},...r.required!==void 0?{required:r.required}:{}})}a.groupMultiselect=s;async function c(r){return await G.text({message:r.message,...r.placeholder!==void 0?{placeholder:r.placeholder}:{},...r.defaultValue!==void 0?{defaultValue:r.defaultValue}:{},...r.validate!==void 0?{validate:r.validate}:{}})}a.text=c;async function d(r){return await G.password({message:r.message,...r.mask!==void 0?{mask:r.mask}:{}})}a.password=d;async function l(r){return await G.confirm({message:r.message,...r.initialValue!==void 0?{initialValue:r.initialValue}:{}})}a.confirm=l;async function f(r){if(r.withGuide===true){let n=r.guideLines??["Use \u2191 / \u2193 to navigate","Press Space to toggle selection","Press a to toggle all","Press i to invert selection","Press Enter to submit"];ce(n.join(`
10
+ `),"\u64CD\u4F5C\u63D0\u793A");}return await Q.multiselect({message:r.message,items:r.options,...r.initialValues!==void 0?{initialSelected:r.initialValues}:{},...r.required!==void 0?{required:r.required}:{},...r.lockedSection!==void 0?{lockedSection:r.lockedSection}:{},...r.maxVisible!==void 0?{maxVisible:r.maxVisible}:{},...r.isTTY!==void 0?{isTTY:r.isTTY}:{}})}a.multiselect=f;function y(r){let x=k(),n=$(x,u.heading,r),T=$(x,u.muted,"\u2500".repeat(Math.max(8,r.length*2)));process.stdout.write(`${n}
11
+ ${T}
12
+ `);}a.intro=y;function w(r,x){let n=k(),T=x?.success!==false,b=r??"Done!",g=T?u.success:u.error,i=$(n,g,b),h=$(n,u.muted,"\u2500".repeat(Math.max(8,b.length*2)));process.stdout.write(`${i}
13
+ ${h}
14
+ `);}a.outro=w;function E(r){let x=k(),n=r??"Cancelled.",T=`${F.statusIcon("cancel")} ${n}`,b=$(x,u.muted,"\u2500".repeat(Math.max(8,n.length*2)));process.stdout.write(`${T}
15
+ ${b}
16
+ `),process.exit(0);}a.cancel=E;(h=>{function r(m,p){i("info",m,p);}h.info=r;function x(m,p){i("warning",m,p);}h.warn=x;function n(m,p){i("error",m,p);}h.error=n;function T(m){i("success",m);}h.success=T;function b(m){let p=`${F.statusIcon("active")} ${m}`;process.stdout.write(`${p}
17
+ `);}h.step=b;function g(m){process.stdout.write(`${m}
18
+ `);}h.message=g;function i(m,p,C){let B=k(),P=`${F.statusIcon(m)} ${p}`;if(C){let W=$(B,u.muted,C);process.stdout.write(`${P}
19
+ ${W}
20
+ `);}else process.stdout.write(`${P}
21
+ `);}})(a.Log||(a.Log={}));function S(r){let x=r?.color??(i=>$(k(),u.accent,i)),n=i=>$(k(),u.muted,i),T=le.create({...r?.frames!==void 0?{message:""}:{},spinnerColor:x,messageColor:n,indicator:{frames:r?.frames??[],intervalMs:80}}),b=null,g=false;return {start(i){i!==void 0&&T.setMessage(i),!g&&(g=true,T.start(),b=setInterval(()=>{process.stdout.write(`\r${T.line()}\x1B[K`);},80));},stop(i){b!==null&&(clearInterval(b),b=null),i!==void 0&&T.setMessage(i),T.stop(),process.stdout.write(`\r${T.line()}\x1B[K
22
+ `),g=false;},update(i){T.setMessage(i);},line(){return T.line()}}}a.spinner=S;})(Ie||(Ie={}));var re=null;function xn(e,t){try{e.write(t);}catch{}}function bn(e){e.isTTY&&(re=e);}function Oe(){re?.isTTY&&xn(re,"\r\x1B[2K");}function vn(e){re&&(e&&re!==e||(re=null));}function Sn(e){return select({...e,message:ke(e.message),options:e.options.map(t=>t.hint===void 0?t:{...t,hint:Re(t.hint)})})}var $n="\x1B[0m\x1B[?25h\x1B[?1000l\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?2004l";function he(e,t,o){let s=o?` (${o})`:"",c=`[terminal] restore ${e} failed${s}: ${String(t)}`;try{xe.stderr.write(`${c}
23
+ `);}catch(d){console.error(`[terminal] restore reporting failed${s}: ${String(d)}`);}}function yn(e,t={}){let o=t.resumeStdinIfPaused??t.resumeStdin??false;try{Oe();}catch(c){he("progress line",c,e);}let s=xe.stdin;if(s?.isTTY&&typeof s.setRawMode=="function"){try{s.setRawMode(!1);}catch(c){he("raw mode",c,e);}if(o&&typeof s.isPaused=="function"&&s.isPaused())try{s.resume();}catch(c){he("stdin resume",c,e);}}if(xe.stdout?.isTTY)try{xe.stdout.write($n);}catch(c){he("stdout reset",c,e);}}function Cn(e){let t=e?.code;return t==="EPIPE"||t==="EIO"}function kn(e={}){let t=false,o=false,s=(f,y)=>{o||(o=true,e.onBrokenPipe?.(f,y));},c=(f,y)=>{if(!Cn(f))throw f;return t=true,s(f,y),false},d=(f,y)=>{if(t)return false;try{e.beforeWrite?.();}catch(w){return c(w,xe.stderr)}try{return f.write(y),!t}catch(w){return c(w,f)}};return {write:d,writeLine:(f,y)=>d(f,`${y}
24
+ `),reset:()=>{t=false,o=false;},isClosed:()=>t}}function te(e,t){return !Number.isFinite(t)||t<=0?"":e.repeat(t)}function En(e,t,o){let s=j(e);if(s>=t)return e;let c=t-s;if(o==="right")return `${te(" ",c)}${e}`;if(o==="center"){let d=Math.floor(c/2),l=c-d;return `${te(" ",d)}${e}${te(" ",l)}`}return `${e}${te(" ",c)}`}function Rn(e,t){if(!e||e.length===0)return [""];if(!Number.isFinite(t)||t<=0)return [e];let o="\x1B",s=[];for(let i=0;i<e.length;){if(e[i]===o){if(e[i+1]==="["){let p=i+2;for(;p<e.length;){let C=e[p];if(C==="m")break;if(C&&C>="0"&&C<="9"){p+=1;continue}if(C===";"){p+=1;continue}break}if(e[p]==="m"){s.push({kind:"ansi",value:e.slice(i,p+1)}),i=p+1;continue}}if(e[i+1]==="]"&&e.slice(i+2,i+5)==="8;;"){let p=e.indexOf(`${o}\\`,i+5);if(p>=0){s.push({kind:"ansi",value:e.slice(i,p+2)}),i=p+2;continue}}}let h=e.codePointAt(i);if(!h)break;let m=String.fromCodePoint(h);s.push({kind:"char",value:m}),i+=m.length;}let c=s.findIndex(i=>i.kind==="char");if(c<0)return [e];let d=-1;for(let i=s.length-1;i>=0;i-=1){let h=s[i];if(h&&h.kind==="char"){d=i;break}}let l=s.slice(0,c).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),f=s.slice(d+1).filter(i=>i.kind==="ansi").map(i=>i.value).join(""),y=s.slice(c,d+1),w=[],E=i=>i===" "||i===" "||i==="/"||i==="-"||i==="_"||i===".",L=i=>i===" "||i===" ",S=false,a=[],r=0,x=null,n=i=>(i??a).map(h=>h.value).join(""),T=i=>i.reduce((h,m)=>h+(m.kind==="char"?1:0),0),b=i=>{let h=i.replace(/\s+$/,"");h.trim().length!==0&&w.push(h);},g=i=>{if(a.length===0)return;if(i==null||i<=0){b(n()),a.length=0,r=0,x=null;return}let h=a.slice(0,i),m=a.slice(i);for(b(n(h));m.length>0;){let p=m[0];if(p?.kind!=="char"||!L(p.value))break;m.shift();}a.length=0,a.push(...m),r=T(a),x=null;};for(let i of y){if(i.kind==="ansi"){a.push(i);continue}let h=i.value;if(!(S&&(S=false,h===`
25
+ `))){if(h===`
26
+ `||h==="\r"){g(a.length),h==="\r"&&(S=true);continue}r+1>t&&r>0&&g(x),a.push(i),r+=1,E(h)&&(x=a.length);}}return g(a.length),w.length===0?[""]:!l&&!f?w:w.map(i=>i&&`${l}${i}${f}`)}function In(e){if(e!=null&&!(!Number.isFinite(e)||e<=0))return Math.floor(e)}function On(e){let t=e.rows.map(b=>{let g={};for(let[i,h]of Object.entries(b))g[i]=Ce(h);return g}),o=e.border??"unicode";if(o==="none"){let b=e.columns;return `${[b.map(h=>h.header).join(" | "),...t.map(h=>b.map(m=>h[m.key]??"").join(" | "))].join(`
10
27
  `)}
11
- `}var mn=[{prefix:"failed",color:b.error},{prefix:"ok",color:b.success},{prefix:"linked",color:b.success},{prefix:"configured",color:b.success},{prefix:"not linked",color:b.warn},{prefix:"not configured",color:b.muted},{prefix:"unknown",color:b.warn}];function pn(e,t){if(!t)return e;let r=e.indexOf(":");if(r===-1)return e;let s=e.slice(0,r+1),c=e.slice(r+1).trimStart(),f=c.toLowerCase();for(let{prefix:m,color:a}of mn)if(f.startsWith(m))return `${s} ${a(c.slice(0,m.length))}${c.slice(m.length)}`;return e}var xn=new Writable({write(e,t,r){r();}}),ie;(h=>{h.cancelSymbol=Symbol("Search.cancel");function t(o){let l=0;for(let T of o){let n=T.codePointAt(0);if(n===void 0||n===0)continue;let w=n>=4352&&n<=4447||n>=8986&&n<=8987||n>=9001&&n<=9002||n>=9193&&n<=9196||n===9200||n===9203||n>=9725&&n<=9726||n>=9748&&n<=9749||n>=9800&&n<=9811||n===9855||n===9875||n===9889||n>=9898&&n<=9899||n>=9917&&n<=9918||n>=9924&&n<=9925||n===9934||n===9940||n===9962||n>=9970&&n<=9971||n===9973||n===9978||n===9981||n===9989||n>=9994&&n<=9995||n===10024||n===10060||n===10062||n>=10067&&n<=10069||n===10071||n>=10133&&n<=10135||n===10160||n===10175||n>=11035&&n<=11036||n===11088||n===11093||n>=11904&&n<=42191&&n!==12351||n>=43360&&n<=43388||n>=44032&&n<=55203||n>=63744&&n<=64255||n>=65040&&n<=65049||n>=65072&&n<=65135||n>=65280&&n<=65376||n>=65504&&n<=65510||n>=126976&&n<=129535;l+=w?2:1;}return l}h.approxStringWidth=t;function r(o,l){let T=stripVTControlCharacters(o),n=Math.max(1,l),w=t(T);return Math.max(1,Math.ceil(w/n))}h.visualRowsForLine=r;function s(o,l){let T=l!==void 0&&l>0?l:process.stdout.columns&&process.stdout.columns>0?process.stdout.columns:80,n=0;for(let w of o)n+=r(w,T);return n}h.countVisualRowsForLines=s;function c(o){let l=new Array(o.length);for(let T=0;T<o.length;T++){let n=o[T],w=n.value===null||n.value===void 0?"":String(n.value);l[T]={...n,searchKey:`${n.label}
12
- ${w}`.toLowerCase()};}return l}function f(o,l){return l===""||o.searchKey.includes(l)}function m(o,l){return l<=0||o<0?0:o>=l?l-1:o}function a(o){if(o?.length!==1)return false;let l=o.codePointAt(0);return !(l===void 0||l<32||l===127||l===27)}function v(){let o=process.stdout.rows;if(!o||o<=0)return 8;let l=Math.floor((o-8)/2);return Math.max(5,Math.min(15,l))}function $(o,l){try{o.write(l);}catch{}}function E(o){if(o&&o.isTTY&&typeof o.setRawMode=="function")try{o.setRawMode(!1);}catch{}}function O(o){let l=o.message,T=c(o.items),n=Math.max(1,o.maxVisible??v()),w=o.initialSelected??[],S=o.required??false,p=o.lockedSection,i=o.isTTY;i??!!process.stdout?.isTTY;return new Promise(x=>{let g=process.stdin,C=process.stdout,_=me.createInterface({input:g,output:xn,terminal:false});try{(i===!0||i===void 0&&g.isTTY)&&g.setRawMode?.(!0);}catch{}me.emitKeypressEvents(g,_);let F="",H="",W=0,D=new Set(w),M=0,G=false,Y=p?p.items.map(R=>R.value):[],pe=p?p.items.map(R=>R.label):[],se=[],We=()=>{if(se.length=0,H==="")for(let R=0;R<T.length;R++){let d=T[R];se.push(d);}else for(let R=0;R<T.length;R++){let d=T[R];f(d,H)&&se.push(d);}return se},Ze=()=>{if(M>0){$(C,`\x1B[${M}A`);for(let R=0;R<M;R++)$(C,"\x1B[2K\x1B[1B");$(C,`\x1B[${M}A`);}},Le=()=>{let R=pe.slice();for(let d=0;d<T.length;d++){let L=T[d];D.has(L.value)&&R.push(L.label);}return R},B=(R="active")=>{Ze();let d=[],L=We(),z=i===false?false:i===true?true:k(),_e=P=>y(z,b.error,P),ae=P=>y(z,b.success,P),I=P=>y(z,b.muted,P),ge=P=>y(z,b.heading,P),it=P=>y(z,b.accentBright,P),st=P=>y(z,de.bold,P),ct=P=>y(z,de.underline,P),at=P=>y(z,de.inverse,P),lt=P=>y(z,de.strikethrough,P),He=R==="active"||R==="error"?"\u25C6":R==="cancel"?"\u25A0":"\u25C7",ut=R==="cancel"||R==="error"?_e(He):ae(He);if(d.push(`${ut} ${st(l)}`),R==="active"||R==="error"){if(p&&p.items.length>0){d.push(I("\u2502"));let q=`${ge(p.title)} ${I("\u2500\u2500 always included")}`;d.push(`${I("\u2502")} ${I("\u2500\u2500")} ${q} ${I("\u2500".repeat(12))}`);for(let te of p.items)d.push(`${I("\u2502")} ${ae("\u2022")} ${ge(te.label)}`);p.hiddenCount&&p.hiddenCount>0&&d.push(`${I("\u2502")} ${I(`...and ${p.hiddenCount} more`)}`),d.push(I("\u2502")),d.push(`${I("\u2502")} ${I("\u2500\u2500")} ${ge("Additional agents")} ${I("\u2500".repeat(29))}`);}let P=`${I("\u2502")} ${I("Search:")} ${F}${at(" ")}`;d.push(P),d.push(`${I("\u2502")} ${I("\u2191\u2193 move \xB7 space select \xB7 enter confirm")}`),d.push(I("\u2502"));let ft=Math.max(0,L.length-n),dt=W-Math.floor(n/2),he=Math.max(0,Math.min(dt,ft)),Be=Math.min(L.length,he+n);if(L.length===0)d.push(`${I("\u2502")} ${I("No matches found")}`);else {for(let U=he;U<Be;U++){let ne=L[U],mt=D.has(ne.value),Je=U===W,pt=mt?ae("\u25CF"):I("\u25CB"),gt=Je?ct(ne.label):ne.label,ht=ne.hint?I(` (${ne.hint})`):"",xt=Je?it("\u276F"):" ";d.push(`${I("\u2502")} ${xt} ${pt} ${gt}${ht}`);}let q=he,te=L.length-Be;if(q>0||te>0){let U=[];q>0&&U.push(`\u2191 ${q} more`),te>0&&U.push(`\u2193 ${te} more`),d.push(`${I("\u2502")} ${I(U.join(" "))}`);}}d.push(I("\u2502"));let ee=Le();if(ee.length===0)d.push(`${I("\u2502")} ${I("Selected: (none)")}`);else {let q=ee.length<=3?ee.join(", "):`${ee.slice(0,3).join(", ")} +${ee.length-3} more`;d.push(`${I("\u2502")} ${ae("Selected:")} ${q}`);}R==="error"&&d.push(`${I("\u2502")} ${_e("\u26A0 Please select at least one item before submitting")}`),d.push(`${I("\u2514")}`);}else if(R==="submit"){let P=Le();d.push(`${I("\u2502")} ${I(P.join(", "))}`);}else d.push(`${I("\u2502")} ${lt(I("Cancelled"))}`);$(C,`${d.join(`
28
+ `}let s=Math.max(0,e.padding??1),c=e.columns,d=c.map(b=>{let g=j(b.header),i=Math.max(0,...t.map(h=>j(h[b.key]??"")));return {headerW:g,cellW:i}}),l=c.map((b,g)=>{let i=d[g];if(!i)throw new Error(`Internal error: metrics[${g}] is undefined`);let h=Math.max(i.headerW,i.cellW)+s*2,m=b.maxWidth?Math.min(h,b.maxWidth):h;return Math.max(b.minWidth??3,m)}),f=In(e.width),y=c.length+1,w=l.reduce((b,g)=>b+g,0)+y,E=c.map((b,g)=>{let i=d[g];if(!i)throw new Error(`Internal error: metrics[${g}] is undefined`);return Math.max(b.minWidth??3,i.headerW+s*2,3)}),L=c.map((b,g)=>{let i=d[g];if(!i)throw new Error(`Internal error: metrics[${g}] is undefined`);return Math.max(i.headerW+s*2,3)});if(f&&w>f){let b=w-f,g=c.map((m,p)=>{let C=l[p];if(C===void 0)throw new Error(`Internal error: widths[${p}] is undefined`);return {i:p,w:C}}).filter(({i:m})=>!!c[m]?.flex).toSorted((m,p)=>p.w-m.w).map(m=>m.i),i=c.map((m,p)=>{let C=l[p];if(C===void 0)throw new Error(`Internal error: widths[${p}] is undefined`);return {i:p,w:C}}).filter(({i:m})=>!c[m]?.flex).toSorted((m,p)=>p.w-m.w).map(m=>m.i),h=(m,p)=>{let C=[],B=0;for(let W of m){let I=l[W],M=p[W];if(I===void 0||M===void 0)continue;let J=I-M;J<=0||(C.push({i:W,free:J}),B+=J);}if(C.length===0)return;let P=b;for(let{i:W,free:I}of C){if(P<=0)break;let M=l[W],J=p[W];if(M===void 0||J===void 0)continue;let K=Math.min(I,Math.floor(I*P/B)),X=Math.min(K,P);l[W]=M-X,P-=X;}for(let{i:W}of C){if(P<=0)break;let I=l[W],M=p[W];I===void 0||M===void 0||I<=M||(l[W]=I-1,P-=1);}b=P;};h(g,E),h(g,L),h(i,E),h(i,L);}if(f){let b=c.length+1,g=l.reduce((h,m)=>h+m,0)+b,i=f-g;if(i>0){let h=c.map((m,p)=>({c:m,i:p})).filter(({c:m})=>!!m.flex).map(({i:m})=>m);if(h.length>0){let m=c.map(p=>typeof p.maxWidth=="number"&&p.maxWidth>0?Math.floor(p.maxWidth):Number.POSITIVE_INFINITY);for(;i>0;){let p=false;for(let C of h){let B=l[C],P=m[C];if(!(B===void 0||P===void 0)&&!(B>=P)&&(l[C]=B+1,i-=1,p=true,i<=0))break}if(!p)break}}}}let S=o==="ascii"?{tl:"+",tr:"+",bl:"+",br:"+",h:"-",v:"|",t:"+",ml:"+",m:"+",mr:"+",b:"+"}:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",t:"\u252C",ml:"\u251C",m:"\u253C",mr:"\u2524",b:"\u2534"},a=(b,g,i)=>`${b}${l.map(h=>{if(h===void 0)throw new Error("Internal error: width is undefined");return te(S.h,h)}).join(g)}${i}`,r=b=>{let g=l[b];if(g===void 0)throw new Error(`Internal error: widths[${b}] is undefined`);return Math.max(1,g-s*2)},x=te(" ",s),n=(b,g=false)=>{let h=c.map(C=>g?C.header:b[C.key]??"").map((C,B)=>Rn(C,r(B))),m=Math.max(...h.map(C=>C.length)),p=[];for(let C=0;C<m;C+=1){let B=h.map((P,W)=>{let I=P[C],M=c[W];if(!M)throw new Error(`Internal error: columns[${W}] is undefined`);let J=r(W);if(I===void 0)return `${x}${te(" ",J)}${x}`;let K=En(I,J,M.align??"left");return `${x}${K}${x}`});p.push(`${S.v}${B.join(S.v)}${S.v}`);}return p},T=[];T.push(a(S.tl,S.t,S.tr)),T.push(...n({},true)),T.push(a(S.ml,S.m,S.mr));for(let b of t)T.push(...n(b,false));return T.push(a(S.bl,S.b,S.br)),`${T.join(`
13
29
  `)}
14
- `);try{M=s(d,C.columns);}catch{M=d.length;}},Me=false,et=()=>{if(!Me){Me=true;try{g.removeListener("keypress",Ae),g.removeListener("end",Ne);}catch{}try{process.removeListener("SIGINT",ce),process.removeListener("SIGTERM",ce);}catch{}E(g);try{_.close();}catch{}}},Pe=R=>{G||(G=true,et(),x(R));},tt=()=>{if(S&&D.size===0&&Y.length===0){B("error");return}B("submit"),Pe([...Y,...Array.from(D)]);},Fe=()=>{B("cancel"),Pe(h.cancelSymbol);},Ne=()=>{Fe();},ce=()=>{E(g);},nt=R=>{let d=R[W];d&&(D.has(d.value)?D.delete(d.value):D.add(d.value));},rt=R=>{F+=R,H+=R.toLowerCase();},ot=()=>{F.length!==0&&(F=F.slice(0,-1),H=H.slice(0,-1));},Ae=(R,d)=>{if(!d)return;let L=We();if(W=m(W,L.length),d.name==="return"){tt();return}if(d.name==="escape"||d.ctrl&&d.name==="c"){Fe();return}if(d.name==="up"||d.name==="left"){L.length>0&&(W=m(W-1,L.length),B());return}if(d.name==="down"||d.name==="right"){L.length>0&&(W=m(W+1,L.length),B());return}if(d.name==="pageup"){L.length>0&&(W=m(W-n,L.length),B());return}if(d.name==="pagedown"){L.length>0&&(W=m(W+n,L.length),B());return}if(d.name==="home"){L.length>0&&(W=0,B());return}if(d.name==="end"){L.length>0&&(W=L.length-1,B());return}if(d.name==="space"){nt(L),B();return}if(d.name==="backspace"){F.length>0&&(ot(),W=0,B());return}!d.ctrl&&!d.meta&&a(d.sequence)&&(rt(d.sequence),W=0,B());};g.on("keypress",Ae),g.once("end",Ne),process.on("SIGINT",ce),process.on("SIGTERM",ce),B();})}h.multiselect=O;})(ie||(ie={}));var Re=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Ie=80,ke;(t=>{function e(r={}){let s=[...Re],c=Ie,f=0,m=null,a=r.message??"Loading...",v=r.spinnerColor??(o=>y(k(),b.accent,o)),$=r.messageColor??(o=>y(k(),b.muted,o)),E=o=>{s=o.frames!==void 0?[...o.frames]:[...Re],c=o.intervalMs!==void 0&&o.intervalMs>0?o.intervalMs:Ie,f=0;};r.indicator&&E(r.indicator);function O(){h(),!(s.length<=1)&&(m=setInterval(()=>{f=(f+1)%s.length;},c));}function h(){m!==null&&(clearInterval(m),m=null);}return {start:O,stop:h,isRunning(){return m!==null},line(){let o=s[f]??"";return `${o.length>0?`${v(o)} `:""}${$(a)}`},setMessage(o){a=o;},setIndicator(o){o?E(o):(s=[...Re],c=Ie,f=0),O();}}}t.create=e;})(ke||(ke={}));var bn=e=>y(k(),b.accent,e),Sn=e=>y(k(),b.muted,e),Oe;(m=>{function e(a){let v=a;typeof v.resume=="function"&&v.resume();}function t(a,v){try{a.write(v);}catch{}}function r(a,v,$){let E=a;for(let O=0;O<v.length;O+=1){let h=v[O],o=h.charCodeAt(0);if(o===3)return {buffer:E,done:true,line:""};if(o===4)return {buffer:E,done:true,line:E};if(o===10||o===13)return {buffer:"",done:true,line:E};if((o===8||o===127)){E=E.slice(0,-1);continue}E+=h;}return {buffer:E,done:false,line:""}}function s(a){return new Promise((v,$)=>{let{message:E,hint:O,defaultValue:h,hidden:o,input:l,output:T,messageColor:n,hintColor:w}=a,S=(n??bn)(E),p=O?` ${(w??Sn)(`(${O})`)}`:"",i=h?` [${h}]`:"",u=o?`${S}${p}: `:`${S}${p}${i}: `,x=l??fe.stdin,g=T??fe.stdout;t(g,u);let C="",_=false,F=M=>{_||(_=true,M(),x.off("data",H),x.off("end",W));},H=M=>{let G=typeof M=="string"?M:M.toString("utf8"),Y=r(C,G);if(C=Y.buffer,!Y.done)return;if(Y.line===""&&C===""&&!G.includes(`
15
- `)&&!G.includes("\r")){F(()=>$(new Error("Input canceled")));return}let pe=Y.line.length===0&&h!==void 0?h:Y.line;F(()=>v(pe));},W=()=>{if(_)return;let M=C.length===0&&h!==void 0?h:C;F(()=>v(M));},D=M=>{if((typeof M=="string"?M:M.toString("utf8")).includes("")){F(()=>$(new Error("Input canceled")));return}H(M);};x.on("data",D),x.once("end",W),e(x);})}m.readText=s;async function c(a){let v=a.defaultValue!==false,E=(await s({message:a.message,hint:a.hint??`y/n, default ${v?"y":"n"}`,defaultValue:v?"y":"n",messageColor:a.messageColor,hintColor:a.hintColor,input:a.input,output:a.output})).trim().toLowerCase();return E===""?v:E==="y"||E==="yes"?true:E==="n"||E==="no"?false:c(a)}m.readConfirm=c;function f(a){return s({...a,hidden:true})}m.readPassword=f;})(Oe||(Oe={}));var $n=e=>y(k(),b.heading,e),vn=e=>y(k(),b.command,e),Tn=e=>y(k(),b.muted,e),Cn=e=>y(k(),b.warn,e),yn=e=>y(k(),b.accent,e);function wn(e,t,r,s,c,f){let m=e;return m=m.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(a,v,$)=>`${f(v)} (${$})`),m=m.replace(/`([^`]+)`/g,(a,v)=>c(v)),m=m.replace(/\*\*([^*]+)\*\*/g,(a,v)=>r(v)),m=m.replace(/(^|[^*])\*([^*]+)\*(?!\*)/g,(a,v,$)=>`${v}${s($)}`),m}function En(e,t={}){if(!e)return [];let r=t.headingColor??$n,s=t.boldColor??vn,c=t.italicColor??Tn,f=t.codeColor??Cn,m=t.linkColor??yn,a=n=>wn(n,r,s,c,f,m),v=e.replace(/\r\n/g,`
30
+ `}var Ln=[{prefix:"failed",color:u.error},{prefix:"ok",color:u.success},{prefix:"linked",color:u.success},{prefix:"configured",color:u.success},{prefix:"not linked",color:u.warn},{prefix:"not configured",color:u.muted},{prefix:"unknown",color:u.warn}];function Mn(e,t){if(!t)return e;let o=e.indexOf(":");if(o===-1)return e;let s=e.slice(0,o+1),c=e.slice(o+1).trimStart(),d=c.toLowerCase();for(let{prefix:l,color:f}of Ln)if(d.startsWith(l))return `${s} ${f(c.slice(0,l.length))}${c.slice(l.length)}`;return e}var Pn=e=>$(k(),u.accent,e),Wn=e=>$(k(),u.muted,e),Le;(l=>{function e(f){let y=f;typeof y.resume=="function"&&y.resume();}function t(f,y){try{f.write(y);}catch{}}function o(f,y,w){let E=f;for(let L=0;L<y.length;L+=1){let S=y[L],a=S.charCodeAt(0);if(a===3)return {buffer:E,done:true,line:""};if(a===4)return {buffer:E,done:true,line:E};if(a===10||a===13)return {buffer:"",done:true,line:E};if((a===8||a===127)){E=E.slice(0,-1);continue}E+=S;}return {buffer:E,done:false,line:""}}function s(f){return new Promise((y,w)=>{let{message:E,hint:L,defaultValue:S,hidden:a,input:r,output:x,messageColor:n,hintColor:T}=f,b=(n??Pn)(E),g=L?` ${(T??Wn)(`(${L})`)}`:"",i=S?` [${S}]`:"",h=a?`${b}${g}: `:`${b}${g}${i}: `,m=r??xe.stdin,p=x??xe.stdout;t(p,h);let C="",B=false,P=M=>{B||(B=true,M(),m.off("data",W),m.off("end",I));},W=M=>{let J=typeof M=="string"?M:M.toString("utf8");if(J.includes("")){P(()=>w(new Error("Input canceled")));return}let K=o(C,J);if(C=K.buffer,!K.done)return;let X=K.line.length===0&&S!==void 0?S:K.line;P(()=>y(X));},I=()=>{if(B)return;let M=C.length===0&&S!==void 0?S:C;P(()=>y(M));};m.on("data",W),m.once("end",I),e(m);})}l.readText=s;async function c(f){let y=f.defaultValue!==false,E=(await s({message:f.message,hint:f.hint??`y/n, default ${y?"y":"n"}`,defaultValue:y?"y":"n",messageColor:f.messageColor,hintColor:f.hintColor,input:f.input,output:f.output})).trim().toLowerCase();return E===""?y:E==="y"||E==="yes"?true:E==="n"||E==="no"?false:c(f)}l.readConfirm=c;function d(f){return s({...f,hidden:true})}l.readPassword=d;})(Le||(Le={}));var Fn=e=>$(k(),u.heading,e),An=e=>$(k(),u.command,e),Nn=e=>$(k(),u.muted,e),Hn=e=>$(k(),u.warn,e),_n=e=>$(k(),u.accent,e);function Bn(e,t,o,s,c,d){let l=e;return l=l.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(f,y,w)=>`${d(y)} (${w})`),l=l.replace(/`([^`]+)`/g,(f,y)=>c(y)),l=l.replace(/\*\*([^*]+)\*\*/g,(f,y)=>o(y)),l=l.replace(/(^|[^*])\*([^*]+)\*(?!\*)/g,(f,y,w)=>`${y}${s(w)}`),l}function Jn(e,t={}){if(!e)return [];let o=t.headingColor??Fn,s=t.boldColor??An,c=t.italicColor??Nn,d=t.codeColor??Hn,l=t.linkColor??_n,f=n=>Bn(n,o,s,c,d,l),y=e.replace(/\r\n/g,`
16
31
  `).split(`
17
- `),$=[],E=false,O=[],h="",o=0,l=true,T=()=>{if(O.length!==0){$.push(f(`\`\`\`${h}`));for(let n of O)$.push(f(n));$.push(f("```")),O=[],h="";}};for(let n of v){let w=n;if(w.trim().startsWith("```")){if(!E){T(),E=true,h=w.trim().slice(3).trim(),$.push(f(`\`\`\`${h}`)),l=false;continue}for(let u of O)$.push(f(u));O=[],$.push(f("```")),E=false,h="",l=false;continue}if(E){O.push(w);continue}let S=/^(#{1,3})\s+(.+)$/.exec(w);if(S){let u=S[1]??"#",x=S[2]??"";$.push(r(`${u} ${a(x)}`)),l=false;continue}if(/^(\s*[-*_])\s*\1\s*\1[-*_\s]*$/.test(w)||/^---\s*$/.test(w)||/^\*\*\*\s*$/.test(w)){$.push(f("\u2500".repeat(40))),l=true;continue}let p=/^\s*[-*]\s+(.+)$/.exec(w),i=/^\s*\d+\.\s+(.+)$/.exec(w);if(p){let u=p[1]??"";$.push(` \u2022 ${a(u)}`),o=0,l=false;continue}if(i){let u=i[1]??"";o+=1,$.push(` ${o}. ${a(u)}`),l=false;continue}if(w.trim()===""){l||$.push(""),l=true,o=0;continue}$.push(a(w)),l=false,o=0;}return E&&T(),$}var Vr=ie,Kr=ie.cancelSymbol;export{Oe as Input,J as LOBSTER_PALETTE,ke as Loader,Vr as Search,Kr as cancelSymbol,Ee as clearActiveProgressLine,y as colorize,an as createSafeStreamWriter,Bt as displayPath,Te as displayString,Kt as emitJsonError,Vt as emitJsonOk,$e as expandHomePrefix,Wt as formatCommandExample,At as formatCount,Nt as formatEmptyMessage,Et as formatError,kt as formatHeading,It as formatInfo,Ot as formatKeyValue,Lt as formatListItem,jt as formatRootLink,Dt as formatRootedLink,Ft as formatSeparator,Pt as formatStatus,wt as formatSuccess,oe as formatTerminalLink,Rt as formatWarning,k as isRich,Qt as note,Zt as registerActiveProgressLine,En as renderMarkdown,dn as renderTable,Ht as resolveConfigDir,Q as resolveEffectiveHomeDir,Ke as resolveHomeDir,Se as resolveRequiredHomeDir,Ve as resolveUserPath,on as restoreTerminalState,nn as selectStyled,Ue as shortenHomeInString,Ye as shortenHomePath,re as stripAnsi,pn as styleHealthChannelLine,we as stylePromptHint,Ce as stylePromptMessage,ye as stylePromptTitle,b as theme,en as unregisterActiveProgressLine,j as visibleWidth,Qe as wrapNoteMessage};
32
+ `),w=[],E=false,L=[],S="",a=0,r=true,x=()=>{if(L.length!==0){w.push(d(`\`\`\`${S}`));for(let n of L)w.push(d(n));w.push(d("```")),L=[],S="";}};for(let n of y){let T=n;if(T.trim().startsWith("```")){if(!E){x(),E=true,S=T.trim().slice(3).trim(),w.push(d(`\`\`\`${S}`)),r=false;continue}for(let h of L)w.push(d(h));L=[],w.push(d("```")),E=false,S="",r=false;continue}if(E){L.push(T);continue}let b=/^(#{1,3})\s+(.+)$/.exec(T);if(b){let h=b[1]??"#",m=b[2]??"";w.push(o(`${h} ${f(m)}`)),r=false;continue}if(/^(\s*[-*_])\s*\1\s*\1[-*_\s]*$/.test(T)||/^---\s*$/.test(T)||/^\*\*\*\s*$/.test(T)){w.push(d("\u2500".repeat(40))),r=true;continue}let g=/^\s*[-*]\s+(.+)$/.exec(T),i=/^\s*\d+\.\s+(.+)$/.exec(T);if(g){let h=g[1]??"";w.push(` \u2022 ${f(h)}`),a=0,r=false;continue}if(i){let h=i[1]??"";a+=1,w.push(` ${a}. ${f(h)}`),r=false;continue}if(T.trim()===""){r||w.push(""),r=true,a=0;continue}w.push(f(T)),r=false,a=0;}return E&&x(),w}var ko=Q,Eo=Q.cancelSymbol;export{Le as Input,D as LOBSTER_PALETTE,le as Loader,Ie as Prompt,ko as Search,F as Symbol,Eo as cancelSymbol,Oe as clearActiveProgressLine,$ as colorize,kn as createSafeStreamWriter,qt as displayPath,Ce as displayString,tn as emitCommandJson,Qe as emitJson,rn as emitJsonError,nn as emitJsonOk,ye as expandHomePrefix,Jt as formatCommandExample,Yt as formatCount,zt as formatEmptyMessage,At as formatError,_t as formatHeading,Ht as formatInfo,Bt as formatKeyValue,mn as formatList,Vt as formatListItem,rt as formatListTruncated,tt as formatPrintHuman,Zt as formatRootLink,Xt as formatRootedLink,jt as formatSeparator,Kt as formatStatus,Ft as formatSuccess,ae as formatTerminalLink,Nt as formatWarning,k as isRich,ce as note,un as printHuman,dn as printRenderLines,bn as registerActiveProgressLine,nt as renderLines,Jn as renderMarkdown,On as renderTable,Ut as resolveConfigDir,ne as resolveEffectiveHomeDir,ze as resolveHomeDir,$e as resolveRequiredHomeDir,je as resolveUserPath,yn as restoreTerminalState,Sn as selectStyled,Ue as shortenHomeInString,Ge as shortenHomePath,ee as stripAnsi,Mn as styleHealthChannelLine,Re as stylePromptHint,ke as stylePromptMessage,Ee as stylePromptTitle,u as theme,vn as unregisterActiveProgressLine,j as visibleWidth,en as wrapError,qe as wrapJson,et as wrapNoteMessage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easbot/terminal",
3
- "version": "0.3.12",
3
+ "version": "0.3.13",
4
4
  "description": "Terminal interaction toolkit for the EASBOT ecosystem — themed colors, ANSI utilities, OSC-8 hyperlinks, command formatting, table rendering, styled prompts, safe stream writes, and terminal-state recovery",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -47,8 +47,8 @@
47
47
  "dependencies": {
48
48
  "@clack/prompts": "^1.7.0",
49
49
  "chalk": "^6.0.0",
50
- "@easbot/utils": "0.3.12",
51
- "@easbot/types": "0.3.12"
50
+ "@easbot/utils": "0.3.13",
51
+ "@easbot/types": "0.3.13"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/node": "^25.6.2",