fluxflow-cli 4.24.0 → 4.24.1
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-NFNMNHUW.js → ai-D266ZNXN.js} +1 -1
- package/dist/chunks/{app-KJGLCANP.js → app-QAUN2PDW.js} +2 -2
- package/dist/chunks/{chunk-JQ5Y2VZD.js → chunk-3HEZL3GW.js} +74 -75
- package/dist/chunks/{chunk-PQRLA35M.js → chunk-LQHSNXBM.js} +17 -17
- package/dist/chunks/{chunk-3LTI7Z7N.js → chunk-VCPTQGFQ.js} +1 -1
- package/dist/chunks/{exec_command-GVLMN5KT.js → exec_command-CY42M4FP.js} +1 -1
- package/dist/chunks/{invoke-A65SLWMF.js → invoke-XPZ4MUGJ.js} +2 -2
- package/dist/chunks/{invokeSync-KP33D2NU.js → invokeSync-BPIG7EIY.js} +2 -2
- package/dist/cli.js +4 -4
- package/dist/package.json +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as p,B as q,C as r,D as s,E as t,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-
|
|
1
|
+
import{A as p,B as q,C as r,D as s,E as t,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-3HEZL3GW.js";import"./chunk-56EJGQU3.js";import"./chunk-7SFAWGE2.js";import"./chunk-LQHSNXBM.js";import"./chunk-VYTQ6J56.js";import"./chunk-RZTZPIC5.js";import"./chunk-ZRP6USHC.js";import"./chunk-FQBBOFNP.js";import"./chunk-Y5JU726N.js";import"./chunk-3CZWTXIR.js";import"./chunk-4XXLWMY6.js";import"./chunk-GRQ7JZZP.js";import{k as a}from"./chunk-OSDQRSY6.js";import"./chunk-L3W2X74K.js";import"./chunk-DSVLWYIT.js";export{c as RE_LEADING_THINK,q as compressHistory,b as convertChannelThinkTags,r as deleteChatSummary,e as findGenuineThinkClose,p as generateSimpleContent,s 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,t as runSubagent,k as signalTermination,g as stripLeadingThinking,h as stripNakedXmlTags,i as stripTrailingFluffAfterTools};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as sl,C as il,D as ll,a as Yi,b as Je,c as nt,d as Cr,e as Ht,f as Ki,g as qi,h as vr,i as zi,j as ys,k as Jo,l as Br,v as nl,y as rl,z as Kn}from"./chunk-
|
|
1
|
+
import{B as sl,C as il,D as ll,a as Yi,b as Je,c as nt,d as Cr,e as Ht,f as Ki,g as qi,h as vr,i as zi,j as ys,k as Jo,l as Br,v as nl,y as rl,z as Kn}from"./chunk-3HEZL3GW.js";import{b as Ri,c as el,d as tl}from"./chunk-SZYN3VHU.js";import{a as ol}from"./chunk-56EJGQU3.js";import"./chunk-7SFAWGE2.js";import{c as Vi,e as Sn,f as jt,g as ji}from"./chunk-VCPTQGFQ.js";import"./chunk-LQHSNXBM.js";import{a as Zi}from"./chunk-A73NNVCZ.js";import{a as Fo,b as Cn,d as Er,e as ws,f as Qi,h as Ji,i as jn}from"./chunk-VYTQ6J56.js";import"./chunk-RZTZPIC5.js";import{a as Et,b as xt,d as Xi,e as ht,f as Wi,j as bs,k as Ts,l as Gn,n as Gi,o as Co}from"./chunk-ZRP6USHC.js";import{a as Vn}from"./chunk-FQBBOFNP.js";import{a as Yn}from"./chunk-Y5JU726N.js";import{b as Mn,c as fs,k as Ni}from"./chunk-3CZWTXIR.js";import{b as ps}from"./chunk-AF7LASZ3.js";import{a as Fi,b as Ui,f as $i,g as Mr,h as Sr,j as vt,k as Qo,l as hs,r as _i}from"./chunk-4XXLWMY6.js";import{a as xs,b as Pt}from"./chunk-GRQ7JZZP.js";import{d as Di,e as ki,f as Ii,g as Ai,h as Li,i as Pi,k as yr,m as No,n as go,o as Oi}from"./chunk-OSDQRSY6.js";import{c as Tr,d as Bi,e as wr}from"./chunk-L3W2X74K.js";import{e as Hi}from"./chunk-6AWSJNXE.js";import{a as ro,b as zo,c as mo,d as ms,e as gs,k as Wn}from"./chunk-DSVLWYIT.js";import Ys from"os";import e,{useState as J,useEffect as rt,useRef as Ke,useMemo as kn}from"react";import{Box as c,Text as l,useInput as Kd,useStdout as qd,Static as zd}from"ink";import Qd from"ink-spinner";import et from"fs-extra";import St from"path";import{exec as wo}from"child_process";import{fileURLToPath as Jd}from"url";import Ut,{useState as Dr,useEffect as Ms,useMemo as qn,useCallback as ba,useRef as vo}from"react";import{Box as Ta,Text as so,useInput as wa}from"ink";function ya(t,m){return t.replace(/\t/g," ".repeat(m))}function kr(t){return t==null?"":t.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`)}function Zo(t,m,h){let y=t,T=[...m].sort((s,k)=>s.start-k.start),b=0;for(let s of T){let k=s.start-b,f=kr(s.text).split(`
|
|
4
4
|
`).length,I=s.text.length,A=(f>3?`[Pasted ${f} lines]`:`[Pasted ${I} chars]`).length,X=k+A;if(t<=k)break;if(t<X){y=s.end;break}else{let S=s.text.length-A;y+=S,b+=S}}return Math.min(y,h.length)}function Ss(t,m,h,y,T=[]){let b=(t||"").slice(0,m),s=y(b).length,k=y(t||""),f=[...T].sort((N,L)=>L.start-N.start);for(let N of f){let L=y(t.slice(0,N.start)).length,_=y(N.text),Q=L+_.length,ge=kr(N.text).split(`
|
|
@@ -41,7 +41,7 @@ import{B as sl,C as il,D as ll,a as Yi,b as Je,c as nt,d as Cr,e as Ht,f as Ki,g
|
|
|
41
41
|
`),terminalWidth:m,theme:b}));if(f==="diff-line"){let{isFirstLine:S,isLastLine:C}=t,P=(N=!1)=>r.createElement(E,{backgroundColor:s.codeBg,paddingX:1,width:m,marginBottom:N?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(ne,null," ")));return r.createElement(E,{flexDirection:"column"},S&&P(!1),r.createElement(xl,{line:I,pairContent:t.pairContent,parentText:void 0,columns:m,theme:b}),C&&P(!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(ne,null," ")),r.createElement(E,{flexDirection:"row",...S},r.createElement(ne,{color:"gray",bold:!0},"\u25B6_ ",(I||"TEXT").toUpperCase())))}if(f==="code-line"){let{lineNum:S,lang:C}=t,P=m-12,L=xt(I,Math.max(10,P)).split(`
|
|
42
42
|
`);return r.createElement(E,{flexDirection:"column",width:"100%"},L.map((_,Q)=>r.createElement(E,{key:Q,flexDirection:"row",borderColor:s.codeBorder,paddingLeft:2,width:"100%"},r.createElement(E,{width:5,flexShrink:0},r.createElement(ne,{color:"gray",dimColor:!0},Q===0?String(S).padStart(4," ")+" ":" ")),r.createElement(E,{flexGrow:1},Ot(_,C,s.text)))))}if(f==="code-fence-close")return r.createElement(E,{flexDirection:"row",paddingLeft:2,marginBottom:1,width:"100%"},r.createElement(ne,null," "));if(f==="write-header")return r.createElement(E,{flexDirection:"column",paddingX:1,width:m},r.createElement(En,{text:I,columns:m,theme:b}));if(f==="write-line"){let{gutterWidth:S,lineNum:C,isFirstLine:P,isLastLine:N,extension:L,wrappedLines:_}=t,Q=(ge=!1)=>r.createElement(E,{flexDirection:"row",width:m,borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,borderColor:s.codeBorder,paddingLeft:2,paddingRight:0,backgroundColor:s.codeBg,marginBottom:ge?1:0},r.createElement(E,{width:S+2,flexShrink:0},r.createElement(ne,null," ".repeat(S+2))),r.createElement(E,{flexGrow:1},r.createElement(ne,null," ")));return r.createElement(E,{flexDirection:"column"},P&&Q(!1),r.createElement(E,{flexDirection:"row",width:m,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(ne,{color:"gray",dimColor:!0},String(C).padStart(S," ")," ")),r.createElement(E,{flexGrow:1,flexDirection:"column"},(_||[I]).map((ge,ye)=>r.createElement(E,{key:ye},Ot(ge,L,s.text))))),N&&Q(!0))}return f==="write-footer"?r.createElement(E,{flexDirection:"column",paddingX:1,width:m,marginTop:1,marginBottom:1},r.createElement(En,{text:I,columns:m,theme:b})):f==="worked-duration"?r.createElement(E,{marginTop:1,marginBottom:2,paddingX:1,width:"100%"},r.createElement(ne,{color:s.textMuted},"["),r.createElement(ne,{color:s.textMuted},"Worked for ",r.createElement(ne,{bold:!0,color:s.text},Es(X))),r.createElement(ne,{color:s.textMuted},"]")):null}),Gc=r.memo(({messages:t,showFullThinking:m,columns:h=80,aiProvider:y,version:T,theme:b="Dark"})=>r.createElement(E,{flexDirection:"column",width:"100%"},t.map((s,k)=>r.createElement(hl,{key:s.id||k,msg:s,showFullThinking:m,columns:h,aiProvider:y,version:T,theme:b}))));import pt from"react";import{Box as Uo,Text as fo}from"ink";import{useState as Qn,useEffect as Jn,useRef as Pr}from"react";var Zn=null;function pl(){Zn&&Zn()}var hd=t=>{if(t<=370)return"#00a564";if(t>=5e3)return"#ff0000";let m=[{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<m.length-1;h++){let y=m[h],T=m[h+1];if(t>=y.t&&t<=T.t){let b=(t-y.t)/(T.t-y.t);b=b*b*(3-2*b);let s=Math.round(y.r+(T.r-y.r)*b),k=Math.round(y.g+(T.g-y.g)*b),f=Math.round(y.b+(T.b-y.b)*b);return`#${((1<<24)+(s<<16)+(k<<8)+f).toString(16).slice(1)}`}}return"#ff0000"},pd=pt.memo(({mode:t,thinkingLevel:m,tokens:h="0.0k",tokensTotal:y="0.0k",cachedTokens:T=0,promptTokens:b=0,chatId:s="NEW-SESSION",isMemoryEnabled:k=!0,apiTier:f="Free",aiProvider:I="Google",activeModel:A="",isProcessing:X=!1,lastChunkTime:S=0,theme:C="Dark",wps:P=0,showTPMEstimate:N=!1})=>{let L=Je(C),_="",[Q,ge]=Qn(0),[ye,se]=Qn(0),[ie,pe]=Qn("MB"),[Be,Ce]=Qn("green"),[Fe,le]=Qn(0),Ie=Pr([]),be=Pr(370),ee=Pr([]),We=Pr(S);Jn(()=>{We.current=S},[S]),Jn(()=>{if(!X){ee.current=[];return}if(P>0){let R=ee.current;R.push(P),R.length>3&&R.shift()}},[X,P,S]),Jn(()=>{if(!X){le(0);return}let R=setInterval(()=>{let te=We.current,Z=te>0?Date.now()-te:0;if(te>0&&Z>=1e3)ee.current=[],le(0);else if(te>0&&Z>500){ee.current.length>0&&ee.current.shift();let ae=ee.current;if(ae.length>0){let fe=ae.reduce((he,Ae)=>he+Ae,0);le(Math.round(fe/ae.length))}else le(0)}else{let ae=ee.current;if(ae.length>0){let fe=ae.reduce((he,Ae)=>he+Ae,0);le(Math.round(fe/ae.length))}else P>0&&le(Math.round(P))}},750);return()=>clearInterval(R)},[X]),Jn(()=>{if(!X){Ie.current=[];return}if(S>0){let Z=Ie.current;(Z.length===0||Z[Z.length-1]!==S)&&(Z.push(S),Z.length>10&&Z.shift())}let R=()=>{if(!S){Ce("#00a564");return}let Z=Ie.current,ae=0;if(Z.length>1){let oe=0;for(let ce=1;ce<Z.length;ce++)oe+=Z[ce]-Z[ce-1];ae=oe/(Z.length-1)}let fe=Date.now()-S,Ae=fe>=2500,at=!Ae&&ae>0?Math.min(fe,ae*3):fe,Ze=Math.max(ae,at),ve=Ae?.4:.2;be.current=be.current*(1-ve)+Ze*ve,Ce(hd(be.current))};R();let te=setInterval(R,100);return()=>clearInterval(te)},[X,S]);let me=()=>{let R=process.memoryUsage(),te=R.heapTotal/(1024*1024)>=1024,Z=te?"GB":"MB",ae=(fe,he)=>{let Ae=fe/(1048576*(he?1024:1));return he?parseFloat(Ae.toFixed(2)):Math.round(Ae)};pe(Z),se(ae(R.heapTotal,te)),ge(ae(R.heapUsed,te))};return Jn(()=>{Zn=me,me();let R=setInterval(()=>{me()},6e4);return()=>{clearInterval(R),Zn===me&&(Zn=null)}},[]),pt.createElement(Uo,{flexDirection:"row",justifyContent:"space-between",paddingX:1,width:"100%"},pt.createElement(Uo,null,pt.createElement(Uo,{marginRight:1},pt.createElement(fo,{color:L.textMuted},t.toLowerCase()==="flow"?"Studio":t.toLowerCase()==="icu"?"Computer Use":t.toLowerCase()==="flux"?"Workspace":"Omni")),pt.createElement(fo,{color:L.textMuted,dimColor:!0},"\u2503 "),pt.createElement(Uo,null,pt.createElement(fo,{color:L.text,italic:!0},Wi(process.cwd(),35)))),pt.createElement(Uo,null,X&&!N?pt.createElement(Uo,null,pt.createElement(fo,{color:Be},"\u25CF ")):null,X&&N&&pt.createElement(pt.Fragment,null,pt.createElement(fo,{color:L.textMuted},Fe," tok/s"),pt.createElement(fo,{color:L.textMuted,dimColor:!0}," \u2503")),h>0&&pt.createElement(pt.Fragment,null,pt.createElement(Uo,{marginX:1},pt.createElement(fo,{color:L.text},ht(y)," tok",(()=>{let R=typeof b=="number"?b:0,te=typeof T=="number"?T:0,Z=R>0?te/R*100:0;return Z<1?null:pt.createElement(fo,{color:L.success||"green",dimColor:!0}," [",Z.toFixed(0),"% cached]")})())),pt.createElement(fo,{color:L.textMuted,dimColor:!0},"\u2503")),pt.createElement(Uo,{marginLeft:1},pt.createElement(fo,{color:L.textMuted,bold:!0},Q," ",ie))))}),bl=pd;import st,{useState as Bs,useMemo as bd,useEffect as Td}from"react";import{Box as Xt,Text as Kt,useInput as wd}from"ink";import yd from"ink-select-input";var Md=({label:t,isSelected:m,theme:h="Dark"})=>{let y=Je(h),T=t==="Cancel"||t==="Back"||t.toLowerCase().includes("exit")||t.toLowerCase().includes("back");return st.createElement(Xt,{marginTop:T?1:0,backgroundColor:m?y.highlightBg:void 0,paddingX:1,width:"100%"},st.createElement(Kt,{color:m?y.text:y.textMuted,bold:m},m?"\u276F ":" ",t))};function bt({title:t,subtitle:m,items:h=[],onSelect:y,theme:T="Dark",searchable:b=!1}){let s=Je(T),[k,f]=Bs(""),[I,A]=Bs(0),[X,S]=Bs("list"),C=bd(()=>{if(!b||!k.trim())return h;let P=k.toLowerCase().trim();return h.filter(N=>N.label&&N.label.toLowerCase().includes(P))},[h,k,b]);return Td(()=>{A(0)},[k]),wd((P,N)=>{if(b){if(N.upArrow){S("list"),A(L=>C.length>0?L>0?L-1:C.length-1:0);return}if(N.downArrow){S("list"),A(L=>C.length>0&&L<C.length-1?L+1:0);return}if(N.return){C.length>0&&C[I]&&y(C[I]);return}if(N.escape){if(k)f(""),S("list"),A(0);else{let L=h.find(_=>_.value==="Back"||_.label==="Back"||_.value==="Cancel"||_.label==="Cancel");L&&y(L)}return}if(N.backspace||N.delete){S("search"),f(L=>L.slice(0,-1));return}if(P&&!N.ctrl&&!N.meta&&!N.tab){S("search"),f(L=>L+P);return}}},{isActive:b}),b?st.createElement(Xt,{flexDirection:"column",borderStyle:"round",borderColor:s.borderMuted,padding:0,marginTop:0,flexShrink:0,width:"100%"},t&&st.createElement(Xt,{paddingX:1,paddingY:0,marginBottom:0},st.createElement(Kt,{color:s.text,bold:!0},typeof t=="string"?t.toUpperCase():t)),m&&st.createElement(Xt,{paddingX:1,marginBottom:0},st.createElement(Kt,{color:s.textMuted,italic:!0}," ",m)),st.createElement(Xt,{paddingX:1,marginTop:1,marginBottom:1,flexDirection:"row"},st.createElement(Kt,{color:X==="search"?s.primary||"cyan":s.textMuted,bold:X==="search"},"\u{1F50D} Search:"),st.createElement(Kt,{color:s.text,bold:!0}," ",k),X==="search"?st.createElement(Kt,{color:s.primary||"cyan"},"\u2588"):k?null:st.createElement(Kt,{color:s.textMuted,italic:!0}," (type to search...)")),st.createElement(Xt,{flexDirection:"column",width:"100%"},C.length===0?st.createElement(Xt,{paddingX:1,marginY:0},st.createElement(Kt,{color:s.warning||"yellow",italic:!0}," No matching items found")):C.map((P,N)=>{let L=N===I,_=P.label==="Cancel"||P.label==="Back"||P.label.toLowerCase().includes("exit")||P.label.toLowerCase().includes("back");return st.createElement(Xt,{key:P.value??P.label??N,marginTop:_?1:0,backgroundColor:L?s.highlightBg:void 0,paddingX:1,width:"100%"},st.createElement(Kt,{color:L?s.text:s.textMuted,bold:L},L?"\u276F ":" ",P.label))})),st.createElement(Xt,{paddingX:1,marginTop:1},st.createElement(Kt,{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)"))):st.createElement(Xt,{flexDirection:"column",borderStyle:"round",borderColor:s.borderMuted,padding:0,marginTop:0,flexShrink:0,width:"100%"},t&&st.createElement(Xt,{paddingX:1,paddingY:0,marginBottom:m?0:1},st.createElement(Kt,{color:s.text,bold:!0},typeof t=="string"?t.toUpperCase():t)),m&&st.createElement(Xt,{paddingX:1,marginBottom:1},st.createElement(Kt,{color:s.textMuted,italic:!0}," ",m)),st.createElement(Xt,{flexDirection:"column",width:"100%"},st.createElement(yd,{items:h,onSelect:y,itemComponent:P=>st.createElement(Md,{...P,theme:T}),indicatorComponent:()=>null})),st.createElement(Xt,{paddingX:1,marginTop:1},st.createElement(Kt,{color:s.textMuted,italic:!0},"(Arrows to select \u2022 Enter to confirm)")))}import v,{useState as At,useEffect as Rn}from"react";import{Box as Ne,Text as j,useInput as Sd}from"ink";import Cd from"ink-text-input";import vd from"v8";import Tl from"os";var xo=[...Object.keys(Yi),"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"}],wl=t=>{let m=t.autoApproveCommands||"",h=t.autoDisallowCommands||"",y=t.alwaysAskCommands||"",T=t.autoExec===!1&&t.allowExternalAccess===!1&&t.networkAccess===!1&&m===""&&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&&m==="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&&m==="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 T?"Strict":b?"Balanced":s?"Autonomous":t.sandboxPreset||"Custom"},Ds=t=>!t||t.trim()===""?"None":t.length>40?t.substring(0,40)+"...":t;function Or({systemSettings:t,setSystemSettings:m,apiTier:h,setActiveView:y,setInputConfig:T,saveSettings:b,quotas:s,setMessages:k,aiProvider:f,initialSelectingTheme:I=!1,onCloseTheme:A=null,setProviderReturnView:X=null}){let S=t.theme==="Chaos"||t.theme==="Mystery"?"Mystery":t.theme||"Dark",C=xo.indexOf(S),[P,N]=At("categories"),[L,_]=At(0),[Q,ge]=At(0),[ye,se]=At(null),[ie,pe]=At(""),[Be,Ce]=At(I),[Fe,le]=At(C>=0?C:0),[Ie,be]=At(t.theme||"Dark"),[ee,We]=At(!1),[me,R]=At(0),[te,Z]=At(0),[ae,fe]=At(""),[he,Ae]=At("list"),[at,Ze]=At({});Rn(()=>{(async()=>{let w=["Google","DeepSeek","OpenRouter","NVIDIA","Mistral","Ollama","InferX","SenseNova","AIHubMix","Poolside","9router","ExpLabs","TokenHarbor","APInex"],U={};for(let Ee of w)try{await Mn(Ee)&&(U[Ee]=!0)}catch{}Ze(U)})()},[]);let ve=v.useMemo(()=>{let ue=["Google","DeepSeek","OpenRouter","NVIDIA","Mistral","Ollama","InferX","SenseNova","AIHubMix","Poolside","9router","ExpLabs","TokenHarbor","APInex"],U=!!(process.env.SUBAGENT_MODEL&&process.env.SUBAGENT_MODEL.trim())?`ENV (${process.env.SUBAGENT_MODEL.trim()})`:"ENV",Ee=[{label:"Default (use the current model)",value:"Default",isHeader:!1},{label:U,value:"ENV",isHeader:!1}],Xe=s?.providerTiers?.[f]||h||"Free",Re=No(f,Xe)||[];Re.length>0&&(Ee.push({label:`\u2500\u2500 ${f.toUpperCase()}${Xe!=="Free"?` (${Xe})`:""} \u2500\u2500`,isHeader:!0}),Re.forEach(it=>{let Ye=typeof it=="string"?it:it.cmd||it.name||it.id||String(it);Ye&&!Ye.trim().startsWith("---")&&!Ye.startsWith(`
|
|
43
43
|
---`)&&Ee.push({label:Ye,value:Ye,isHeader:!1,provider:f})}));for(let it of ue)if(it!==f&&at[it]){let Ye=s?.providerTiers?.[it]||"Free",qt=No(it,Ye)||[];qt.length>0&&(Ee.push({label:`\u2500\u2500 ${it.toUpperCase()}${Ye!=="Free"?` (${Ye})`:""} \u2500\u2500`,isHeader:!0}),qt.forEach(je=>{let kt=typeof je=="string"?je:je.cmd||je.name||je.id||String(je);kt&&!kt.trim().startsWith("---")&&!kt.startsWith(`
|
|
44
|
-
---`)&&Ee.push({label:kt,value:kt,isHeader:!1,provider:it})}))}return Ee},[f,h,s,at]),oe=v.useMemo(()=>{if(!ae.trim())return ve;let ue=ae.trim().toLowerCase(),w=[],U=null;for(let Ee of ve)Ee.isHeader?U=Ee:(Ee.label.toLowerCase().includes(ue)||Ee.value&&Ee.value.toLowerCase().includes(ue))&&(U&&!w.includes(U)&&w.push(U),w.push(Ee));return w},[ve,ae]);Rn(()=>{if(ee){let ue=oe.findIndex(w=>!w.isHeader);R(ue>=0?ue:0),Z(0)}},[ae]),Rn(()=>{if(ee){if(oe.length===0){R(0),Z(0);return}if(me>=oe.length||oe[me]?.isHeader){let ue=oe.findIndex(w=>!w.isHeader);R(ue>=0?ue:0)}}},[oe,ee]);let[ce,Se]=At(0),[D,Ue]=At(0),[qe,Ct]=At("MB"),[Gt,Hr]=At(!1);Rn(()=>{let ue=!1;return import("./exec_command-GVLMN5KT.js").then(w=>{ue||Hr(!!w.isPtyAvailable)}).catch(()=>{}),()=>{ue=!0}},[]),Rn(()=>{let ue=vd.getHeapStatistics().heap_size_limit,w=ue>=1024*1024*1024,U=w?"GB":"MB",Ee=w?1024*1024*1024:1024*1024;Ue(parseFloat((ue/Ee).toFixed(2))),Ct(U);let Xe=()=>{let qt=process.memoryUsage().rss/Ee,je=w?parseFloat(qt.toFixed(2)):Math.round(qt);Se(je)};Xe();let Re=setInterval(()=>{Xe()},3e4);return()=>clearInterval(Re)},[]);let en=ue=>{switch(ue){case"providers":{let U=[{label:"Current Provider",value:"aiProvider",status:f}];return f==="Ollama"&&U.push({label:"Endpoint",value:"ollamaEndpoint",status:t.ollamaEndpoint||"Cloud"}),U}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:wl(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:Ds(t.alwaysAskCommands),section:"Sandbox"},{label:"Auto Approve Commands",value:"autoApprove",status:Ds(t.autoApproveCommands),section:"Sandbox"},{label:"Auto Disapprove Commands",value:"autoDisallow",status:Ds(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:"Directory Tree Design",value:"indentationTree",status:t.indentationTree!==!1?"Modern":"Legacy"},{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"},{label:"Disable Todo",value:"disableTodo",status:t.disableTodo?"ON":"OFF"}];default:return[]}},tn=ho[L].id,Ge=en(tn);Sd((ue,w)=>{if(ee){if(w.tab){Ae(U=>U==="search"?"list":"search");return}if(he==="search"){w.escape?We(!1):w.downArrow||w.return?Ae("list"):w.backspace||w.delete?fe(U=>U.slice(0,-1)):ue&&!w.ctrl&&!w.meta&&ue.length===1&&fe(U=>U+ue);return}if(w.upArrow)R(U=>{if(oe.length===0)return 0;let Ee=(U-1+oe.length)%oe.length,Xe=0;for(;oe[Ee]?.isHeader&&Xe<oe.length;)Ee=(Ee-1+oe.length)%oe.length,Xe++;return Ee});else if(w.downArrow)R(U=>{if(oe.length===0)return 0;let Ee=(U+1)%oe.length,Xe=0;for(;oe[Ee]?.isHeader&&Xe<oe.length;)Ee=(Ee+1)%oe.length,Xe++;return Ee});else if(w.return){let U=oe[me];U&&!U.isHeader&&(m(Ee=>{let Xe=U.value==="Default",Re={...Ee,CustomSubAgent:!Xe,SubAgentModel:U.value,SubAgentProvider:Xe?"":U.provider||""};return b({systemSettings:Re,apiTier:h,quotas:s}),Re}),We(!1))}else w.escape?We(!1):ue&&!w.ctrl&&!w.meta&&ue.length===1&&(fe(U=>U+ue),Ae("search"));return}if(Be){if(w.upArrow){let U=(Fe-1+xo.length)%xo.length;le(U)}else if(w.downArrow){let U=(Fe+1)%xo.length;le(U)}else if(w.return){let U=xo[Fe];m(Ee=>{let Xe={...Ee,theme:U};return b({systemSettings:Xe,apiTier:h,quotas:s}),Xe}),A?A():Ce(!1)}else w.escape&&(A?A():Ce(!1));return}if(ye){w.escape&&se(null);return}if(P==="categories")w.upArrow?_(U=>(U-1+ho.length)%ho.length):w.downArrow?_(U=>(U+1)%ho.length):w.return||w.rightArrow?ho[L].id==="exit"?y("chat"):(N("items"),ge(0)):w.escape&&y("chat");else if(P==="items"){if(w.upArrow)ge(U=>(U-1+Ge.length)%Ge.length);else if(w.downArrow)ge(U=>(U+1)%Ge.length);else if(w.leftArrow||w.escape)N("categories");else if(w.return){let U=Ge[Q];Rt(U)}}});let Rt=ue=>{if(ue.value==="memory")m(w=>({...w,memory:!w.memory}));else if(ue.value==="sandboxPreset"){let w=wl(t),U=["Autonomous","Balanced","Strict"],Xe=(U.indexOf(w)+1)%U.length,Re=U[Xe];m(it=>{let Ye={...it,sandboxPreset:Re};return Re==="Strict"?(Ye.autoExec=!1,Ye.allowExternalAccess=!1,Ye.networkAccess=!1,Ye.autoApproveCommands="",Ye.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",Ye.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",Ye.autoApproveGit=!1):Re==="Balanced"?(Ye.autoExec=!0,Ye.allowExternalAccess=!1,Ye.networkAccess=!0,Ye.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",Ye.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",Ye.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",Ye.autoApproveGit=!1):Re==="Autonomous"&&(Ye.autoExec=!0,Ye.allowExternalAccess=!0,Ye.networkAccess=!0,Ye.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",Ye.autoDisallowCommands="",Ye.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",Ye.autoApproveGit=!0),Ye})}else if(ue.value==="autoExec")t.autoExec?m(w=>({...w,autoExec:!1,sandboxPreset:"Custom"})):t.allowExternalAccess?y("doubleDanger"):y("autoExecDanger");else if(ue.value==="externalAccess")t.allowExternalAccess?m(w=>({...w,allowExternalAccess:!1,sandboxPreset:"Custom"})):t.autoExec?y("doubleDanger"):y("externalDanger");else if(ue.value==="networkAccess")m(w=>({...w,networkAccess:w.networkAccess===!1,sandboxPreset:"Custom"}));else if(ue.value==="alwaysAsk")se("alwaysAskCommands"),pe(t.alwaysAskCommands||"");else if(ue.value==="autoApprove")se("autoApproveCommands"),pe(t.autoApproveCommands||"");else if(ue.value==="autoApproveGit")m(w=>({...w,autoApproveGit:!w.autoApproveGit,sandboxPreset:"Custom"}));else if(ue.value==="autoDisallow")se("autoDisallowCommands"),pe(t.autoDisallowCommands||"");else if(ue.value==="ollamaEndpoint")m(w=>{let U=w.ollamaEndpoint==="Local"?"Cloud":"Local",Ee={...w,ollamaEndpoint:U};return b({systemSettings:Ee,apiTier:h,quotas:s}),Ee});else if(ue.value==="apiTier")y("apiTier");else if(ue.value==="aiProvider")X&&X("settings"),y("selectProvider");else if(ue.value==="advanceRollback")t.advanceRollback?m(w=>{let U={...w,advanceRollback:!1};return b({systemSettings:U,apiTier:h,quotas:s}),U}):y("advanceRollbackDanger");else if(ue.value==="autoDelete"){let w=["1d","7d","30d"],Ee=(w.indexOf(t.autoDeleteHistory||"30d")+1)%w.length;m(Xe=>({...Xe,autoDeleteHistory:w[Ee]}))}else if(ue.value==="autoUpdate")m(w=>({...w,autoUpdate:!w.autoUpdate}));else if(ue.value==="externalData")if(!t.useExternalData)T({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 w={...t,useExternalData:!1};m(w),b({systemSettings:w,apiTier:h,quotas:s}),k(U=>[...U,{id:Date.now(),role:"system",text:"[STORAGE RESET] Flux Flow will return to default ~/.fluxflow after restart."}]),y("chat")}else if(ue.value==="updateManager")y("updateManager");else if(ue.value==="parserDownload")y("parserDownload");else if(ue.value==="indentationTree")m(w=>{let U={...w,indentationTree:w.indentationTree===!1};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="compressToolResults")m(w=>{let U={...w,compressToolResults:!w.compressToolResults};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="autoTruncateResults")m(w=>{let U={...w,autoTruncateResults:!w.autoTruncateResults};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="imageHistoryCU"){let w=["Low","Standard","Extended"],Ee=(w.indexOf(t.imageHistoryCU||"Standard")+1)%w.length;m(Xe=>{let Re={...Xe,imageHistoryCU:w[Ee]};return b({systemSettings:Re,apiTier:h,quotas:s}),Re})}else if(ue.value==="contextLength"){let w=["16k","32k","64k","128k","256k","512k","1M"],Ee=(w.indexOf(t.contextLength||"256k")+1)%w.length;m(Xe=>{let Re={...Xe,contextLength:w[Ee]};return b({systemSettings:Re,apiTier:h,quotas:s}),Re})}else if(ue.value==="keepReasoningContext")m(w=>{let U={...w,keepReasoningContext:!w.keepReasoningContext};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="autoExcludeMetadata")m(w=>{let U={...w,autoExcludeMetadata:!w.autoExcludeMetadata};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="disableTodo")m(w=>{let U={...w,disableTodo:!w.disableTodo};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="subAgents")m(w=>{let U={...w,subAgents:w.subAgents===!1};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="subAgentModel"){let w=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",U=oe.findIndex(Ee=>Ee.value===w);R(U>=0?U:0),We(!0)}else if(ue.value==="preserveThinking")m(w=>{let U={...w,preserveThinking:w.preserveThinking===!1};return ml(U.preserveThinking),b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="loadingPhrases")m(w=>{let U={...w,loadingPhrases:w.loadingPhrases===!1};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="progressiveRendering")m(w=>{let U={...w,progressiveRendering:!w.progressiveRendering};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="showTPMEstimate")m(w=>{let U={...w,showTPMEstimate:!w.showTPMEstimate};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="theme"){let w=t.theme==="Chaos"||t.theme==="Mystery"?"Mystery":t.theme||"Dark",U=xo.indexOf(w);le(U>=0?U:0),be(t.theme||"Dark"),Ce(!0)}},Me=Je(t.theme);if(ee){let ue=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",w=15,U=te;me<U?U=me:me>=U+w&&(U=me-w+1),U=Math.max(0,Math.min(U,Math.max(0,oe.length-w))),U!==te&&Z(U);let Ee=oe.slice(U,U+w);return v.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Me.border,padding:1,width:"100%",minHeight:32},v.createElement(Ne,{marginBottom:1,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:Me.text,bold:!0,underline:!0},"Select Sub-Agent Model:"),oe.length>0&&v.createElement(j,{color:"gray"},me+1,"/",oe.length)),v.createElement(Ne,{borderStyle:"single",borderColor:he==="search"?Me.primary||"cyan":"gray",paddingX:1,marginBottom:1},v.createElement(j,{color:he==="search"?Me.primary||"cyan":"gray",bold:!0},"\u{1F50D} Search: "," "),v.createElement(j,{color:Me.text},ae),he==="search"&&v.createElement(j,{color:Me.primary||"cyan"},"\u2588"),!ae&&he!=="search"&&v.createElement(j,{color:"gray",italic:!0},"(Press TAB or type to filter models...)")),v.createElement(Ne,{flexDirection:"column",flexGrow:1,height:w},Ee.length>0?Ee.map((Xe,Re)=>{let it=U+Re;if(Xe.isHeader)return v.createElement(Ne,{key:`hdr-${it}`,paddingX:1},v.createElement(j,{color:"gray",bold:!0,underline:!0},Xe.label));let Ye=me===it&&he==="list",qt=ue===Xe.value;return v.createElement(Ne,{key:`item-${Xe.value}-${it}`,paddingX:1,backgroundColor:Ye?Me.highlightBg:void 0},v.createElement(j,{color:Ye?Me.text:Me.textDim,bold:Ye},Ye?"\u276F ":" ",Xe.label,qt?v.createElement(j,{color:Me.primary||"cyan",italic:!0}," (active)"):""))}):v.createElement(Ne,{paddingX:1},v.createElement(j,{color:"gray",italic:!0},'No models matching "',ae,'"'))),v.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:"gray",italic:!0},"TAB to switch search/list \u2022 \u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),v.createElement(j,{color:he==="search"?Me.primary||"cyan":"gray",bold:!0},"[",he.toUpperCase()," MODE]")))}if(Be){let ue=xo[Fe],w=Je(ue);return v.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:w.border,padding:1,width:"100%",minHeight:32},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:w.text,bold:!0},"Choose your color scheme:")),v.createElement(Ne,{flexDirection:"row",width:"100%",flexGrow:1},v.createElement(Ne,{flexDirection:"column",width:"30%",paddingRight:1},xo.map((U,Ee)=>{let Xe=Fe===Ee,Re=(t.theme||"Dark")===U,it=U==="Forest Sprite";return v.createElement(Ne,{key:U,paddingX:0},v.createElement(j,{color:Xe?w.text:w.textDim,bold:Xe},Xe?"> ":" ",U,it&&v.createElement(j,{color:Xe?w.success||"#52b788":"green",bold:!0}," \u2605"),Re?v.createElement(j,{color:w.primary||"cyan",italic:!0}," (saved)"):""))})),v.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:w.borderMuted,paddingX:2,paddingY:1,backgroundColor:w.cardBg},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:w.secondary||"cyan",bold:!0},"> ","you: "),v.createElement(j,{color:w.text},"add a greeting function")),v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:w.success||"green"}," Here's the change:")),v.createElement(Ne,{flexDirection:"column",marginLeft:2,marginBottom:1},v.createElement(j,null,v.createElement(j,{color:w.textDim},"3 "),v.createElement(j,{color:w.textDim},' import "fmt"')),v.createElement(j,{color:w.textDim},"4"),v.createElement(Ne,{backgroundColor:w.diffRemovalBg},v.createElement(j,null,v.createElement(j,{color:w.diffRemovalNum||w.diffRemovalText},"5 "),v.createElement(j,{color:w.diffRemovalPrefix||w.diffRemovalText},"- "),v.createElement(j,{color:w.diffRemovalText},"func "),v.createElement(j,{color:w.diffRemovalHighlightColor||w.diffRemovalText,backgroundColor:w.diffRemovalHighlightBg,bold:!0},"main()"),v.createElement(j,{color:w.diffRemovalText}," {"))),v.createElement(Ne,{backgroundColor:w.diffAdditionBg},v.createElement(j,null,v.createElement(j,{color:w.diffAdditionNum||w.diffAdditionText},"5 "),v.createElement(j,{color:w.diffAdditionPrefix||w.diffAdditionText},"+ "),v.createElement(j,{color:w.diffAdditionText},"func "),v.createElement(j,{color:w.diffAdditionHighlightColor||w.diffAdditionText,backgroundColor:w.diffAdditionHighlightBg,bold:!0},"greet(name string)"),v.createElement(j,{color:w.diffAdditionText}," {"))),v.createElement(Ne,{backgroundColor:w.diffAdditionBg},v.createElement(j,null,v.createElement(j,{color:w.diffAdditionNum||w.diffAdditionText},"6 "),v.createElement(j,{color:w.diffAdditionPrefix||w.diffAdditionText},"+ "),v.createElement(j,{color:w.diffAdditionText}," "),v.createElement(j,{color:w.diffAdditionHighlightColor||w.diffAdditionText,backgroundColor:w.diffAdditionHighlightBg},'fmt.Printf("Hello, %s!\\n", name)'))),v.createElement(j,{color:w.textDim},"7 }")),v.createElement(Ne,{flexDirection:"column",marginTop:1,marginBottom:1},v.createElement(j,{color:w.textDim},"\u25BE Thought Process"),v.createElement(j,{color:w.textMuted}," I need to add a greeting function. I'll use fmt.Printf.")),v.createElement(Ne,{flexDirection:"column"},v.createElement(j,null,v.createElement(j,{color:w.warning||"yellow"},"\u2699 tool: "),v.createElement(j,{color:w.text},"write_file main.go")),v.createElement(j,null,v.createElement(j,{color:w.accent||"magenta"},"\u29BF task: "),v.createElement(j,{color:w.text},"Implementing greeting")),v.createElement(j,null,v.createElement(j,{color:w.danger||"red"},"X error: "),v.createElement(j,{color:w.text},"compilation failed")),v.createElement(j,null,v.createElement(j,{color:w.warning||"yellow"},"\u26A0 warning: "),v.createElement(j,{color:w.text},"deprecation warning")),v.createElement(j,null,v.createElement(j,{color:w.info||"blue"},"\u2192 link: "),v.createElement(j,{color:w.info||"blue",underline:!0},"file:///path/to/main.go")),v.createElement(j,null,v.createElement(j,{color:w.accent||"magenta"},"\u2605 accent: "),v.createElement(j,{color:w.text},"highlighted text")),v.createElement(j,{color:w.textDim},"\xB7 dim: press Enter to continue")))),v.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:"gray",italic:!0},"\u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),v.createElement(j,{color:"gray"},"Previewing: ",xo[Fe],xo[Fe]==="Forest Sprite"?" \u2605":"")))}return v.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Me.border,padding:0,width:"100%",minHeight:32},v.createElement(Ne,{paddingX:1,paddingY:0,marginBottom:0,borderStyle:"single",borderColor:Me.borderMuted,width:"100%"},v.createElement(j,{color:Me.text,bold:!0},"SYSTEM CONFIGURATION")),v.createElement(Ne,{flexDirection:"row",width:"100%",minHeight:26},v.createElement(Ne,{flexDirection:"column",width:"30%",maxWidth:40,borderStyle:"round",borderColor:P==="categories"?Me.border:Me.borderMuted,padding:1,paddingY:0},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:P==="categories"?Me.text:Me.textDim,bold:!0,underline:!0},"CATEGORIES")),ho.map((ue,w)=>{let U=L===w,Ee=ue.id==="exit";return v.createElement(Ne,{key:ue.id,marginTop:Ee?15:0,backgroundColor:U?P==="categories"?Me.highlightBg:Me.cardBg:void 0,paddingX:1},v.createElement(j,{color:U&&P==="categories"?Me.text:Me.textDim,bold:U},U?"\u276F ":" ",ue.label))})),v.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:P==="items"?Me.border:Me.borderMuted,paddingX:1,marginLeft:1,paddingY:0},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:P==="items"?Me.text:Me.textDim,bold:!0,underline:!0},ho[L].label.toUpperCase().includes("EXIT")?"Runtime Information":`${ho[L].label} Settings`)),Ge.length>0?(()=>{let ue=null,w=[],U=je=>(je||"").split(",").map(kt=>kt.trim().toLowerCase()).filter(Boolean),Ee=U(t.autoApproveCommands),Xe=U(t.autoDisallowCommands),Re=U(t.alwaysAskCommands),it=[...Ee,...Xe,...Re],Ye=new Set(it),qt=tn==="security"&&it.length!==Ye.size;return Ge.forEach((je,kt)=>{let zt=P==="items"&&Q===kt,Xr=je.label.length,on=Math.max(2,38-Xr),Wr=".".repeat(on),mt=Le=>tn==="security"?(Le.value==="autoExec"||Le.value==="externalAccess")&&Le.status==="ON"?Me.statusOn:Me.statusOff:Le.status?.startsWith("\u2713")?Me.statusOn:Le.status?.startsWith("\u26A0")?Me.statusOff:Le.status==="ON"?Me.statusOn:Le.status==="OFF"?Me.statusOff:Me.text;je.section&&je.section!==ue&&(ue=je.section,w.push(v.createElement(Ne,{key:`sec-hdr-${je.section}`,marginTop:w.length>0?1:0,marginBottom:0,paddingX:1},v.createElement(j,{color:"gray",bold:!0,underline:!0},je.section.toUpperCase()))));let z=zt&&ye&&(ye==="alwaysAskCommands"&&je.value==="alwaysAsk"||ye==="autoApproveCommands"&&je.value==="autoApprove"||ye==="autoDisallowCommands"&&je.value==="autoDisallow"),lt=je.value==="alwaysAsk"||je.value==="autoApprove"||je.value==="autoDisallow",Wo=je.value==="parserDownload";w.push(v.createElement(Ne,{key:je.value,flexDirection:"column"},v.createElement(Ne,{backgroundColor:zt&&!z?Me.highlightBg:void 0,paddingX:2},v.createElement(j,{color:zt?Me.text:Me.textDim,bold:zt},zt?"\u276F ":" ",je.label),!lt&&!Wo&&v.createElement(v.Fragment,null,v.createElement(j,{color:"gray"},Wr),v.createElement(j,{color:mt(je),bold:!0},je.value==="aiProvider"?je.status:`[ ${je.status} ]`))),lt&&!z&&je.status!=="None"&&v.createElement(Ne,{paddingX:4,marginBottom:1},v.createElement(j,{color:"gray"},"\u21B3 ",je.status)),z&&v.createElement(Ne,{flexDirection:"column",marginLeft:4,marginBottom:1},v.createElement(Ne,{paddingX:1,borderStyle:"single",borderColor:"gray",flexDirection:"row"},v.createElement(j,{color:"gray",bold:!0},"> "," "),v.createElement(Cd,{value:ie,onChange:pe,onSubmit:Le=>{let _t={...t,[ye]:Le.trim(),sandboxPreset:"Custom"};m(_t),b({systemSettings:_t,apiTier:h,quotas:s}),se(null)}})),v.createElement(j,{color:"gray",italic:!0}," Comma separated \u2022 Press Enter to save, Esc to cancel"))))}),qt&&w.push(v.createElement(Ne,{key:"conflict-warning",marginTop:1,paddingX:1},v.createElement(j,{color:Me.text,italic:!0},"* Conflicting commands will be ignored and defaulted to highest priority"))),w})():v.createElement(Ne,{paddingX:1,flexDirection:"column",width:"100%"},tn==="exit"?v.createElement(v.Fragment,null,v.createElement(Ne,{flexDirection:"column",marginBottom:1},v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"OS"," "),v.createElement(j,{color:"gray"},"..................... "),v.createElement(j,{color:Me.text},process.env.OS||process.platform||"N/A")),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Computer Name"," "),v.createElement(j,{color:"gray"},".......... "),v.createElement(j,{color:Me.text},process.env.COMPUTERNAME||process.env.HOSTNAME||"N/A")),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Processor Count"," "),v.createElement(j,{color:"gray"},"........ "),v.createElement(j,{color:Me.text},process.env.NUMBER_OF_PROCESSORS||"N/A")),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Node.js Version"," "),v.createElement(j,{color:"gray"},"........ "),v.createElement(j,{color:Me.text},"v",process.versions.node)),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"V8 Version"," "),v.createElement(j,{color:"gray"},"...... ...... "),v.createElement(j,{color:Me.text},"v",process.versions.v8)),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Data Directory"," "),v.createElement(j,{color:"gray"},"......... "),ro===mo?"":v.createElement(j,{color:Me.text},ro.replaceAll(Tl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"),", "),v.createElement(j,{color:Me.text},mo.replaceAll(Tl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"))),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Viewport"," "),v.createElement(j,{color:"gray"},"............... "),v.createElement(j,{color:Me.text},process.stdout.rows||"?"," rows \xD7 ",process.stdout.columns||"?"," cols ",process.stdout.columns<90?"(too small width)":"")),v.createElement(Ne,{flexDirection:"row",marginBottom:0},v.createElement(j,{color:Me.textDim},"Memory Load"," "),v.createElement(j,{color:"gray"},"............ "),v.createElement(j,{color:Me.text},ce,"/",D," ",qe))),v.createElement(Ne,{key:"pty-notice",paddingX:0,marginTop:0},v.createElement(j,{color:Gt?Me.statusOn:Me.warning},Gt?"\u2713 Advance Interactive Terminal Supported":"\u26A0 Interactive Terminal is Limited"))):v.createElement(j,{color:"gray",italic:!0},ho[L].desc)))),v.createElement(Ne,{paddingX:1,marginTop:0,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:"gray",italic:!0},P==="categories"?"\u25B2\u25BC Select Category \u2022 Enter/\u25BA to configure":"\u25B2\u25BC Select Option \u2022 Enter to Toggle \u2022 \u25C4/ESC to go back"),P==="categories"&&v.createElement(j,{color:"gray"},ho[L].desc)))}import Jt,{useState as ks,useEffect as Ed}from"react";import{Box as Bn,Text as er}from"ink";import Bd from"ink-text-input";function Is({initialData:t,onSave:m,onCancel:h,theme:y="Dark"}){let T=Je(y),[b,s]=ks(0),[k,f]=ks(""),[I,A]=ks(()=>({name:t?.name||"",nickname:t?.nickname||"",instructions:t?.instructions||""})),X=[{key:"nickname",label:"Enter a Nickname: ",maxLength:20},{key:"instructions",label:"System Instructions: ",maxLength:200}],S=X[b];Ed(()=>{let L=X[b].key;f((I[L]||"").slice(0,X[b].maxLength))},[b,I]);let C=L=>{L.length>S.maxLength?f(L.slice(0,S.maxLength)):f(L)},P=L=>{if(L.trim().toLowerCase()==="/cancel"){h();return}let _=S.key,Q={...I,[_]:L.trim().slice(0,S.maxLength)};A(Q),f(""),b<X.length-1?s(b+1):m(Q)},N=k.length>=S.maxLength;return Jt.createElement(Bn,{borderStyle:"round",borderColor:T.borderMuted,padding:0,marginTop:1,flexShrink:0,flexDirection:"column",width:"100%"},Jt.createElement(Bn,{paddingX:1,marginBottom:1},Jt.createElement(er,{color:T.text,bold:!0},"USER PROFILE CONFIGURATION")),Jt.createElement(Bn,{paddingX:1,flexDirection:"column"},Jt.createElement(Bn,null,Jt.createElement(er,{color:T.text,bold:!0},S.label),Jt.createElement(Bd,{value:k,onChange:C,onSubmit:P})),Jt.createElement(Bn,{marginTop:1,justifyContent:"space-between"},Jt.createElement(er,{color:T.textMuted,italic:!0},"Step ",b+1," of ",X.length),Jt.createElement(er,{color:N?T.warning||"yellow":T.textMuted},"[",k.length,"/",S.maxLength,"]"))),Jt.createElement(Bn,{paddingX:1,marginTop:1},Jt.createElement(er,{color:T.textMuted,italic:!0},"(Enter to submit \u2022 Type /cancel to abort)")))}import yt,{useState as As}from"react";import{Box as Zt,Text as $o,useInput as Dd}from"ink";import kd from"ink-text-input";var Id=({question:t,options:m,onResolve:h,theme:y="Dark"})=>{let T=Je(y),[b,s]=As(!1),[k,f]=As(""),[I,A]=As(0),X=!1,S=[],C=Array.isArray(m)&&m.length>0,P=t==="Agent has been running for a long time. Do you want to continue execution?";try{P&&C?S=[...m]:S=[...C?m:[],C?{id:"CUSTOM",label:"Suggest something else...",description:"Provide a custom response"}:{id:"CUSTOM",label:"Your Answer",description:""}]}catch{X=!0}Dd((L,_)=>{if(!b&&((_.leftArrow||_.upArrow)&&A(Q=>Math.max(0,Q-1)),(_.rightArrow||_.downArrow)&&A(Q=>Math.min(S.length-1,Q+1)),_.return)){let Q=S[I];Q?.id==="CUSTOM"?s(!0):h(X?"Selected Nothing":Q.label)}});let N=nt(2);return b?yt.createElement(Zt,{flexDirection:"column",borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,backgroundColor:T.codeBg,width:"100%"},yt.createElement(Zt,{paddingX:1},yt.createElement($o,{color:T.text,bold:!0},"SUGGEST SOMETHING")),yt.createElement(Zt,{marginTop:1,paddingX:1},yt.createElement($o,{italic:!0,color:T.textMuted},"Replying to: ",t)),yt.createElement(Zt,{marginTop:1,paddingX:1,flexDirection:"row"},yt.createElement(kd,{value:k,onChange:f,onSubmit:()=>h(k)})),yt.createElement(Zt,{marginTop:1,paddingX:1,marginBottom:1},yt.createElement($o,{color:T.textMuted,italic:!0},"(Press Enter to send)"))):yt.createElement(Zt,{flexDirection:"column",border:!0,borderStyle:"round",borderColor:T.codeBorder,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,marginY:1,marginRight:1,width:"100%"},yt.createElement(Zt,{paddingX:1,marginBottom:1},yt.createElement($o,{color:"yellow",bold:!0},P?"TURN SAFETY SYSTEM: EXECUTION LIMIT":"AGENT REQUEST: ACTION REQUIRED")),yt.createElement(Zt,{paddingX:1,marginBottom:1},yt.createElement($o,{color:T.text},t)),yt.createElement(Zt,{flexDirection:"column",width:"100%"},S.map((L,_)=>{let Q=_===I;return yt.createElement(Zt,{key:L.id,flexDirection:"column",width:"100%",backgroundColor:Q?T.highlightBg:void 0,paddingX:1,marginBottom:_===S.length-1?0:1},yt.createElement($o,{color:Q?T.text:T.textMuted,bold:Q},Q?"\u276F ":" ",L.label),L.description&&yt.createElement(Zt,{marginLeft:4},yt.createElement($o,{color:T.textMuted,italic:!0},L.description)))})),yt.createElement(Zt,{paddingX:1,marginTop:1,marginBottom:1},yt.createElement($o,{color:T.textMuted,italic:!0},"(Use Arrows to navigate, Enter to confirm)")))},yl=Id;import Zd from"gradient-string";import Lt,{useState as Ls,useEffect as Ad}from"react";import{Box as po,Text as _o,useInput as Ld}from"ink";function Ps({onSelect:t,onDelete:m,onClose:h,theme:y="Dark"}){let T=Je(y),[b,s]=Ls({}),[k,f]=Ls([]),[I,A]=Ls(0);Ad(()=>{(async()=>{let L=await Fo();s(L),f(Object.keys(L).sort((_,Q)=>(L[Q].updatedAt||0)-(L[_].updatedAt||0)))})()},[]),Ld((N,L)=>{if(L.escape&&h(),L.upArrow&&A(_=>Math.max(0,_-1)),L.downArrow&&A(_=>Math.min(k.length-1,_+1)),L.return&&k[I]&&t(k[I]),N==="x"&&k[I]){let _=k[I];m(_).then(Q=>{let ge=Q||{};s(ge);let ye=Object.keys(ge).sort((se,ie)=>(ge[ie]?.updatedAt||0)-(ge[se]?.updatedAt||0));f(ye),A(se=>Math.max(0,Math.min(ye.length-1,se)))})}});let X=nt(2),S=15,C=0;if(k.length>S){let N=Math.floor(S/2);C=I-N,C<0?C=0:C+S>k.length&&(C=k.length-S)}let P=k.slice(C,C+S);return Lt.createElement(po,{flexDirection:"column",borderStyle:"round",borderColor:T.borderMuted,padding:0,width:"100%"},Lt.createElement(po,{paddingX:1,marginBottom:1},Lt.createElement(_o,{color:T.text,bold:!0},"CHAT HISTORY: RESUME CONVERSATION")),k.length===0?Lt.createElement(po,{paddingX:2,paddingY:1},Lt.createElement(_o,{italic:!0,color:T.textMuted},"No saved chats found.")):Lt.createElement(po,{flexDirection:"column",width:"100%"},C>0&&Lt.createElement(po,{paddingX:2,marginBottom:1},Lt.createElement(_o,{color:T.textMuted},"\u25B2 (+",C," more chats above)")),P.map((N,L)=>{let _=b[N],ge=C+L===I,ye=Pd(_?.updatedAt);return Lt.createElement(po,{key:N,paddingX:1,backgroundColor:ge?T.highlightBg:void 0,width:"100%"},Lt.createElement(po,{flexGrow:1},Lt.createElement(_o,{color:ge?T.text:T.textMuted,bold:ge},ge?"\u276F ":" ",(()=>{let se=ie=>(ie||"").replace(/\[\/?(?:STEERING HINT|QUESTION)(?::\s*\w+)?\]/gi,"").trim();return _?.name&&!_.name.startsWith("Session")?se(_.name):_?.prompt?se(_.prompt):se(_?.name)||N})(),Lt.createElement(_o,{color:T.textMuted}," [",ye," \u2022 ",N,"]"))),ge&&Lt.createElement(po,{flexShrink:0},Lt.createElement(_o,{color:T.danger,bold:!0},"[X] DELETE ")))}),C+S<k.length&&Lt.createElement(po,{paddingX:2,marginTop:1},Lt.createElement(_o,{color:T.textMuted},"\u25BC (+",k.length-(C+S)," more chats below)"))),Lt.createElement(po,{marginTop:1,paddingX:1,borderStyle:"single",borderLeft:!1,borderRight:!1,borderBottom:!1,borderColor:T.borderMuted},Lt.createElement(_o,{color:T.textMuted,italic:!0},"\u2191\u2193 navigate \u2022 Enter select \u2022 x delete \u2022 Esc close")))}function Pd(t){if(!t)return"N/A";let m=new Date(t);if(isNaN(m.getTime()))return"N/A";let h=k=>String(k).padStart(2,"0"),y=h(m.getMonth()+1),T=h(m.getDate()),b=h(m.getHours()),s=h(m.getMinutes());return`${y}-${T} ${b}:${s}`}import Mt,{useState as Os,useEffect as Od}from"react";import{Box as bo,Text as lo,useInput as Nd,useStdout as Fd}from"ink";function Ns({onClose:t,theme:m="Dark"}){let h=Je(m),{stdout:y}=Fd(),T=y?.columns||80,[b,s]=Os([]),[k,f]=Os(0),[I,A]=Os(!0),X=()=>{let se=Tr(Wn,[]);s(se);try{let pe=wr(zo,{}).systemSettings?.memory!==!1;A(pe)}catch{A(!0)}};Od(()=>{X()},[]),Nd((se,ie)=>{if(ie.escape&&t(),ie.upArrow&&f(pe=>Math.max(0,pe-1)),ie.downArrow&&f(pe=>Math.min(b.length-1,pe+1)),se==="x"&&b.length>0){let pe=b[k].id,Be=b.filter(Ce=>Ce.id!==pe);Bi(Wn,Be),s(Be),k>=Be.length&&Be.length>0&&f(Be.length-1)}});let S=(se,ie,pe)=>{if(!se)return"";let Be=se.replace(/\[Saved on: .*?\]/g,"").replace(/\\+'/g,"'").trim(),Fe=`${pe?"\u276F ":" "}${ie+1}. `.length,le=pe?22:2;return Be.split(`
|
|
44
|
+
---`)&&Ee.push({label:kt,value:kt,isHeader:!1,provider:it})}))}return Ee},[f,h,s,at]),oe=v.useMemo(()=>{if(!ae.trim())return ve;let ue=ae.trim().toLowerCase(),w=[],U=null;for(let Ee of ve)Ee.isHeader?U=Ee:(Ee.label.toLowerCase().includes(ue)||Ee.value&&Ee.value.toLowerCase().includes(ue))&&(U&&!w.includes(U)&&w.push(U),w.push(Ee));return w},[ve,ae]);Rn(()=>{if(ee){let ue=oe.findIndex(w=>!w.isHeader);R(ue>=0?ue:0),Z(0)}},[ae]),Rn(()=>{if(ee){if(oe.length===0){R(0),Z(0);return}if(me>=oe.length||oe[me]?.isHeader){let ue=oe.findIndex(w=>!w.isHeader);R(ue>=0?ue:0)}}},[oe,ee]);let[ce,Se]=At(0),[D,Ue]=At(0),[qe,Ct]=At("MB"),[Gt,Hr]=At(!1);Rn(()=>{let ue=!1;return import("./exec_command-CY42M4FP.js").then(w=>{ue||Hr(!!w.isPtyAvailable)}).catch(()=>{}),()=>{ue=!0}},[]),Rn(()=>{let ue=vd.getHeapStatistics().heap_size_limit,w=ue>=1024*1024*1024,U=w?"GB":"MB",Ee=w?1024*1024*1024:1024*1024;Ue(parseFloat((ue/Ee).toFixed(2))),Ct(U);let Xe=()=>{let qt=process.memoryUsage().rss/Ee,je=w?parseFloat(qt.toFixed(2)):Math.round(qt);Se(je)};Xe();let Re=setInterval(()=>{Xe()},3e4);return()=>clearInterval(Re)},[]);let en=ue=>{switch(ue){case"providers":{let U=[{label:"Current Provider",value:"aiProvider",status:f}];return f==="Ollama"&&U.push({label:"Endpoint",value:"ollamaEndpoint",status:t.ollamaEndpoint||"Cloud"}),U}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:wl(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:Ds(t.alwaysAskCommands),section:"Sandbox"},{label:"Auto Approve Commands",value:"autoApprove",status:Ds(t.autoApproveCommands),section:"Sandbox"},{label:"Auto Disapprove Commands",value:"autoDisallow",status:Ds(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:"Directory Tree Design",value:"indentationTree",status:t.indentationTree!==!1?"Modern":"Legacy"},{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"},{label:"Disable Todo",value:"disableTodo",status:t.disableTodo?"ON":"OFF"}];default:return[]}},tn=ho[L].id,Ge=en(tn);Sd((ue,w)=>{if(ee){if(w.tab){Ae(U=>U==="search"?"list":"search");return}if(he==="search"){w.escape?We(!1):w.downArrow||w.return?Ae("list"):w.backspace||w.delete?fe(U=>U.slice(0,-1)):ue&&!w.ctrl&&!w.meta&&ue.length===1&&fe(U=>U+ue);return}if(w.upArrow)R(U=>{if(oe.length===0)return 0;let Ee=(U-1+oe.length)%oe.length,Xe=0;for(;oe[Ee]?.isHeader&&Xe<oe.length;)Ee=(Ee-1+oe.length)%oe.length,Xe++;return Ee});else if(w.downArrow)R(U=>{if(oe.length===0)return 0;let Ee=(U+1)%oe.length,Xe=0;for(;oe[Ee]?.isHeader&&Xe<oe.length;)Ee=(Ee+1)%oe.length,Xe++;return Ee});else if(w.return){let U=oe[me];U&&!U.isHeader&&(m(Ee=>{let Xe=U.value==="Default",Re={...Ee,CustomSubAgent:!Xe,SubAgentModel:U.value,SubAgentProvider:Xe?"":U.provider||""};return b({systemSettings:Re,apiTier:h,quotas:s}),Re}),We(!1))}else w.escape?We(!1):ue&&!w.ctrl&&!w.meta&&ue.length===1&&(fe(U=>U+ue),Ae("search"));return}if(Be){if(w.upArrow){let U=(Fe-1+xo.length)%xo.length;le(U)}else if(w.downArrow){let U=(Fe+1)%xo.length;le(U)}else if(w.return){let U=xo[Fe];m(Ee=>{let Xe={...Ee,theme:U};return b({systemSettings:Xe,apiTier:h,quotas:s}),Xe}),A?A():Ce(!1)}else w.escape&&(A?A():Ce(!1));return}if(ye){w.escape&&se(null);return}if(P==="categories")w.upArrow?_(U=>(U-1+ho.length)%ho.length):w.downArrow?_(U=>(U+1)%ho.length):w.return||w.rightArrow?ho[L].id==="exit"?y("chat"):(N("items"),ge(0)):w.escape&&y("chat");else if(P==="items"){if(w.upArrow)ge(U=>(U-1+Ge.length)%Ge.length);else if(w.downArrow)ge(U=>(U+1)%Ge.length);else if(w.leftArrow||w.escape)N("categories");else if(w.return){let U=Ge[Q];Rt(U)}}});let Rt=ue=>{if(ue.value==="memory")m(w=>({...w,memory:!w.memory}));else if(ue.value==="sandboxPreset"){let w=wl(t),U=["Autonomous","Balanced","Strict"],Xe=(U.indexOf(w)+1)%U.length,Re=U[Xe];m(it=>{let Ye={...it,sandboxPreset:Re};return Re==="Strict"?(Ye.autoExec=!1,Ye.allowExternalAccess=!1,Ye.networkAccess=!1,Ye.autoApproveCommands="",Ye.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",Ye.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",Ye.autoApproveGit=!1):Re==="Balanced"?(Ye.autoExec=!0,Ye.allowExternalAccess=!1,Ye.networkAccess=!0,Ye.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",Ye.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",Ye.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",Ye.autoApproveGit=!1):Re==="Autonomous"&&(Ye.autoExec=!0,Ye.allowExternalAccess=!0,Ye.networkAccess=!0,Ye.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",Ye.autoDisallowCommands="",Ye.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",Ye.autoApproveGit=!0),Ye})}else if(ue.value==="autoExec")t.autoExec?m(w=>({...w,autoExec:!1,sandboxPreset:"Custom"})):t.allowExternalAccess?y("doubleDanger"):y("autoExecDanger");else if(ue.value==="externalAccess")t.allowExternalAccess?m(w=>({...w,allowExternalAccess:!1,sandboxPreset:"Custom"})):t.autoExec?y("doubleDanger"):y("externalDanger");else if(ue.value==="networkAccess")m(w=>({...w,networkAccess:w.networkAccess===!1,sandboxPreset:"Custom"}));else if(ue.value==="alwaysAsk")se("alwaysAskCommands"),pe(t.alwaysAskCommands||"");else if(ue.value==="autoApprove")se("autoApproveCommands"),pe(t.autoApproveCommands||"");else if(ue.value==="autoApproveGit")m(w=>({...w,autoApproveGit:!w.autoApproveGit,sandboxPreset:"Custom"}));else if(ue.value==="autoDisallow")se("autoDisallowCommands"),pe(t.autoDisallowCommands||"");else if(ue.value==="ollamaEndpoint")m(w=>{let U=w.ollamaEndpoint==="Local"?"Cloud":"Local",Ee={...w,ollamaEndpoint:U};return b({systemSettings:Ee,apiTier:h,quotas:s}),Ee});else if(ue.value==="apiTier")y("apiTier");else if(ue.value==="aiProvider")X&&X("settings"),y("selectProvider");else if(ue.value==="advanceRollback")t.advanceRollback?m(w=>{let U={...w,advanceRollback:!1};return b({systemSettings:U,apiTier:h,quotas:s}),U}):y("advanceRollbackDanger");else if(ue.value==="autoDelete"){let w=["1d","7d","30d"],Ee=(w.indexOf(t.autoDeleteHistory||"30d")+1)%w.length;m(Xe=>({...Xe,autoDeleteHistory:w[Ee]}))}else if(ue.value==="autoUpdate")m(w=>({...w,autoUpdate:!w.autoUpdate}));else if(ue.value==="externalData")if(!t.useExternalData)T({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 w={...t,useExternalData:!1};m(w),b({systemSettings:w,apiTier:h,quotas:s}),k(U=>[...U,{id:Date.now(),role:"system",text:"[STORAGE RESET] Flux Flow will return to default ~/.fluxflow after restart."}]),y("chat")}else if(ue.value==="updateManager")y("updateManager");else if(ue.value==="parserDownload")y("parserDownload");else if(ue.value==="indentationTree")m(w=>{let U={...w,indentationTree:w.indentationTree===!1};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="compressToolResults")m(w=>{let U={...w,compressToolResults:!w.compressToolResults};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="autoTruncateResults")m(w=>{let U={...w,autoTruncateResults:!w.autoTruncateResults};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="imageHistoryCU"){let w=["Low","Standard","Extended"],Ee=(w.indexOf(t.imageHistoryCU||"Standard")+1)%w.length;m(Xe=>{let Re={...Xe,imageHistoryCU:w[Ee]};return b({systemSettings:Re,apiTier:h,quotas:s}),Re})}else if(ue.value==="contextLength"){let w=["16k","32k","64k","128k","256k","512k","1M"],Ee=(w.indexOf(t.contextLength||"256k")+1)%w.length;m(Xe=>{let Re={...Xe,contextLength:w[Ee]};return b({systemSettings:Re,apiTier:h,quotas:s}),Re})}else if(ue.value==="keepReasoningContext")m(w=>{let U={...w,keepReasoningContext:!w.keepReasoningContext};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="autoExcludeMetadata")m(w=>{let U={...w,autoExcludeMetadata:!w.autoExcludeMetadata};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="disableTodo")m(w=>{let U={...w,disableTodo:!w.disableTodo};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="subAgents")m(w=>{let U={...w,subAgents:w.subAgents===!1};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="subAgentModel"){let w=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",U=oe.findIndex(Ee=>Ee.value===w);R(U>=0?U:0),We(!0)}else if(ue.value==="preserveThinking")m(w=>{let U={...w,preserveThinking:w.preserveThinking===!1};return ml(U.preserveThinking),b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="loadingPhrases")m(w=>{let U={...w,loadingPhrases:w.loadingPhrases===!1};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="progressiveRendering")m(w=>{let U={...w,progressiveRendering:!w.progressiveRendering};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="showTPMEstimate")m(w=>{let U={...w,showTPMEstimate:!w.showTPMEstimate};return b({systemSettings:U,apiTier:h,quotas:s}),U});else if(ue.value==="theme"){let w=t.theme==="Chaos"||t.theme==="Mystery"?"Mystery":t.theme||"Dark",U=xo.indexOf(w);le(U>=0?U:0),be(t.theme||"Dark"),Ce(!0)}},Me=Je(t.theme);if(ee){let ue=t.CustomSubAgent&&t.SubAgentModel?t.SubAgentModel:"Default",w=15,U=te;me<U?U=me:me>=U+w&&(U=me-w+1),U=Math.max(0,Math.min(U,Math.max(0,oe.length-w))),U!==te&&Z(U);let Ee=oe.slice(U,U+w);return v.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Me.border,padding:1,width:"100%",minHeight:32},v.createElement(Ne,{marginBottom:1,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:Me.text,bold:!0,underline:!0},"Select Sub-Agent Model:"),oe.length>0&&v.createElement(j,{color:"gray"},me+1,"/",oe.length)),v.createElement(Ne,{borderStyle:"single",borderColor:he==="search"?Me.primary||"cyan":"gray",paddingX:1,marginBottom:1},v.createElement(j,{color:he==="search"?Me.primary||"cyan":"gray",bold:!0},"\u{1F50D} Search: "," "),v.createElement(j,{color:Me.text},ae),he==="search"&&v.createElement(j,{color:Me.primary||"cyan"},"\u2588"),!ae&&he!=="search"&&v.createElement(j,{color:"gray",italic:!0},"(Press TAB or type to filter models...)")),v.createElement(Ne,{flexDirection:"column",flexGrow:1,height:w},Ee.length>0?Ee.map((Xe,Re)=>{let it=U+Re;if(Xe.isHeader)return v.createElement(Ne,{key:`hdr-${it}`,paddingX:1},v.createElement(j,{color:"gray",bold:!0,underline:!0},Xe.label));let Ye=me===it&&he==="list",qt=ue===Xe.value;return v.createElement(Ne,{key:`item-${Xe.value}-${it}`,paddingX:1,backgroundColor:Ye?Me.highlightBg:void 0},v.createElement(j,{color:Ye?Me.text:Me.textDim,bold:Ye},Ye?"\u276F ":" ",Xe.label,qt?v.createElement(j,{color:Me.primary||"cyan",italic:!0}," (active)"):""))}):v.createElement(Ne,{paddingX:1},v.createElement(j,{color:"gray",italic:!0},'No models matching "',ae,'"'))),v.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:"gray",italic:!0},"TAB to switch search/list \u2022 \u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),v.createElement(j,{color:he==="search"?Me.primary||"cyan":"gray",bold:!0},"[",he.toUpperCase()," MODE]")))}if(Be){let ue=xo[Fe],w=Je(ue);return v.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:w.border,padding:1,width:"100%",minHeight:32},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:w.text,bold:!0},"Choose your color scheme:")),v.createElement(Ne,{flexDirection:"row",width:"100%",flexGrow:1},v.createElement(Ne,{flexDirection:"column",width:"30%",paddingRight:1},xo.map((U,Ee)=>{let Xe=Fe===Ee,Re=(t.theme||"Dark")===U,it=U==="Forest Sprite";return v.createElement(Ne,{key:U,paddingX:0},v.createElement(j,{color:Xe?w.text:w.textDim,bold:Xe},Xe?"> ":" ",U,it&&v.createElement(j,{color:Xe?w.success||"#52b788":"green",bold:!0}," \u2605"),Re?v.createElement(j,{color:w.primary||"cyan",italic:!0}," (saved)"):""))})),v.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:w.borderMuted,paddingX:2,paddingY:1,backgroundColor:w.cardBg},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:w.secondary||"cyan",bold:!0},"> ","you: "),v.createElement(j,{color:w.text},"add a greeting function")),v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:w.success||"green"}," Here's the change:")),v.createElement(Ne,{flexDirection:"column",marginLeft:2,marginBottom:1},v.createElement(j,null,v.createElement(j,{color:w.textDim},"3 "),v.createElement(j,{color:w.textDim},' import "fmt"')),v.createElement(j,{color:w.textDim},"4"),v.createElement(Ne,{backgroundColor:w.diffRemovalBg},v.createElement(j,null,v.createElement(j,{color:w.diffRemovalNum||w.diffRemovalText},"5 "),v.createElement(j,{color:w.diffRemovalPrefix||w.diffRemovalText},"- "),v.createElement(j,{color:w.diffRemovalText},"func "),v.createElement(j,{color:w.diffRemovalHighlightColor||w.diffRemovalText,backgroundColor:w.diffRemovalHighlightBg,bold:!0},"main()"),v.createElement(j,{color:w.diffRemovalText}," {"))),v.createElement(Ne,{backgroundColor:w.diffAdditionBg},v.createElement(j,null,v.createElement(j,{color:w.diffAdditionNum||w.diffAdditionText},"5 "),v.createElement(j,{color:w.diffAdditionPrefix||w.diffAdditionText},"+ "),v.createElement(j,{color:w.diffAdditionText},"func "),v.createElement(j,{color:w.diffAdditionHighlightColor||w.diffAdditionText,backgroundColor:w.diffAdditionHighlightBg,bold:!0},"greet(name string)"),v.createElement(j,{color:w.diffAdditionText}," {"))),v.createElement(Ne,{backgroundColor:w.diffAdditionBg},v.createElement(j,null,v.createElement(j,{color:w.diffAdditionNum||w.diffAdditionText},"6 "),v.createElement(j,{color:w.diffAdditionPrefix||w.diffAdditionText},"+ "),v.createElement(j,{color:w.diffAdditionText}," "),v.createElement(j,{color:w.diffAdditionHighlightColor||w.diffAdditionText,backgroundColor:w.diffAdditionHighlightBg},'fmt.Printf("Hello, %s!\\n", name)'))),v.createElement(j,{color:w.textDim},"7 }")),v.createElement(Ne,{flexDirection:"column",marginTop:1,marginBottom:1},v.createElement(j,{color:w.textDim},"\u25BE Thought Process"),v.createElement(j,{color:w.textMuted}," I need to add a greeting function. I'll use fmt.Printf.")),v.createElement(Ne,{flexDirection:"column"},v.createElement(j,null,v.createElement(j,{color:w.warning||"yellow"},"\u2699 tool: "),v.createElement(j,{color:w.text},"write_file main.go")),v.createElement(j,null,v.createElement(j,{color:w.accent||"magenta"},"\u29BF task: "),v.createElement(j,{color:w.text},"Implementing greeting")),v.createElement(j,null,v.createElement(j,{color:w.danger||"red"},"X error: "),v.createElement(j,{color:w.text},"compilation failed")),v.createElement(j,null,v.createElement(j,{color:w.warning||"yellow"},"\u26A0 warning: "),v.createElement(j,{color:w.text},"deprecation warning")),v.createElement(j,null,v.createElement(j,{color:w.info||"blue"},"\u2192 link: "),v.createElement(j,{color:w.info||"blue",underline:!0},"file:///path/to/main.go")),v.createElement(j,null,v.createElement(j,{color:w.accent||"magenta"},"\u2605 accent: "),v.createElement(j,{color:w.text},"highlighted text")),v.createElement(j,{color:w.textDim},"\xB7 dim: press Enter to continue")))),v.createElement(Ne,{paddingX:1,marginTop:1,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:"gray",italic:!0},"\u25B2\u25BC Navigate \u2022 ENTER to Select \u2022 ESC to Cancel"),v.createElement(j,{color:"gray"},"Previewing: ",xo[Fe],xo[Fe]==="Forest Sprite"?" \u2605":"")))}return v.createElement(Ne,{flexDirection:"column",borderStyle:"round",borderColor:Me.border,padding:0,width:"100%",minHeight:32},v.createElement(Ne,{paddingX:1,paddingY:0,marginBottom:0,borderStyle:"single",borderColor:Me.borderMuted,width:"100%"},v.createElement(j,{color:Me.text,bold:!0},"SYSTEM CONFIGURATION")),v.createElement(Ne,{flexDirection:"row",width:"100%",minHeight:26},v.createElement(Ne,{flexDirection:"column",width:"30%",maxWidth:40,borderStyle:"round",borderColor:P==="categories"?Me.border:Me.borderMuted,padding:1,paddingY:0},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:P==="categories"?Me.text:Me.textDim,bold:!0,underline:!0},"CATEGORIES")),ho.map((ue,w)=>{let U=L===w,Ee=ue.id==="exit";return v.createElement(Ne,{key:ue.id,marginTop:Ee?15:0,backgroundColor:U?P==="categories"?Me.highlightBg:Me.cardBg:void 0,paddingX:1},v.createElement(j,{color:U&&P==="categories"?Me.text:Me.textDim,bold:U},U?"\u276F ":" ",ue.label))})),v.createElement(Ne,{flexDirection:"column",flexGrow:1,borderStyle:"round",borderColor:P==="items"?Me.border:Me.borderMuted,paddingX:1,marginLeft:1,paddingY:0},v.createElement(Ne,{marginBottom:1},v.createElement(j,{color:P==="items"?Me.text:Me.textDim,bold:!0,underline:!0},ho[L].label.toUpperCase().includes("EXIT")?"Runtime Information":`${ho[L].label} Settings`)),Ge.length>0?(()=>{let ue=null,w=[],U=je=>(je||"").split(",").map(kt=>kt.trim().toLowerCase()).filter(Boolean),Ee=U(t.autoApproveCommands),Xe=U(t.autoDisallowCommands),Re=U(t.alwaysAskCommands),it=[...Ee,...Xe,...Re],Ye=new Set(it),qt=tn==="security"&&it.length!==Ye.size;return Ge.forEach((je,kt)=>{let zt=P==="items"&&Q===kt,Xr=je.label.length,on=Math.max(2,38-Xr),Wr=".".repeat(on),mt=Le=>tn==="security"?(Le.value==="autoExec"||Le.value==="externalAccess")&&Le.status==="ON"?Me.statusOn:Me.statusOff:Le.status?.startsWith("\u2713")?Me.statusOn:Le.status?.startsWith("\u26A0")?Me.statusOff:Le.status==="ON"?Me.statusOn:Le.status==="OFF"?Me.statusOff:Me.text;je.section&&je.section!==ue&&(ue=je.section,w.push(v.createElement(Ne,{key:`sec-hdr-${je.section}`,marginTop:w.length>0?1:0,marginBottom:0,paddingX:1},v.createElement(j,{color:"gray",bold:!0,underline:!0},je.section.toUpperCase()))));let z=zt&&ye&&(ye==="alwaysAskCommands"&&je.value==="alwaysAsk"||ye==="autoApproveCommands"&&je.value==="autoApprove"||ye==="autoDisallowCommands"&&je.value==="autoDisallow"),lt=je.value==="alwaysAsk"||je.value==="autoApprove"||je.value==="autoDisallow",Wo=je.value==="parserDownload";w.push(v.createElement(Ne,{key:je.value,flexDirection:"column"},v.createElement(Ne,{backgroundColor:zt&&!z?Me.highlightBg:void 0,paddingX:2},v.createElement(j,{color:zt?Me.text:Me.textDim,bold:zt},zt?"\u276F ":" ",je.label),!lt&&!Wo&&v.createElement(v.Fragment,null,v.createElement(j,{color:"gray"},Wr),v.createElement(j,{color:mt(je),bold:!0},je.value==="aiProvider"?je.status:`[ ${je.status} ]`))),lt&&!z&&je.status!=="None"&&v.createElement(Ne,{paddingX:4,marginBottom:1},v.createElement(j,{color:"gray"},"\u21B3 ",je.status)),z&&v.createElement(Ne,{flexDirection:"column",marginLeft:4,marginBottom:1},v.createElement(Ne,{paddingX:1,borderStyle:"single",borderColor:"gray",flexDirection:"row"},v.createElement(j,{color:"gray",bold:!0},"> "," "),v.createElement(Cd,{value:ie,onChange:pe,onSubmit:Le=>{let _t={...t,[ye]:Le.trim(),sandboxPreset:"Custom"};m(_t),b({systemSettings:_t,apiTier:h,quotas:s}),se(null)}})),v.createElement(j,{color:"gray",italic:!0}," Comma separated \u2022 Press Enter to save, Esc to cancel"))))}),qt&&w.push(v.createElement(Ne,{key:"conflict-warning",marginTop:1,paddingX:1},v.createElement(j,{color:Me.text,italic:!0},"* Conflicting commands will be ignored and defaulted to highest priority"))),w})():v.createElement(Ne,{paddingX:1,flexDirection:"column",width:"100%"},tn==="exit"?v.createElement(v.Fragment,null,v.createElement(Ne,{flexDirection:"column",marginBottom:1},v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"OS"," "),v.createElement(j,{color:"gray"},"..................... "),v.createElement(j,{color:Me.text},process.env.OS||process.platform||"N/A")),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Computer Name"," "),v.createElement(j,{color:"gray"},".......... "),v.createElement(j,{color:Me.text},process.env.COMPUTERNAME||process.env.HOSTNAME||"N/A")),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Processor Count"," "),v.createElement(j,{color:"gray"},"........ "),v.createElement(j,{color:Me.text},process.env.NUMBER_OF_PROCESSORS||"N/A")),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Node.js Version"," "),v.createElement(j,{color:"gray"},"........ "),v.createElement(j,{color:Me.text},"v",process.versions.node)),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"V8 Version"," "),v.createElement(j,{color:"gray"},"...... ...... "),v.createElement(j,{color:Me.text},"v",process.versions.v8)),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Data Directory"," "),v.createElement(j,{color:"gray"},"......... "),ro===mo?"":v.createElement(j,{color:Me.text},ro.replaceAll(Tl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"),", "),v.createElement(j,{color:Me.text},mo.replaceAll(Tl.homedir(),"~").replaceAll("\\\\","/").replaceAll("\\","/"))),v.createElement(Ne,{flexDirection:"row"},v.createElement(j,{color:Me.textDim},"Viewport"," "),v.createElement(j,{color:"gray"},"............... "),v.createElement(j,{color:Me.text},process.stdout.rows||"?"," rows \xD7 ",process.stdout.columns||"?"," cols ",process.stdout.columns<90?"(too small width)":"")),v.createElement(Ne,{flexDirection:"row",marginBottom:0},v.createElement(j,{color:Me.textDim},"Memory Load"," "),v.createElement(j,{color:"gray"},"............ "),v.createElement(j,{color:Me.text},ce,"/",D," ",qe))),v.createElement(Ne,{key:"pty-notice",paddingX:0,marginTop:0},v.createElement(j,{color:Gt?Me.statusOn:Me.warning},Gt?"\u2713 Advance Interactive Terminal Supported":"\u26A0 Interactive Terminal is Limited"))):v.createElement(j,{color:"gray",italic:!0},ho[L].desc)))),v.createElement(Ne,{paddingX:1,marginTop:0,flexDirection:"row",justifyContent:"space-between"},v.createElement(j,{color:"gray",italic:!0},P==="categories"?"\u25B2\u25BC Select Category \u2022 Enter/\u25BA to configure":"\u25B2\u25BC Select Option \u2022 Enter to Toggle \u2022 \u25C4/ESC to go back"),P==="categories"&&v.createElement(j,{color:"gray"},ho[L].desc)))}import Jt,{useState as ks,useEffect as Ed}from"react";import{Box as Bn,Text as er}from"ink";import Bd from"ink-text-input";function Is({initialData:t,onSave:m,onCancel:h,theme:y="Dark"}){let T=Je(y),[b,s]=ks(0),[k,f]=ks(""),[I,A]=ks(()=>({name:t?.name||"",nickname:t?.nickname||"",instructions:t?.instructions||""})),X=[{key:"nickname",label:"Enter a Nickname: ",maxLength:20},{key:"instructions",label:"System Instructions: ",maxLength:200}],S=X[b];Ed(()=>{let L=X[b].key;f((I[L]||"").slice(0,X[b].maxLength))},[b,I]);let C=L=>{L.length>S.maxLength?f(L.slice(0,S.maxLength)):f(L)},P=L=>{if(L.trim().toLowerCase()==="/cancel"){h();return}let _=S.key,Q={...I,[_]:L.trim().slice(0,S.maxLength)};A(Q),f(""),b<X.length-1?s(b+1):m(Q)},N=k.length>=S.maxLength;return Jt.createElement(Bn,{borderStyle:"round",borderColor:T.borderMuted,padding:0,marginTop:1,flexShrink:0,flexDirection:"column",width:"100%"},Jt.createElement(Bn,{paddingX:1,marginBottom:1},Jt.createElement(er,{color:T.text,bold:!0},"USER PROFILE CONFIGURATION")),Jt.createElement(Bn,{paddingX:1,flexDirection:"column"},Jt.createElement(Bn,null,Jt.createElement(er,{color:T.text,bold:!0},S.label),Jt.createElement(Bd,{value:k,onChange:C,onSubmit:P})),Jt.createElement(Bn,{marginTop:1,justifyContent:"space-between"},Jt.createElement(er,{color:T.textMuted,italic:!0},"Step ",b+1," of ",X.length),Jt.createElement(er,{color:N?T.warning||"yellow":T.textMuted},"[",k.length,"/",S.maxLength,"]"))),Jt.createElement(Bn,{paddingX:1,marginTop:1},Jt.createElement(er,{color:T.textMuted,italic:!0},"(Enter to submit \u2022 Type /cancel to abort)")))}import yt,{useState as As}from"react";import{Box as Zt,Text as $o,useInput as Dd}from"ink";import kd from"ink-text-input";var Id=({question:t,options:m,onResolve:h,theme:y="Dark"})=>{let T=Je(y),[b,s]=As(!1),[k,f]=As(""),[I,A]=As(0),X=!1,S=[],C=Array.isArray(m)&&m.length>0,P=t==="Agent has been running for a long time. Do you want to continue execution?";try{P&&C?S=[...m]:S=[...C?m:[],C?{id:"CUSTOM",label:"Suggest something else...",description:"Provide a custom response"}:{id:"CUSTOM",label:"Your Answer",description:""}]}catch{X=!0}Dd((L,_)=>{if(!b&&((_.leftArrow||_.upArrow)&&A(Q=>Math.max(0,Q-1)),(_.rightArrow||_.downArrow)&&A(Q=>Math.min(S.length-1,Q+1)),_.return)){let Q=S[I];Q?.id==="CUSTOM"?s(!0):h(X?"Selected Nothing":Q.label)}});let N=nt(2);return b?yt.createElement(Zt,{flexDirection:"column",borderStyle:"single",borderLeft:!1,borderRight:!1,borderTop:!1,borderBottom:!1,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,backgroundColor:T.codeBg,width:"100%"},yt.createElement(Zt,{paddingX:1},yt.createElement($o,{color:T.text,bold:!0},"SUGGEST SOMETHING")),yt.createElement(Zt,{marginTop:1,paddingX:1},yt.createElement($o,{italic:!0,color:T.textMuted},"Replying to: ",t)),yt.createElement(Zt,{marginTop:1,paddingX:1,flexDirection:"row"},yt.createElement(kd,{value:k,onChange:f,onSubmit:()=>h(k)})),yt.createElement(Zt,{marginTop:1,paddingX:1,marginBottom:1},yt.createElement($o,{color:T.textMuted,italic:!0},"(Press Enter to send)"))):yt.createElement(Zt,{flexDirection:"column",border:!0,borderStyle:"round",borderColor:T.codeBorder,paddingLeft:2,paddingRight:0,paddingTop:1,paddingBottom:1,marginY:1,marginRight:1,width:"100%"},yt.createElement(Zt,{paddingX:1,marginBottom:1},yt.createElement($o,{color:"yellow",bold:!0},P?"TURN SAFETY SYSTEM: EXECUTION LIMIT":"AGENT REQUEST: ACTION REQUIRED")),yt.createElement(Zt,{paddingX:1,marginBottom:1},yt.createElement($o,{color:T.text},t)),yt.createElement(Zt,{flexDirection:"column",width:"100%"},S.map((L,_)=>{let Q=_===I;return yt.createElement(Zt,{key:L.id,flexDirection:"column",width:"100%",backgroundColor:Q?T.highlightBg:void 0,paddingX:1,marginBottom:_===S.length-1?0:1},yt.createElement($o,{color:Q?T.text:T.textMuted,bold:Q},Q?"\u276F ":" ",L.label),L.description&&yt.createElement(Zt,{marginLeft:4},yt.createElement($o,{color:T.textMuted,italic:!0},L.description)))})),yt.createElement(Zt,{paddingX:1,marginTop:1,marginBottom:1},yt.createElement($o,{color:T.textMuted,italic:!0},"(Use Arrows to navigate, Enter to confirm)")))},yl=Id;import Zd from"gradient-string";import Lt,{useState as Ls,useEffect as Ad}from"react";import{Box as po,Text as _o,useInput as Ld}from"ink";function Ps({onSelect:t,onDelete:m,onClose:h,theme:y="Dark"}){let T=Je(y),[b,s]=Ls({}),[k,f]=Ls([]),[I,A]=Ls(0);Ad(()=>{(async()=>{let L=await Fo();s(L),f(Object.keys(L).sort((_,Q)=>(L[Q].updatedAt||0)-(L[_].updatedAt||0)))})()},[]),Ld((N,L)=>{if(L.escape&&h(),L.upArrow&&A(_=>Math.max(0,_-1)),L.downArrow&&A(_=>Math.min(k.length-1,_+1)),L.return&&k[I]&&t(k[I]),N==="x"&&k[I]){let _=k[I];m(_).then(Q=>{let ge=Q||{};s(ge);let ye=Object.keys(ge).sort((se,ie)=>(ge[ie]?.updatedAt||0)-(ge[se]?.updatedAt||0));f(ye),A(se=>Math.max(0,Math.min(ye.length-1,se)))})}});let X=nt(2),S=15,C=0;if(k.length>S){let N=Math.floor(S/2);C=I-N,C<0?C=0:C+S>k.length&&(C=k.length-S)}let P=k.slice(C,C+S);return Lt.createElement(po,{flexDirection:"column",borderStyle:"round",borderColor:T.borderMuted,padding:0,width:"100%"},Lt.createElement(po,{paddingX:1,marginBottom:1},Lt.createElement(_o,{color:T.text,bold:!0},"CHAT HISTORY: RESUME CONVERSATION")),k.length===0?Lt.createElement(po,{paddingX:2,paddingY:1},Lt.createElement(_o,{italic:!0,color:T.textMuted},"No saved chats found.")):Lt.createElement(po,{flexDirection:"column",width:"100%"},C>0&&Lt.createElement(po,{paddingX:2,marginBottom:1},Lt.createElement(_o,{color:T.textMuted},"\u25B2 (+",C," more chats above)")),P.map((N,L)=>{let _=b[N],ge=C+L===I,ye=Pd(_?.updatedAt);return Lt.createElement(po,{key:N,paddingX:1,backgroundColor:ge?T.highlightBg:void 0,width:"100%"},Lt.createElement(po,{flexGrow:1},Lt.createElement(_o,{color:ge?T.text:T.textMuted,bold:ge},ge?"\u276F ":" ",(()=>{let se=ie=>(ie||"").replace(/\[\/?(?:STEERING HINT|QUESTION)(?::\s*\w+)?\]/gi,"").trim();return _?.name&&!_.name.startsWith("Session")?se(_.name):_?.prompt?se(_.prompt):se(_?.name)||N})(),Lt.createElement(_o,{color:T.textMuted}," [",ye," \u2022 ",N,"]"))),ge&&Lt.createElement(po,{flexShrink:0},Lt.createElement(_o,{color:T.danger,bold:!0},"[X] DELETE ")))}),C+S<k.length&&Lt.createElement(po,{paddingX:2,marginTop:1},Lt.createElement(_o,{color:T.textMuted},"\u25BC (+",k.length-(C+S)," more chats below)"))),Lt.createElement(po,{marginTop:1,paddingX:1,borderStyle:"single",borderLeft:!1,borderRight:!1,borderBottom:!1,borderColor:T.borderMuted},Lt.createElement(_o,{color:T.textMuted,italic:!0},"\u2191\u2193 navigate \u2022 Enter select \u2022 x delete \u2022 Esc close")))}function Pd(t){if(!t)return"N/A";let m=new Date(t);if(isNaN(m.getTime()))return"N/A";let h=k=>String(k).padStart(2,"0"),y=h(m.getMonth()+1),T=h(m.getDate()),b=h(m.getHours()),s=h(m.getMinutes());return`${y}-${T} ${b}:${s}`}import Mt,{useState as Os,useEffect as Od}from"react";import{Box as bo,Text as lo,useInput as Nd,useStdout as Fd}from"ink";function Ns({onClose:t,theme:m="Dark"}){let h=Je(m),{stdout:y}=Fd(),T=y?.columns||80,[b,s]=Os([]),[k,f]=Os(0),[I,A]=Os(!0),X=()=>{let se=Tr(Wn,[]);s(se);try{let pe=wr(zo,{}).systemSettings?.memory!==!1;A(pe)}catch{A(!0)}};Od(()=>{X()},[]),Nd((se,ie)=>{if(ie.escape&&t(),ie.upArrow&&f(pe=>Math.max(0,pe-1)),ie.downArrow&&f(pe=>Math.min(b.length-1,pe+1)),se==="x"&&b.length>0){let pe=b[k].id,Be=b.filter(Ce=>Ce.id!==pe);Bi(Wn,Be),s(Be),k>=Be.length&&Be.length>0&&f(Be.length-1)}});let S=(se,ie,pe)=>{if(!se)return"";let Be=se.replace(/\[Saved on: .*?\]/g,"").replace(/\\+'/g,"'").trim(),Fe=`${pe?"\u276F ":" "}${ie+1}. `.length,le=pe?22:2;return Be.split(`
|
|
45
45
|
`).map((be,ee)=>{let We=ee===0,me=Math.max(10,T-4-(We?Fe:3)-le),R=Math.max(10,T-4-3-le),te=be.split(/(\s+)/),Z=[],ae="";if(te.forEach(he=>{if(he.length===0)return;let Ae=Z.length===0?me:R;ae.length+he.length>Ae?ae.trim().length>0?(Z.push(ae.trimEnd()),ae=he):(Z.push(he.substring(0,Ae)),ae=he.substring(Ae)):ae+=he}),ae.trimEnd().length>0&&Z.push(ae.trimEnd()),Z.length===0)return"";let fe=Z.join(`
|
|
46
46
|
`);return We?fe:" "+fe}).join(`
|
|
47
47
|
`)},C=4*1024*2,P=b.reduce((se,ie)=>se+(ie.memory?.length||0),0),N=Math.min(100,Math.round(P/C*100)),L=12,_=Math.round(N/100*L),Q="\u2588".repeat(_)+"\u2591".repeat(Math.max(0,L-_)),ge=()=>N<50?h.textMuted:N<90?h.warning:h.danger,ye=nt(2);return Mt.createElement(bo,{flexDirection:"column",borderStyle:"round",borderColor:h.borderMuted,padding:0,width:"100%"},Mt.createElement(bo,{paddingX:1,marginBottom:1,justifyContent:"space-between"},Mt.createElement(lo,{color:h.text,bold:!0},"SAVED MEMORIES"),Mt.createElement(bo,null,Mt.createElement(lo,{color:h.textMuted},"Vault: "),Mt.createElement(lo,{color:ge()},Q),Mt.createElement(lo,{color:h.text,bold:!0}," ",N,"%"))),!I&&b.length>0?Mt.createElement(bo,{paddingX:2,paddingY:1},Mt.createElement(lo,{italic:!0,color:h.textMuted},"Memory is currently Off...")):b.length===0?Mt.createElement(bo,{paddingX:2,paddingY:1},Mt.createElement(lo,{italic:!0,color:h.textMuted},I?"Learning...":"Memory not available...")):Mt.createElement(bo,{flexDirection:"column"},b.map((se,ie)=>{let pe=ie===k;return Mt.createElement(bo,{key:se.id,paddingX:1,backgroundColor:pe?h.highlightBg:void 0,width:"100%"},Mt.createElement(bo,{flexGrow:1},Mt.createElement(lo,{color:pe?h.text:h.textMuted,bold:pe},pe?"\u276F ":" ",ie+1,". ",S(se.memory,ie,pe))),pe&&Mt.createElement(bo,{flexShrink:0},Mt.createElement(lo,{color:h.textMuted,dimColor:!0}," [",Mt.createElement(lo,{italic:!0},se.score),"] "),Mt.createElement(lo,{color:h.danger,bold:!0},"[X] WIPE ")))})),Mt.createElement(bo,{marginTop:1,paddingX:1,borderStyle:"single",borderLeft:!1,borderRight:!1,borderBottom:!1,borderColor:h.borderMuted},Mt.createElement(lo,{color:h.textMuted,italic:!0},"\u2191\u2193 navigate \u2022 x wipe memory \u2022 Esc close")))}import ft,{useState as Nr,useEffect as Ml}from"react";import{Box as Ho,Text as Nt}from"ink";import{spawn as Sl}from"child_process";var Cl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Ud=({latest:t,current:m,settings:h,onClose:y,onUpdateSettings:T,onSuccess:b})=>{let[s,k]=Nr("initializing"),[f,I]=Nr(""),[A,X]=Nr(null),[S,C]=Nr(0);if(Ml(()=>{let P=setInterval(()=>{C(N=>(N+1)%1e3)},33);return()=>clearInterval(P)},[]),Ml(()=>{let P;return(async()=>{let L=h.updateManager||"npm";if(!h.updateManager){T();return}let _="";L==="pnpm"?_=`pnpm add -g fluxflow-cli@${t}`:L==="bun"?_=`bun add -g fluxflow-cli@${t}`:L==="yarn"?_=`yarn global add fluxflow-cli@${t}`:L==="custom"?_=h.customUpdateCommand:_=`npm install -g fluxflow-cli@${t}`,k("downloading"),I(`Running: ${_}...`);let Q=process.platform==="win32",ge=se=>new Promise(ie=>{let pe=Q?se?"powershell.exe":"cmd.exe":process.env.SHELL||"bash",Be=Q?se?["-NoProfile","-Command",_]:["/c",_]:["-c",_],Ce=le=>{let be=le.toString().replace(/\x1B\[[0-?]*[ -/]*[@-~]|\x1B\][^\x07\x1B]*[\x07\x1B]|\b|\x07/g,"").replace(/\r/g,"").trim();be&&I(ee=>{let We=ee.split(`
|