@mufazmi/rediscover 1.0.2 → 1.0.3

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.
@@ -737,4 +737,4 @@ For more information, see https://radix-ui.com/primitives/docs/components/alert-
737
737
  - less than the value passed to \`max\` (or ${DA} if no \`max\` prop is set)
738
738
  - \`null\` or \`undefined\` if the progress is indeterminate.
739
739
 
740
- Defaulting to \`null\`.`}var Bz=Mz,N3e=$z;const Fz=E.forwardRef(({className:e,value:r,...t},n)=>c.jsxDEV(Bz,{ref:n,className:Te("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...t,children:c.jsxDEV(N3e,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(r||0)}%)`}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/progress.tsx",lineNumber:15,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/progress.tsx",lineNumber:10,columnNumber:3},void 0));Fz.displayName=Bz.displayName;const nI={backgroundColor:"hsl(220,25%,11%)",border:"1px solid hsl(220,20%,18%)",borderRadius:"6px",fontSize:"11px",color:"hsl(0,0%,90%)"};function w3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState(null),[n,i]=E.useState([]),[a,l]=E.useState(!0),u=async()=>{if(e){l(!0);try{const[T,_]=await Promise.all([nn.info(e),nn.getTopKeys(e).catch(()=>[])]);t(T),i(_||[])}catch(T){Se.error(T.message)}finally{l(!1)}}};if(E.useEffect(()=>{u()},[e]),a)return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV(mr,{className:"h-8 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:48,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-4 gap-3",children:Array.from({length:4}).map((T,_)=>c.jsxDEV(mr,{className:"h-24"},_,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:49,columnNumber:90},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:49,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:47,columnNumber:7},this);const f=(r==null?void 0:r.memory)||{},m=parseInt(f.used_memory||"0")/1048576,v=parseInt(f.used_memory_peak||"0")/1048576,p=parseInt(f.maxmemory||"0"),g=p>0?p/1048576:0,y=g>0?m/g*100:0,x=parseFloat(f.mem_fragmentation_ratio||"0"),N={};for(const T of n)N[T.type]=(N[T.type]||0)+1;const w={string:"hsl(217,91%,60%)",hash:"hsl(142,71%,45%)",list:"hsl(271,81%,56%)",set:"hsl(25,95%,53%)",zset:"hsl(45,93%,47%)",stream:"hsl(330,81%,60%)"},k=Object.entries(N).map(([T,_])=>({name:T,value:_,color:w[T]||"hsl(200,80%,50%)"})),D=n.slice(0,10).map(T=>({name:T.key.length>25?"..."+T.key.slice(-22):T.key,size:T.bytes}));return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(lp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:79,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Memory Analysis"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:80,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:78,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[x>1.5&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs gap-1",children:[c.jsxDEV(kc,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:85,columnNumber:15},this)," High Fragmentation"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:84,columnNumber:13},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:u,children:[c.jsxDEV(uo,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:89,columnNumber:13},this)," Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:82,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:77,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-3",children:[c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"Used Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:97,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:[m.toFixed(2)," MB"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:98,columnNumber:13},this),g>0&&c.jsxDEV(c.Fragment,{children:[c.jsxDEV(Fz,{value:y,className:"mt-2 h-1.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:101,columnNumber:17},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground mt-1",children:[y.toFixed(1),"% of ",g.toFixed(0)," MB"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:102,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:100,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:96,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:95,columnNumber:9},this),c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"Peak Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:109,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:[v.toFixed(2)," MB"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:110,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:108,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:107,columnNumber:9},this),c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"Fragmentation Ratio"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:115,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:x.toFixed(2)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:116,columnNumber:13},this),c.jsxDEV("p",{className:Te("text-[10px]",x>1.5?"text-status-error":"text-status-success"),children:[x>1.5?"High":"Normal"," (< 1.5)"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:117,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:114,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:113,columnNumber:9},this),c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"RSS Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:124,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:f.used_memory_rss_human||"?"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:125,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:122,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:94,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-3",children:[c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Keys by Data Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:132,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:132,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-3 pt-0",children:k.length>0?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(ia,{width:"100%",height:220,children:c.jsxDEV(hU,{children:[c.jsxDEV(Ea,{data:k,cx:"50%",cy:"50%",outerRadius:80,paddingAngle:2,dataKey:"value",children:k.map((T,_)=>c.jsxDEV(Wm,{fill:T.color},_,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:139,columnNumber:59},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:138,columnNumber:21},this),c.jsxDEV($n,{contentStyle:nI},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:141,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:137,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:136,columnNumber:17},this),c.jsxDEV("div",{className:"flex flex-wrap gap-2",children:k.map(T=>c.jsxDEV("div",{className:"flex items-center gap-1 text-[10px]",children:[c.jsxDEV("span",{className:"w-2 h-2 rounded-full",style:{backgroundColor:T.color}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:147,columnNumber:23},this),T.name,": ",T.value]},T.name,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:146,columnNumber:21},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:144,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:135,columnNumber:15},this):c.jsxDEV("div",{className:"h-[220px] flex items-center justify-center text-muted-foreground",children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV(lp,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:156,columnNumber:19},this),c.jsxDEV("p",{children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:157,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:155,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:154,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:133,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:131,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Top Keys by Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:165,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:165,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-3 pt-0",children:D.length>0?c.jsxDEV(ia,{width:"100%",height:280,children:c.jsxDEV(s0,{data:D,layout:"vertical",margin:{left:0},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"hsl(220,13%,88%)",strokeOpacity:.2},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:170,columnNumber:19},this),c.jsxDEV(Ei,{type:"number",tick:{fontSize:10},stroke:"hsl(220,10%,46%)"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:171,columnNumber:19},this),c.jsxDEV(Si,{type:"category",dataKey:"name",width:140,tick:{fontSize:9},stroke:"hsl(220,10%,46%)"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:172,columnNumber:19},this),c.jsxDEV($n,{formatter:T=>oce(T),contentStyle:nI},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:173,columnNumber:19},this),c.jsxDEV(ga,{dataKey:"size",fill:"hsl(4,74%,49%)",radius:[0,4,4,0]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:174,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:169,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:168,columnNumber:15},this):c.jsxDEV("div",{className:"h-[280px] flex items-center justify-center text-muted-foreground",children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV(lp,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:180,columnNumber:19},this),c.jsxDEV("p",{children:"No keys found"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:181,columnNumber:19},this),c.jsxDEV("p",{className:"text-sm",children:"Keys will appear here when they consume significant memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:182,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:179,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:178,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:166,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:164,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:130,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:76,columnNumber:5},this)}function E3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState(null),[n,i]=E.useState(!0),[a,l]=E.useState(""),[u,f]=E.useState(new Set),m=async()=>{if(e){i(!0);try{const g=await nn.info(e);t(g),f(new Set(Object.keys(g)))}catch(g){Se.error(g.message)}finally{i(!1)}}};E.useEffect(()=>{m()},[e]);const v=g=>{const y=new Set(u);y.has(g)?y.delete(g):y.add(g),f(y)},p=g=>g.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return n?c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV(mr,{className:"h-8 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:47,columnNumber:9},this),Array.from({length:5}).map((g,y)=>c.jsxDEV(mr,{className:"h-32"},y,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:48,columnNumber:50},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:46,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(g4,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:57,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Server Info"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:56,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("div",{className:"relative",children:[c.jsxDEV(Of,{className:"w-3.5 h-3.5 absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:62,columnNumber:13},this),c.jsxDEV(Dr,{placeholder:"Search...",value:a,onChange:g=>l(g.target.value),className:"h-7 text-xs pl-7 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:63,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:61,columnNumber:11},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:m,children:[c.jsxDEV(uo,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:66,columnNumber:13},this)," Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:65,columnNumber:11},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>{navigator.clipboard.writeText(JSON.stringify(r,null,2)),Se.success("Copied to clipboard")},children:[c.jsxDEV(ks,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:72,columnNumber:13},this)," Copy All"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:68,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:60,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:55,columnNumber:7},this),r&&Object.entries(r).map(([g,y])=>{if(!y||typeof y!="object")return null;const x=Object.entries(y).filter(([N,w])=>!a||N.toLowerCase().includes(a.toLowerCase())||String(w).toLowerCase().includes(a.toLowerCase()));return a&&x.length===0?null:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2 cursor-pointer",onClick:()=>v(g),children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm capitalize",children:["# ",g]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:88,columnNumber:17},this),c.jsxDEV(cr,{variant:"secondary",className:"text-[10px]",children:[x.length," fields"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:89,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:87,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:86,columnNumber:13},this),u.has(g)&&c.jsxDEV(c.Fragment,{children:[c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:94,columnNumber:17},this),c.jsxDEV(Nr,{className:"p-0",children:c.jsxDEV("table",{className:"w-full text-xs",children:c.jsxDEV("tbody",{children:x.map(([N,w])=>c.jsxDEV("tr",{className:"border-b border-border/50 hover:bg-accent/50",children:[c.jsxDEV("td",{className:"p-2.5 pl-4 font-mono text-muted-foreground w-1/3",children:N},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:100,columnNumber:27},this),c.jsxDEV("td",{className:"p-2.5 font-mono",children:p(String(w))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:101,columnNumber:27},this)]},N,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:99,columnNumber:25},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:97,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:96,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:95,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:93,columnNumber:15},this)]},g,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:85,columnNumber:11},this)})]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:54,columnNumber:5},this)}var Cw="Switch",[S3e,PLe]=ko(Cw),[k3e,D3e]=S3e(Cw),Uz=E.forwardRef((e,r)=>{const{__scopeSwitch:t,name:n,checked:i,defaultChecked:a,required:l,disabled:u,value:f="on",onCheckedChange:m,form:v,...p}=e,[g,y]=E.useState(null),x=Mr(r,T=>y(T)),N=E.useRef(!1),w=g?v||!!g.closest("form"):!0,[k,D]=Zi({prop:i,defaultProp:a??!1,onChange:m,caller:Cw});return H.jsxs(k3e,{scope:t,checked:k,disabled:u,children:[H.jsx(or.button,{type:"button",role:"switch","aria-checked":k,"aria-required":l,"data-state":Wz(k),"data-disabled":u?"":void 0,disabled:u,value:f,...p,ref:x,onClick:$e(e.onClick,T=>{D(_=>!_),w&&(N.current=T.isPropagationStopped(),N.current||T.stopPropagation())})}),w&&H.jsx(Hz,{control:g,bubbles:!N.current,name:n,value:f,checked:k,required:l,disabled:u,form:v,style:{transform:"translateX(-100%)"}})]})});Uz.displayName=Cw;var zz="SwitchThumb",Kz=E.forwardRef((e,r)=>{const{__scopeSwitch:t,...n}=e,i=D3e(zz,t);return H.jsx(or.span,{"data-state":Wz(i.checked),"data-disabled":i.disabled?"":void 0,...n,ref:r})});Kz.displayName=zz;var C3e="SwitchBubbleInput",Hz=E.forwardRef(({__scopeSwitch:e,control:r,checked:t,bubbles:n=!0,...i},a)=>{const l=E.useRef(null),u=Mr(l,a),f=Ij(t),m=Aj(r);return E.useEffect(()=>{const v=l.current;if(!v)return;const p=window.HTMLInputElement.prototype,y=Object.getOwnPropertyDescriptor(p,"checked").set;if(f!==t&&y){const x=new Event("click",{bubbles:n});y.call(v,t),v.dispatchEvent(x)}},[f,t,n]),H.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...i,tabIndex:-1,ref:u,style:{...i.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Hz.displayName=C3e;function Wz(e){return e?"checked":"unchecked"}var Gz=Uz,T3e=Kz;const m0=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(Gz,{className:Te("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",e),...r,ref:t,children:c.jsxDEV(T3e,{className:Te("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/switch.tsx",lineNumber:18,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/switch.tsx",lineNumber:10,columnNumber:3},void 0));m0.displayName=Gz.displayName;function j3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState([]),[n,i]=E.useState(null),[a,l]=E.useState(""),[u,f]=E.useState([]),[m,v]=E.useState(!0),p=async()=>{if(e){v(!0);try{const y=await nn.getAcl(e),N=(Array.isArray(y)?y:[]).map(w=>{const k=String(w).split(" ");return{username:k[1]||"unknown",enabled:k.includes("on"),rules:k.slice(2).join(" ")}});t(N);try{const w=await nn.cli(e,"ACL WHOAMI");l(String(w||""))}catch{l("")}try{const w=await nn.cli(e,"ACL LOG 10");f(Array.isArray(w)?w:[])}catch{f([])}N.length>0&&!n&&i(N[0])}catch(y){Se.error(y.message)}finally{v(!1)}}};E.useEffect(()=>{p()},[e]);const g=async y=>{if(!(!e||y==="default"))try{await nn.deleteAclUser(e,y),Se.success(`Deleted user ${y}`),i(null),p()}catch(x){Se.error(x.message)}};return m?c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV(mr,{className:"h-8 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:86,columnNumber:39},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:86,columnNumber:72},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:86,columnNumber:12},this):c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Nj,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:93,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"ACL Manager"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:94,columnNumber:11},this),a&&c.jsxDEV(cr,{variant:"outline",className:"text-[10px]",children:["Logged in as: ",a]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:95,columnNumber:22},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:92,columnNumber:9},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:p,children:[c.jsxDEV(uo,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:98,columnNumber:11},this)," Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:97,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:91,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-3",children:[c.jsxDEV(Qe,{className:"lg:col-span-1",children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"ACL Users"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:104,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:104,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:105,columnNumber:11},this),c.jsxDEV("div",{className:"p-2 space-y-0.5",children:r.map(y=>c.jsxDEV("button",{onClick:()=>i(y),className:Te("flex items-center justify-between w-full px-2.5 py-2 rounded text-xs hover:bg-accent",(n==null?void 0:n.username)===y.username&&"bg-accent"),children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("span",{className:Te("w-1.5 h-1.5 rounded-full",y.enabled?"bg-status-success":"bg-muted-foreground")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:114,columnNumber:19},this),c.jsxDEV("span",{className:"font-mono font-medium",children:y.username},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:115,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:113,columnNumber:17},this),c.jsxDEV(cr,{variant:y.enabled?"secondary":"outline",className:"text-[9px]",children:y.enabled?"active":"disabled"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:117,columnNumber:17},this)]},y.username,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:108,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:106,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:103,columnNumber:9},this),c.jsxDEV(Qe,{className:"lg:col-span-2",children:n?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm font-mono",children:n.username},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:130,columnNumber:19},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(m0,{checked:n.enabled,disabled:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:132,columnNumber:21},this),n.username!=="default"&&c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1 text-destructive",onClick:()=>g(n.username),children:[c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:135,columnNumber:25},this)," Delete"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:134,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:131,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:129,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:128,columnNumber:15},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:141,columnNumber:15},this),c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"ACL Rules"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:143,columnNumber:17},this),c.jsxDEV("div",{className:"bg-muted rounded p-3",children:c.jsxDEV("code",{className:"text-xs font-mono whitespace-pre-wrap break-all",children:n.rules},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:145,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:144,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:142,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:127,columnNumber:13},this):c.jsxDEV("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:"Select a user"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:150,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:125,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:102,columnNumber:7},this),u.length>0&&c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm flex items-center gap-2",children:[c.jsxDEV(kc,{className:"w-4 h-4 text-status-warning"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:159,columnNumber:15},this),"ACL Violations Log"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:158,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:157,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:163,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-3",children:c.jsxDEV("pre",{className:"text-xs font-mono whitespace-pre-wrap max-h-48 overflow-auto",children:JSON.stringify(u,null,2)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:165,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:164,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:156,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:90,columnNumber:5},this)}var Tw="Tabs",[O3e,RLe]=ko(Tw,[Mm]),qz=Mm(),[A3e,CA]=O3e(Tw),Yz=E.forwardRef((e,r)=>{const{__scopeTabs:t,value:n,onValueChange:i,defaultValue:a,orientation:l="horizontal",dir:u,activationMode:f="automatic",...m}=e,v=Rm(u),[p,g]=Zi({prop:n,onChange:i,defaultProp:a??"",caller:Tw});return H.jsx(A3e,{scope:t,baseId:la(),value:p,onValueChange:g,orientation:l,dir:v,activationMode:f,children:H.jsx(or.div,{dir:v,"data-orientation":l,...m,ref:r})})});Yz.displayName=Tw;var Xz="TabsList",Jz=E.forwardRef((e,r)=>{const{__scopeTabs:t,loop:n=!0,...i}=e,a=CA(Xz,t),l=qz(t);return H.jsx(zj,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:n,children:H.jsx(or.div,{role:"tablist","aria-orientation":a.orientation,...i,ref:r})})});Jz.displayName=Xz;var Zz="TabsTrigger",Qz=E.forwardRef((e,r)=>{const{__scopeTabs:t,value:n,disabled:i=!1,...a}=e,l=CA(Zz,t),u=qz(t),f=tK(l.baseId,n),m=nK(l.baseId,n),v=n===l.value;return H.jsx(Kj,{asChild:!0,...u,focusable:!i,active:v,children:H.jsx(or.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":m,"data-state":v?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:f,...a,ref:r,onMouseDown:$e(e.onMouseDown,p=>{!i&&p.button===0&&p.ctrlKey===!1?l.onValueChange(n):p.preventDefault()}),onKeyDown:$e(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&l.onValueChange(n)}),onFocus:$e(e.onFocus,()=>{const p=l.activationMode!=="manual";!v&&!i&&p&&l.onValueChange(n)})})})});Qz.displayName=Zz;var eK="TabsContent",rK=E.forwardRef((e,r)=>{const{__scopeTabs:t,value:n,forceMount:i,children:a,...l}=e,u=CA(eK,t),f=tK(u.baseId,n),m=nK(u.baseId,n),v=n===u.value,p=E.useRef(v);return E.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),H.jsx(Do,{present:i||v,children:({present:g})=>H.jsx(or.div,{"data-state":v?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!g,id:m,tabIndex:0,...l,ref:r,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&a})})});rK.displayName=eK;function tK(e,r){return`${e}-trigger-${r}`}function nK(e,r){return`${e}-content-${r}`}var _3e=Yz,oK=Jz,iK=Qz,sK=rK;const aK=_3e,TA=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(oK,{ref:t,className:Te("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...r},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/tabs.tsx",lineNumber:12,columnNumber:3},void 0));TA.displayName=oK.displayName;const h0=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(iK,{ref:t,className:Te("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",e),...r},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/tabs.tsx",lineNumber:27,columnNumber:3},void 0));h0.displayName=iK.displayName;const v0=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(sK,{ref:t,className:Te("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/tabs.tsx",lineNumber:42,columnNumber:3},void 0));v0.displayName=sK.displayName;function P3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState("*"),[i,a]=E.useState(!1),[l,u]=E.useState(!1),f=E.useRef(null),m=async()=>{if(e){a(!0);try{const p=await nn.exportKeys(e,t,r),g=new Blob([JSON.stringify(p,null,2)],{type:"application/json"}),y=URL.createObjectURL(g),x=document.createElement("a");x.href=y,x.download=`redis-export-db${r}-${Date.now()}.json`,x.click(),URL.revokeObjectURL(y),Se.success(`Exported ${Array.isArray(p)?p.length:0} keys`)}catch(p){Se.error(p.message)}finally{a(!1)}}},v=async p=>{if(e){u(!0);try{const g=await p.text(),y=JSON.parse(g);if(!Array.isArray(y))throw new Error("Import file must be a JSON array");const x=await nn.importKeys(e,y,r);Se.success(`Imported ${x.imported} keys successfully`)}catch(g){Se.error(g.message)}finally{u(!1)}}};return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(f4,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:60,columnNumber:9},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Import / Export"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:61,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:59,columnNumber:7},this),c.jsxDEV(aK,{defaultValue:"export",children:[c.jsxDEV(TA,{children:[c.jsxDEV(h0,{value:"export",className:"text-xs gap-1",children:[c.jsxDEV(Ep,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:66,columnNumber:65},this)," Export"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:66,columnNumber:11},this),c.jsxDEV(h0,{value:"import",className:"text-xs gap-1",children:[c.jsxDEV(d2,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:67,columnNumber:65},this)," Import"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:67,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:65,columnNumber:9},this),c.jsxDEV(v0,{value:"export",className:"space-y-3",children:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Export Keys"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:72,columnNumber:46},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:72,columnNumber:13},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:73,columnNumber:13},this),c.jsxDEV(Nr,{className:"p-3 space-y-3",children:[c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Key Pattern"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:77,columnNumber:19},this),c.jsxDEV(Dr,{value:t,onChange:p=>n(p.target.value),className:"h-8 text-xs font-mono",placeholder:"user:*"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:78,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:76,columnNumber:17},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Database"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:81,columnNumber:19},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:["DB ",r]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:82,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:80,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:75,columnNumber:15},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{size:"sm",className:"h-8 text-xs gap-1",onClick:m,disabled:i,children:[i?c.jsxDEV(Sp,{className:"w-3 h-3 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:87,columnNumber:32},this):c.jsxDEV(Ep,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:87,columnNumber:79},this),i?"Exporting...":"Export"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:86,columnNumber:17},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground flex items-center gap-1",children:[c.jsxDEV(kc,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:91,columnNumber:19},this),"Large exports may take time and impact server performance"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:90,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:85,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:74,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:71,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:70,columnNumber:9},this),c.jsxDEV(v0,{value:"import",className:"space-y-3",children:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Import Keys"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:101,columnNumber:46},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:101,columnNumber:13},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:102,columnNumber:13},this),c.jsxDEV(Nr,{className:"p-3 space-y-3",children:[c.jsxDEV("input",{type:"file",ref:f,accept:".json",className:"hidden",onChange:p=>{var g;return((g=p.target.files)==null?void 0:g[0])&&v(p.target.files[0])}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:104,columnNumber:15},this),c.jsxDEV("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-accent/50 transition-colors",onClick:()=>{var p;return(p=f.current)==null?void 0:p.click()},children:[l?c.jsxDEV(Sp,{className:"w-8 h-8 mx-auto text-primary mb-2 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:111,columnNumber:19},this):c.jsxDEV(d2,{className:"w-8 h-8 mx-auto text-muted-foreground mb-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:113,columnNumber:19},this),c.jsxDEV("p",{className:"text-sm font-medium",children:l?"Importing...":"Drop file here or click to browse"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:115,columnNumber:17},this),c.jsxDEV("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports JSON files exported from Rediscover"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:116,columnNumber:17},this),c.jsxDEV("div",{className:"flex justify-center gap-2 mt-3",children:c.jsxDEV(cr,{variant:"outline",className:"text-[10px]",children:".json"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:118,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:117,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:106,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:103,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:100,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:99,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:64,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:58,columnNumber:5},this)}function R3e(){const{connections:e,refreshConnections:r}=on(),[t,n]=E.useState(null),[i,a]=E.useState(!1),[l,u]=E.useState(""),[f,m]=E.useState(""),[v,p]=E.useState("slate"),[g,y]=E.useState(!1),x=async k=>{n(k);try{const D=await nn.testConnection(k);D.status==="connected"?Se.success(`Connected in ${D.latencyMs}ms`):Se.error(`Connection failed: ${D.error||"unknown error"}`),await r()}catch(D){Se.error(D.message)}finally{n(null)}},N=async()=>{if(!l||!f){Se.error("Name and URL are required");return}y(!0);try{await nn.addConnection(l,f,v),Se.success("Connection added"),await r(),a(!1),u(""),m(""),p("slate")}catch(k){Se.error(k.message)}finally{y(!1)}},w=async k=>{try{await nn.deleteConnection(k),Se.success("Connection deleted"),await r()}catch(D){Se.error(D.message)}};return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(S0,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:71,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Connections"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:72,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:70,columnNumber:9},this),c.jsxDEV(ki,{open:i,onOpenChange:a,children:[c.jsxDEV(qle,{asChild:!0,children:c.jsxDEV(ve,{size:"sm",className:"h-8 text-xs gap-1",children:[c.jsxDEV(va,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:76,columnNumber:61},this)," Add Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:76,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:75,columnNumber:11},this),c.jsxDEV(Qo,{children:[c.jsxDEV(ei,{children:c.jsxDEV(ri,{children:"Add Redis Connection"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:79,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:79,columnNumber:13},this),c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Name"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:82,columnNumber:17},this),c.jsxDEV(Dr,{value:l,onChange:k=>u(k.target.value),placeholder:"Production Redis",className:"h-8 text-xs"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:83,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:81,columnNumber:15},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Redis URL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:86,columnNumber:17},this),c.jsxDEV(Dr,{value:f,onChange:k=>m(k.target.value),placeholder:"redis://user:password@host:port",className:"h-8 text-xs font-mono",type:"password"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:87,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:85,columnNumber:15},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Color"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:90,columnNumber:17},this),c.jsxDEV("div",{className:"flex gap-2",children:["red","blue","green","yellow","purple","slate"].map(k=>c.jsxDEV("button",{onClick:()=>p(k),className:Te("w-6 h-6 rounded-full border-2",v===k?"border-primary":"border-transparent"),style:{backgroundColor:k==="slate"?"#64748b":k}},k,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:93,columnNumber:21},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:91,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:89,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:80,columnNumber:13},this),c.jsxDEV(Qi,{children:c.jsxDEV(ve,{size:"sm",onClick:N,disabled:g,children:[g?c.jsxDEV(Sp,{className:"w-3 h-3 animate-spin mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:101,columnNumber:29},this):null,"Add Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:100,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:99,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:78,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:74,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:69,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:[e.map(k=>c.jsxDEV(Qe,{className:Te("relative overflow-hidden",k.status==="online"&&"border-status-success/30"),children:[c.jsxDEV("div",{className:Te("absolute top-0 left-0 w-full h-0.5",k.status==="online"?"bg-status-success":k.status==="offline"?"bg-status-error":k.status==="slow"?"bg-status-warning":"bg-muted")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:112,columnNumber:13},this),c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm",children:k.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:118,columnNumber:17},this),c.jsxDEV(ve,{variant:"ghost",size:"icon",className:"h-6 w-6 text-destructive",onClick:()=>w(k.id),children:c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:120,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:119,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:117,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:116,columnNumber:13},this),c.jsxDEV(Nr,{className:"p-3 pt-0 space-y-2",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(cr,{variant:k.status==="online"?"default":"secondary",className:Te("text-[10px] gap-1",k.status==="online"&&"bg-status-success"),children:[k.status==="online"?c.jsxDEV(Jte,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:130,columnNumber:47},this):c.jsxDEV(d4,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:130,columnNumber:86},this),k.status||"unknown"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:126,columnNumber:17},this),k.latency_ms!=null&&c.jsxDEV(cr,{variant:"outline",className:"text-[10px] font-mono",children:[k.latency_ms,"ms"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:134,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:125,columnNumber:15},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-6 text-[10px] w-full gap-1",onClick:()=>x(k.id),disabled:t===k.id,children:[t===k.id?c.jsxDEV(Sp,{className:"w-3 h-3 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:138,columnNumber:40},this):c.jsxDEV(dne,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:138,columnNumber:87},this),"Test Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:137,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:124,columnNumber:13},this)]},k.id,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:111,columnNumber:11},this)),c.jsxDEV(Qe,{className:"border-dashed flex items-center justify-center min-h-[160px] cursor-pointer hover:bg-accent/50 transition-colors",onClick:()=>a(!0),children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV(va,{className:"w-8 h-8 mx-auto text-muted-foreground mb-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:147,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm font-medium",children:"Add Connection"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:148,columnNumber:13},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Redis, Cluster, or Sentinel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:149,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:146,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:145,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:68,columnNumber:5},this)}function V3e({className:e}){const r={name:"Umair Farooqui",title:"Software Engineer & Certified Ethical Hacker (CEH v13)",githubUsername:"mufazmi",githubUrl:"https://github.com/mufazmi",website:"https://umairfarooqui.com",email:"info.umairfarooqui@gmail.com"},t=n=>{window.open(n,"_blank","noopener,noreferrer")};return c.jsxDEV(Qe,{className:e,children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"About"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:36,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:35,columnNumber:7},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:38,columnNumber:7},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Author"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:42,columnNumber:13},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Software creator and maintainer"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:43,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:41,columnNumber:11},this),c.jsxDEV("span",{className:"text-xs font-medium",children:r.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:45,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:40,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:48,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Title"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:52,columnNumber:13},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Professional credentials"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:51,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center gap-1",children:[c.jsxDEV(Nj,{className:"w-3 h-3 text-muted-foreground"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:56,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs text-right max-w-32 leading-tight",children:r.title},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:55,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:50,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:63,columnNumber:9},this),c.jsxDEV("div",{className:"flex flex-col gap-2",children:[c.jsxDEV("div",{children:c.jsxDEV("p",{className:"text-xs font-medium mb-2",children:"Professional Links"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:67,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:66,columnNumber:11},this),c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-2 justify-start h-8",onClick:()=>t(r.githubUrl),children:[c.jsxDEV(ene,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:76,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs",children:"GitHub Profile"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:77,columnNumber:13},this),c.jsxDEV(Hx,{className:"w-3 h-3 ml-auto"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:78,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:70,columnNumber:11},this),c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-2 justify-start h-8",onClick:()=>t(r.website),children:[c.jsxDEV(h4,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:87,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs",children:"Personal Website"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:88,columnNumber:13},this),c.jsxDEV(Hx,{className:"w-3 h-3 ml-auto"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:89,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:81,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:65,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:93,columnNumber:9},this),c.jsxDEV("div",{className:"bg-muted/50 rounded-md p-2",children:c.jsxDEV("p",{className:"text-[10px] text-muted-foreground text-center",children:"Rediscover - Professional Redis Management Tool"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:96,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:95,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:39,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:34,columnNumber:5},this)}function M3e(){const[e,r]=E.useState(""),[t,n]=E.useState(""),[i,a]=E.useState(""),[l,u]=E.useState(!1),[f,m]=E.useState(""),[v,p]=E.useState(""),[g,y]=E.useState(""),[x,N]=E.useState(!1),[w,k]=E.useState(!1),{toast:D}=dj();E.useEffect(()=>{T(),_()},[]);const T=async()=>{try{const R="1.0.2";R&&r(R)}catch(R){console.error("Failed to load current version:",R)}},_=()=>{const R=localStorage.getItem("updateCheckCache"),V=localStorage.getItem("updateCheckCacheTimestamp");if(R&&V){const $=JSON.parse(R);a($.version),u($.hasUpdate),m($.releaseUrl),n(new Date(parseInt(V)).toLocaleString())}},C=async(R=!1)=>{k(!0);try{R&&(localStorage.removeItem("updateCheckCache"),localStorage.removeItem("updateCheckCacheTimestamp"));const V=await fetch("/api/version/latest");if(!V.ok)throw new Error("Failed to check for updates");const $=await V.json();a($.version),u($.hasUpdate),m($.releaseUrl);const z=Date.now();n(new Date(z).toLocaleString()),localStorage.setItem("updateCheckCache",JSON.stringify($)),localStorage.setItem("updateCheckCacheTimestamp",z.toString()),D({title:$.hasUpdate?"Update Available":"Up to Date",description:$.hasUpdate?`Version ${$.version} is available!`:"You are running the latest version."})}catch(V){console.error("Failed to check for updates:",V),D({title:"Error",description:"Failed to check for updates. Please try again.",variant:"destructive"})}finally{k(!1)}},O=async()=>{try{const R=await fetch("/api/version/update-instructions");if(!R.ok)throw new Error("Failed to fetch update instructions");const V=await R.json();p(V.installMethod),y(V.instructions),N(!0)}catch(R){console.error("Failed to fetch update instructions:",R),D({title:"Error",description:"Failed to fetch update instructions. Please try again.",variant:"destructive"})}},A=()=>{navigator.clipboard.writeText(g),D({title:"Copied!",description:"Update instructions copied to clipboard."})};return c.jsxDEV("div",{className:"space-y-3 max-w-2xl",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:145,columnNumber:9},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Settings"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:146,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:144,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"General"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:151,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:150,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:153,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Key namespace separator"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:157,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Character used to split key namespaces in tree view"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:158,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:156,columnNumber:13},this),c.jsxDEV(Dr,{defaultValue:":",className:"h-7 w-16 text-center text-xs font-mono"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:160,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:155,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:162,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Auto-refresh interval"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:165,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Dashboard stats refresh rate"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:166,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:164,columnNumber:13},this),c.jsxDEV(Tc,{defaultValue:"5",children:[c.jsxDEV(hl,{className:"h-7 w-28 text-xs",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:169,columnNumber:59},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:169,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"2",children:"2 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:171,columnNumber:17},this),c.jsxDEV(Yt,{value:"5",children:"5 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:172,columnNumber:17},this),c.jsxDEV(Yt,{value:"10",children:"10 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:173,columnNumber:17},this),c.jsxDEV(Yt,{value:"30",children:"30 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:174,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:170,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:168,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:163,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:178,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"SCAN count per iteration"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:181,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Number of keys loaded per SCAN call"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:182,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:180,columnNumber:13},this),c.jsxDEV(Dr,{defaultValue:"100",className:"h-7 w-20 text-center text-xs font-mono"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:184,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:179,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:186,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Enable user registration"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:189,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Allow new users to create accounts"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:190,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:188,columnNumber:13},this),c.jsxDEV(m0,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:192,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:187,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:194,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Dangerous command confirmation"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:197,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Require typing confirmation for FLUSH, DEL, etc."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:198,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:196,columnNumber:13},this),c.jsxDEV(m0,{defaultChecked:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:200,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:195,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:149,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Security"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:207,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:206,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:209,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"JWT Token Expiry"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:213,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Session token lifetime"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:214,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:212,columnNumber:13},this),c.jsxDEV(Tc,{defaultValue:"24h",children:[c.jsxDEV(hl,{className:"h-7 w-28 text-xs",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:217,columnNumber:59},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:217,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"1h",children:"1 hour"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:219,columnNumber:17},this),c.jsxDEV(Yt,{value:"8h",children:"8 hours"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:220,columnNumber:17},this),c.jsxDEV(Yt,{value:"24h",children:"24 hours"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:221,columnNumber:17},this),c.jsxDEV(Yt,{value:"7d",children:"7 days"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:222,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:218,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:216,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:211,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:226,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Rate limit login"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:229,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Max login attempts per 15 minutes"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:230,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:228,columnNumber:13},this),c.jsxDEV(Dr,{defaultValue:"10",className:"h-7 w-16 text-center text-xs font-mono"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:232,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:227,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:210,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:205,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Version & Updates"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:239,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:238,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:241,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Current Version"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:245,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Installed version of Rediscover"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:246,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:244,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs font-mono",children:e||"Loading..."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:248,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:243,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:250,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Latest Version"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:253,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Most recent release available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:254,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:252,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs font-mono",children:i||"Not checked"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:256,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:251,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:258,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Last Checked"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:261,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"When updates were last checked"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:262,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:260,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs text-muted-foreground",children:t||"Never"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:264,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:259,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:266,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Installation Method"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:269,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"How Rediscover was installed"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:270,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:268,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs capitalize",children:v||"Unknown"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:272,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:267,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:274,columnNumber:11},this),c.jsxDEV("div",{className:"flex flex-col gap-2",children:[c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-1 w-full",onClick:()=>C(!0),disabled:w,children:[c.jsxDEV(uo,{className:`w-3.5 h-3.5 ${w?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:283,columnNumber:15},this),w?"Checking...":"Check for Updates"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:276,columnNumber:13},this),l&&c.jsxDEV("div",{className:"bg-blue-50 dark:bg-blue-950 border border-blue-200 dark:border-blue-800 rounded-md p-3 space-y-2",children:[c.jsxDEV("div",{className:"flex items-start gap-2",children:[c.jsxDEV(Ep,{className:"w-4 h-4 text-blue-600 dark:text-blue-400 mt-0.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:289,columnNumber:19},this),c.jsxDEV("div",{className:"flex-1",children:[c.jsxDEV("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:["Update Available: v",i]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:291,columnNumber:21},this),c.jsxDEV("p",{className:"text-[10px] text-blue-700 dark:text-blue-300 mt-0.5",children:"A new version is ready to install"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:294,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:290,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:288,columnNumber:17},this),c.jsxDEV("div",{className:"flex gap-2",children:[c.jsxDEV(ve,{size:"sm",variant:"default",className:"gap-1 flex-1",onClick:O,children:[c.jsxDEV(Ep,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:306,columnNumber:21},this),"Update Now"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:300,columnNumber:19},this),f&&c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-1",onClick:()=>window.open(f,"_blank"),children:[c.jsxDEV(Hx,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:316,columnNumber:23},this),"Release Notes"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:310,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:299,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:287,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:275,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:242,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:237,columnNumber:7},this),c.jsxDEV(V3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:327,columnNumber:7},this),c.jsxDEV(ve,{size:"sm",className:"gap-1",children:[c.jsxDEV(zu,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:330,columnNumber:9},this)," Save Settings"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:329,columnNumber:7},this),c.jsxDEV(ki,{open:x,onOpenChange:N,children:c.jsxDEV(Qo,{className:"max-w-2xl",children:[c.jsxDEV(ei,{children:[c.jsxDEV(ri,{children:"Update Rediscover"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:336,columnNumber:13},this),c.jsxDEV(Di,{children:["Follow these instructions to update to v",i,v&&c.jsxDEV("span",{className:"block mt-1 text-xs",children:["Installation method detected: ",c.jsxDEV("strong",{children:v},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:341,columnNumber:49},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:340,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:337,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:335,columnNumber:11},this),g&&c.jsxDEV(c.Fragment,{children:[c.jsxDEV("pre",{className:"whitespace-pre-wrap bg-gray-100 dark:bg-gray-800 p-4 rounded text-sm overflow-auto max-h-96",children:g},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:348,columnNumber:15},this),c.jsxDEV("div",{className:"flex gap-2",children:[c.jsxDEV(ve,{onClick:A,className:"gap-2",children:[c.jsxDEV(ks,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:356,columnNumber:19},this),"Copy to Clipboard"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:352,columnNumber:17},this),c.jsxDEV(ve,{variant:"outline",onClick:()=>N(!1),children:"Close"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:359,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:351,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:347,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:334,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:333,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:143,columnNumber:5},this)}const L3e={memory:qi,persistence:u4,performance:qi,connections:qi,replication:qi,security:kc,keyspace:qi},$3e={healthy:"bg-green-500/20 text-green-400 border-green-500/30",warning:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30",critical:"bg-red-500/20 text-red-400 border-red-500/30"},I3e={healthy:u4,warning:kc,critical:d4};function B3e({category:e,checks:r,onCopyCommand:t}){const n=L3e[e]||qi,i=r.filter(m=>m.category===e),a=i.some(m=>m.status==="critical"),l=i.some(m=>m.status==="warning"),u=a?"critical":l?"warning":"healthy",f=I3e[u];return c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(n,{className:"w-4 h-4 text-muted-foreground"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:65,columnNumber:13},this),c.jsxDEV(Vr,{className:"text-sm capitalize",children:e},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:66,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:64,columnNumber:11},this),c.jsxDEV(cr,{variant:"outline",className:`text-xs ${$3e[u]}`,children:[c.jsxDEV(f,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:69,columnNumber:13},this),u]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:68,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:62,columnNumber:7},this),c.jsxDEV(Nr,{className:"pt-0",children:i.length===0?c.jsxDEV("div",{className:"text-sm text-muted-foreground",children:"No issues detected"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:76,columnNumber:11},this):c.jsxDEV("div",{className:"space-y-3",children:i.map((m,v)=>c.jsxDEV("div",{className:"space-y-2",children:c.jsxDEV("div",{className:"flex items-start gap-2",children:[c.jsxDEV("div",{className:`w-2 h-2 rounded-full mt-2 ${m.status==="healthy"?"bg-green-500":m.status==="warning"?"bg-yellow-500":"bg-red-500"}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:82,columnNumber:19},this),c.jsxDEV("div",{className:"flex-1 min-w-0",children:[c.jsxDEV("p",{className:"text-sm",children:m.message},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:87,columnNumber:21},this),m.recommendation&&c.jsxDEV("p",{className:"text-xs text-muted-foreground mt-1",children:m.recommendation},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:89,columnNumber:23},this),m.command&&c.jsxDEV("div",{className:"mt-2 flex items-center gap-2",children:[c.jsxDEV("code",{className:"text-xs bg-muted px-2 py-1 rounded font-mono text-[#22d3ee] flex-1",children:m.command},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:95,columnNumber:25},this),c.jsxDEV(ve,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>t(m.command),children:c.jsxDEV(ks,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:104,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:98,columnNumber:25},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:94,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:86,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:81,columnNumber:17},this)},v,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:80,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:78,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:74,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:61,columnNumber:5},this)}function F3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState([]),[i,a]=E.useState(!0),[l,u]=E.useState(null),[f,m]=E.useState(null),v=["memory","persistence","performance","connections","replication","security","keyspace"],p=E.useCallback(async()=>{if(e){a(!0),u(null);try{const x=await Mie.runDiagnostics(Number(e),r),w=(x.checks||x).map(k=>({...k,status:k.status}));n(w),m(new Date),Se.success("Diagnostics completed successfully")}catch(x){const N=x.message;u(N),Se.error(`Failed to run diagnostics: ${N}`)}finally{a(!1)}}},[e,r]),g=x=>{navigator.clipboard.writeText(x),Se.success("Command copied to clipboard")},y=()=>{p()};return E.useEffect(()=>{p()},[p]),i&&!t.length?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:174,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:175,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:173,columnNumber:11},this),c.jsxDEV(mr,{className:"h-8 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:177,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:172,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:Array.from({length:7}).map((x,N)=>c.jsxDEV(mr,{className:"h-32"},N,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:181,columnNumber:13},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:179,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:171,columnNumber:7},this):l&&!t.length?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:194,columnNumber:15},this),"Diagnostics Center"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:193,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Automated health checks and recommendations"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:197,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:192,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:191,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:204,columnNumber:13},this),c.jsxDEV("p",{children:l},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:205,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:203,columnNumber:11},this),c.jsxDEV(ve,{onClick:y,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:208,columnNumber:13},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:207,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:202,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:190,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:221,columnNumber:13},this),"Diagnostics Center"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:220,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:["Automated health checks and recommendations",f&&c.jsxDEV("span",{className:"ml-2",children:["• Last analyzed: ",f.toLocaleTimeString()]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:227,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:224,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:219,columnNumber:9},this),c.jsxDEV(ve,{onClick:y,disabled:i,variant:"outline",size:"sm",children:[c.jsxDEV(uo,{className:`w-4 h-4 mr-2 ${i?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:239,columnNumber:11},this),"Re-analyze"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:233,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:218,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:v.map(x=>c.jsxDEV(B3e,{category:x,checks:t,onCopyCommand:g},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:246,columnNumber:11},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:244,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:217,columnNumber:5},this)}function U3e(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:`${Math.floor(e/3600)}h`}function Sx(e,r){const[t,n]=E.useState(e);return E.useEffect(()=>{const i=setTimeout(()=>{n(e)},r);return()=>{clearTimeout(i)}},[e,r]),t}function z3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState({clients:[],loading:!0,error:null,filters:{address:"",name:"",command:"",user:""}}),[n,i]=E.useState("300"),[a,l]=E.useState(!1),u=E.useCallback(async()=>{if(e)try{t(x=>({...x,loading:!0,error:null}));const y=await Yk.getClients(Number(e));t(x=>({...x,clients:y.clients,loading:!1}))}catch(y){const x=y instanceof Error?y.message:"Failed to fetch clients";t(N=>({...N,error:x,loading:!1})),r.clients.length===0&&Se.error(x)}},[e,r.clients.length]);E.useEffect(()=>{u();const y=setInterval(u,5e3);return()=>clearInterval(y)},[u]),E.useEffect(()=>{t(y=>({...y,clients:[],loading:!0,error:null}))},[e]);const f={address:Sx(r.filters.address,300),name:Sx(r.filters.name,300),command:Sx(r.filters.command,300),user:Sx(r.filters.user,300)},m=E.useMemo(()=>r.clients.filter(y=>{const{address:x,name:N,command:w,user:k}=f;return(!x||y.addr.toLowerCase().includes(x.toLowerCase()))&&(!N||y.name.toLowerCase().includes(N.toLowerCase()))&&(!w||y.cmd.toLowerCase().includes(w.toLowerCase()))&&(!k||y.user.toLowerCase().includes(k.toLowerCase()))}),[r.clients,f]),v=(y,x)=>{t(N=>({...N,filters:{...N.filters,[y]:x}}))},p=async y=>{if(e)try{await Yk.killClient(Number(e),y),Se.success("Client killed successfully"),u()}catch(x){const N=x instanceof Error?x.message:"Failed to kill client";Se.error(N)}},g=async()=>{if(!e)return;const y=parseInt(n,10);if(isNaN(y)||y<=0){Se.error("Please enter a valid idle threshold in seconds");return}try{const x=await Yk.killIdleClients(Number(e),y);Se.success(`Killed ${x.killed} idle clients`),l(!1),u()}catch(x){const N=x instanceof Error?x.message:"Failed to kill idle clients";Se.error(N)}};return r.loading&&r.clients.length===0?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:212,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:213,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:211,columnNumber:11},this),c.jsxDEV(mr,{className:"h-6 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:215,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:210,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-3",children:Array.from({length:4}).map((y,x)=>c.jsxDEV(mr,{className:"h-10"},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:219,columnNumber:13},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:217,columnNumber:9},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:222,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:209,columnNumber:7},this):r.error&&r.clients.length===0?c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:231,columnNumber:11},this),c.jsxDEV("p",{children:r.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:232,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:230,columnNumber:9},this),c.jsxDEV(ve,{onClick:u,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:235,columnNumber:11},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:234,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:229,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(wj,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:248,columnNumber:13},this),"Connected Clients"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:247,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Monitor and manage active Redis client connections"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:251,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:246,columnNumber:9},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:"Auto-refresh: 5s"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:255,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:245,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-3",children:[c.jsxDEV(Dr,{placeholder:"Filter by address...",value:r.filters.address,onChange:y=>v("address",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:262,columnNumber:9},this),c.jsxDEV(Dr,{placeholder:"Filter by name...",value:r.filters.name,onChange:y=>v("name",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:268,columnNumber:9},this),c.jsxDEV(Dr,{placeholder:"Filter by command...",value:r.filters.command,onChange:y=>v("command",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:274,columnNumber:9},this),c.jsxDEV(Dr,{placeholder:"Filter by user...",value:r.filters.user,onChange:y=>v("user",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:280,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:261,columnNumber:7},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{onClick:u,variant:"outline",size:"sm",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:292,columnNumber:13},this),"Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:291,columnNumber:11},this),c.jsxDEV(rs,{open:a,onOpenChange:l,children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"outline",size:"sm",children:[c.jsxDEV(dl,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:298,columnNumber:17},this),"Kill Idle Clients"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:297,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:296,columnNumber:13},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Kill Idle Clients"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:304,columnNumber:17},this),c.jsxDEV(Ai,{children:"This will kill all clients that have been idle for more than the specified threshold."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:305,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:303,columnNumber:15},this),c.jsxDEV("div",{className:"py-4",children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Idle threshold (seconds):"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:310,columnNumber:17},this),c.jsxDEV(Dr,{type:"number",value:n,onChange:y=>i(y.target.value),placeholder:"300",className:"mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:311,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:309,columnNumber:15},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:320,columnNumber:17},this),c.jsxDEV(_i,{onClick:g,children:"Kill Idle Clients"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:321,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:319,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:302,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:295,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:290,columnNumber:9},this),c.jsxDEV("div",{className:"text-sm text-muted-foreground",children:[m.length," of ",r.clients.length," clients"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:328,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:289,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Active Connections"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:336,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:335,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-0",children:m.length===0?c.jsxDEV("div",{className:"p-6 text-center text-muted-foreground",children:r.clients.length===0?"No clients connected":"No clients match the current filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:340,columnNumber:13},this):c.jsxDEV(cd,{children:[c.jsxDEV(ud,{children:c.jsxDEV(Ri,{children:[c.jsxDEV(Rt,{className:"w-16",children:"ID"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:347,columnNumber:19},this),c.jsxDEV(Rt,{children:"Address"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:348,columnNumber:19},this),c.jsxDEV(Rt,{children:"User"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:349,columnNumber:19},this),c.jsxDEV(Rt,{children:"Name"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:350,columnNumber:19},this),c.jsxDEV(Rt,{className:"w-16",children:"DB"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:351,columnNumber:19},this),c.jsxDEV(Rt,{children:"Command"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:352,columnNumber:19},this),c.jsxDEV(Rt,{className:"w-20",children:"Idle"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:353,columnNumber:19},this),c.jsxDEV(Rt,{children:"Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:354,columnNumber:19},this),c.jsxDEV(Rt,{className:"w-20",children:"Actions"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:355,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:346,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:345,columnNumber:15},this),c.jsxDEV(dd,{children:m.map(y=>c.jsxDEV(Ri,{children:[c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.id},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:361,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs text-[#22d3ee]",children:y.addr},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:362,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.user},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:365,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.name||c.jsxDEV("span",{className:"text-muted-foreground",children:"-"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:367,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:366,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.db},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:369,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.cmd||c.jsxDEV("span",{className:"text-muted-foreground",children:"-"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:371,columnNumber:38},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:370,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:U3e(y.idle)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:373,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.flags},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:376,columnNumber:21},this),c.jsxDEV(Vt,{children:c.jsxDEV(rs,{children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"ghost",size:"sm",children:c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:381,columnNumber:29},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:380,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:379,columnNumber:25},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Kill Client"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:386,columnNumber:29},this),c.jsxDEV(Ai,{children:["Are you sure you want to kill client ",y.id," (",y.addr,")? This action cannot be undone."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:387,columnNumber:29},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:385,columnNumber:27},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:393,columnNumber:29},this),c.jsxDEV(_i,{onClick:()=>p(y.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Kill Client"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:394,columnNumber:29},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:392,columnNumber:27},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:384,columnNumber:25},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:378,columnNumber:23},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:377,columnNumber:21},this)]},y.id,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:360,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:358,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:344,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:338,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:334,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:243,columnNumber:5},this)}const kx={memory:"Memory",network:"Network",security:"Security",persistence:"Persistence",logging:"Logging",replication:"Replication",lua:"Lua",other:"Other"};function K3e(){var y;const{activeConnectionId:e}=on(),[r,t]=E.useState({parameters:[],loading:!0,error:null,modifiedParams:new Map,activeCategory:"memory"}),[n,i]=E.useState({open:!1,parameter:null,newValue:""}),a=E.useCallback(async()=>{if(e)try{t(N=>({...N,loading:!0,error:null}));const x=await C2.getConfig(Number(e));t(N=>({...N,parameters:x.parameters,loading:!1}))}catch(x){const N=x instanceof Error?x.message:"Failed to fetch configuration";t(w=>({...w,error:N,loading:!1})),Se.error(N)}},[e]);E.useEffect(()=>{a()},[a]),E.useEffect(()=>{t(x=>({...x,parameters:[],loading:!0,error:null,modifiedParams:new Map}))},[e]);const l=(x,N)=>{t(w=>{const k=new Map(w.modifiedParams),D=w.parameters.find(T=>T.name===x);return D&&N!==D.value?k.set(x,N):k.delete(x),{...w,modifiedParams:k}})},u=async x=>{const N=r.modifiedParams.get(x.name);if(!(!N||!e)){if(x.dangerous){i({open:!0,parameter:x,newValue:N});return}await f(x,N)}},f=async(x,N)=>{if(e)try{await C2.setConfig(Number(e),x.name,N),t(w=>{const k=new Map(w.modifiedParams);k.delete(x.name);const D=w.parameters.map(T=>T.name===x.name?{...T,value:N}:T);return{...w,parameters:D,modifiedParams:k}}),Se.success(`Parameter ${x.name} updated successfully`)}catch(w){const k=w instanceof Error?w.message:"Failed to update parameter";Se.error(k)}},m=async()=>{!n.parameter||!n.newValue||(await f(n.parameter,n.newValue),i({open:!1,parameter:null,newValue:""}))},v=x=>r.parameters.filter(N=>N.category===x),p=x=>{const N=r.modifiedParams.get(x.name)??x.value,w=r.modifiedParams.has(x.name);return x.mutable?x.enumValues?c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Tc,{value:N,onValueChange:k=>l(x.name,k),children:[c.jsxDEV(hl,{className:"font-mono text-xs text-[#22d3ee]",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:215,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:214,columnNumber:13},this),c.jsxDEV(vl,{children:x.enumValues.map(k=>c.jsxDEV(Yt,{value:k,className:"font-mono text-xs text-[#22d3ee]",children:k},k,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:219,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:217,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:210,columnNumber:11},this),w&&c.jsxDEV(ve,{size:"sm",onClick:()=>u(x),className:"h-8",children:[c.jsxDEV(zu,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:231,columnNumber:15},this),"Save"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:226,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:209,columnNumber:9},this):c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Dr,{value:N,onChange:k=>l(x.name,k.target.value),className:"font-mono text-xs text-[#22d3ee]"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:241,columnNumber:9},this),w&&c.jsxDEV(ve,{size:"sm",onClick:()=>u(x),className:"h-8",children:[c.jsxDEV(zu,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:252,columnNumber:13},this),"Save"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:247,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:240,columnNumber:7},this):c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Dr,{value:N,readOnly:!0,className:"font-mono text-xs text-[#22d3ee] bg-muted/50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:194,columnNumber:11},this),c.jsxDEV(cr,{variant:"secondary",className:"text-xs",children:[c.jsxDEV(tne,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:200,columnNumber:13},this),"Read-only"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:199,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:193,columnNumber:9},this)};if(r.loading&&r.parameters.length===0)return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:265,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:266,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:264,columnNumber:11},this),c.jsxDEV(mr,{className:"h-8 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:268,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:263,columnNumber:9},this),c.jsxDEV(mr,{className:"h-10 w-full"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:270,columnNumber:9},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:271,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:262,columnNumber:7},this);if(r.error&&r.parameters.length===0)return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:282,columnNumber:15},this),"Configuration Editor"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:281,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"View and edit Redis configuration parameters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:285,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:280,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:279,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:292,columnNumber:13},this),c.jsxDEV("p",{children:r.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:293,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:291,columnNumber:11},this),c.jsxDEV(ve,{onClick:a,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:296,columnNumber:13},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:295,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:290,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:278,columnNumber:7},this);const g=Object.keys(kx);return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:312,columnNumber:13},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Configuration Editor"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:313,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:311,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"View and edit Redis configuration parameters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:315,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:310,columnNumber:9},this),c.jsxDEV(ve,{onClick:a,variant:"outline",size:"sm",disabled:r.loading,children:[c.jsxDEV(uo,{className:`w-4 h-4 mr-2 ${r.loading?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:320,columnNumber:11},this),"Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:319,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:309,columnNumber:7},this),c.jsxDEV(aK,{value:r.activeCategory,onValueChange:x=>t(N=>({...N,activeCategory:x})),children:[c.jsxDEV(TA,{className:"grid w-full grid-cols-8",children:g.map(x=>c.jsxDEV(h0,{value:x,className:"text-xs",children:kx[x]},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:329,columnNumber:13},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:327,columnNumber:9},this),g.map(x=>c.jsxDEV(v0,{value:x,children:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:[kx[x]," Configuration"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:339,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:338,columnNumber:15},this),c.jsxDEV(Nr,{children:v(x).length===0?c.jsxDEV("div",{className:"text-center text-muted-foreground py-8",children:["No ",kx[x].toLowerCase()," parameters found"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:343,columnNumber:19},this):c.jsxDEV("div",{className:"space-y-4",children:v(x).map(N=>c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 items-center p-3 border rounded-lg",children:[c.jsxDEV("div",{className:"space-y-1",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("span",{className:"font-mono text-sm font-medium text-[#22d3ee]",children:N.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:352,columnNumber:29},this),N.dangerous&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs",children:[c.jsxDEV(Zo,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:355,columnNumber:33},this),"Dangerous"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:354,columnNumber:31},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:351,columnNumber:27},this),N.description&&c.jsxDEV("p",{className:"text-xs text-muted-foreground",children:N.description},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:361,columnNumber:29},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:350,columnNumber:25},this),c.jsxDEV("div",{className:"md:col-span-2",children:p(N)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:364,columnNumber:25},this)]},N.name,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:349,columnNumber:23},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:347,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:341,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:337,columnNumber:13},this)},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:336,columnNumber:11},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:326,columnNumber:7},this),c.jsxDEV(rs,{open:n.open,onOpenChange:x=>i(N=>({...N,open:x})),children:c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{className:"flex items-center gap-2",children:[c.jsxDEV(Zo,{className:"w-5 h-5 text-destructive"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:382,columnNumber:15},this),"Dangerous Configuration Change"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:381,columnNumber:13},this),c.jsxDEV(Ai,{children:["You are about to modify ",c.jsxDEV("code",{className:"font-mono bg-muted px-1 py-0.5 rounded text-xs text-[#22d3ee]",children:(y=n.parameter)==null?void 0:y.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:386,columnNumber:39},this),", which is a security-sensitive parameter.",c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:389,columnNumber:15},this),c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:389,columnNumber:21},this),"This change could affect Redis security or connectivity. Make sure you understand the implications before proceeding.",c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:391,columnNumber:15},this),c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:391,columnNumber:21},this),"New value: ",c.jsxDEV("code",{className:"font-mono bg-muted px-1 py-0.5 rounded text-xs text-[#22d3ee]",children:n.newValue},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:392,columnNumber:26},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:385,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:380,columnNumber:11},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:398,columnNumber:13},this),c.jsxDEV(_i,{onClick:m,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Apply Change"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:399,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:397,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:379,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:378,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:307,columnNumber:5},this)}function H3e(e){return e<=0?"Expired":e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:e<86400?`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`:`${Math.floor(e/86400)}d ${Math.floor(e%86400/3600)}h`}function W3e(e){return e<=10?"text-red-400":e<=30?"text-yellow-400":"text-green-400"}function G3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState({distribution:null,expiringKeys:[],loading:!0,error:null,countdownInterval:null}),[i,a]=E.useState({type:null,open:!1,pattern:"",ttlSeconds:"3600"}),l=E.useCallback(async()=>{if(e)try{n(p=>({...p,loading:!0,error:null}));const[m,v]=await Promise.all([Qy.getDistribution(Number(e),r),Qy.getExpiringSoon(Number(e),r)]);n(p=>({...p,distribution:m,expiringKeys:v.keys,loading:!1}))}catch(m){const v=m instanceof Error?m.message:"Failed to fetch TTL data";n(p=>({...p,error:v,loading:!1})),!t.distribution&&t.expiringKeys.length===0&&Se.error(v)}},[e,r,t.distribution,t.expiringKeys.length]);E.useEffect(()=>{l()},[l]),E.useEffect(()=>{n(m=>({...m,distribution:null,expiringKeys:[],loading:!0,error:null}))},[e,r]),E.useEffect(()=>{const m=setInterval(()=>{n(v=>({...v,expiringKeys:v.expiringKeys.map(p=>({...p,ttl:Math.max(0,p.ttl-1)})).filter(p=>p.ttl>0)}))},1e3);return n(v=>({...v,countdownInterval:m})),()=>{clearInterval(m),n(v=>({...v,countdownInterval:null}))}},[]);const u=E.useMemo(()=>t.distribution?[{name:"No TTL",count:t.distribution.noTTL,color:"#6b7280"},{name:"<1 min",count:t.distribution.lessThan1Min,color:"#ef4444"},{name:"1-60 min",count:t.distribution.oneToSixtyMin,color:"#f59e0b"},{name:"1-24 hrs",count:t.distribution.oneToTwentyFourHours,color:"#22d3ee"},{name:">24 hrs",count:t.distribution.moreThanTwentyFourHours,color:"#22c55e"}]:[],[t.distribution]),f=async()=>{if(!e||!i.type)return;const m=i.pattern.trim();if(!m){Se.error("Please enter a key pattern");return}try{let v;if(i.type==="apply"){const p=parseInt(i.ttlSeconds,10);if(isNaN(p)||p<=0){Se.error("Please enter a valid TTL in seconds");return}v=await Qy.bulkApply(Number(e),m,p,r),Se.success(`Applied TTL to ${v.affected} keys`)}else v=await Qy.bulkRemove(Number(e),m,r),Se.success(`Removed TTL from ${v.affected} keys`);a({type:null,open:!1,pattern:"",ttlSeconds:"3600"}),l()}catch(v){const p=v instanceof Error?v.message:"Failed to perform bulk operation";Se.error(p)}};return t.loading&&!t.distribution&&t.expiringKeys.length===0?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:242,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:241,columnNumber:11},this),c.jsxDEV(mr,{className:"h-8 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:245,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:240,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:248,columnNumber:11},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:249,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:247,columnNumber:9},this),c.jsxDEV(mr,{className:"h-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:251,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:239,columnNumber:7},this):t.error&&!t.distribution&&t.expiringKeys.length===0?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(dl,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:262,columnNumber:15},this),"TTL Manager"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:261,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Manage key expiration times and visualize TTL distribution"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:265,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:260,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:259,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:272,columnNumber:13},this),c.jsxDEV("p",{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:273,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:271,columnNumber:11},this),c.jsxDEV(ve,{onClick:l,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:276,columnNumber:13},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:275,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:270,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:258,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(dl,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:290,columnNumber:13},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"TTL Manager"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:291,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:289,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Manage key expiration times and visualize TTL distribution"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:293,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:288,columnNumber:9},this),c.jsxDEV(ve,{onClick:l,variant:"outline",size:"sm",disabled:t.loading,children:[c.jsxDEV(uo,{className:`w-4 h-4 mr-2 ${t.loading?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:298,columnNumber:11},this),"Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:297,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:287,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"TTL Distribution"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:308,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:307,columnNumber:11},this),c.jsxDEV(Nr,{children:u.length===0?c.jsxDEV("div",{className:"h-48 flex items-center justify-center text-muted-foreground",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:312,columnNumber:15},this):c.jsxDEV("div",{className:"h-48",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(s0,{data:u,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:319,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"name",tick:{fontSize:11,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:320,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:11,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:325,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"11px",color:"#ffffff"},formatter:m=>[m,"Keys"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:329,columnNumber:21},this),c.jsxDEV(ga,{dataKey:"count",radius:[2,2,0,0],children:u.map((m,v)=>c.jsxDEV(Wm,{fill:m.color},`cell-${v}`,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:344,columnNumber:25},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:339,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:318,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:317,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:316,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:310,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:306,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Expiring Soon (<60s)"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:358,columnNumber:15},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[t.expiringKeys.length," keys"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:359,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:357,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:356,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-0",children:t.expiringKeys.length===0?c.jsxDEV("div",{className:"p-6 text-center text-muted-foreground",children:"No keys expiring soon"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:366,columnNumber:15},this):c.jsxDEV("div",{className:"max-h-48 overflow-y-auto",children:c.jsxDEV(cd,{children:[c.jsxDEV(ud,{children:c.jsxDEV(Ri,{children:[c.jsxDEV(Rt,{className:"text-xs",children:"Key"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:374,columnNumber:23},this),c.jsxDEV(Rt,{className:"text-xs w-16",children:"Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:375,columnNumber:23},this),c.jsxDEV(Rt,{className:"text-xs w-20",children:"TTL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:376,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:373,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:372,columnNumber:19},this),c.jsxDEV(dd,{children:t.expiringKeys.map((m,v)=>c.jsxDEV(Ri,{children:[c.jsxDEV(Vt,{className:"font-mono text-xs text-[#22d3ee] truncate max-w-32",children:m.key},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:382,columnNumber:25},this),c.jsxDEV(Vt,{className:"text-xs",children:c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:m.type},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:386,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:385,columnNumber:25},this),c.jsxDEV(Vt,{className:`font-mono text-xs ${W3e(m.ttl)}`,children:H3e(m.ttl)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:390,columnNumber:25},this)]},`${m.key}-${v}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:381,columnNumber:23},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:379,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:371,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:370,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:364,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:355,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:304,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Bulk TTL Operations"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:406,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:405,columnNumber:9},this),c.jsxDEV(Nr,{children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(rs,{open:i.open&&i.type==="apply",onOpenChange:m=>a(v=>({...v,open:m,type:m?"apply":null})),children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"outline",size:"sm",children:[c.jsxDEV(va,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:416,columnNumber:19},this),"Apply TTL to Pattern"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:415,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:414,columnNumber:15},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Apply TTL to Pattern"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:422,columnNumber:19},this),c.jsxDEV(Ai,{children:"Apply a TTL (expiration time) to all keys matching the specified pattern."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:423,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:421,columnNumber:17},this),c.jsxDEV("div",{className:"space-y-4 py-4",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Key Pattern:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:429,columnNumber:21},this),c.jsxDEV(Dr,{value:i.pattern,onChange:m=>a(v=>({...v,pattern:m.target.value})),placeholder:"e.g., session:*, user:*, *",className:"mt-1 font-mono text-xs"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:430,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:428,columnNumber:19},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"TTL (seconds):"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:438,columnNumber:21},this),c.jsxDEV(Dr,{type:"number",value:i.ttlSeconds,onChange:m=>a(v=>({...v,ttlSeconds:m.target.value})),placeholder:"3600",className:"mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:439,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:437,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:427,columnNumber:17},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:449,columnNumber:19},this),c.jsxDEV(_i,{onClick:f,children:"Apply TTL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:450,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:448,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:420,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:410,columnNumber:13},this),c.jsxDEV(rs,{open:i.open&&i.type==="remove",onOpenChange:m=>a(v=>({...v,open:m,type:m?"remove":null})),children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"outline",size:"sm",children:[c.jsxDEV(one,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:463,columnNumber:19},this),"Remove TTL from Pattern"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:462,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:461,columnNumber:15},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Remove TTL from Pattern"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:469,columnNumber:19},this),c.jsxDEV(Ai,{children:"Remove TTL (make keys persistent) for all keys matching the specified pattern."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:470,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:468,columnNumber:17},this),c.jsxDEV("div",{className:"py-4",children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Key Pattern:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:475,columnNumber:19},this),c.jsxDEV(Dr,{value:i.pattern,onChange:m=>a(v=>({...v,pattern:m.target.value})),placeholder:"e.g., session:*, user:*, *",className:"mt-1 font-mono text-xs"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:476,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:474,columnNumber:17},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:484,columnNumber:19},this),c.jsxDEV(_i,{onClick:f,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove TTL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:485,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:483,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:467,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:457,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:409,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:408,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:404,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:285,columnNumber:5},this)}const q3e=1e3,Y3e=4*60*1e3;function X3e(e){const r=new Date(e),t=r.getHours().toString().padStart(2,"0"),n=r.getMinutes().toString().padStart(2,"0"),i=r.getSeconds().toString().padStart(2,"0"),a=r.getMilliseconds().toString().padStart(3,"0");return`${t}:${n}:${i}.${a}`}function J3e(e){const r=["GET","HGET","HGETALL","LRANGE","SMEMBERS","ZRANGE","MGET","KEYS","SCAN","EXISTS","TYPE","TTL"],t=["SUBSCRIBE","PSUBSCRIBE","MONITOR","CONFIG","SHUTDOWN","FLUSHDB","FLUSHALL","CLIENT","INFO"];return r.includes(e)?"read":t.includes(e)?"admin":"write"}function Z3e(e){switch(e){case"read":return"text-blue-400";case"write":return"text-yellow-400";case"admin":return"text-red-400"}}function Q3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState({active:!1,paused:!1,events:[],stats:{topCommands:[],topClients:[],opsPerSecond:[],totalCommands:0},startTime:null,timeoutWarning:!1,loading:!1,error:null,socketConnected:!1}),i=E.useRef(null),a=E.useRef([]),l=E.useRef(0),u=E.useRef(null),f=E.useRef(null),m=E.useRef(null);E.useEffect(()=>{try{const N=Sm();i.current=N,n(w=>({...w,socketConnected:Dw()})),N.on("connect",()=>{n(w=>({...w,socketConnected:!0,error:null}))}),N.on("disconnect",()=>{n(w=>({...w,socketConnected:!1,active:!1,loading:!1}))}),N.on("connect_error",w=>{n(k=>({...k,error:`Connection error: ${w.message}`,socketConnected:!1,active:!1,loading:!1}))})}catch(N){n(w=>({...w,error:N instanceof Error?N.message:"Failed to connect to socket",socketConnected:!1}))}},[]),E.useEffect(()=>()=>{a.current.length>0&&(a.current.forEach(N=>N()),a.current=[]),u.current&&(clearInterval(u.current),u.current=null),f.current&&(clearTimeout(f.current),f.current=null)},[]);const v=E.useCallback(N=>{const w=new Map,k=new Map;N.forEach(_=>{const C=w.get(_.command)||0;w.set(_.command,C+1);const O=k.get(_.client)||0;k.set(_.client,O+1)});const D=Array.from(w.entries()).sort(([,_],[,C])=>C-_).slice(0,10).map(([_,C])=>({command:_,count:C})),T=Array.from(k.entries()).sort(([,_],[,C])=>C-_).slice(0,10).map(([_,C])=>({client:_,count:C}));return{topCommands:D,topClients:T,opsPerSecond:t.stats.opsPerSecond,totalCommands:N.length}},[t.stats.opsPerSecond]);E.useEffect(()=>{var N;if(!t.active||!i.current||!t.socketConnected){if(a.current.length>0){try{(N=i.current)==null||N.emit("stop-profiler")}catch(w){console.error("Error stopping profiler:",w)}a.current.forEach(w=>w()),a.current=[]}u.current&&(clearInterval(u.current),u.current=null),f.current&&(clearTimeout(f.current),f.current=null);return}try{n(_=>({..._,error:null,loading:!0})),i.current.emit("start-profiler",{connectionId:Number(e),db:r});const w=_=>{console.log("[Profiler] Started:",_),n(C=>({...C,loading:!1,startTime:new Date,timeoutWarning:!1})),f.current=setTimeout(()=>{n(C=>({...C,timeoutWarning:!0}))},Y3e)},k=_=>{if(t.paused)return;const C=_.event;if(l.current++,n(O=>{const A=[...O.events,C].slice(-q3e),R=v(A);return{...O,events:A,stats:R}}),m.current){const O=m.current.querySelector("[data-radix-scroll-area-viewport]");O&&(O.scrollTop=O.scrollHeight)}},D=_=>{console.log("[Profiler] Stopped:",_),n(C=>({...C,active:!1,loading:!1,timeoutWarning:!1}))},T=_=>{console.error("[Profiler] Error:",_.message),n(C=>({...C,error:_.message,active:!1,loading:!1,timeoutWarning:!1}))};i.current.on("profiler-started",w),i.current.on("profiler-command",k),i.current.on("profiler-stopped",D),i.current.on("profiler-error",T),a.current=[()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-started",w)},()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-command",k)},()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-stopped",D)},()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-error",T)}],u.current=setInterval(()=>{const _=new Date,C=`${_.getHours().toString().padStart(2,"0")}:${_.getMinutes().toString().padStart(2,"0")}:${_.getSeconds().toString().padStart(2,"0")}`;n(O=>({...O,stats:{...O.stats,opsPerSecond:[...O.stats.opsPerSecond.slice(-29),{time:C,ops:l.current}]}})),l.current=0},1e3)}catch(w){n(k=>({...k,error:w instanceof Error?w.message:"Failed to start profiler",active:!1,loading:!1}))}return()=>{var w;if(a.current.length>0){try{(w=i.current)==null||w.emit("stop-profiler")}catch(k){console.error("Error stopping profiler:",k)}a.current.forEach(k=>k()),a.current=[]}u.current&&(clearInterval(u.current),u.current=null),f.current&&(clearTimeout(f.current),f.current=null)}},[t.active,t.paused,e,r,t.socketConnected,v]);const p=()=>{if(!e){n(N=>({...N,error:"No active connection selected"}));return}if(!t.socketConnected){n(N=>({...N,error:"Socket not connected"}));return}n(N=>({...N,active:!N.active}))},g=()=>{n(N=>({...N,paused:!N.paused}))},y=()=>{n(N=>({...N,events:[],stats:{topCommands:[],topClients:[],opsPerSecond:N.stats.opsPerSecond,totalCommands:0}}))},x=E.useMemo(()=>t.events.slice().reverse(),[t.events]);return t.loading&&!t.socketConnected&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:414,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:415,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:413,columnNumber:11},this),c.jsxDEV(mr,{className:"h-7 w-32"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:417,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:412,columnNumber:9},this),c.jsxDEV(mr,{className:"h-16"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:419,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-3",children:[c.jsxDEV(mr,{className:"h-40"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:421,columnNumber:11},this),c.jsxDEV(mr,{className:"h-40"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:422,columnNumber:11},this),c.jsxDEV(mr,{className:"h-40"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:423,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:420,columnNumber:9},this),c.jsxDEV(mr,{className:"flex-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:425,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:411,columnNumber:7},this):t.error&&!t.socketConnected&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:437,columnNumber:15},this),"Command Profiler"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:436,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Real-time command analysis using Redis MONITOR"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:440,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:435,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:434,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:447,columnNumber:13},this),c.jsxDEV("p",{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:448,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:446,columnNumber:11},this),c.jsxDEV(ve,{onClick:()=>window.location.reload(),className:"mt-4",variant:"outline",children:[c.jsxDEV(RefreshCw,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:455,columnNumber:13},this),"Retry Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:450,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:445,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:433,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[t.error&&c.jsxDEV(yc,{variant:"destructive",children:[c.jsxDEV(Zo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:468,columnNumber:11},this),c.jsxDEV(xc,{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:469,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:467,columnNumber:9},this),c.jsxDEV(yc,{className:"border-yellow-500/50 bg-yellow-500/10",children:[c.jsxDEV(kc,{className:"h-4 w-4 text-yellow-500"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:475,columnNumber:9},this),c.jsxDEV(xc,{className:"text-yellow-200",children:[c.jsxDEV("strong",{children:"Performance Impact:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:477,columnNumber:11},this)," Command profiling uses Redis MONITOR which can impact performance on high-traffic instances."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:474,columnNumber:7},this),t.timeoutWarning&&c.jsxDEV(yc,{className:"border-orange-500/50 bg-orange-500/10",children:[c.jsxDEV(kc,{className:"h-4 w-4 text-orange-500"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:484,columnNumber:11},this),c.jsxDEV(xc,{className:"text-orange-200",children:[c.jsxDEV("strong",{children:"Timeout Warning:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:486,columnNumber:13},this)," Profiling will automatically stop in 1 minute (5-minute limit)."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:485,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:483,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:494,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Command Profiler"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:495,columnNumber:11},this),t.active&&c.jsxDEV(cr,{variant:t.loading?"secondary":"default",className:"text-xs",children:t.loading?"Starting...":"Active"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:497,columnNumber:13},this),!t.socketConnected&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs",children:"Disconnected"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:502,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:493,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:c.jsxDEV(ve,{variant:t.active?"destructive":"default",size:"sm",className:"h-7 text-xs gap-1",onClick:p,disabled:!t.socketConnected||!e||t.loading,children:t.active?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(y4,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:517,columnNumber:17},this),"Stop Profiling"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:516,columnNumber:15},this):c.jsxDEV(c.Fragment,{children:[c.jsxDEV(xj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:522,columnNumber:17},this),"Start Profiling"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:521,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:508,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:507,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:492,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-3",children:[c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Top Commands"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:535,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:534,columnNumber:11},this),c.jsxDEV(Nr,{children:t.stats.topCommands.length===0?c.jsxDEV("div",{className:"h-32 flex items-center justify-center text-muted-foreground text-xs",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:539,columnNumber:15},this):c.jsxDEV("div",{className:"h-32",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(s0,{data:t.stats.topCommands,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:546,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"command",tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:547,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:552,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"10px",color:"#ffffff"},formatter:N=>[N,"Count"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:556,columnNumber:21},this),c.jsxDEV(ga,{dataKey:"count",fill:"#22d3ee",radius:[2,2,0,0]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:566,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:545,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:544,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:543,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:537,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:533,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Top Clients"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:581,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:580,columnNumber:11},this),c.jsxDEV(Nr,{children:t.stats.topClients.length===0?c.jsxDEV("div",{className:"h-32 flex items-center justify-center text-muted-foreground text-xs",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:585,columnNumber:15},this):c.jsxDEV("div",{className:"h-32",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(s0,{data:t.stats.topClients,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:592,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"client",tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:593,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:598,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"10px",color:"#ffffff"},formatter:N=>[N,"Commands"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:602,columnNumber:21},this),c.jsxDEV(ga,{dataKey:"count",fill:"#f59e0b",radius:[2,2,0,0]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:612,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:591,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:590,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:589,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:583,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:579,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Commands Per Second"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:627,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:626,columnNumber:11},this),c.jsxDEV(Nr,{children:t.stats.opsPerSecond.length===0?c.jsxDEV("div",{className:"h-32 flex items-center justify-center text-muted-foreground text-xs",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:631,columnNumber:15},this):c.jsxDEV("div",{className:"h-32",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(QVe,{data:t.stats.opsPerSecond,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:638,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"time",tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:639,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:644,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"10px",color:"#ffffff"},formatter:N=>[N,"Ops/sec"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:648,columnNumber:21},this),c.jsxDEV(Ob,{type:"monotone",dataKey:"ops",stroke:"#22c55e",strokeWidth:2,dot:!1},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:658,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:637,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:636,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:635,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:629,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:625,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:531,columnNumber:7},this),c.jsxDEV(Qe,{className:"flex-1 flex flex-col",children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Live Command Stream"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:678,columnNumber:15},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[t.stats.totalCommands," commands"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:679,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:677,columnNumber:13},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:g,disabled:!t.active,children:[c.jsxDEV(yj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:691,columnNumber:17},this),t.paused?"Resume":"Pause"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:684,columnNumber:15},this),c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:y,children:[c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:700,columnNumber:17},this),"Clear"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:694,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:683,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:676,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:675,columnNumber:9},this),c.jsxDEV(Nr,{className:"flex-1 p-0",children:[c.jsxDEV("div",{className:"grid grid-cols-[100px_160px_40px_80px_1fr] gap-2 px-4 py-2 text-[10px] font-medium uppercase tracking-wider text-[hsl(220,10%,40%)] border-b border-[hsl(220,20%,18%)]",children:[c.jsxDEV("span",{children:"Timestamp"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:708,columnNumber:13},this),c.jsxDEV("span",{children:"Client"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:709,columnNumber:13},this),c.jsxDEV("span",{children:"DB"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:710,columnNumber:13},this),c.jsxDEV("span",{children:"Command"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:711,columnNumber:13},this),c.jsxDEV("span",{children:"Arguments"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:712,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:707,columnNumber:11},this),c.jsxDEV(Oc,{className:"flex-1",ref:m,children:c.jsxDEV("div",{className:"px-4 py-1",children:[x.length===0&&c.jsxDEV("div",{className:"text-center text-muted-foreground text-sm py-8",children:t.active?"Waiting for commands...":'Click "Start Profiling" to begin monitoring'},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:717,columnNumber:17},this),x.map((N,w)=>{const k=J3e(N.command),D=Z3e(k);return c.jsxDEV("div",{className:"grid grid-cols-[100px_160px_40px_80px_1fr] gap-2 py-0.5 text-xs font-mono text-[#22d3ee] border-b border-[hsl(220,20%,14%)]",children:[c.jsxDEV("span",{className:"text-[hsl(220,10%,40%)]",children:X3e(N.timestamp)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:727,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(220,10%,60%)] truncate",children:N.client},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:730,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(220,10%,50%)]",children:N.db},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:733,columnNumber:21},this),c.jsxDEV("span",{className:Te("font-medium",D),children:N.command},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:736,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(0,0%,75%)] truncate",children:N.args.join(" ")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:739,columnNumber:21},this)]},`${N.timestamp}-${w}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:726,columnNumber:19},this)})]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:715,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:714,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:706,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:674,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:464,columnNumber:5},this)}const eLe=1e3,ej=[{type:"set",label:"SET",color:"bg-green-500/20 text-green-400 border-green-500/30"},{type:"del",label:"DEL",color:"bg-red-500/20 text-red-400 border-red-500/30"},{type:"expire",label:"EXPIRE",color:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30"},{type:"expired",label:"EXPIRED",color:"bg-orange-500/20 text-orange-400 border-orange-500/30"},{type:"hset",label:"HSET",color:"bg-blue-500/20 text-blue-400 border-blue-500/30"},{type:"lpush",label:"LPUSH",color:"bg-purple-500/20 text-purple-400 border-purple-500/30"},{type:"rpush",label:"RPUSH",color:"bg-purple-500/20 text-purple-400 border-purple-500/30"},{type:"sadd",label:"SADD",color:"bg-cyan-500/20 text-cyan-400 border-cyan-500/30"},{type:"zadd",label:"ZADD",color:"bg-indigo-500/20 text-indigo-400 border-indigo-500/30"},{type:"rename_from",label:"RENAME",color:"bg-pink-500/20 text-pink-400 border-pink-500/30"},{type:"rename_to",label:"RENAME",color:"bg-pink-500/20 text-pink-400 border-pink-500/30"}],oI=[{key:"none",label:"None",value:"",description:"Disable keyspace notifications"},{key:"expired",label:"Expired Only",value:"Ex",description:"Only expired key events"},{key:"all",label:"All Events",value:"AKE",description:"All keyspace and keyevent notifications"}];function rLe(e){const r=new Date(e),t=r.getHours().toString().padStart(2,"0"),n=r.getMinutes().toString().padStart(2,"0"),i=r.getSeconds().toString().padStart(2,"0"),a=r.getMilliseconds().toString().padStart(3,"0");return`${t}:${n}:${i}.${a}`}function tLe(e){return ej.find(t=>t.type===e)||{type:e,label:e.toUpperCase(),color:"bg-gray-500/20 text-gray-400 border-gray-500/30"}}function nLe(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState({active:!1,paused:!1,events:[],config:"",filters:new Set(ej.map(x=>x.type)),loading:!1,error:null,socketConnected:!1,configLoading:!1}),i=E.useRef(null),a=E.useRef([]),l=E.useRef(null);E.useEffect(()=>{try{const x=Sm();i.current=x,n(N=>({...N,socketConnected:Dw()})),x.on("connect",()=>{n(N=>({...N,socketConnected:!0,error:null}))}),x.on("disconnect",()=>{n(N=>({...N,socketConnected:!1,active:!1,loading:!1}))}),x.on("connect_error",N=>{n(w=>({...w,error:`Connection error: ${N.message}`,socketConnected:!1,active:!1,loading:!1}))})}catch(x){n(N=>({...N,error:x instanceof Error?x.message:"Failed to connect to socket",socketConnected:!1}))}},[]),E.useEffect(()=>{e&&u()},[e]),E.useEffect(()=>()=>{a.current.length>0&&(a.current.forEach(x=>x()),a.current=[])},[]);const u=async()=>{if(e){n(x=>({...x,configLoading:!0}));try{const x=await T2.getConfig(Number(e));n(N=>({...N,config:x.config||"",configLoading:!1}))}catch(x){n(N=>({...N,error:x instanceof Error?x.message:"Failed to load keyspace config",configLoading:!1}))}}},f=async x=>{if(!e)return;const N=oI.find(w=>w.key===x);if(N){n(w=>({...w,configLoading:!0}));try{await T2.setConfig(Number(e),N.key),n(w=>({...w,config:N.value,configLoading:!1}))}catch(w){n(k=>({...k,error:w instanceof Error?w.message:"Failed to set keyspace config",configLoading:!1}))}}};E.useEffect(()=>{var x;if(!t.active||!i.current||!t.socketConnected){if(a.current.length>0){try{(x=i.current)==null||x.emit("stop-keyspace-events")}catch(N){console.error("Error stopping keyspace events:",N)}a.current.forEach(N=>N()),a.current=[]}return}try{n(T=>({...T,error:null,loading:!0})),i.current.emit("start-keyspace-events",{connectionId:Number(e)});const N=T=>{console.log("[Keyspace] Started:",T),n(_=>({..._,loading:!1}))},w=T=>{if(t.paused)return;const _=T.event;if(n(C=>{const O=[...C.events,_].slice(-eLe);return{...C,events:O}}),l.current){const C=l.current.querySelector("[data-radix-scroll-area-viewport]");C&&(C.scrollTop=C.scrollHeight)}},k=T=>{console.log("[Keyspace] Stopped:",T),n(_=>({..._,active:!1,loading:!1}))},D=T=>{console.error("[Keyspace] Error:",T.error),n(_=>({..._,error:T.error,active:!1,loading:!1}))};i.current.on("keyspace-started",N),i.current.on("keyspace-event",w),i.current.on("keyspace-stopped",k),i.current.on("keyspace-error",D),a.current=[()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-started",N)},()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-event",w)},()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-stopped",k)},()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-error",D)}]}catch(N){n(w=>({...w,error:N instanceof Error?N.message:"Failed to start keyspace events",active:!1,loading:!1}))}return()=>{var N;if(a.current.length>0){try{(N=i.current)==null||N.emit("stop-keyspace-events")}catch(w){console.error("Error stopping keyspace events:",w)}a.current.forEach(w=>w()),a.current=[]}}},[t.active,t.paused,e,t.socketConnected]);const m=()=>{if(!e){n(x=>({...x,error:"No active connection selected"}));return}if(!t.socketConnected){n(x=>({...x,error:"Socket not connected"}));return}n(x=>({...x,active:!x.active}))},v=()=>{n(x=>({...x,paused:!x.paused}))},p=()=>{n(x=>({...x,events:[]}))},g=x=>{n(N=>{const w=new Set(N.filters);return w.has(x)?w.delete(x):w.add(x),{...N,filters:w}})},y=E.useMemo(()=>t.events.filter(x=>t.filters.has(x.type)).slice().reverse(),[t.events,t.filters]);return t.configLoading&&!t.config&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:360,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:361,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:359,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:358,columnNumber:9},this),c.jsxDEV(mr,{className:"h-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:364,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(mr,{className:"h-7 w-32"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:366,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(mr,{className:"h-7 w-20"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:368,columnNumber:13},this),c.jsxDEV(mr,{className:"h-7 w-16"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:369,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:367,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:365,columnNumber:9},this),c.jsxDEV(mr,{className:"h-20"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:372,columnNumber:9},this),c.jsxDEV(mr,{className:"flex-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:373,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:357,columnNumber:7},this):t.error&&!t.socketConnected&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(u2,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:385,columnNumber:15},this),"Keyspace Events"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:384,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Monitor Redis keyspace notifications in real-time"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:388,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:383,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:382,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:395,columnNumber:13},this),c.jsxDEV("p",{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:396,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:394,columnNumber:11},this),c.jsxDEV(ve,{onClick:()=>window.location.reload(),className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:403,columnNumber:13},this),"Retry Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:398,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:393,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:381,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[t.error&&c.jsxDEV(yc,{variant:"destructive",children:[c.jsxDEV(Zo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:416,columnNumber:11},this),c.jsxDEV(xc,{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:417,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:415,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(u2,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:424,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Keyspace Events"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:425,columnNumber:11},this),t.active&&c.jsxDEV(cr,{variant:t.loading?"secondary":"default",className:"text-xs",children:t.loading?"Starting...":"Active"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:427,columnNumber:13},this),!t.socketConnected&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs",children:"Disconnected"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:432,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:423,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:422,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:441,columnNumber:13},this),c.jsxDEV(Vr,{className:"text-sm",children:"Configuration"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:442,columnNumber:13},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs font-mono",children:["notify-keyspace-events: ",t.config||"(empty)"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:443,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:440,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:439,columnNumber:9},this),c.jsxDEV(Nr,{children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("span",{className:"text-sm text-muted-foreground",children:"Presets:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:450,columnNumber:13},this),oI.map(x=>c.jsxDEV(ve,{variant:t.config===x.value?"default":"outline",size:"sm",className:"h-7 text-xs",onClick:()=>f(x.key),disabled:t.configLoading,title:x.description,children:x.label},x.key,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:452,columnNumber:15},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:449,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:448,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:438,columnNumber:7},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:c.jsxDEV(ve,{variant:t.active?"destructive":"default",size:"sm",className:"h-7 text-xs gap-1",onClick:m,disabled:!t.socketConnected||!e||t.loading,children:t.active?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(y4,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:480,columnNumber:17},this),"Stop Monitoring"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:479,columnNumber:15},this):c.jsxDEV(c.Fragment,{children:[c.jsxDEV(xj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:485,columnNumber:17},this),"Start Monitoring"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:484,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:471,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:470,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:v,disabled:!t.active,children:[c.jsxDEV(yj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:500,columnNumber:13},this),t.paused?"Resume":"Pause"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:493,columnNumber:11},this),c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:p,children:[c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:509,columnNumber:13},this),"Clear"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:503,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:492,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:469,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Event Type Filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:518,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:517,columnNumber:9},this),c.jsxDEV(Nr,{children:c.jsxDEV("div",{className:"flex flex-wrap gap-2",children:ej.map(x=>c.jsxDEV(ve,{variant:t.filters.has(x.type)?"default":"outline",size:"sm",className:"h-7 text-xs",onClick:()=>g(x.type),children:x.label},x.type,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:523,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:521,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:520,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:516,columnNumber:7},this),c.jsxDEV(Qe,{className:"flex-1 flex flex-col",children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Event Stream"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:542,columnNumber:15},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[y.length," events"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:543,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:541,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:540,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:539,columnNumber:9},this),c.jsxDEV(Nr,{className:"flex-1 p-0",children:[c.jsxDEV("div",{className:"grid grid-cols-[100px_80px_60px_1fr_40px] gap-2 px-4 py-2 text-[10px] font-medium uppercase tracking-wider text-[hsl(220,10%,40%)] border-b border-[hsl(220,20%,18%)]",children:[c.jsxDEV("span",{children:"Timestamp"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:551,columnNumber:13},this),c.jsxDEV("span",{children:"Event Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:552,columnNumber:13},this),c.jsxDEV("span",{children:"Database"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:553,columnNumber:13},this),c.jsxDEV("span",{children:"Key Name"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:554,columnNumber:13},this),c.jsxDEV("span",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:555,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:550,columnNumber:11},this),c.jsxDEV(Oc,{className:"flex-1",ref:l,children:c.jsxDEV("div",{className:"px-4 py-1",children:[y.length===0&&c.jsxDEV("div",{className:"text-center text-muted-foreground text-sm py-8",children:t.active?"Waiting for keyspace events...":'Click "Start Monitoring" to begin monitoring keyspace events'},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:560,columnNumber:17},this),y.map((x,N)=>{const w=tLe(x.type);return c.jsxDEV("div",{className:"grid grid-cols-[100px_80px_60px_1fr_40px] gap-2 py-1 text-xs border-b border-[hsl(220,20%,14%)] items-center",children:[c.jsxDEV("span",{className:"text-[hsl(220,10%,40%)] font-mono text-[10px]",children:rLe(x.timestamp)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:569,columnNumber:21},this),c.jsxDEV(cr,{variant:"outline",className:Te("text-[10px] h-5 px-1",w.color),children:w.label},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:572,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(220,10%,50%)] text-center",children:x.db},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:578,columnNumber:21},this),c.jsxDEV("span",{className:"text-[#22d3ee] font-mono truncate",children:x.key},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:581,columnNumber:21},this),c.jsxDEV("span",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:584,columnNumber:21},this)]},`${x.timestamp}-${N}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:568,columnNumber:19},this)})]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:558,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:557,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:549,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:538,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:412,columnNumber:5},this)}function oLe(e,r){const[t,n]=E.useState(e);return E.useEffect(()=>{const i=setTimeout(()=>{n(e)},r);return()=>{clearTimeout(i)}},[e,r]),t}const iLe=["string","list","hash","set","zset","stream"],sLe=Array.from({length:16},(e,r)=>r);function aLe(e){return{string:"bg-blue-500/20 text-blue-400 border-blue-500/30",list:"bg-green-500/20 text-green-400 border-green-500/30",hash:"bg-purple-500/20 text-purple-400 border-purple-500/30",set:"bg-orange-500/20 text-orange-400 border-orange-500/30",zset:"bg-pink-500/20 text-pink-400 border-pink-500/30",stream:"bg-cyan-500/20 text-cyan-400 border-cyan-500/30"}[e]||"bg-gray-500/20 text-gray-400 border-gray-500/30"}function lLe(e){return e==="name"?"bg-yellow-500/20 text-yellow-400 border-yellow-500/30":"bg-red-500/20 text-red-400 border-red-500/30"}function cLe(){var x;const{activeConnectionId:e,activeDb:r}=on(),t=hb(),[n,i]=E.useState({query:"",mode:"names",typeFilters:new Set,dbFilter:null,results:[],loading:!1,error:null,hasMore:!1,cursor:null}),a=oLe(n.query,500),l=E.useCallback(async(N=!1)=>{if(!e||!a.trim()){i(w=>({...w,results:[],hasMore:!1,cursor:null}));return}try{i(T=>({...T,loading:!0,error:null}));const w=Array.from(n.typeFilters),k=N?n.cursor:void 0,D=await Lie.searchKeys(Number(e),a.trim(),n.mode,w.length>0?w:void 0,n.dbFilter??void 0,k,100);i(T=>({...T,results:N?[...T.results,...D.results]:D.results,hasMore:D.hasMore,cursor:D.cursor,loading:!1}))}catch(w){const k=w instanceof Error?w.message:"Failed to search";i(D=>({...D,error:k,loading:!1})),Se.error(k)}},[e,a,n.mode,n.typeFilters,n.dbFilter,n.cursor]);E.useEffect(()=>{a.trim()?l():i(N=>({...N,results:[],hasMore:!1,cursor:null}))},[a,n.mode,n.typeFilters,n.dbFilter]),E.useEffect(()=>{i(N=>({...N,results:[],hasMore:!1,cursor:null,error:null}))},[e,r]);const u=N=>{i(w=>({...w,query:N,cursor:null}))},f=N=>{i(w=>({...w,mode:N,cursor:null}))},m=(N,w)=>{i(k=>{const D=new Set(k.typeFilters);return w?D.add(N):D.delete(N),{...k,typeFilters:D,cursor:null}})},v=N=>{const w=N==="all"?null:parseInt(N,10);i(k=>({...k,dbFilter:w,cursor:null}))},p=N=>{t(`/keys?key=${encodeURIComponent(N.key)}&db=${N.db}`)},g=()=>{l(!0)},y=n.mode==="values"||n.mode==="both";return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(Of,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:190,columnNumber:13},this),"Global Search"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:189,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Search across key names and values in your Redis instance"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:193,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:188,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:187,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Search Parameters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:202,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:201,columnNumber:9},this),c.jsxDEV(Nr,{className:"space-y-4",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Search Query"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:207,columnNumber:13},this),c.jsxDEV(Dr,{value:n.query,onChange:N=>u(N.target.value),placeholder:"Enter search term...",className:"mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:208,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:206,columnNumber:11},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Search Mode"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:218,columnNumber:13},this),c.jsxDEV(Tc,{value:n.mode,onValueChange:f,children:[c.jsxDEV(hl,{className:"mt-1",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:221,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:220,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"names",children:"Key Names Only"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:224,columnNumber:17},this),c.jsxDEV(Yt,{value:"values",children:"Key Values Only"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:225,columnNumber:17},this),c.jsxDEV(Yt,{value:"both",children:"Both Names and Values"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:226,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:223,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:219,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:217,columnNumber:11},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Type Filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:233,columnNumber:13},this),c.jsxDEV("div",{className:"mt-2 grid grid-cols-3 gap-2",children:iLe.map(N=>c.jsxDEV("div",{className:"flex items-center space-x-2",children:[c.jsxDEV(yA,{id:`type-${N}`,checked:n.typeFilters.has(N),onCheckedChange:w=>m(N,w)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:237,columnNumber:19},this),c.jsxDEV("label",{htmlFor:`type-${N}`,className:"text-sm font-medium capitalize cursor-pointer",children:N},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:244,columnNumber:19},this)]},N,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:236,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:234,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:232,columnNumber:11},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Database"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:257,columnNumber:13},this),c.jsxDEV(Tc,{value:((x=n.dbFilter)==null?void 0:x.toString())||"all",onValueChange:v,children:[c.jsxDEV(hl,{className:"mt-1",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:263,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:262,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"all",children:"All Databases"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:266,columnNumber:17},this),sLe.map(N=>c.jsxDEV(Yt,{value:N.toString(),children:["Database ",N]},N,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:268,columnNumber:19},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:265,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:258,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:256,columnNumber:11},this),y&&c.jsxDEV("div",{className:"flex items-start gap-2 p-3 bg-yellow-500/10 border border-yellow-500/20 rounded-md",children:[c.jsxDEV(kc,{className:"w-4 h-4 text-yellow-400 mt-0.5 flex-shrink-0"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:279,columnNumber:15},this),c.jsxDEV("div",{className:"text-sm",children:[c.jsxDEV("p",{className:"font-medium text-yellow-400",children:"Performance Warning"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:281,columnNumber:17},this),c.jsxDEV("p",{className:"text-yellow-300/80 mt-1",children:"Searching key values can be slow on large datasets. The search is limited to the first 1000 keys per database."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:282,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:280,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:278,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:204,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:200,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Search Results"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:295,columnNumber:13},this),n.results.length>0&&c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[n.results.length," results"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:297,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:294,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:293,columnNumber:9},this),c.jsxDEV(Nr,{children:[n.loading&&n.results.length===0&&c.jsxDEV("div",{className:"space-y-3",children:Array.from({length:5}).map((N,w)=>c.jsxDEV(mr,{className:"h-16"},w,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:308,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:306,columnNumber:13},this),n.error&&n.results.length===0&&c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:317,columnNumber:17},this),c.jsxDEV("p",{children:n.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:318,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:316,columnNumber:15},this),c.jsxDEV(ve,{onClick:()=>l(),variant:"outline",size:"sm",className:"mt-4",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:326,columnNumber:17},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:320,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:315,columnNumber:13},this),!n.loading&&!n.error&&n.results.length===0&&a.trim()&&c.jsxDEV("div",{className:"text-center py-8 text-muted-foreground",children:[c.jsxDEV(Of,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:335,columnNumber:15},this),c.jsxDEV("p",{children:['No results found for "',a,'"']},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:336,columnNumber:15},this),c.jsxDEV("p",{className:"text-sm mt-1",children:"Try adjusting your search query or filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:337,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:334,columnNumber:13},this),!a.trim()&&c.jsxDEV("div",{className:"text-center py-8 text-muted-foreground",children:[c.jsxDEV(Of,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:344,columnNumber:15},this),c.jsxDEV("p",{children:"Enter a search query to find keys"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:345,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:343,columnNumber:13},this),n.results.length>0&&c.jsxDEV("div",{className:"space-y-3",children:[n.results.map((N,w)=>c.jsxDEV("div",{className:"flex items-center justify-between p-3 border border-border rounded-md hover:bg-muted/50 transition-colors",children:[c.jsxDEV("div",{className:"flex-1 min-w-0",children:[c.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[c.jsxDEV("code",{className:"font-mono text-sm text-[#22d3ee] truncate",children:N.key},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:359,columnNumber:23},this),c.jsxDEV(cr,{variant:"outline",className:`text-xs ${aLe(N.type)}`,children:N.type},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:362,columnNumber:23},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:["DB ",N.db]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:368,columnNumber:23},this),c.jsxDEV(cr,{variant:"outline",className:`text-xs ${lLe(N.matchType)}`,children:N.matchType==="name"?"Name Match":"Value Match"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:371,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:358,columnNumber:21},this),N.matchLocation&&c.jsxDEV("p",{className:"text-xs text-muted-foreground",children:["Match in: ",N.matchLocation]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:379,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:357,columnNumber:19},this),c.jsxDEV(ve,{size:"sm",variant:"outline",onClick:()=>p(N),className:"ml-2 flex-shrink-0",children:[c.jsxDEV(Wx,{className:"w-4 h-4 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:390,columnNumber:21},this),"View"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:384,columnNumber:19},this)]},`${N.key}-${N.db}-${w}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:353,columnNumber:17},this)),n.hasMore&&c.jsxDEV("div",{className:"text-center pt-4",children:c.jsxDEV(ve,{onClick:g,variant:"outline",disabled:n.loading,children:n.loading?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:406,columnNumber:25},this),"Loading..."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:405,columnNumber:23},this):"Load More"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:399,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:398,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:351,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:303,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:292,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:185,columnNumber:5},this)}const uLe=()=>{const e=yl();return E.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),c.jsxDEV("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV("h1",{className:"mb-4 text-4xl font-bold",children:"404"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:14,columnNumber:9},void 0),c.jsxDEV("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:15,columnNumber:9},void 0),c.jsxDEV("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:16,columnNumber:9},void 0)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:13,columnNumber:7},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:12,columnNumber:5},void 0)},dLe=new YQ;function fLe(){const{isAuthenticated:e}=on();return e?c.jsxDEV(Zle,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:37,columnNumber:10},this):c.jsxDEV(wu,{to:"/login",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:36,columnNumber:32},this)}function mLe(){const{isAuthenticated:e,checkSetup:r}=on(),[t,n]=E.useState("checking"),[i,a]=E.useState(!0);return E.useEffect(()=>{(async()=>{try{a(!0);const u=await r();n(u?"needed":"complete")}catch(u){console.error("Failed to check setup status:",u),n("error")}finally{a(!1)}})()},[r]),i||t==="checking"?c.jsxDEV("div",{className:"min-h-screen flex items-center justify-center bg-[hsl(220,25%,8%)]",children:c.jsxDEV("div",{className:"flex flex-col items-center gap-4",children:[c.jsxDEV("div",{className:"w-8 h-8 border-4 border-primary border-t-transparent rounded-full animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:69,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-[hsl(220,10%,50%)]",children:"Loading..."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:68,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:67,columnNumber:7},this):c.jsxDEV(Hee,{children:[c.jsxDEV(Wt,{path:"/setup",element:e?c.jsxDEV(wu,{to:"/dashboard",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:82,columnNumber:13},this):t==="needed"?c.jsxDEV(tce,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:84,columnNumber:13},this):c.jsxDEV(wu,{to:"/login",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:86,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:78,columnNumber:7},this),c.jsxDEV(Wt,{path:"/login",element:e?c.jsxDEV(wu,{to:"/dashboard",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:94,columnNumber:13},this):t==="needed"?c.jsxDEV(wu,{to:"/setup",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:96,columnNumber:13},this):c.jsxDEV(rce,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:98,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:90,columnNumber:7},this),c.jsxDEV(Wt,{path:"/",element:c.jsxDEV(fLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:102,columnNumber:32},this),children:[c.jsxDEV(Wt,{index:!0,element:t==="needed"?c.jsxDEV(wu,{to:"/setup",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:107,columnNumber:15},this):c.jsxDEV(wu,{to:"/dashboard",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:109,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:103,columnNumber:9},this),c.jsxDEV(Wt,{path:"dashboard",element:c.jsxDEV(eMe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:113,columnNumber:42},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:113,columnNumber:9},this),c.jsxDEV(Wt,{path:"keys",element:c.jsxDEV(XMe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:114,columnNumber:37},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:114,columnNumber:9},this),c.jsxDEV(Wt,{path:"cli",element:c.jsxDEV(ZMe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:115,columnNumber:36},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:115,columnNumber:9},this),c.jsxDEV(Wt,{path:"monitor",element:c.jsxDEV(f3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:116,columnNumber:40},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:116,columnNumber:9},this),c.jsxDEV(Wt,{path:"pubsub",element:c.jsxDEV(m3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:117,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:117,columnNumber:9},this),c.jsxDEV(Wt,{path:"slowlog",element:c.jsxDEV(h3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:118,columnNumber:40},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:118,columnNumber:9},this),c.jsxDEV(Wt,{path:"memory",element:c.jsxDEV(w3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:119,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:119,columnNumber:9},this),c.jsxDEV(Wt,{path:"diagnostics",element:c.jsxDEV(F3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:120,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:120,columnNumber:9},this),c.jsxDEV(Wt,{path:"clients",element:c.jsxDEV(z3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:121,columnNumber:40},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:121,columnNumber:9},this),c.jsxDEV(Wt,{path:"config",element:c.jsxDEV(K3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:122,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:122,columnNumber:9},this),c.jsxDEV(Wt,{path:"ttl",element:c.jsxDEV(G3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:123,columnNumber:36},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:123,columnNumber:9},this),c.jsxDEV(Wt,{path:"profiler",element:c.jsxDEV(Q3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:124,columnNumber:41},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:124,columnNumber:9},this),c.jsxDEV(Wt,{path:"keyspace",element:c.jsxDEV(nLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:125,columnNumber:41},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:125,columnNumber:9},this),c.jsxDEV(Wt,{path:"search",element:c.jsxDEV(cLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:126,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:126,columnNumber:9},this),c.jsxDEV(Wt,{path:"server",element:c.jsxDEV(E3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:127,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:127,columnNumber:9},this),c.jsxDEV(Wt,{path:"acl",element:c.jsxDEV(j3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:128,columnNumber:36},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:128,columnNumber:9},this),c.jsxDEV(Wt,{path:"import-export",element:c.jsxDEV(P3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:129,columnNumber:46},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:129,columnNumber:9},this),c.jsxDEV(Wt,{path:"connections",element:c.jsxDEV(R3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:130,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:130,columnNumber:9},this),c.jsxDEV(Wt,{path:"settings",element:c.jsxDEV(M3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:131,columnNumber:41},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:131,columnNumber:9},this),c.jsxDEV(Wt,{path:"*",element:c.jsxDEV(uLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:132,columnNumber:34},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:132,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:102,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:77,columnNumber:5},this)}const hLe=()=>c.jsxDEV(JQ,{client:dLe,children:c.jsxDEV(Aie,{children:[c.jsxDEV(Gne,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:141,columnNumber:7},void 0),c.jsxDEV(Xre,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:142,columnNumber:7},void 0),c.jsxDEV($ie,{children:c.jsxDEV(sre,{children:c.jsxDEV(mLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:145,columnNumber:11},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:144,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:143,columnNumber:7},void 0)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:140,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:139,columnNumber:3},void 0);yI(document.getElementById("root")).render(c.jsxDEV(hLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/main.tsx",lineNumber:5,columnNumber:53},void 0));
740
+ Defaulting to \`null\`.`}var Bz=Mz,N3e=$z;const Fz=E.forwardRef(({className:e,value:r,...t},n)=>c.jsxDEV(Bz,{ref:n,className:Te("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...t,children:c.jsxDEV(N3e,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(r||0)}%)`}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/progress.tsx",lineNumber:15,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/progress.tsx",lineNumber:10,columnNumber:3},void 0));Fz.displayName=Bz.displayName;const nI={backgroundColor:"hsl(220,25%,11%)",border:"1px solid hsl(220,20%,18%)",borderRadius:"6px",fontSize:"11px",color:"hsl(0,0%,90%)"};function w3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState(null),[n,i]=E.useState([]),[a,l]=E.useState(!0),u=async()=>{if(e){l(!0);try{const[T,_]=await Promise.all([nn.info(e),nn.getTopKeys(e).catch(()=>[])]);t(T),i(_||[])}catch(T){Se.error(T.message)}finally{l(!1)}}};if(E.useEffect(()=>{u()},[e]),a)return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV(mr,{className:"h-8 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:48,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-4 gap-3",children:Array.from({length:4}).map((T,_)=>c.jsxDEV(mr,{className:"h-24"},_,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:49,columnNumber:90},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:49,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:47,columnNumber:7},this);const f=(r==null?void 0:r.memory)||{},m=parseInt(f.used_memory||"0")/1048576,v=parseInt(f.used_memory_peak||"0")/1048576,p=parseInt(f.maxmemory||"0"),g=p>0?p/1048576:0,y=g>0?m/g*100:0,x=parseFloat(f.mem_fragmentation_ratio||"0"),N={};for(const T of n)N[T.type]=(N[T.type]||0)+1;const w={string:"hsl(217,91%,60%)",hash:"hsl(142,71%,45%)",list:"hsl(271,81%,56%)",set:"hsl(25,95%,53%)",zset:"hsl(45,93%,47%)",stream:"hsl(330,81%,60%)"},k=Object.entries(N).map(([T,_])=>({name:T,value:_,color:w[T]||"hsl(200,80%,50%)"})),D=n.slice(0,10).map(T=>({name:T.key.length>25?"..."+T.key.slice(-22):T.key,size:T.bytes}));return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(lp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:79,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Memory Analysis"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:80,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:78,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[x>1.5&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs gap-1",children:[c.jsxDEV(kc,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:85,columnNumber:15},this)," High Fragmentation"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:84,columnNumber:13},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:u,children:[c.jsxDEV(uo,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:89,columnNumber:13},this)," Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:82,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:77,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-3",children:[c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"Used Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:97,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:[m.toFixed(2)," MB"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:98,columnNumber:13},this),g>0&&c.jsxDEV(c.Fragment,{children:[c.jsxDEV(Fz,{value:y,className:"mt-2 h-1.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:101,columnNumber:17},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground mt-1",children:[y.toFixed(1),"% of ",g.toFixed(0)," MB"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:102,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:100,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:96,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:95,columnNumber:9},this),c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"Peak Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:109,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:[v.toFixed(2)," MB"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:110,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:108,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:107,columnNumber:9},this),c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"Fragmentation Ratio"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:115,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:x.toFixed(2)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:116,columnNumber:13},this),c.jsxDEV("p",{className:Te("text-[10px]",x>1.5?"text-status-error":"text-status-success"),children:[x>1.5?"High":"Normal"," (< 1.5)"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:117,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:114,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:113,columnNumber:9},this),c.jsxDEV(Qe,{children:c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("p",{className:"text-xs text-muted-foreground mb-1",children:"RSS Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:124,columnNumber:13},this),c.jsxDEV("p",{className:"text-lg font-bold font-mono",children:f.used_memory_rss_human||"?"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:125,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:122,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:94,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-3",children:[c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Keys by Data Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:132,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:132,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-3 pt-0",children:k.length>0?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(ia,{width:"100%",height:220,children:c.jsxDEV(hU,{children:[c.jsxDEV(Ea,{data:k,cx:"50%",cy:"50%",outerRadius:80,paddingAngle:2,dataKey:"value",children:k.map((T,_)=>c.jsxDEV(Wm,{fill:T.color},_,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:139,columnNumber:59},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:138,columnNumber:21},this),c.jsxDEV($n,{contentStyle:nI},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:141,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:137,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:136,columnNumber:17},this),c.jsxDEV("div",{className:"flex flex-wrap gap-2",children:k.map(T=>c.jsxDEV("div",{className:"flex items-center gap-1 text-[10px]",children:[c.jsxDEV("span",{className:"w-2 h-2 rounded-full",style:{backgroundColor:T.color}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:147,columnNumber:23},this),T.name,": ",T.value]},T.name,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:146,columnNumber:21},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:144,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:135,columnNumber:15},this):c.jsxDEV("div",{className:"h-[220px] flex items-center justify-center text-muted-foreground",children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV(lp,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:156,columnNumber:19},this),c.jsxDEV("p",{children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:157,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:155,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:154,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:133,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:131,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Top Keys by Memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:165,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:165,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-3 pt-0",children:D.length>0?c.jsxDEV(ia,{width:"100%",height:280,children:c.jsxDEV(s0,{data:D,layout:"vertical",margin:{left:0},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"hsl(220,13%,88%)",strokeOpacity:.2},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:170,columnNumber:19},this),c.jsxDEV(Ei,{type:"number",tick:{fontSize:10},stroke:"hsl(220,10%,46%)"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:171,columnNumber:19},this),c.jsxDEV(Si,{type:"category",dataKey:"name",width:140,tick:{fontSize:9},stroke:"hsl(220,10%,46%)"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:172,columnNumber:19},this),c.jsxDEV($n,{formatter:T=>oce(T),contentStyle:nI},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:173,columnNumber:19},this),c.jsxDEV(ga,{dataKey:"size",fill:"hsl(4,74%,49%)",radius:[0,4,4,0]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:174,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:169,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:168,columnNumber:15},this):c.jsxDEV("div",{className:"h-[280px] flex items-center justify-center text-muted-foreground",children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV(lp,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:180,columnNumber:19},this),c.jsxDEV("p",{children:"No keys found"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:181,columnNumber:19},this),c.jsxDEV("p",{className:"text-sm",children:"Keys will appear here when they consume significant memory"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:182,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:179,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:178,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:166,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:164,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:130,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/MemoryAnalysis.tsx",lineNumber:76,columnNumber:5},this)}function E3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState(null),[n,i]=E.useState(!0),[a,l]=E.useState(""),[u,f]=E.useState(new Set),m=async()=>{if(e){i(!0);try{const g=await nn.info(e);t(g),f(new Set(Object.keys(g)))}catch(g){Se.error(g.message)}finally{i(!1)}}};E.useEffect(()=>{m()},[e]);const v=g=>{const y=new Set(u);y.has(g)?y.delete(g):y.add(g),f(y)},p=g=>g.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return n?c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV(mr,{className:"h-8 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:47,columnNumber:9},this),Array.from({length:5}).map((g,y)=>c.jsxDEV(mr,{className:"h-32"},y,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:48,columnNumber:50},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:46,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(g4,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:57,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Server Info"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:56,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("div",{className:"relative",children:[c.jsxDEV(Of,{className:"w-3.5 h-3.5 absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:62,columnNumber:13},this),c.jsxDEV(Dr,{placeholder:"Search...",value:a,onChange:g=>l(g.target.value),className:"h-7 text-xs pl-7 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:63,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:61,columnNumber:11},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:m,children:[c.jsxDEV(uo,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:66,columnNumber:13},this)," Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:65,columnNumber:11},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>{navigator.clipboard.writeText(JSON.stringify(r,null,2)),Se.success("Copied to clipboard")},children:[c.jsxDEV(ks,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:72,columnNumber:13},this)," Copy All"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:68,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:60,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:55,columnNumber:7},this),r&&Object.entries(r).map(([g,y])=>{if(!y||typeof y!="object")return null;const x=Object.entries(y).filter(([N,w])=>!a||N.toLowerCase().includes(a.toLowerCase())||String(w).toLowerCase().includes(a.toLowerCase()));return a&&x.length===0?null:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2 cursor-pointer",onClick:()=>v(g),children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm capitalize",children:["# ",g]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:88,columnNumber:17},this),c.jsxDEV(cr,{variant:"secondary",className:"text-[10px]",children:[x.length," fields"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:89,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:87,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:86,columnNumber:13},this),u.has(g)&&c.jsxDEV(c.Fragment,{children:[c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:94,columnNumber:17},this),c.jsxDEV(Nr,{className:"p-0",children:c.jsxDEV("table",{className:"w-full text-xs",children:c.jsxDEV("tbody",{children:x.map(([N,w])=>c.jsxDEV("tr",{className:"border-b border-border/50 hover:bg-accent/50",children:[c.jsxDEV("td",{className:"p-2.5 pl-4 font-mono text-muted-foreground w-1/3",children:N},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:100,columnNumber:27},this),c.jsxDEV("td",{className:"p-2.5 font-mono",children:p(String(w))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:101,columnNumber:27},this)]},N,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:99,columnNumber:25},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:97,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:96,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:95,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:93,columnNumber:15},this)]},g,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:85,columnNumber:11},this)})]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ServerInfo.tsx",lineNumber:54,columnNumber:5},this)}var Cw="Switch",[S3e,PLe]=ko(Cw),[k3e,D3e]=S3e(Cw),Uz=E.forwardRef((e,r)=>{const{__scopeSwitch:t,name:n,checked:i,defaultChecked:a,required:l,disabled:u,value:f="on",onCheckedChange:m,form:v,...p}=e,[g,y]=E.useState(null),x=Mr(r,T=>y(T)),N=E.useRef(!1),w=g?v||!!g.closest("form"):!0,[k,D]=Zi({prop:i,defaultProp:a??!1,onChange:m,caller:Cw});return H.jsxs(k3e,{scope:t,checked:k,disabled:u,children:[H.jsx(or.button,{type:"button",role:"switch","aria-checked":k,"aria-required":l,"data-state":Wz(k),"data-disabled":u?"":void 0,disabled:u,value:f,...p,ref:x,onClick:$e(e.onClick,T=>{D(_=>!_),w&&(N.current=T.isPropagationStopped(),N.current||T.stopPropagation())})}),w&&H.jsx(Hz,{control:g,bubbles:!N.current,name:n,value:f,checked:k,required:l,disabled:u,form:v,style:{transform:"translateX(-100%)"}})]})});Uz.displayName=Cw;var zz="SwitchThumb",Kz=E.forwardRef((e,r)=>{const{__scopeSwitch:t,...n}=e,i=D3e(zz,t);return H.jsx(or.span,{"data-state":Wz(i.checked),"data-disabled":i.disabled?"":void 0,...n,ref:r})});Kz.displayName=zz;var C3e="SwitchBubbleInput",Hz=E.forwardRef(({__scopeSwitch:e,control:r,checked:t,bubbles:n=!0,...i},a)=>{const l=E.useRef(null),u=Mr(l,a),f=Ij(t),m=Aj(r);return E.useEffect(()=>{const v=l.current;if(!v)return;const p=window.HTMLInputElement.prototype,y=Object.getOwnPropertyDescriptor(p,"checked").set;if(f!==t&&y){const x=new Event("click",{bubbles:n});y.call(v,t),v.dispatchEvent(x)}},[f,t,n]),H.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...i,tabIndex:-1,ref:u,style:{...i.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Hz.displayName=C3e;function Wz(e){return e?"checked":"unchecked"}var Gz=Uz,T3e=Kz;const m0=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(Gz,{className:Te("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",e),...r,ref:t,children:c.jsxDEV(T3e,{className:Te("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/switch.tsx",lineNumber:18,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/switch.tsx",lineNumber:10,columnNumber:3},void 0));m0.displayName=Gz.displayName;function j3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState([]),[n,i]=E.useState(null),[a,l]=E.useState(""),[u,f]=E.useState([]),[m,v]=E.useState(!0),p=async()=>{if(e){v(!0);try{const y=await nn.getAcl(e),N=(Array.isArray(y)?y:[]).map(w=>{const k=String(w).split(" ");return{username:k[1]||"unknown",enabled:k.includes("on"),rules:k.slice(2).join(" ")}});t(N);try{const w=await nn.cli(e,"ACL WHOAMI");l(String(w||""))}catch{l("")}try{const w=await nn.cli(e,"ACL LOG 10");f(Array.isArray(w)?w:[])}catch{f([])}N.length>0&&!n&&i(N[0])}catch(y){Se.error(y.message)}finally{v(!1)}}};E.useEffect(()=>{p()},[e]);const g=async y=>{if(!(!e||y==="default"))try{await nn.deleteAclUser(e,y),Se.success(`Deleted user ${y}`),i(null),p()}catch(x){Se.error(x.message)}};return m?c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV(mr,{className:"h-8 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:86,columnNumber:39},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:86,columnNumber:72},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:86,columnNumber:12},this):c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Nj,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:93,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"ACL Manager"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:94,columnNumber:11},this),a&&c.jsxDEV(cr,{variant:"outline",className:"text-[10px]",children:["Logged in as: ",a]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:95,columnNumber:22},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:92,columnNumber:9},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:p,children:[c.jsxDEV(uo,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:98,columnNumber:11},this)," Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:97,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:91,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-3",children:[c.jsxDEV(Qe,{className:"lg:col-span-1",children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"ACL Users"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:104,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:104,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:105,columnNumber:11},this),c.jsxDEV("div",{className:"p-2 space-y-0.5",children:r.map(y=>c.jsxDEV("button",{onClick:()=>i(y),className:Te("flex items-center justify-between w-full px-2.5 py-2 rounded text-xs hover:bg-accent",(n==null?void 0:n.username)===y.username&&"bg-accent"),children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("span",{className:Te("w-1.5 h-1.5 rounded-full",y.enabled?"bg-status-success":"bg-muted-foreground")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:114,columnNumber:19},this),c.jsxDEV("span",{className:"font-mono font-medium",children:y.username},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:115,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:113,columnNumber:17},this),c.jsxDEV(cr,{variant:y.enabled?"secondary":"outline",className:"text-[9px]",children:y.enabled?"active":"disabled"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:117,columnNumber:17},this)]},y.username,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:108,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:106,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:103,columnNumber:9},this),c.jsxDEV(Qe,{className:"lg:col-span-2",children:n?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm font-mono",children:n.username},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:130,columnNumber:19},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(m0,{checked:n.enabled,disabled:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:132,columnNumber:21},this),n.username!=="default"&&c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1 text-destructive",onClick:()=>g(n.username),children:[c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:135,columnNumber:25},this)," Delete"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:134,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:131,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:129,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:128,columnNumber:15},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:141,columnNumber:15},this),c.jsxDEV(Nr,{className:"p-3",children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"ACL Rules"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:143,columnNumber:17},this),c.jsxDEV("div",{className:"bg-muted rounded p-3",children:c.jsxDEV("code",{className:"text-xs font-mono whitespace-pre-wrap break-all",children:n.rules},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:145,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:144,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:142,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:127,columnNumber:13},this):c.jsxDEV("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:"Select a user"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:150,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:125,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:102,columnNumber:7},this),u.length>0&&c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm flex items-center gap-2",children:[c.jsxDEV(kc,{className:"w-4 h-4 text-status-warning"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:159,columnNumber:15},this),"ACL Violations Log"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:158,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:157,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:163,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-3",children:c.jsxDEV("pre",{className:"text-xs font-mono whitespace-pre-wrap max-h-48 overflow-auto",children:JSON.stringify(u,null,2)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:165,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:164,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:156,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ACLManager.tsx",lineNumber:90,columnNumber:5},this)}var Tw="Tabs",[O3e,RLe]=ko(Tw,[Mm]),qz=Mm(),[A3e,CA]=O3e(Tw),Yz=E.forwardRef((e,r)=>{const{__scopeTabs:t,value:n,onValueChange:i,defaultValue:a,orientation:l="horizontal",dir:u,activationMode:f="automatic",...m}=e,v=Rm(u),[p,g]=Zi({prop:n,onChange:i,defaultProp:a??"",caller:Tw});return H.jsx(A3e,{scope:t,baseId:la(),value:p,onValueChange:g,orientation:l,dir:v,activationMode:f,children:H.jsx(or.div,{dir:v,"data-orientation":l,...m,ref:r})})});Yz.displayName=Tw;var Xz="TabsList",Jz=E.forwardRef((e,r)=>{const{__scopeTabs:t,loop:n=!0,...i}=e,a=CA(Xz,t),l=qz(t);return H.jsx(zj,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:n,children:H.jsx(or.div,{role:"tablist","aria-orientation":a.orientation,...i,ref:r})})});Jz.displayName=Xz;var Zz="TabsTrigger",Qz=E.forwardRef((e,r)=>{const{__scopeTabs:t,value:n,disabled:i=!1,...a}=e,l=CA(Zz,t),u=qz(t),f=tK(l.baseId,n),m=nK(l.baseId,n),v=n===l.value;return H.jsx(Kj,{asChild:!0,...u,focusable:!i,active:v,children:H.jsx(or.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":m,"data-state":v?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:f,...a,ref:r,onMouseDown:$e(e.onMouseDown,p=>{!i&&p.button===0&&p.ctrlKey===!1?l.onValueChange(n):p.preventDefault()}),onKeyDown:$e(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&l.onValueChange(n)}),onFocus:$e(e.onFocus,()=>{const p=l.activationMode!=="manual";!v&&!i&&p&&l.onValueChange(n)})})})});Qz.displayName=Zz;var eK="TabsContent",rK=E.forwardRef((e,r)=>{const{__scopeTabs:t,value:n,forceMount:i,children:a,...l}=e,u=CA(eK,t),f=tK(u.baseId,n),m=nK(u.baseId,n),v=n===u.value,p=E.useRef(v);return E.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),H.jsx(Do,{present:i||v,children:({present:g})=>H.jsx(or.div,{"data-state":v?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!g,id:m,tabIndex:0,...l,ref:r,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&a})})});rK.displayName=eK;function tK(e,r){return`${e}-trigger-${r}`}function nK(e,r){return`${e}-content-${r}`}var _3e=Yz,oK=Jz,iK=Qz,sK=rK;const aK=_3e,TA=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(oK,{ref:t,className:Te("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...r},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/tabs.tsx",lineNumber:12,columnNumber:3},void 0));TA.displayName=oK.displayName;const h0=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(iK,{ref:t,className:Te("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",e),...r},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/tabs.tsx",lineNumber:27,columnNumber:3},void 0));h0.displayName=iK.displayName;const v0=E.forwardRef(({className:e,...r},t)=>c.jsxDEV(sK,{ref:t,className:Te("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/ui/tabs.tsx",lineNumber:42,columnNumber:3},void 0));v0.displayName=sK.displayName;function P3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState("*"),[i,a]=E.useState(!1),[l,u]=E.useState(!1),f=E.useRef(null),m=async()=>{if(e){a(!0);try{const p=await nn.exportKeys(e,t,r),g=new Blob([JSON.stringify(p,null,2)],{type:"application/json"}),y=URL.createObjectURL(g),x=document.createElement("a");x.href=y,x.download=`redis-export-db${r}-${Date.now()}.json`,x.click(),URL.revokeObjectURL(y),Se.success(`Exported ${Array.isArray(p)?p.length:0} keys`)}catch(p){Se.error(p.message)}finally{a(!1)}}},v=async p=>{if(e){u(!0);try{const g=await p.text(),y=JSON.parse(g);if(!Array.isArray(y))throw new Error("Import file must be a JSON array");const x=await nn.importKeys(e,y,r);Se.success(`Imported ${x.imported} keys successfully`)}catch(g){Se.error(g.message)}finally{u(!1)}}};return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(f4,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:60,columnNumber:9},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Import / Export"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:61,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:59,columnNumber:7},this),c.jsxDEV(aK,{defaultValue:"export",children:[c.jsxDEV(TA,{children:[c.jsxDEV(h0,{value:"export",className:"text-xs gap-1",children:[c.jsxDEV(Ep,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:66,columnNumber:65},this)," Export"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:66,columnNumber:11},this),c.jsxDEV(h0,{value:"import",className:"text-xs gap-1",children:[c.jsxDEV(d2,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:67,columnNumber:65},this)," Import"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:67,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:65,columnNumber:9},this),c.jsxDEV(v0,{value:"export",className:"space-y-3",children:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Export Keys"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:72,columnNumber:46},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:72,columnNumber:13},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:73,columnNumber:13},this),c.jsxDEV(Nr,{className:"p-3 space-y-3",children:[c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Key Pattern"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:77,columnNumber:19},this),c.jsxDEV(Dr,{value:t,onChange:p=>n(p.target.value),className:"h-8 text-xs font-mono",placeholder:"user:*"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:78,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:76,columnNumber:17},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Database"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:81,columnNumber:19},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:["DB ",r]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:82,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:80,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:75,columnNumber:15},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{size:"sm",className:"h-8 text-xs gap-1",onClick:m,disabled:i,children:[i?c.jsxDEV(Sp,{className:"w-3 h-3 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:87,columnNumber:32},this):c.jsxDEV(Ep,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:87,columnNumber:79},this),i?"Exporting...":"Export"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:86,columnNumber:17},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground flex items-center gap-1",children:[c.jsxDEV(kc,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:91,columnNumber:19},this),"Large exports may take time and impact server performance"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:90,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:85,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:74,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:71,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:70,columnNumber:9},this),c.jsxDEV(v0,{value:"import",className:"space-y-3",children:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Import Keys"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:101,columnNumber:46},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:101,columnNumber:13},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:102,columnNumber:13},this),c.jsxDEV(Nr,{className:"p-3 space-y-3",children:[c.jsxDEV("input",{type:"file",ref:f,accept:".json",className:"hidden",onChange:p=>{var g;return((g=p.target.files)==null?void 0:g[0])&&v(p.target.files[0])}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:104,columnNumber:15},this),c.jsxDEV("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-accent/50 transition-colors",onClick:()=>{var p;return(p=f.current)==null?void 0:p.click()},children:[l?c.jsxDEV(Sp,{className:"w-8 h-8 mx-auto text-primary mb-2 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:111,columnNumber:19},this):c.jsxDEV(d2,{className:"w-8 h-8 mx-auto text-muted-foreground mb-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:113,columnNumber:19},this),c.jsxDEV("p",{className:"text-sm font-medium",children:l?"Importing...":"Drop file here or click to browse"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:115,columnNumber:17},this),c.jsxDEV("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports JSON files exported from Rediscover"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:116,columnNumber:17},this),c.jsxDEV("div",{className:"flex justify-center gap-2 mt-3",children:c.jsxDEV(cr,{variant:"outline",className:"text-[10px]",children:".json"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:118,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:117,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:106,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:103,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:100,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:99,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:64,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ImportExport.tsx",lineNumber:58,columnNumber:5},this)}function R3e(){const{connections:e,refreshConnections:r}=on(),[t,n]=E.useState(null),[i,a]=E.useState(!1),[l,u]=E.useState(""),[f,m]=E.useState(""),[v,p]=E.useState("slate"),[g,y]=E.useState(!1),x=async k=>{n(k);try{const D=await nn.testConnection(k);D.status==="connected"?Se.success(`Connected in ${D.latencyMs}ms`):Se.error(`Connection failed: ${D.error||"unknown error"}`),await r()}catch(D){Se.error(D.message)}finally{n(null)}},N=async()=>{if(!l||!f){Se.error("Name and URL are required");return}y(!0);try{await nn.addConnection(l,f,v),Se.success("Connection added"),await r(),a(!1),u(""),m(""),p("slate")}catch(k){Se.error(k.message)}finally{y(!1)}},w=async k=>{try{await nn.deleteConnection(k),Se.success("Connection deleted"),await r()}catch(D){Se.error(D.message)}};return c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(S0,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:71,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Connections"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:72,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:70,columnNumber:9},this),c.jsxDEV(ki,{open:i,onOpenChange:a,children:[c.jsxDEV(qle,{asChild:!0,children:c.jsxDEV(ve,{size:"sm",className:"h-8 text-xs gap-1",children:[c.jsxDEV(va,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:76,columnNumber:61},this)," Add Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:76,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:75,columnNumber:11},this),c.jsxDEV(Qo,{children:[c.jsxDEV(ei,{children:c.jsxDEV(ri,{children:"Add Redis Connection"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:79,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:79,columnNumber:13},this),c.jsxDEV("div",{className:"space-y-3",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Name"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:82,columnNumber:17},this),c.jsxDEV(Dr,{value:l,onChange:k=>u(k.target.value),placeholder:"Production Redis",className:"h-8 text-xs"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:83,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:81,columnNumber:15},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Redis URL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:86,columnNumber:17},this),c.jsxDEV(Dr,{value:f,onChange:k=>m(k.target.value),placeholder:"redis://user:password@host:port",className:"h-8 text-xs font-mono",type:"password"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:87,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:85,columnNumber:15},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-xs text-muted-foreground mb-1 block",children:"Color"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:90,columnNumber:17},this),c.jsxDEV("div",{className:"flex gap-2",children:["red","blue","green","yellow","purple","slate"].map(k=>c.jsxDEV("button",{onClick:()=>p(k),className:Te("w-6 h-6 rounded-full border-2",v===k?"border-primary":"border-transparent"),style:{backgroundColor:k==="slate"?"#64748b":k}},k,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:93,columnNumber:21},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:91,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:89,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:80,columnNumber:13},this),c.jsxDEV(Qi,{children:c.jsxDEV(ve,{size:"sm",onClick:N,disabled:g,children:[g?c.jsxDEV(Sp,{className:"w-3 h-3 animate-spin mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:101,columnNumber:29},this):null,"Add Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:100,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:99,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:78,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:74,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:69,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:[e.map(k=>c.jsxDEV(Qe,{className:Te("relative overflow-hidden",k.status==="online"&&"border-status-success/30"),children:[c.jsxDEV("div",{className:Te("absolute top-0 left-0 w-full h-0.5",k.status==="online"?"bg-status-success":k.status==="offline"?"bg-status-error":k.status==="slow"?"bg-status-warning":"bg-muted")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:112,columnNumber:13},this),c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm",children:k.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:118,columnNumber:17},this),c.jsxDEV(ve,{variant:"ghost",size:"icon",className:"h-6 w-6 text-destructive",onClick:()=>w(k.id),children:c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:120,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:119,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:117,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:116,columnNumber:13},this),c.jsxDEV(Nr,{className:"p-3 pt-0 space-y-2",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(cr,{variant:k.status==="online"?"default":"secondary",className:Te("text-[10px] gap-1",k.status==="online"&&"bg-status-success"),children:[k.status==="online"?c.jsxDEV(Jte,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:130,columnNumber:47},this):c.jsxDEV(d4,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:130,columnNumber:86},this),k.status||"unknown"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:126,columnNumber:17},this),k.latency_ms!=null&&c.jsxDEV(cr,{variant:"outline",className:"text-[10px] font-mono",children:[k.latency_ms,"ms"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:134,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:125,columnNumber:15},this),c.jsxDEV(ve,{variant:"outline",size:"sm",className:"h-6 text-[10px] w-full gap-1",onClick:()=>x(k.id),disabled:t===k.id,children:[t===k.id?c.jsxDEV(Sp,{className:"w-3 h-3 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:138,columnNumber:40},this):c.jsxDEV(dne,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:138,columnNumber:87},this),"Test Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:137,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:124,columnNumber:13},this)]},k.id,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:111,columnNumber:11},this)),c.jsxDEV(Qe,{className:"border-dashed flex items-center justify-center min-h-[160px] cursor-pointer hover:bg-accent/50 transition-colors",onClick:()=>a(!0),children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV(va,{className:"w-8 h-8 mx-auto text-muted-foreground mb-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:147,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm font-medium",children:"Add Connection"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:148,columnNumber:13},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Redis, Cluster, or Sentinel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:149,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:146,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:145,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Connections.tsx",lineNumber:68,columnNumber:5},this)}function V3e({className:e}){const r={name:"Umair Farooqui",title:"Software Engineer & Certified Ethical Hacker (CEH v13)",githubUsername:"mufazmi",githubUrl:"https://github.com/mufazmi",website:"https://umairfarooqui.com",email:"info.umairfarooqui@gmail.com"},t=n=>{window.open(n,"_blank","noopener,noreferrer")};return c.jsxDEV(Qe,{className:e,children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"About"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:36,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:35,columnNumber:7},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:38,columnNumber:7},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Author"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:42,columnNumber:13},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Software creator and maintainer"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:43,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:41,columnNumber:11},this),c.jsxDEV("span",{className:"text-xs font-medium",children:r.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:45,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:40,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:48,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Title"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:52,columnNumber:13},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Professional credentials"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:51,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center gap-1",children:[c.jsxDEV(Nj,{className:"w-3 h-3 text-muted-foreground"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:56,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs text-right max-w-32 leading-tight",children:r.title},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:55,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:50,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:63,columnNumber:9},this),c.jsxDEV("div",{className:"flex flex-col gap-2",children:[c.jsxDEV("div",{children:c.jsxDEV("p",{className:"text-xs font-medium mb-2",children:"Professional Links"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:67,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:66,columnNumber:11},this),c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-2 justify-start h-8",onClick:()=>t(r.githubUrl),children:[c.jsxDEV(ene,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:76,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs",children:"GitHub Profile"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:77,columnNumber:13},this),c.jsxDEV(Hx,{className:"w-3 h-3 ml-auto"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:78,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:70,columnNumber:11},this),c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-2 justify-start h-8",onClick:()=>t(r.website),children:[c.jsxDEV(h4,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:87,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs",children:"Personal Website"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:88,columnNumber:13},this),c.jsxDEV(Hx,{className:"w-3 h-3 ml-auto"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:89,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:81,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:65,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:93,columnNumber:9},this),c.jsxDEV("div",{className:"bg-muted/50 rounded-md p-2",children:c.jsxDEV("p",{className:"text-[10px] text-muted-foreground text-center",children:"Rediscover - Professional Redis Management Tool"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:96,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:95,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:39,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/components/settings/about-card.tsx",lineNumber:34,columnNumber:5},this)}function M3e(){const[e,r]=E.useState(""),[t,n]=E.useState(""),[i,a]=E.useState(""),[l,u]=E.useState(!1),[f,m]=E.useState(""),[v,p]=E.useState(""),[g,y]=E.useState(""),[x,N]=E.useState(!1),[w,k]=E.useState(!1),{toast:D}=dj();E.useEffect(()=>{T(),_()},[]);const T=async()=>{try{const R="1.0.3";R&&r(R)}catch(R){console.error("Failed to load current version:",R)}},_=()=>{const R=localStorage.getItem("updateCheckCache"),V=localStorage.getItem("updateCheckCacheTimestamp");if(R&&V){const $=JSON.parse(R);a($.version),u($.hasUpdate),m($.releaseUrl),n(new Date(parseInt(V)).toLocaleString())}},C=async(R=!1)=>{k(!0);try{R&&(localStorage.removeItem("updateCheckCache"),localStorage.removeItem("updateCheckCacheTimestamp"));const V=await fetch("/api/version/latest");if(!V.ok)throw new Error("Failed to check for updates");const $=await V.json();a($.version),u($.hasUpdate),m($.releaseUrl);const z=Date.now();n(new Date(z).toLocaleString()),localStorage.setItem("updateCheckCache",JSON.stringify($)),localStorage.setItem("updateCheckCacheTimestamp",z.toString()),D({title:$.hasUpdate?"Update Available":"Up to Date",description:$.hasUpdate?`Version ${$.version} is available!`:"You are running the latest version."})}catch(V){console.error("Failed to check for updates:",V),D({title:"Error",description:"Failed to check for updates. Please try again.",variant:"destructive"})}finally{k(!1)}},O=async()=>{try{const R=await fetch("/api/version/update-instructions");if(!R.ok)throw new Error("Failed to fetch update instructions");const V=await R.json();p(V.installMethod),y(V.instructions),N(!0)}catch(R){console.error("Failed to fetch update instructions:",R),D({title:"Error",description:"Failed to fetch update instructions. Please try again.",variant:"destructive"})}},A=()=>{navigator.clipboard.writeText(g),D({title:"Copied!",description:"Update instructions copied to clipboard."})};return c.jsxDEV("div",{className:"space-y-3 max-w-2xl",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:145,columnNumber:9},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Settings"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:146,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:144,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"General"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:151,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:150,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:153,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Key namespace separator"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:157,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Character used to split key namespaces in tree view"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:158,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:156,columnNumber:13},this),c.jsxDEV(Dr,{defaultValue:":",className:"h-7 w-16 text-center text-xs font-mono"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:160,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:155,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:162,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Auto-refresh interval"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:165,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Dashboard stats refresh rate"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:166,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:164,columnNumber:13},this),c.jsxDEV(Tc,{defaultValue:"5",children:[c.jsxDEV(hl,{className:"h-7 w-28 text-xs",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:169,columnNumber:59},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:169,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"2",children:"2 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:171,columnNumber:17},this),c.jsxDEV(Yt,{value:"5",children:"5 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:172,columnNumber:17},this),c.jsxDEV(Yt,{value:"10",children:"10 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:173,columnNumber:17},this),c.jsxDEV(Yt,{value:"30",children:"30 seconds"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:174,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:170,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:168,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:163,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:178,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"SCAN count per iteration"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:181,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Number of keys loaded per SCAN call"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:182,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:180,columnNumber:13},this),c.jsxDEV(Dr,{defaultValue:"100",className:"h-7 w-20 text-center text-xs font-mono"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:184,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:179,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:186,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Enable user registration"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:189,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Allow new users to create accounts"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:190,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:188,columnNumber:13},this),c.jsxDEV(m0,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:192,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:187,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:194,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Dangerous command confirmation"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:197,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Require typing confirmation for FLUSH, DEL, etc."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:198,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:196,columnNumber:13},this),c.jsxDEV(m0,{defaultChecked:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:200,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:195,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:149,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Security"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:207,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:206,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:209,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"JWT Token Expiry"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:213,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Session token lifetime"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:214,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:212,columnNumber:13},this),c.jsxDEV(Tc,{defaultValue:"24h",children:[c.jsxDEV(hl,{className:"h-7 w-28 text-xs",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:217,columnNumber:59},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:217,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"1h",children:"1 hour"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:219,columnNumber:17},this),c.jsxDEV(Yt,{value:"8h",children:"8 hours"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:220,columnNumber:17},this),c.jsxDEV(Yt,{value:"24h",children:"24 hours"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:221,columnNumber:17},this),c.jsxDEV(Yt,{value:"7d",children:"7 days"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:222,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:218,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:216,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:211,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:226,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Rate limit login"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:229,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Max login attempts per 15 minutes"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:230,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:228,columnNumber:13},this),c.jsxDEV(Dr,{defaultValue:"10",className:"h-7 w-16 text-center text-xs font-mono"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:232,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:227,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:210,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:205,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"p-3 pb-2",children:c.jsxDEV(Vr,{className:"text-sm",children:"Version & Updates"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:239,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:238,columnNumber:9},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:241,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-3 space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Current Version"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:245,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Installed version of Rediscover"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:246,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:244,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs font-mono",children:e||"Loading..."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:248,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:243,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:250,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Latest Version"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:253,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"Most recent release available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:254,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:252,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs font-mono",children:i||"Not checked"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:256,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:251,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:258,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Last Checked"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:261,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"When updates were last checked"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:262,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:260,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs text-muted-foreground",children:t||"Never"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:264,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:259,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:266,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("p",{className:"text-xs font-medium",children:"Installation Method"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:269,columnNumber:15},this),c.jsxDEV("p",{className:"text-[10px] text-muted-foreground",children:"How Rediscover was installed"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:270,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:268,columnNumber:13},this),c.jsxDEV("span",{className:"text-xs capitalize",children:v||"Unknown"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:272,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:267,columnNumber:11},this),c.jsxDEV(Tt,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:274,columnNumber:11},this),c.jsxDEV("div",{className:"flex flex-col gap-2",children:[c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-1 w-full",onClick:()=>C(!0),disabled:w,children:[c.jsxDEV(uo,{className:`w-3.5 h-3.5 ${w?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:283,columnNumber:15},this),w?"Checking...":"Check for Updates"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:276,columnNumber:13},this),l&&c.jsxDEV("div",{className:"bg-blue-50 dark:bg-blue-950 border border-blue-200 dark:border-blue-800 rounded-md p-3 space-y-2",children:[c.jsxDEV("div",{className:"flex items-start gap-2",children:[c.jsxDEV(Ep,{className:"w-4 h-4 text-blue-600 dark:text-blue-400 mt-0.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:289,columnNumber:19},this),c.jsxDEV("div",{className:"flex-1",children:[c.jsxDEV("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:["Update Available: v",i]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:291,columnNumber:21},this),c.jsxDEV("p",{className:"text-[10px] text-blue-700 dark:text-blue-300 mt-0.5",children:"A new version is ready to install"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:294,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:290,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:288,columnNumber:17},this),c.jsxDEV("div",{className:"flex gap-2",children:[c.jsxDEV(ve,{size:"sm",variant:"default",className:"gap-1 flex-1",onClick:O,children:[c.jsxDEV(Ep,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:306,columnNumber:21},this),"Update Now"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:300,columnNumber:19},this),f&&c.jsxDEV(ve,{size:"sm",variant:"outline",className:"gap-1",onClick:()=>window.open(f,"_blank"),children:[c.jsxDEV(Hx,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:316,columnNumber:23},this),"Release Notes"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:310,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:299,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:287,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:275,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:242,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:237,columnNumber:7},this),c.jsxDEV(V3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:327,columnNumber:7},this),c.jsxDEV(ve,{size:"sm",className:"gap-1",children:[c.jsxDEV(zu,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:330,columnNumber:9},this)," Save Settings"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:329,columnNumber:7},this),c.jsxDEV(ki,{open:x,onOpenChange:N,children:c.jsxDEV(Qo,{className:"max-w-2xl",children:[c.jsxDEV(ei,{children:[c.jsxDEV(ri,{children:"Update Rediscover"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:336,columnNumber:13},this),c.jsxDEV(Di,{children:["Follow these instructions to update to v",i,v&&c.jsxDEV("span",{className:"block mt-1 text-xs",children:["Installation method detected: ",c.jsxDEV("strong",{children:v},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:341,columnNumber:49},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:340,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:337,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:335,columnNumber:11},this),g&&c.jsxDEV(c.Fragment,{children:[c.jsxDEV("pre",{className:"whitespace-pre-wrap bg-gray-100 dark:bg-gray-800 p-4 rounded text-sm overflow-auto max-h-96",children:g},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:348,columnNumber:15},this),c.jsxDEV("div",{className:"flex gap-2",children:[c.jsxDEV(ve,{onClick:A,className:"gap-2",children:[c.jsxDEV(ks,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:356,columnNumber:19},this),"Copy to Clipboard"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:352,columnNumber:17},this),c.jsxDEV(ve,{variant:"outline",onClick:()=>N(!1),children:"Close"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:359,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:351,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:347,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:334,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:333,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Settings.tsx",lineNumber:143,columnNumber:5},this)}const L3e={memory:qi,persistence:u4,performance:qi,connections:qi,replication:qi,security:kc,keyspace:qi},$3e={healthy:"bg-green-500/20 text-green-400 border-green-500/30",warning:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30",critical:"bg-red-500/20 text-red-400 border-red-500/30"},I3e={healthy:u4,warning:kc,critical:d4};function B3e({category:e,checks:r,onCopyCommand:t}){const n=L3e[e]||qi,i=r.filter(m=>m.category===e),a=i.some(m=>m.status==="critical"),l=i.some(m=>m.status==="warning"),u=a?"critical":l?"warning":"healthy",f=I3e[u];return c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(n,{className:"w-4 h-4 text-muted-foreground"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:65,columnNumber:13},this),c.jsxDEV(Vr,{className:"text-sm capitalize",children:e},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:66,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:64,columnNumber:11},this),c.jsxDEV(cr,{variant:"outline",className:`text-xs ${$3e[u]}`,children:[c.jsxDEV(f,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:69,columnNumber:13},this),u]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:68,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:62,columnNumber:7},this),c.jsxDEV(Nr,{className:"pt-0",children:i.length===0?c.jsxDEV("div",{className:"text-sm text-muted-foreground",children:"No issues detected"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:76,columnNumber:11},this):c.jsxDEV("div",{className:"space-y-3",children:i.map((m,v)=>c.jsxDEV("div",{className:"space-y-2",children:c.jsxDEV("div",{className:"flex items-start gap-2",children:[c.jsxDEV("div",{className:`w-2 h-2 rounded-full mt-2 ${m.status==="healthy"?"bg-green-500":m.status==="warning"?"bg-yellow-500":"bg-red-500"}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:82,columnNumber:19},this),c.jsxDEV("div",{className:"flex-1 min-w-0",children:[c.jsxDEV("p",{className:"text-sm",children:m.message},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:87,columnNumber:21},this),m.recommendation&&c.jsxDEV("p",{className:"text-xs text-muted-foreground mt-1",children:m.recommendation},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:89,columnNumber:23},this),m.command&&c.jsxDEV("div",{className:"mt-2 flex items-center gap-2",children:[c.jsxDEV("code",{className:"text-xs bg-muted px-2 py-1 rounded font-mono text-[#22d3ee] flex-1",children:m.command},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:95,columnNumber:25},this),c.jsxDEV(ve,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>t(m.command),children:c.jsxDEV(ks,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:104,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:98,columnNumber:25},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:94,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:86,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:81,columnNumber:17},this)},v,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:80,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:78,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:74,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:61,columnNumber:5},this)}function F3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState([]),[i,a]=E.useState(!0),[l,u]=E.useState(null),[f,m]=E.useState(null),v=["memory","persistence","performance","connections","replication","security","keyspace"],p=E.useCallback(async()=>{if(e){a(!0),u(null);try{const x=await Mie.runDiagnostics(Number(e),r),w=(x.checks||x).map(k=>({...k,status:k.status}));n(w),m(new Date),Se.success("Diagnostics completed successfully")}catch(x){const N=x.message;u(N),Se.error(`Failed to run diagnostics: ${N}`)}finally{a(!1)}}},[e,r]),g=x=>{navigator.clipboard.writeText(x),Se.success("Command copied to clipboard")},y=()=>{p()};return E.useEffect(()=>{p()},[p]),i&&!t.length?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:174,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:175,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:173,columnNumber:11},this),c.jsxDEV(mr,{className:"h-8 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:177,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:172,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:Array.from({length:7}).map((x,N)=>c.jsxDEV(mr,{className:"h-32"},N,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:181,columnNumber:13},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:179,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:171,columnNumber:7},this):l&&!t.length?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:194,columnNumber:15},this),"Diagnostics Center"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:193,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Automated health checks and recommendations"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:197,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:192,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:191,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:204,columnNumber:13},this),c.jsxDEV("p",{children:l},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:205,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:203,columnNumber:11},this),c.jsxDEV(ve,{onClick:y,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:208,columnNumber:13},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:207,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:202,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:190,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:221,columnNumber:13},this),"Diagnostics Center"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:220,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:["Automated health checks and recommendations",f&&c.jsxDEV("span",{className:"ml-2",children:["• Last analyzed: ",f.toLocaleTimeString()]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:227,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:224,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:219,columnNumber:9},this),c.jsxDEV(ve,{onClick:y,disabled:i,variant:"outline",size:"sm",children:[c.jsxDEV(uo,{className:`w-4 h-4 mr-2 ${i?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:239,columnNumber:11},this),"Re-analyze"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:233,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:218,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:v.map(x=>c.jsxDEV(B3e,{category:x,checks:t,onCopyCommand:g},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:246,columnNumber:11},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:244,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/Diagnostics.tsx",lineNumber:217,columnNumber:5},this)}function U3e(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:`${Math.floor(e/3600)}h`}function Sx(e,r){const[t,n]=E.useState(e);return E.useEffect(()=>{const i=setTimeout(()=>{n(e)},r);return()=>{clearTimeout(i)}},[e,r]),t}function z3e(){const{activeConnectionId:e}=on(),[r,t]=E.useState({clients:[],loading:!0,error:null,filters:{address:"",name:"",command:"",user:""}}),[n,i]=E.useState("300"),[a,l]=E.useState(!1),u=E.useCallback(async()=>{if(e)try{t(x=>({...x,loading:!0,error:null}));const y=await Yk.getClients(Number(e));t(x=>({...x,clients:y.clients,loading:!1}))}catch(y){const x=y instanceof Error?y.message:"Failed to fetch clients";t(N=>({...N,error:x,loading:!1})),r.clients.length===0&&Se.error(x)}},[e,r.clients.length]);E.useEffect(()=>{u();const y=setInterval(u,5e3);return()=>clearInterval(y)},[u]),E.useEffect(()=>{t(y=>({...y,clients:[],loading:!0,error:null}))},[e]);const f={address:Sx(r.filters.address,300),name:Sx(r.filters.name,300),command:Sx(r.filters.command,300),user:Sx(r.filters.user,300)},m=E.useMemo(()=>r.clients.filter(y=>{const{address:x,name:N,command:w,user:k}=f;return(!x||y.addr.toLowerCase().includes(x.toLowerCase()))&&(!N||y.name.toLowerCase().includes(N.toLowerCase()))&&(!w||y.cmd.toLowerCase().includes(w.toLowerCase()))&&(!k||y.user.toLowerCase().includes(k.toLowerCase()))}),[r.clients,f]),v=(y,x)=>{t(N=>({...N,filters:{...N.filters,[y]:x}}))},p=async y=>{if(e)try{await Yk.killClient(Number(e),y),Se.success("Client killed successfully"),u()}catch(x){const N=x instanceof Error?x.message:"Failed to kill client";Se.error(N)}},g=async()=>{if(!e)return;const y=parseInt(n,10);if(isNaN(y)||y<=0){Se.error("Please enter a valid idle threshold in seconds");return}try{const x=await Yk.killIdleClients(Number(e),y);Se.success(`Killed ${x.killed} idle clients`),l(!1),u()}catch(x){const N=x instanceof Error?x.message:"Failed to kill idle clients";Se.error(N)}};return r.loading&&r.clients.length===0?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:212,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:213,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:211,columnNumber:11},this),c.jsxDEV(mr,{className:"h-6 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:215,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:210,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-3",children:Array.from({length:4}).map((y,x)=>c.jsxDEV(mr,{className:"h-10"},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:219,columnNumber:13},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:217,columnNumber:9},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:222,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:209,columnNumber:7},this):r.error&&r.clients.length===0?c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:231,columnNumber:11},this),c.jsxDEV("p",{children:r.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:232,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:230,columnNumber:9},this),c.jsxDEV(ve,{onClick:u,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:235,columnNumber:11},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:234,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:229,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(wj,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:248,columnNumber:13},this),"Connected Clients"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:247,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Monitor and manage active Redis client connections"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:251,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:246,columnNumber:9},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:"Auto-refresh: 5s"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:255,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:245,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-3",children:[c.jsxDEV(Dr,{placeholder:"Filter by address...",value:r.filters.address,onChange:y=>v("address",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:262,columnNumber:9},this),c.jsxDEV(Dr,{placeholder:"Filter by name...",value:r.filters.name,onChange:y=>v("name",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:268,columnNumber:9},this),c.jsxDEV(Dr,{placeholder:"Filter by command...",value:r.filters.command,onChange:y=>v("command",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:274,columnNumber:9},this),c.jsxDEV(Dr,{placeholder:"Filter by user...",value:r.filters.user,onChange:y=>v("user",y.target.value),className:"text-sm"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:280,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:261,columnNumber:7},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{onClick:u,variant:"outline",size:"sm",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:292,columnNumber:13},this),"Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:291,columnNumber:11},this),c.jsxDEV(rs,{open:a,onOpenChange:l,children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"outline",size:"sm",children:[c.jsxDEV(dl,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:298,columnNumber:17},this),"Kill Idle Clients"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:297,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:296,columnNumber:13},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Kill Idle Clients"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:304,columnNumber:17},this),c.jsxDEV(Ai,{children:"This will kill all clients that have been idle for more than the specified threshold."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:305,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:303,columnNumber:15},this),c.jsxDEV("div",{className:"py-4",children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Idle threshold (seconds):"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:310,columnNumber:17},this),c.jsxDEV(Dr,{type:"number",value:n,onChange:y=>i(y.target.value),placeholder:"300",className:"mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:311,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:309,columnNumber:15},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:320,columnNumber:17},this),c.jsxDEV(_i,{onClick:g,children:"Kill Idle Clients"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:321,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:319,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:302,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:295,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:290,columnNumber:9},this),c.jsxDEV("div",{className:"text-sm text-muted-foreground",children:[m.length," of ",r.clients.length," clients"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:328,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:289,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Active Connections"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:336,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:335,columnNumber:9},this),c.jsxDEV(Nr,{className:"p-0",children:m.length===0?c.jsxDEV("div",{className:"p-6 text-center text-muted-foreground",children:r.clients.length===0?"No clients connected":"No clients match the current filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:340,columnNumber:13},this):c.jsxDEV(cd,{children:[c.jsxDEV(ud,{children:c.jsxDEV(Ri,{children:[c.jsxDEV(Rt,{className:"w-16",children:"ID"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:347,columnNumber:19},this),c.jsxDEV(Rt,{children:"Address"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:348,columnNumber:19},this),c.jsxDEV(Rt,{children:"User"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:349,columnNumber:19},this),c.jsxDEV(Rt,{children:"Name"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:350,columnNumber:19},this),c.jsxDEV(Rt,{className:"w-16",children:"DB"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:351,columnNumber:19},this),c.jsxDEV(Rt,{children:"Command"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:352,columnNumber:19},this),c.jsxDEV(Rt,{className:"w-20",children:"Idle"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:353,columnNumber:19},this),c.jsxDEV(Rt,{children:"Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:354,columnNumber:19},this),c.jsxDEV(Rt,{className:"w-20",children:"Actions"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:355,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:346,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:345,columnNumber:15},this),c.jsxDEV(dd,{children:m.map(y=>c.jsxDEV(Ri,{children:[c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.id},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:361,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs text-[#22d3ee]",children:y.addr},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:362,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.user},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:365,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.name||c.jsxDEV("span",{className:"text-muted-foreground",children:"-"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:367,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:366,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.db},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:369,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.cmd||c.jsxDEV("span",{className:"text-muted-foreground",children:"-"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:371,columnNumber:38},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:370,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:U3e(y.idle)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:373,columnNumber:21},this),c.jsxDEV(Vt,{className:"font-mono text-xs",children:y.flags},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:376,columnNumber:21},this),c.jsxDEV(Vt,{children:c.jsxDEV(rs,{children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"ghost",size:"sm",children:c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:381,columnNumber:29},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:380,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:379,columnNumber:25},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Kill Client"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:386,columnNumber:29},this),c.jsxDEV(Ai,{children:["Are you sure you want to kill client ",y.id," (",y.addr,")? This action cannot be undone."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:387,columnNumber:29},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:385,columnNumber:27},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:393,columnNumber:29},this),c.jsxDEV(_i,{onClick:()=>p(y.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Kill Client"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:394,columnNumber:29},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:392,columnNumber:27},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:384,columnNumber:25},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:378,columnNumber:23},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:377,columnNumber:21},this)]},y.id,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:360,columnNumber:19},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:358,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:344,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:338,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:334,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConnectedClients.tsx",lineNumber:243,columnNumber:5},this)}const kx={memory:"Memory",network:"Network",security:"Security",persistence:"Persistence",logging:"Logging",replication:"Replication",lua:"Lua",other:"Other"};function K3e(){var y;const{activeConnectionId:e}=on(),[r,t]=E.useState({parameters:[],loading:!0,error:null,modifiedParams:new Map,activeCategory:"memory"}),[n,i]=E.useState({open:!1,parameter:null,newValue:""}),a=E.useCallback(async()=>{if(e)try{t(N=>({...N,loading:!0,error:null}));const x=await C2.getConfig(Number(e));t(N=>({...N,parameters:x.parameters,loading:!1}))}catch(x){const N=x instanceof Error?x.message:"Failed to fetch configuration";t(w=>({...w,error:N,loading:!1})),Se.error(N)}},[e]);E.useEffect(()=>{a()},[a]),E.useEffect(()=>{t(x=>({...x,parameters:[],loading:!0,error:null,modifiedParams:new Map}))},[e]);const l=(x,N)=>{t(w=>{const k=new Map(w.modifiedParams),D=w.parameters.find(T=>T.name===x);return D&&N!==D.value?k.set(x,N):k.delete(x),{...w,modifiedParams:k}})},u=async x=>{const N=r.modifiedParams.get(x.name);if(!(!N||!e)){if(x.dangerous){i({open:!0,parameter:x,newValue:N});return}await f(x,N)}},f=async(x,N)=>{if(e)try{await C2.setConfig(Number(e),x.name,N),t(w=>{const k=new Map(w.modifiedParams);k.delete(x.name);const D=w.parameters.map(T=>T.name===x.name?{...T,value:N}:T);return{...w,parameters:D,modifiedParams:k}}),Se.success(`Parameter ${x.name} updated successfully`)}catch(w){const k=w instanceof Error?w.message:"Failed to update parameter";Se.error(k)}},m=async()=>{!n.parameter||!n.newValue||(await f(n.parameter,n.newValue),i({open:!1,parameter:null,newValue:""}))},v=x=>r.parameters.filter(N=>N.category===x),p=x=>{const N=r.modifiedParams.get(x.name)??x.value,w=r.modifiedParams.has(x.name);return x.mutable?x.enumValues?c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Tc,{value:N,onValueChange:k=>l(x.name,k),children:[c.jsxDEV(hl,{className:"font-mono text-xs text-[#22d3ee]",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:215,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:214,columnNumber:13},this),c.jsxDEV(vl,{children:x.enumValues.map(k=>c.jsxDEV(Yt,{value:k,className:"font-mono text-xs text-[#22d3ee]",children:k},k,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:219,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:217,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:210,columnNumber:11},this),w&&c.jsxDEV(ve,{size:"sm",onClick:()=>u(x),className:"h-8",children:[c.jsxDEV(zu,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:231,columnNumber:15},this),"Save"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:226,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:209,columnNumber:9},this):c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Dr,{value:N,onChange:k=>l(x.name,k.target.value),className:"font-mono text-xs text-[#22d3ee]"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:241,columnNumber:9},this),w&&c.jsxDEV(ve,{size:"sm",onClick:()=>u(x),className:"h-8",children:[c.jsxDEV(zu,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:252,columnNumber:13},this),"Save"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:247,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:240,columnNumber:7},this):c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Dr,{value:N,readOnly:!0,className:"font-mono text-xs text-[#22d3ee] bg-muted/50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:194,columnNumber:11},this),c.jsxDEV(cr,{variant:"secondary",className:"text-xs",children:[c.jsxDEV(tne,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:200,columnNumber:13},this),"Read-only"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:199,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:193,columnNumber:9},this)};if(r.loading&&r.parameters.length===0)return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:265,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:266,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:264,columnNumber:11},this),c.jsxDEV(mr,{className:"h-8 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:268,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:263,columnNumber:9},this),c.jsxDEV(mr,{className:"h-10 w-full"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:270,columnNumber:9},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:271,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:262,columnNumber:7},this);if(r.error&&r.parameters.length===0)return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:282,columnNumber:15},this),"Configuration Editor"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:281,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"View and edit Redis configuration parameters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:285,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:280,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:279,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:292,columnNumber:13},this),c.jsxDEV("p",{children:r.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:293,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:291,columnNumber:11},this),c.jsxDEV(ve,{onClick:a,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:296,columnNumber:13},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:295,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:290,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:278,columnNumber:7},this);const g=Object.keys(kx);return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:312,columnNumber:13},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Configuration Editor"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:313,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:311,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"View and edit Redis configuration parameters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:315,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:310,columnNumber:9},this),c.jsxDEV(ve,{onClick:a,variant:"outline",size:"sm",disabled:r.loading,children:[c.jsxDEV(uo,{className:`w-4 h-4 mr-2 ${r.loading?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:320,columnNumber:11},this),"Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:319,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:309,columnNumber:7},this),c.jsxDEV(aK,{value:r.activeCategory,onValueChange:x=>t(N=>({...N,activeCategory:x})),children:[c.jsxDEV(TA,{className:"grid w-full grid-cols-8",children:g.map(x=>c.jsxDEV(h0,{value:x,className:"text-xs",children:kx[x]},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:329,columnNumber:13},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:327,columnNumber:9},this),g.map(x=>c.jsxDEV(v0,{value:x,children:c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:[kx[x]," Configuration"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:339,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:338,columnNumber:15},this),c.jsxDEV(Nr,{children:v(x).length===0?c.jsxDEV("div",{className:"text-center text-muted-foreground py-8",children:["No ",kx[x].toLowerCase()," parameters found"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:343,columnNumber:19},this):c.jsxDEV("div",{className:"space-y-4",children:v(x).map(N=>c.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 items-center p-3 border rounded-lg",children:[c.jsxDEV("div",{className:"space-y-1",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("span",{className:"font-mono text-sm font-medium text-[#22d3ee]",children:N.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:352,columnNumber:29},this),N.dangerous&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs",children:[c.jsxDEV(Zo,{className:"w-3 h-3 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:355,columnNumber:33},this),"Dangerous"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:354,columnNumber:31},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:351,columnNumber:27},this),N.description&&c.jsxDEV("p",{className:"text-xs text-muted-foreground",children:N.description},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:361,columnNumber:29},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:350,columnNumber:25},this),c.jsxDEV("div",{className:"md:col-span-2",children:p(N)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:364,columnNumber:25},this)]},N.name,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:349,columnNumber:23},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:347,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:341,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:337,columnNumber:13},this)},x,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:336,columnNumber:11},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:326,columnNumber:7},this),c.jsxDEV(rs,{open:n.open,onOpenChange:x=>i(N=>({...N,open:x})),children:c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{className:"flex items-center gap-2",children:[c.jsxDEV(Zo,{className:"w-5 h-5 text-destructive"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:382,columnNumber:15},this),"Dangerous Configuration Change"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:381,columnNumber:13},this),c.jsxDEV(Ai,{children:["You are about to modify ",c.jsxDEV("code",{className:"font-mono bg-muted px-1 py-0.5 rounded text-xs text-[#22d3ee]",children:(y=n.parameter)==null?void 0:y.name},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:386,columnNumber:39},this),", which is a security-sensitive parameter.",c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:389,columnNumber:15},this),c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:389,columnNumber:21},this),"This change could affect Redis security or connectivity. Make sure you understand the implications before proceeding.",c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:391,columnNumber:15},this),c.jsxDEV("br",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:391,columnNumber:21},this),"New value: ",c.jsxDEV("code",{className:"font-mono bg-muted px-1 py-0.5 rounded text-xs text-[#22d3ee]",children:n.newValue},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:392,columnNumber:26},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:385,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:380,columnNumber:11},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:398,columnNumber:13},this),c.jsxDEV(_i,{onClick:m,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Apply Change"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:399,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:397,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:379,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:378,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/ConfigEditor.tsx",lineNumber:307,columnNumber:5},this)}function H3e(e){return e<=0?"Expired":e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:e<86400?`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`:`${Math.floor(e/86400)}d ${Math.floor(e%86400/3600)}h`}function W3e(e){return e<=10?"text-red-400":e<=30?"text-yellow-400":"text-green-400"}function G3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState({distribution:null,expiringKeys:[],loading:!0,error:null,countdownInterval:null}),[i,a]=E.useState({type:null,open:!1,pattern:"",ttlSeconds:"3600"}),l=E.useCallback(async()=>{if(e)try{n(p=>({...p,loading:!0,error:null}));const[m,v]=await Promise.all([Qy.getDistribution(Number(e),r),Qy.getExpiringSoon(Number(e),r)]);n(p=>({...p,distribution:m,expiringKeys:v.keys,loading:!1}))}catch(m){const v=m instanceof Error?m.message:"Failed to fetch TTL data";n(p=>({...p,error:v,loading:!1})),!t.distribution&&t.expiringKeys.length===0&&Se.error(v)}},[e,r,t.distribution,t.expiringKeys.length]);E.useEffect(()=>{l()},[l]),E.useEffect(()=>{n(m=>({...m,distribution:null,expiringKeys:[],loading:!0,error:null}))},[e,r]),E.useEffect(()=>{const m=setInterval(()=>{n(v=>({...v,expiringKeys:v.expiringKeys.map(p=>({...p,ttl:Math.max(0,p.ttl-1)})).filter(p=>p.ttl>0)}))},1e3);return n(v=>({...v,countdownInterval:m})),()=>{clearInterval(m),n(v=>({...v,countdownInterval:null}))}},[]);const u=E.useMemo(()=>t.distribution?[{name:"No TTL",count:t.distribution.noTTL,color:"#6b7280"},{name:"<1 min",count:t.distribution.lessThan1Min,color:"#ef4444"},{name:"1-60 min",count:t.distribution.oneToSixtyMin,color:"#f59e0b"},{name:"1-24 hrs",count:t.distribution.oneToTwentyFourHours,color:"#22d3ee"},{name:">24 hrs",count:t.distribution.moreThanTwentyFourHours,color:"#22c55e"}]:[],[t.distribution]),f=async()=>{if(!e||!i.type)return;const m=i.pattern.trim();if(!m){Se.error("Please enter a key pattern");return}try{let v;if(i.type==="apply"){const p=parseInt(i.ttlSeconds,10);if(isNaN(p)||p<=0){Se.error("Please enter a valid TTL in seconds");return}v=await Qy.bulkApply(Number(e),m,p,r),Se.success(`Applied TTL to ${v.affected} keys`)}else v=await Qy.bulkRemove(Number(e),m,r),Se.success(`Removed TTL from ${v.affected} keys`);a({type:null,open:!1,pattern:"",ttlSeconds:"3600"}),l()}catch(v){const p=v instanceof Error?v.message:"Failed to perform bulk operation";Se.error(p)}};return t.loading&&!t.distribution&&t.expiringKeys.length===0?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:242,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:241,columnNumber:11},this),c.jsxDEV(mr,{className:"h-8 w-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:245,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:240,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:248,columnNumber:11},this),c.jsxDEV(mr,{className:"h-64"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:249,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:247,columnNumber:9},this),c.jsxDEV(mr,{className:"h-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:251,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:239,columnNumber:7},this):t.error&&!t.distribution&&t.expiringKeys.length===0?c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(dl,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:262,columnNumber:15},this),"TTL Manager"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:261,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Manage key expiration times and visualize TTL distribution"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:265,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:260,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:259,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:272,columnNumber:13},this),c.jsxDEV("p",{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:273,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:271,columnNumber:11},this),c.jsxDEV(ve,{onClick:l,className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:276,columnNumber:13},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:275,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:270,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:258,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(dl,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:290,columnNumber:13},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"TTL Manager"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:291,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:289,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Manage key expiration times and visualize TTL distribution"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:293,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:288,columnNumber:9},this),c.jsxDEV(ve,{onClick:l,variant:"outline",size:"sm",disabled:t.loading,children:[c.jsxDEV(uo,{className:`w-4 h-4 mr-2 ${t.loading?"animate-spin":""}`},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:298,columnNumber:11},this),"Refresh"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:297,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:287,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"TTL Distribution"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:308,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:307,columnNumber:11},this),c.jsxDEV(Nr,{children:u.length===0?c.jsxDEV("div",{className:"h-48 flex items-center justify-center text-muted-foreground",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:312,columnNumber:15},this):c.jsxDEV("div",{className:"h-48",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(s0,{data:u,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:319,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"name",tick:{fontSize:11,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:320,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:11,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:325,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"11px",color:"#ffffff"},formatter:m=>[m,"Keys"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:329,columnNumber:21},this),c.jsxDEV(ga,{dataKey:"count",radius:[2,2,0,0],children:u.map((m,v)=>c.jsxDEV(Wm,{fill:m.color},`cell-${v}`,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:344,columnNumber:25},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:339,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:318,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:317,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:316,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:310,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:306,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Expiring Soon (<60s)"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:358,columnNumber:15},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[t.expiringKeys.length," keys"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:359,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:357,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:356,columnNumber:11},this),c.jsxDEV(Nr,{className:"p-0",children:t.expiringKeys.length===0?c.jsxDEV("div",{className:"p-6 text-center text-muted-foreground",children:"No keys expiring soon"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:366,columnNumber:15},this):c.jsxDEV("div",{className:"max-h-48 overflow-y-auto",children:c.jsxDEV(cd,{children:[c.jsxDEV(ud,{children:c.jsxDEV(Ri,{children:[c.jsxDEV(Rt,{className:"text-xs",children:"Key"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:374,columnNumber:23},this),c.jsxDEV(Rt,{className:"text-xs w-16",children:"Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:375,columnNumber:23},this),c.jsxDEV(Rt,{className:"text-xs w-20",children:"TTL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:376,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:373,columnNumber:21},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:372,columnNumber:19},this),c.jsxDEV(dd,{children:t.expiringKeys.map((m,v)=>c.jsxDEV(Ri,{children:[c.jsxDEV(Vt,{className:"font-mono text-xs text-[#22d3ee] truncate max-w-32",children:m.key},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:382,columnNumber:25},this),c.jsxDEV(Vt,{className:"text-xs",children:c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:m.type},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:386,columnNumber:27},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:385,columnNumber:25},this),c.jsxDEV(Vt,{className:`font-mono text-xs ${W3e(m.ttl)}`,children:H3e(m.ttl)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:390,columnNumber:25},this)]},`${m.key}-${v}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:381,columnNumber:23},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:379,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:371,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:370,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:364,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:355,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:304,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Bulk TTL Operations"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:406,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:405,columnNumber:9},this),c.jsxDEV(Nr,{children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(rs,{open:i.open&&i.type==="apply",onOpenChange:m=>a(v=>({...v,open:m,type:m?"apply":null})),children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"outline",size:"sm",children:[c.jsxDEV(va,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:416,columnNumber:19},this),"Apply TTL to Pattern"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:415,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:414,columnNumber:15},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Apply TTL to Pattern"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:422,columnNumber:19},this),c.jsxDEV(Ai,{children:"Apply a TTL (expiration time) to all keys matching the specified pattern."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:423,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:421,columnNumber:17},this),c.jsxDEV("div",{className:"space-y-4 py-4",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Key Pattern:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:429,columnNumber:21},this),c.jsxDEV(Dr,{value:i.pattern,onChange:m=>a(v=>({...v,pattern:m.target.value})),placeholder:"e.g., session:*, user:*, *",className:"mt-1 font-mono text-xs"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:430,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:428,columnNumber:19},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"TTL (seconds):"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:438,columnNumber:21},this),c.jsxDEV(Dr,{type:"number",value:i.ttlSeconds,onChange:m=>a(v=>({...v,ttlSeconds:m.target.value})),placeholder:"3600",className:"mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:439,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:437,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:427,columnNumber:17},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:449,columnNumber:19},this),c.jsxDEV(_i,{onClick:f,children:"Apply TTL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:450,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:448,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:420,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:410,columnNumber:13},this),c.jsxDEV(rs,{open:i.open&&i.type==="remove",onOpenChange:m=>a(v=>({...v,open:m,type:m?"remove":null})),children:[c.jsxDEV(c0,{asChild:!0,children:c.jsxDEV(ve,{variant:"outline",size:"sm",children:[c.jsxDEV(one,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:463,columnNumber:19},this),"Remove TTL from Pattern"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:462,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:461,columnNumber:15},this),c.jsxDEV(Ci,{children:[c.jsxDEV(Ti,{children:[c.jsxDEV(Oi,{children:"Remove TTL from Pattern"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:469,columnNumber:19},this),c.jsxDEV(Ai,{children:"Remove TTL (make keys persistent) for all keys matching the specified pattern."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:470,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:468,columnNumber:17},this),c.jsxDEV("div",{className:"py-4",children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Key Pattern:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:475,columnNumber:19},this),c.jsxDEV(Dr,{value:i.pattern,onChange:m=>a(v=>({...v,pattern:m.target.value})),placeholder:"e.g., session:*, user:*, *",className:"mt-1 font-mono text-xs"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:476,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:474,columnNumber:17},this),c.jsxDEV(ji,{children:[c.jsxDEV(Pi,{children:"Cancel"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:484,columnNumber:19},this),c.jsxDEV(_i,{onClick:f,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove TTL"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:485,columnNumber:19},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:483,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:467,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:457,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:409,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:408,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:404,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/TTLManager.tsx",lineNumber:285,columnNumber:5},this)}const q3e=1e3,Y3e=4*60*1e3;function X3e(e){const r=new Date(e),t=r.getHours().toString().padStart(2,"0"),n=r.getMinutes().toString().padStart(2,"0"),i=r.getSeconds().toString().padStart(2,"0"),a=r.getMilliseconds().toString().padStart(3,"0");return`${t}:${n}:${i}.${a}`}function J3e(e){const r=["GET","HGET","HGETALL","LRANGE","SMEMBERS","ZRANGE","MGET","KEYS","SCAN","EXISTS","TYPE","TTL"],t=["SUBSCRIBE","PSUBSCRIBE","MONITOR","CONFIG","SHUTDOWN","FLUSHDB","FLUSHALL","CLIENT","INFO"];return r.includes(e)?"read":t.includes(e)?"admin":"write"}function Z3e(e){switch(e){case"read":return"text-blue-400";case"write":return"text-yellow-400";case"admin":return"text-red-400"}}function Q3e(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState({active:!1,paused:!1,events:[],stats:{topCommands:[],topClients:[],opsPerSecond:[],totalCommands:0},startTime:null,timeoutWarning:!1,loading:!1,error:null,socketConnected:!1}),i=E.useRef(null),a=E.useRef([]),l=E.useRef(0),u=E.useRef(null),f=E.useRef(null),m=E.useRef(null);E.useEffect(()=>{try{const N=Sm();i.current=N,n(w=>({...w,socketConnected:Dw()})),N.on("connect",()=>{n(w=>({...w,socketConnected:!0,error:null}))}),N.on("disconnect",()=>{n(w=>({...w,socketConnected:!1,active:!1,loading:!1}))}),N.on("connect_error",w=>{n(k=>({...k,error:`Connection error: ${w.message}`,socketConnected:!1,active:!1,loading:!1}))})}catch(N){n(w=>({...w,error:N instanceof Error?N.message:"Failed to connect to socket",socketConnected:!1}))}},[]),E.useEffect(()=>()=>{a.current.length>0&&(a.current.forEach(N=>N()),a.current=[]),u.current&&(clearInterval(u.current),u.current=null),f.current&&(clearTimeout(f.current),f.current=null)},[]);const v=E.useCallback(N=>{const w=new Map,k=new Map;N.forEach(_=>{const C=w.get(_.command)||0;w.set(_.command,C+1);const O=k.get(_.client)||0;k.set(_.client,O+1)});const D=Array.from(w.entries()).sort(([,_],[,C])=>C-_).slice(0,10).map(([_,C])=>({command:_,count:C})),T=Array.from(k.entries()).sort(([,_],[,C])=>C-_).slice(0,10).map(([_,C])=>({client:_,count:C}));return{topCommands:D,topClients:T,opsPerSecond:t.stats.opsPerSecond,totalCommands:N.length}},[t.stats.opsPerSecond]);E.useEffect(()=>{var N;if(!t.active||!i.current||!t.socketConnected){if(a.current.length>0){try{(N=i.current)==null||N.emit("stop-profiler")}catch(w){console.error("Error stopping profiler:",w)}a.current.forEach(w=>w()),a.current=[]}u.current&&(clearInterval(u.current),u.current=null),f.current&&(clearTimeout(f.current),f.current=null);return}try{n(_=>({..._,error:null,loading:!0})),i.current.emit("start-profiler",{connectionId:Number(e),db:r});const w=_=>{console.log("[Profiler] Started:",_),n(C=>({...C,loading:!1,startTime:new Date,timeoutWarning:!1})),f.current=setTimeout(()=>{n(C=>({...C,timeoutWarning:!0}))},Y3e)},k=_=>{if(t.paused)return;const C=_.event;if(l.current++,n(O=>{const A=[...O.events,C].slice(-q3e),R=v(A);return{...O,events:A,stats:R}}),m.current){const O=m.current.querySelector("[data-radix-scroll-area-viewport]");O&&(O.scrollTop=O.scrollHeight)}},D=_=>{console.log("[Profiler] Stopped:",_),n(C=>({...C,active:!1,loading:!1,timeoutWarning:!1}))},T=_=>{console.error("[Profiler] Error:",_.message),n(C=>({...C,error:_.message,active:!1,loading:!1,timeoutWarning:!1}))};i.current.on("profiler-started",w),i.current.on("profiler-command",k),i.current.on("profiler-stopped",D),i.current.on("profiler-error",T),a.current=[()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-started",w)},()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-command",k)},()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-stopped",D)},()=>{var _;return(_=i.current)==null?void 0:_.off("profiler-error",T)}],u.current=setInterval(()=>{const _=new Date,C=`${_.getHours().toString().padStart(2,"0")}:${_.getMinutes().toString().padStart(2,"0")}:${_.getSeconds().toString().padStart(2,"0")}`;n(O=>({...O,stats:{...O.stats,opsPerSecond:[...O.stats.opsPerSecond.slice(-29),{time:C,ops:l.current}]}})),l.current=0},1e3)}catch(w){n(k=>({...k,error:w instanceof Error?w.message:"Failed to start profiler",active:!1,loading:!1}))}return()=>{var w;if(a.current.length>0){try{(w=i.current)==null||w.emit("stop-profiler")}catch(k){console.error("Error stopping profiler:",k)}a.current.forEach(k=>k()),a.current=[]}u.current&&(clearInterval(u.current),u.current=null),f.current&&(clearTimeout(f.current),f.current=null)}},[t.active,t.paused,e,r,t.socketConnected,v]);const p=()=>{if(!e){n(N=>({...N,error:"No active connection selected"}));return}if(!t.socketConnected){n(N=>({...N,error:"Socket not connected"}));return}n(N=>({...N,active:!N.active}))},g=()=>{n(N=>({...N,paused:!N.paused}))},y=()=>{n(N=>({...N,events:[],stats:{topCommands:[],topClients:[],opsPerSecond:N.stats.opsPerSecond,totalCommands:0}}))},x=E.useMemo(()=>t.events.slice().reverse(),[t.events]);return t.loading&&!t.socketConnected&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:414,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:415,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:413,columnNumber:11},this),c.jsxDEV(mr,{className:"h-7 w-32"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:417,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:412,columnNumber:9},this),c.jsxDEV(mr,{className:"h-16"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:419,columnNumber:9},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-3",children:[c.jsxDEV(mr,{className:"h-40"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:421,columnNumber:11},this),c.jsxDEV(mr,{className:"h-40"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:422,columnNumber:11},this),c.jsxDEV(mr,{className:"h-40"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:423,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:420,columnNumber:9},this),c.jsxDEV(mr,{className:"flex-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:425,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:411,columnNumber:7},this):t.error&&!t.socketConnected&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:437,columnNumber:15},this),"Command Profiler"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:436,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Real-time command analysis using Redis MONITOR"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:440,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:435,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:434,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:447,columnNumber:13},this),c.jsxDEV("p",{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:448,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:446,columnNumber:11},this),c.jsxDEV(ve,{onClick:()=>window.location.reload(),className:"mt-4",variant:"outline",children:[c.jsxDEV(RefreshCw,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:455,columnNumber:13},this),"Retry Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:450,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:445,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:433,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[t.error&&c.jsxDEV(yc,{variant:"destructive",children:[c.jsxDEV(Zo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:468,columnNumber:11},this),c.jsxDEV(xc,{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:469,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:467,columnNumber:9},this),c.jsxDEV(yc,{className:"border-yellow-500/50 bg-yellow-500/10",children:[c.jsxDEV(kc,{className:"h-4 w-4 text-yellow-500"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:475,columnNumber:9},this),c.jsxDEV(xc,{className:"text-yellow-200",children:[c.jsxDEV("strong",{children:"Performance Impact:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:477,columnNumber:11},this)," Command profiling uses Redis MONITOR which can impact performance on high-traffic instances."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:474,columnNumber:7},this),t.timeoutWarning&&c.jsxDEV(yc,{className:"border-orange-500/50 bg-orange-500/10",children:[c.jsxDEV(kc,{className:"h-4 w-4 text-orange-500"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:484,columnNumber:11},this),c.jsxDEV(xc,{className:"text-orange-200",children:[c.jsxDEV("strong",{children:"Timeout Warning:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:486,columnNumber:13},this)," Profiling will automatically stop in 1 minute (5-minute limit)."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:485,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:483,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(qi,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:494,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Command Profiler"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:495,columnNumber:11},this),t.active&&c.jsxDEV(cr,{variant:t.loading?"secondary":"default",className:"text-xs",children:t.loading?"Starting...":"Active"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:497,columnNumber:13},this),!t.socketConnected&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs",children:"Disconnected"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:502,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:493,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:c.jsxDEV(ve,{variant:t.active?"destructive":"default",size:"sm",className:"h-7 text-xs gap-1",onClick:p,disabled:!t.socketConnected||!e||t.loading,children:t.active?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(y4,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:517,columnNumber:17},this),"Stop Profiling"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:516,columnNumber:15},this):c.jsxDEV(c.Fragment,{children:[c.jsxDEV(xj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:522,columnNumber:17},this),"Start Profiling"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:521,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:508,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:507,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:492,columnNumber:7},this),c.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-3",children:[c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Top Commands"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:535,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:534,columnNumber:11},this),c.jsxDEV(Nr,{children:t.stats.topCommands.length===0?c.jsxDEV("div",{className:"h-32 flex items-center justify-center text-muted-foreground text-xs",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:539,columnNumber:15},this):c.jsxDEV("div",{className:"h-32",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(s0,{data:t.stats.topCommands,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:546,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"command",tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:547,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:552,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"10px",color:"#ffffff"},formatter:N=>[N,"Count"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:556,columnNumber:21},this),c.jsxDEV(ga,{dataKey:"count",fill:"#22d3ee",radius:[2,2,0,0]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:566,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:545,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:544,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:543,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:537,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:533,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Top Clients"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:581,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:580,columnNumber:11},this),c.jsxDEV(Nr,{children:t.stats.topClients.length===0?c.jsxDEV("div",{className:"h-32 flex items-center justify-center text-muted-foreground text-xs",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:585,columnNumber:15},this):c.jsxDEV("div",{className:"h-32",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(s0,{data:t.stats.topClients,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:592,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"client",tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:593,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:598,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"10px",color:"#ffffff"},formatter:N=>[N,"Commands"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:602,columnNumber:21},this),c.jsxDEV(ga,{dataKey:"count",fill:"#f59e0b",radius:[2,2,0,0]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:612,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:591,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:590,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:589,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:583,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:579,columnNumber:9},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Commands Per Second"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:627,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:626,columnNumber:11},this),c.jsxDEV(Nr,{children:t.stats.opsPerSecond.length===0?c.jsxDEV("div",{className:"h-32 flex items-center justify-center text-muted-foreground text-xs",children:"No data available"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:631,columnNumber:15},this):c.jsxDEV("div",{className:"h-32",children:c.jsxDEV(ia,{width:"100%",height:"100%",children:c.jsxDEV(QVe,{data:t.stats.opsPerSecond,margin:{top:5,right:5,left:5,bottom:5},children:[c.jsxDEV(ul,{strokeDasharray:"3 3",stroke:"#1f1f1f"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:638,columnNumber:21},this),c.jsxDEV(Ei,{dataKey:"time",tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:639,columnNumber:21},this),c.jsxDEV(Si,{tick:{fontSize:10,fill:"#888888"},axisLine:{stroke:"#1f1f1f"}},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:644,columnNumber:21},this),c.jsxDEV($n,{contentStyle:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"6px",fontSize:"10px",color:"#ffffff"},formatter:N=>[N,"Ops/sec"]},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:648,columnNumber:21},this),c.jsxDEV(Ob,{type:"monotone",dataKey:"ops",stroke:"#22c55e",strokeWidth:2,dot:!1},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:658,columnNumber:21},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:637,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:636,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:635,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:629,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:625,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:531,columnNumber:7},this),c.jsxDEV(Qe,{className:"flex-1 flex flex-col",children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Live Command Stream"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:678,columnNumber:15},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[t.stats.totalCommands," commands"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:679,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:677,columnNumber:13},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:g,disabled:!t.active,children:[c.jsxDEV(yj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:691,columnNumber:17},this),t.paused?"Resume":"Pause"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:684,columnNumber:15},this),c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:y,children:[c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:700,columnNumber:17},this),"Clear"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:694,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:683,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:676,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:675,columnNumber:9},this),c.jsxDEV(Nr,{className:"flex-1 p-0",children:[c.jsxDEV("div",{className:"grid grid-cols-[100px_160px_40px_80px_1fr] gap-2 px-4 py-2 text-[10px] font-medium uppercase tracking-wider text-[hsl(220,10%,40%)] border-b border-[hsl(220,20%,18%)]",children:[c.jsxDEV("span",{children:"Timestamp"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:708,columnNumber:13},this),c.jsxDEV("span",{children:"Client"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:709,columnNumber:13},this),c.jsxDEV("span",{children:"DB"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:710,columnNumber:13},this),c.jsxDEV("span",{children:"Command"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:711,columnNumber:13},this),c.jsxDEV("span",{children:"Arguments"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:712,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:707,columnNumber:11},this),c.jsxDEV(Oc,{className:"flex-1",ref:m,children:c.jsxDEV("div",{className:"px-4 py-1",children:[x.length===0&&c.jsxDEV("div",{className:"text-center text-muted-foreground text-sm py-8",children:t.active?"Waiting for commands...":'Click "Start Profiling" to begin monitoring'},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:717,columnNumber:17},this),x.map((N,w)=>{const k=J3e(N.command),D=Z3e(k);return c.jsxDEV("div",{className:"grid grid-cols-[100px_160px_40px_80px_1fr] gap-2 py-0.5 text-xs font-mono text-[#22d3ee] border-b border-[hsl(220,20%,14%)]",children:[c.jsxDEV("span",{className:"text-[hsl(220,10%,40%)]",children:X3e(N.timestamp)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:727,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(220,10%,60%)] truncate",children:N.client},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:730,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(220,10%,50%)]",children:N.db},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:733,columnNumber:21},this),c.jsxDEV("span",{className:Te("font-medium",D),children:N.command},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:736,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(0,0%,75%)] truncate",children:N.args.join(" ")},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:739,columnNumber:21},this)]},`${N.timestamp}-${w}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:726,columnNumber:19},this)})]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:715,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:714,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:706,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:674,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/CommandProfiler.tsx",lineNumber:464,columnNumber:5},this)}const eLe=1e3,ej=[{type:"set",label:"SET",color:"bg-green-500/20 text-green-400 border-green-500/30"},{type:"del",label:"DEL",color:"bg-red-500/20 text-red-400 border-red-500/30"},{type:"expire",label:"EXPIRE",color:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30"},{type:"expired",label:"EXPIRED",color:"bg-orange-500/20 text-orange-400 border-orange-500/30"},{type:"hset",label:"HSET",color:"bg-blue-500/20 text-blue-400 border-blue-500/30"},{type:"lpush",label:"LPUSH",color:"bg-purple-500/20 text-purple-400 border-purple-500/30"},{type:"rpush",label:"RPUSH",color:"bg-purple-500/20 text-purple-400 border-purple-500/30"},{type:"sadd",label:"SADD",color:"bg-cyan-500/20 text-cyan-400 border-cyan-500/30"},{type:"zadd",label:"ZADD",color:"bg-indigo-500/20 text-indigo-400 border-indigo-500/30"},{type:"rename_from",label:"RENAME",color:"bg-pink-500/20 text-pink-400 border-pink-500/30"},{type:"rename_to",label:"RENAME",color:"bg-pink-500/20 text-pink-400 border-pink-500/30"}],oI=[{key:"none",label:"None",value:"",description:"Disable keyspace notifications"},{key:"expired",label:"Expired Only",value:"Ex",description:"Only expired key events"},{key:"all",label:"All Events",value:"AKE",description:"All keyspace and keyevent notifications"}];function rLe(e){const r=new Date(e),t=r.getHours().toString().padStart(2,"0"),n=r.getMinutes().toString().padStart(2,"0"),i=r.getSeconds().toString().padStart(2,"0"),a=r.getMilliseconds().toString().padStart(3,"0");return`${t}:${n}:${i}.${a}`}function tLe(e){return ej.find(t=>t.type===e)||{type:e,label:e.toUpperCase(),color:"bg-gray-500/20 text-gray-400 border-gray-500/30"}}function nLe(){const{activeConnectionId:e,activeDb:r}=on(),[t,n]=E.useState({active:!1,paused:!1,events:[],config:"",filters:new Set(ej.map(x=>x.type)),loading:!1,error:null,socketConnected:!1,configLoading:!1}),i=E.useRef(null),a=E.useRef([]),l=E.useRef(null);E.useEffect(()=>{try{const x=Sm();i.current=x,n(N=>({...N,socketConnected:Dw()})),x.on("connect",()=>{n(N=>({...N,socketConnected:!0,error:null}))}),x.on("disconnect",()=>{n(N=>({...N,socketConnected:!1,active:!1,loading:!1}))}),x.on("connect_error",N=>{n(w=>({...w,error:`Connection error: ${N.message}`,socketConnected:!1,active:!1,loading:!1}))})}catch(x){n(N=>({...N,error:x instanceof Error?x.message:"Failed to connect to socket",socketConnected:!1}))}},[]),E.useEffect(()=>{e&&u()},[e]),E.useEffect(()=>()=>{a.current.length>0&&(a.current.forEach(x=>x()),a.current=[])},[]);const u=async()=>{if(e){n(x=>({...x,configLoading:!0}));try{const x=await T2.getConfig(Number(e));n(N=>({...N,config:x.config||"",configLoading:!1}))}catch(x){n(N=>({...N,error:x instanceof Error?x.message:"Failed to load keyspace config",configLoading:!1}))}}},f=async x=>{if(!e)return;const N=oI.find(w=>w.key===x);if(N){n(w=>({...w,configLoading:!0}));try{await T2.setConfig(Number(e),N.key),n(w=>({...w,config:N.value,configLoading:!1}))}catch(w){n(k=>({...k,error:w instanceof Error?w.message:"Failed to set keyspace config",configLoading:!1}))}}};E.useEffect(()=>{var x;if(!t.active||!i.current||!t.socketConnected){if(a.current.length>0){try{(x=i.current)==null||x.emit("stop-keyspace-events")}catch(N){console.error("Error stopping keyspace events:",N)}a.current.forEach(N=>N()),a.current=[]}return}try{n(T=>({...T,error:null,loading:!0})),i.current.emit("start-keyspace-events",{connectionId:Number(e)});const N=T=>{console.log("[Keyspace] Started:",T),n(_=>({..._,loading:!1}))},w=T=>{if(t.paused)return;const _=T.event;if(n(C=>{const O=[...C.events,_].slice(-eLe);return{...C,events:O}}),l.current){const C=l.current.querySelector("[data-radix-scroll-area-viewport]");C&&(C.scrollTop=C.scrollHeight)}},k=T=>{console.log("[Keyspace] Stopped:",T),n(_=>({..._,active:!1,loading:!1}))},D=T=>{console.error("[Keyspace] Error:",T.error),n(_=>({..._,error:T.error,active:!1,loading:!1}))};i.current.on("keyspace-started",N),i.current.on("keyspace-event",w),i.current.on("keyspace-stopped",k),i.current.on("keyspace-error",D),a.current=[()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-started",N)},()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-event",w)},()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-stopped",k)},()=>{var T;return(T=i.current)==null?void 0:T.off("keyspace-error",D)}]}catch(N){n(w=>({...w,error:N instanceof Error?N.message:"Failed to start keyspace events",active:!1,loading:!1}))}return()=>{var N;if(a.current.length>0){try{(N=i.current)==null||N.emit("stop-keyspace-events")}catch(w){console.error("Error stopping keyspace events:",w)}a.current.forEach(w=>w()),a.current=[]}}},[t.active,t.paused,e,t.socketConnected]);const m=()=>{if(!e){n(x=>({...x,error:"No active connection selected"}));return}if(!t.socketConnected){n(x=>({...x,error:"Socket not connected"}));return}n(x=>({...x,active:!x.active}))},v=()=>{n(x=>({...x,paused:!x.paused}))},p=()=>{n(x=>({...x,events:[]}))},g=x=>{n(N=>{const w=new Set(N.filters);return w.has(x)?w.delete(x):w.add(x),{...N,filters:w}})},y=E.useMemo(()=>t.events.filter(x=>t.filters.has(x.type)).slice().reverse(),[t.events,t.filters]);return t.configLoading&&!t.config&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV(mr,{className:"h-6 w-48"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:360,columnNumber:13},this),c.jsxDEV(mr,{className:"h-4 w-64 mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:361,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:359,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:358,columnNumber:9},this),c.jsxDEV(mr,{className:"h-24"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:364,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(mr,{className:"h-7 w-32"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:366,columnNumber:11},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(mr,{className:"h-7 w-20"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:368,columnNumber:13},this),c.jsxDEV(mr,{className:"h-7 w-16"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:369,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:367,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:365,columnNumber:9},this),c.jsxDEV(mr,{className:"h-20"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:372,columnNumber:9},this),c.jsxDEV(mr,{className:"flex-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:373,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:357,columnNumber:7},this):t.error&&!t.socketConnected&&t.events.length===0?c.jsxDEV("div",{className:"h-[calc(100vh-7.5rem)] flex flex-col gap-3",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(u2,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:385,columnNumber:15},this),"Keyspace Events"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:384,columnNumber:13},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Monitor Redis keyspace notifications in real-time"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:388,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:383,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:382,columnNumber:9},this),c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:395,columnNumber:13},this),c.jsxDEV("p",{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:396,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:394,columnNumber:11},this),c.jsxDEV(ve,{onClick:()=>window.location.reload(),className:"mt-4",variant:"outline",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:403,columnNumber:13},this),"Retry Connection"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:398,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:393,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:381,columnNumber:7},this):c.jsxDEV("div",{className:"space-y-4",children:[t.error&&c.jsxDEV(yc,{variant:"destructive",children:[c.jsxDEV(Zo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:416,columnNumber:11},this),c.jsxDEV(xc,{children:t.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:417,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:415,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(u2,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:424,columnNumber:11},this),c.jsxDEV("h1",{className:"text-xl font-bold",children:"Keyspace Events"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:425,columnNumber:11},this),t.active&&c.jsxDEV(cr,{variant:t.loading?"secondary":"default",className:"text-xs",children:t.loading?"Starting...":"Active"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:427,columnNumber:13},this),!t.socketConnected&&c.jsxDEV(cr,{variant:"destructive",className:"text-xs",children:"Disconnected"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:432,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:423,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:422,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(kp,{className:"w-4 h-4"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:441,columnNumber:13},this),c.jsxDEV(Vr,{className:"text-sm",children:"Configuration"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:442,columnNumber:13},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs font-mono",children:["notify-keyspace-events: ",t.config||"(empty)"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:443,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:440,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:439,columnNumber:9},this),c.jsxDEV(Nr,{children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV("span",{className:"text-sm text-muted-foreground",children:"Presets:"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:450,columnNumber:13},this),oI.map(x=>c.jsxDEV(ve,{variant:t.config===x.value?"default":"outline",size:"sm",className:"h-7 text-xs",onClick:()=>f(x.key),disabled:t.configLoading,title:x.description,children:x.label},x.key,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:452,columnNumber:15},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:449,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:448,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:438,columnNumber:7},this),c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV("div",{className:"flex items-center gap-2",children:c.jsxDEV(ve,{variant:t.active?"destructive":"default",size:"sm",className:"h-7 text-xs gap-1",onClick:m,disabled:!t.socketConnected||!e||t.loading,children:t.active?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(y4,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:480,columnNumber:17},this),"Stop Monitoring"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:479,columnNumber:15},this):c.jsxDEV(c.Fragment,{children:[c.jsxDEV(xj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:485,columnNumber:17},this),"Start Monitoring"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:484,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:471,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:470,columnNumber:9},this),c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:v,disabled:!t.active,children:[c.jsxDEV(yj,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:500,columnNumber:13},this),t.paused?"Resume":"Pause"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:493,columnNumber:11},this),c.jsxDEV(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1",onClick:p,children:[c.jsxDEV(mn,{className:"w-3 h-3"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:509,columnNumber:13},this),"Clear"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:503,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:492,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:469,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Event Type Filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:518,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:517,columnNumber:9},this),c.jsxDEV(Nr,{children:c.jsxDEV("div",{className:"flex flex-wrap gap-2",children:ej.map(x=>c.jsxDEV(ve,{variant:t.filters.has(x.type)?"default":"outline",size:"sm",className:"h-7 text-xs",onClick:()=>g(x.type),children:x.label},x.type,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:523,columnNumber:15},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:521,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:520,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:516,columnNumber:7},this),c.jsxDEV(Qe,{className:"flex-1 flex flex-col",children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{className:"flex items-center gap-2",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Event Stream"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:542,columnNumber:15},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[y.length," events"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:543,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:541,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:540,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:539,columnNumber:9},this),c.jsxDEV(Nr,{className:"flex-1 p-0",children:[c.jsxDEV("div",{className:"grid grid-cols-[100px_80px_60px_1fr_40px] gap-2 px-4 py-2 text-[10px] font-medium uppercase tracking-wider text-[hsl(220,10%,40%)] border-b border-[hsl(220,20%,18%)]",children:[c.jsxDEV("span",{children:"Timestamp"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:551,columnNumber:13},this),c.jsxDEV("span",{children:"Event Type"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:552,columnNumber:13},this),c.jsxDEV("span",{children:"Database"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:553,columnNumber:13},this),c.jsxDEV("span",{children:"Key Name"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:554,columnNumber:13},this),c.jsxDEV("span",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:555,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:550,columnNumber:11},this),c.jsxDEV(Oc,{className:"flex-1",ref:l,children:c.jsxDEV("div",{className:"px-4 py-1",children:[y.length===0&&c.jsxDEV("div",{className:"text-center text-muted-foreground text-sm py-8",children:t.active?"Waiting for keyspace events...":'Click "Start Monitoring" to begin monitoring keyspace events'},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:560,columnNumber:17},this),y.map((x,N)=>{const w=tLe(x.type);return c.jsxDEV("div",{className:"grid grid-cols-[100px_80px_60px_1fr_40px] gap-2 py-1 text-xs border-b border-[hsl(220,20%,14%)] items-center",children:[c.jsxDEV("span",{className:"text-[hsl(220,10%,40%)] font-mono text-[10px]",children:rLe(x.timestamp)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:569,columnNumber:21},this),c.jsxDEV(cr,{variant:"outline",className:Te("text-[10px] h-5 px-1",w.color),children:w.label},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:572,columnNumber:21},this),c.jsxDEV("span",{className:"text-[hsl(220,10%,50%)] text-center",children:x.db},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:578,columnNumber:21},this),c.jsxDEV("span",{className:"text-[#22d3ee] font-mono truncate",children:x.key},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:581,columnNumber:21},this),c.jsxDEV("span",{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:584,columnNumber:21},this)]},`${x.timestamp}-${N}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:568,columnNumber:19},this)})]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:558,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:557,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:549,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:538,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/KeyspaceEvents.tsx",lineNumber:412,columnNumber:5},this)}function oLe(e,r){const[t,n]=E.useState(e);return E.useEffect(()=>{const i=setTimeout(()=>{n(e)},r);return()=>{clearTimeout(i)}},[e,r]),t}const iLe=["string","list","hash","set","zset","stream"],sLe=Array.from({length:16},(e,r)=>r);function aLe(e){return{string:"bg-blue-500/20 text-blue-400 border-blue-500/30",list:"bg-green-500/20 text-green-400 border-green-500/30",hash:"bg-purple-500/20 text-purple-400 border-purple-500/30",set:"bg-orange-500/20 text-orange-400 border-orange-500/30",zset:"bg-pink-500/20 text-pink-400 border-pink-500/30",stream:"bg-cyan-500/20 text-cyan-400 border-cyan-500/30"}[e]||"bg-gray-500/20 text-gray-400 border-gray-500/30"}function lLe(e){return e==="name"?"bg-yellow-500/20 text-yellow-400 border-yellow-500/30":"bg-red-500/20 text-red-400 border-red-500/30"}function cLe(){var x;const{activeConnectionId:e,activeDb:r}=on(),t=hb(),[n,i]=E.useState({query:"",mode:"names",typeFilters:new Set,dbFilter:null,results:[],loading:!1,error:null,hasMore:!1,cursor:null}),a=oLe(n.query,500),l=E.useCallback(async(N=!1)=>{if(!e||!a.trim()){i(w=>({...w,results:[],hasMore:!1,cursor:null}));return}try{i(T=>({...T,loading:!0,error:null}));const w=Array.from(n.typeFilters),k=N?n.cursor:void 0,D=await Lie.searchKeys(Number(e),a.trim(),n.mode,w.length>0?w:void 0,n.dbFilter??void 0,k,100);i(T=>({...T,results:N?[...T.results,...D.results]:D.results,hasMore:D.hasMore,cursor:D.cursor,loading:!1}))}catch(w){const k=w instanceof Error?w.message:"Failed to search";i(D=>({...D,error:k,loading:!1})),Se.error(k)}},[e,a,n.mode,n.typeFilters,n.dbFilter,n.cursor]);E.useEffect(()=>{a.trim()?l():i(N=>({...N,results:[],hasMore:!1,cursor:null}))},[a,n.mode,n.typeFilters,n.dbFilter]),E.useEffect(()=>{i(N=>({...N,results:[],hasMore:!1,cursor:null,error:null}))},[e,r]);const u=N=>{i(w=>({...w,query:N,cursor:null}))},f=N=>{i(w=>({...w,mode:N,cursor:null}))},m=(N,w)=>{i(k=>{const D=new Set(k.typeFilters);return w?D.add(N):D.delete(N),{...k,typeFilters:D,cursor:null}})},v=N=>{const w=N==="all"?null:parseInt(N,10);i(k=>({...k,dbFilter:w,cursor:null}))},p=N=>{t(`/keys?key=${encodeURIComponent(N.key)}&db=${N.db}`)},g=()=>{l(!0)},y=n.mode==="values"||n.mode==="both";return c.jsxDEV("div",{className:"space-y-4",children:[c.jsxDEV("div",{className:"flex items-center justify-between",children:c.jsxDEV("div",{children:[c.jsxDEV("h1",{className:"text-xl font-bold flex items-center gap-2",children:[c.jsxDEV(Of,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:190,columnNumber:13},this),"Global Search"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:189,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Search across key names and values in your Redis instance"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:193,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:188,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:187,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV(Vr,{className:"text-sm",children:"Search Parameters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:202,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:201,columnNumber:9},this),c.jsxDEV(Nr,{className:"space-y-4",children:[c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Search Query"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:207,columnNumber:13},this),c.jsxDEV(Dr,{value:n.query,onChange:N=>u(N.target.value),placeholder:"Enter search term...",className:"mt-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:208,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:206,columnNumber:11},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Search Mode"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:218,columnNumber:13},this),c.jsxDEV(Tc,{value:n.mode,onValueChange:f,children:[c.jsxDEV(hl,{className:"mt-1",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:221,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:220,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"names",children:"Key Names Only"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:224,columnNumber:17},this),c.jsxDEV(Yt,{value:"values",children:"Key Values Only"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:225,columnNumber:17},this),c.jsxDEV(Yt,{value:"both",children:"Both Names and Values"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:226,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:223,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:219,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:217,columnNumber:11},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Type Filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:233,columnNumber:13},this),c.jsxDEV("div",{className:"mt-2 grid grid-cols-3 gap-2",children:iLe.map(N=>c.jsxDEV("div",{className:"flex items-center space-x-2",children:[c.jsxDEV(yA,{id:`type-${N}`,checked:n.typeFilters.has(N),onCheckedChange:w=>m(N,w)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:237,columnNumber:19},this),c.jsxDEV("label",{htmlFor:`type-${N}`,className:"text-sm font-medium capitalize cursor-pointer",children:N},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:244,columnNumber:19},this)]},N,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:236,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:234,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:232,columnNumber:11},this),c.jsxDEV("div",{children:[c.jsxDEV("label",{className:"text-sm font-medium",children:"Database"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:257,columnNumber:13},this),c.jsxDEV(Tc,{value:((x=n.dbFilter)==null?void 0:x.toString())||"all",onValueChange:v,children:[c.jsxDEV(hl,{className:"mt-1",children:c.jsxDEV(jc,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:263,columnNumber:17},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:262,columnNumber:15},this),c.jsxDEV(vl,{children:[c.jsxDEV(Yt,{value:"all",children:"All Databases"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:266,columnNumber:17},this),sLe.map(N=>c.jsxDEV(Yt,{value:N.toString(),children:["Database ",N]},N,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:268,columnNumber:19},this))]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:265,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:258,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:256,columnNumber:11},this),y&&c.jsxDEV("div",{className:"flex items-start gap-2 p-3 bg-yellow-500/10 border border-yellow-500/20 rounded-md",children:[c.jsxDEV(kc,{className:"w-4 h-4 text-yellow-400 mt-0.5 flex-shrink-0"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:279,columnNumber:15},this),c.jsxDEV("div",{className:"text-sm",children:[c.jsxDEV("p",{className:"font-medium text-yellow-400",children:"Performance Warning"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:281,columnNumber:17},this),c.jsxDEV("p",{className:"text-yellow-300/80 mt-1",children:"Searching key values can be slow on large datasets. The search is limited to the first 1000 keys per database."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:282,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:280,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:278,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:204,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:200,columnNumber:7},this),c.jsxDEV(Qe,{children:[c.jsxDEV(_r,{className:"pb-3",children:c.jsxDEV("div",{className:"flex items-center justify-between",children:[c.jsxDEV(Vr,{className:"text-sm",children:"Search Results"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:295,columnNumber:13},this),n.results.length>0&&c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:[n.results.length," results"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:297,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:294,columnNumber:11},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:293,columnNumber:9},this),c.jsxDEV(Nr,{children:[n.loading&&n.results.length===0&&c.jsxDEV("div",{className:"space-y-3",children:Array.from({length:5}).map((N,w)=>c.jsxDEV(mr,{className:"h-16"},w,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:308,columnNumber:17},this))},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:306,columnNumber:13},this),n.error&&n.results.length===0&&c.jsxDEV(Qe,{className:"p-6",children:[c.jsxDEV("div",{className:"flex items-center gap-2 text-destructive",children:[c.jsxDEV(Zo,{className:"w-5 h-5"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:317,columnNumber:17},this),c.jsxDEV("p",{children:n.error},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:318,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:316,columnNumber:15},this),c.jsxDEV(ve,{onClick:()=>l(),variant:"outline",size:"sm",className:"mt-4",children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:326,columnNumber:17},this),"Retry"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:320,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:315,columnNumber:13},this),!n.loading&&!n.error&&n.results.length===0&&a.trim()&&c.jsxDEV("div",{className:"text-center py-8 text-muted-foreground",children:[c.jsxDEV(Of,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:335,columnNumber:15},this),c.jsxDEV("p",{children:['No results found for "',a,'"']},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:336,columnNumber:15},this),c.jsxDEV("p",{className:"text-sm mt-1",children:"Try adjusting your search query or filters"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:337,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:334,columnNumber:13},this),!a.trim()&&c.jsxDEV("div",{className:"text-center py-8 text-muted-foreground",children:[c.jsxDEV(Of,{className:"w-8 h-8 mx-auto mb-2 opacity-50"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:344,columnNumber:15},this),c.jsxDEV("p",{children:"Enter a search query to find keys"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:345,columnNumber:15},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:343,columnNumber:13},this),n.results.length>0&&c.jsxDEV("div",{className:"space-y-3",children:[n.results.map((N,w)=>c.jsxDEV("div",{className:"flex items-center justify-between p-3 border border-border rounded-md hover:bg-muted/50 transition-colors",children:[c.jsxDEV("div",{className:"flex-1 min-w-0",children:[c.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[c.jsxDEV("code",{className:"font-mono text-sm text-[#22d3ee] truncate",children:N.key},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:359,columnNumber:23},this),c.jsxDEV(cr,{variant:"outline",className:`text-xs ${aLe(N.type)}`,children:N.type},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:362,columnNumber:23},this),c.jsxDEV(cr,{variant:"outline",className:"text-xs",children:["DB ",N.db]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:368,columnNumber:23},this),c.jsxDEV(cr,{variant:"outline",className:`text-xs ${lLe(N.matchType)}`,children:N.matchType==="name"?"Name Match":"Value Match"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:371,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:358,columnNumber:21},this),N.matchLocation&&c.jsxDEV("p",{className:"text-xs text-muted-foreground",children:["Match in: ",N.matchLocation]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:379,columnNumber:23},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:357,columnNumber:19},this),c.jsxDEV(ve,{size:"sm",variant:"outline",onClick:()=>p(N),className:"ml-2 flex-shrink-0",children:[c.jsxDEV(Wx,{className:"w-4 h-4 mr-1"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:390,columnNumber:21},this),"View"]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:384,columnNumber:19},this)]},`${N.key}-${N.db}-${w}`,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:353,columnNumber:17},this)),n.hasMore&&c.jsxDEV("div",{className:"text-center pt-4",children:c.jsxDEV(ve,{onClick:g,variant:"outline",disabled:n.loading,children:n.loading?c.jsxDEV(c.Fragment,{children:[c.jsxDEV(uo,{className:"w-4 h-4 mr-2 animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:406,columnNumber:25},this),"Loading..."]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:405,columnNumber:23},this):"Load More"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:399,columnNumber:19},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:398,columnNumber:17},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:351,columnNumber:13},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:303,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:292,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/GlobalSearch.tsx",lineNumber:185,columnNumber:5},this)}const uLe=()=>{const e=yl();return E.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),c.jsxDEV("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:c.jsxDEV("div",{className:"text-center",children:[c.jsxDEV("h1",{className:"mb-4 text-4xl font-bold",children:"404"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:14,columnNumber:9},void 0),c.jsxDEV("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:15,columnNumber:9},void 0),c.jsxDEV("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:16,columnNumber:9},void 0)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:13,columnNumber:7},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/pages/NotFound.tsx",lineNumber:12,columnNumber:5},void 0)},dLe=new YQ;function fLe(){const{isAuthenticated:e}=on();return e?c.jsxDEV(Zle,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:37,columnNumber:10},this):c.jsxDEV(wu,{to:"/login",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:36,columnNumber:32},this)}function mLe(){const{isAuthenticated:e,checkSetup:r}=on(),[t,n]=E.useState("checking"),[i,a]=E.useState(!0);return E.useEffect(()=>{(async()=>{try{a(!0);const u=await r();n(u?"needed":"complete")}catch(u){console.error("Failed to check setup status:",u),n("error")}finally{a(!1)}})()},[r]),i||t==="checking"?c.jsxDEV("div",{className:"min-h-screen flex items-center justify-center bg-[hsl(220,25%,8%)]",children:c.jsxDEV("div",{className:"flex flex-col items-center gap-4",children:[c.jsxDEV("div",{className:"w-8 h-8 border-4 border-primary border-t-transparent rounded-full animate-spin"},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:69,columnNumber:11},this),c.jsxDEV("p",{className:"text-sm text-[hsl(220,10%,50%)]",children:"Loading..."},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:68,columnNumber:9},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:67,columnNumber:7},this):c.jsxDEV(Hee,{children:[c.jsxDEV(Wt,{path:"/setup",element:e?c.jsxDEV(wu,{to:"/dashboard",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:82,columnNumber:13},this):t==="needed"?c.jsxDEV(tce,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:84,columnNumber:13},this):c.jsxDEV(wu,{to:"/login",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:86,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:78,columnNumber:7},this),c.jsxDEV(Wt,{path:"/login",element:e?c.jsxDEV(wu,{to:"/dashboard",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:94,columnNumber:13},this):t==="needed"?c.jsxDEV(wu,{to:"/setup",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:96,columnNumber:13},this):c.jsxDEV(rce,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:98,columnNumber:13},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:90,columnNumber:7},this),c.jsxDEV(Wt,{path:"/",element:c.jsxDEV(fLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:102,columnNumber:32},this),children:[c.jsxDEV(Wt,{index:!0,element:t==="needed"?c.jsxDEV(wu,{to:"/setup",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:107,columnNumber:15},this):c.jsxDEV(wu,{to:"/dashboard",replace:!0},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:109,columnNumber:15},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:103,columnNumber:9},this),c.jsxDEV(Wt,{path:"dashboard",element:c.jsxDEV(eMe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:113,columnNumber:42},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:113,columnNumber:9},this),c.jsxDEV(Wt,{path:"keys",element:c.jsxDEV(XMe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:114,columnNumber:37},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:114,columnNumber:9},this),c.jsxDEV(Wt,{path:"cli",element:c.jsxDEV(ZMe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:115,columnNumber:36},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:115,columnNumber:9},this),c.jsxDEV(Wt,{path:"monitor",element:c.jsxDEV(f3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:116,columnNumber:40},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:116,columnNumber:9},this),c.jsxDEV(Wt,{path:"pubsub",element:c.jsxDEV(m3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:117,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:117,columnNumber:9},this),c.jsxDEV(Wt,{path:"slowlog",element:c.jsxDEV(h3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:118,columnNumber:40},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:118,columnNumber:9},this),c.jsxDEV(Wt,{path:"memory",element:c.jsxDEV(w3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:119,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:119,columnNumber:9},this),c.jsxDEV(Wt,{path:"diagnostics",element:c.jsxDEV(F3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:120,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:120,columnNumber:9},this),c.jsxDEV(Wt,{path:"clients",element:c.jsxDEV(z3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:121,columnNumber:40},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:121,columnNumber:9},this),c.jsxDEV(Wt,{path:"config",element:c.jsxDEV(K3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:122,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:122,columnNumber:9},this),c.jsxDEV(Wt,{path:"ttl",element:c.jsxDEV(G3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:123,columnNumber:36},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:123,columnNumber:9},this),c.jsxDEV(Wt,{path:"profiler",element:c.jsxDEV(Q3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:124,columnNumber:41},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:124,columnNumber:9},this),c.jsxDEV(Wt,{path:"keyspace",element:c.jsxDEV(nLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:125,columnNumber:41},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:125,columnNumber:9},this),c.jsxDEV(Wt,{path:"search",element:c.jsxDEV(cLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:126,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:126,columnNumber:9},this),c.jsxDEV(Wt,{path:"server",element:c.jsxDEV(E3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:127,columnNumber:39},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:127,columnNumber:9},this),c.jsxDEV(Wt,{path:"acl",element:c.jsxDEV(j3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:128,columnNumber:36},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:128,columnNumber:9},this),c.jsxDEV(Wt,{path:"import-export",element:c.jsxDEV(P3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:129,columnNumber:46},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:129,columnNumber:9},this),c.jsxDEV(Wt,{path:"connections",element:c.jsxDEV(R3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:130,columnNumber:44},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:130,columnNumber:9},this),c.jsxDEV(Wt,{path:"settings",element:c.jsxDEV(M3e,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:131,columnNumber:41},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:131,columnNumber:9},this),c.jsxDEV(Wt,{path:"*",element:c.jsxDEV(uLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:132,columnNumber:34},this)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:132,columnNumber:9},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:102,columnNumber:7},this)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:77,columnNumber:5},this)}const hLe=()=>c.jsxDEV(JQ,{client:dLe,children:c.jsxDEV(Aie,{children:[c.jsxDEV(Gne,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:141,columnNumber:7},void 0),c.jsxDEV(Xre,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:142,columnNumber:7},void 0),c.jsxDEV($ie,{children:c.jsxDEV(sre,{children:c.jsxDEV(mLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:145,columnNumber:11},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:144,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:143,columnNumber:7},void 0)]},void 0,!0,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:140,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/App.tsx",lineNumber:139,columnNumber:3},void 0);yI(document.getElementById("root")).render(c.jsxDEV(hLe,{},void 0,!1,{fileName:"/home/runner/work/rediscover/rediscover/src/main.tsx",lineNumber:5,columnNumber:53},void 0));