fluxflow-cli 4.16.5 → 4.16.7
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/chunks/ai-3V4PYG2S.js +1 -0
- package/dist/chunks/ai-Y4627CPZ.js +1 -0
- package/dist/chunks/{app-ARERN5VP.js → app-2WHVQJ53.js} +1 -1
- package/dist/chunks/{app-EFZ3IOWI.js → app-LN3S4O7C.js} +2 -2
- package/dist/chunks/{chunk-Q2DA5ED2.js → chunk-BEY5AR26.js} +1 -1
- package/dist/chunks/{chunk-C6GGJJHJ.js → chunk-DGX2HZVD.js} +155 -157
- package/dist/chunks/{chunk-2XZBVZAF.js → chunk-PTGEDU2G.js} +158 -158
- package/dist/chunks/{chunk-POB3KUHE.js → chunk-YO4FM7K6.js} +5 -5
- package/dist/chunks/{exec_command-GJFLZQRS.js → exec_command-OPHZ4N2Z.js} +1 -1
- package/dist/chunks/{invoke-J6BIGQ4S.js → invoke-J76S575F.js} +2 -2
- package/dist/chunks/{invoke-WUFZZUDC.js → invoke-QJ6LKY65.js} +2 -2
- package/dist/chunks/{invokeSync-JINIKUNX.js → invokeSync-FTQIS7EL.js} +2 -2
- package/dist/chunks/{invokeSync-NHNXTDRE.js → invokeSync-G2QK6PXF.js} +2 -2
- package/dist/chunks/{web_scrape-5LBY4FDC.js → web_scrape-IKJE45Z6.js} +1 -1
- package/dist/chunks/{web_search-YG5YAC5D.js → web_search-HDZ2VDTY.js} +3 -3
- package/dist/cli.js +1 -1
- package/dist/package.json +2 -2
- package/package.json +2 -2
- package/dist/chunks/ai-7NAPUVPT.js +0 -1
- package/dist/chunks/ai-DA4CWJF4.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as p,B as q,C as r,D as s,m as b,n as c,o as d,p as e,q as f,r as g,s as h,t as i,u as j,v as k,w as l,x as m,y as n,z as o}from"./chunk-DGX2HZVD.js";import"./chunk-VCF6JVQV.js";import"./chunk-56EJGQU3.js";import"./chunk-KRRJNFBF.js";import"./chunk-ZYJYKSIA.js";import"./chunk-HNUV7OHA.js";import"./chunk-KFM2OZWJ.js";import"./chunk-72RYQ5W7.js";import"./chunk-WKHYRBBK.js";import{g as a}from"./chunk-AAPXJU65.js";import"./chunk-SIINYZWE.js";import"./chunk-SHTF7RHG.js";import"./chunk-FDNLMLIM.js";import"./chunk-Y5JU726N.js";export{c as RE_LEADING_THINK,p as compressHistory,b as convertChannelThinkTags,q as deleteChatSummary,e as findGenuineThinkClose,r as getAIStream,j as getCleanGroupedLength,m as getGoogleClient,f as getLeadingThinkBlock,o as initAI,d as isInsideBacktick,a as isModelMultimodal,l as isTerminationSignaled,n as runJanitorTask,s as runSubagent,k as signalTermination,g as stripLeadingThinking,h as stripNakedXmlTags,i as stripTrailingFluffAfterTools};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as p,B as q,C as r,D as s,m as b,n as c,o as d,p as e,q as f,r as g,s as h,t as i,u as j,v as k,w as l,x as m,y as n,z as o}from"./chunk-PTGEDU2G.js";import"./chunk-VCF6JVQV.js";import"./chunk-56EJGQU3.js";import"./chunk-KRRJNFBF.js";import"./chunk-ZYJYKSIA.js";import"./chunk-HNUV7OHA.js";import"./chunk-KFM2OZWJ.js";import"./chunk-72RYQ5W7.js";import"./chunk-WKHYRBBK.js";import{g as a}from"./chunk-AAPXJU65.js";import"./chunk-SIINYZWE.js";import"./chunk-YO4FM7K6.js";import"./chunk-FDNLMLIM.js";import"./chunk-Y5JU726N.js";export{c as RE_LEADING_THINK,p as compressHistory,b as convertChannelThinkTags,q as deleteChatSummary,e as findGenuineThinkClose,r as getAIStream,j as getCleanGroupedLength,m as getGoogleClient,f as getLeadingThinkBlock,o as initAI,d as isInsideBacktick,a as isModelMultimodal,l as isTerminationSignaled,n as runJanitorTask,s as runSubagent,k as signalTermination,g as stripLeadingThinking,h as stripNakedXmlTags,i as stripTrailingFluffAfterTools};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as
|
|
1
|
+
import{A as tl,B as ol,C as nl,a as _i,b as qe,c as Re,d as wr,e as Gt,f as Gi,g as Wi,h as Tr,i as Yi,j as xs,k as Qo,l as Sr,v as Ri,y as el,z as Gn}from"./chunk-DGX2HZVD.js";import"./chunk-VCF6JVQV.js";import{a as Zi}from"./chunk-56EJGQU3.js";import{b as zi,c as Qi,d as Ji}from"./chunk-UAHJEAVX.js";import{a as No,b as fn,d as yr,e as fs,f as Vi,g as ji,i as Ki,j as Mr}from"./chunk-KRRJNFBF.js";import"./chunk-ZYJYKSIA.js";import{a as vt,b as pt,d as Fi,e as ft,f as Ui,j as ms,k as gs,l as _n,n as $i,o as Co}from"./chunk-HNUV7OHA.js";import{a as Xn}from"./chunk-KFM2OZWJ.js";import{b as mn,c as as,k as Ai}from"./chunk-72RYQ5W7.js";import{b as us}from"./chunk-AZGFDR6K.js";import{a as Li,b as Pi,c as pr,d as br,f as Ct,g as zo,h as cs,l as Oi}from"./chunk-WKHYRBBK.js";import{a as Ci,b as vi,c as Ei,d as Bi,e as Di,f as ki,g as hr,i as Oo,j as go,k as Ii,l as ds,m as Ot}from"./chunk-AAPXJU65.js";import{c as fr,d as Si,e as xr}from"./chunk-SIINYZWE.js";import{e as Ni}from"./chunk-YNU56P2H.js";import{b as Hi,d as gn,e as qt,f as Xi}from"./chunk-4VUJ7ITH.js";import"./chunk-SHTF7RHG.js";import{a as qi}from"./chunk-A73NNVCZ.js";import{a as no,b as qo,c as mo,d as gr,e as ls,j as $n}from"./chunk-FDNLMLIM.js";import{a as Hn}from"./chunk-Y5JU726N.js";import $s from"os";import e,{useState as Q,useEffect as et,useRef as je,useMemo as wn}from"react";import{Box as c,Text as l,useInput as Vd,useStdout as jd,Static as Kd}from"ink";import qd from"ink-spinner";import Qe from"fs-extra";import Mt from"path";import{exec as To}from"child_process";import{fileURLToPath as zd}from"url";import Ht,{useState as Cr,useEffect as hs,useMemo as Wn,useCallback as ha,useRef as vo}from"react";import{Box as pa,Text as ro,useInput as ba}from"ink";function wa(t,g){return t.replace(/\t/g," ".repeat(g))}function vr(t){return t==null?"":t.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`)}function Jo(t,g,h){let y=t,w=[...g].sort((s,k)=>s.start-k.start),b=0;for(let s of w){let k=s.start-b,f=vr(s.text).split(`
|
|
4
4
|
`).length,I=s.text.length,L=(f>3?`[Pasted ${f} lines]`:`[Pasted ${I} chars]`).length,X=k+L;if(t<=k)break;if(t<X){y=s.end;break}else{let S=s.text.length-L;y+=S,b+=S}}return Math.min(y,h.length)}function ps(t,g,h,y,w=[]){let b=(t||"").slice(0,g),s=y(b).length,k=y(t||""),f=[...w].sort((O,D)=>D.start-O.start);for(let O of f){let D=y(t.slice(0,O.start)).length,U=y(O.text),oe=D+U.length,xe=vr(O.text).split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as
|
|
1
|
+
import{A as tl,B as ol,C as nl,a as _i,b as qe,c as Re,d as wr,e as Gt,f as Gi,g as Wi,h as Tr,i as Yi,j as xs,k as Qo,l as Sr,v as Ri,y as el,z as Gn}from"./chunk-PTGEDU2G.js";import"./chunk-VCF6JVQV.js";import{a as Zi}from"./chunk-56EJGQU3.js";import{b as zi,c as Qi,d as Ji}from"./chunk-UAHJEAVX.js";import{a as No,b as fn,d as yr,e as fs,f as Vi,g as ji,i as Ki,j as Mr}from"./chunk-KRRJNFBF.js";import"./chunk-ZYJYKSIA.js";import{a as vt,b as pt,d as Fi,e as ft,f as Ui,j as ms,k as gs,l as _n,n as $i,o as Co}from"./chunk-HNUV7OHA.js";import{a as Xn}from"./chunk-KFM2OZWJ.js";import{b as mn,c as as,k as Ai}from"./chunk-72RYQ5W7.js";import{b as us}from"./chunk-AZGFDR6K.js";import{a as Li,b as Pi,c as pr,d as br,f as Ct,g as zo,h as cs,l as Oi}from"./chunk-WKHYRBBK.js";import{a as Ci,b as vi,c as Ei,d as Bi,e as Di,f as ki,g as hr,i as Oo,j as go,k as Ii,l as ds,m as Ot}from"./chunk-AAPXJU65.js";import{c as fr,d as Si,e as xr}from"./chunk-SIINYZWE.js";import{e as Ni}from"./chunk-YNU56P2H.js";import{b as Hi,d as gn,e as qt,f as Xi}from"./chunk-BEY5AR26.js";import"./chunk-YO4FM7K6.js";import{a as qi}from"./chunk-A73NNVCZ.js";import{a as no,b as qo,c as mo,d as gr,e as ls,j as $n}from"./chunk-FDNLMLIM.js";import{a as Hn}from"./chunk-Y5JU726N.js";import $s from"os";import e,{useState as Q,useEffect as et,useRef as je,useMemo as wn}from"react";import{Box as c,Text as l,useInput as Vd,useStdout as jd,Static as Kd}from"ink";import qd from"ink-spinner";import Qe from"fs-extra";import Mt from"path";import{exec as To}from"child_process";import{fileURLToPath as zd}from"url";import Ht,{useState as Cr,useEffect as hs,useMemo as Wn,useCallback as ha,useRef as vo}from"react";import{Box as pa,Text as ro,useInput as ba}from"ink";function wa(t,g){return t.replace(/\t/g," ".repeat(g))}function vr(t){return t==null?"":t.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`)}function Jo(t,g,h){let y=t,w=[...g].sort((s,k)=>s.start-k.start),b=0;for(let s of w){let k=s.start-b,f=vr(s.text).split(`
|
|
4
4
|
`).length,I=s.text.length,L=(f>3?`[Pasted ${f} lines]`:`[Pasted ${I} chars]`).length,X=k+L;if(t<=k)break;if(t<X){y=s.end;break}else{let S=s.text.length-L;y+=S,b+=S}}return Math.min(y,h.length)}function ps(t,g,h,y,w=[]){let b=(t||"").slice(0,g),s=y(b).length,k=y(t||""),f=[...w].sort((O,D)=>D.start-O.start);for(let O of f){let D=y(t.slice(0,O.start)).length,U=y(O.text),oe=D+U.length,xe=vr(O.text).split(`
|
|
@@ -39,7 +39,7 @@ import{A as ol,B as nl,a as _i,b as qe,c as Re,d as wr,e as Gt,f as Gi,g as Wi,h
|
|
|
39
39
|
`),terminalWidth:g,theme:b}));if(f==="diff-line"){let{isFirstLine:S,isLastLine:v}=t,A=(O=!1)=>r.createElement(E,{backgroundColor:s.codeBg,paddingX:1,width:g,marginBottom:O?1:0},r.createElement(E,{width:3,flexShrink:0}),r.createElement(E,{width:1,flexShrink:0,marginLeft:1}),r.createElement(E,{flexGrow:1,marginLeft:1},r.createElement(te,null," ")));return r.createElement(E,{flexDirection:"column"},S&&A(!1),r.createElement(ul,{line:I,pairContent:t.pairContent,parentText:void 0,columns:g,theme:b}),v&&A(!0))}if(f==="code-fence-open"){let S={paddingLeft:2,width:"100%"};return r.createElement(E,{flexDirection:"column",marginTop:0,marginBottom:0,width:"100%"},r.createElement(E,{flexDirection:"row",...S},r.createElement(te,null," ")),r.createElement(E,{flexDirection:"row",...S},r.createElement(te,{color:"gray",bold:!0},"\u25B6_ ",(I||"TEXT").toUpperCase())))}if(f==="code-line"){let{lineNum:S,lang:v}=t,A=g-12,D=pt(I,Math.max(10,A)).split(`
|
|
40
40
|
`);return r.createElement(E,{flexDirection:"column",width:"100%"},D.map((U,oe)=>r.createElement(E,{key:oe,flexDirection:"row",borderColor:s.codeBorder,paddingLeft:2,width:"100%"},r.createElement(E,{width:5,flexShrink:0},r.createElement(te,{color:"gray",dimColor:!0},oe===0?String(S).padStart(4," ")+" ":" ")),r.createElement(E,{flexGrow:1},Nt(U,v,s.text)))))}if(f==="code-fence-close")return r.createElement(E,{flexDirection:"row",paddingLeft:2,marginBottom:1,width:"100%"},r.createElement(te,null," "));if(f==="write-header")return r.createElement(E,{flexDirection:"column",paddingX:1,width:g},r.createElement(hn,{text:I,columns:g,theme:b}));if(f==="write-line"){let{gutterWidth:S,lineNum:v,isFirstLine:A,isLastLine:O,extension:D,wrappedLines:U}=t,oe=(xe=!1)=>r.createElement(E,{flexDirection:"row",width:g,borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,borderColor:s.codeBorder,paddingLeft:2,paddingRight:0,backgroundColor:s.codeBg,marginBottom:xe?1:0},r.createElement(E,{width:S+2,flexShrink:0},r.createElement(te,null," ".repeat(S+2))),r.createElement(E,{flexGrow:1},r.createElement(te,null," ")));return r.createElement(E,{flexDirection:"column"},A&&oe(!1),r.createElement(E,{flexDirection:"row",width:g,borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,borderColor:s.codeBorder,paddingLeft:2,paddingRight:0,backgroundColor:s.codeBg},r.createElement(E,{width:S+2,flexShrink:0},r.createElement(te,{color:"gray",dimColor:!0},String(v).padStart(S," ")," ")),r.createElement(E,{flexGrow:1,flexDirection:"column"},(U||[I]).map((xe,ve)=>r.createElement(E,{key:ve},Nt(xe,D,s.text))))),O&&oe(!0))}return f==="write-footer"?r.createElement(E,{flexDirection:"column",paddingX:1,width:g,marginTop:1,marginBottom:1},r.createElement(hn,{text:I,columns:g,theme:b})):f==="worked-duration"?r.createElement(E,{marginTop:1,marginBottom:2,paddingX:1,width:"100%"},r.createElement(te,{color:s.textMuted},"["),r.createElement(te,{color:s.textMuted},"Worked for ",r.createElement(te,{bold:!0,color:s.text},Ts(X))),r.createElement(te,{color:s.textMuted},"]")):null}),Xc=r.memo(({messages:t,showFullThinking:g,columns:h=80,aiProvider:y,version:w,theme:b="Dark"})=>r.createElement(E,{flexDirection:"column",width:"100%"},t.map((s,k)=>r.createElement(ml,{key:s.id||k,msg:s,showFullThinking:g,columns:h,aiProvider:y,version:w,theme:b}))));import xt from"react";import{Box as Fo,Text as fo}from"ink";import{useState as Vn,useEffect as jn,useRef as kr}from"react";var Kn=null;function gl(){Kn&&Kn()}var fd=t=>{if(t<=370)return"#00a564";if(t>=5e3)return"#ff0000";let g=[{t:370,r:0,g:165,b:100},{t:550,r:40,g:195,b:80},{t:800,r:120,g:220,b:50},{t:1100,r:190,g:225,b:20},{t:1500,r:250,g:210,b:15},{t:2e3,r:255,g:170,b:0},{t:2800,r:255,g:110,b:0},{t:3800,r:255,g:50,b:0},{t:5e3,r:255,g:0,b:0}];for(let h=0;h<g.length-1;h++){let y=g[h],w=g[h+1];if(t>=y.t&&t<=w.t){let b=(t-y.t)/(w.t-y.t);b=b*b*(3-2*b);let s=Math.round(y.r+(w.r-y.r)*b),k=Math.round(y.g+(w.g-y.g)*b),f=Math.round(y.b+(w.b-y.b)*b);return`#${((1<<24)+(s<<16)+(k<<8)+f).toString(16).slice(1)}`}}return"#ff0000"},xd=xt.memo(({mode:t,thinkingLevel:g,tokens:h="0.0k",tokensTotal:y="0.0k",cachedTokens:w=0,promptTokens:b=0,chatId:s="NEW-SESSION",isMemoryEnabled:k=!0,apiTier:f="Free",aiProvider:I="Google",activeModel:L="",isProcessing:X=!1,lastChunkTime:S=0,theme:v="Dark",wps:A=0,showTPMEstimate:O=!1})=>{let D=qe(v),U="",[oe,xe]=Vn(0),[ve,ne]=Vn(0),[le,Me]=Vn("MB"),[ke,ge]=Vn("green"),[we,J]=Vn(0),Te=kr([]),ue=kr(370),R=kr([]),_e=kr(S);jn(()=>{_e.current=S},[S]),jn(()=>{if(!X){R.current=[];return}if(A>0){let Z=R.current;Z.push(A),Z.length>3&&Z.shift()}},[X,A,S]),jn(()=>{if(!X){J(0);return}let Z=setInterval(()=>{let ae=_e.current,re=ae>0?Date.now()-ae:0;if(ae>0&&re>=1e3)R.current=[],J(0);else if(ae>0&&re>500){R.current.length>0&&R.current.shift();let se=R.current;if(se.length>0){let fe=se.reduce((ee,Ce)=>ee+Ce,0);J(Math.round(fe/se.length))}else J(0)}else{let se=R.current;if(se.length>0){let fe=se.reduce((ee,Ce)=>ee+Ce,0);J(Math.round(fe/se.length))}else A>0&&J(Math.round(A))}},750);return()=>clearInterval(Z)},[X]),jn(()=>{if(!X){Te.current=[];return}if(S>0){let re=Te.current;(re.length===0||re[re.length-1]!==S)&&(re.push(S),re.length>10&&re.shift())}let Z=()=>{if(!S){ge("#00a564");return}let re=Te.current,se=0;if(re.length>1){let ie=0;for(let pe=1;pe<re.length;pe++)ie+=re[pe]-re[pe-1];se=ie/(re.length-1)}let fe=Date.now()-S,Ce=fe>=2500,nt=!Ce&&se>0?Math.min(fe,se*3):fe,at=Math.max(se,nt),Ie=Ce?.4:.2;ue.current=ue.current*(1-Ie)+at*Ie,ge(fd(ue.current))};Z();let ae=setInterval(Z,100);return()=>clearInterval(ae)},[X,S]);let me=()=>{let Z=process.memoryUsage(),ae=Z.heapTotal/(1024*1024)>=1024,re=ae?"GB":"MB",se=(fe,ee)=>{let Ce=fe/(1048576*(ee?1024:1));return ee?parseFloat(Ce.toFixed(2)):Math.round(Ce)};Me(re),ne(se(Z.heapTotal,ae)),xe(se(Z.heapUsed,ae))};return jn(()=>{Kn=me,me();let Z=setInterval(()=>{me()},6e4);return()=>{clearInterval(Z),Kn===me&&(Kn=null)}},[]),xt.createElement(Fo,{flexDirection:"row",justifyContent:"space-between",paddingX:1,width:"100%"},xt.createElement(Fo,null,xt.createElement(Fo,{marginRight:1},xt.createElement(fo,{color:D.textMuted},t.toLowerCase()==="flow"?"Studio":t.toLowerCase()==="icu"?"Computer Use":t.toLowerCase()==="flux"?"Workspace":"Omni")),xt.createElement(fo,{color:D.textMuted,dimColor:!0},"\u2503 "),xt.createElement(Fo,null,xt.createElement(fo,{color:D.text,italic:!0},Ui(process.cwd(),35)))),xt.createElement(Fo,null,X?xt.createElement(Fo,null,xt.createElement(fo,{color:ke},"\u25CF"),O&&xt.createElement(xt.Fragment,null,xt.createElement(fo,{color:D.textMuted,bold:!0}," ",we," tps"),xt.createElement(fo,{color:D.textMuted,dimColor:!0}," \u2503"))):null,h>0&&xt.createElement(xt.Fragment,null,xt.createElement(Fo,{marginX:1},xt.createElement(fo,{color:D.text},ft(y),(()=>{let Z=typeof b=="number"?b:0,ae=typeof w=="number"?w:0,re=Z>0?ae/Z*100:0;return re<1?null:xt.createElement(fo,{color:D.success||"green",dimColor:!0}," ",re.toFixed(0),"%")})())),xt.createElement(fo,{color:D.textMuted,dimColor:!0},"\u2503")),xt.createElement(Fo,{marginLeft:1},xt.createElement(fo,{color:D.textMuted,bold:!0},oe," ",le))))}),fl=xd;import tt,{useState as ys,useMemo as hd,useEffect as pd}from"react";import{Box as Wt,Text as zt,useInput as bd}from"ink";import wd from"ink-select-input";var Td=({label:t,isSelected:g,theme:h="Dark"})=>{let y=qe(h),w=t==="Cancel"||t==="Back"||t.toLowerCase().includes("exit")||t.toLowerCase().includes("back");return tt.createElement(Wt,{marginTop:w?1:0,backgroundColor:g?y.highlightBg:void 0,paddingX:1,width:"100%"},tt.createElement(zt,{color:g?y.text:y.textMuted,bold:g},g?"\u276F ":" ",t))};function ht({title:t,subtitle:g,items:h=[],onSelect:y,theme:w="Dark",searchable:b=!1}){let s=qe(w),[k,f]=ys(""),[I,L]=ys(0),[X,S]=ys("list"),v=hd(()=>{if(!b||!k.trim())return h;let A=k.toLowerCase().trim();return h.filter(O=>O.label&&O.label.toLowerCase().includes(A))},[h,k,b]);return pd(()=>{L(0)},[k]),bd((A,O)=>{if(b){if(O.upArrow){S("list"),L(D=>v.length>0?D>0?D-1:v.length-1:0);return}if(O.downArrow){S("list"),L(D=>v.length>0&&D<v.length-1?D+1:0);return}if(O.return){v.length>0&&v[I]&&y(v[I]);return}if(O.escape){if(k)f(""),S("list"),L(0);else{let D=h.find(U=>U.value==="Back"||U.label==="Back"||U.value==="Cancel"||U.label==="Cancel");D&&y(D)}return}if(O.backspace||O.delete){S("search"),f(D=>D.slice(0,-1));return}if(A&&!O.ctrl&&!O.meta&&!O.tab){S("search"),f(D=>D+A);return}}},{isActive:b}),b?tt.createElement(Wt,{flexDirection:"column",borderStyle:"round",borderColor:s.borderMuted,padding:0,marginTop:0,flexShrink:0,width:"100%"},t&&tt.createElement(Wt,{paddingX:1,paddingY:0,marginBottom:0},tt.createElement(zt,{color:s.text,bold:!0},typeof t=="string"?t.toUpperCase():t)),g&&tt.createElement(Wt,{paddingX:1,marginBottom:0},tt.createElement(zt,{color:s.textMuted,italic:!0}," ",g)),tt.createElement(Wt,{paddingX:1,marginTop:1,marginBottom:1,flexDirection:"row"},tt.createElement(zt,{color:X==="search"?s.primary||"cyan":s.textMuted,bold:X==="search"},"\u{1F50D} Search:"),tt.createElement(zt,{color:s.text,bold:!0}," ",k),X==="search"?tt.createElement(zt,{color:s.primary||"cyan"},"\u2588"):k?null:tt.createElement(zt,{color:s.textMuted,italic:!0}," (type to search...)")),tt.createElement(Wt,{flexDirection:"column",width:"100%"},v.length===0?tt.createElement(Wt,{paddingX:1,marginY:0},tt.createElement(zt,{color:s.warning||"yellow",italic:!0}," No matching items found")):v.map((A,O)=>{let D=O===I,U=A.label==="Cancel"||A.label==="Back"||A.label.toLowerCase().includes("exit")||A.label.toLowerCase().includes("back");return tt.createElement(Wt,{key:A.value??A.label??O,marginTop:U?1:0,backgroundColor:D?s.highlightBg:void 0,paddingX:1,width:"100%"},tt.createElement(zt,{color:D?s.text:s.textMuted,bold:D},D?"\u276F ":" ",A.label))})),tt.createElement(Wt,{paddingX:1,marginTop:1},tt.createElement(zt,{color:s.textMuted,italic:!0},X==="search"?"(Type letters to search \u2022 Arrows for list mode \u2022 Enter to select)":"(Arrows to navigate \u2022 Type letters to search \u2022 Enter to select)"))):tt.createElement(Wt,{flexDirection:"column",borderStyle:"round",borderColor:s.borderMuted,padding:0,marginTop:0,flexShrink:0,width:"100%"},t&&tt.createElement(Wt,{paddingX:1,paddingY:0,marginBottom:g?0:1},tt.createElement(zt,{color:s.text,bold:!0},typeof t=="string"?t.toUpperCase():t)),g&&tt.createElement(Wt,{paddingX:1,marginBottom:1},tt.createElement(zt,{color:s.textMuted,italic:!0}," ",g)),tt.createElement(Wt,{flexDirection:"column",width:"100%"},tt.createElement(wd,{items:h,onSelect:y,itemComponent:A=>tt.createElement(Td,{...A,theme:w}),indicatorComponent:()=>null})),tt.createElement(Wt,{paddingX:1,marginTop:1},tt.createElement(zt,{color:s.textMuted,italic:!0},"(Arrows to select \u2022 Enter to confirm)")))}import C,{useState as Lt,useEffect as qn}from"react";import{Box as Ne,Text as j,useInput as yd}from"ink";import Md from"ink-text-input";import Sd from"v8";import xl from"os";var xo=[...Object.keys(_i),"Mystery"],ho=[{id:"appearance",label:"Appearance",desc:"Customize UI theme & rendering options"},{id:"memory",label:"Memory",desc:"Manage system context & agent's memory"},{id:"other",label:"Miscellaneous",desc:"Miscellaneous preferences"},{id:"providers",label:"Providers",desc:"Configure AI models"},{id:"security",label:"Security",desc:"Configure permissions & data safety"},{id:"updater",label:"Updater",desc:"Manage application updates"},{id:"exit",label:"Exit Settings",desc:"Return to chat view"}],hl=t=>{let g=t.autoApproveCommands||"",h=t.autoDisallowCommands||"",y=t.alwaysAskCommands||"",w=t.autoExec===!1&&t.allowExternalAccess===!1&&t.networkAccess===!1&&g===""&&h==="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c"&&y==="killall, pkill, taskkill, shutdown, reboot, init 0, init 6, Stop-Process, Stop-Service, mv /*, move c:\\*, chmod 000, chmod -R 777, chown, icacls, netsh advfirewall, iptables -F, ufw disable, git reset --hard, git clean -fd, npm r, npm uninstall"&&t.autoApproveGit===!1,b=t.autoExec===!0&&t.allowExternalAccess===!1&&t.networkAccess!==!1&&g==="ls, dir, cat, type, echo, pwd, cd, git status, git log, git diff, git branch, git show, help, mkdir, touch, md, whoami, hostname, ps, Get-Process, date, time, mkdir"&&h==="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c"&&y==="killall, pkill, taskkill, Stop-Process, mv /*, move c:\\*, chmod 000, chmod -R 777, chown, icacls, shutdown, reboot, init 0, init 6, git reset --hard, git clean -fd, npm r, npm uninstall"&&t.autoApproveGit===!1,s=t.autoExec===!0&&t.allowExternalAccess===!0&&t.networkAccess!==!1&&g==="ls, dir, cat, type, echo, pwd, cd, git status, git log, git diff, git branch, git show, help, mkdir, touch, md, whoami, hostname, ps, Get-Process, date, time, mkdir"&&h===""&&y==="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c"&&t.autoApproveGit===!0;return w?"Strict":b?"Balanced":s?"Autonomous":t.sandboxPreset||"Custom"},Ms=t=>!t||t.trim()===""?"None":t.length>40?t.substring(0,40)+"...":t;function Ir({systemSettings:t,setSystemSettings:g,apiTier:h,setActiveView:y,setInputConfig:w,saveSettings:b,quotas:s,setMessages:k,aiProvider:f,initialSelectingTheme:I=!1,onCloseTheme:L=null,setProviderReturnView:X=null}){let S=t.theme==="Chaos"||t.theme==="Mystery"?"Mystery":t.theme||"Dark",v=xo.indexOf(S),[A,O]=Lt("categories"),[D,U]=Lt(0),[oe,xe]=Lt(0),[ve,ne]=Lt(null),[le,Me]=Lt(""),[ke,ge]=Lt(I),[we,J]=Lt(v>=0?v:0),[Te,ue]=Lt(t.theme||"Dark"),[R,_e]=Lt(!1),[me,Z]=Lt(0),[ae,re]=Lt(0),[se,fe]=Lt(""),[ee,Ce]=Lt("list"),[nt,at]=Lt({});qn(()=>{(async()=>{let T=["Google","DeepSeek","OpenRouter","NVIDIA","Mistral","Ollama","InferX","SenseNova","AIHubMix","Poolside","9router","ExpLabs","TokenHarbor","APInex"],$={};for(let ye of T)try{await mn(ye)&&($[ye]=!0)}catch{}at($)})()},[]);let Ie=C.useMemo(()=>{let de=["Google","DeepSeek","OpenRouter","NVIDIA","Mistral","Ollama","InferX","SenseNova","AIHubMix","Poolside","9router","ExpLabs","TokenHarbor","APInex"],$=!!(process.env.SUBAGENT_MODEL&&process.env.SUBAGENT_MODEL.trim())?`ENV (${process.env.SUBAGENT_MODEL.trim()})`:"ENV",ye=[{label:"Default (use the current model)",value:"Default",isHeader:!1},{label:$,value:"ENV",isHeader:!1}],He=s?.providerTiers?.[f]||h||"Free",rt=Oo(f,He)||[];rt.length>0&&(ye.push({label:`\u2500\u2500 ${f.toUpperCase()}${He!=="Free"?` (${He})`:""} \u2500\u2500`,isHeader:!0}),rt.forEach(ot=>{let Xe=typeof ot=="string"?ot:ot.cmd||ot.name||ot.id||String(ot);Xe&&!Xe.trim().startsWith("---")&&!Xe.startsWith(`
|
|
41
41
|
---`)&&ye.push({label:Xe,value:Xe,isHeader:!1,provider:f})}));for(let ot of de)if(ot!==f&&nt[ot]){let Xe=s?.providerTiers?.[ot]||"Free",kt=Oo(ot,Xe)||[];kt.length>0&&(ye.push({label:`\u2500\u2500 ${ot.toUpperCase()}${Xe!=="Free"?` (${Xe})`:""} \u2500\u2500`,isHeader:!0}),kt.forEach(We=>{let eo=typeof We=="string"?We:We.cmd||We.name||We.id||String(We);eo&&!eo.trim().startsWith("---")&&!eo.startsWith(`
|
|
42
|
-
---`)&&ye.push({label:eo,value:eo,isHeader:!1,provider:ot})}))}return ye},[f,h,s,nt]),ie=C.useMemo(()=>{if(!se.trim())return Ie;let de=se.trim().toLowerCase(),T=[],$=null;for(let ye of Ie)ye.isHeader?$=ye:(ye.label.toLowerCase().includes(de)||ye.value&&ye.value.toLowerCase().includes(de))&&($&&!T.includes($)&&T.push($),T.push(ye));return T},[Ie,se]);qn(()=>{if(R){let de=ie.findIndex(T=>!T.isHeader);Z(de>=0?de:0),re(0)}},[se]),qn(()=>{if(R){if(ie.length===0){Z(0),re(0);return}if(me>=ie.length||ie[me]?.isHeader){let de=ie.findIndex(T=>!T.isHeader);Z(de>=0?de:0)}}},[ie,R]);let[pe,Ge]=Lt(0),[F,Dt]=Lt(0),[gt,Ut]=Lt("MB"),[Vt,Fr]=Lt(!1);qn(()=>{let de=!1;return import("./exec_command-GJFLZQRS.js").then(T=>{de||Fr(!!T.isPtyAvailable)}).catch(()=>{}),()=>{de=!0}},[]),qn(()=>{let de=Sd.getHeapStatistics().heap_size_limit,T=de>=1024*1024*1024,$=T?"GB":"MB",ye=T?1024*1024*1024:1024*1024;Dt(parseFloat((de/ye).toFixed(2))),Ut($);let He=()=>{let kt=process.memoryUsage().rss/ye,We=T?parseFloat(kt.toFixed(2)):Math.round(kt);Ge(We)};He();let rt=setInterval(()=>{He()},3e4);return()=>clearInterval(rt)},[]);let Ro=de=>{switch(de){case"providers":{let $=[{label:"Current Provider",value:"aiProvider",status:f}];return f==="Ollama"&&$.push({label:"Endpoint",value:"ollamaEndpoint",status:t.ollamaEndpoint||"Cloud"}),$}case"appearance":return[{label:"Theme",value:"theme",status:t.theme||"Dark"},{label:"Loading Phrases",value:"loadingPhrases",status:t.loadingPhrases!==!1?"ON":"OFF"},{label:"Progressive Rendering [EXPERIMENTAL]",value:"progressiveRendering",status:t.progressiveRendering?"ON":"OFF"},{label:"Show TPM Estimate",value:"showTPMEstimate",status:t.showTPMEstimate?"ON":"OFF"}];case"memory":return[{label:"Toggle Memory [Legacy]",value:"memory",status:t.memory?"ON":"OFF"}];case"security":return[{label:"Sandbox Preset",value:"sandboxPreset",status:hl(t),section:"Sandbox"},{label:"YOLO Mode",value:"autoExec",status:t.autoExec?"ON":"OFF",section:"Sandbox"},{label:"External Workspace Access",value:"externalAccess",status:t.allowExternalAccess?"ON":"OFF",section:"Sandbox"},{label:"Network Access (Terminal)",value:"networkAccess",status:t.networkAccess!==!1?"ON":"OFF",section:"Sandbox"},{label:"Always Ask Commands",value:"alwaysAsk",status:Ms(t.alwaysAskCommands),section:"Sandbox"},{label:"Auto Approve Commands",value:"autoApprove",status:Ms(t.autoApproveCommands),section:"Sandbox"},{label:"Auto Disapprove Commands",value:"autoDisallow",status:Ms(t.autoDisallowCommands),section:"Sandbox"},{label:"Auto Approve Git Commits",value:"autoApproveGit",status:t.autoApproveGit?"ON":"OFF",section:"Sandbox"},{label:"Advanced Recovery [EXPERIMENTAL]",value:"advanceRollback",status:t.advanceRollback?"ON":"OFF",section:"Other"},{label:"Auto-Delete History",value:"autoDelete",status:t.autoDeleteHistory||"30d",section:"Other"},{label:"Save AppData Externally",value:"externalData",status:t.useExternalData?"ON":"OFF",section:"Other"}];case"updater":return[{label:"Auto-Update",value:"autoUpdate",status:t.autoUpdate?"ON":"OFF"},{label:"Preferred Package Manager",value:"updateManager",status:(t.updateManager||"npm")==="custom"?"Custom":(t.updateManager||"npm").toUpperCase()}];case"other":return[{label:"Sub-Agents",value:"subAgents",status:t.subAgents!==!1?"ON":"OFF"},{label:"Sub-Agent Model",value:"subAgentModel",status:t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default"},{label:"Verbose Thinking",value:"preserveThinking",status:t.preserveThinking!==!1?"ON":"OFF"},{label:"Dynamic Directory Awareness",value:"dynamicDirAwareness",status:t.dynamicDirAwareness?"ON":"OFF"},{label:"Directory Tree Design",value:"indentationTree",status:t.indentationTree!==!1?"Modern":"Classic (deprecated)"},{label:"Compact Large Tool Results",value:"compressToolResults",status:t.compressToolResults?"ON":"OFF"},{label:"Auto Truncate Results",value:"autoTruncateResults",status:t.autoTruncateResults?"ON":"OFF"},{label:"Image History for CU",value:"imageHistoryCU",status:t.imageHistoryCU||"Standard"},{label:"Context Length",value:"contextLength",status:t.contextLength||"256k"},{label:"Keep Reasoning Context",value:"keepReasoningContext",status:t.keepReasoningContext?"ON":"OFF"},{label:"Auto Exclude Metadata",value:"autoExcludeMetadata",status:t.autoExcludeMetadata?"ON":"OFF"}];default:return[]}},en=ho[D].id,Fe=Ro(en);yd((de,T)=>{if(R){if(T.tab){Ce($=>$==="search"?"list":"search");return}if(ee==="search"){T.escape?_e(!1):T.downArrow||T.return?Ce("list"):T.backspace||T.delete?fe($=>$.slice(0,-1)):de&&!T.ctrl&&!T.meta&&de.length===1&&fe($=>$+de);return}if(T.upArrow)Z($=>{if(ie.length===0)return 0;let ye=($-1+ie.length)%ie.length,He=0;for(;ie[ye]?.isHeader&&He<ie.length;)ye=(ye-1+ie.length)%ie.length,He++;return ye});else if(T.downArrow)Z($=>{if(ie.length===0)return 0;let ye=($+1)%ie.length,He=0;for(;ie[ye]?.isHeader&&He<ie.length;)ye=(ye+1)%ie.length,He++;return ye});else if(T.return){let $=ie[me];$&&!$.isHeader&&(g(ye=>{let He=$.value==="Default",rt={...ye,CustomSubAgent:!He,SubAgentModel:$.value,SubAgentProvider:He?"":$.provider||""};return b({systemSettings:rt,apiTier:h,quotas:s}),rt}),_e(!1))}else T.escape?_e(!1):de&&!T.ctrl&&!T.meta&&de.length===1&&(fe($=>$+de),Ce("search"));return}if(ke){if(T.upArrow){let $=(we-1+xo.length)%xo.length;J($)}else if(T.downArrow){let $=(we+1)%xo.length;J($)}else if(T.return){let $=xo[we];g(ye=>{let He={...ye,theme:$};return b({systemSettings:He,apiTier:h,quotas:s}),He}),L?L():ge(!1)}else T.escape&&(L?L():ge(!1));return}if(ve){T.escape&&ne(null);return}if(A==="categories")T.upArrow?U($=>($-1+ho.length)%ho.length):T.downArrow?U($=>($+1)%ho.length):T.return||T.rightArrow?ho[D].id==="exit"?y("chat"):(O("items"),xe(0)):T.escape&&y("chat");else if(A==="items"){let $=Fe[oe];if(de==="?"&&$?.value==="dynamicDirAwareness"){y("dynamicDirHelp");return}if(T.upArrow)xe(ye=>(ye-1+Fe.length)%Fe.length);else if(T.downArrow)xe(ye=>(ye+1)%Fe.length);else if(T.leftArrow||T.escape)O("categories");else if(T.return){let ye=Fe[oe];Rt(ye)}}});let Rt=de=>{if(de.value==="memory")g(T=>({...T,memory:!T.memory}));else if(de.value==="sandboxPreset"){let T=hl(t),$=["Autonomous","Balanced","Strict"],He=($.indexOf(T)+1)%$.length,rt=$[He];g(ot=>{let Xe={...ot,sandboxPreset:rt};return rt==="Strict"?(Xe.autoExec=!1,Xe.allowExternalAccess=!1,Xe.networkAccess=!1,Xe.autoApproveCommands="",Xe.autoDisallowCommands="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c",Xe.alwaysAskCommands="killall, pkill, taskkill, shutdown, reboot, init 0, init 6, Stop-Process, Stop-Service, mv /*, move c:\\*, chmod 000, chmod -R 777, chown, icacls, netsh advfirewall, iptables -F, ufw disable, git reset --hard, git clean -fd, npm r, npm uninstall",Xe.autoApproveGit=!1):rt==="Balanced"?(Xe.autoExec=!0,Xe.allowExternalAccess=!1,Xe.networkAccess=!0,Xe.autoApproveCommands="ls, dir, cat, type, echo, pwd, cd, git status, git log, git diff, git branch, git show, help, mkdir, touch, md, whoami, hostname, ps, Get-Process, date, time",Xe.autoDisallowCommands="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c",Xe.alwaysAskCommands="killall, pkill, taskkill, Stop-Process, mv /*, move c:\\*, chmod 000, chmod -R 777, chown, icacls, shutdown, reboot, init 0, init 6, git reset --hard, git clean -fd, npm r, npm uninstall",Xe.autoApproveGit=!1):rt==="Autonomous"&&(Xe.autoExec=!0,Xe.allowExternalAccess=!0,Xe.networkAccess=!0,Xe.autoApproveCommands="ls, dir, cat, type, echo, pwd, cd, git status, git log, git diff, git branch, git show, help, mkdir, touch, md, whoami, hostname, ps, Get-Process, date, time",Xe.autoDisallowCommands="",Xe.alwaysAskCommands="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c",Xe.autoApproveGit=!0),Xe})}else if(de.value==="autoExec")t.autoExec?g(T=>({...T,autoExec:!1,sandboxPreset:"Custom"})):t.allowExternalAccess?y("doubleDanger"):y("autoExecDanger");else if(de.value==="externalAccess")t.allowExternalAccess?g(T=>({...T,allowExternalAccess:!1,sandboxPreset:"Custom"})):t.autoExec?y("doubleDanger"):y("externalDanger");else if(de.value==="networkAccess")g(T=>({...T,networkAccess:T.networkAccess===!1,sandboxPreset:"Custom"}));else if(de.value==="alwaysAsk")ne("alwaysAskCommands"),Me(t.alwaysAskCommands||"");else if(de.value==="autoApprove")ne("autoApproveCommands"),Me(t.autoApproveCommands||"");else if(de.value==="autoApproveGit")g(T=>({...T,autoApproveGit:!T.autoApproveGit,sandboxPreset:"Custom"}));else if(de.value==="autoDisallow")ne("autoDisallowCommands"),Me(t.autoDisallowCommands||"");else if(de.value==="ollamaEndpoint")g(T=>{let $=T.ollamaEndpoint==="Local"?"Cloud":"Local",ye={...T,ollamaEndpoint:$};return b({systemSettings:ye,apiTier:h,quotas:s}),ye});else if(de.value==="apiTier")y("apiTier");else if(de.value==="aiProvider")X&&X("settings"),y("selectProvider");else if(de.value==="advanceRollback")t.advanceRollback?g(T=>{let $={...T,advanceRollback:!1};return b({systemSettings:$,apiTier:h,quotas:s}),$}):y("advanceRollbackDanger");else if(de.value==="autoDelete"){let T=["1d","7d","30d"],ye=(T.indexOf(t.autoDeleteHistory||"30d")+1)%T.length;g(He=>({...He,autoDeleteHistory:T[ye]}))}else if(de.value==="autoUpdate")g(T=>({...T,autoUpdate:!T.autoUpdate}));else if(de.value==="externalData")if(!t.useExternalData)w({label:"Enter absolute path for External AppData:",note:"All history, logs and secrets will be stored here. ~/.fluxflow/settings.json stays as anchor.",key:"externalDataPath",value:t.externalDataPath||""}),y("input");else{let T={...t,useExternalData:!1};g(T),b({systemSettings:T,apiTier:h,quotas:s}),k($=>[...$,{id:Date.now(),role:"system",text:"[STORAGE RESET] Flux Flow will return to default ~/.fluxflow after restart."}]),y("chat")}else if(de.value==="updateManager")y("updateManager");else if(de.value==="parserDownload")y("parserDownload");else if(de.value==="indentationTree")g(T=>{let $={...T,indentationTree:T.indentationTree===!1};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="compressToolResults")g(T=>{let $={...T,compressToolResults:!T.compressToolResults};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="autoTruncateResults")g(T=>{let $={...T,autoTruncateResults:!T.autoTruncateResults};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="imageHistoryCU"){let T=["Low","Standard","Extended"],ye=(T.indexOf(t.imageHistoryCU||"Standard")+1)%T.length;g(He=>{let rt={...He,imageHistoryCU:T[ye]};return b({systemSettings:rt,apiTier:h,quotas:s}),rt})}else if(de.value==="contextLength"){let T=["16k","32k","64k","128k","256k","512k","1M"],ye=(T.indexOf(t.contextLength||"256k")+1)%T.length;g(He=>{let rt={...He,contextLength:T[ye]};return b({systemSettings:rt,apiTier:h,quotas:s}),rt})}else if(de.value==="keepReasoningContext")g(T=>{let $={...T,keepReasoningContext:!T.keepReasoningContext};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="autoExcludeMetadata")g(T=>{let $={...T,autoExcludeMetadata:!T.autoExcludeMetadata};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="subAgents")g(T=>{let $={...T,subAgents:T.subAgents===!1};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="subAgentModel"){let T=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",$=ie.findIndex(ye=>ye.value===T);Z($>=0?$:0),_e(!0)}else if(de.value==="preserveThinking")g(T=>{let $={...T,preserveThinking:T.preserveThinking===!1};return al($.preserveThinking),b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="dynamicDirAwareness")t.dynamicDirAwareness?g(T=>{let $={...T,dynamicDirAwareness:!1};return b({systemSettings:$,apiTier:h,quotas:s}),$}):y("dynamicDirDanger");else if(de.value==="loadingPhrases")g(T=>{let $={...T,loadingPhrases:T.loadingPhrases===!1};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="progressiveRendering")g(T=>{let $={...T,progressiveRendering:!T.progressiveRendering};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="showTPMEstimate")g(T=>{let $={...T,showTPMEstimate:!T.showTPMEstimate};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="theme"){let T=t.theme==="Chaos"||t.theme==="Mystery"?"Mystery":t.theme||"Dark",$=xo.indexOf(T);J($>=0?$:0),ue(t.theme||"Dark"),ge(!0)}},Be=qe(t.theme);if(R){let de=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",T=15,$=ae;me<$?$=me:me>=$+T&&($=me-T+1),$=Math.max(0,Math.min($,Math.max(0,ie.length-T))),$!==ae&&re($);let ye=ie.slice($,$+T);return C.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Be.border,padding:1,width:"100%",minHeight:32},C.createElement(Ne,{marginBottom:1,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:Be.text,bold:!0,underline:!0},"Select Sub-Agent Model:"),ie.length>0&&C.createElement(j,{color:"gray"},me+1,"/",ie.length)),C.createElement(Ne,{borderStyle:"single",borderColor:ee==="search"?Be.primary||"cyan":"gray",paddingX:1,marginBottom:1},C.createElement(j,{color:ee==="search"?Be.primary||"cyan":"gray",bold:!0},"\u{1F50D} Search: "," "),C.createElement(j,{color:Be.text},se),ee==="search"&&C.createElement(j,{color:Be.primary||"cyan"},"\u2588"),!se&&ee!=="search"&&C.createElement(j,{color:"gray",italic:!0},"(Press TAB or type to filter models...)")),C.createElement(Ne,{flexDirection:"column",flexGrow:1,height:T},ye.length>0?ye.map((He,rt)=>{let ot=$+rt;if(He.isHeader)return C.createElement(Ne,{key:`hdr-${ot}`,paddingX:1},C.createElement(j,{color:"gray",bold:!0,underline:!0},He.label));let Xe=me===ot&&ee==="list",kt=de===He.value;return C.createElement(Ne,{key:`item-${He.value}-${ot}`,paddingX:1,backgroundColor:Xe?Be.highlightBg:void 0},C.createElement(j,{color:Xe?Be.text:Be.textDim,bold:Xe},Xe?"\u276F ":" ",He.label,kt?C.createElement(j,{color:Be.primary||"cyan",italic:!0}," (active)"):""))}):C.createElement(Ne,{paddingX:1},C.createElement(j,{color:"gray",italic:!0},'No models matching "',se,'"'))),C.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:"gray",italic:!0},"TAB to switch search/list \u2022 \u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),C.createElement(j,{color:ee==="search"?Be.primary||"cyan":"gray",bold:!0},"[",ee.toUpperCase()," MODE]")))}if(ke){let de=xo[we],T=qe(de);return C.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:T.border,padding:1,width:"100%",minHeight:32},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:T.text,bold:!0},"Choose your color scheme:")),C.createElement(Ne,{flexDirection:"row",width:"100%",flexGrow:1},C.createElement(Ne,{flexDirection:"column",width:"30%",paddingRight:1},xo.map(($,ye)=>{let He=we===ye,rt=(t.theme||"Dark")===$,ot=$==="Forest Sprite";return C.createElement(Ne,{key:$,paddingX:0},C.createElement(j,{color:He?T.text:T.textDim,bold:He},He?"> ":" ",$,ot&&C.createElement(j,{color:He?T.success||"#52b788":"green",bold:!0}," \u2605"),rt?C.createElement(j,{color:T.primary||"cyan",italic:!0}," (saved)"):""))})),C.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:T.borderMuted,paddingX:2,paddingY:1,backgroundColor:T.cardBg},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:T.secondary||"cyan",bold:!0},"> ","you: "),C.createElement(j,{color:T.text},"add a greeting function")),C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:T.success||"green"}," Here's the change:")),C.createElement(Ne,{flexDirection:"column",marginLeft:2,marginBottom:1},C.createElement(j,null,C.createElement(j,{color:T.textDim},"3 "),C.createElement(j,{color:T.textDim},' import "fmt"')),C.createElement(j,{color:T.textDim},"4"),C.createElement(Ne,{backgroundColor:T.diffRemovalBg},C.createElement(j,null,C.createElement(j,{color:T.diffRemovalNum||T.diffRemovalText},"5 "),C.createElement(j,{color:T.diffRemovalPrefix||T.diffRemovalText},"- "),C.createElement(j,{color:T.diffRemovalText},"func "),C.createElement(j,{color:T.diffRemovalHighlightColor||T.diffRemovalText,backgroundColor:T.diffRemovalHighlightBg,bold:!0},"main()"),C.createElement(j,{color:T.diffRemovalText}," {"))),C.createElement(Ne,{backgroundColor:T.diffAdditionBg},C.createElement(j,null,C.createElement(j,{color:T.diffAdditionNum||T.diffAdditionText},"5 "),C.createElement(j,{color:T.diffAdditionPrefix||T.diffAdditionText},"+ "),C.createElement(j,{color:T.diffAdditionText},"func "),C.createElement(j,{color:T.diffAdditionHighlightColor||T.diffAdditionText,backgroundColor:T.diffAdditionHighlightBg,bold:!0},"greet(name string)"),C.createElement(j,{color:T.diffAdditionText}," {"))),C.createElement(Ne,{backgroundColor:T.diffAdditionBg},C.createElement(j,null,C.createElement(j,{color:T.diffAdditionNum||T.diffAdditionText},"6 "),C.createElement(j,{color:T.diffAdditionPrefix||T.diffAdditionText},"+ "),C.createElement(j,{color:T.diffAdditionText}," "),C.createElement(j,{color:T.diffAdditionHighlightColor||T.diffAdditionText,backgroundColor:T.diffAdditionHighlightBg},'fmt.Printf("Hello, %s!\\n", name)'))),C.createElement(j,{color:T.textDim},"7 }")),C.createElement(Ne,{flexDirection:"column",marginTop:1,marginBottom:1},C.createElement(j,{color:T.textDim},"\u25BE Thought Process"),C.createElement(j,{color:T.textMuted}," I need to add a greeting function. I'll use fmt.Printf.")),C.createElement(Ne,{flexDirection:"column"},C.createElement(j,null,C.createElement(j,{color:T.warning||"yellow"},"\u2699 tool: "),C.createElement(j,{color:T.text},"write_file main.go")),C.createElement(j,null,C.createElement(j,{color:T.accent||"magenta"},"\u29BF task: "),C.createElement(j,{color:T.text},"Implementing greeting")),C.createElement(j,null,C.createElement(j,{color:T.danger||"red"},"X error: "),C.createElement(j,{color:T.text},"compilation failed")),C.createElement(j,null,C.createElement(j,{color:T.warning||"yellow"},"\u26A0 warning: "),C.createElement(j,{color:T.text},"deprecation warning")),C.createElement(j,null,C.createElement(j,{color:T.info||"blue"},"\u2192 link: "),C.createElement(j,{color:T.info||"blue",underline:!0},"file:///path/to/main.go")),C.createElement(j,null,C.createElement(j,{color:T.accent||"magenta"},"\u2605 accent: "),C.createElement(j,{color:T.text},"highlighted text")),C.createElement(j,{color:T.textDim},"\xB7 dim: press Enter to continue")))),C.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:"gray",italic:!0},"\u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),C.createElement(j,{color:"gray"},"Previewing: ",xo[we],xo[we]==="Forest Sprite"?" \u2605":"")))}return C.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Be.border,padding:0,width:"100%",minHeight:32},C.createElement(Ne,{paddingX:1,paddingY:0,marginBottom:0,borderStyle:"single",borderColor:Be.borderMuted,width:"100%"},C.createElement(j,{color:Be.text,bold:!0},"SYSTEM CONFIGURATION")),C.createElement(Ne,{flexDirection:"row",width:"100%",minHeight:26},C.createElement(Ne,{flexDirection:"column",width:"30%",maxWidth:40,borderStyle:"round",borderColor:A==="categories"?Be.border:Be.borderMuted,padding:1,paddingY:0},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:A==="categories"?Be.text:Be.textDim,bold:!0,underline:!0},"CATEGORIES")),ho.map((de,T)=>{let $=D===T,ye=de.id==="exit";return C.createElement(Ne,{key:de.id,marginTop:ye?15:0,backgroundColor:$?A==="categories"?Be.highlightBg:Be.cardBg:void 0,paddingX:1},C.createElement(j,{color:$&&A==="categories"?Be.text:Be.textDim,bold:$},$?"\u276F ":" ",de.label))})),C.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:A==="items"?Be.border:Be.borderMuted,paddingX:1,marginLeft:1,paddingY:0},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:A==="items"?Be.text:Be.textDim,bold:!0,underline:!0},ho[D].label.toUpperCase().includes("EXIT")?"Runtime Information":`${ho[D].label} Settings`)),Fe.length>0?(()=>{let de=null,T=[],$=We=>(We||"").split(",").map(eo=>eo.trim().toLowerCase()).filter(Boolean),ye=$(t.autoApproveCommands),He=$(t.autoDisallowCommands),rt=$(t.alwaysAskCommands),ot=[...ye,...He,...rt],Xe=new Set(ot),kt=en==="security"&&ot.length!==Xe.size;return Fe.forEach((We,eo)=>{let ao=A==="items"&&oe===eo,Ur=We.label.length,ct=Math.max(2,38-Ur),z=".".repeat(ct),st=It=>en==="security"?(It.value==="autoExec"||It.value==="externalAccess")&&It.status==="ON"?Be.statusOn:Be.statusOff:It.status?.startsWith("\u2713")?Be.statusOn:It.status?.startsWith("\u26A0")?Be.statusOff:It.status==="ON"?Be.statusOn:It.status==="OFF"?Be.statusOff:Be.text;We.section&&We.section!==de&&(de=We.section,T.push(C.createElement(Ne,{key:`sec-hdr-${We.section}`,marginTop:T.length>0?1:0,marginBottom:0,paddingX:1},C.createElement(j,{color:"gray",bold:!0,underline:!0},We.section.toUpperCase()))));let yo=ao&&ve&&(ve==="alwaysAskCommands"&&We.value==="alwaysAsk"||ve==="autoApproveCommands"&&We.value==="autoApprove"||ve==="autoDisallowCommands"&&We.value==="autoDisallow"),Ue=We.value==="alwaysAsk"||We.value==="autoApprove"||We.value==="autoDisallow",jt=We.value==="parserDownload";T.push(C.createElement(Ne,{key:We.value,flexDirection:"column"},C.createElement(Ne,{backgroundColor:ao&&!yo?Be.highlightBg:void 0,paddingX:2},C.createElement(j,{color:ao?Be.text:Be.textDim,bold:ao},ao?"\u276F ":" ",We.label),!Ue&&!jt&&C.createElement(C.Fragment,null,C.createElement(j,{color:"gray"},z),C.createElement(j,{color:st(We),bold:!0},We.value==="aiProvider"?We.status:`[ ${We.status} ]`))),Ue&&!yo&&We.status!=="None"&&C.createElement(Ne,{paddingX:4,marginBottom:1},C.createElement(j,{color:"gray"},"\u21B3 ",We.status)),yo&&C.createElement(Ne,{flexDirection:"column",marginLeft:4,marginBottom:1},C.createElement(Ne,{paddingX:1,borderStyle:"single",borderColor:"gray",flexDirection:"row"},C.createElement(j,{color:"gray",bold:!0},"> "," "),C.createElement(Md,{value:le,onChange:Me,onSubmit:It=>{let $t={...t,[ve]:It.trim(),sandboxPreset:"Custom"};g($t),b({systemSettings:$t,apiTier:h,quotas:s}),ne(null)}})),C.createElement(j,{color:"gray",italic:!0}," Comma separated \u2022 Press Enter to save, Esc to cancel"))))}),kt&&T.push(C.createElement(Ne,{key:"conflict-warning",marginTop:1,paddingX:1},C.createElement(j,{color:Be.text,italic:!0},"* Conflicting commands will be ignored and defaulted to highest priority"))),T})():C.createElement(Ne,{paddingX:1,flexDirection:"column",width:"100%"},en==="exit"?C.createElement(C.Fragment,null,C.createElement(Ne,{flexDirection:"column",marginBottom:1},C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"OS"," "),C.createElement(j,{color:"gray"},"..................... "),C.createElement(j,{color:Be.text},process.env.OS||process.platform||"N/A")),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Computer Name"," "),C.createElement(j,{color:"gray"},".......... "),C.createElement(j,{color:Be.text},process.env.COMPUTERNAME||process.env.HOSTNAME||"N/A")),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Processor Count"," "),C.createElement(j,{color:"gray"},"........ "),C.createElement(j,{color:Be.text},process.env.NUMBER_OF_PROCESSORS||"N/A")),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Node.js Version"," "),C.createElement(j,{color:"gray"},"........ "),C.createElement(j,{color:Be.text},"v",process.versions.node)),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"V8 Version"," "),C.createElement(j,{color:"gray"},"...... ...... "),C.createElement(j,{color:Be.text},"v",process.versions.v8)),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Data Directory"," "),C.createElement(j,{color:"gray"},"......... "),no===mo?"":C.createElement(j,{color:Be.text},no.replaceAll(xl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"),", "),C.createElement(j,{color:Be.text},mo.replaceAll(xl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"))),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Viewport"," "),C.createElement(j,{color:"gray"},"............... "),C.createElement(j,{color:Be.text},process.stdout.rows||"?"," rows \xD7 ",process.stdout.columns||"?"," cols ",process.stdout.columns<90?"(too small width)":"")),C.createElement(Ne,{flexDirection:"row",marginBottom:0},C.createElement(j,{color:Be.textDim},"Memory Load"," "),C.createElement(j,{color:"gray"},"............ "),C.createElement(j,{color:Be.text},pe,"/",F," ",gt))),C.createElement(Ne,{key:"pty-notice",paddingX:0,marginTop:0},C.createElement(j,{color:Vt?Be.statusOn:Be.warning},Vt?"\u2713 Advance Interactive Terminal Supported":"\u26A0 Interactive Terminal is Limited"))):C.createElement(j,{color:"gray",italic:!0},ho[D].desc)))),C.createElement(Ne,{paddingX:1,marginTop:0,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:"gray",italic:!0},A==="categories"?"\u25B2\u25BC Select Category \u2022 Enter/\u25BA to configure":Fe[oe]?.value==="dynamicDirAwareness"?"\u25B2\u25BC Select Option \u2022 Enter to Toggle \u2022 ? HELP \u2022 \u25C4/ESC to go back":"\u25B2\u25BC Select Option \u2022 Enter to Toggle \u2022 \u25C4/ESC to go back"),A==="categories"&&C.createElement(j,{color:"gray"},ho[D].desc)))}import Jt,{useState as Ss,useEffect as Cd}from"react";import{Box as pn,Text as zn}from"ink";import vd from"ink-text-input";function Cs({initialData:t,onSave:g,onCancel:h,theme:y="Dark"}){let w=qe(y),[b,s]=Ss(0),[k,f]=Ss(""),[I,L]=Ss(()=>({name:t?.name||"",nickname:t?.nickname||"",instructions:t?.instructions||""})),X=[{key:"name",label:"Enter your Name: ",maxLength:20},{key:"nickname",label:"Enter a Nickname: ",maxLength:20},{key:"instructions",label:"System Instructions: ",maxLength:200}],S=X[b];Cd(()=>{let D=X[b].key;f((I[D]||"").slice(0,X[b].maxLength))},[b,I]);let v=D=>{D.length>S.maxLength?f(D.slice(0,S.maxLength)):f(D)},A=D=>{if(D.trim().toLowerCase()==="/cancel"){h();return}let U=S.key,oe={...I,[U]:D.trim().slice(0,S.maxLength)};L(oe),f(""),b<X.length-1?s(b+1):g(oe)},O=k.length>=S.maxLength;return Jt.createElement(pn,{borderStyle:"round",borderColor:w.borderMuted,padding:0,marginTop:1,flexShrink:0,flexDirection:"column",width:"100%"},Jt.createElement(pn,{paddingX:1,marginBottom:1},Jt.createElement(zn,{color:w.text,bold:!0},"USER PROFILE CONFIGURATION")),Jt.createElement(pn,{paddingX:1,flexDirection:"column"},Jt.createElement(pn,null,Jt.createElement(zn,{color:w.text,bold:!0},S.label),Jt.createElement(vd,{value:k,onChange:v,onSubmit:A})),Jt.createElement(pn,{marginTop:1,justifyContent:"space-between"},Jt.createElement(zn,{color:w.textMuted,italic:!0},"Step ",b+1," of ",X.length),Jt.createElement(zn,{color:O?w.warning||"yellow":w.textMuted},"[",k.length,"/",S.maxLength,"]"))),Jt.createElement(pn,{paddingX:1,marginTop:1},Jt.createElement(zn,{color:w.textMuted,italic:!0},"(Enter to submit \u2022 Type /cancel to abort)")))}import Tt,{useState as vs}from"react";import{Box as Zt,Text as Uo,useInput as Ed}from"ink";import Bd from"ink-text-input";var Dd=({question:t,options:g,onResolve:h,theme:y="Dark"})=>{let w=qe(y),[b,s]=vs(!1),[k,f]=vs(""),[I,L]=vs(0),X=!1,S=[],v=Array.isArray(g)&&g.length>0;try{S=[...v?g:[],v?{id:"CUSTOM",label:"Suggest something else...",description:"Provide a custom response"}:{id:"CUSTOM",label:"Your Answer",description:""}]}catch{X=!0}Ed((O,D)=>{if(!b&&((D.leftArrow||D.upArrow)&&L(U=>Math.max(0,U-1)),(D.rightArrow||D.downArrow)&&L(U=>Math.min(S.length-1,U+1)),D.return)){let U=S[I];U?.id==="CUSTOM"?s(!0):h(X?"Selected Nothing":U.label)}});let A=Re(2);return b?Tt.createElement(Zt,{flexDirection:"column",borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,backgroundColor:w.codeBg,width:"100%"},Tt.createElement(Zt,{paddingX:1},Tt.createElement(Uo,{color:w.text,bold:!0},"SUGGEST SOMETHING")),Tt.createElement(Zt,{marginTop:1,paddingX:1},Tt.createElement(Uo,{italic:!0,color:w.textMuted},"Replying to: ",t)),Tt.createElement(Zt,{marginTop:1,paddingX:1,flexDirection:"row"},Tt.createElement(Bd,{value:k,onChange:f,onSubmit:()=>h(k)})),Tt.createElement(Zt,{marginTop:1,paddingX:1,marginBottom:1},Tt.createElement(Uo,{color:w.textMuted,italic:!0},"(Press Enter to send)"))):Tt.createElement(Zt,{flexDirection:"column",border:!0,borderStyle:"round",borderColor:w.codeBorder,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,marginY:1,marginRight:1,width:"100%"},Tt.createElement(Zt,{paddingX:1,marginBottom:1},Tt.createElement(Uo,{color:"yellow",bold:!0},"AGENT REQUEST: ACTION REQUIRED")),Tt.createElement(Zt,{paddingX:1,marginBottom:1},Tt.createElement(Uo,{color:w.text},t)),Tt.createElement(Zt,{flexDirection:"column",width:"100%"},S.map((O,D)=>{let U=D===I;return Tt.createElement(Zt,{key:O.id,flexDirection:"column",width:"100%",backgroundColor:U?w.highlightBg:void 0,paddingX:1,marginBottom:D===S.length-1?0:1},Tt.createElement(Uo,{color:U?w.text:w.textMuted,bold:U},U?"\u276F ":" ",O.label),O.description&&Tt.createElement(Zt,{marginLeft:4},Tt.createElement(Uo,{color:w.textMuted,italic:!0},O.description)))})),Tt.createElement(Zt,{paddingX:1,marginTop:1,marginBottom:1},Tt.createElement(Uo,{color:w.textMuted,italic:!0},"(Use Arrows to navigate, Enter to confirm)")))},pl=Dd;import Qd from"gradient-string";import Pt,{useState as Es,useEffect as kd}from"react";import{Box as po,Text as $o,useInput as Id}from"ink";function Bs({onSelect:t,onDelete:g,onClose:h,theme:y="Dark"}){let w=qe(y),[b,s]=Es({}),[k,f]=Es([]),[I,L]=Es(0);kd(()=>{(async()=>{let D=await No();s(D),f(Object.keys(D).sort((U,oe)=>(D[oe].updatedAt||0)-(D[U].updatedAt||0)))})()},[]),Id((O,D)=>{if(D.escape&&h(),D.upArrow&&L(U=>Math.max(0,U-1)),D.downArrow&&L(U=>Math.min(k.length-1,U+1)),D.return&&k[I]&&t(k[I]),O==="x"&&k[I]){let U=k[I];g(U).then(oe=>{let xe=oe||{};s(xe);let ve=Object.keys(xe).sort((ne,le)=>(xe[le]?.updatedAt||0)-(xe[ne]?.updatedAt||0));f(ve),L(ne=>Math.max(0,Math.min(ve.length-1,ne)))})}});let X=Re(2),S=15,v=0;if(k.length>S){let O=Math.floor(S/2);v=I-O,v<0?v=0:v+S>k.length&&(v=k.length-S)}let A=k.slice(v,v+S);return Pt.createElement(po,{flexDirection:"column",borderStyle:"round",borderColor:w.borderMuted,padding:0,width:"100%"},Pt.createElement(po,{paddingX:1,marginBottom:1},Pt.createElement($o,{color:w.text,bold:!0},"CHAT HISTORY: RESUME CONVERSATION")),k.length===0?Pt.createElement(po,{paddingX:2,paddingY:1},Pt.createElement($o,{italic:!0,color:w.textMuted},"No saved chats found.")):Pt.createElement(po,{flexDirection:"column",width:"100%"},v>0&&Pt.createElement(po,{paddingX:2,marginBottom:1},Pt.createElement($o,{color:w.textMuted},"\u25B2 (+",v," more chats above)")),A.map((O,D)=>{let U=b[O],xe=v+D===I,ve=Ad(U?.updatedAt);return Pt.createElement(po,{key:O,paddingX:1,backgroundColor:xe?w.highlightBg:void 0,width:"100%"},Pt.createElement(po,{flexGrow:1},Pt.createElement($o,{color:xe?w.text:w.textMuted,bold:xe},xe?"\u276F ":" ",(()=>{let ne=le=>(le||"").replace(/\[\/?(?:STEERING HINT|QUESTION)(?::\s*\w+)?\]/gi,"").trim();return U?.name&&!U.name.startsWith("Session")?ne(U.name):U?.prompt?ne(U.prompt):ne(U?.name)||O})(),Pt.createElement($o,{color:w.textMuted}," [",ve," \u2022 ",O,"]"))),xe&&Pt.createElement(po,{flexShrink:0},Pt.createElement($o,{color:w.danger,bold:!0},"[X] DELETE ")))}),v+S<k.length&&Pt.createElement(po,{paddingX:2,marginTop:1},Pt.createElement($o,{color:w.textMuted},"\u25BC (+",k.length-(v+S)," more chats below)"))),Pt.createElement(po,{marginTop:1,paddingX:1,borderStyle:"single",borderLeft:!1,borderRight:!1,borderBottom:!1,borderColor:w.borderMuted},Pt.createElement($o,{color:w.textMuted,italic:!0},"\u2191\u2193 navigate \u2022 Enter select \u2022 x delete \u2022 Esc close")))}function Ad(t){if(!t)return"N/A";let g=new Date(t);if(isNaN(g.getTime()))return"N/A";let h=k=>String(k).padStart(2,"0"),y=h(g.getMonth()+1),w=h(g.getDate()),b=h(g.getHours()),s=h(g.getMinutes());return`${y}-${w} ${b}:${s}`}import yt,{useState as Ds,useEffect as Ld}from"react";import{Box as bo,Text as io,useInput as Pd,useStdout as Od}from"ink";function ks({onClose:t,theme:g="Dark"}){let h=qe(g),{stdout:y}=Od(),w=y?.columns||80,[b,s]=Ds([]),[k,f]=Ds(0),[I,L]=Ds(!0),X=()=>{let ne=fr($n,[]);s(ne);try{let Me=xr(qo,{}).systemSettings?.memory!==!1;L(Me)}catch{L(!0)}};Ld(()=>{X()},[]),Pd((ne,le)=>{if(le.escape&&t(),le.upArrow&&f(Me=>Math.max(0,Me-1)),le.downArrow&&f(Me=>Math.min(b.length-1,Me+1)),ne==="x"&&b.length>0){let Me=b[k].id,ke=b.filter(ge=>ge.id!==Me);Si($n,ke),s(ke),k>=ke.length&&ke.length>0&&f(ke.length-1)}});let S=(ne,le,Me)=>{if(!ne)return"";let ke=ne.replace(/\[Saved on: .*?\]/g,"").replace(/\\+'/g,"'").trim(),we=`${Me?"\u276F ":" "}${le+1}. `.length,J=Me?22:2;return ke.split(`
|
|
42
|
+
---`)&&ye.push({label:eo,value:eo,isHeader:!1,provider:ot})}))}return ye},[f,h,s,nt]),ie=C.useMemo(()=>{if(!se.trim())return Ie;let de=se.trim().toLowerCase(),T=[],$=null;for(let ye of Ie)ye.isHeader?$=ye:(ye.label.toLowerCase().includes(de)||ye.value&&ye.value.toLowerCase().includes(de))&&($&&!T.includes($)&&T.push($),T.push(ye));return T},[Ie,se]);qn(()=>{if(R){let de=ie.findIndex(T=>!T.isHeader);Z(de>=0?de:0),re(0)}},[se]),qn(()=>{if(R){if(ie.length===0){Z(0),re(0);return}if(me>=ie.length||ie[me]?.isHeader){let de=ie.findIndex(T=>!T.isHeader);Z(de>=0?de:0)}}},[ie,R]);let[pe,Ge]=Lt(0),[F,Dt]=Lt(0),[gt,Ut]=Lt("MB"),[Vt,Fr]=Lt(!1);qn(()=>{let de=!1;return import("./exec_command-OPHZ4N2Z.js").then(T=>{de||Fr(!!T.isPtyAvailable)}).catch(()=>{}),()=>{de=!0}},[]),qn(()=>{let de=Sd.getHeapStatistics().heap_size_limit,T=de>=1024*1024*1024,$=T?"GB":"MB",ye=T?1024*1024*1024:1024*1024;Dt(parseFloat((de/ye).toFixed(2))),Ut($);let He=()=>{let kt=process.memoryUsage().rss/ye,We=T?parseFloat(kt.toFixed(2)):Math.round(kt);Ge(We)};He();let rt=setInterval(()=>{He()},3e4);return()=>clearInterval(rt)},[]);let Ro=de=>{switch(de){case"providers":{let $=[{label:"Current Provider",value:"aiProvider",status:f}];return f==="Ollama"&&$.push({label:"Endpoint",value:"ollamaEndpoint",status:t.ollamaEndpoint||"Cloud"}),$}case"appearance":return[{label:"Theme",value:"theme",status:t.theme||"Dark"},{label:"Loading Phrases",value:"loadingPhrases",status:t.loadingPhrases!==!1?"ON":"OFF"},{label:"Progressive Rendering [EXPERIMENTAL]",value:"progressiveRendering",status:t.progressiveRendering?"ON":"OFF"},{label:"Show TPM Estimate",value:"showTPMEstimate",status:t.showTPMEstimate?"ON":"OFF"}];case"memory":return[{label:"Toggle Memory [Legacy]",value:"memory",status:t.memory?"ON":"OFF"}];case"security":return[{label:"Sandbox Preset",value:"sandboxPreset",status:hl(t),section:"Sandbox"},{label:"YOLO Mode",value:"autoExec",status:t.autoExec?"ON":"OFF",section:"Sandbox"},{label:"External Workspace Access",value:"externalAccess",status:t.allowExternalAccess?"ON":"OFF",section:"Sandbox"},{label:"Network Access (Terminal)",value:"networkAccess",status:t.networkAccess!==!1?"ON":"OFF",section:"Sandbox"},{label:"Always Ask Commands",value:"alwaysAsk",status:Ms(t.alwaysAskCommands),section:"Sandbox"},{label:"Auto Approve Commands",value:"autoApprove",status:Ms(t.autoApproveCommands),section:"Sandbox"},{label:"Auto Disapprove Commands",value:"autoDisallow",status:Ms(t.autoDisallowCommands),section:"Sandbox"},{label:"Auto Approve Git Commits",value:"autoApproveGit",status:t.autoApproveGit?"ON":"OFF",section:"Sandbox"},{label:"Advanced Recovery [EXPERIMENTAL]",value:"advanceRollback",status:t.advanceRollback?"ON":"OFF",section:"Other"},{label:"Auto-Delete History",value:"autoDelete",status:t.autoDeleteHistory||"30d",section:"Other"},{label:"Save AppData Externally",value:"externalData",status:t.useExternalData?"ON":"OFF",section:"Other"}];case"updater":return[{label:"Auto-Update",value:"autoUpdate",status:t.autoUpdate?"ON":"OFF"},{label:"Preferred Package Manager",value:"updateManager",status:(t.updateManager||"npm")==="custom"?"Custom":(t.updateManager||"npm").toUpperCase()}];case"other":return[{label:"Sub-Agents",value:"subAgents",status:t.subAgents!==!1?"ON":"OFF"},{label:"Sub-Agent Model",value:"subAgentModel",status:t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default"},{label:"Verbose Thinking",value:"preserveThinking",status:t.preserveThinking!==!1?"ON":"OFF"},{label:"Dynamic Directory Awareness",value:"dynamicDirAwareness",status:t.dynamicDirAwareness?"ON":"OFF"},{label:"Directory Tree Design",value:"indentationTree",status:t.indentationTree!==!1?"Modern":"Classic (deprecated)"},{label:"Compact Large Tool Results",value:"compressToolResults",status:t.compressToolResults?"ON":"OFF"},{label:"Auto Truncate Results",value:"autoTruncateResults",status:t.autoTruncateResults?"ON":"OFF"},{label:"Image History for CU",value:"imageHistoryCU",status:t.imageHistoryCU||"Standard"},{label:"Context Length",value:"contextLength",status:t.contextLength||"256k"},{label:"Keep Reasoning Context",value:"keepReasoningContext",status:t.keepReasoningContext?"ON":"OFF"},{label:"Auto Exclude Metadata",value:"autoExcludeMetadata",status:t.autoExcludeMetadata?"ON":"OFF"}];default:return[]}},en=ho[D].id,Fe=Ro(en);yd((de,T)=>{if(R){if(T.tab){Ce($=>$==="search"?"list":"search");return}if(ee==="search"){T.escape?_e(!1):T.downArrow||T.return?Ce("list"):T.backspace||T.delete?fe($=>$.slice(0,-1)):de&&!T.ctrl&&!T.meta&&de.length===1&&fe($=>$+de);return}if(T.upArrow)Z($=>{if(ie.length===0)return 0;let ye=($-1+ie.length)%ie.length,He=0;for(;ie[ye]?.isHeader&&He<ie.length;)ye=(ye-1+ie.length)%ie.length,He++;return ye});else if(T.downArrow)Z($=>{if(ie.length===0)return 0;let ye=($+1)%ie.length,He=0;for(;ie[ye]?.isHeader&&He<ie.length;)ye=(ye+1)%ie.length,He++;return ye});else if(T.return){let $=ie[me];$&&!$.isHeader&&(g(ye=>{let He=$.value==="Default",rt={...ye,CustomSubAgent:!He,SubAgentModel:$.value,SubAgentProvider:He?"":$.provider||""};return b({systemSettings:rt,apiTier:h,quotas:s}),rt}),_e(!1))}else T.escape?_e(!1):de&&!T.ctrl&&!T.meta&&de.length===1&&(fe($=>$+de),Ce("search"));return}if(ke){if(T.upArrow){let $=(we-1+xo.length)%xo.length;J($)}else if(T.downArrow){let $=(we+1)%xo.length;J($)}else if(T.return){let $=xo[we];g(ye=>{let He={...ye,theme:$};return b({systemSettings:He,apiTier:h,quotas:s}),He}),L?L():ge(!1)}else T.escape&&(L?L():ge(!1));return}if(ve){T.escape&&ne(null);return}if(A==="categories")T.upArrow?U($=>($-1+ho.length)%ho.length):T.downArrow?U($=>($+1)%ho.length):T.return||T.rightArrow?ho[D].id==="exit"?y("chat"):(O("items"),xe(0)):T.escape&&y("chat");else if(A==="items"){let $=Fe[oe];if(de==="?"&&$?.value==="dynamicDirAwareness"){y("dynamicDirHelp");return}if(T.upArrow)xe(ye=>(ye-1+Fe.length)%Fe.length);else if(T.downArrow)xe(ye=>(ye+1)%Fe.length);else if(T.leftArrow||T.escape)O("categories");else if(T.return){let ye=Fe[oe];Rt(ye)}}});let Rt=de=>{if(de.value==="memory")g(T=>({...T,memory:!T.memory}));else if(de.value==="sandboxPreset"){let T=hl(t),$=["Autonomous","Balanced","Strict"],He=($.indexOf(T)+1)%$.length,rt=$[He];g(ot=>{let Xe={...ot,sandboxPreset:rt};return rt==="Strict"?(Xe.autoExec=!1,Xe.allowExternalAccess=!1,Xe.networkAccess=!1,Xe.autoApproveCommands="",Xe.autoDisallowCommands="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c",Xe.alwaysAskCommands="killall, pkill, taskkill, shutdown, reboot, init 0, init 6, Stop-Process, Stop-Service, mv /*, move c:\\*, chmod 000, chmod -R 777, chown, icacls, netsh advfirewall, iptables -F, ufw disable, git reset --hard, git clean -fd, npm r, npm uninstall",Xe.autoApproveGit=!1):rt==="Balanced"?(Xe.autoExec=!0,Xe.allowExternalAccess=!1,Xe.networkAccess=!0,Xe.autoApproveCommands="ls, dir, cat, type, echo, pwd, cd, git status, git log, git diff, git branch, git show, help, mkdir, touch, md, whoami, hostname, ps, Get-Process, date, time",Xe.autoDisallowCommands="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c",Xe.alwaysAskCommands="killall, pkill, taskkill, Stop-Process, mv /*, move c:\\*, chmod 000, chmod -R 777, chown, icacls, shutdown, reboot, init 0, init 6, git reset --hard, git clean -fd, npm r, npm uninstall",Xe.autoApproveGit=!1):rt==="Autonomous"&&(Xe.autoExec=!0,Xe.allowExternalAccess=!0,Xe.networkAccess=!0,Xe.autoApproveCommands="ls, dir, cat, type, echo, pwd, cd, git status, git log, git diff, git branch, git show, help, mkdir, touch, md, whoami, hostname, ps, Get-Process, date, time",Xe.autoDisallowCommands="",Xe.alwaysAskCommands="rm -rf, rm -f, del /f, del /q, rd /s, rmdir /s, format, mkfs, dd if=/dev, shred, srm, Remove-Item -Recurse -Force, Initialize-Disk, Clear-Disk, format c:, flashrom, nvram -c",Xe.autoApproveGit=!0),Xe})}else if(de.value==="autoExec")t.autoExec?g(T=>({...T,autoExec:!1,sandboxPreset:"Custom"})):t.allowExternalAccess?y("doubleDanger"):y("autoExecDanger");else if(de.value==="externalAccess")t.allowExternalAccess?g(T=>({...T,allowExternalAccess:!1,sandboxPreset:"Custom"})):t.autoExec?y("doubleDanger"):y("externalDanger");else if(de.value==="networkAccess")g(T=>({...T,networkAccess:T.networkAccess===!1,sandboxPreset:"Custom"}));else if(de.value==="alwaysAsk")ne("alwaysAskCommands"),Me(t.alwaysAskCommands||"");else if(de.value==="autoApprove")ne("autoApproveCommands"),Me(t.autoApproveCommands||"");else if(de.value==="autoApproveGit")g(T=>({...T,autoApproveGit:!T.autoApproveGit,sandboxPreset:"Custom"}));else if(de.value==="autoDisallow")ne("autoDisallowCommands"),Me(t.autoDisallowCommands||"");else if(de.value==="ollamaEndpoint")g(T=>{let $=T.ollamaEndpoint==="Local"?"Cloud":"Local",ye={...T,ollamaEndpoint:$};return b({systemSettings:ye,apiTier:h,quotas:s}),ye});else if(de.value==="apiTier")y("apiTier");else if(de.value==="aiProvider")X&&X("settings"),y("selectProvider");else if(de.value==="advanceRollback")t.advanceRollback?g(T=>{let $={...T,advanceRollback:!1};return b({systemSettings:$,apiTier:h,quotas:s}),$}):y("advanceRollbackDanger");else if(de.value==="autoDelete"){let T=["1d","7d","30d"],ye=(T.indexOf(t.autoDeleteHistory||"30d")+1)%T.length;g(He=>({...He,autoDeleteHistory:T[ye]}))}else if(de.value==="autoUpdate")g(T=>({...T,autoUpdate:!T.autoUpdate}));else if(de.value==="externalData")if(!t.useExternalData)w({label:"Enter absolute path for External AppData:",note:"All history, logs and secrets will be stored here. ~/.fluxflow/settings.json stays as anchor.",key:"externalDataPath",value:t.externalDataPath||""}),y("input");else{let T={...t,useExternalData:!1};g(T),b({systemSettings:T,apiTier:h,quotas:s}),k($=>[...$,{id:Date.now(),role:"system",text:"[STORAGE RESET] Flux Flow will return to default ~/.fluxflow after restart."}]),y("chat")}else if(de.value==="updateManager")y("updateManager");else if(de.value==="parserDownload")y("parserDownload");else if(de.value==="indentationTree")g(T=>{let $={...T,indentationTree:T.indentationTree===!1};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="compressToolResults")g(T=>{let $={...T,compressToolResults:!T.compressToolResults};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="autoTruncateResults")g(T=>{let $={...T,autoTruncateResults:!T.autoTruncateResults};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="imageHistoryCU"){let T=["Low","Standard","Extended"],ye=(T.indexOf(t.imageHistoryCU||"Standard")+1)%T.length;g(He=>{let rt={...He,imageHistoryCU:T[ye]};return b({systemSettings:rt,apiTier:h,quotas:s}),rt})}else if(de.value==="contextLength"){let T=["16k","32k","64k","128k","256k","512k","1M"],ye=(T.indexOf(t.contextLength||"256k")+1)%T.length;g(He=>{let rt={...He,contextLength:T[ye]};return b({systemSettings:rt,apiTier:h,quotas:s}),rt})}else if(de.value==="keepReasoningContext")g(T=>{let $={...T,keepReasoningContext:!T.keepReasoningContext};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="autoExcludeMetadata")g(T=>{let $={...T,autoExcludeMetadata:!T.autoExcludeMetadata};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="subAgents")g(T=>{let $={...T,subAgents:T.subAgents===!1};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="subAgentModel"){let T=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",$=ie.findIndex(ye=>ye.value===T);Z($>=0?$:0),_e(!0)}else if(de.value==="preserveThinking")g(T=>{let $={...T,preserveThinking:T.preserveThinking===!1};return al($.preserveThinking),b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="dynamicDirAwareness")t.dynamicDirAwareness?g(T=>{let $={...T,dynamicDirAwareness:!1};return b({systemSettings:$,apiTier:h,quotas:s}),$}):y("dynamicDirDanger");else if(de.value==="loadingPhrases")g(T=>{let $={...T,loadingPhrases:T.loadingPhrases===!1};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="progressiveRendering")g(T=>{let $={...T,progressiveRendering:!T.progressiveRendering};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="showTPMEstimate")g(T=>{let $={...T,showTPMEstimate:!T.showTPMEstimate};return b({systemSettings:$,apiTier:h,quotas:s}),$});else if(de.value==="theme"){let T=t.theme==="Chaos"||t.theme==="Mystery"?"Mystery":t.theme||"Dark",$=xo.indexOf(T);J($>=0?$:0),ue(t.theme||"Dark"),ge(!0)}},Be=qe(t.theme);if(R){let de=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",T=15,$=ae;me<$?$=me:me>=$+T&&($=me-T+1),$=Math.max(0,Math.min($,Math.max(0,ie.length-T))),$!==ae&&re($);let ye=ie.slice($,$+T);return C.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Be.border,padding:1,width:"100%",minHeight:32},C.createElement(Ne,{marginBottom:1,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:Be.text,bold:!0,underline:!0},"Select Sub-Agent Model:"),ie.length>0&&C.createElement(j,{color:"gray"},me+1,"/",ie.length)),C.createElement(Ne,{borderStyle:"single",borderColor:ee==="search"?Be.primary||"cyan":"gray",paddingX:1,marginBottom:1},C.createElement(j,{color:ee==="search"?Be.primary||"cyan":"gray",bold:!0},"\u{1F50D} Search: "," "),C.createElement(j,{color:Be.text},se),ee==="search"&&C.createElement(j,{color:Be.primary||"cyan"},"\u2588"),!se&&ee!=="search"&&C.createElement(j,{color:"gray",italic:!0},"(Press TAB or type to filter models...)")),C.createElement(Ne,{flexDirection:"column",flexGrow:1,height:T},ye.length>0?ye.map((He,rt)=>{let ot=$+rt;if(He.isHeader)return C.createElement(Ne,{key:`hdr-${ot}`,paddingX:1},C.createElement(j,{color:"gray",bold:!0,underline:!0},He.label));let Xe=me===ot&&ee==="list",kt=de===He.value;return C.createElement(Ne,{key:`item-${He.value}-${ot}`,paddingX:1,backgroundColor:Xe?Be.highlightBg:void 0},C.createElement(j,{color:Xe?Be.text:Be.textDim,bold:Xe},Xe?"\u276F ":" ",He.label,kt?C.createElement(j,{color:Be.primary||"cyan",italic:!0}," (active)"):""))}):C.createElement(Ne,{paddingX:1},C.createElement(j,{color:"gray",italic:!0},'No models matching "',se,'"'))),C.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:"gray",italic:!0},"TAB to switch search/list \u2022 \u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),C.createElement(j,{color:ee==="search"?Be.primary||"cyan":"gray",bold:!0},"[",ee.toUpperCase()," MODE]")))}if(ke){let de=xo[we],T=qe(de);return C.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:T.border,padding:1,width:"100%",minHeight:32},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:T.text,bold:!0},"Choose your color scheme:")),C.createElement(Ne,{flexDirection:"row",width:"100%",flexGrow:1},C.createElement(Ne,{flexDirection:"column",width:"30%",paddingRight:1},xo.map(($,ye)=>{let He=we===ye,rt=(t.theme||"Dark")===$,ot=$==="Forest Sprite";return C.createElement(Ne,{key:$,paddingX:0},C.createElement(j,{color:He?T.text:T.textDim,bold:He},He?"> ":" ",$,ot&&C.createElement(j,{color:He?T.success||"#52b788":"green",bold:!0}," \u2605"),rt?C.createElement(j,{color:T.primary||"cyan",italic:!0}," (saved)"):""))})),C.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:T.borderMuted,paddingX:2,paddingY:1,backgroundColor:T.cardBg},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:T.secondary||"cyan",bold:!0},"> ","you: "),C.createElement(j,{color:T.text},"add a greeting function")),C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:T.success||"green"}," Here's the change:")),C.createElement(Ne,{flexDirection:"column",marginLeft:2,marginBottom:1},C.createElement(j,null,C.createElement(j,{color:T.textDim},"3 "),C.createElement(j,{color:T.textDim},' import "fmt"')),C.createElement(j,{color:T.textDim},"4"),C.createElement(Ne,{backgroundColor:T.diffRemovalBg},C.createElement(j,null,C.createElement(j,{color:T.diffRemovalNum||T.diffRemovalText},"5 "),C.createElement(j,{color:T.diffRemovalPrefix||T.diffRemovalText},"- "),C.createElement(j,{color:T.diffRemovalText},"func "),C.createElement(j,{color:T.diffRemovalHighlightColor||T.diffRemovalText,backgroundColor:T.diffRemovalHighlightBg,bold:!0},"main()"),C.createElement(j,{color:T.diffRemovalText}," {"))),C.createElement(Ne,{backgroundColor:T.diffAdditionBg},C.createElement(j,null,C.createElement(j,{color:T.diffAdditionNum||T.diffAdditionText},"5 "),C.createElement(j,{color:T.diffAdditionPrefix||T.diffAdditionText},"+ "),C.createElement(j,{color:T.diffAdditionText},"func "),C.createElement(j,{color:T.diffAdditionHighlightColor||T.diffAdditionText,backgroundColor:T.diffAdditionHighlightBg,bold:!0},"greet(name string)"),C.createElement(j,{color:T.diffAdditionText}," {"))),C.createElement(Ne,{backgroundColor:T.diffAdditionBg},C.createElement(j,null,C.createElement(j,{color:T.diffAdditionNum||T.diffAdditionText},"6 "),C.createElement(j,{color:T.diffAdditionPrefix||T.diffAdditionText},"+ "),C.createElement(j,{color:T.diffAdditionText}," "),C.createElement(j,{color:T.diffAdditionHighlightColor||T.diffAdditionText,backgroundColor:T.diffAdditionHighlightBg},'fmt.Printf("Hello, %s!\\n", name)'))),C.createElement(j,{color:T.textDim},"7 }")),C.createElement(Ne,{flexDirection:"column",marginTop:1,marginBottom:1},C.createElement(j,{color:T.textDim},"\u25BE Thought Process"),C.createElement(j,{color:T.textMuted}," I need to add a greeting function. I'll use fmt.Printf.")),C.createElement(Ne,{flexDirection:"column"},C.createElement(j,null,C.createElement(j,{color:T.warning||"yellow"},"\u2699 tool: "),C.createElement(j,{color:T.text},"write_file main.go")),C.createElement(j,null,C.createElement(j,{color:T.accent||"magenta"},"\u29BF task: "),C.createElement(j,{color:T.text},"Implementing greeting")),C.createElement(j,null,C.createElement(j,{color:T.danger||"red"},"X error: "),C.createElement(j,{color:T.text},"compilation failed")),C.createElement(j,null,C.createElement(j,{color:T.warning||"yellow"},"\u26A0 warning: "),C.createElement(j,{color:T.text},"deprecation warning")),C.createElement(j,null,C.createElement(j,{color:T.info||"blue"},"\u2192 link: "),C.createElement(j,{color:T.info||"blue",underline:!0},"file:///path/to/main.go")),C.createElement(j,null,C.createElement(j,{color:T.accent||"magenta"},"\u2605 accent: "),C.createElement(j,{color:T.text},"highlighted text")),C.createElement(j,{color:T.textDim},"\xB7 dim: press Enter to continue")))),C.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:"gray",italic:!0},"\u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),C.createElement(j,{color:"gray"},"Previewing: ",xo[we],xo[we]==="Forest Sprite"?" \u2605":"")))}return C.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Be.border,padding:0,width:"100%",minHeight:32},C.createElement(Ne,{paddingX:1,paddingY:0,marginBottom:0,borderStyle:"single",borderColor:Be.borderMuted,width:"100%"},C.createElement(j,{color:Be.text,bold:!0},"SYSTEM CONFIGURATION")),C.createElement(Ne,{flexDirection:"row",width:"100%",minHeight:26},C.createElement(Ne,{flexDirection:"column",width:"30%",maxWidth:40,borderStyle:"round",borderColor:A==="categories"?Be.border:Be.borderMuted,padding:1,paddingY:0},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:A==="categories"?Be.text:Be.textDim,bold:!0,underline:!0},"CATEGORIES")),ho.map((de,T)=>{let $=D===T,ye=de.id==="exit";return C.createElement(Ne,{key:de.id,marginTop:ye?15:0,backgroundColor:$?A==="categories"?Be.highlightBg:Be.cardBg:void 0,paddingX:1},C.createElement(j,{color:$&&A==="categories"?Be.text:Be.textDim,bold:$},$?"\u276F ":" ",de.label))})),C.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:A==="items"?Be.border:Be.borderMuted,paddingX:1,marginLeft:1,paddingY:0},C.createElement(Ne,{marginBottom:1},C.createElement(j,{color:A==="items"?Be.text:Be.textDim,bold:!0,underline:!0},ho[D].label.toUpperCase().includes("EXIT")?"Runtime Information":`${ho[D].label} Settings`)),Fe.length>0?(()=>{let de=null,T=[],$=We=>(We||"").split(",").map(eo=>eo.trim().toLowerCase()).filter(Boolean),ye=$(t.autoApproveCommands),He=$(t.autoDisallowCommands),rt=$(t.alwaysAskCommands),ot=[...ye,...He,...rt],Xe=new Set(ot),kt=en==="security"&&ot.length!==Xe.size;return Fe.forEach((We,eo)=>{let ao=A==="items"&&oe===eo,Ur=We.label.length,ct=Math.max(2,38-Ur),z=".".repeat(ct),st=It=>en==="security"?(It.value==="autoExec"||It.value==="externalAccess")&&It.status==="ON"?Be.statusOn:Be.statusOff:It.status?.startsWith("\u2713")?Be.statusOn:It.status?.startsWith("\u26A0")?Be.statusOff:It.status==="ON"?Be.statusOn:It.status==="OFF"?Be.statusOff:Be.text;We.section&&We.section!==de&&(de=We.section,T.push(C.createElement(Ne,{key:`sec-hdr-${We.section}`,marginTop:T.length>0?1:0,marginBottom:0,paddingX:1},C.createElement(j,{color:"gray",bold:!0,underline:!0},We.section.toUpperCase()))));let yo=ao&&ve&&(ve==="alwaysAskCommands"&&We.value==="alwaysAsk"||ve==="autoApproveCommands"&&We.value==="autoApprove"||ve==="autoDisallowCommands"&&We.value==="autoDisallow"),Ue=We.value==="alwaysAsk"||We.value==="autoApprove"||We.value==="autoDisallow",jt=We.value==="parserDownload";T.push(C.createElement(Ne,{key:We.value,flexDirection:"column"},C.createElement(Ne,{backgroundColor:ao&&!yo?Be.highlightBg:void 0,paddingX:2},C.createElement(j,{color:ao?Be.text:Be.textDim,bold:ao},ao?"\u276F ":" ",We.label),!Ue&&!jt&&C.createElement(C.Fragment,null,C.createElement(j,{color:"gray"},z),C.createElement(j,{color:st(We),bold:!0},We.value==="aiProvider"?We.status:`[ ${We.status} ]`))),Ue&&!yo&&We.status!=="None"&&C.createElement(Ne,{paddingX:4,marginBottom:1},C.createElement(j,{color:"gray"},"\u21B3 ",We.status)),yo&&C.createElement(Ne,{flexDirection:"column",marginLeft:4,marginBottom:1},C.createElement(Ne,{paddingX:1,borderStyle:"single",borderColor:"gray",flexDirection:"row"},C.createElement(j,{color:"gray",bold:!0},"> "," "),C.createElement(Md,{value:le,onChange:Me,onSubmit:It=>{let $t={...t,[ve]:It.trim(),sandboxPreset:"Custom"};g($t),b({systemSettings:$t,apiTier:h,quotas:s}),ne(null)}})),C.createElement(j,{color:"gray",italic:!0}," Comma separated \u2022 Press Enter to save, Esc to cancel"))))}),kt&&T.push(C.createElement(Ne,{key:"conflict-warning",marginTop:1,paddingX:1},C.createElement(j,{color:Be.text,italic:!0},"* Conflicting commands will be ignored and defaulted to highest priority"))),T})():C.createElement(Ne,{paddingX:1,flexDirection:"column",width:"100%"},en==="exit"?C.createElement(C.Fragment,null,C.createElement(Ne,{flexDirection:"column",marginBottom:1},C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"OS"," "),C.createElement(j,{color:"gray"},"..................... "),C.createElement(j,{color:Be.text},process.env.OS||process.platform||"N/A")),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Computer Name"," "),C.createElement(j,{color:"gray"},".......... "),C.createElement(j,{color:Be.text},process.env.COMPUTERNAME||process.env.HOSTNAME||"N/A")),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Processor Count"," "),C.createElement(j,{color:"gray"},"........ "),C.createElement(j,{color:Be.text},process.env.NUMBER_OF_PROCESSORS||"N/A")),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Node.js Version"," "),C.createElement(j,{color:"gray"},"........ "),C.createElement(j,{color:Be.text},"v",process.versions.node)),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"V8 Version"," "),C.createElement(j,{color:"gray"},"...... ...... "),C.createElement(j,{color:Be.text},"v",process.versions.v8)),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Data Directory"," "),C.createElement(j,{color:"gray"},"......... "),no===mo?"":C.createElement(j,{color:Be.text},no.replaceAll(xl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"),", "),C.createElement(j,{color:Be.text},mo.replaceAll(xl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"))),C.createElement(Ne,{flexDirection:"row"},C.createElement(j,{color:Be.textDim},"Viewport"," "),C.createElement(j,{color:"gray"},"............... "),C.createElement(j,{color:Be.text},process.stdout.rows||"?"," rows \xD7 ",process.stdout.columns||"?"," cols ",process.stdout.columns<90?"(too small width)":"")),C.createElement(Ne,{flexDirection:"row",marginBottom:0},C.createElement(j,{color:Be.textDim},"Memory Load"," "),C.createElement(j,{color:"gray"},"............ "),C.createElement(j,{color:Be.text},pe,"/",F," ",gt))),C.createElement(Ne,{key:"pty-notice",paddingX:0,marginTop:0},C.createElement(j,{color:Vt?Be.statusOn:Be.warning},Vt?"\u2713 Advance Interactive Terminal Supported":"\u26A0 Interactive Terminal is Limited"))):C.createElement(j,{color:"gray",italic:!0},ho[D].desc)))),C.createElement(Ne,{paddingX:1,marginTop:0,flexDirection:"row",justifyContent:"space-between"},C.createElement(j,{color:"gray",italic:!0},A==="categories"?"\u25B2\u25BC Select Category \u2022 Enter/\u25BA to configure":Fe[oe]?.value==="dynamicDirAwareness"?"\u25B2\u25BC Select Option \u2022 Enter to Toggle \u2022 ? HELP \u2022 \u25C4/ESC to go back":"\u25B2\u25BC Select Option \u2022 Enter to Toggle \u2022 \u25C4/ESC to go back"),A==="categories"&&C.createElement(j,{color:"gray"},ho[D].desc)))}import Jt,{useState as Ss,useEffect as Cd}from"react";import{Box as pn,Text as zn}from"ink";import vd from"ink-text-input";function Cs({initialData:t,onSave:g,onCancel:h,theme:y="Dark"}){let w=qe(y),[b,s]=Ss(0),[k,f]=Ss(""),[I,L]=Ss(()=>({name:t?.name||"",nickname:t?.nickname||"",instructions:t?.instructions||""})),X=[{key:"name",label:"Enter your Name: ",maxLength:20},{key:"nickname",label:"Enter a Nickname: ",maxLength:20},{key:"instructions",label:"System Instructions: ",maxLength:200}],S=X[b];Cd(()=>{let D=X[b].key;f((I[D]||"").slice(0,X[b].maxLength))},[b,I]);let v=D=>{D.length>S.maxLength?f(D.slice(0,S.maxLength)):f(D)},A=D=>{if(D.trim().toLowerCase()==="/cancel"){h();return}let U=S.key,oe={...I,[U]:D.trim().slice(0,S.maxLength)};L(oe),f(""),b<X.length-1?s(b+1):g(oe)},O=k.length>=S.maxLength;return Jt.createElement(pn,{borderStyle:"round",borderColor:w.borderMuted,padding:0,marginTop:1,flexShrink:0,flexDirection:"column",width:"100%"},Jt.createElement(pn,{paddingX:1,marginBottom:1},Jt.createElement(zn,{color:w.text,bold:!0},"USER PROFILE CONFIGURATION")),Jt.createElement(pn,{paddingX:1,flexDirection:"column"},Jt.createElement(pn,null,Jt.createElement(zn,{color:w.text,bold:!0},S.label),Jt.createElement(vd,{value:k,onChange:v,onSubmit:A})),Jt.createElement(pn,{marginTop:1,justifyContent:"space-between"},Jt.createElement(zn,{color:w.textMuted,italic:!0},"Step ",b+1," of ",X.length),Jt.createElement(zn,{color:O?w.warning||"yellow":w.textMuted},"[",k.length,"/",S.maxLength,"]"))),Jt.createElement(pn,{paddingX:1,marginTop:1},Jt.createElement(zn,{color:w.textMuted,italic:!0},"(Enter to submit \u2022 Type /cancel to abort)")))}import Tt,{useState as vs}from"react";import{Box as Zt,Text as Uo,useInput as Ed}from"ink";import Bd from"ink-text-input";var Dd=({question:t,options:g,onResolve:h,theme:y="Dark"})=>{let w=qe(y),[b,s]=vs(!1),[k,f]=vs(""),[I,L]=vs(0),X=!1,S=[],v=Array.isArray(g)&&g.length>0;try{S=[...v?g:[],v?{id:"CUSTOM",label:"Suggest something else...",description:"Provide a custom response"}:{id:"CUSTOM",label:"Your Answer",description:""}]}catch{X=!0}Ed((O,D)=>{if(!b&&((D.leftArrow||D.upArrow)&&L(U=>Math.max(0,U-1)),(D.rightArrow||D.downArrow)&&L(U=>Math.min(S.length-1,U+1)),D.return)){let U=S[I];U?.id==="CUSTOM"?s(!0):h(X?"Selected Nothing":U.label)}});let A=Re(2);return b?Tt.createElement(Zt,{flexDirection:"column",borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,backgroundColor:w.codeBg,width:"100%"},Tt.createElement(Zt,{paddingX:1},Tt.createElement(Uo,{color:w.text,bold:!0},"SUGGEST SOMETHING")),Tt.createElement(Zt,{marginTop:1,paddingX:1},Tt.createElement(Uo,{italic:!0,color:w.textMuted},"Replying to: ",t)),Tt.createElement(Zt,{marginTop:1,paddingX:1,flexDirection:"row"},Tt.createElement(Bd,{value:k,onChange:f,onSubmit:()=>h(k)})),Tt.createElement(Zt,{marginTop:1,paddingX:1,marginBottom:1},Tt.createElement(Uo,{color:w.textMuted,italic:!0},"(Press Enter to send)"))):Tt.createElement(Zt,{flexDirection:"column",border:!0,borderStyle:"round",borderColor:w.codeBorder,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,marginY:1,marginRight:1,width:"100%"},Tt.createElement(Zt,{paddingX:1,marginBottom:1},Tt.createElement(Uo,{color:"yellow",bold:!0},"AGENT REQUEST: ACTION REQUIRED")),Tt.createElement(Zt,{paddingX:1,marginBottom:1},Tt.createElement(Uo,{color:w.text},t)),Tt.createElement(Zt,{flexDirection:"column",width:"100%"},S.map((O,D)=>{let U=D===I;return Tt.createElement(Zt,{key:O.id,flexDirection:"column",width:"100%",backgroundColor:U?w.highlightBg:void 0,paddingX:1,marginBottom:D===S.length-1?0:1},Tt.createElement(Uo,{color:U?w.text:w.textMuted,bold:U},U?"\u276F ":" ",O.label),O.description&&Tt.createElement(Zt,{marginLeft:4},Tt.createElement(Uo,{color:w.textMuted,italic:!0},O.description)))})),Tt.createElement(Zt,{paddingX:1,marginTop:1,marginBottom:1},Tt.createElement(Uo,{color:w.textMuted,italic:!0},"(Use Arrows to navigate, Enter to confirm)")))},pl=Dd;import Qd from"gradient-string";import Pt,{useState as Es,useEffect as kd}from"react";import{Box as po,Text as $o,useInput as Id}from"ink";function Bs({onSelect:t,onDelete:g,onClose:h,theme:y="Dark"}){let w=qe(y),[b,s]=Es({}),[k,f]=Es([]),[I,L]=Es(0);kd(()=>{(async()=>{let D=await No();s(D),f(Object.keys(D).sort((U,oe)=>(D[oe].updatedAt||0)-(D[U].updatedAt||0)))})()},[]),Id((O,D)=>{if(D.escape&&h(),D.upArrow&&L(U=>Math.max(0,U-1)),D.downArrow&&L(U=>Math.min(k.length-1,U+1)),D.return&&k[I]&&t(k[I]),O==="x"&&k[I]){let U=k[I];g(U).then(oe=>{let xe=oe||{};s(xe);let ve=Object.keys(xe).sort((ne,le)=>(xe[le]?.updatedAt||0)-(xe[ne]?.updatedAt||0));f(ve),L(ne=>Math.max(0,Math.min(ve.length-1,ne)))})}});let X=Re(2),S=15,v=0;if(k.length>S){let O=Math.floor(S/2);v=I-O,v<0?v=0:v+S>k.length&&(v=k.length-S)}let A=k.slice(v,v+S);return Pt.createElement(po,{flexDirection:"column",borderStyle:"round",borderColor:w.borderMuted,padding:0,width:"100%"},Pt.createElement(po,{paddingX:1,marginBottom:1},Pt.createElement($o,{color:w.text,bold:!0},"CHAT HISTORY: RESUME CONVERSATION")),k.length===0?Pt.createElement(po,{paddingX:2,paddingY:1},Pt.createElement($o,{italic:!0,color:w.textMuted},"No saved chats found.")):Pt.createElement(po,{flexDirection:"column",width:"100%"},v>0&&Pt.createElement(po,{paddingX:2,marginBottom:1},Pt.createElement($o,{color:w.textMuted},"\u25B2 (+",v," more chats above)")),A.map((O,D)=>{let U=b[O],xe=v+D===I,ve=Ad(U?.updatedAt);return Pt.createElement(po,{key:O,paddingX:1,backgroundColor:xe?w.highlightBg:void 0,width:"100%"},Pt.createElement(po,{flexGrow:1},Pt.createElement($o,{color:xe?w.text:w.textMuted,bold:xe},xe?"\u276F ":" ",(()=>{let ne=le=>(le||"").replace(/\[\/?(?:STEERING HINT|QUESTION)(?::\s*\w+)?\]/gi,"").trim();return U?.name&&!U.name.startsWith("Session")?ne(U.name):U?.prompt?ne(U.prompt):ne(U?.name)||O})(),Pt.createElement($o,{color:w.textMuted}," [",ve," \u2022 ",O,"]"))),xe&&Pt.createElement(po,{flexShrink:0},Pt.createElement($o,{color:w.danger,bold:!0},"[X] DELETE ")))}),v+S<k.length&&Pt.createElement(po,{paddingX:2,marginTop:1},Pt.createElement($o,{color:w.textMuted},"\u25BC (+",k.length-(v+S)," more chats below)"))),Pt.createElement(po,{marginTop:1,paddingX:1,borderStyle:"single",borderLeft:!1,borderRight:!1,borderBottom:!1,borderColor:w.borderMuted},Pt.createElement($o,{color:w.textMuted,italic:!0},"\u2191\u2193 navigate \u2022 Enter select \u2022 x delete \u2022 Esc close")))}function Ad(t){if(!t)return"N/A";let g=new Date(t);if(isNaN(g.getTime()))return"N/A";let h=k=>String(k).padStart(2,"0"),y=h(g.getMonth()+1),w=h(g.getDate()),b=h(g.getHours()),s=h(g.getMinutes());return`${y}-${w} ${b}:${s}`}import yt,{useState as Ds,useEffect as Ld}from"react";import{Box as bo,Text as io,useInput as Pd,useStdout as Od}from"ink";function ks({onClose:t,theme:g="Dark"}){let h=qe(g),{stdout:y}=Od(),w=y?.columns||80,[b,s]=Ds([]),[k,f]=Ds(0),[I,L]=Ds(!0),X=()=>{let ne=fr($n,[]);s(ne);try{let Me=xr(qo,{}).systemSettings?.memory!==!1;L(Me)}catch{L(!0)}};Ld(()=>{X()},[]),Pd((ne,le)=>{if(le.escape&&t(),le.upArrow&&f(Me=>Math.max(0,Me-1)),le.downArrow&&f(Me=>Math.min(b.length-1,Me+1)),ne==="x"&&b.length>0){let Me=b[k].id,ke=b.filter(ge=>ge.id!==Me);Si($n,ke),s(ke),k>=ke.length&&ke.length>0&&f(ke.length-1)}});let S=(ne,le,Me)=>{if(!ne)return"";let ke=ne.replace(/\[Saved on: .*?\]/g,"").replace(/\\+'/g,"'").trim(),we=`${Me?"\u276F ":" "}${le+1}. `.length,J=Me?22:2;return ke.split(`
|
|
43
43
|
`).map((ue,R)=>{let _e=R===0,me=Math.max(10,w-4-(_e?we:3)-J),Z=Math.max(10,w-4-3-J),ae=ue.split(/(\s+)/),re=[],se="";if(ae.forEach(ee=>{if(ee.length===0)return;let Ce=re.length===0?me:Z;se.length+ee.length>Ce?se.trim().length>0?(re.push(se.trimEnd()),se=ee):(re.push(ee.substring(0,Ce)),se=ee.substring(Ce)):se+=ee}),se.trimEnd().length>0&&re.push(se.trimEnd()),re.length===0)return"";let fe=re.join(`
|
|
44
44
|
`);return _e?fe:" "+fe}).join(`
|
|
45
45
|
`)},v=4*1024*2,A=b.reduce((ne,le)=>ne+(le.memory?.length||0),0),O=Math.min(100,Math.round(A/v*100)),D=12,U=Math.round(O/100*D),oe="\u2588".repeat(U)+"\u2591".repeat(Math.max(0,D-U)),xe=()=>O<50?h.textMuted:O<90?h.warning:h.danger,ve=Re(2);return yt.createElement(bo,{flexDirection:"column",borderStyle:"round",borderColor:h.borderMuted,padding:0,width:"100%"},yt.createElement(bo,{paddingX:1,marginBottom:1,justifyContent:"space-between"},yt.createElement(io,{color:h.text,bold:!0},"SAVED MEMORIES"),yt.createElement(bo,null,yt.createElement(io,{color:h.textMuted},"Vault: "),yt.createElement(io,{color:xe()},oe),yt.createElement(io,{color:h.text,bold:!0}," ",O,"%"))),!I&&b.length>0?yt.createElement(bo,{paddingX:2,paddingY:1},yt.createElement(io,{italic:!0,color:h.textMuted},"Memory is currently Off...")):b.length===0?yt.createElement(bo,{paddingX:2,paddingY:1},yt.createElement(io,{italic:!0,color:h.textMuted},I?"Learning...":"Memory not available...")):yt.createElement(bo,{flexDirection:"column"},b.map((ne,le)=>{let Me=le===k;return yt.createElement(bo,{key:ne.id,paddingX:1,backgroundColor:Me?h.highlightBg:void 0,width:"100%"},yt.createElement(bo,{flexGrow:1},yt.createElement(io,{color:Me?h.text:h.textMuted,bold:Me},Me?"\u276F ":" ",le+1,". ",S(ne.memory,le,Me))),Me&&yt.createElement(bo,{flexShrink:0},yt.createElement(io,{color:h.textMuted,dimColor:!0}," [",yt.createElement(io,{italic:!0},ne.score),"] "),yt.createElement(io,{color:h.danger,bold:!0},"[X] WIPE ")))})),yt.createElement(bo,{marginTop:1,paddingX:1,borderStyle:"single",borderLeft:!1,borderRight:!1,borderBottom:!1,borderColor:h.borderMuted},yt.createElement(io,{color:h.textMuted,italic:!0},"\u2191\u2193 navigate \u2022 x wipe memory \u2022 Esc close")))}import mt,{useState as Ar,useEffect as bl}from"react";import{Box as _o,Text as Ft}from"ink";import{spawn as wl}from"child_process";var Tl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Nd=({latest:t,current:g,settings:h,onClose:y,onUpdateSettings:w,onSuccess:b})=>{let[s,k]=Ar("initializing"),[f,I]=Ar(""),[L,X]=Ar(null),[S,v]=Ar(0);if(bl(()=>{let A=setInterval(()=>{v(O=>(O+1)%1e3)},33);return()=>clearInterval(A)},[]),bl(()=>{let A;return(async()=>{let D=h.updateManager||"npm";if(!h.updateManager){w();return}let U="";D==="pnpm"?U=`pnpm add -g fluxflow-cli@${t}`:D==="bun"?U=`bun add -g fluxflow-cli@${t}`:D==="yarn"?U=`yarn global add fluxflow-cli@${t}`:D==="custom"?U=h.customUpdateCommand:U=`npm install -g fluxflow-cli@${t}`,k("downloading"),I(`Running: ${U}...`);let oe=process.platform==="win32",xe=ne=>new Promise(le=>{let Me=oe?ne?"powershell.exe":"cmd.exe":process.env.SHELL||"bash",ke=oe?ne?["-NoProfile","-Command",U]:["/c",U]:["-c",U],ge=J=>{let ue=J.toString().replace(/\x1B\[[0-?]*[ -/]*[@-~]|\x1B\][^\x07\x1B]*[\x07\x1B]|\b|\x07/g,"").replace(/\r/g,"").trim();ue&&I(R=>{let _e=R.split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as b,b as T}from"./chunk-
|
|
1
|
+
import{a as b,b as T}from"./chunk-YO4FM7K6.js";import{a as A}from"./chunk-Y5JU726N.js";import{spawn as C}from"child_process";var P=null;try{let f=await import("node-pty");P=f.default||f}catch{}var _=!!P,S=f=>typeof f!="string"?f:f.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),E=f=>{if(!f)return"";let p=[[]],n=0,o=0,w=/\x1b\[([0-9;]*?)([a-zA-Z])/g,g=0,h,d=u=>{for(let e=0;e<u.length;e++){let s=u[e];if(s===`
|
|
2
2
|
`)for(n++,o=0;n>=p.length;)p.push([]);else if(s==="\r")o=0;else{for(;n>=p.length;)p.push([]);let t=p[n];for(;o>t.length;)t.push(" ");t[o]=s,o++}}};for(;(h=w.exec(f))!==null;){d(f.substring(g,h.index));let u=h[1],e=h[2],s=u?u.split(";").map(Number):[];if(e==="A"){let t=s[0]||1;n=Math.max(0,n-t)}else if(e==="B"){let t=s[0]||1;for(n=n+t;n>=p.length;)p.push([])}else if(e==="C"){let t=s[0]||1;o=o+t}else if(e==="D"){let t=s[0]||1;o=Math.max(0,o-t)}else if(e==="G"){let t=(s[0]||1)-1;o=Math.max(0,t)}else if(e==="H"||e==="f"){let t=(s[0]||1)-1,r=(s[1]||1)-1;for(n=Math.max(0,t),o=Math.max(0,r);n>=p.length;)p.push([])}else if(e==="K"){let t=s[0]||0;if(n<p.length){let r=p[n];if(t===0)r.length=o;else if(t===1)for(let c=0;c<o&&c<r.length;c++)r[c]=" ";else t===2&&(r.length=0)}}else if(e==="J"){let t=s[0]||0;(t===2||t===3)&&(p.length=0,p.push([]),n=0,o=0)}g=w.lastIndex}d(f.substring(g));let O=p.map(u=>u.join(""));for(;O.length>0&&O[O.length-1]==="";)O.pop();return O.join(`
|
|
3
3
|
`)},x=null,k=!1,D=f=>{try{x&&(k&&typeof x.write=="function"?x.write(f):x.stdin&&x.stdin.writable&&x.stdin.write(f))}catch{}},F=()=>{if(x){try{k&&typeof x.destroy=="function"?x.destroy():typeof x.kill=="function"&&(process.platform==="win32"?C("taskkill",["/pid",x.pid,"/f","/t"]):x.kill("SIGKILL"))}catch{}x=null,k=!1}},v=(f,p=!1)=>{if(process.platform!=="win32")return f;let n=[],o="",w=null,g=!1;for(let e=0;e<f.length;e++){let s=f[e];if(g){o+=s,g=!1;continue}if(s==="\\"){if(f[e+1]===" "){o+=" ",e++;continue}o+=s,g=!0;continue}w?(s===w&&(w=null),o+=s):s==='"'||s==="'"?(w=s,o+=s):s===";"&&!o.includes("://")?(o.length>0&&(n.push(o),o=""),n.push(p?";":"&")):s==="&"&&!o.includes("://")?f[e+1]==="&"?(o.length>0&&(n.push(o),o=""),n.push("&&"),e++):(o.length>0&&(n.push(o),o=""),n.push("&")):s==="|"&&!o.includes("://")?(o.length>0&&(n.push(o),o=""),n.push("|")):/\s/.test(s)?o.length>0&&(n.push(o),o=""):o+=s}o.length>0&&n.push(o);let h=e=>!(!e.includes("/")||/^(https?|file|ftp):\/\//i.test(e)||e.startsWith("@")||e.startsWith("/")&&(e.match(/\//g)||[]).length===1||/\s\/|\/\s/.test(e)||/[\(\)\{\}\;\<\>\=\'\"]/.test(e)),d=[];for(let e=0;e<n.length;e++){let s=n[e];if(s==="mkdir"&&p&&b()){let t=[],r=e+1;for(;r<n.length;){let c=n[r];if([">",">>","<","&","&&","|","||",";"].includes(c))break;c!=="-p"&&c!=="--parents"&&c!=="-v"&&c!=="--verbose"&&t.push(c),r++}if(t.length>0){let c=t.map(i=>{let a=i.replace(/^['"]|['"]$/g,""),l=i;return h(a)&&(l=i.replace(/\//g,"\\")),l});d.push("New-Item","-ItemType","Directory","-Force","-Path",c.join(","))}else d.push("New-Item","-ItemType","Directory","-Force");e=r-1;continue}if(s==="rm"&&p&&b()){let t=[],r=!1,c=!1,i=e+1;for(;i<n.length;){let l=n[i];if([">",">>","<","&","&&","|","||",";"].includes(l))break;l==="-rf"||l==="-fr"?(r=!0,c=!0):l==="-r"||l==="-R"||l==="--recursive"?r=!0:l==="-f"||l==="--force"?c=!0:t.push(l),i++}let a=["Remove-Item"];if(r&&a.push("-Recurse"),c&&a.push("-Force"),t.length>0){let l=t.map(m=>{let $=m.replace(/^['"]|['"]$/g,""),R=m;return h($)&&(R=m.replace(/\//g,"\\")),R});a.push("-Path",l.join(","))}d.push(...a),e=i-1;continue}if(s==="cp"&&p&&b()){let t=[],r=!1,c=!1,i=e+1;for(;i<n.length;){let l=n[i];if([">",">>","<","&","&&","|","||",";"].includes(l))break;l==="-r"||l==="-R"||l==="--recursive"?r=!0:l==="-f"||l==="--force"?c=!0:t.push(l),i++}let a=["Copy-Item"];if(r&&a.push("-Recurse"),c&&a.push("-Force"),t.length>0){let l=t.map(m=>{let $=m.replace(/^['"]|['"]$/g,""),R=m;return h($)&&(R=m.replace(/\//g,"\\")),R});if(l.length>1){let m=l.pop();a.push("-Path",l.join(","),"-Destination",m)}else a.push("-Path",l[0])}d.push(...a),e=i-1;continue}if(s==="touch"&&p&&b()){let t=[],r=e+1;for(;r<n.length;){let c=n[r];if([">",">>","<","&","&&","|","||",";"].includes(c))break;t.push(c),r++}if(t.length>0){let i=`(${t.map(a=>{let l=a.replace(/^['"]|['"]$/g,""),m=a;return h(l)&&(m=a.replace(/\//g,"\\")),m}).join(", ")}) | ForEach-Object { if (Test-Path $_) { (Get-Item $_).LastWriteTime = [System.DateTime]::Now } else { $null | Out-File -FilePath $_ } }`;d.push(i)}e=r-1;continue}if(s==="|"&&n[e+1]==="tee"){n[e+2]==="-a"?(d.push(">>"),e+=2):(d.push(">"),e+=1);continue}if(s==="|"&&n[e+1]==="cat"&&n[e+2]===">"){d.push(">"),e+=2;continue}if(s==="|"){let t=n[e+1];if(t){let r=t.replace(/^['"]|['"]$/g,""),c=/\.(txt|md|json|log|csv|html|css|py|js|xml|yaml|yml|pdf|docx|pptx|xlsx)$/i.test(r);if(h(r)&&c){d.push(">");continue}}}d.push(s)}let O=!1,u=d.map(e=>{if(e==="echo")return O=!0,e;[">",">>","<","&","&&","|","||",";"].includes(e)&&(O=!1);let t=/^['"]|['"]$/.test(e),r=e;O&&t&&(r=e.replace(/^['"]|['"]$/g,""));let c=/^['"]|['"]$/.test(r),i=r.replace(/^['"]|['"]$/g,"");h(i)&&(r=r.replace(/\//g,"\\"));let a=r.replace(/^['"]|['"]$/g,"");return a.includes(" ")&&!c&&(r=`"${a}"`),r});if(p){let e="",s=0;for(let t=0;t<u.length;t++){let r=u[t];r==="&&"?(e+="; if ($?) {",s++):r===";"?(e+=" }".repeat(s)+";",s=0):(e&&!e.endsWith(" ")&&!e.endsWith("{")&&(e+=" "),e+=r)}return e+=" }".repeat(s),e}return u.join(" ")},M=async(f,p={})=>{let{command:n}=A(f),{onChunk:o}=p;if(!n)return'ERROR: Missing "command" argument for exec_command.';let w=process.platform==="win32",g=p.systemSettings||{},h={};return g.networkAccess===!1&&(h.HTTP_PROXY="http://127.0.0.1:9999",h.HTTPS_PROXY="http://127.0.0.1:9999",h.ALL_PROXY="socks5://127.0.0.1:9999",h.http_proxy="http://127.0.0.1:9999",h.https_proxy="http://127.0.0.1:9999",h.all_proxy="socks5://127.0.0.1:9999",h.NO_PROXY="localhost,127.0.0.1"),new Promise(d=>{let O=u=>{let e=u==="pwsh"||u==="powershell",s=v(n,e),t;w?u==="pwsh"?t="pwsh.exe":u==="powershell"?t="powershell.exe":t="cmd.exe":t=process.env.SHELL||"bash";let r=w?e?["-NoProfile","-Command",s]:["/c",s]:["-c",s];if(g.networkAccess===!1&&!w){let c=t,i=[...r];if(process.platform==="linux")t="unshare",r=["-n","-r",c,...i];else if(process.platform==="darwin"){let a=`(version 1)
|
|
4
4
|
(allow default)
|