infra-kit 0.5.1 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{boot-AJLBGRED.js → boot-BL4EQMZV.js} +2 -2
  2. package/dist/chunk-744Y674Y.js +10 -0
  3. package/dist/{chunk-Q23IJP6D.js.map → chunk-744Y674Y.js.map} +4 -4
  4. package/dist/chunk-LCNORKDV.js +8 -0
  5. package/dist/chunk-LCNORKDV.js.map +7 -0
  6. package/dist/chunk-MFAFQVTW.js +2 -0
  7. package/dist/chunk-MFAFQVTW.js.map +7 -0
  8. package/dist/chunk-PQG63EIV.js +4 -0
  9. package/dist/chunk-PQG63EIV.js.map +7 -0
  10. package/dist/{chunk-HXBIE4JP.js → chunk-QUXDC3A3.js} +2 -2
  11. package/dist/{chunk-HXBIE4JP.js.map → chunk-QUXDC3A3.js.map} +1 -1
  12. package/dist/chunk-XN7VHD7P.js +445 -0
  13. package/dist/chunk-XN7VHD7P.js.map +7 -0
  14. package/dist/chunk-Y5TLBGZT.js +2 -0
  15. package/dist/chunk-Y5TLBGZT.js.map +7 -0
  16. package/dist/chunk-YYEUJYC7.js +2 -0
  17. package/dist/chunk-YYEUJYC7.js.map +7 -0
  18. package/dist/cli.js +3 -3
  19. package/dist/cli.js.map +2 -2
  20. package/dist/dev-server.js +4 -4
  21. package/dist/dev-server.js.map +1 -1
  22. package/dist/dev-wizard-run-DWDA5R3A.js +2 -0
  23. package/dist/{dev-wizard-run-FNMMYTDX.js.map → dev-wizard-run-DWDA5R3A.js.map} +1 -1
  24. package/dist/mcp-proxy.js +11 -0
  25. package/dist/mcp-proxy.js.map +7 -0
  26. package/dist/mcp.js +110 -1
  27. package/dist/mcp.js.map +4 -4
  28. package/dist/update-check.js +1 -1
  29. package/package.json +13 -12
  30. package/dist/chunk-6GWRKIZ7.js +0 -2
  31. package/dist/chunk-6GWRKIZ7.js.map +0 -7
  32. package/dist/chunk-D4UYDBN5.js +0 -3
  33. package/dist/chunk-D4UYDBN5.js.map +0 -7
  34. package/dist/chunk-Q23IJP6D.js +0 -10
  35. package/dist/chunk-Q4HKBLQG.js +0 -7
  36. package/dist/chunk-Q4HKBLQG.js.map +0 -7
  37. package/dist/chunk-X2POR5VH.js +0 -422
  38. package/dist/chunk-X2POR5VH.js.map +0 -7
  39. package/dist/chunk-Y3FV2BRI.js +0 -2
  40. package/dist/chunk-Y3FV2BRI.js.map +0 -7
  41. package/dist/dev-wizard-run-FNMMYTDX.js +0 -2
  42. /package/dist/{boot-AJLBGRED.js.map → boot-BL4EQMZV.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as j}from"./chunk-TVG47UHG.js";import{b as ee}from"./chunk-WIZJQ57Q.js";import{c as J}from"./chunk-QWVLAZ6N.js";import{render as We}from"ink";import X from"node:process";import{Box as U,Text as O,useApp as he,useInput as we,useWindowSize as xe}from"ink";import{useEffect as ne,useState as G}from"react";import{useMemo as de,useState as te}from"react";var F=(t,e)=>{let[r,p]=te(""),[n,a]=te(0),o=de(()=>{let f=r.trim().toLowerCase();return f?t.filter(m=>e(m).toLowerCase().includes(f)):t},[t,r,e]),u=Math.min(n,Math.max(0,o.length-1));return{filtered:o,activeIndex:u,query:r,handleNavigation:(f,m)=>{let b=o.length;return m.upArrow?(b>0&&a((u-1+b)%b),!0):m.downArrow?(b>0&&a((u+1)%b),!0):m.backspace||m.delete?(p(r.slice(0,-1)),a(0),!0):f&&!m.ctrl&&!m.meta?(p(r+f),a(0),!0):!1},clearQuery:()=>r?(p(""),a(0),!0):!1}};var pe=()=>{},q=(t,e=0)=>t<5?{mode:"tiny",chromeRows:0,groups:!1}:t<10?{mode:"compact",chromeRows:4+e,groups:!1}:{mode:"full",chromeRows:6+e,groups:!0},fe=(t,e,r,p)=>{let n=0,a;for(let o=e;o<r;o+=1){let u=t[o];if(!u)break;let w=p(u),g=w!==void 0&&w!==a;n+=1+(g?1:0)+(g&&o>e?1:0),a=w}return n},re=(t,e,r,p)=>{let n=e;for(;n<t.length&&fe(t,e,n+1,p)<=r;)n+=1;return n},$=(t,e,r,p,n)=>{let a=n?.groupOf??pe,o=Math.max(0,p-(n?.chromeRows??6)),u=Math.min(e,r);for(;r>=re(t,u,o,a)&&u<r;)u+=1;let w=re(t,u,o,a);return{visible:t.slice(u,w),start:u,hiddenBefore:u,hiddenAfter:Math.max(0,t.length-w)}};import{jsx as W,jsxs as z}from"react/jsx-runtime";var oe=t=>{let{items:e,onSubmit:r,onCancel:p,required:n=!0,allowSelectAll:a=!0}=t,o=ge,u=e.reduce((s,x)=>Math.max(s,x.label.length),0),{exit:w}=he(),{rows:g}=xe(),{filtered:f,activeIndex:m,query:b,handleNavigation:P,clearQuery:M}=F(e,Te),[v,R]=G(()=>new Set),[E,h]=G(!1),[C,d]=G(0),[l,y]=G(!1);ne(()=>{l&&w()},[l,w]);let _=q(g,1),S=$(f,C,m,g,{chromeRows:_.chromeRows});ne(()=>{S.start!==C&&d(S.start)},[S.start,C]);let H=s=>{R(x=>{let T=new Set(x);return T.has(s)?T.delete(s):T.add(s),T})},k=()=>{R(s=>e.every(T=>s.has(T.value))?new Set:new Set(e.map(T=>T.value)))},i=()=>{p(),y(!0)},c=()=>{if(n&&v.size===0){h(!0);return}r([...v]),y(!0)};return we((s,x)=>{if(!l){if(x.ctrl&&s==="c"){i();return}if(x.escape){M()||i();return}if(x.ctrl&&s==="a"){a&&k();return}if(s===" "){let T=f[m];T&&H(T.value);return}if(x.return){c();return}P(s,x)}}),l?null:_.mode==="tiny"?W(O,{dimColor:!0,wrap:"truncate",children:o.tiny}):z(U,{flexDirection:"column",children:[_.mode==="full"?W(O,{dimColor:!0,wrap:"truncate",children:o.hint}):null,z(U,{children:[W(O,{color:"cyan",children:o.prompt}),W(O,{wrap:"truncate-start",children:b})]}),z(U,{flexDirection:"column",marginTop:_.mode==="full"?1:0,children:[f.length===0?W(O,{dimColor:!0,wrap:"truncate",children:o.empty}):null,S.hiddenBefore>0?W(O,{dimColor:!0,wrap:"truncate",children:`${o.more} ${S.hiddenBefore} above`}):null,S.visible.map((s,x)=>{let T=S.start+x===m,me=v.has(s.value);return z(O,{color:T?"green":void 0,wrap:"truncate",children:[T?"\u203A ":" ",me?"[x] ":"[ ] ",s.label.padEnd(u)," ",W(O,{dimColor:!0,children:s.description??""})]},s.value)}),S.hiddenAfter>0?W(O,{dimColor:!0,wrap:"truncate",children:`${o.more} ${S.hiddenAfter} below`}):null]}),E?W(O,{dimColor:!0,wrap:"truncate",children:o.requiredHint}):null]})};function Te(t){return`${t.label} ${t.description??""}`}var ge={hint:"filter \xB7 \u2191\u2193 move \xB7 Space toggle \xB7 Ctrl-A all \xB7 Enter submit \xB7 Esc clear/cancel",prompt:"\u276F ",empty:"No matching branches",tiny:"terminal too short \u2014 resize to pick branches",requiredHint:"select at least one",more:"\u2026"};import{Box as Y,Text as I,useApp as be,useInput as Ce,useWindowSize as ye}from"ink";import{useEffect as ie,useState as le}from"react";import{jsx as L,jsxs as D}from"react/jsx-runtime";var se=t=>{let{items:e,onSelect:r,onCancel:p}=t,n=Pe,a=e.reduce((d,l)=>Math.max(d,l.label.length),0),{exit:o}=be(),{rows:u}=ye(),{filtered:w,activeIndex:g,query:f,handleNavigation:m,clearQuery:b}=F(e,Be),[P,M]=le(0),[v,R]=le(!1);ie(()=>{v&&o()},[v,o]);let E=q(u),h=$(w,P,g,u,{chromeRows:E.chromeRows});ie(()=>{h.start!==P&&M(h.start)},[h.start,P]);let C=()=>{p(),R(!0)};return Ce((d,l)=>{if(!v){if(l.ctrl&&d==="c"){C();return}if(l.escape){b()||C();return}if(l.return){let y=w[g];y&&(r(y.value),R(!0));return}m(d,l)}}),v?null:E.mode==="tiny"?L(I,{dimColor:!0,wrap:"truncate",children:n.tiny}):D(Y,{flexDirection:"column",children:[E.mode==="full"?L(I,{dimColor:!0,wrap:"truncate",children:n.hint}):null,D(Y,{children:[L(I,{color:"cyan",children:n.prompt}),L(I,{wrap:"truncate-start",children:f})]}),D(Y,{flexDirection:"column",marginTop:E.mode==="full"?1:0,children:[w.length===0?L(I,{dimColor:!0,wrap:"truncate",children:n.empty}):null,h.hiddenBefore>0?L(I,{dimColor:!0,wrap:"truncate",children:`${n.more} ${h.hiddenBefore} above`}):null,h.visible.map((d,l)=>{let y=h.start+l===g;return D(I,{color:Se(d.type,y),wrap:"truncate",children:[y?"\u203A ":" ",d.label.padEnd(a)," ",L(I,{dimColor:!0,children:d.description??""})]},d.value)}),h.hiddenAfter>0?L(I,{dimColor:!0,wrap:"truncate",children:`${n.more} ${h.hiddenAfter} below`}):null]})]})};function Se(t,e){return t==="hotfix"?"red":e?"green":void 0}function Be(t){return`${t.label} ${t.description??""}`}var Pe={hint:"type to filter \xB7 \u2191\u2193 move \xB7 Enter select \xB7 Esc clear/cancel",prompt:"\u276F ",empty:"No matching branches",tiny:"terminal too short \u2014 resize to pick a branch",more:"\u2026"};import{Box as Q,Text as B,useApp as ve,useInput as Re,useWindowSize as Oe}from"ink";import{useEffect as ae,useMemo as Ae,useState as K}from"react";import{jsx as A,jsxs as N}from"react/jsx-runtime";var ce=t=>{let{items:e,onSelect:r,onCancel:p,onSuspend:n}=t,a={hint:Ee(!!n),prompt:"\u276F ",empty:"No matching commands",tiny:"terminal too short \u2014 resize to pick a command",more:"\u2026"},o=24,{exit:u,suspendTerminal:w}=ve(),{rows:g}=Oe(),[f,m]=K(""),[b,P]=K(0),[M,v]=K(0),[R,E]=K(!1);ae(()=>{R&&u()},[R,u]);let h=Ae(()=>{let i=f.trim().toLowerCase();return i?e.filter(c=>`${c.name} ${c.description}`.toLowerCase().includes(i)):e},[e,f]),C=Math.min(b,Math.max(0,h.length-1)),d=q(g),l=$(h,M,C,g,{chromeRows:d.chromeRows,groupOf:d.groups?i=>i.group:void 0});ae(()=>{l.start!==M&&v(l.start)},[l.start,M]);let y=()=>{p(),E(!0)},_=()=>{n&&w(n).catch(()=>{})},S=i=>i==="c"||i==="d"?(y(),!0):i==="z"?(_(),!0):!1,H=i=>{let c=h.length;c>0&&P((C+i+c)%c)};if(Re((i,c)=>{if(!R&&!(c.ctrl&&S(i))){if(c.escape){m(""),P(0);return}if(c.return){let s=h[C];s&&(r(s.name),E(!0));return}if(c.upArrow){H(-1);return}if(c.downArrow){H(1);return}if(c.backspace||c.delete){m(f.slice(0,-1)),P(0);return}i&&!c.ctrl&&!c.meta&&(m(f+i),P(0))}}),R)return null;if(d.mode==="tiny")return A(B,{dimColor:!0,wrap:"truncate",children:a.tiny});let k="";return N(Q,{flexDirection:"column",children:[d.mode==="full"?A(B,{dimColor:!0,wrap:"truncate",children:a.hint}):null,N(Q,{children:[A(B,{color:"cyan",children:a.prompt}),A(B,{wrap:"truncate-start",children:f})]}),N(Q,{flexDirection:"column",marginTop:d.mode==="full"?1:0,children:[h.length===0?A(B,{dimColor:!0,wrap:"truncate",children:a.empty}):null,l.hiddenBefore>0?A(B,{dimColor:!0,wrap:"truncate",children:`${a.more} ${l.hiddenBefore} above`}):null,l.visible.map((i,c)=>{let s=l.start+c===C,x=d.groups&&i.group!==k;return k=i.group,N(Q,{flexDirection:"column",children:[x&&c>0?A(B,{children:" "}):null,x?A(B,{color:"yellow",wrap:"truncate",children:`\u2014 ${i.group} \u2014`}):null,N(B,{color:s?"green":void 0,wrap:"truncate",children:[s?"\u203A ":" ",i.name.padEnd(o)," ",A(B,{dimColor:!0,children:i.description})]})]},i.name)}),l.hiddenAfter>0?A(B,{dimColor:!0,wrap:"truncate",children:`${a.more} ${l.hiddenAfter} below`}):null]})]})},ue={suspend:"filter \xB7 \u2191\u2193 move \xB7 Enter run \xB7 Esc clear \xB7 Ctrl-C quit \xB7 Ctrl-Z suspend",plain:"type to filter \xB7 \u2191\u2193 move \xB7 Enter run \xB7 Esc clear \xB7 Ctrl-C quit"},Ee=t=>t?ue.suspend:ue.plain;import{jsx as V}from"react/jsx-runtime";var Z=async t=>{let e=ee(),{waitUntilExit:r}=We(t,{stdout:e,exitOnCtrlC:!1,interactive:!!e.isTTY});try{await r()}catch{}finally{J()>0?X.stdin.ref():X.stdin.pause()}},lt=async t=>{let e=null;return await Z(V(ce,{items:t,onSelect:r=>{e=r},onCancel:()=>{e=null},onSuspend:X.platform==="win32"?void 0:()=>{j()}})),e},st=async t=>{let e=null;return await Z(V(se,{items:t,onSelect:r=>{e=r},onCancel:()=>{e=null}})),e},at=async(t,e)=>{let r=null;return await Z(V(oe,{items:t,required:e?.required,allowSelectAll:e?.allowSelectAll,onSubmit:p=>{r=p},onCancel:()=>{r=null}})),r};export{at as runBranchMultiPicker,st as runBranchPicker,lt as runCommandPalette};
2
- //# sourceMappingURL=boot-AJLBGRED.js.map
1
+ import{a as j}from"./chunk-TVG47UHG.js";import{c as J}from"./chunk-QWVLAZ6N.js";import{b as ee}from"./chunk-WIZJQ57Q.js";import{render as We}from"ink";import X from"node:process";import{Box as U,Text as O,useApp as he,useInput as we,useWindowSize as xe}from"ink";import{useEffect as ne,useState as G}from"react";import{useMemo as de,useState as te}from"react";var F=(t,e)=>{let[r,p]=te(""),[n,a]=te(0),o=de(()=>{let f=r.trim().toLowerCase();return f?t.filter(m=>e(m).toLowerCase().includes(f)):t},[t,r,e]),u=Math.min(n,Math.max(0,o.length-1));return{filtered:o,activeIndex:u,query:r,handleNavigation:(f,m)=>{let b=o.length;return m.upArrow?(b>0&&a((u-1+b)%b),!0):m.downArrow?(b>0&&a((u+1)%b),!0):m.backspace||m.delete?(p(r.slice(0,-1)),a(0),!0):f&&!m.ctrl&&!m.meta?(p(r+f),a(0),!0):!1},clearQuery:()=>r?(p(""),a(0),!0):!1}};var pe=()=>{},q=(t,e=0)=>t<5?{mode:"tiny",chromeRows:0,groups:!1}:t<10?{mode:"compact",chromeRows:4+e,groups:!1}:{mode:"full",chromeRows:6+e,groups:!0},fe=(t,e,r,p)=>{let n=0,a;for(let o=e;o<r;o+=1){let u=t[o];if(!u)break;let w=p(u),g=w!==void 0&&w!==a;n+=1+(g?1:0)+(g&&o>e?1:0),a=w}return n},re=(t,e,r,p)=>{let n=e;for(;n<t.length&&fe(t,e,n+1,p)<=r;)n+=1;return n},$=(t,e,r,p,n)=>{let a=n?.groupOf??pe,o=Math.max(0,p-(n?.chromeRows??6)),u=Math.min(e,r);for(;r>=re(t,u,o,a)&&u<r;)u+=1;let w=re(t,u,o,a);return{visible:t.slice(u,w),start:u,hiddenBefore:u,hiddenAfter:Math.max(0,t.length-w)}};import{jsx as W,jsxs as z}from"react/jsx-runtime";var oe=t=>{let{items:e,onSubmit:r,onCancel:p,required:n=!0,allowSelectAll:a=!0}=t,o=ge,u=e.reduce((s,x)=>Math.max(s,x.label.length),0),{exit:w}=he(),{rows:g}=xe(),{filtered:f,activeIndex:m,query:b,handleNavigation:P,clearQuery:M}=F(e,Te),[v,R]=G(()=>new Set),[E,h]=G(!1),[C,d]=G(0),[l,y]=G(!1);ne(()=>{l&&w()},[l,w]);let _=q(g,1),S=$(f,C,m,g,{chromeRows:_.chromeRows});ne(()=>{S.start!==C&&d(S.start)},[S.start,C]);let H=s=>{R(x=>{let T=new Set(x);return T.has(s)?T.delete(s):T.add(s),T})},k=()=>{R(s=>e.every(T=>s.has(T.value))?new Set:new Set(e.map(T=>T.value)))},i=()=>{p(),y(!0)},c=()=>{if(n&&v.size===0){h(!0);return}r([...v]),y(!0)};return we((s,x)=>{if(!l){if(x.ctrl&&s==="c"){i();return}if(x.escape){M()||i();return}if(x.ctrl&&s==="a"){a&&k();return}if(s===" "){let T=f[m];T&&H(T.value);return}if(x.return){c();return}P(s,x)}}),l?null:_.mode==="tiny"?W(O,{dimColor:!0,wrap:"truncate",children:o.tiny}):z(U,{flexDirection:"column",children:[_.mode==="full"?W(O,{dimColor:!0,wrap:"truncate",children:o.hint}):null,z(U,{children:[W(O,{color:"cyan",children:o.prompt}),W(O,{wrap:"truncate-start",children:b})]}),z(U,{flexDirection:"column",marginTop:_.mode==="full"?1:0,children:[f.length===0?W(O,{dimColor:!0,wrap:"truncate",children:o.empty}):null,S.hiddenBefore>0?W(O,{dimColor:!0,wrap:"truncate",children:`${o.more} ${S.hiddenBefore} above`}):null,S.visible.map((s,x)=>{let T=S.start+x===m,me=v.has(s.value);return z(O,{color:T?"green":void 0,wrap:"truncate",children:[T?"\u203A ":" ",me?"[x] ":"[ ] ",s.label.padEnd(u)," ",W(O,{dimColor:!0,children:s.description??""})]},s.value)}),S.hiddenAfter>0?W(O,{dimColor:!0,wrap:"truncate",children:`${o.more} ${S.hiddenAfter} below`}):null]}),E?W(O,{dimColor:!0,wrap:"truncate",children:o.requiredHint}):null]})};function Te(t){return`${t.label} ${t.description??""}`}var ge={hint:"filter \xB7 \u2191\u2193 move \xB7 Space toggle \xB7 Ctrl-A all \xB7 Enter submit \xB7 Esc clear/cancel",prompt:"\u276F ",empty:"No matching branches",tiny:"terminal too short \u2014 resize to pick branches",requiredHint:"select at least one",more:"\u2026"};import{Box as Y,Text as I,useApp as be,useInput as Ce,useWindowSize as ye}from"ink";import{useEffect as ie,useState as le}from"react";import{jsx as L,jsxs as D}from"react/jsx-runtime";var se=t=>{let{items:e,onSelect:r,onCancel:p}=t,n=Pe,a=e.reduce((d,l)=>Math.max(d,l.label.length),0),{exit:o}=be(),{rows:u}=ye(),{filtered:w,activeIndex:g,query:f,handleNavigation:m,clearQuery:b}=F(e,Be),[P,M]=le(0),[v,R]=le(!1);ie(()=>{v&&o()},[v,o]);let E=q(u),h=$(w,P,g,u,{chromeRows:E.chromeRows});ie(()=>{h.start!==P&&M(h.start)},[h.start,P]);let C=()=>{p(),R(!0)};return Ce((d,l)=>{if(!v){if(l.ctrl&&d==="c"){C();return}if(l.escape){b()||C();return}if(l.return){let y=w[g];y&&(r(y.value),R(!0));return}m(d,l)}}),v?null:E.mode==="tiny"?L(I,{dimColor:!0,wrap:"truncate",children:n.tiny}):D(Y,{flexDirection:"column",children:[E.mode==="full"?L(I,{dimColor:!0,wrap:"truncate",children:n.hint}):null,D(Y,{children:[L(I,{color:"cyan",children:n.prompt}),L(I,{wrap:"truncate-start",children:f})]}),D(Y,{flexDirection:"column",marginTop:E.mode==="full"?1:0,children:[w.length===0?L(I,{dimColor:!0,wrap:"truncate",children:n.empty}):null,h.hiddenBefore>0?L(I,{dimColor:!0,wrap:"truncate",children:`${n.more} ${h.hiddenBefore} above`}):null,h.visible.map((d,l)=>{let y=h.start+l===g;return D(I,{color:Se(d.type,y),wrap:"truncate",children:[y?"\u203A ":" ",d.label.padEnd(a)," ",L(I,{dimColor:!0,children:d.description??""})]},d.value)}),h.hiddenAfter>0?L(I,{dimColor:!0,wrap:"truncate",children:`${n.more} ${h.hiddenAfter} below`}):null]})]})};function Se(t,e){return t==="hotfix"?"red":e?"green":void 0}function Be(t){return`${t.label} ${t.description??""}`}var Pe={hint:"type to filter \xB7 \u2191\u2193 move \xB7 Enter select \xB7 Esc clear/cancel",prompt:"\u276F ",empty:"No matching branches",tiny:"terminal too short \u2014 resize to pick a branch",more:"\u2026"};import{Box as Q,Text as B,useApp as ve,useInput as Re,useWindowSize as Oe}from"ink";import{useEffect as ae,useMemo as Ae,useState as K}from"react";import{jsx as A,jsxs as N}from"react/jsx-runtime";var ce=t=>{let{items:e,onSelect:r,onCancel:p,onSuspend:n}=t,a={hint:Ee(!!n),prompt:"\u276F ",empty:"No matching commands",tiny:"terminal too short \u2014 resize to pick a command",more:"\u2026"},o=24,{exit:u,suspendTerminal:w}=ve(),{rows:g}=Oe(),[f,m]=K(""),[b,P]=K(0),[M,v]=K(0),[R,E]=K(!1);ae(()=>{R&&u()},[R,u]);let h=Ae(()=>{let i=f.trim().toLowerCase();return i?e.filter(c=>`${c.name} ${c.description}`.toLowerCase().includes(i)):e},[e,f]),C=Math.min(b,Math.max(0,h.length-1)),d=q(g),l=$(h,M,C,g,{chromeRows:d.chromeRows,groupOf:d.groups?i=>i.group:void 0});ae(()=>{l.start!==M&&v(l.start)},[l.start,M]);let y=()=>{p(),E(!0)},_=()=>{n&&w(n).catch(()=>{})},S=i=>i==="c"||i==="d"?(y(),!0):i==="z"?(_(),!0):!1,H=i=>{let c=h.length;c>0&&P((C+i+c)%c)};if(Re((i,c)=>{if(!R&&!(c.ctrl&&S(i))){if(c.escape){m(""),P(0);return}if(c.return){let s=h[C];s&&(r(s.name),E(!0));return}if(c.upArrow){H(-1);return}if(c.downArrow){H(1);return}if(c.backspace||c.delete){m(f.slice(0,-1)),P(0);return}i&&!c.ctrl&&!c.meta&&(m(f+i),P(0))}}),R)return null;if(d.mode==="tiny")return A(B,{dimColor:!0,wrap:"truncate",children:a.tiny});let k="";return N(Q,{flexDirection:"column",children:[d.mode==="full"?A(B,{dimColor:!0,wrap:"truncate",children:a.hint}):null,N(Q,{children:[A(B,{color:"cyan",children:a.prompt}),A(B,{wrap:"truncate-start",children:f})]}),N(Q,{flexDirection:"column",marginTop:d.mode==="full"?1:0,children:[h.length===0?A(B,{dimColor:!0,wrap:"truncate",children:a.empty}):null,l.hiddenBefore>0?A(B,{dimColor:!0,wrap:"truncate",children:`${a.more} ${l.hiddenBefore} above`}):null,l.visible.map((i,c)=>{let s=l.start+c===C,x=d.groups&&i.group!==k;return k=i.group,N(Q,{flexDirection:"column",children:[x&&c>0?A(B,{children:" "}):null,x?A(B,{color:"yellow",wrap:"truncate",children:`\u2014 ${i.group} \u2014`}):null,N(B,{color:s?"green":void 0,wrap:"truncate",children:[s?"\u203A ":" ",i.name.padEnd(o)," ",A(B,{dimColor:!0,children:i.description})]})]},i.name)}),l.hiddenAfter>0?A(B,{dimColor:!0,wrap:"truncate",children:`${a.more} ${l.hiddenAfter} below`}):null]})]})},ue={suspend:"filter \xB7 \u2191\u2193 move \xB7 Enter run \xB7 Esc clear \xB7 Ctrl-C quit \xB7 Ctrl-Z suspend",plain:"type to filter \xB7 \u2191\u2193 move \xB7 Enter run \xB7 Esc clear \xB7 Ctrl-C quit"},Ee=t=>t?ue.suspend:ue.plain;import{jsx as V}from"react/jsx-runtime";var Z=async t=>{let e=ee(),{waitUntilExit:r}=We(t,{stdout:e,exitOnCtrlC:!1,interactive:!!e.isTTY});try{await r()}catch{}finally{J()>0?X.stdin.ref():X.stdin.pause()}},lt=async t=>{let e=null;return await Z(V(ce,{items:t,onSelect:r=>{e=r},onCancel:()=>{e=null},onSuspend:X.platform==="win32"?void 0:()=>{j()}})),e},st=async t=>{let e=null;return await Z(V(se,{items:t,onSelect:r=>{e=r},onCancel:()=>{e=null}})),e},at=async(t,e)=>{let r=null;return await Z(V(oe,{items:t,required:e?.required,allowSelectAll:e?.allowSelectAll,onSubmit:p=>{r=p},onCancel:()=>{r=null}})),r};export{at as runBranchMultiPicker,st as runBranchPicker,lt as runCommandPalette};
2
+ //# sourceMappingURL=boot-BL4EQMZV.js.map
@@ -0,0 +1,10 @@
1
+ import{L as m,R as H,T as K,fa as z,g as j,m as q}from"./chunk-LCNORKDV.js";import{a as Q}from"./chunk-XJOY7J3G.js";import{execFile as fe,execFileSync as ge}from"node:child_process";import x from"node:process";var xe=5e3,we=100,V=2e3,Y="/bin/ps",ye=1e3,Z=["-eo","pid=,ppid=,pgid=,lstart="],ee=8<<20,re=e=>e.split(`
2
+ `).flatMap(r=>{let[t,o,n,...i]=r.trim().split(/\s+/);if(t==null||o==null||n==null)return[];let a=Number(t),c=Number(o),u=Number(n);return!Number.isInteger(a)||!Number.isInteger(c)||!Number.isInteger(u)?[]:[{pid:a,ppid:c,pgid:u,lstart:i.join(" ")}]}),te=e=>{let r=new Map;for(let t of e)t.pid===t.pgid&&r.set(t.pgid,t.lstart);return r},Pe=(e,r,t)=>{let o=te(r);return ne(e,r,t).flatMap(n=>{let i=o.get(n);return i==null||i===""?[]:[{pgid:n,leaderStart:i}]})},oe=(e,r)=>{let t=te(r);return e.flatMap(({pgid:o,leaderStart:n})=>t.get(o)===n?[o]:[])},X=(e,r)=>oe(e,r).flatMap(t=>{try{x.kill(-t,"SIGKILL")}catch{return[]}return[t]}),ne=(e,r,t)=>{let o=new Map;for(let c of r){let u=o.get(c.ppid);u?u.push(c):o.set(c.ppid,[c])}let n=new Set([e]),i=new Set([e]),a=[e];for(let c=0;c<a.length;c+=1)for(let u of o.get(a[c]??-1)??[])i.has(u.pid)||(i.add(u.pid),n.add(u.pgid),a.push(u.pid));return[...n].filter(c=>c>1&&c!==t)},L=()=>{try{return re(ge(Y,[...Z],{encoding:"utf8",maxBuffer:ee}))}catch{return[]}},he=async()=>new Promise(e=>{fe(Y,[...Z],{encoding:"utf8",maxBuffer:ee},(r,t)=>{e(r?[]:re(t))})}),Se=(e,r,t)=>t.some(o=>o.pid===e&&o.ppid===r),A=(e,r)=>{let t=r.find(o=>o.pid===x.pid)?.pgid;return ne(e,r,t)},se=e=>{try{return x.kill(-e,0),!0}catch{return!1}},I=(e,r)=>{for(let t of e)try{x.kill(-t,r)}catch{}},w=new Set,be=(e,r,t)=>{let o=A(e,r),n=t.flatMap(i=>oe(i,r));return[...new Set([...o,...n])]},ie=()=>{let e=L(),r=[...w].map(t=>t());I(be(x.pid,e,r),"SIGKILL")},ke=async e=>new Promise(r=>{setTimeout(r,e)}),N=async(e,r)=>{let t=Date.now()+r,o=e;for(;o.length>0&&Date.now()<t&&(o=o.filter(se),o.length!==0);)await ke(we);return o};function Er(e,r=xe,t,o=L){e.unref();let n=!1,i=!1,a=[],c=null,u=()=>a;w.add(u);let p=()=>{c&&clearInterval(c),c=null},d=async()=>{await N(a.map(s=>s.pgid),V),w.delete(u)},f=s=>{let l=e.pid;if(l==null||i||n||s.length===0)return;let v=s.find(R=>R.pid===x.pid)?.pgid,b=Pe(l,s,v);b.length>0&&(a=b)},g=async()=>{e.pid==null||i||n||f(await he())};f(L()),c=setInterval(()=>{g()},ye),c.unref();let S=s=>{n||t?.(s)};return e.on("exit",(s,l)=>{i=!0,p(),n||(X(a,o()),d()),S(`exited unexpectedly (code=${s??"null"}, signal=${l??"null"})`)}),e.on("error",s=>{S(`failed to spawn: ${s.message}`)}),{kill:async()=>{n=!0,p();let s=e.pid;if(s==null){w.delete(u);return}if(e.exitCode!==null||e.signalCode!==null){X(a,o()),await d();return}let l=o();if(l.length>0&&!Se(s,x.pid,l))return;let v=A(s,l);I(v,"SIGTERM");let b=await N(v,r);if(b.length===0){w.delete(u);return}let R=A(s,o()),U=[...new Set([...b,...R])].filter(se);I(U,"SIGKILL"),await N(U,V),w.delete(u)}}}import{constants as ve}from"node:os";import E from"node:process";var Ee=["SIGINT","SIGTERM","SIGHUP"],Ce=ve.signals,Re=2,T=e=>128+(Ce[e]??Re),Ne=2e4,Le=e=>{E.exit(e)},Ae=(e,r)=>{E.on(e,r)},Ie=(e,r)=>{E.off(e,r)},Te=(e,r)=>{let t=setTimeout(e,r);return t.unref(),()=>{clearTimeout(t)}},_=e=>{try{E.stderr.write(e)}catch{}},_e=(e,r)=>{let t=r instanceof Error?`${r.message}
3
+ ${r.stack??"(no stack)"}`:String(r);_(`
4
+ \u2717 Teardown failed while handling ${e}: ${t}
5
+ `)},Ar=({onSignal:e,exit:r=Le,register:t=Ae,unregister:o=Ie,forceReap:n=ie,teardownDeadlineMs:i=Ne,setTimer:a=Te,describeStall:c=()=>"unknown",fileReport:u=()=>{}})=>{let p=null,d=null,f=new Map,g=()=>{for(let[s,l]of f)o(s,l);f.clear()},S=s=>{if(p!==null){if(s!==p)return;_(`
6
+ \u26A0 Received ${s} again \u2014 force-quitting.
7
+ `),d?.(),n(),g(),r(T(s));return}p=s,d=a(()=>{let l=`
8
+ \u26A0 Teardown deadline exceeded at stage=${c()} after ${i}ms \u2014 force-quitting.
9
+ `;_(l),u(l),n(),g(),r(T(s))},i),(async()=>{try{await e(s)}catch(l){_e(s,l)}finally{d?.(),g(),r(T(s))}})()};for(let s of Ee){let l=()=>S(s);f.set(s,l),t(s,l)}return g};import Oe from"node:process";import{$ as O}from"zx";var De=async()=>{try{return await O`cmux --version`.quiet(),!0}catch{return!1}},Me=async e=>{let{cwd:r,title:t,layout:o}=e,n=JSON.stringify(o),a=(await O({env:{...Oe.env,CMUX_QUIET:"1"}})`cmux new-workspace --name ${t} --cwd ${r} --focus false --layout ${n}`).stdout;return Ge(a)},$e=async e=>{try{await O`cmux close-workspace --workspace ${e}`.quiet()}catch(r){m.debug({error:r,ref:e},"cmux: skipped closing dev workspace")}},Ge=e=>{let r=e.match(/workspace:\d+/);if(!r)throw new Error("cmux: could not locate workspace ref in new-workspace output");return r[0]};import{$ as Be}from"zx";import{realpath as We}from"node:fs/promises";import{$ as ae}from"zx";var C=async e=>{try{return await We(e)}catch{return e}},D=async()=>{try{let[e,r]=await Promise.all([ae`cmux workspace list --json`.quiet(),ae`cmux workspace-group list --json`.quiet()]),t=JSON.parse(e.stdout).workspaces??[],o=JSON.parse(r.stdout).groups??[],n=new Set(o.map(a=>a.anchor_workspace_ref).filter(a=>typeof a=="string")),i=new Map;for(let a of t)!a.current_directory||n.has(a.ref)||i.set(await C(a.current_directory),a.ref);return i}catch(e){return m.debug({error:e},"cmux: skipped listing workspaces by cwd"),new Map}};var Fe=async e=>{try{let t=(await D()).get(await C(e));if(!t)return;await Be`cmux workspace close ${t}`.quiet()}catch(r){m.debug({error:r,cwd:e},"cmux: skipped closing workspace by cwd")}};import{$ as M}from"zx";var ce=async e=>{try{let r=(await M`cmux workspace-group list --json`.quiet()).stdout;return(JSON.parse(r).groups??[]).find(n=>n.name===e)?.ref??null}catch(r){return m.debug({error:r,name:e},"cmux: skipped group lookup"),null}},Je=async(e,r)=>{try{let o=(await M`cmux workspace-group create --name ${e} --from ${r.join(",")}`).stdout.match(/workspace_group:\d+/)?.[0]??await ce(e);return o&&await M`cmux workspace-group pin ${o}`.quiet(),o??null}catch(t){return m.warn({error:t,name:e},"\u26A0\uFE0F cmux: failed to create workspace group"),null}};import{$ as y}from"zx";var Ue=async e=>{let{cwd:r,title:t,group:o}=e,n=H(await K()),i=o?(await y`cmux workspace create --cwd ${r} --group ${o} --group-placement end`).stdout:(await y`cmux workspace create --cwd ${r}`).stdout,a=qe(i),c=(await y`cmux list-pane-surfaces --workspace ${a}`).stdout,u=je(c);return await y`cmux new-split right --workspace ${a} --surface ${u}`,n==="three-pane"&&await y`cmux new-split down --workspace ${a} --surface ${u}`,t&&await y`cmux workspace rename --workspace ${a} --title ${t}`,a},je=e=>{let r=e.match(/surface:\d+/);if(!r)throw new Error("cmux: could not locate initial surface in list-pane-surfaces output");return r[0]},qe=e=>{let r=e.match(/workspace:\d+/);if(!r)throw new Error("cmux: could not locate workspace ref in workspace create output");return r[0]};var He=e=>{let{branch:r}=e,t=j(r);return t?q(t):r};var Ke=new Set(["ExitPromptError","AbortPromptError","PromptCancelledError"]),ue=e=>e instanceof Error&&Ke.has(e.name),st=e=>{if(ue(e))return!0;let r=e?.cause;return ue(r)};import{loadDev as ze}from"@slip-stream-kit/config/internal";import Qe from"node:path";var Ve=(e,r)=>{let t=new Set;for(let o of Object.values(e))for(let n of Object.keys(z(o,r).proxy))t.add(n);return[...t]},Xe=async(e,r)=>{let t={},o=[];return await Promise.all(r.map(async n=>{try{let a=(await ze(Qe.join(e,"apps",n,"ui")))?.proxy?.routes;if(!a)return;t[n]=Object.fromEntries(Object.entries(a).map(([c,u])=>[c,u.packageName]))}catch(i){o.push({app:n,message:i instanceof Error?i.message:String(i)})}})),{routePkg:(n,i)=>t[n]?.[i],loadErrors:o}},lt=async(e,r,t,o)=>{let{routePkg:n,loadErrors:i}=await Xe(e,Ve(r,t));return{ctx:{discovered:t,apiPkgByApp:Object.fromEntries(o.map(a=>[a.name,a.packageName])),routePkg:n},loadErrors:i}};import{execFile as er}from"node:child_process";import{createHash as rr}from"node:crypto";import{existsSync as pe,readFileSync as k}from"node:fs";import tr from"node:http";import or from"node:https";import nr from"node:net";import{homedir as sr}from"node:os";import{dirname as G,join as P}from"node:path";import h from"node:process";import ir from"node:tls";import{fileURLToPath as ar}from"node:url";import{promisify as cr}from"node:util";var Ye=/^[\w@%+=:,./-]+$/,Ze="'\\''",le=e=>Ye.test(e)?e:`'${e.replaceAll("'",Ze)}'`,$=e=>e.map(le).join(" ");var ur=cr(er),lr=e=>{let r=JSON.parse(k(e,"utf-8")),t=typeof r.bin=="string"?r.bin:r.bin?.portless;return t==null||t===""?null:t},pr=()=>{try{let e=G(ar(import.meta.url));for(;;){let r=P(e,"node_modules","portless","package.json");if(pe(r)){let o=lr(r);return o==null?null:P(G(r),o)}let t=G(e);if(t===e)return null;e=t}}catch{return null}},W,me=()=>(W===void 0&&(W=pr()),W),Lt=(e,r)=>{let t=[r.execPath??h.execPath,r.bin,...e];return(r.sudo===!0?"sudo ":"")+$(t)},mr=1500,B=1500,dr="x-portless",F="127.0.0.1",fr="localhost",gr="/Library/LaunchDaemons/sh.portless.proxy.plist",xr="/etc/systemd/system/portless.service",wr=(e=pe)=>{try{return h.platform==="darwin"?e(gr)?"yes":"no":h.platform==="linux"?e(xr)?"yes":"no":"unknown"}catch{return"unknown"}},yr=e=>new Promise(r=>{let t=nr.connect({host:F,port:e}),o=n=>{t.destroy(),r(n)};t.setTimeout(B),t.once("connect",()=>{o(!0)}),t.once("timeout",()=>{o(!1)}),t.once("error",()=>{o(!1)})}),Pr=(e,r)=>new Promise(t=>{let n=(r?or.request:tr.request)({host:F,port:e,method:"HEAD",path:"/",timeout:B,...r?{rejectUnauthorized:!1,servername:fr}:{}},i=>{i.resume(),t(i.headers[dr]==="1")});n.on("error",()=>{t(!1)}),n.on("timeout",()=>{n.destroy(),t(!1)}),n.end()}),hr=async(e,{timeoutMs:r})=>{let t=me();if(t==null)throw new Error("portless is not installed (not resolvable from node_modules)");await ur(h.execPath,[t,...e],{signal:AbortSignal.timeout(r),encoding:"utf-8",env:Q(h.env)})},J=()=>h.env.PORTLESS_STATE_DIR??P(sr(),".portless"),Sr="ca.pem",br="ca.trusted",de=()=>P(J(),Sr),At=()=>{try{let e=k(P(J(),br),"utf-8").trim();return e===""?!1:rr("sha256").update(k(de())).digest("hex")===e.toLowerCase()}catch{return!1}},It=(e,r)=>new Promise(t=>{let o;try{o=k(de())}catch{t({ok:!1,code:"ENOENT"});return}let n=ir.connect({host:F,port:e,servername:r,ca:[o],rejectUnauthorized:!0},()=>{let i=n.authorizationError,a=n.authorized;n.destroy(),t(a?{ok:!0}:{ok:!1,code:i?.code??i?.message??"UNKNOWN"})});n.setTimeout(B),n.once("timeout",()=>{n.destroy(),t({ok:!1,code:"ETIMEDOUT"})}),n.once("error",i=>{n.destroy(),t({ok:!1,code:i.code??"UNKNOWN"})})}),Tt=()=>{try{let e=JSON.parse(k(P(J(),"routes.json"),"utf-8"));return Array.isArray(e)?e.flatMap(r=>{let{hostname:t,port:o}=r??{};return typeof t!="string"||t===""||typeof o!="number"?[]:[{name:t,port:o}]}):[]}catch{return[]}},_t=(e={})=>{let r=e.bin===void 0?me():e.bin,t=e.run??hr,o=e.isListening??yr,n=e.isProxyServing??Pr,i=e.isServiceInstalled??wr,a=e.timeoutMs??mr,c=null,u=async s=>{try{return await t(s,{timeoutMs:a}),!0}catch{return!1}},p=async()=>(c??=await u(["--version"]),c);return{binPath:()=>r,isAvailable:p,isProxyServing:async(s,l)=>!await p()||!await o(s)?!1:n(s,l),probeProxy:async(s,l)=>await o(s)?await n(s,l)?"serving":"not-portless":"daemon-down",isServiceInstalled:i,registerAlias:async(s,l)=>await p()?u(["alias",s,String(l)]):!1,removeAlias:async s=>{await p()&&await u(["alias","--remove",s])}}};export{lt as a,$ as b,pr as c,Lt as d,yr as e,Pr as f,de as g,At as h,It as i,Tt as j,_t as k,ie as l,Er as m,T as n,Ar as o,C as p,D as q,Fe as r,ce as s,Je as t,De as u,Me as v,$e as w,Ue as x,He as y,st as z};
10
+ //# sourceMappingURL=chunk-744Y674Y.js.map