signetai 0.76.0 → 0.76.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/chunks/{CakBuH19.js → -ydU3S0W.js} +2 -2
- package/dashboard/_app/immutable/chunks/{B8RkrkP2.js → 2qxbHgg1.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BmlXCwyO.js → 8nrtA0zd.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CAselS2a.js → B5W7510b.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DBfNNVC5.js → BDcs_M6s.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DXF7ZgZf.js → BElIJ3Kf.js} +1 -1
- package/dashboard/_app/immutable/chunks/{0clLSmnW.js → BKfpN7PE.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DmznbP6q.js → BLh6ioff.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Dmq7121K.js → BOHGk1OV.js} +1 -1
- package/dashboard/_app/immutable/chunks/{wZE3jJFf.js → BP5pB_4J.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CYfL1h3k.js → BYvo794c.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CHRUdggZ.js → BdHyJqGB.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BOyo_MI2.js → By3PQYMF.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CXYsM7jF.js → BzUtPINm.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DohRBaT0.js → C75ZSdM-.js} +1 -1
- package/dashboard/_app/immutable/chunks/{3zVBfrdZ.js → C98luRCe.js} +1 -1
- package/dashboard/_app/immutable/chunks/{ByjLSowq.js → CCSu9jUH.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CGuKwt_O.js → CFACHz8i.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DJIs9bhB.js → Capd-dh_.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DP4CvwXd.js → Caz0IrWj.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CziNCBQn.js → ChQ3ksMI.js} +1 -1
- package/dashboard/_app/immutable/chunks/{cZYS1l8j.js → CmdYSzCo.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DxXJeUTe.js → Cp9mJUhc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{xhBU3KSt.js → CqHzdttG.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DpKVa2Sd.js → CzquSCtU.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C2ZZbuiG.js → D1VevHah.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Dd59PHvt.js → D39I8Kpo.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BGoUmRC5.js → D4ZKI8sQ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BadoTVvL.js → D6tO5xog.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CXEXZMc1.js → DCDg9aJi.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BbCiCc-S.js → DEDikSfY.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D9mN4pgD.js → DYNcCNDa.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D7iVIHZZ.js → Dow0u8lU.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C66QHYsa.js → DqMv6jRy.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CXy0jFjr.js → DsdHoWhT.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D6cd2usj.js → Dvvx8CpC.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DN6yGQLc.js → ICu-dBhN.js} +1 -1
- package/dashboard/_app/immutable/chunks/{XP9JsOOK.js → LiAmxJht.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Cn9W5J_c.js → Qh-JRpbV.js} +3 -3
- package/dashboard/_app/immutable/chunks/{CIz1qIuR.js → RcjZ1fY0.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B2jsalUy.js → TXcYSJIm.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CGOrOrWU.js → biLDNB_b.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DmAxos8M.js → gg_5z2Ho.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BnoQwUby.js → mJLIP9eP.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CkKq6V9e.js → qq4IREUq.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DtX_cpUj.js → qs_LfVZn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CoHp4Bdn.js → yOeyy5Xx.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.Bjn677nV.js → app.-TPxKopm.js} +2 -2
- package/dashboard/_app/immutable/entry/start.CPwgBC1f.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.CtzhdM1P.js → 1.BAoX-kqh.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.D_L1UeKt.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/dist/daemon.js +16 -9
- package/package.json +1 -1
- package/dashboard/_app/immutable/entry/start.Cz6XB5Z0.js +0 -1
- package/dashboard/_app/immutable/nodes/2.Cp4fGHP3.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as wn,o as f,e as Ee,Q as re,v as n,j as l,F as br,i as e,t as d,k as j,l as s,b as u,d as Sn,u as U,D as fn,O as X,N as Ar,m,P as Mn,g as cr,y as F,B as bt,f as me,w as ur,ad as Wt,z as b,A as St,G as Mt,c as gr,q as To,$ as Eo,h as Yt,af as Zt,ag as Br,J as lr,ah as aa,R as un,ai as No}from"./Bh3nIh1p.js";import{P as Fo}from"./Bfse3fCo.js";import{af as Po,h as Co,n as oa,i as Lo,A as gn,ag as Do,ah as ia,ai as Ao,aj as sa,ak as Ro,Q as Oo,al as vn,am as Yo,an as Xo,ao as jo,t as Sr}from"./Cn9W5J_c.js";import{C as Pr,a as Cr,b as Lr}from"./2MfvoDg1.js";import{T as Ho}from"./CjrslgAi.js";import{w as Mr,s as Go}from"./pP_VsnEc.js";import{f as la,a as da,b as ca,c as ua,e as ga,g as va}from"./qiR1fnXB.js";import{C as Dr}from"./DXF7ZgZf.js";const Wr=600,zo=5e3,pa="signet-embeddings-graph-physics",kr={centerForce:.28,repelForce:-260,linkForce:.12,linkDistance:92},mn={"claude-code":"#5eada4",clawdbot:"#a78bfa",daemon:"#22c55e","signet-daemon":"#22c55e",openclaw:"#facc15","openclaw-memory":"#facc15",opencode:"#60a5fa",user:"#ef4444",manual:"#f472b6",unknown:"#737373"},fa=3600*1e3,Bo=24*fa,ma=7*Bo,xa=900*1e3,ba=6*fa;function xn(h){const o=(v,g,w)=>Math.min(w,Math.max(g,v));return{centerForce:o(h.centerForce,0,1),repelForce:o(h.repelForce,-600,-10),linkForce:o(h.linkForce,.01,1),linkDistance:o(h.linkDistance,12,280)}}function kn(h){const o=Number.parseInt(h.slice(1),16);return[o>>16&255,o>>8&255,o&255]}function ha(h,o){const[v,g,w]=kn(mn[h??"unknown"]??mn.unknown);return`rgba(${v}, ${g}, ${w}, ${o})`}function ya(h){if(!h)return null;const o=new Date(h).getTime();return Number.isNaN(o)?null:o}function Wo(h,o){const v=ya(h);if(v===null)return .22;const g=Math.max(0,o-v);return g<=xa?1:g<=ba?.76:g<=ma?.52:.22}function In(h){return h>=.95?"minutes":h>=.7?"hours":h>=.45?"week":"older"}function _a(h,o){const v=In(h);return v==="minutes"?`rgba(255, 176, 74, ${o})`:v==="hours"?`rgba(168, 34, 98, ${o})`:v==="week"?`rgba(76, 34, 122, ${o})`:`rgba(118, 111, 102, ${o})`}function qo(h,o){if(o===null)return!1;const v=ya(h);return v===null?!1:v>o}function hr(h){const o=h.content??h.text??"";return o.length>160?`${o.slice(0,160)}...`:o}function Ko(h){const o=h.sourceType??"memory",v=h.sourceId??h.id;return`${o}:${v}`}function Uo(h,o,v,g,w,y){const J=v!==null&&!v.has(h),P=v!==null&&!v.has(o);if(J||P)return"rgba(120, 120, 120, 0.12)";if(y){const Re=w.has(h),pe=w.has(o);return Re&&pe?"rgba(220, 220, 220, 0.72)":"rgba(90, 90, 90, 0.08)"}return g.get(h)||g.get(o)?"rgba(200, 200, 200, 0.6)":"rgba(180, 180, 180, 0.4)"}const Kr={person:"#eab308",project:"#06b6d4",system:"#a855f7",tool:"#10b981",concept:"#f43f5e",skill:"#f59e0b",task:"#64748b",unknown:"#737373"};function bn(h){return Kr[h.toLowerCase()]??Kr.unknown}function qr(h,o){const v=bn(h),[g,w,y]=kn(v);return`rgba(${g}, ${w}, ${y}, ${o})`}function Vo(h,o){const v=.8+o*1.2;switch(h){case"uses":case"requires":return{color:"rgba(180, 180, 200, 0.35)",width:v,dash:[]};case"owned_by":return{color:"rgba(160, 160, 180, 0.25)",width:v+.4,dash:[]};case"blocks":return{color:"rgba(220, 100, 100, 0.4)",width:v,dash:[4,3]};case"informs":return{color:"rgba(100, 160, 220, 0.35)",width:v,dash:[2,3]};default:return{color:"rgba(150, 150, 160, 0.3)",width:v,dash:[]}}}function Jo(h){return 5+Math.min(h,1)*3}function Qo(h){return 3+Math.min(h,1)}function Zo(h){const o=h.aspects.length+h.aspects.reduce((v,g)=>v+g.attributes.length*.5,0);return 10+Math.min(o,24)*.5}function $o(h){switch(h){case"entity":return-200;case"aspect":return-40;case"attribute":return-15;case"memory":return-5;default:return-5}}function wa(h,o){const[v,g,w]=kn(h);return`rgba(${v}, ${g}, ${w}, ${o})`}const ei=[.85],ti=[.3,.5,.7,.75,.9],hn={};for(const[h,o]of Object.entries(mn)){const v={};for(const g of ei)v[g]=wa(o,g);hn[h]=v}const yn={};for(const[h,o]of Object.entries(Kr)){const v={};for(const g of ti)v[g]=wa(o,g);yn[h]=v}function _n(h,o){const g=hn[h??"unknown"]?.[o]??hn.unknown?.[o];return g||ha(h,o)}function xr(h,o){const v=h.toLowerCase(),g=yn[v]?.[o]??yn.unknown?.[o];return g||qr(h,o)}const ri={minutes:{.9:"rgba(255, 176, 74, 0.9)",1:"rgba(255, 176, 74, 1)"},hours:{.9:"rgba(168, 34, 98, 0.9)",1:"rgba(168, 34, 98, 1)"},week:{.9:"rgba(76, 34, 122, 0.9)",1:"rgba(76, 34, 122, 1)"},older:{.9:"rgba(118, 111, 102, 0.9)",1:"rgba(118, 111, 102, 1)"}};function ni(h,o){const v=In(h),g=ri[v]?.[o];return g||_a(h,o)}function Sa(h){if(!h)return 0;const o=new Date(h).getTime();return Number.isNaN(o)?0:o}function ai(h,o){if(h===0)return .22;const v=Math.max(0,o-h);return v<=xa?1:v<=ba?.76:v<=ma?.52:.22}class oi{fills;constructor(o,v,g,w,y,J,P,Re,pe,he){const ge=new Array(o.length);for(let $e=0;$e<o.length;$e++){const We=o[$e];if(We.nodeType&&We.nodeType!=="memory"){ge[$e]="";continue}ge[$e]=this.compute(We,v,g,w,y,J,P,Re,pe,he)}this.fills=ge}compute(o,v,g,w,y,J,P,Re,pe,he){const ge=o.data.id,$e=w.get(ge)??null,We=g!==null&&!g.has(ge),Ke=y.has(ge),Oe=P&&!J.has(ge);if(v===ge)return"rgba(255, 255, 255, 0.95)";if(Oe)return We?"rgba(80, 80, 80, 0.08)":"rgba(95, 95, 95, 0.15)";if($e==="similar")return Re==="none"?We?"rgba(160, 170, 185, 0.3)":"rgba(198, 210, 228, 0.84)":We?"rgba(129, 180, 255, 0.35)":"rgba(129, 180, 255, 0.9)";if($e==="dissimilar")return Re==="none"?We?"rgba(165, 150, 150, 0.28)":"rgba(208, 190, 190, 0.8)":We?"rgba(255, 146, 146, 0.35)":"rgba(255, 146, 146, 0.9)";if(Ke)return We?"rgba(220, 220, 220, 0.42)":"rgba(235, 235, 235, 0.95)";if(We)return"rgba(120, 120, 120, 0.2)";if(Re==="none")return"rgba(168, 168, 168, 0.82)";if(Re==="newness"){const ut=o.createdMs??Sa(o.data.createdAt),kt=ai(ut,pe);if(In(kt)==="older"){const Ft=o.data.who??"unknown";if(he!==null&&he.has(Ft))return _n(Ft,.85)}return ni(kt,.9)}return _n(o.data.who,.85)}}const ar=50;class ii{minX=-100;maxX=100;minY=-100;maxY=100;cells=new Map;cols=1;offsetX=0;offsetY=0;rebuild(o){if(this.cells.clear(),o.length===0){this.minX=-100,this.maxX=100,this.minY=-100,this.maxY=100,this.cols=1;return}let v=1/0,g=-1/0,w=1/0,y=-1/0;for(const P of o)P.x<v&&(v=P.x),P.x>g&&(g=P.x),P.y<w&&(w=P.y),P.y>y&&(y=P.y);const J=ar;this.minX=v-J,this.maxX=g+J,this.minY=w-J,this.maxY=y+J,this.offsetX=this.minX,this.offsetY=this.minY,this.cols=Math.max(1,Math.ceil((this.maxX-this.minX)/ar));for(const P of o){const Re=Math.floor((P.x-this.offsetX)/ar),he=Math.floor((P.y-this.offsetY)/ar)*this.cols+Re,ge=this.cells.get(he);ge?ge.push(P):this.cells.set(he,[P])}}query(o,v,g){const w=g+ar*.5,y=Math.floor((o-w-this.offsetX)/ar),J=Math.floor((o+w-this.offsetX)/ar),P=Math.floor((v-w-this.offsetY)/ar),Re=Math.floor((v+w-this.offsetY)/ar),pe=Math.ceil((this.maxY-this.minY)/ar),he=[];for(let ge=Math.max(0,P);ge<=Re&&ge<pe;ge++)for(let $e=Math.max(0,y);$e<=Math.min(this.cols-1,J);$e++){const We=this.cells.get(ge*this.cols+$e);if(We)for(const Ke of We)he.push(Ke)}return he}}function pn(h,o,v,g){h.beginPath();for(let w=0;w<6;w++){const y=Math.PI/3*w-Math.PI/6,J=o+g*Math.cos(y),P=v+g*Math.sin(y);w===0?h.moveTo(J,P):h.lineTo(J,P)}h.closePath()}var si=m('<canvas class="minimap svelte-reb91a" aria-label="Graph navigation minimap"></canvas>'),li=m('<div class="canvas-wrapper svelte-reb91a"><canvas class="main-canvas svelte-reb91a"></canvas> <!></div>');function di(h,o){wn(o,!0);let v=f(null),g=0,w=0,y=.15,J=!1,P=!1,Re=!1,pe=null,he=0,ge=0,$e=0,We=0;const Ke=4;let Oe=null,ut=0,kt=null,Ft=!1,Ye=0,Gt=!0,qt=null,gt=!1,rr=new Map;const vt=new ii;let Xt=!0,it=null,zt=[],C=[],ne=[],Ne=0,qe=0,Ue=!1;const ye=160,ze=120,et=50;let st=f(null),Pe=!0,tt=0;const It=4;let Pt=f(Ee({minX:-100,maxX:100,minY:-100,maxY:100})),fe=U(()=>o.nodes.length>et),Ce=!1;function ve(){if(Gt=!0,Pe=!0,!ut){const i=e(v)?.getContext("2d");i&&(ut=requestAnimationFrame(M=>Fe(i,M)))}}const lt=12e3,xe=8e3,_e=5e3;function we(){g=0,w=0,y=.15,gt=!1,Be=!1}let Be=!1;function dt(i){const M=rr.get(i);M&&(g=M.x,w=M.y,y=Math.max(y,1.6),gt=!0)}function ht(i,M,$=o.graphPhysics){Oe?.stop(),Be=!1;const ie=xn($);Oe=la(i).force("link",da(M).distance(ie.linkDistance).strength(ie.linkForce)).force("charge",ca().strength(ie.repelForce)).force("x",ua(0).strength(ie.centerForce)).force("y",ga(0).strength(ie.centerForce)).force("collide",va().radius(H=>H.radius+2)).alphaDecay(.04).on("tick",()=>{Xt=!0,it=null,ve()}).on("end",()=>{gt||ft()})}function Tt(i,M){Oe?.stop(),Be=!1;const $=da(M).distance(H=>{const se=H.source,Le=H.target;return H.edgeType==="dependency"?120:se.nodeType==="entity"&&Le.nodeType==="aspect"?50:se.nodeType==="aspect"&&Le.nodeType==="attribute"?30:se.nodeType==="attribute"&&Le.nodeType==="memory"?20:50}).strength(H=>{if(H.edgeType==="dependency")return .05;const se=H.source,Le=H.target;return se.nodeType==="entity"&&Le.nodeType==="aspect"?.3:se.nodeType==="aspect"&&Le.nodeType==="attribute"?.4:se.nodeType==="attribute"&&Le.nodeType==="memory"?.5:.3}),ie=ca().strength(H=>$o(H.nodeType));Oe=la(i).force("link",$).force("charge",ie).force("x",ua(0).strength(.03)).force("y",ga(0).strength(.03)).force("collide",va().radius(H=>H.radius+2)).alphaDecay(.04).on("tick",()=>{Xt=!0,it=null,ve()}).on("end",()=>{gt||ft()})}function Ct(i){Oe&&(ht(o.nodes,o.edges,i),ve())}function ue(){Oe?.stop(),Oe=null}function Se(i=!1){Ve(),!i&&!gt&&o.nodes.length>0&&ft(),Ft||(window.addEventListener("resize",Ve),Ft=!0),$t(),Gt=!0;const M=e(v)?.getContext("2d");M&&(cancelAnimationFrame(ut),Fe(M,0))}function pt(){Gt=!0;const i=e(v)?.getContext("2d");i&&(cancelAnimationFrame(ut),Fe(i,0))}function Lt(){cancelAnimationFrame(ut)}function Ve(){if(!e(v))return;let i=e(v).parentElement;for(;i&&getComputedStyle(i).display==="contents";)i=i.parentElement;const M=i?.getBoundingClientRect();!M||M.width===0||(e(v).width=M.width,e(v).height=M.height,!gt&&Be&&ft(),ve())}function ft(){if(!e(v))return;if(o.nodes.length===0){g=0,w=0,y=.15;return}const i=Dt(),M=Math.max(i.maxX-i.minX,1),$=Math.max(i.maxY-i.minY,1),ie=Math.max(e(v).width,1),H=Math.max(e(v).height,1),se=Math.min(ie/M,H/$)*.92;g=(i.minX+i.maxX)/2,w=(i.minY+i.maxY)/2,y=Math.max(.08,se),Be=!0}function mt(i,M){if(!e(v))return[0,0];const $=e(v).getBoundingClientRect(),ie=$.width/2,H=$.height/2;return[(i-$.left-ie)/y+g,(M-$.top-H)/y+w]}function yt(i,M){Xt&&(vt.rebuild(o.nodes),Xt=!1);const $=vt.query(i,M,28),ie=["entity","aspect","attribute","memory",void 0];for(const H of ie)for(let se=$.length-1;se>=0;se--){const Le=$[se];if(Le.nodeType!==H)continue;const Q=Le.x-i,q=Le.y-M,le=Le.radius+(H==="entity"?6:H==="aspect"?5:4);if(Q*Q+q*q<=le*le)return Le}return null}function Dt(){return o.nodes.length===0?{minX:-100,maxX:100,minY:-100,maxY:100}:Xt?(vt.rebuild(o.nodes),Xt=!1,{minX:vt.minX,maxX:vt.maxX,minY:vt.minY,maxY:vt.maxY}):{minX:vt.minX,maxX:vt.maxX,minY:vt.minY,maxY:vt.maxY}}re(()=>{o.nodes.length>0&&(rr=new Map(o.nodes.map(i=>[i.data.id,i])),Xt=!0,it=null,n(Pt,Dt(),!0),Pe=!0)});function Bt(){if(!e(st)||!e(v))return;const i=e(st).getContext("2d");if(!i)return;const{minX:M,maxX:$,minY:ie,maxY:H}=e(Pt),se=$-M,Le=H-ie;i.fillStyle="#050505",i.fillRect(0,0,ye,ze);const Q=(ye-8)/se,q=(ze-8)/Le,le=Math.min(Q,q),de=(ye-se*le)/2,_=(ze-Le*le)/2;i.fillStyle="rgba(140, 140, 150, 0.5)";for(const Ir of o.nodes){const Rr=de+(Ir.x-M)*le,Or=_+(Ir.y-ie)*le;i.fillRect(Rr-.5,Or-.5,1,1)}const G=e(v).width/y,E=e(v).height/y,V=g-G/2,Y=w-E/2;let z=de+(V-M)*le,Me=_+(Y-ie)*le,Je=G*le,Et=E*le;const Jt=2;z=Math.max(Jt,Math.min(ye-Jt-1,z)),Me=Math.max(Jt,Math.min(ze-Jt-1,Me)),Je=Math.max(2,Math.min(ye-z-Jt,Je)),Et=Math.max(2,Math.min(ze-Me-Jt,Et)),i.strokeStyle="rgba(255, 255, 255, 0.75)",i.lineWidth=1.5,i.strokeRect(z,Me,Je,Et),i.fillStyle="rgba(255, 255, 255, 0.03)",i.fillRect(z,Me,Je,Et)}function L(i){if(!e(st))return null;const M=e(st).getBoundingClientRect(),$=i.clientX-M.left,ie=i.clientY-M.top,{minX:H,maxX:se,minY:Le,maxY:Q}=e(Pt),q=se-H,le=Q-Le,de=(ye-8)/q,_=(ze-8)/le,G=Math.min(de,_),E=(ye-q*G)/2,V=(ze-le*G)/2,Y=H+($-E)/G,z=Le+(ie-V)/G;return[Y,z]}function W(i){i.preventDefault(),i.stopPropagation(),Ce=!0,Kt(i)}function rt(i){Ce&&Kt(i)}function Kt(i){const M=L(i);if(!M)return;const[$,ie]=M;if(g=$,w=ie,Pe=!0,Gt=!0,!ut){const H=e(v)?.getContext("2d");H&&(ut=requestAnimationFrame(se=>Fe(H,se)))}}function oe(){Ce=!1}function Fe(i,M){if(!e(v))return;const $=Oe?.alpha?.()??0;if(!($>.001)&&!Gt){ut=0;return}Gt=!1;const H=o.edges.length>14e3||o.nodes.length>2200,se=$>0&&$<.05,Le=H||se?33:16;if(M>0&&M-Ye<Le){ut=requestAnimationFrame(_=>Fe(i,_));return}if(Ye=M,Ue){Ue=!1;const[_,G]=mt(Ne,qe),E=yt(_,G),V=E?.data.id??null;V!==qt&&(qt=V,o.onhovernode(E?.data??null)),e(v)&&(e(v).style.cursor=E?"pointer":"grab")}const Q=e(v).width,q=e(v).height;i.fillStyle="#050505",i.fillRect(0,0,Q,q),i.save(),i.translate(Q/2,q/2),i.scale(y,y),i.translate(-g,-w);const le=o.graphSelected?.id??null;it||(it=new oi(o.nodes,le,o.embeddingFilterIds,o.relationLookup,o.pinnedIds,o.lensIds,o.clusterLensMode,o.colorMode,o.nowMs,o.sourceFocusSources));const de=y>=1.4?lt:y>=.8?xe:_e;if(zt.length>0){const _=Math.max(1,Math.ceil(zt.length/de));i.beginPath();for(let G=0;G<zt.length;G+=_){const E=zt[G],V=E.source,Y=E.target;typeof V=="number"||typeof Y=="number"||!V||!Y||(i.moveTo(V.x,V.y),i.lineTo(Y.x,Y.y))}i.strokeStyle="rgba(255, 255, 255, 0.03)",i.lineWidth=.4/y,i.stroke()}if(C.length>0){const _=Math.max(1,Math.ceil(C.length/de)),G=new Map;for(let E=0;E<C.length;E+=_){const V=C[E],Y=V.source,z=V.target;if(typeof Y=="number"||typeof z=="number"||!Y||!z)continue;const Me=Uo(Y.data.id,z.data.id,o.embeddingFilterIds,o.relationLookup,o.lensIds,o.clusterLensMode),Je=G.get(Me);Je?Je.push([Y.x,Y.y,z.x,z.y]):G.set(Me,[[Y.x,Y.y,z.x,z.y]])}i.lineWidth=.8/y;for(const[E,V]of G){i.beginPath();for(const[Y,z,Me,Je]of V)i.moveTo(Y,z),i.lineTo(Me,Je);i.strokeStyle=E,i.stroke()}}if(ne.length>0){const _=Math.max(1,Math.floor(de/4)),G=Math.max(1,Math.ceil(ne.length/_));for(let E=0;E<ne.length;E+=G){const V=ne[E],Y=V.source,z=V.target;if(typeof Y=="number"||typeof z=="number"||!Y||!z)continue;const Me=Vo(V.dependencyType??"",V.strength??.5);i.beginPath(),Me.dash.length>0&&i.setLineDash(Me.dash.map(Je=>Je/y)),i.moveTo(Y.x,Y.y),i.lineTo(z.x,z.y),i.strokeStyle=Me.color,i.lineWidth=Me.width/y,i.stroke(),Me.dash.length>0&&i.setLineDash([])}}{const _=new Map,G=[],E=[];let V=null;for(let Y=0;Y<o.nodes.length;Y++){const z=o.nodes[Y];if(z.nodeType!=="memory"&&z.nodeType!==void 0)continue;const Me=it.fills[Y],Je=_.get(Me);Je?Je.push(z):_.set(Me,[z]),o.colorMode!=="none"&&o.showNewSinceLastSeen&&qo(z.data.createdAt,o.lastSeenMs)&&G.push(z),o.pinnedIds.has(z.data.id)&&E.push(z),le===z.data.id&&(V=z)}for(const[Y,z]of _){i.beginPath();for(const Me of z)i.moveTo(Me.x+Me.radius,Me.y),i.arc(Me.x,Me.y,Me.radius,0,Math.PI*2);i.fillStyle=Y,i.fill()}if(G.length>0){i.beginPath();for(const Y of G)i.moveTo(Y.x+Y.radius+2.2,Y.y),i.arc(Y.x,Y.y,Y.radius+2.2,0,Math.PI*2);i.strokeStyle="rgba(246, 194, 107, 0.85)",i.lineWidth=1.1/y,i.stroke()}if(E.length>0){i.strokeStyle="rgba(240, 240, 240, 0.8)",i.lineWidth=1.2/y;for(const Y of E){const z=(Y.radius+2.5)*2;i.strokeRect(Y.x-z/2,Y.y-z/2,z,z)}}V&&(i.beginPath(),i.arc(V.x,V.y,V.radius+3,0,Math.PI*2),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke())}for(const _ of o.nodes){if(_.nodeType!=="attribute")continue;const G=_.data.who??"unknown";i.beginPath(),i.arc(_.x,_.y,_.radius,0,Math.PI*2),i.fillStyle=xr(G,.3),i.fill(),i.strokeStyle=xr(G,.5),i.lineWidth=.6/y,i.stroke(),le===_.data.id&&(i.beginPath(),i.arc(_.x,_.y,_.radius+3,0,Math.PI*2),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke())}for(const _ of o.nodes){if(_.nodeType!=="aspect")continue;const G=_.data.who??"unknown";if(i.beginPath(),i.arc(_.x,_.y,_.radius,0,Math.PI*2),i.fillStyle=xr(G,.5),i.fill(),i.strokeStyle=xr(G,.75),i.lineWidth=.8/y,i.stroke(),le===_.data.id&&(i.beginPath(),i.arc(_.x,_.y,_.radius+3,0,Math.PI*2),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke()),o.graphHovered&&_.data.id===o.graphHovered.id||le===_.data.id){const E=Math.max(7,9/y);i.font=`${E}px var(--font-mono)`,i.fillStyle="rgba(210, 210, 210, 0.85)",i.textAlign="center",i.fillText(_.aspectData?.name??"",_.x,_.y+_.radius+E+1/y),i.textAlign="start"}}for(const _ of o.nodes){if(_.nodeType!=="entity")continue;const G=_.entityData?.entityType??"unknown";i.save(),i.shadowColor=xr(G,.5),i.shadowBlur=12/y,pn(i,_.x,_.y,_.radius),i.fillStyle=xr(G,.7),i.fill(),i.restore(),pn(i,_.x,_.y,_.radius),i.strokeStyle=xr(G,.9),i.lineWidth=1.2/y,i.stroke(),le===_.data.id&&(pn(i,_.x,_.y,_.radius+4),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke());const E=Math.max(8,10/y);i.font=`bold ${E}px var(--font-mono)`,i.fillStyle="rgba(230, 230, 230, 0.9)",i.textAlign="center",i.fillText(_.entityData?.name??"",_.x,_.y+_.radius+E+2/y),i.textAlign="start"}if(o.graphHovered){const _=rr.get(o.graphHovered.id);if(_&&_.nodeType!=="entity"&&_.nodeType!=="aspect"){const G=_.nodeType==="attribute"?_.attributeData?.content??hr(o.graphHovered):hr(o.graphHovered),E=9/y;i.font=`${E}px var(--font-mono)`,i.fillStyle="rgba(220, 220, 220, 0.9)",i.textAlign="left";const V=80;i.fillText(G.length>V?`${G.slice(0,V)}...`:G,_.x+_.radius+5/y,_.y+E*.35),i.textAlign="start"}}i.restore(),e(fe)&&(tt++,(Pe||tt>=It)&&(Bt(),Pe=!1,tt=0)),ut=requestAnimationFrame(_=>Fe(i,_))}function $t(){if(!e(v))return;kt&&(kt(),kt=null);const i=e(v),M=Q=>{const[q,le]=mt(Q.clientX,Q.clientY),de=yt(q,le);Re=!1,de?(P=!0,pe=de,he=Q.clientX,ge=Q.clientY):(J=!0,he=Q.clientX,ge=Q.clientY,$e=g,We=w)},$=Q=>{if(P&&pe){const q=Q.clientX-he,le=Q.clientY-ge;if(!Re&&q*q+le*le<Ke*Ke)return;Re||(Re=!0,gt=!0,pe.fx=pe.x,pe.fy=pe.y,Oe?.alphaTarget(.3).restart());const[de,_]=mt(Q.clientX,Q.clientY);pe.fx=de,pe.fy=_,ve();return}if(J){gt=!0,g=$e-(Q.clientX-he)/y,w=We-(Q.clientY-ge)/y,ve();return}Ne=Q.clientX,qe=Q.clientY,Ue=!0,ve()},ie=()=>{if(P&&pe){Re&&(pe.fx=null,pe.fy=null,Oe?.alphaTarget(0)),pe=null,P=!1,ve();return}J=!1},H=()=>{J=!1,qt!==null&&(qt=null,o.onhovernode(null))},se=Q=>{if(Re)return;const[q,le]=mt(Q.clientX,Q.clientY),de=yt(q,le);o.onselectnode(de?.data??null)},Le=Q=>{Q.preventDefault(),gt=!0;const q=Q.deltaY>0?.9:1.1,le=Math.max(.1,Math.min(5,y*q)),de=i.getBoundingClientRect(),_=de.width/2,G=de.height/2,E=Q.clientX-de.left-_,V=Q.clientY-de.top-G,Y=E/y+g,z=V/y+w;y=le,g=Y-E/y,w=z-V/y,ve()};i.addEventListener("pointerdown",M),i.addEventListener("pointermove",$),i.addEventListener("pointerup",ie),i.addEventListener("pointerleave",H),i.addEventListener("click",se),i.addEventListener("wheel",Le,{passive:!1}),kt=()=>{i.removeEventListener("pointerdown",M),i.removeEventListener("pointermove",$),i.removeEventListener("pointerup",ie),i.removeEventListener("pointerleave",H),i.removeEventListener("click",se),i.removeEventListener("wheel",Le)}}re(()=>{o.graphSelected,o.graphHovered,o.embeddingFilterIds,o.relationLookup,o.pinnedIds,o.lensIds,o.clusterLensMode,it=null,ve()}),re(()=>{const i=o.edges,M=[],$=[],ie=[];for(const H of i)H.edgeType==="hierarchy"?M.push(H):H.edgeType==="dependency"?ie.push(H):$.push(H);zt=M,C=$,ne=ie}),re(()=>()=>{Oe?.stop(),Oe=null,kt&&(kt(),kt=null),Ft&&(window.removeEventListener("resize",Ve),Ft=!1),cancelAnimationFrame(ut)});var nr={resetCamera:we,focusNode:dt,startSimulation:ht,startKnowledgeGraphSimulation:Tt,updatePhysics:Ct,stopSimulation:ue,startRendering:Se,resumeRendering:pt,stopRendering:Lt,requestRedraw:ve},or=li(),Ut=l(or);br(Ut,i=>n(v,i),()=>e(v));var ct=d(Ut,2);{var Vt=i=>{var M=si();fn(M,"width",ye),fn(M,"height",ze),br(M,$=>n(st,$),()=>e(st)),X("mousedown",M,W),X("mousemove",M,rt),X("mouseup",M,oe),Ar("mouseleave",M,oe),u(i,M)};j(ct,i=>{e(fe)&&i(Vt)})}return s(or),u(h,or),Sn(nr)}Mn(["mousedown","mousemove","mouseup"]);var ci=m('<button class="text-[11px] text-[var(--sig-accent)] bg-transparent border-none cursor-pointer p-0 hover:underline">Clear</button>'),ui=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.08)]">pinned</span>'),gi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),vi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase"> </div> <div class="flex flex-col gap-2"></div>',1),pi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),fi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Dependencies</div> <div class="flex flex-col gap-2"></div>',1),mi=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] border px-[7px] py-[2px]"> </span> <!></div> <div class="font-[family-name:var(--font-mono)] text-[14px] text-[var(--sig-text-bright)] font-bold"> </div> <div class="grid grid-cols-3 gap-1 text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><div class="border border-[var(--sig-border-strong)] px-2 py-1 text-center"><div class="text-[var(--sig-text-bright)]"> </div> <div>aspects</div></div> <div class="border border-[var(--sig-border-strong)] px-2 py-1 text-center"><div class="text-[var(--sig-text-bright)]"> </div> <div>attributes</div></div> <div class="border border-[var(--sig-border-strong)] px-2 py-1 text-center"><div class="text-[var(--sig-text-bright)]"> </div> <div>deps</div></div></div> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)]">Center</button></div> <!> <!>',1),xi=m('<button class="w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase">Parent entity</span> <div class="text-[12px] text-[var(--sig-text-bright)]"> </div></button>'),bi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),hi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase"> </div> <div class="flex flex-col gap-2"></div>',1),yi=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]">aspect</span> <span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]"> </span></div> <div class="font-[family-name:var(--font-mono)] text-[14px] text-[var(--sig-text-bright)] font-bold"> </div> <!> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)]">Center</button></div> <!>',1),_i=m('<button class="w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase">Parent entity</span> <div class="text-[12px] text-[var(--sig-text-bright)]"> </div></button>'),wi=m('<button class="w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase">Parent aspect</span> <div class="text-[12px] text-[var(--sig-text-bright)]"> </div></button>'),Si=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Linked memory</div> <button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>',1),Mi=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]"> </span> <span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]"> </span></div> <p class="m-0 text-[13px] leading-[1.55] text-[var(--sig-text-bright)] whitespace-pre-wrap break-words"> </p> <!> <!> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)]">Center</button></div> <!>',1),ki=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span>'),Ii=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.08)]">pinned</span>'),Ti=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span>'),Ei=m('<div class="flex flex-wrap gap-[6px]"></div>'),Ni=m('<div class="border border-dashed border-[var(--sig-danger)] p-2 text-[11px] text-[var(--sig-danger)] leading-[1.5]"> </div>'),Fi=m('<div class="border border-dashed border-[var(--sig-border-strong)] p-3 text-[12px] text-[var(--sig-text-muted)] leading-[1.5]">No related memories in this view.</div>'),Pi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),Ci=m('<div class="border border-dashed border-[var(--sig-border-strong)] p-3 text-[12px] text-[var(--sig-text-muted)] leading-[1.5]">Finding similar memories...</div>'),Li=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap">global</span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),Di=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Global similar</div> <div class="flex flex-col gap-2"></div>',1),Ai=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span> <!> <span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span> <!></div> <div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] border border-[var(--sig-border-strong)] px-[7px] py-[5px] bg-transparent break-all"> </div> <p class="m-0 text-[13px] leading-[1.55] text-[var(--sig-text-bright)] whitespace-pre-wrap break-words"> </p> <!> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)] disabled:opacity-40 disabled:cursor-not-allowed">Center</button> <button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)] disabled:opacity-40 disabled:cursor-not-allowed"> </button> <button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)] disabled:opacity-40 disabled:cursor-not-allowed"> </button></div> <!> <div class="self-start flex border border-[var(--sig-border-strong)] overflow-hidden"><button>Similar</button> <button>Dissimilar</button></div> <div class="flex flex-col gap-2"><!></div> <!>',1),Ri=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),Oi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Search matches</div> <div class="flex flex-col gap-2"></div>',1),Yi=m('<div class="border border-dashed border-[var(--sig-border-strong)] p-3 text-[12px] text-[var(--sig-text-muted)] leading-[1.5]">Select a node to inspect content, source metadata, and similar or dissimilar neighbors.</div> <!>',1),Xi=m('<aside><div class="flex items-center justify-between gap-2"><span class="font-[family-name:var(--font-mono)] text-[11px] tracking-[0.06em] uppercase text-[var(--sig-text)]">Inspector</span> <!></div> <!></aside>');function ji(h,o){wn(o,!0);let v=cr(o,"containerClass",3,""),g=cr(o,"selectedNodeType",3,void 0),w=cr(o,"selectedEntityData",3,null),y=cr(o,"selectedAspectData",3,null),J=cr(o,"selectedAttributeData",3,null),P=cr(o,"parentEntityId",3,null),Re=cr(o,"parentAspectId",3,null),pe=cr(o,"constellationOverlay",3,null);const he=U(()=>g()==="entity"&&w()!==null),ge=U(()=>g()==="aspect"&&y()!==null),$e=U(()=>g()==="attribute"&&J()!==null),We=U(()=>{if(!w()||!pe())return[];const C=w().id;return pe().dependencies.filter(ne=>ne.sourceEntityId===C||ne.targetEntityId===C)}),Ke=U(()=>!P()||!pe()?null:pe().entities.find(C=>C.id===P())??null),Oe=U(()=>!Re()||!e(Ke)?null:e(Ke).aspects.find(C=>C.id===Re())??null);function ut(C){return pe()?pe().entities.find(Ne=>Ne.id===C)?.name??C:C}function kt(C){return o.embeddingById.get(C)??null}var Ft=Xi(),Ye=l(Ft),Gt=d(l(Ye),2);{var qt=C=>{var ne=ci();X("click",ne,function(...Ne){o.onclearselection?.apply(this,Ne)}),u(C,ne)};j(Gt,C=>{o.graphSelected&&C(qt)})}s(Ye);var gt=d(Ye,2);{var rr=C=>{var ne=mi(),Ne=me(ne),qe=l(Ne),Ue=l(qe,!0);s(qe);var ye=d(qe,2);{var ze=ue=>{var Se=ui();u(ue,Se)};j(ye,ue=>{w().pinned&&ue(ze)})}s(Ne);var et=d(Ne,2),st=l(et,!0);s(et);var Pe=d(et,2),tt=l(Pe),It=l(tt),Pt=l(It,!0);s(It),ur(2),s(tt);var fe=d(tt,2),Ce=l(fe),ve=l(Ce,!0);s(Ce),ur(2),s(fe);var lt=d(fe,2),xe=l(lt),_e=l(xe,!0);s(xe),ur(2),s(lt),s(Pe);var we=d(Pe,2),Be=l(we);s(we);var dt=d(we,2);{var ht=ue=>{var Se=vi(),pt=me(Se),Lt=l(pt);s(pt);var Ve=d(pt,2);St(Ve,21,()=>w().aspects,Mt,(ft,mt)=>{var yt=gi(),Dt=l(yt),Bt=l(Dt);s(Dt);var L=d(Dt,2),W=l(L,!0);s(L),s(yt),F(rt=>{b(Bt,`w${rt??""}%`),b(W,e(mt).name)},[()=>Math.round(e(mt).weight*100)]),X("click",yt,()=>o.onselectembedding(`aspect:${e(mt).id}`)),u(ft,yt)}),s(Ve),F(()=>b(Lt,`Aspects (${w().aspects.length??""})`)),u(ue,Se)};j(dt,ue=>{w().aspects.length>0&&ue(ht)})}var Tt=d(dt,2);{var Ct=ue=>{var Se=fi(),pt=d(me(Se),2);St(pt,21,()=>e(We),Mt,(Lt,Ve)=>{const ft=U(()=>e(Ve).sourceEntityId===w().id),mt=U(()=>e(ft)?e(Ve).targetEntityId:e(Ve).sourceEntityId);var yt=pi(),Dt=l(yt),Bt=l(Dt);s(Dt);var L=d(Dt,2),W=l(L,!0);s(L),s(yt),F(rt=>{b(Bt,`${e(ft)?"->":"<-"} ${e(Ve).dependencyType??""}`),b(W,rt)},[()=>ut(e(mt))]),X("click",yt,()=>o.onselectembedding(`entity:${e(mt)}`)),u(Lt,yt)}),s(pt),u(ue,Se)};j(Tt,ue=>{e(We).length>0&&ue(Ct)})}F((ue,Se)=>{Wt(qe,ue),b(Ue,w().entityType),b(st,w().name),b(Pt,w().aspects.length),b(ve,Se),b(_e,e(We).length)},[()=>`color: ${bn(w().entityType)}; border-color: ${bn(w().entityType)}; background: rgba(255,255,255,0.04);`,()=>w().aspects.reduce((ue,Se)=>ue+Se.attributes.length,0)]),X("click",Be,function(...ue){o.onfocusembedding?.apply(this,ue)}),u(C,ne)},vt=C=>{var ne=yi(),Ne=me(ne),qe=d(l(Ne),2),Ue=l(qe);s(qe),s(Ne);var ye=d(Ne,2),ze=l(ye,!0);s(ye);var et=d(ye,2);{var st=fe=>{var Ce=xi(),ve=d(l(Ce),2),lt=l(ve,!0);s(ve),s(Ce),F(()=>b(lt,e(Ke).name)),X("click",Ce,()=>e(Ke)&&o.onselectembedding(`entity:${e(Ke).id}`)),u(fe,Ce)};j(et,fe=>{e(Ke)&&fe(st)})}var Pe=d(et,2),tt=l(Pe);s(Pe);var It=d(Pe,2);{var Pt=fe=>{var Ce=hi(),ve=me(Ce),lt=l(ve);s(ve);var xe=d(ve,2);St(xe,21,()=>y().attributes,Mt,(_e,we)=>{var Be=bi(),dt=l(Be),ht=l(dt,!0);s(dt);var Tt=d(dt,2),Ct=l(Tt,!0);s(Tt),s(Be),F(()=>{b(ht,e(we).kind),b(Ct,e(we).content)}),X("click",Be,()=>o.onselectembedding(`attr:${e(we).id}`)),u(_e,Be)}),s(xe),F(()=>b(lt,`Attributes (${y().attributes.length??""})`)),u(fe,Ce)};j(It,fe=>{y().attributes.length>0&&fe(Pt)})}F(fe=>{b(Ue,`weight ${fe??""}%`),b(ze,y().name)},[()=>Math.round(y().weight*100)]),X("click",tt,function(...fe){o.onfocusembedding?.apply(this,fe)}),u(C,ne)},Xt=C=>{var ne=Mi(),Ne=me(ne),qe=l(Ne),Ue=l(qe,!0);s(qe);var ye=d(qe,2),ze=l(ye);s(ye),s(Ne);var et=d(Ne,2),st=l(et,!0);s(et);var Pe=d(et,2);{var tt=xe=>{var _e=_i(),we=d(l(_e),2),Be=l(we,!0);s(we),s(_e),F(()=>b(Be,e(Ke).name)),X("click",_e,()=>e(Ke)&&o.onselectembedding(`entity:${e(Ke).id}`)),u(xe,_e)};j(Pe,xe=>{e(Ke)&&xe(tt)})}var It=d(Pe,2);{var Pt=xe=>{var _e=wi(),we=d(l(_e),2),Be=l(we,!0);s(we),s(_e),F(()=>b(Be,e(Oe).name)),X("click",_e,()=>e(Oe)&&o.onselectembedding(`aspect:${e(Oe).id}`)),u(xe,_e)};j(It,xe=>{e(Oe)&&xe(Pt)})}var fe=d(It,2),Ce=l(fe);s(fe);var ve=d(fe,2);{var lt=xe=>{const _e=U(()=>o.embeddingById.get(J().memoryId));var we=gr(),Be=me(we);{var dt=ht=>{var Tt=Si(),Ct=d(me(Tt),2),ue=l(Ct),Se=l(ue,!0);s(ue);var pt=d(ue,2),Lt=l(pt,!0);s(pt),s(Ct),F(Ve=>{b(Se,e(_e).who??"memory"),b(Lt,Ve)},[()=>hr(e(_e))]),X("click",Ct,()=>e(_e)&&o.onselectembedding(e(_e).id)),u(ht,Tt)};j(Be,ht=>{e(_e)&&ht(dt)})}u(xe,we)};j(ve,xe=>{J().memoryId&&xe(lt)})}F(xe=>{b(Ue,J().kind),b(ze,`importance ${xe??""}%`),b(st,J().content)},[()=>Math.round(J().importance*100)]),X("click",Ce,function(...xe){o.onfocusembedding?.apply(this,xe)}),u(C,ne)},it=C=>{var ne=Ai(),Ne=me(ne),qe=l(Ne),Ue=l(qe,!0);s(qe);var ye=d(qe,2);{var ze=L=>{var W=ki(),rt=l(W,!0);s(W),F(()=>b(rt,o.graphSelected.type)),u(L,W)};j(ye,L=>{o.graphSelected.type&&L(ze)})}var et=d(ye,2),st=l(et);s(et);var Pe=d(et,2);{var tt=L=>{var W=Ii();u(L,W)};j(Pe,L=>{o.graphSelected.pinned&&L(tt)})}s(Ne);var It=d(Ne,2),Pt=l(It,!0);s(It);var fe=d(It,2),Ce=l(fe,!0);s(fe);var ve=d(fe,2);{var lt=L=>{var W=Ei();St(W,21,()=>o.graphSelected.tags.slice(0,8),Mt,(rt,Kt)=>{var oe=Ti(),Fe=l(oe);s(oe),F(()=>b(Fe,`#${e(Kt)??""}`)),u(rt,oe)}),s(W),u(L,W)};j(ve,L=>{o.graphSelected.tags?.length&&L(lt)})}var xe=d(ve,2),_e=l(xe),we=d(_e,2),Be=l(we,!0);s(we);var dt=d(we,2),ht=l(dt,!0);s(dt),s(xe);var Tt=d(xe,2);{var Ct=L=>{var W=Ni(),rt=l(W,!0);s(W),F(()=>b(rt,o.pinError)),u(L,W)};j(Tt,L=>{o.pinError&&L(Ct)})}var ue=d(Tt,2),Se=l(ue),pt=d(Se,2);s(ue);var Lt=d(ue,2),Ve=l(Lt);{var ft=L=>{var W=Fi();u(L,W)},mt=L=>{var W=gr(),rt=me(W);St(rt,17,()=>o.activeNeighbors,Mt,(Kt,oe)=>{const Fe=U(()=>kt(e(oe).id));var $t=gr(),nr=me($t);{var or=Ut=>{var ct=Pi(),Vt=l(ct),i=l(Vt,!0);s(Vt);var M=d(Vt,2),$=l(M,!0);s(M),s(ct),F((ie,H)=>{b(i,ie),b($,H)},[()=>Math.round(e(oe).score*1e3)/1e3,()=>hr(e(Fe))]),X("click",ct,()=>o.onselectembedding(e(Fe).id)),u(Ut,ct)};j(nr,Ut=>{e(Fe)&&Ut(or)})}u(Kt,$t)}),u(L,W)};j(Ve,L=>{o.activeNeighbors.length===0?L(ft):L(mt,-1)})}s(Lt);var yt=d(Lt,2);{var Dt=L=>{var W=Ci();u(L,W)},Bt=L=>{var W=Di(),rt=d(me(W),2);St(rt,21,()=>o.globalSimilar,Mt,(Kt,oe)=>{var Fe=Li(),$t=d(l(Fe),2),nr=l($t,!0);s($t),s(Fe),F(()=>b(nr,e(oe).content)),X("click",Fe,()=>o.onopenglobalsimilar(e(oe))),u(Kt,Fe)}),s(rt),u(L,W)};j(yt,L=>{o.loadingGlobalSimilar?L(Dt):o.globalSimilar.length>0&&L(Bt,1)})}F((L,W)=>{b(Ue,o.graphSelected.who??"unknown"),b(st,`importance ${L??""}%`),b(Pt,W),b(Ce,o.graphSelected.content??o.graphSelected.text??"(No content preview available)"),we.disabled=o.pinBusy,b(Be,o.pinBusy?"Saving...":o.graphSelected.pinned?"Unpin":"Pin"),dt.disabled=o.loadingGlobalSimilar,b(ht,o.loadingGlobalSimilar?"Loading...":"Global similar"),bt(Se,1,`px-2 py-0.5 text-[10px] font-medium font-[family-name:var(--font-mono)] bg-transparent border-none cursor-pointer tracking-[0.04em] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] ${o.relationMode==="similar"?"text-[var(--sig-text-bright)] bg-[var(--sig-surface-raised)]":"text-[var(--sig-text-muted)]"}`),bt(pt,1,`px-2 py-0.5 text-[10px] font-medium font-[family-name:var(--font-mono)] bg-transparent border-none cursor-pointer tracking-[0.04em] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] ${o.relationMode==="dissimilar"?"text-[var(--sig-text-bright)] bg-[var(--sig-surface-raised)]":"text-[var(--sig-text-muted)]"}`)},[()=>Math.round((o.graphSelected.importance??0)*100),()=>Ko(o.graphSelected)]),X("click",_e,function(...L){o.onfocusembedding?.apply(this,L)}),X("click",we,function(...L){o.onpintoggle?.apply(this,L)}),X("click",dt,function(...L){o.onloadglobalsimilar?.apply(this,L)}),X("click",Se,()=>o.onsetrelationmode("similar")),X("click",pt,()=>o.onsetrelationmode("dissimilar")),u(C,ne)},zt=C=>{var ne=Yi(),Ne=d(me(ne),2);{var qe=Ue=>{var ye=Oi(),ze=d(me(ye),2);St(ze,21,()=>o.embeddingSearchMatches,Mt,(et,st)=>{var Pe=Ri(),tt=l(Pe),It=l(tt,!0);s(tt);var Pt=d(tt,2),fe=l(Pt,!0);s(Pt),s(Pe),F(Ce=>{b(It,e(st).who),b(fe,Ce)},[()=>hr(e(st))]),X("click",Pe,()=>o.onselectembedding(e(st).id)),u(et,Pe)}),s(ze),u(Ue,ye)};j(Ne,Ue=>{o.embeddingSearch&&o.embeddingSearchMatches.length>0&&Ue(qe)})}u(C,ne)};j(gt,C=>{e(he)&&w()?C(rr):e(ge)&&y()?C(vt,1):e($e)&&J()?C(Xt,2):o.graphSelected?C(it,3):C(zt,-1)})}s(Ft),F(()=>bt(Ft,1,`flex flex-col gap-3 p-3 overflow-y-auto ${v()}`)),u(h,Ft),Sn()}Mn(["click"]);var Hi=m('<div class="absolute right-3 z-[9] pointer-events-none"><button type="button" class="pointer-events-auto px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] bg-[rgba(5,5,5,0.74)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]"> </button></div>'),Gi=m('<span class="text-[#c4a24a]"> </span>'),zi=m('<div class="mt-0.5 font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)] leading-[1.3]"> </div>'),Bi=m('<div class="mt-1"><div class="flex items-center justify-between font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)]"><span> </span> <span> </span></div> <div class="mt-1 h-[5px] border border-[rgba(255,255,255,0.2)] bg-[rgba(255,255,255,0.05)]"><div class="h-full bg-[#c4a24a]"></div></div> <div class="mt-1 font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)]"> </div></div>'),Wi=m('<div class="mb-2 border border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-1.5 py-1.5"><div class="font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text)] leading-[1.3]"> </div> <!> <!></div>'),qi=m('<button type="button" class="mt-1 font-[family-name:var(--font-mono)] text-[9px] text-[#c4a24a] hover:text-[var(--sig-text-bright)] underline underline-offset-2 disabled:opacity-40 disabled:no-underline"> </button>'),Ki=m('<div class="flex items-start gap-1.5 px-1.5 py-1 border border-[rgba(255,255,255,0.1)] bg-[rgba(255,255,255,0.02)]"><span class="inline-block w-[6px] h-[6px] rounded-full shrink-0 mt-[4px]"></span> <div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)]"> </span> <span class="font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)] uppercase"> </span></div> <div class="font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)] leading-[1.3] mt-0.5"> </div> <!></div></div>'),Ui=m('<div class="mt-1 border border-[rgba(255,255,255,0.22)] bg-[rgba(5,5,5,0.92)] px-2 py-2 w-[320px]"><div class="flex items-center justify-between mb-2"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase tracking-[0.06em]">Constellation Health</span> <span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)]"> </span></div> <!> <div class="space-y-1"></div></div>'),Vi=m('<div class="absolute top-2 right-3 z-[8] pointer-events-none"><div class="pointer-events-auto"><button type="button" class="flex items-center gap-1.5 px-2 py-[4px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[rgba(255,255,255,0.22)] bg-[rgba(5,5,5,0.75)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"><span class="inline-block w-[7px] h-[7px] rounded-full shrink-0"></span> <span class="text-[var(--sig-text-muted)]"> </span> <!></button> <!></div></div>'),Ji=m("<span>Legend</span> <!>",1),Qi=m("<span> </span>"),Zi=m('<div class="flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-[var(--sig-text-muted)] mb-1.5"><span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>last few minutes</span> <span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>last few hours</span> <span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>last week</span> <span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>older</span></div> <div class="flex flex-wrap gap-1 mb-1.5"></div>',1),$i=m('<span><span class="inline-block w-[6px] h-[6px] rounded-full"></span> </span>'),es=m('<div class="flex flex-wrap gap-1 mb-1.5"></div>'),ts=m('<div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1.5">No color applied - all nodes are shown in gray.</div>'),rs=m('<div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1"><span class="text-[var(--sig-text)]">Outline</span> = new since last seen</div>'),ns=m('<span class="h-5 inline-flex items-center gap-1 px-1.5 py-0 font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] border border-[rgba(255,255,255,0.14)] bg-transparent"><span class="inline-block w-[8px] h-[8px]"></span> </span>'),as=m('<div class="mt-2 pt-2 border-t border-[rgba(255,255,255,0.1)]"><div class="text-[10px] font-[family-name:var(--font-mono)] uppercase tracking-[0.06em] text-[var(--sig-text-muted)] mb-1">Knowledge Graph</div> <div class="flex flex-wrap gap-1 mb-1.5"></div> <div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] space-y-0.5"><div><span class="text-[var(--sig-text)]">Hexagon</span> = entity (large, labeled)</div> <div><span class="text-[var(--sig-text)]">Circle</span> = aspect (medium, orbits entity)</div> <div><span class="text-[var(--sig-text)]">Small dot</span> = attribute (orbits aspect)</div> <div><span class="text-[var(--sig-text)]">Tiny dot</span> = linked memory (leaf node)</div> <div><span class="text-[var(--sig-text)]">Faint lines</span> = parent-child hierarchy</div> <div><span class="text-[var(--sig-text)]">Styled line</span> = entity dependency</div></div></div>'),os=m('<div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1"><span class="text-[var(--sig-text)]">Color</span> </div> <!> <div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1"><span class="text-[var(--sig-text)]">Radius</span> = importance</div> <div class="flex items-center gap-2 text-[10px] text-[var(--sig-text-muted)] mb-1.5"><span class="inline-block w-[6px] h-[6px] rounded-full border border-[rgba(255,255,255,0.24)]"></span> <span class="inline-block w-[9px] h-[9px] rounded-full border border-[rgba(255,255,255,0.28)]"></span> <span class="inline-block w-[12px] h-[12px] rounded-full border border-[rgba(255,255,255,0.32)]"></span> <span>low to high</span></div> <!> <div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35]"><span class="text-[var(--sig-text)]">Relation highlight</span> = selected node neighborhood emphasis</div> <!>',1),is=m("<!> <!>",1),ss=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p> </p></div>'),ls=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p class="text-[var(--sig-danger)]"> </p></div>'),ds=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p>No memories found</p></div>'),cs=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p>Loading...</p></div>'),us=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.04)]"> </span>'),gs=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.08)]">pinned</span>'),vs=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.08)]">locked</span>'),ps=m('<div class="grid grid-cols-[1fr_auto] items-start gap-2 border border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.02)] px-1.5 py-1"><span class="text-[10px] leading-[1.35] text-[var(--sig-text)] line-clamp-1"> </span> <span class="text-[10px] text-[var(--sig-text-muted)]"> </span></div>'),fs=m('<div class="mt-2 pt-2 border-t border-[rgba(255,255,255,0.14)]"><div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase tracking-[0.06em] mb-1">Local neighbors</div> <div class="space-y-1"></div></div>'),ms=m('<div class="z-[9] w-[320px] pointer-events-none border border-[rgba(255,255,255,0.26)] bg-[rgba(5,5,5,0.92)] px-2 py-2" style="position:absolute;top:0;left:0;will-change:transform"><div class="flex items-center gap-1.5 flex-wrap mb-1.5"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.04)]"> </span> <!> <!> <!></div> <div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] mb-1.5"> </div> <p class="m-0 text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-3"> </p> <div class="mt-1 text-[10px] text-[var(--sig-text-muted)]"> </div> <!></div>'),xs=m('<div class="absolute inset-0 flex items-center justify-center bg-[#050505]"><span class="text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] text-[11px]"> </span></div>'),bs=m('<div class="absolute inset-0 flex items-center justify-center bg-[#050505]"><span class="text-[var(--sig-danger)] font-[family-name:var(--font-mono)] text-[11px]"> </span></div>'),hs=m('<div class="absolute inset-0 flex items-center justify-center bg-[#050505]"><span class="text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] text-[11px]"> </span></div>'),ys=m("<span>View Controls</span> <!>",1),_s=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] border border-[var(--sig-border)] px-2 py-1"> </span>'),ws=m('<div class="p-2 space-y-2 border-t border-[var(--sig-border)]"><div class="flex items-center gap-2"><input type="text" class="flex-1 font-[family-name:var(--font-mono)] text-[11px] text-[var(--sig-text-bright)] bg-[var(--sig-surface)] border border-[var(--sig-border-strong)] px-[9px] py-[6px] outline-none" placeholder="Search constellation"/> <!></div> <div class="text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </div> <div class="flex flex-wrap gap-1"><button>Pinned</button> <button>Neighborhood</button> <button>Lens</button> <button class="px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"> </button></div> <div class="border border-[var(--sig-border)] px-2 py-2 space-y-1.5"><div class="font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] text-[var(--sig-text-muted)]">Color Mode</div> <div class="flex flex-wrap gap-1"><button>Newness</button> <button>Source</button> <button>None</button></div></div> <div class="border border-[var(--sig-border)] px-2 py-2 space-y-1.5"><div class="font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] text-[var(--sig-text-muted)]">Overlays</div> <div class="flex flex-wrap gap-1"><button>New since last seen</button> <button> </button></div></div> <div class="border border-[var(--sig-border)] px-2 py-2 space-y-1.5" style="accent-color: var(--sig-highlight);"><div class="font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] text-[var(--sig-text-muted)]">Graph Physics</div> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>center force</span> <span> </span></div> <input type="range" min="0" max="1" step="0.01"/></label> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>repel force</span> <span> </span></div> <input type="range" min="-600" max="-10" step="5"/></label> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>link force</span> <span> </span></div> <input type="range" min="0.01" max="1" step="0.01"/></label> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>link distance</span> <span> </span></div> <input type="range" min="12" max="280" step="1"/></label> <button type="button" class="px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]">Physics Reset</button></div></div>'),Ss=m("<!> <!>",1),Ms=m("<span>Presets</span> <!>",1),ks=m("<button> </button>"),Is=m('<div class="inline-flex items-center border border-[var(--sig-border-strong)]"><button> </button> <button class="px-1.5 py-[2px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]">×</button></div>'),Ts=m('<div class="p-2 border-t border-[var(--sig-border)] flex flex-wrap gap-1"><!> <!> <button class="px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"> </button></div>'),Es=m("<!> <!>",1),Ns=m("<span>Sources</span> <!>",1),Fs=m('<span class="text-[10px] text-[var(--sig-text-muted)]">No sources</span>'),Ps=m("<button> </button>"),Cs=m('<div class="p-2 border-t border-[var(--sig-border)] flex flex-wrap gap-1"><!></div>'),Ls=m("<!> <!>",1),Ds=m("<span>Advanced</span> <!>",1),As=m('<div class="flex items-center gap-1 flex-wrap"><input type="date" class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/> <input type="date" class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/></div>'),Rs=m('<span class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]">none</span>'),Os=m("<button> </button>"),Ys=m("<button> </button>"),Xs=m('<div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Type</span> <!></div>'),js=m("<button> </button>"),Hs=m('<div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Source type</span> <!></div>'),Gs=m('<div class="p-2 border-t border-[var(--sig-border)] space-y-2"><div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Window</span> <input type="number" min="0" max="100000" class="w-[70px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/> <span class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]">to</span> <input type="number" min="1" max="100000" class="w-[70px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/> <select class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"><option>time: all</option><option>time: 24h</option><option>time: 7d</option><option>time: 30d</option><option>time: 90d</option><option>time: custom</option></select></div> <!> <div class="flex items-center gap-1 flex-wrap"><select class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"><option>pins: all</option><option>pins: pinned</option><option>pins: unpinned</option></select> <input type="text" class="w-[140px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="server query"/> <input type="text" class="w-[110px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="tags csv"/> <input type="text" class="w-[60px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="imp>"/> <input type="text" class="w-[60px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="imp<"/></div> <div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Harness</span> <!></div> <!> <!></div>'),zs=m("<!> <!>",1),Bs=m('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-1 min-h-0 bg-[#050505] max-lg:flex-col"><div class="flex-1 relative overflow-hidden bg-[#050505]" role="presentation"><!> <!> <div class="absolute left-3 top-3 bottom-3 z-[8] pointer-events-none flex flex-col justify-end items-start max-w-[220px]"><!></div> <!> <div class="absolute left-[14px] z-[6] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.08em] uppercase pointer-events-none" aria-hidden="true">:: ○ ○ 01 10 11 // latent topology</div> <div class="absolute inset-0 pointer-events-none z-[5]" aria-hidden="true"><span class="absolute top-[10px] left-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:1px 0 0 1px"></span> <span class="absolute top-[10px] right-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:1px 1px 0 0"></span> <span class="absolute bottom-[10px] left-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:0 0 1px 1px"></span> <span class="absolute bottom-[10px] right-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:0 1px 1px 0"></span></div> <!> <div><!></div> <div><!></div></div> <div class="w-[360px] min-w-[320px] border-l border-[var(--sig-border)] bg-[var(--sig-surface)] flex flex-col min-h-0 max-lg:w-full max-lg:min-w-0 max-lg:max-h-[48%] max-lg:border-l-0 max-lg:border-t max-lg:border-t-[var(--sig-border)]"><div class="p-3 border-b border-[var(--sig-border)] space-y-2 overflow-y-auto"><!> <!> <!> <!></div> <!></div></div></div>');function $s(h,o){wn(o,!0);let v=f(!1),g=f(null),w=f(null),y=f(""),J=f(""),P=f(Ee([])),Re=f(0),pe=f(!1),he=f(!1),ge=f(""),$e=f(""),We=0,Ke=f(Ee([])),Oe,ut=f(null),kt=f(null),Ft=f(null),Ye=f(Ee(new Set)),Gt=f(Ee([])),qt=f(!1),gt=f(!0),rr=f(Ee(new Set)),vt=f(!1),Xt=f(""),it=f(!0),zt=f(Ee(new Set)),C=f("focus"),ne=f(Ee([])),Ne=f(!1),qe=f(!1),Ue=f(!0),ye=f(!1),ze=f(!0);const et=["daemon","user","opencode"],st=new Set(et),Pe="signet-constellation-color-mode-session",tt="signet-constellation-new-since-session",It="signet-constellation-color-mode",Pt="signet-constellation-new-since",fe="signet-constellation-last-seen";let Ce=f(0),ve=f(Ee(Wr)),lt=f("all"),xe=f(Ee(Date.now())),_e=f(""),we=f(""),Be=f(""),dt=f(""),ht=f("all"),Tt=f(""),Ct=f(""),ue=f(Ee([])),Se=f(Ee(new Set)),pt=f(Ee([])),Lt=f(Ee([])),Ve=f(Ee(new Set)),ft=f(Ee(new Set)),mt=f(""),yt=0,Dt=f("similar"),Bt=f(Ee([])),L=f(Ee([])),W=f(Ee([])),rt=f(!1),Kt=f(Ee([])),oe=f("source"),Fe=f(!1),$t=f(null),nr=f(null),or=f(!1),Ut=f(Ee(Date.now())),ct=f(Ee([])),Vt=f(Ee([])),i=f(Ee([])),M=f(!1),$=f(null),ie=f(!1);const H="signet-constellation-entity-overlay";let se=f("2d"),Le=f(Ee([])),Q=0,q=f(Ee(kr)),le=f(!1),de=f(Ee(new Map)),_=f(Ee(new Map)),G=f(Ee(new Map)),E=f(null),V=f(null),Y=f(null),z=0,Me=0,Je=null,Et=f(null),Jt=f(null),Ir=f(null),Rr=f(!1),Or=f(!1),dr=f(null),Ur=f(!1),yr=f(!1),Vr,ir=f(null),sr=f(null),At=f(null),Yr;To(()=>{n(Ue,Mr.embeddings.controlsOpen,!0),n(ye,Mr.embeddings.presetsOpen,!0),n(ze,Mr.embeddings.sourcesOpen,!0)});function Ma(t){if(oa.activeTab!=="embeddings"||t.defaultPrevented)return;const r=t.target,a=r instanceof HTMLElement&&(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.tagName==="SELECT"||r.isContentEditable),c=r instanceof HTMLElement&&r.getAttribute("data-memory-tab")==="embeddings";if(t.key==="ArrowDown"&&c){t.preventDefault(),e(Ue)?Oe?.focus():(n(Ue,!0),un().then(()=>Oe?.focus()));return}if(t.key==="ArrowUp"&&r===Oe){t.preventDefault();const p=document.querySelector('[data-memory-tab="embeddings"]');p?p.focus():Oe?.blur();return}}async function Tr(){n(dr,await Do(),!0)}function ka(t){const r=t.match(/cooldown active,\s*(\d+)ms remaining/i);if(!r?.[1])return null;const a=Number.parseInt(r[1],10);return Number.isFinite(a)&&a>=0?a:null}function Tn(t){const r=Math.ceil(t/1e3);if(r<60)return`${r}s`;const a=Math.floor(r/60),c=r%60;return c>0?`${a}m ${c}s`:`${a}m`}function Ia(t){const r=t.match(/([\d,]+)\s+memories?\s+missing\s+embeddings/i);if(!r?.[1])return null;const a=Number.parseInt(r[1].replaceAll(",",""),10);return Number.isFinite(a)&&a>=0?a:null}function Er(){Yr&&(clearInterval(Yr),Yr=void 0)}function Ta(t){const r=Math.max(1,Math.floor(t/1e3));if(r<60)return`${r}s`;const a=Math.floor(r/60),c=r%60;return c>0?`${a}m ${c}s`:`${a}m`}function En(t){Er();const r=Date.now();let a=t,c=!1,p=0;n(ir,"Re-embedding in progress"),n(sr,t===null?"Collecting progress...":`${t.toLocaleString()} missing at start`,!0),n(At,null);const k=async()=>{if(!c){c=!0;try{const x=await vn(),T=Ta(Date.now()-r);if(n(ir,`Re-embedding in progress (${T})`),x){a===null&&(a=x.unembedded);const S=Math.max(0,a??x.unembedded),D=Math.max(0,S-x.unembedded),ae=S>0?Math.min(100,D/S*100):100;n(At,{baseline:S,completed:D,remaining:x.unembedded,percent:ae,coverage:x.coverage},!0),n(sr,a===null?`${x.unembedded.toLocaleString()} still missing (${x.coverage} coverage)`:`${D.toLocaleString()} completed, ${x.unembedded.toLocaleString()} remaining (${x.coverage} coverage)`,!0)}p%2===0&&await Tr(),p++}finally{c=!1}}};k(),Yr=setInterval(()=>{k()},3e3)}async function Ea(t){if(e(yr))return;n(yr,!0);const r=t.name==="coverage"||t.name==="null-vectors";if(r||(n(ir,`Running ${t.name} repair...`),n(sr,null),n(At,null)),r){const a=Ia(t.message);if(a!==null)En(a);else{const c=await vn();En(c?.unembedded??null)}}try{let a;if(t.name==="orphaned-embeddings")a=await Yo();else if(t.name==="vec-table-sync")a=await Xo();else if(t.name==="coverage"||t.name==="null-vectors")a=await jo();else{Sr(`Repair action not wired for ${t.name}`,"warning");return}if(!a.success){if(Er(),a.status===429){const c=ka(a.message);c!==null?(n(ir,"Repair blocked by cooldown"),n(sr,`Try again in ${Tn(c)}.`),Sr(`Repair on cooldown. Try again in ${Tn(c)}.`,"warning",4500)):(n(ir,"Repair blocked by policy"),n(sr,a.message,!0),Sr(`Repair temporarily blocked: ${a.message}`,"warning",5e3)),await Tr();return}n(ir,"Repair failed"),n(sr,a.message,!0),n(At,null),Sr(`Repair failed: ${a.message}`,"error",5e3);return}if(Er(),n(ir,"Repair completed"),n(sr,a.message,!0),r){const c=await vn();if(c&&e(At)){const p=e(At).baseline,k=Math.max(0,p-c.unembedded);n(At,{baseline:p,completed:k,remaining:c.unembedded,percent:p>0?Math.min(100,k/p*100):100,coverage:c.coverage},!0)}}a.affected>0?Sr(a.message,"success",4500):Sr(a.message,"info",4500),await Tr(),r&&a.affected>0&&await en()}finally{Er(),n(yr,!1)}}function Na(t){return t==="healthy"?"#4a7a5e":t==="degraded"?"#c4a24a":"#8a4a48"}function Fa(t){return t==="ok"?"#4a7a5e":t==="warn"?"#c4a24a":"#8a4a48"}re(()=>(Tr(),Vr=setInterval(Tr,6e4),()=>{Er(),Vr&&clearInterval(Vr)}));let Jr=!1;function Xr(){Jr||(Jr=!0,queueMicrotask(()=>{Jr=!1,e(se)==="3d"&&e(Jt)?.refreshAppearance()}))}function Pa(t){return{id:t.id,content:t.content,who:t.who,importance:t.importance,type:t.type,tags:t.tags,pinned:t.pinned??!1,sourceType:t.sourceType,sourceId:t.sourceId,createdAt:t.createdAt}}function Ca(t){if(!t)return"-";const r=new Date(t);return Number.isNaN(r.getTime())?"-":r.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function jr(t,r){const a=new Date(e(Ut)-t).toISOString();return _a(Wo(a,e(Ut)),r)}function Qr(){const t=Number.isFinite(e(Ce))?Math.max(0,Math.trunc(e(Ce))):0,r=Number.isFinite(e(ve))?Math.max(1,Math.trunc(e(ve))):Wr,a=Math.max(t+1,Math.min(r,t+zo));return{offset:t,limit:a-t}}function Zr(){const{offset:t,limit:r}=Qr();n(Ce,t,!0),n(ve,t+r)}function Nn(t,r){const a=t.trim();if(!a)return;const c=r?"T23:59:59.999":"T00:00:00.000",p=new Date(`${a}${c}`);if(!Number.isNaN(p.getTime()))return p.toISOString()}function Fn(t){const r=t.trim();if(!r)return;const a=Number.parseFloat(r);if(Number.isFinite(a))return Math.min(1,Math.max(0,a))}function Hr(t,r){const a=t.currentTarget;if(!(a instanceof HTMLInputElement))return r;const c=Number.parseFloat(a.value);return Number.isFinite(c)?c:r}function Nr(t){n(q,xn({...e(q),...t}),!0)}function La(t,r){if(t==="all"||t==="custom")return;const a=t==="24h"?1440*60*1e3:t==="7d"?10080*60*1e3:t==="30d"?720*60*60*1e3:2160*60*60*1e3;return new Date(r-a).toISOString()}function Pn(){const{offset:t,limit:r}=Qr(),a={offset:t,limit:r},c=e(Be).trim();c.length>0&&(a.q=c);const p=[...e(Se)];p.length>0&&(a.who=p);const k=[...e(Ve)];k.length>0&&(a.types=k);const x=[...e(ft)];x.length>0&&(a.sourceTypes=x);const T=e(dt).split(",").map(N=>N.trim()).filter(N=>N.length>0);T.length>0&&(a.tags=T),e(ht)==="pinned"&&(a.pinned=!0),e(ht)==="unpinned"&&(a.pinned=!1);let S,D;e(lt)==="custom"?(S=Nn(e(_e),!1),D=Nn(e(we),!0)):S=La(e(lt),e(xe)),S&&(a.since=S),D&&(a.until=D);let ae=Fn(e(Tt)),I=Fn(e(Ct));if(typeof ae=="number"&&typeof I=="number"&&ae>I){const N=ae;ae=I,I=N}return typeof ae=="number"&&(a.importanceMin=ae),typeof I=="number"&&(a.importanceMax=I),a}function Cn(t){return JSON.stringify({offset:t.offset??0,limit:t.limit??Wr,q:t.q??"",who:[...t.who??[]].sort(),types:[...t.types??[]].sort(),sourceTypes:[...t.sourceTypes??[]].sort(),tags:[...t.tags??[]].sort(),pinned:t.pinned??"all",since:t.since??"",until:t.until??"",importanceMin:typeof t.importanceMin=="number"?t.importanceMin:"",importanceMax:typeof t.importanceMax=="number"?t.importanceMax:""})}function Da(t){let r=null;for(const a of t)if(a!==null){if(r===null){r=new Set(a);continue}if(r.size<=a.size)for(const c of r)a.has(c)||r.delete(c);else{const c=new Set;for(const p of a)r.has(p)&&c.add(p);r=c}}return r}function Aa(t,r){const a=e(P).findIndex(k=>k.id===t);if(a<0)return;const c=r(e(P)[a]);e(P)[a]=c,n(P,e(P),!0),e(de).set(t,c),n(de,e(de),!0);const p=e(ct).findIndex(k=>k.data.id===t);p>=0&&(e(ct)[p]={...e(ct)[p],data:c},n(ct,e(ct),!0)),e(g)?.id===t&&n(g,c,!0),e(w)?.id===t&&n(w,c,!0)}function Ra(t){const r=new Set(e(Ye));r.has(t)?r.delete(t):r.add(t),n(Ye,r,!0)}function Oa(t){const r=new Set(e(Se));r.has(t)?r.delete(t):r.add(t),n(Se,r,!0)}function Ya(t){const r=new Set(e(Ve));r.has(t)?r.delete(t):r.add(t),n(Ve,r,!0)}function Xa(t){const r=new Set(e(ft));r.has(t)?r.delete(t):r.add(t),n(ft,r,!0)}function ja(){n(Ce,0),n(ve,Wr,!0),n(lt,"all"),n(_e,""),n(we,""),n(Be,""),n(dt,""),n(ht,"all"),n(Tt,""),n(Ct,""),n(Se,new Set,!0),n(Ve,new Set,!0),n(ft,new Set,!0),Zr()}function Ha(){n(qt,!e(qt)),n(C,"custom-live")}function Ln(){if(e(g))return e(g);if(e(jt))return n(g,e(jt),!0),e(jt);const t=e(P)[0]??null;return t&&n(g,t,!0),t}function Ga(){!e(gt)&&!Ln()||(n(gt,!e(gt)),n(C,"custom-live"))}function za(){!e(it)&&!Ln()||(n(it,!e(it)),n(C,"custom-live"))}function Ba(t){Ra(t),n(C,"custom-live")}function Dn(){if(!e(Y)||!Je)return;const t=Math.max(12,Je.width-334),r=Math.max(12,Je.height-170),a=Math.min(Math.max(12,z+14),t),c=Math.min(Math.max(12,Me+14),r);e(Y).style.transform=`translate3d(${a}px, ${c}px, 0)`}function Wa(t){Je&&(z=t.clientX-Je.left,Me=t.clientY-Je.top,Dn())}function An(t){e(E)||!t&&!e(w)||t&&e(w)&&t.id===e(w).id||n(w,t,!0)}function qa(){e(g)||e(w)&&n(E,e(w).id,!0)}function Rn(){n(E,null)}function On(t){return typeof t=="number"?e(i)[t]??null:t?.data.id??null}const Yn="signet-embeddings-filter-presets",Ka=[{id:"all",name:"All",search:"",sources:[],pinnedOnly:!1,neighborhoodOnly:!1,clusterLensMode:!1},{id:"pinned",name:"Pinned",search:"",sources:[],pinnedOnly:!0,neighborhoodOnly:!1,clusterLensMode:!1},{id:"focus",name:"Focus",search:"",sources:[],pinnedOnly:!1,neighborhoodOnly:!0,clusterLensMode:!0}];function Ua(t,r){return{id:r,name:t,search:e(ge),sources:[...e(Ye)],pinnedOnly:e(qt),neighborhoodOnly:e(gt),clusterLensMode:e(it)}}function Xn(t){n(ge,t.search,!0),n(Ye,new Set(t.sources),!0),n(qt,t.pinnedOnly,!0),n(gt,t.neighborhoodOnly,!0),n(it,t.clusterLensMode,!0),n(C,t.id,!0)}function Va(){if(typeof window>"u")return;const t=e(g)?`Cluster: ${e(g).who??"source"}`:"Custom preset",a=window.prompt("Preset name",t)?.trim();if(!a)return;const c=`custom-${Date.now()}`,p=Ua(a,c);n(ne,[p,...e(ne)].slice(0,8),!0),n(C,c)}function Ja(t){n(ne,e(ne).filter(r=>r.id!==t),!0),e(C)===t&&n(C,"all")}async function jn(){if(e(he))return;n(he,!0),n(J,""),n(y,"Loading projection...");const t=++Q,r=Pn(),a=Cn(r);try{let c=await ia(2,r),p=0;const k=30;for(;c.status==="computing";){if(t!==Q)return;if(p++,p>=k){n(J,"Projection timed out after 60s. Try refreshing."),n(mt,a,!0);return}n(y,"Computing layout..."),await new Promise(R=>setTimeout(R,2e3)),c=await ia(2,r)}if(c.status==="error"){n(J,c.message??"Projection computation failed",!0),n(mt,a,!0);return}if(t!==Q)return;const x=c.nodes??[];if(n(P,x.map(Pa),!0),n(Re,c.total??x.length,!0),n(pe,!!(c.hasMore??(c.count??x.length)<(c.total??x.length)),!0),n(mt,a,!0),n(de,new Map(e(P).map(R=>[R.id,R])),!0),x.length===0){n(y,"");return}let T=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY,D=Number.POSITIVE_INFINITY,ae=Number.NEGATIVE_INFINITY;for(const R of x)R.x<T&&(T=R.x),R.x>S&&(S=R.x),R.y<D&&(D=R.y),R.y>ae&&(ae=R.y);const I=S-T||1,N=ae-D||1,A=560;if(n(ct,x.map((R,ee)=>({x:((R.x-T)/I-.5)*A,y:((R.y-D)/N-.5)*A,radius:2.3+(R.importance??.5)*2.8,color:_n(R.who,.85),data:e(P)[ee],createdMs:Sa(R.createdAt)})),!0),n(i,e(P).map(R=>R.id),!0),n(Vt,(c.edges??[]).map(([R,ee])=>({source:R,target:ee,edgeType:"knn"})),!0),e(M)&&await Qa(),n(y,""),await un(),t!==Q)return;e(M)?(e(Et)?.startKnowledgeGraphSimulation(e(ct),e(Vt)),e(Et)?.startRendering(!0)):(e(Et)?.startSimulation(e(ct),e(Vt),e(q)),e(Et)?.startRendering())}catch(c){n(J,c.message||"Failed to load projection",!0),n(y,""),n(mt,a,!0)}}async function Qa(){n(ie,!0);try{const t=await Ao();if(!t){n($,null);return}n($,t,!0);const r=new Map;for(const S of e(ct))r.set(S.data.id,S);const a=[],c=[],p=[],k=new Map,x=new Map,T=400;for(const S of t.entities){const D=`entity:${S.id}`,ae=Zo(S),I=(Math.random()-.5)*T,N=(Math.random()-.5)*T,A={id:D,content:S.name,who:S.entityType,importance:.9,pinned:S.pinned,tags:[],createdAt:void 0},R=a.length;x.set(S.id,R),a.push({x:I,y:N,radius:ae,color:qr(S.entityType,.7),data:A,nodeType:"entity",entityData:S}),p.push(D),k.set(D,A);for(const ee of S.aspects){const Xe=`aspect:${ee.id}`,je=Jo(ee.weight),ke={id:Xe,content:ee.name,who:S.entityType,importance:ee.weight,pinned:!1,tags:[],createdAt:void 0},O=a.length;a.push({x:I+(Math.random()-.5)*80,y:N+(Math.random()-.5)*80,radius:je,color:qr(S.entityType,.5),data:ke,nodeType:"aspect",aspectData:ee,parentEntityId:S.id}),p.push(Xe),k.set(Xe,ke),c.push({source:R,target:O,edgeType:"hierarchy"});for(const B of ee.attributes){const te=`attr:${B.id}`,Z=Qo(B.importance),Ie={id:te,content:B.content,who:S.entityType,importance:B.importance,pinned:!1,tags:[],createdAt:void 0},be=a.length;if(a.push({x:a[O].x+(Math.random()-.5)*40,y:a[O].y+(Math.random()-.5)*40,radius:Z,color:qr(S.entityType,.3),data:Ie,nodeType:"attribute",attributeData:B,parentEntityId:S.id,parentAspectId:ee.id}),p.push(te),k.set(te,Ie),c.push({source:O,target:be,edgeType:"hierarchy"}),B.memoryId){const ce=r.get(B.memoryId);if(ce){const He=a.length;a.push({x:a[be].x+(Math.random()-.5)*25,y:a[be].y+(Math.random()-.5)*25,radius:2,color:ce.color,data:ce.data,nodeType:"memory"}),p.push(ce.data.id),k.set(ce.data.id,ce.data),c.push({source:be,target:He,edgeType:"hierarchy"})}}}}}if(a.length>3e3){const S=new Map;let D=0;for(let I=0;I<a.length;I++)a[I].nodeType!=="memory"&&(S.set(I,D),a[D]=a[I],p[D]=p[I],D++);a.length=D,p.length=D;let ae=0;for(const I of c){const N=S.get(I.source),A=S.get(I.target);N!==void 0&&A!==void 0&&(c[ae]={...I,source:N,target:A},ae++)}c.length=ae,k.clear();for(const I of a)k.set(I.data.id,I.data)}for(const S of t.dependencies){const D=x.get(S.sourceEntityId),ae=x.get(S.targetEntityId);D!==void 0&&ae!==void 0&&c.push({source:D,target:ae,edgeType:"dependency",dependencyType:S.dependencyType,strength:S.strength})}n(ct,a,!0),n(i,p,!0),n(Vt,c,!0),n(de,k,!0)}finally{n(ie,!1)}}async function Za(t){if(!t){n(Bt,[],!0),n(L,[],!0),n(W,[],!0),n(G,new Map,!0);return}const r=await sa(t.id,10);n(Bt,r.map(a=>({id:a.id,score:a.score??0,kind:"similar"})),!0),n(L,[],!0),n(W,e(Bt),!0),n(G,new Map(e(Bt).map(a=>[a.id,a.kind])),!0)}function $a(){n(g,null),n(w,null),n(E,null),n(Kt,[],!0),n(Xt,"")}function $r(t){const r=e(de).get(t)??null;r&&(n(E,null),n(g,r,!0))}function eo(t){if(e(se)==="2d"){e(Et)?.focusNode(t);return}e(Jt)?.focusNode(t)}async function to(){if(!e(g)||e(vt))return;n(vt,!0),n(Xt,"");const t=e(g).id,r=!(e(g).pinned??!1),a=await Ro(t,r);if(!a.success){n(Xt,a.error??"Failed to update pin state",!0),n(vt,!1);return}Aa(t,c=>({...c,pinned:r})),e(se)==="3d"&&e(Jt)?.refreshAppearance(),n(vt,!1)}async function ro(){if(e(g)){n(rt,!0);try{n(Kt,await sa(e(g).id,10,Oo.filterType||void 0),!0)}finally{n(rt,!1)}}}async function en(){n(he,!1),n(y,""),n(J,""),n(Le,[],!0),n(g,null),n(w,null),n(E,null),n(Kt,[],!0),n(rt,!1),n(de,new Map,!0),n(G,new Map,!0),n(Bt,[],!0),n(L,[],!0),n(W,[],!0),n(P,[],!0),n(Re,0),n(pe,!1),n(ct,[],!0),n(Vt,[],!0),n(i,[],!0),n(Xt,""),e(Et)?.stopSimulation(),e(Et)?.stopRendering(),e(Et)?.resetCamera(),e(Jt)?.destroy(),n(se,"2d"),await un(),jn()}re(()=>{const t=e(P),r=new Set,a=new Map,c=new Map,p=new Map,k=new Map;for(const x of t){x.pinned&&r.add(x.id);const T=x.who??"unknown";a.set(T,(a.get(T)??0)+1),typeof x.type=="string"&&x.type.length>0&&c.set(x.type,(c.get(x.type)??0)+1);const S=x.sourceType??"memory";p.set(S,(p.get(S)??0)+1),k.set(x.id,[x.content,x.text??"",x.who??"",x.type??"",x.sourceType??"",x.sourceId??"",...x.tags??[]].join(" ").toLowerCase())}if(n(rr,r,!0),n(_,k,!0),n(Gt,[...a.entries()].sort((x,T)=>T[1]-x[1]||x[0].localeCompare(T[0])).map(([x,T])=>({who:x,count:T})),!0),n(pt,[...c.entries()].sort((x,T)=>T[1]-x[1]||x[0].localeCompare(T[0])).map(([x,T])=>({value:x,count:T})),!0),n(Lt,[...p.entries()].sort((x,T)=>T[1]-x[1]||x[0].localeCompare(T[0])).map(([x,T])=>({value:x,count:T})),!0),e(Ye).size>0){const x=new Set([...e(Ye)].filter(T=>a.has(T)));x.size!==e(Ye).size&&n(Ye,x,!0)}}),re(()=>{let t=!1;return(async()=>{const r=await Po();t||n(ue,r.filter(a=>a.trim().length>0),!0)})(),()=>{t=!0}}),re(()=>{if(e(Se).size===0||e(ue).length===0)return;const t=new Set(e(ue)),r=new Set([...e(Se)].filter(a=>t.has(a)));r.size!==e(Se).size&&n(Se,r,!0)}),re(()=>{const t=e(lt);t==="all"||t==="custom"||n(xe,Date.now(),!0)}),re(()=>{const t=e(ge);if(!t.trim()){clearTimeout(We),n($e,""),n(kt,null),n(Ke,[],!0);return}const r=window.setTimeout(()=>{n($e,t,!0)},180);return We=r,()=>clearTimeout(r)}),re(()=>{const t=e($e).trim().toLowerCase(),r=e(P);if(!t){n(kt,null),n(Ke,[],!0);return}const a=new Set,c=[];for(const p of r){const k=e(_).get(p.id);k&&k.includes(t)&&(a.add(p.id),c.push(p))}if(e(M))for(const[p,k]of e(de)){if(a.has(p))continue;[k.content,k.who??"",...k.tags??[]].join(" ").toLowerCase().includes(t)&&(a.add(p),c.push(k))}n(kt,a,!0),n(Ke,c.slice(0,50),!0)}),re(()=>{const t=e(Ye);if(t.size===0){n(Ft,null);return}n(Ft,new Set(e(P).filter(r=>t.has(r.who??"unknown")).map(r=>r.id)),!0)}),re(()=>{if(!(typeof window>"u"||e(Ne))){try{const t=window.localStorage.getItem(Yn);if(t){const r=JSON.parse(t);if(Array.isArray(r)){const a=r.filter(c=>{if(typeof c!="object"||c===null)return!1;const p=c;return typeof p.id=="string"&&typeof p.name=="string"&&typeof p.search=="string"&&Array.isArray(p.sources)&&typeof p.pinnedOnly=="boolean"&&typeof p.neighborhoodOnly=="boolean"&&typeof p.clusterLensMode=="boolean"});n(ne,a.slice(0,8),!0)}}}catch{n(ne,[],!0)}n(Ne,!0)}}),re(()=>{typeof window>"u"||!e(Ne)||window.localStorage.setItem(Yn,JSON.stringify(e(ne)))}),re(()=>{if(!(typeof window>"u"||e(le)))try{const t=window.localStorage.getItem(pa);if(t){const r=JSON.parse(t);if(typeof r=="object"&&r!==null){const a=r;n(q,xn({centerForce:typeof a.centerForce=="number"?a.centerForce:kr.centerForce,repelForce:typeof a.repelForce=="number"?a.repelForce:kr.repelForce,linkForce:typeof a.linkForce=="number"?a.linkForce:kr.linkForce,linkDistance:typeof a.linkDistance=="number"?a.linkDistance:kr.linkDistance}),!0)}}}finally{n(le,!0)}}),re(()=>{typeof window>"u"||!e(le)||window.localStorage.setItem(pa,JSON.stringify(e(q)))}),re(()=>{if(!(typeof window>"u"||e(or))){try{const t=window.sessionStorage.getItem(Pe);(t==="source"||t==="newness"||t==="none")&&n(oe,t,!0),window.sessionStorage.getItem(tt)==="true"&&n(Fe,!0)}catch{}try{const t=window.localStorage.getItem(fe);if(t){const r=Number.parseInt(t,10);Number.isNaN(r)||n($t,r,!0)}}catch{}try{window.localStorage.removeItem(It),window.localStorage.removeItem(Pt)}catch{}n(or,!0)}}),re(()=>{if(!(typeof window>"u"||!e(or))){try{e(oe)==="source"?window.sessionStorage.removeItem(Pe):window.sessionStorage.setItem(Pe,e(oe))}catch{}try{e(Fe)&&e(oe)!=="none"?window.sessionStorage.setItem(tt,"true"):window.sessionStorage.removeItem(tt)}catch{}try{e(nr)!==null&&window.localStorage.setItem(fe,String(e(nr)))}catch{}}}),re(()=>{if(!(typeof window>"u"))try{window.sessionStorage.getItem(H)==="true"&&n(M,!0)}catch{}}),re(()=>{if(!(typeof window>"u"))try{e(M)?window.sessionStorage.setItem(H,"true"):window.sessionStorage.removeItem(H)}catch{}}),re(()=>{if(typeof window>"u")return;const t=window.setInterval(()=>{n(Ut,Date.now(),!0)},6e4);return()=>window.clearInterval(t)}),re(()=>{const t=new Set;if(e(it)){const r=e(g)??e(jt);if(r){t.add(r.id);const a=e(g)!==null?e(W):e(Gr);for(const c of a)t.add(c.id)}}n(zt,t,!0)}),re(()=>{e(it),e(zt),Xr()}),re(()=>{e(oe),e(Fe),e(Ut),e($t),e(se)==="2d"&&e(Et)?.requestRedraw(),Xr()}),re(()=>{!e(he)||typeof window>"u"||e(nr)===null&&n(nr,Date.now(),!0)}),re(()=>{e(q),e(he)&&e(se)==="2d"&&e(Et)?.updatePhysics(e(q))});const no=U(()=>Cn(Pn()));re(()=>{const t=e(no);if(!e(he)||e(y).length>0||t===e(mt))return;clearTimeout(yt);const r=window.setTimeout(()=>{en()},220);return yt=r,()=>clearTimeout(r)}),re(()=>{const t=e(qt)===!0?new Set(e(rr)):null,r=e(g)??e(jt),a=e(g)?e(W):e(Gr),c=e(gt)===!0&&r?new Set([r.id,...a.map(p=>p.id)]):null;n(ut,Da([e(kt),e(Ft),t,c]),!0),Xr()}),re(()=>{Za(e(g))}),re(()=>{const t=e(Dt),r=e(Bt),a=e(L);n(W,t==="similar"?r:a,!0),n(G,new Map(e(W).map(c=>[c.id,c.kind])),!0),Xr()});const jt=U(()=>e(E)?e(de).get(e(E))??null:e(w)),Hn=U(Qr),ao=U(()=>{e(i);const t=e(Vt),r=new Map;for(const a of t){const c=On(a.source),p=On(a.target);if(!c||!p||c===p)continue;const k=r.get(c)??new Map;k.set(p,(k.get(p)??0)+1),r.set(c,k);const x=r.get(p)??new Map;x.set(c,(x.get(c)??0)+1),r.set(p,x)}return r}),Gr=U(()=>{const t=e(jt);if(!t)return[];const r=e(ao).get(t.id);if(!r||r.size===0)return[];const a=[...r.entries()].sort((p,k)=>k[1]-p[1]).slice(0,6),c=a[0]?.[1]??1;return a.map(([p,k])=>({id:p,score:k/c,kind:"similar"}))}),oo=U(()=>new Map(e(Gr).map(t=>[t.id,"similar"]))),Gn=U(()=>e(g)?e(G):e(oo)),_r=U(()=>{const t=e(g);return t?e(ct).find(r=>r.data.id===t.id)??null:null}),tn=U(()=>e(g)?[]:e(Gr)),zn=U(()=>{const t=new Map(e(Gt).map(c=>[c.who,c])),r=et.map(c=>t.get(c)).filter(c=>!!c),a=e(Gt).filter(c=>!st.has(c.who));return[...r,...a].slice(0,8)});re(()=>{e(g)&&e(E)&&n(E,null)}),re(()=>{const t=e(E);t&&(e(de).has(t)||n(E,null))}),re(()=>{const t=e(V);if(!t)return;Je=t.getBoundingClientRect();const r=new ResizeObserver(()=>{Je=t.getBoundingClientRect()});return r.observe(t),()=>r.disconnect()}),re(()=>{e(Y)&&Dn()}),re(()=>{if(typeof window>"u")return;const t=r=>{if(r.key==="Shift"){qa();return}r.key==="Escape"&&Rn()};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}}),re(()=>{if(!e(V))return;const t=new IntersectionObserver(r=>{r[0].isIntersecting&&!e(he)&&!e(Or)&&(n(Or,!0),jn())},{threshold:.1});return t.observe(e(V)),()=>t.disconnect()}),re(()=>{Mr.embeddings.controlsOpen=e(Ue),Mr.embeddings.presetsOpen=e(ye),Mr.embeddings.sourcesOpen=e(ze),Go()});var rn=Bs();Ar("keydown",Eo,Ma);var Bn=l(rn);Fo(Bn,{title:"Constellation",children:(t,r)=>{Ho(t,{group:"memory",get tabs(){return Lo},get activeTab(){return oa.activeTab},onselect:(a,c)=>Co(c)})}});var Wn=d(Bn,2),wr=l(Wn),qn=l(wr);{var io=t=>{var r=Hi();Wt(r,"",{},{top:"52px"});var a=l(r),c=l(a);s(a),s(r),F(()=>b(c,`${gn.Unlock} preview`)),X("click",a,Rn),u(t,r)};j(qn,t=>{e(E)&&t(io)})}var Kn=d(qn,2);{var so=t=>{var r=Vi(),a=l(r),c=l(a),p=l(c),k=d(p),x=d(k),T=l(x);s(x);var S=d(x,2);{var D=N=>{var A=Gi(),R=l(A);s(A),F(ee=>b(R,`${ee??""}%`),[()=>Math.round(e(At).percent)]),u(N,A)};j(S,N=>{e(yr)&&e(At)&&N(D)})}s(c);var ae=d(c,2);{var I=N=>{var A=Ui(),R=l(A),ee=d(l(R),2),Xe=l(ee);s(ee),s(R);var je=d(R,2);{var ke=B=>{var te=Wi(),Z=l(te),Ie=l(Z,!0);s(Z);var be=d(Z,2);{var ce=De=>{var Te=zi(),Ae=l(Te,!0);s(Te),F(()=>b(Ae,e(sr))),u(De,Te)};j(be,De=>{e(sr)&&De(ce)})}var He=d(be,2);{var Qe=De=>{var Te=Bi(),Ae=l(Te),nt=l(Ae),_t=l(nt);s(nt);var xt=d(nt,2),Ze=l(xt);s(xt),s(Ae);var Ge=d(Ae,2),wt=l(Ge);s(Ge);var er=d(Ge,2),vr=l(er);s(er),s(Te),F((pr,fr,K,at,Qt)=>{b(_t,`${pr??""} / ${fr??""}`),b(Ze,`${K??""}%`),Wt(wt,at),b(vr,`${Qt??""} remaining · ${e(At).coverage??""} coverage`)},[()=>e(At).completed.toLocaleString(),()=>e(At).baseline.toLocaleString(),()=>Math.round(e(At).percent),()=>`width:${Math.max(0,Math.min(100,e(At).percent))}%`,()=>e(At).remaining.toLocaleString()]),u(De,Te)};j(He,De=>{e(At)&&De(Qe)})}s(te),F(()=>b(Ie,e(ir))),u(B,te)};j(je,B=>{e(ir)&&B(ke)})}var O=d(je,2);St(O,21,()=>e(dr).checks,Mt,(B,te)=>{var Z=Ki(),Ie=l(Z),be=d(Ie,2),ce=l(be),He=l(ce),Qe=l(He,!0);s(He);var De=d(He,2),Te=l(De,!0);s(De),s(ce);var Ae=d(ce,2),nt=l(Ae,!0);s(Ae);var _t=d(Ae,2);{var xt=Ze=>{var Ge=qi(),wt=l(Ge,!0);s(Ge),F(()=>{Ge.disabled=e(yr),b(wt,e(yr)?"running...":e(te).fix)}),X("click",Ge,()=>Ea(e(te))),u(Ze,Ge)};j(_t,Ze=>{e(te).fix&&e(te).status!=="ok"&&Ze(xt)})}s(be),s(Z),F(Ze=>{Wt(Ie,`background:${Ze??""}`),b(Qe,e(te).name),b(Te,e(te).status),b(nt,e(te).message)},[()=>Fa(e(te).status)]),u(B,Z)}),s(O),s(A),F(()=>b(Xe,`${e(dr).config.provider??""}/${e(dr).config.model??""}`)),u(N,A)};j(ae,N=>{e(Ur)&&N(I)})}s(a),s(r),F((N,A)=>{Wt(p,`background:${N??""}`),b(k,` ${e(dr).status??""} `),b(T,`${A??""}%`)},[()=>Na(e(dr).status),()=>Math.round(e(dr).score*100)]),X("click",c,()=>n(Ur,!e(Ur))),u(t,r)};j(Kn,t=>{e(dr)&&t(so)})}var nn=d(Kn,2),lo=l(nn);Yt(lo,()=>Lr,(t,r)=>{r(t,{class:"pointer-events-auto flex min-w-[180px] max-h-full flex-col-reverse",get open(){return e(v)},set open(a){n(v,a,!0)},children:(a,c)=>{var p=is(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center gap-2 px-3 py-1.5 min-w-[180px] border border-[var(--sig-border)] text-[10px] font-[family-name:var(--font-mono)] uppercase tracking-[0.06em] text-[var(--sig-text-muted)] bg-transparent",get"aria-expanded"(){return e(v)},children:(D,ae)=>{var I=Ji(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(v)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{class:"min-h-0 max-h-[min(40vh,24rem)] overflow-y-auto border border-[var(--sig-border)] bg-[rgba(5,5,5,0.88)] px-3 py-2",children:(D,ae)=>{var I=os(),N=me(I),A=d(l(N));s(N);var R=d(N,2);{var ee=Z=>{var Ie=Zi(),be=me(Ie),ce=l(be),He=l(ce);ur(),s(ce);var Qe=d(ce,2),De=l(Qe);ur(),s(Qe);var Te=d(Qe,2),Ae=l(Te);ur(),s(Te);var nt=d(Te,2),_t=l(nt);ur(),s(nt),s(be);var xt=d(be,2);St(xt,21,()=>e(zn),Mt,(Ze,Ge)=>{var wt=Qi(),er=l(wt);s(wt),F(vr=>{bt(wt,1,`h-5 inline-flex items-center gap-1 px-1.5 py-0 font-[family-name:var(--font-mono)] text-[10px] border border-[rgba(255,255,255,0.14)] ${vr??""}`),b(er,`${e(Ge).who??""} ${e(Ge).count??""}`)},[()=>e(Ye).size===0||e(Ye).has(e(Ge).who)?"bg-[rgba(255,255,255,0.08)] text-[var(--sig-text-bright)]":"bg-transparent text-[var(--sig-text-muted)]"]),u(Ze,wt)}),s(xt),F((Ze,Ge,wt,er)=>{Wt(He,Ze),Wt(De,Ge),Wt(Ae,wt),Wt(_t,er)},[()=>`background:${jr(3e5,.95)}`,()=>`background:${jr(108e5,.9)}`,()=>`background:${jr(2592e5,.85)}`,()=>`background:${jr(2592e6,.85)}`]),u(Z,Ie)},Xe=Z=>{var Ie=es();St(Ie,21,()=>e(zn),Mt,(be,ce)=>{var He=$i(),Qe=l(He),De=d(Qe);s(He),F((Te,Ae)=>{bt(He,1,`h-5 inline-flex items-center gap-1 px-1.5 py-0 font-[family-name:var(--font-mono)] text-[10px] border border-[rgba(255,255,255,0.14)] ${Te??""}`),Wt(Qe,Ae),b(De,` ${e(ce).who??""} ${e(ce).count??""}`)},[()=>e(Ye).size===0||e(Ye).has(e(ce).who)?"bg-[rgba(255,255,255,0.08)] text-[var(--sig-text-bright)]":"bg-transparent text-[var(--sig-text-muted)]",()=>`background:${ha(e(ce).who,1)}`]),u(be,He)}),s(Ie),u(Z,Ie)},je=Z=>{var Ie=ts();u(Z,Ie)};j(R,Z=>{e(oe)==="newness"?Z(ee):e(oe)==="source"?Z(Xe,1):Z(je,-1)})}var ke=d(R,6);{var O=Z=>{var Ie=rs();u(Z,Ie)};j(ke,Z=>{e(Fe)&&e(oe)!=="none"&&Z(O)})}var B=d(ke,4);{var te=Z=>{var Ie=as(),be=d(l(Ie),2);St(be,21,()=>Object.entries(Kr),Mt,(ce,He)=>{var Qe=U(()=>No(e(He),2));let De=()=>e(Qe)[0],Te=()=>e(Qe)[1];var Ae=gr(),nt=me(Ae);{var _t=xt=>{var Ze=ns(),Ge=l(Ze),wt=d(Ge);s(Ze),F(()=>{Wt(Ge,`background:${Te()}; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);`),b(wt,` ${De()??""}`)}),u(xt,Ze)};j(nt,xt=>{De()!=="unknown"&&xt(_t)})}u(ce,Ae)}),s(be),ur(2),s(Ie),u(Z,Ie)};j(B,Z=>{e(M)&&Z(te)})}F(()=>b(A,` = ${e(oe)==="none"?"off":e(oe)==="newness"?"by recency":"by source"}`)),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})}),s(nn);var Un=d(nn,2);{var co=t=>{var r=ss(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(y))),u(t,r)},uo=t=>{var r=ls(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(J))),u(t,r)},go=t=>{var r=ds();u(t,r)},vo=t=>{var r=cs();u(t,r)};j(Un,t=>{e(y)?t(co):e(J)?t(uo,1):e(he)&&e(P).length===0?t(go,2):e(he)||t(vo,3)})}var Vn=d(Un,2);Wt(Vn,"",{},{top:"20px"});var Jn=d(Vn,4);{var po=t=>{var r=ms(),a=l(r),c=l(a),p=l(c,!0);s(c);var k=d(c,2);{var x=O=>{var B=us(),te=l(B,!0);s(B),F(()=>b(te,e(jt).type)),u(O,B)};j(k,O=>{e(jt).type&&O(x)})}var T=d(k,2);{var S=O=>{var B=gs();u(O,B)};j(T,O=>{e(jt).pinned&&O(S)})}var D=d(T,2);{var ae=O=>{var B=vs();u(O,B)};j(D,O=>{e(E)&&O(ae)})}s(a);var I=d(a,2),N=l(I);s(I);var A=d(I,2),R=l(A,!0);s(A);var ee=d(A,2),Xe=l(ee,!0);s(ee);var je=d(ee,2);{var ke=O=>{var B=fs(),te=d(l(B),2);St(te,21,()=>e(tn),Mt,(Z,Ie)=>{const be=U(()=>e(de).get(e(Ie).id));var ce=gr(),He=me(ce);{var Qe=De=>{var Te=ps(),Ae=l(Te),nt=l(Ae,!0);s(Ae);var _t=d(Ae,2),xt=l(_t);s(_t),s(Te),F((Ze,Ge)=>{b(nt,Ze),b(xt,`${Ge??""}%`)},[()=>hr(e(be)),()=>Math.round(e(Ie).score*100)]),u(De,Te)};j(He,De=>{e(be)&&De(Qe)})}u(Z,ce)}),s(te),s(B),u(O,B)};j(je,O=>{e(tn).length>0&&O(ke)})}s(r),br(r,O=>n(Y,O),()=>e(Y)),F((O,B,te)=>{b(p,e(jt).who??"unknown"),b(N,`importance ${O??""}% · ${B??""} · linked ${e(tn).length??""}`),b(R,te),b(Xe,e(E)?"ESC or Unlock Preview button":"Hold Shift to lock preview")},[()=>Math.round((e(jt).importance??0)*100),()=>Ca(e(jt).createdAt),()=>hr(e(jt))]),u(t,r)};j(Jn,t=>{e(jt)&&t(po)})}var zr=d(Jn,2);let Qn;var fo=l(zr);{var mo=t=>{{let r=U(()=>e(it)&&e(zt).size>0),a=U(()=>e(Ye).size>0?e(Ye):null);br(di(t,{get nodes(){return e(ct)},get edges(){return e(Vt)},get graphPhysics(){return e(q)},get graphSelected(){return e(g)},get graphHovered(){return e(jt)},get embeddingFilterIds(){return e(ut)},get relationLookup(){return e(Gn)},get pinnedIds(){return e(rr)},get lensIds(){return e(zt)},get clusterLensMode(){return e(r)},get colorMode(){return e(oe)},get nowMs(){return e(Ut)},get showNewSinceLastSeen(){return e(Fe)},get lastSeenMs(){return e($t)},get sourceFocusSources(){return e(a)},onselectnode:c=>{c?$r(c.id):n(g,null)},onhovernode:An}),c=>n(Et,c,!0),()=>e(Et))}},xo=t=>{var r=xs(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(y))),u(t,r)},bo=t=>{var r=bs(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(J))),u(t,r)};j(fo,t=>{e(he)?t(mo):e(y)?t(xo,1):e(J)&&t(bo,2)})}s(zr);var an=d(zr,2);let Zn;var ho=l(an);{var yo=t=>{var r=gr(),a=me(r);{let c=U(()=>e(it)&&e(zt).size>0),p=U(()=>e(Ye).size>0?e(Ye):null);Yt(a,()=>e(Ir),(k,x)=>{br(x(k,{get embeddings(){return e(P)},get projected3d(){return e(Le)},get graphSelected(){return e(g)},get embeddingFilterIds(){return e(ut)},get relationLookup(){return e(Gn)},get pinnedIds(){return e(rr)},get lensIds(){return e(zt)},get clusterLensMode(){return e(c)},get embeddingById(){return e(de)},get colorMode(){return e(oe)},get nowMs(){return e(Ut)},get showNewSinceLastSeen(){return e(Fe)},get lastSeenMs(){return e($t)},get sourceFocusSources(){return e(p)},onselectnode:T=>{T?$r(T.id):n(g,null)},onhovernode:An}),T=>n(Jt,T,!0),()=>e(Jt))})}u(t,r)},_o=t=>{var r=hs(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(y)||"Loading 3D...")),u(t,r)};j(ho,t=>{e(Ir)&&!e(Rr)?t(yo):e(Rr)&&t(_o,1)})}s(an),s(wr),br(wr,t=>n(V,t),()=>e(V));var $n=d(wr,2),on=l($n),ea=l(on);Yt(ea,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(Ue)},set open(a){n(Ue,a,!0)},children:(a,c)=>{var p=Ss(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=ys(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(Ue)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=ws(),N=l(I),A=l(N);Zt(A),br(A,Nt=>Oe=Nt,()=>Oe);var R=d(A,2);{var ee=Nt=>{var Fr=_s(),cn=l(Fr,!0);s(Fr),F(()=>b(cn,e(Ke).length)),u(Nt,Fr)};j(R,Nt=>{e(ge)&&Nt(ee)})}s(N);var Xe=d(N,2),je=l(Xe);s(Xe);var ke=d(Xe,2),O=l(ke),B=d(O,2),te=d(B,2),Z=d(te,2),Ie=l(Z,!0);s(Z),s(ke);var be=d(ke,2),ce=d(l(be),2),He=l(ce),Qe=d(He,2),De=d(Qe,2);s(ce),s(be);var Te=d(be,2),Ae=d(l(Te),2),nt=l(Ae),_t=d(nt,2),xt=l(_t,!0);s(_t),s(Ae),s(Te);var Ze=d(Te,2),Ge=d(l(Ze),2),wt=l(Ge),er=d(l(wt),2),vr=l(er,!0);s(er),s(wt);var pr=d(wt,2);Zt(pr),s(Ge);var fr=d(Ge,2),K=l(fr),at=d(l(K),2),Qt=l(at,!0);s(at),s(K);var Rt=d(K,2);Zt(Rt),s(fr);var ot=d(fr,2),Ht=l(ot),Ot=d(l(Ht),2),mr=l(Ot,!0);s(Ot),s(Ht);var tr=d(Ht,2);Zt(tr),s(ot);var sn=d(ot,2),ln=l(sn),na=d(l(ln),2),Mo=l(na,!0);s(na),s(ln);var dn=d(ln,2);Zt(dn),s(sn);var ko=d(sn,2);s(Ze),s(I),F((Nt,Fr,cn,Io)=>{b(je,`Window ${e(Hn).offset+1}-${e(Hn).offset+e(P).length} / ${e(Re)??""}`),bt(O,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(qt)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(B,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(gt)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(te,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(it)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(Ie,gn.Reset),bt(He,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(oe)==="newness"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(Qe,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(oe)==="source"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(De,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(oe)==="none"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(nt,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(Fe)&&e(oe)!=="none"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"} ${e(oe)==="none"?"opacity-60 cursor-not-allowed":""}`),nt.disabled=e(oe)==="none",bt(_t,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(M)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(xt,e(ie)?"Loading...":"Entities"),b(vr,Nt),Br(pr,e(q).centerForce),b(Qt,Fr),Br(Rt,e(q).repelForce),b(mr,cn),Br(tr,e(q).linkForce),b(Mo,Io),Br(dn,e(q).linkDistance)},[()=>e(q).centerForce.toFixed(2),()=>Math.round(e(q).repelForce),()=>e(q).linkForce.toFixed(2),()=>Math.round(e(q).linkDistance)]),X("input",A,()=>n(C,"custom-live")),lr(A,()=>e(ge),Nt=>n(ge,Nt)),X("click",O,Ha),X("click",B,Ga),X("click",te,za),X("click",Z,ja),X("click",He,()=>n(oe,"newness")),X("click",Qe,()=>n(oe,"source")),X("click",De,()=>{n(oe,"none"),n(Fe,!1)}),X("click",nt,()=>n(Fe,!e(Fe))),X("click",_t,()=>{n(M,!e(M)),e(he)&&en()}),X("input",pr,Nt=>Nr({centerForce:Hr(Nt,e(q).centerForce)})),X("input",Rt,Nt=>Nr({repelForce:Hr(Nt,e(q).repelForce)})),X("input",tr,Nt=>Nr({linkForce:Hr(Nt,e(q).linkForce)})),X("input",dn,Nt=>Nr({linkDistance:Hr(Nt,e(q).linkDistance)})),X("click",ko,()=>Nr(kr)),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})});var ta=d(ea,2);Yt(ta,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(ye)},set open(a){n(ye,a,!0)},children:(a,c)=>{var p=Es(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=Ms(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ye)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=Ts(),N=l(I);St(N,17,()=>Ka,Mt,(Xe,je)=>{var ke=ks(),O=l(ke,!0);s(ke),F(()=>{bt(ke,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(C)===e(je).id?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(O,e(je).name)}),X("click",ke,()=>Xn(e(je))),u(Xe,ke)});var A=d(N,2);St(A,17,()=>e(ne),Mt,(Xe,je)=>{var ke=Is(),O=l(ke),B=l(O,!0);s(O);var te=d(O,2);s(ke),F(()=>{bt(O,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] ${e(C)===e(je).id?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(B,e(je).name),fn(te,"aria-label",`Delete ${e(je).name} preset`)}),X("click",O,()=>Xn(e(je))),X("click",te,()=>Ja(e(je).id)),u(Xe,ke)});var R=d(A,2),ee=l(R,!0);s(R),s(I),F(()=>b(ee,gn.Save)),X("click",R,Va),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})});var ra=d(ta,2);Yt(ra,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(ze)},set open(a){n(ze,a,!0)},children:(a,c)=>{var p=Ls(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=Ns(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ze)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=Cs(),N=l(I);{var A=ee=>{var Xe=Fs();u(ee,Xe)},R=ee=>{var Xe=gr(),je=me(Xe);St(je,17,()=>e(Gt),Mt,(ke,O)=>{var B=Ps(),te=l(B);s(B),F(Z=>{bt(B,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${Z??""}`),b(te,`${e(O).who??""} ${e(O).count??""}`)},[()=>e(Ye).size===0||e(Ye).has(e(O).who)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",B,()=>Ba(e(O).who)),u(ke,B)}),u(ee,Xe)};j(N,ee=>{e(Gt).length===0?ee(A):ee(R,-1)})}s(I),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})});var wo=d(ra,2);Yt(wo,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(qe)},set open(a){n(qe,a,!0)},children:(a,c)=>{var p=zs(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=Ds(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(qe)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=Gs(),N=l(I),A=d(l(N),2);Zt(A);var R=d(A,4);Zt(R);var ee=d(R,2),Xe=l(ee);Xe.value=Xe.__value="all";var je=d(Xe);je.value=je.__value="24h";var ke=d(je);ke.value=ke.__value="7d";var O=d(ke);O.value=O.__value="30d";var B=d(O);B.value=B.__value="90d";var te=d(B);te.value=te.__value="custom",s(ee),s(N);var Z=d(N,2);{var Ie=K=>{var at=As(),Qt=l(at);Zt(Qt);var Rt=d(Qt,2);Zt(Rt),s(at),lr(Qt,()=>e(_e),ot=>n(_e,ot)),lr(Rt,()=>e(we),ot=>n(we,ot)),u(K,at)};j(Z,K=>{e(lt)==="custom"&&K(Ie)})}var be=d(Z,2),ce=l(be),He=l(ce);He.value=He.__value="all";var Qe=d(He);Qe.value=Qe.__value="pinned";var De=d(Qe);De.value=De.__value="unpinned",s(ce);var Te=d(ce,2);Zt(Te);var Ae=d(Te,2);Zt(Ae);var nt=d(Ae,2);Zt(nt);var _t=d(nt,2);Zt(_t),s(be);var xt=d(be,2),Ze=d(l(xt),2);{var Ge=K=>{var at=Rs();u(K,at)},wt=K=>{var at=gr(),Qt=me(at);St(Qt,17,()=>e(ue),Mt,(Rt,ot)=>{var Ht=Os(),Ot=l(Ht,!0);s(Ht),F(mr=>{bt(Ht,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${mr??""}`),b(Ot,e(ot))},[()=>e(Se).has(e(ot))?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",Ht,()=>Oa(e(ot))),u(Rt,Ht)}),u(K,at)};j(Ze,K=>{e(ue).length===0?K(Ge):K(wt,-1)})}s(xt);var er=d(xt,2);{var vr=K=>{var at=Xs(),Qt=d(l(at),2);St(Qt,17,()=>[...new Set([...e(Ve),...e(pt).map(Rt=>Rt.value)])],Mt,(Rt,ot)=>{const Ht=U(()=>e(pt).find(tr=>tr.value===e(ot))?.count??0);var Ot=Ys(),mr=l(Ot);s(Ot),F(tr=>{bt(Ot,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${tr??""}`),b(mr,`${e(ot)??""}${e(Ht)>0?` ${e(Ht)}`:""}`)},[()=>e(Ve).has(e(ot))?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",Ot,()=>Ya(e(ot))),u(Rt,Ot)}),s(at),u(K,at)};j(er,K=>{(e(pt).length>0||e(Ve).size>0)&&K(vr)})}var pr=d(er,2);{var fr=K=>{var at=Hs(),Qt=d(l(at),2);St(Qt,17,()=>[...new Set([...e(ft),...e(Lt).map(Rt=>Rt.value)])],Mt,(Rt,ot)=>{const Ht=U(()=>e(Lt).find(tr=>tr.value===e(ot))?.count??0);var Ot=js(),mr=l(Ot);s(Ot),F(tr=>{bt(Ot,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${tr??""}`),b(mr,`${e(ot)??""}${e(Ht)>0?` ${e(Ht)}`:""}`)},[()=>e(ft).has(e(ot))?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",Ot,()=>Xa(e(ot))),u(Rt,Ot)}),s(at),u(K,at)};j(pr,K=>{(e(Lt).length>0||e(ft).size>0)&&K(fr)})}s(I),Ar("blur",A,Zr),lr(A,()=>e(Ce),K=>n(Ce,K)),Ar("blur",R,Zr),lr(R,()=>e(ve),K=>n(ve,K)),aa(ee,()=>e(lt),K=>n(lt,K)),aa(ce,()=>e(ht),K=>n(ht,K)),lr(Te,()=>e(Be),K=>n(Be,K)),lr(Ae,()=>e(dt),K=>n(dt,K)),lr(nt,()=>e(Tt),K=>n(Tt,K)),lr(_t,()=>e(Ct),K=>n(Ct,K)),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})}),s(on);var So=d(on,2);{let t=U(()=>e(_r)?.nodeType??void 0),r=U(()=>e(_r)?.entityData??null),a=U(()=>e(_r)?.aspectData??null),c=U(()=>e(_r)?.attributeData??null),p=U(()=>e(_r)?.parentEntityId??null),k=U(()=>e(_r)?.parentAspectId??null);ji(So,{containerClass:"flex-1 min-h-0 w-full min-w-0 border-l-0 border-t-0 max-lg:max-h-none",get graphSelected(){return e(g)},get embeddings(){return e(P)},get embeddingById(){return e(de)},get activeNeighbors(){return e(W)},get relationMode(){return e(Dt)},get loadingGlobalSimilar(){return e(rt)},get globalSimilar(){return e(Kt)},get embeddingSearchMatches(){return e(Ke)},get embeddingSearch(){return e(ge)},get pinBusy(){return e(vt)},get pinError(){return e(Xt)},get selectedNodeType(){return e(t)},get selectedEntityData(){return e(r)},get selectedAspectData(){return e(a)},get selectedAttributeData(){return e(c)},get parentEntityId(){return e(p)},get parentAspectId(){return e(k)},get constellationOverlay(){return e($)},onselectembedding:$r,onclearselection:$a,onloadglobalsimilar:ro,get onopenglobalsimilar(){return o.onopenglobalsimilar},onsetrelationmode:x=>n(Dt,x,!0),onfocusembedding:()=>e(g)&&eo(e(g).id),onpintoggle:to})}s($n),s(Wn),s(rn),F(()=>{Qn=Wt(zr,"",Qn,{display:e(se)==="2d"?"contents":"none"}),Zn=Wt(an,"",Zn,{display:e(se)==="3d"?"contents":"none"})}),X("mousemove",wr,Wa),Ar("mouseleave",wr,()=>{e(E)||n(w,null)}),u(h,rn),Sn()}Mn(["mousemove","click","input"]);export{$s as default};
|
|
1
|
+
import{p as wn,o as f,e as Ee,Q as re,v as n,j as l,F as br,i as e,t as d,k as j,l as s,b as u,d as Sn,u as U,D as fn,O as X,N as Ar,m,P as Mn,g as cr,y as F,B as bt,f as me,w as ur,ad as Wt,z as b,A as St,G as Mt,c as gr,q as To,$ as Eo,h as Yt,af as Zt,ag as Br,J as lr,ah as aa,R as un,ai as No}from"./Bh3nIh1p.js";import{P as Fo}from"./Bfse3fCo.js";import{af as Po,h as Co,n as oa,i as Lo,A as gn,ag as Do,ah as ia,ai as Ao,aj as sa,ak as Ro,Q as Oo,al as vn,am as Yo,an as Xo,ao as jo,t as Sr}from"./Qh-JRpbV.js";import{C as Pr,a as Cr,b as Lr}from"./2MfvoDg1.js";import{T as Ho}from"./CjrslgAi.js";import{w as Mr,s as Go}from"./pP_VsnEc.js";import{f as la,a as da,b as ca,c as ua,e as ga,g as va}from"./qiR1fnXB.js";import{C as Dr}from"./BElIJ3Kf.js";const Wr=600,zo=5e3,pa="signet-embeddings-graph-physics",kr={centerForce:.28,repelForce:-260,linkForce:.12,linkDistance:92},mn={"claude-code":"#5eada4",clawdbot:"#a78bfa",daemon:"#22c55e","signet-daemon":"#22c55e",openclaw:"#facc15","openclaw-memory":"#facc15",opencode:"#60a5fa",user:"#ef4444",manual:"#f472b6",unknown:"#737373"},fa=3600*1e3,Bo=24*fa,ma=7*Bo,xa=900*1e3,ba=6*fa;function xn(h){const o=(v,g,w)=>Math.min(w,Math.max(g,v));return{centerForce:o(h.centerForce,0,1),repelForce:o(h.repelForce,-600,-10),linkForce:o(h.linkForce,.01,1),linkDistance:o(h.linkDistance,12,280)}}function kn(h){const o=Number.parseInt(h.slice(1),16);return[o>>16&255,o>>8&255,o&255]}function ha(h,o){const[v,g,w]=kn(mn[h??"unknown"]??mn.unknown);return`rgba(${v}, ${g}, ${w}, ${o})`}function ya(h){if(!h)return null;const o=new Date(h).getTime();return Number.isNaN(o)?null:o}function Wo(h,o){const v=ya(h);if(v===null)return .22;const g=Math.max(0,o-v);return g<=xa?1:g<=ba?.76:g<=ma?.52:.22}function In(h){return h>=.95?"minutes":h>=.7?"hours":h>=.45?"week":"older"}function _a(h,o){const v=In(h);return v==="minutes"?`rgba(255, 176, 74, ${o})`:v==="hours"?`rgba(168, 34, 98, ${o})`:v==="week"?`rgba(76, 34, 122, ${o})`:`rgba(118, 111, 102, ${o})`}function qo(h,o){if(o===null)return!1;const v=ya(h);return v===null?!1:v>o}function hr(h){const o=h.content??h.text??"";return o.length>160?`${o.slice(0,160)}...`:o}function Ko(h){const o=h.sourceType??"memory",v=h.sourceId??h.id;return`${o}:${v}`}function Uo(h,o,v,g,w,y){const J=v!==null&&!v.has(h),P=v!==null&&!v.has(o);if(J||P)return"rgba(120, 120, 120, 0.12)";if(y){const Re=w.has(h),pe=w.has(o);return Re&&pe?"rgba(220, 220, 220, 0.72)":"rgba(90, 90, 90, 0.08)"}return g.get(h)||g.get(o)?"rgba(200, 200, 200, 0.6)":"rgba(180, 180, 180, 0.4)"}const Kr={person:"#eab308",project:"#06b6d4",system:"#a855f7",tool:"#10b981",concept:"#f43f5e",skill:"#f59e0b",task:"#64748b",unknown:"#737373"};function bn(h){return Kr[h.toLowerCase()]??Kr.unknown}function qr(h,o){const v=bn(h),[g,w,y]=kn(v);return`rgba(${g}, ${w}, ${y}, ${o})`}function Vo(h,o){const v=.8+o*1.2;switch(h){case"uses":case"requires":return{color:"rgba(180, 180, 200, 0.35)",width:v,dash:[]};case"owned_by":return{color:"rgba(160, 160, 180, 0.25)",width:v+.4,dash:[]};case"blocks":return{color:"rgba(220, 100, 100, 0.4)",width:v,dash:[4,3]};case"informs":return{color:"rgba(100, 160, 220, 0.35)",width:v,dash:[2,3]};default:return{color:"rgba(150, 150, 160, 0.3)",width:v,dash:[]}}}function Jo(h){return 5+Math.min(h,1)*3}function Qo(h){return 3+Math.min(h,1)}function Zo(h){const o=h.aspects.length+h.aspects.reduce((v,g)=>v+g.attributes.length*.5,0);return 10+Math.min(o,24)*.5}function $o(h){switch(h){case"entity":return-200;case"aspect":return-40;case"attribute":return-15;case"memory":return-5;default:return-5}}function wa(h,o){const[v,g,w]=kn(h);return`rgba(${v}, ${g}, ${w}, ${o})`}const ei=[.85],ti=[.3,.5,.7,.75,.9],hn={};for(const[h,o]of Object.entries(mn)){const v={};for(const g of ei)v[g]=wa(o,g);hn[h]=v}const yn={};for(const[h,o]of Object.entries(Kr)){const v={};for(const g of ti)v[g]=wa(o,g);yn[h]=v}function _n(h,o){const g=hn[h??"unknown"]?.[o]??hn.unknown?.[o];return g||ha(h,o)}function xr(h,o){const v=h.toLowerCase(),g=yn[v]?.[o]??yn.unknown?.[o];return g||qr(h,o)}const ri={minutes:{.9:"rgba(255, 176, 74, 0.9)",1:"rgba(255, 176, 74, 1)"},hours:{.9:"rgba(168, 34, 98, 0.9)",1:"rgba(168, 34, 98, 1)"},week:{.9:"rgba(76, 34, 122, 0.9)",1:"rgba(76, 34, 122, 1)"},older:{.9:"rgba(118, 111, 102, 0.9)",1:"rgba(118, 111, 102, 1)"}};function ni(h,o){const v=In(h),g=ri[v]?.[o];return g||_a(h,o)}function Sa(h){if(!h)return 0;const o=new Date(h).getTime();return Number.isNaN(o)?0:o}function ai(h,o){if(h===0)return .22;const v=Math.max(0,o-h);return v<=xa?1:v<=ba?.76:v<=ma?.52:.22}class oi{fills;constructor(o,v,g,w,y,J,P,Re,pe,he){const ge=new Array(o.length);for(let $e=0;$e<o.length;$e++){const We=o[$e];if(We.nodeType&&We.nodeType!=="memory"){ge[$e]="";continue}ge[$e]=this.compute(We,v,g,w,y,J,P,Re,pe,he)}this.fills=ge}compute(o,v,g,w,y,J,P,Re,pe,he){const ge=o.data.id,$e=w.get(ge)??null,We=g!==null&&!g.has(ge),Ke=y.has(ge),Oe=P&&!J.has(ge);if(v===ge)return"rgba(255, 255, 255, 0.95)";if(Oe)return We?"rgba(80, 80, 80, 0.08)":"rgba(95, 95, 95, 0.15)";if($e==="similar")return Re==="none"?We?"rgba(160, 170, 185, 0.3)":"rgba(198, 210, 228, 0.84)":We?"rgba(129, 180, 255, 0.35)":"rgba(129, 180, 255, 0.9)";if($e==="dissimilar")return Re==="none"?We?"rgba(165, 150, 150, 0.28)":"rgba(208, 190, 190, 0.8)":We?"rgba(255, 146, 146, 0.35)":"rgba(255, 146, 146, 0.9)";if(Ke)return We?"rgba(220, 220, 220, 0.42)":"rgba(235, 235, 235, 0.95)";if(We)return"rgba(120, 120, 120, 0.2)";if(Re==="none")return"rgba(168, 168, 168, 0.82)";if(Re==="newness"){const ut=o.createdMs??Sa(o.data.createdAt),kt=ai(ut,pe);if(In(kt)==="older"){const Ft=o.data.who??"unknown";if(he!==null&&he.has(Ft))return _n(Ft,.85)}return ni(kt,.9)}return _n(o.data.who,.85)}}const ar=50;class ii{minX=-100;maxX=100;minY=-100;maxY=100;cells=new Map;cols=1;offsetX=0;offsetY=0;rebuild(o){if(this.cells.clear(),o.length===0){this.minX=-100,this.maxX=100,this.minY=-100,this.maxY=100,this.cols=1;return}let v=1/0,g=-1/0,w=1/0,y=-1/0;for(const P of o)P.x<v&&(v=P.x),P.x>g&&(g=P.x),P.y<w&&(w=P.y),P.y>y&&(y=P.y);const J=ar;this.minX=v-J,this.maxX=g+J,this.minY=w-J,this.maxY=y+J,this.offsetX=this.minX,this.offsetY=this.minY,this.cols=Math.max(1,Math.ceil((this.maxX-this.minX)/ar));for(const P of o){const Re=Math.floor((P.x-this.offsetX)/ar),he=Math.floor((P.y-this.offsetY)/ar)*this.cols+Re,ge=this.cells.get(he);ge?ge.push(P):this.cells.set(he,[P])}}query(o,v,g){const w=g+ar*.5,y=Math.floor((o-w-this.offsetX)/ar),J=Math.floor((o+w-this.offsetX)/ar),P=Math.floor((v-w-this.offsetY)/ar),Re=Math.floor((v+w-this.offsetY)/ar),pe=Math.ceil((this.maxY-this.minY)/ar),he=[];for(let ge=Math.max(0,P);ge<=Re&&ge<pe;ge++)for(let $e=Math.max(0,y);$e<=Math.min(this.cols-1,J);$e++){const We=this.cells.get(ge*this.cols+$e);if(We)for(const Ke of We)he.push(Ke)}return he}}function pn(h,o,v,g){h.beginPath();for(let w=0;w<6;w++){const y=Math.PI/3*w-Math.PI/6,J=o+g*Math.cos(y),P=v+g*Math.sin(y);w===0?h.moveTo(J,P):h.lineTo(J,P)}h.closePath()}var si=m('<canvas class="minimap svelte-reb91a" aria-label="Graph navigation minimap"></canvas>'),li=m('<div class="canvas-wrapper svelte-reb91a"><canvas class="main-canvas svelte-reb91a"></canvas> <!></div>');function di(h,o){wn(o,!0);let v=f(null),g=0,w=0,y=.15,J=!1,P=!1,Re=!1,pe=null,he=0,ge=0,$e=0,We=0;const Ke=4;let Oe=null,ut=0,kt=null,Ft=!1,Ye=0,Gt=!0,qt=null,gt=!1,rr=new Map;const vt=new ii;let Xt=!0,it=null,zt=[],C=[],ne=[],Ne=0,qe=0,Ue=!1;const ye=160,ze=120,et=50;let st=f(null),Pe=!0,tt=0;const It=4;let Pt=f(Ee({minX:-100,maxX:100,minY:-100,maxY:100})),fe=U(()=>o.nodes.length>et),Ce=!1;function ve(){if(Gt=!0,Pe=!0,!ut){const i=e(v)?.getContext("2d");i&&(ut=requestAnimationFrame(M=>Fe(i,M)))}}const lt=12e3,xe=8e3,_e=5e3;function we(){g=0,w=0,y=.15,gt=!1,Be=!1}let Be=!1;function dt(i){const M=rr.get(i);M&&(g=M.x,w=M.y,y=Math.max(y,1.6),gt=!0)}function ht(i,M,$=o.graphPhysics){Oe?.stop(),Be=!1;const ie=xn($);Oe=la(i).force("link",da(M).distance(ie.linkDistance).strength(ie.linkForce)).force("charge",ca().strength(ie.repelForce)).force("x",ua(0).strength(ie.centerForce)).force("y",ga(0).strength(ie.centerForce)).force("collide",va().radius(H=>H.radius+2)).alphaDecay(.04).on("tick",()=>{Xt=!0,it=null,ve()}).on("end",()=>{gt||ft()})}function Tt(i,M){Oe?.stop(),Be=!1;const $=da(M).distance(H=>{const se=H.source,Le=H.target;return H.edgeType==="dependency"?120:se.nodeType==="entity"&&Le.nodeType==="aspect"?50:se.nodeType==="aspect"&&Le.nodeType==="attribute"?30:se.nodeType==="attribute"&&Le.nodeType==="memory"?20:50}).strength(H=>{if(H.edgeType==="dependency")return .05;const se=H.source,Le=H.target;return se.nodeType==="entity"&&Le.nodeType==="aspect"?.3:se.nodeType==="aspect"&&Le.nodeType==="attribute"?.4:se.nodeType==="attribute"&&Le.nodeType==="memory"?.5:.3}),ie=ca().strength(H=>$o(H.nodeType));Oe=la(i).force("link",$).force("charge",ie).force("x",ua(0).strength(.03)).force("y",ga(0).strength(.03)).force("collide",va().radius(H=>H.radius+2)).alphaDecay(.04).on("tick",()=>{Xt=!0,it=null,ve()}).on("end",()=>{gt||ft()})}function Ct(i){Oe&&(ht(o.nodes,o.edges,i),ve())}function ue(){Oe?.stop(),Oe=null}function Se(i=!1){Ve(),!i&&!gt&&o.nodes.length>0&&ft(),Ft||(window.addEventListener("resize",Ve),Ft=!0),$t(),Gt=!0;const M=e(v)?.getContext("2d");M&&(cancelAnimationFrame(ut),Fe(M,0))}function pt(){Gt=!0;const i=e(v)?.getContext("2d");i&&(cancelAnimationFrame(ut),Fe(i,0))}function Lt(){cancelAnimationFrame(ut)}function Ve(){if(!e(v))return;let i=e(v).parentElement;for(;i&&getComputedStyle(i).display==="contents";)i=i.parentElement;const M=i?.getBoundingClientRect();!M||M.width===0||(e(v).width=M.width,e(v).height=M.height,!gt&&Be&&ft(),ve())}function ft(){if(!e(v))return;if(o.nodes.length===0){g=0,w=0,y=.15;return}const i=Dt(),M=Math.max(i.maxX-i.minX,1),$=Math.max(i.maxY-i.minY,1),ie=Math.max(e(v).width,1),H=Math.max(e(v).height,1),se=Math.min(ie/M,H/$)*.92;g=(i.minX+i.maxX)/2,w=(i.minY+i.maxY)/2,y=Math.max(.08,se),Be=!0}function mt(i,M){if(!e(v))return[0,0];const $=e(v).getBoundingClientRect(),ie=$.width/2,H=$.height/2;return[(i-$.left-ie)/y+g,(M-$.top-H)/y+w]}function yt(i,M){Xt&&(vt.rebuild(o.nodes),Xt=!1);const $=vt.query(i,M,28),ie=["entity","aspect","attribute","memory",void 0];for(const H of ie)for(let se=$.length-1;se>=0;se--){const Le=$[se];if(Le.nodeType!==H)continue;const Q=Le.x-i,q=Le.y-M,le=Le.radius+(H==="entity"?6:H==="aspect"?5:4);if(Q*Q+q*q<=le*le)return Le}return null}function Dt(){return o.nodes.length===0?{minX:-100,maxX:100,minY:-100,maxY:100}:Xt?(vt.rebuild(o.nodes),Xt=!1,{minX:vt.minX,maxX:vt.maxX,minY:vt.minY,maxY:vt.maxY}):{minX:vt.minX,maxX:vt.maxX,minY:vt.minY,maxY:vt.maxY}}re(()=>{o.nodes.length>0&&(rr=new Map(o.nodes.map(i=>[i.data.id,i])),Xt=!0,it=null,n(Pt,Dt(),!0),Pe=!0)});function Bt(){if(!e(st)||!e(v))return;const i=e(st).getContext("2d");if(!i)return;const{minX:M,maxX:$,minY:ie,maxY:H}=e(Pt),se=$-M,Le=H-ie;i.fillStyle="#050505",i.fillRect(0,0,ye,ze);const Q=(ye-8)/se,q=(ze-8)/Le,le=Math.min(Q,q),de=(ye-se*le)/2,_=(ze-Le*le)/2;i.fillStyle="rgba(140, 140, 150, 0.5)";for(const Ir of o.nodes){const Rr=de+(Ir.x-M)*le,Or=_+(Ir.y-ie)*le;i.fillRect(Rr-.5,Or-.5,1,1)}const G=e(v).width/y,E=e(v).height/y,V=g-G/2,Y=w-E/2;let z=de+(V-M)*le,Me=_+(Y-ie)*le,Je=G*le,Et=E*le;const Jt=2;z=Math.max(Jt,Math.min(ye-Jt-1,z)),Me=Math.max(Jt,Math.min(ze-Jt-1,Me)),Je=Math.max(2,Math.min(ye-z-Jt,Je)),Et=Math.max(2,Math.min(ze-Me-Jt,Et)),i.strokeStyle="rgba(255, 255, 255, 0.75)",i.lineWidth=1.5,i.strokeRect(z,Me,Je,Et),i.fillStyle="rgba(255, 255, 255, 0.03)",i.fillRect(z,Me,Je,Et)}function L(i){if(!e(st))return null;const M=e(st).getBoundingClientRect(),$=i.clientX-M.left,ie=i.clientY-M.top,{minX:H,maxX:se,minY:Le,maxY:Q}=e(Pt),q=se-H,le=Q-Le,de=(ye-8)/q,_=(ze-8)/le,G=Math.min(de,_),E=(ye-q*G)/2,V=(ze-le*G)/2,Y=H+($-E)/G,z=Le+(ie-V)/G;return[Y,z]}function W(i){i.preventDefault(),i.stopPropagation(),Ce=!0,Kt(i)}function rt(i){Ce&&Kt(i)}function Kt(i){const M=L(i);if(!M)return;const[$,ie]=M;if(g=$,w=ie,Pe=!0,Gt=!0,!ut){const H=e(v)?.getContext("2d");H&&(ut=requestAnimationFrame(se=>Fe(H,se)))}}function oe(){Ce=!1}function Fe(i,M){if(!e(v))return;const $=Oe?.alpha?.()??0;if(!($>.001)&&!Gt){ut=0;return}Gt=!1;const H=o.edges.length>14e3||o.nodes.length>2200,se=$>0&&$<.05,Le=H||se?33:16;if(M>0&&M-Ye<Le){ut=requestAnimationFrame(_=>Fe(i,_));return}if(Ye=M,Ue){Ue=!1;const[_,G]=mt(Ne,qe),E=yt(_,G),V=E?.data.id??null;V!==qt&&(qt=V,o.onhovernode(E?.data??null)),e(v)&&(e(v).style.cursor=E?"pointer":"grab")}const Q=e(v).width,q=e(v).height;i.fillStyle="#050505",i.fillRect(0,0,Q,q),i.save(),i.translate(Q/2,q/2),i.scale(y,y),i.translate(-g,-w);const le=o.graphSelected?.id??null;it||(it=new oi(o.nodes,le,o.embeddingFilterIds,o.relationLookup,o.pinnedIds,o.lensIds,o.clusterLensMode,o.colorMode,o.nowMs,o.sourceFocusSources));const de=y>=1.4?lt:y>=.8?xe:_e;if(zt.length>0){const _=Math.max(1,Math.ceil(zt.length/de));i.beginPath();for(let G=0;G<zt.length;G+=_){const E=zt[G],V=E.source,Y=E.target;typeof V=="number"||typeof Y=="number"||!V||!Y||(i.moveTo(V.x,V.y),i.lineTo(Y.x,Y.y))}i.strokeStyle="rgba(255, 255, 255, 0.03)",i.lineWidth=.4/y,i.stroke()}if(C.length>0){const _=Math.max(1,Math.ceil(C.length/de)),G=new Map;for(let E=0;E<C.length;E+=_){const V=C[E],Y=V.source,z=V.target;if(typeof Y=="number"||typeof z=="number"||!Y||!z)continue;const Me=Uo(Y.data.id,z.data.id,o.embeddingFilterIds,o.relationLookup,o.lensIds,o.clusterLensMode),Je=G.get(Me);Je?Je.push([Y.x,Y.y,z.x,z.y]):G.set(Me,[[Y.x,Y.y,z.x,z.y]])}i.lineWidth=.8/y;for(const[E,V]of G){i.beginPath();for(const[Y,z,Me,Je]of V)i.moveTo(Y,z),i.lineTo(Me,Je);i.strokeStyle=E,i.stroke()}}if(ne.length>0){const _=Math.max(1,Math.floor(de/4)),G=Math.max(1,Math.ceil(ne.length/_));for(let E=0;E<ne.length;E+=G){const V=ne[E],Y=V.source,z=V.target;if(typeof Y=="number"||typeof z=="number"||!Y||!z)continue;const Me=Vo(V.dependencyType??"",V.strength??.5);i.beginPath(),Me.dash.length>0&&i.setLineDash(Me.dash.map(Je=>Je/y)),i.moveTo(Y.x,Y.y),i.lineTo(z.x,z.y),i.strokeStyle=Me.color,i.lineWidth=Me.width/y,i.stroke(),Me.dash.length>0&&i.setLineDash([])}}{const _=new Map,G=[],E=[];let V=null;for(let Y=0;Y<o.nodes.length;Y++){const z=o.nodes[Y];if(z.nodeType!=="memory"&&z.nodeType!==void 0)continue;const Me=it.fills[Y],Je=_.get(Me);Je?Je.push(z):_.set(Me,[z]),o.colorMode!=="none"&&o.showNewSinceLastSeen&&qo(z.data.createdAt,o.lastSeenMs)&&G.push(z),o.pinnedIds.has(z.data.id)&&E.push(z),le===z.data.id&&(V=z)}for(const[Y,z]of _){i.beginPath();for(const Me of z)i.moveTo(Me.x+Me.radius,Me.y),i.arc(Me.x,Me.y,Me.radius,0,Math.PI*2);i.fillStyle=Y,i.fill()}if(G.length>0){i.beginPath();for(const Y of G)i.moveTo(Y.x+Y.radius+2.2,Y.y),i.arc(Y.x,Y.y,Y.radius+2.2,0,Math.PI*2);i.strokeStyle="rgba(246, 194, 107, 0.85)",i.lineWidth=1.1/y,i.stroke()}if(E.length>0){i.strokeStyle="rgba(240, 240, 240, 0.8)",i.lineWidth=1.2/y;for(const Y of E){const z=(Y.radius+2.5)*2;i.strokeRect(Y.x-z/2,Y.y-z/2,z,z)}}V&&(i.beginPath(),i.arc(V.x,V.y,V.radius+3,0,Math.PI*2),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke())}for(const _ of o.nodes){if(_.nodeType!=="attribute")continue;const G=_.data.who??"unknown";i.beginPath(),i.arc(_.x,_.y,_.radius,0,Math.PI*2),i.fillStyle=xr(G,.3),i.fill(),i.strokeStyle=xr(G,.5),i.lineWidth=.6/y,i.stroke(),le===_.data.id&&(i.beginPath(),i.arc(_.x,_.y,_.radius+3,0,Math.PI*2),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke())}for(const _ of o.nodes){if(_.nodeType!=="aspect")continue;const G=_.data.who??"unknown";if(i.beginPath(),i.arc(_.x,_.y,_.radius,0,Math.PI*2),i.fillStyle=xr(G,.5),i.fill(),i.strokeStyle=xr(G,.75),i.lineWidth=.8/y,i.stroke(),le===_.data.id&&(i.beginPath(),i.arc(_.x,_.y,_.radius+3,0,Math.PI*2),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke()),o.graphHovered&&_.data.id===o.graphHovered.id||le===_.data.id){const E=Math.max(7,9/y);i.font=`${E}px var(--font-mono)`,i.fillStyle="rgba(210, 210, 210, 0.85)",i.textAlign="center",i.fillText(_.aspectData?.name??"",_.x,_.y+_.radius+E+1/y),i.textAlign="start"}}for(const _ of o.nodes){if(_.nodeType!=="entity")continue;const G=_.entityData?.entityType??"unknown";i.save(),i.shadowColor=xr(G,.5),i.shadowBlur=12/y,pn(i,_.x,_.y,_.radius),i.fillStyle=xr(G,.7),i.fill(),i.restore(),pn(i,_.x,_.y,_.radius),i.strokeStyle=xr(G,.9),i.lineWidth=1.2/y,i.stroke(),le===_.data.id&&(pn(i,_.x,_.y,_.radius+4),i.strokeStyle="rgba(255, 255, 255, 0.95)",i.lineWidth=1.5/y,i.stroke());const E=Math.max(8,10/y);i.font=`bold ${E}px var(--font-mono)`,i.fillStyle="rgba(230, 230, 230, 0.9)",i.textAlign="center",i.fillText(_.entityData?.name??"",_.x,_.y+_.radius+E+2/y),i.textAlign="start"}if(o.graphHovered){const _=rr.get(o.graphHovered.id);if(_&&_.nodeType!=="entity"&&_.nodeType!=="aspect"){const G=_.nodeType==="attribute"?_.attributeData?.content??hr(o.graphHovered):hr(o.graphHovered),E=9/y;i.font=`${E}px var(--font-mono)`,i.fillStyle="rgba(220, 220, 220, 0.9)",i.textAlign="left";const V=80;i.fillText(G.length>V?`${G.slice(0,V)}...`:G,_.x+_.radius+5/y,_.y+E*.35),i.textAlign="start"}}i.restore(),e(fe)&&(tt++,(Pe||tt>=It)&&(Bt(),Pe=!1,tt=0)),ut=requestAnimationFrame(_=>Fe(i,_))}function $t(){if(!e(v))return;kt&&(kt(),kt=null);const i=e(v),M=Q=>{const[q,le]=mt(Q.clientX,Q.clientY),de=yt(q,le);Re=!1,de?(P=!0,pe=de,he=Q.clientX,ge=Q.clientY):(J=!0,he=Q.clientX,ge=Q.clientY,$e=g,We=w)},$=Q=>{if(P&&pe){const q=Q.clientX-he,le=Q.clientY-ge;if(!Re&&q*q+le*le<Ke*Ke)return;Re||(Re=!0,gt=!0,pe.fx=pe.x,pe.fy=pe.y,Oe?.alphaTarget(.3).restart());const[de,_]=mt(Q.clientX,Q.clientY);pe.fx=de,pe.fy=_,ve();return}if(J){gt=!0,g=$e-(Q.clientX-he)/y,w=We-(Q.clientY-ge)/y,ve();return}Ne=Q.clientX,qe=Q.clientY,Ue=!0,ve()},ie=()=>{if(P&&pe){Re&&(pe.fx=null,pe.fy=null,Oe?.alphaTarget(0)),pe=null,P=!1,ve();return}J=!1},H=()=>{J=!1,qt!==null&&(qt=null,o.onhovernode(null))},se=Q=>{if(Re)return;const[q,le]=mt(Q.clientX,Q.clientY),de=yt(q,le);o.onselectnode(de?.data??null)},Le=Q=>{Q.preventDefault(),gt=!0;const q=Q.deltaY>0?.9:1.1,le=Math.max(.1,Math.min(5,y*q)),de=i.getBoundingClientRect(),_=de.width/2,G=de.height/2,E=Q.clientX-de.left-_,V=Q.clientY-de.top-G,Y=E/y+g,z=V/y+w;y=le,g=Y-E/y,w=z-V/y,ve()};i.addEventListener("pointerdown",M),i.addEventListener("pointermove",$),i.addEventListener("pointerup",ie),i.addEventListener("pointerleave",H),i.addEventListener("click",se),i.addEventListener("wheel",Le,{passive:!1}),kt=()=>{i.removeEventListener("pointerdown",M),i.removeEventListener("pointermove",$),i.removeEventListener("pointerup",ie),i.removeEventListener("pointerleave",H),i.removeEventListener("click",se),i.removeEventListener("wheel",Le)}}re(()=>{o.graphSelected,o.graphHovered,o.embeddingFilterIds,o.relationLookup,o.pinnedIds,o.lensIds,o.clusterLensMode,it=null,ve()}),re(()=>{const i=o.edges,M=[],$=[],ie=[];for(const H of i)H.edgeType==="hierarchy"?M.push(H):H.edgeType==="dependency"?ie.push(H):$.push(H);zt=M,C=$,ne=ie}),re(()=>()=>{Oe?.stop(),Oe=null,kt&&(kt(),kt=null),Ft&&(window.removeEventListener("resize",Ve),Ft=!1),cancelAnimationFrame(ut)});var nr={resetCamera:we,focusNode:dt,startSimulation:ht,startKnowledgeGraphSimulation:Tt,updatePhysics:Ct,stopSimulation:ue,startRendering:Se,resumeRendering:pt,stopRendering:Lt,requestRedraw:ve},or=li(),Ut=l(or);br(Ut,i=>n(v,i),()=>e(v));var ct=d(Ut,2);{var Vt=i=>{var M=si();fn(M,"width",ye),fn(M,"height",ze),br(M,$=>n(st,$),()=>e(st)),X("mousedown",M,W),X("mousemove",M,rt),X("mouseup",M,oe),Ar("mouseleave",M,oe),u(i,M)};j(ct,i=>{e(fe)&&i(Vt)})}return s(or),u(h,or),Sn(nr)}Mn(["mousedown","mousemove","mouseup"]);var ci=m('<button class="text-[11px] text-[var(--sig-accent)] bg-transparent border-none cursor-pointer p-0 hover:underline">Clear</button>'),ui=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.08)]">pinned</span>'),gi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),vi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase"> </div> <div class="flex flex-col gap-2"></div>',1),pi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),fi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Dependencies</div> <div class="flex flex-col gap-2"></div>',1),mi=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] border px-[7px] py-[2px]"> </span> <!></div> <div class="font-[family-name:var(--font-mono)] text-[14px] text-[var(--sig-text-bright)] font-bold"> </div> <div class="grid grid-cols-3 gap-1 text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><div class="border border-[var(--sig-border-strong)] px-2 py-1 text-center"><div class="text-[var(--sig-text-bright)]"> </div> <div>aspects</div></div> <div class="border border-[var(--sig-border-strong)] px-2 py-1 text-center"><div class="text-[var(--sig-text-bright)]"> </div> <div>attributes</div></div> <div class="border border-[var(--sig-border-strong)] px-2 py-1 text-center"><div class="text-[var(--sig-text-bright)]"> </div> <div>deps</div></div></div> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)]">Center</button></div> <!> <!>',1),xi=m('<button class="w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase">Parent entity</span> <div class="text-[12px] text-[var(--sig-text-bright)]"> </div></button>'),bi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),hi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase"> </div> <div class="flex flex-col gap-2"></div>',1),yi=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]">aspect</span> <span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]"> </span></div> <div class="font-[family-name:var(--font-mono)] text-[14px] text-[var(--sig-text-bright)] font-bold"> </div> <!> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)]">Center</button></div> <!>',1),_i=m('<button class="w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase">Parent entity</span> <div class="text-[12px] text-[var(--sig-text-bright)]"> </div></button>'),wi=m('<button class="w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase">Parent aspect</span> <div class="text-[12px] text-[var(--sig-text-bright)]"> </div></button>'),Si=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Linked memory</div> <button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>',1),Mi=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]"> </span> <span class="font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)] text-[var(--sig-text)]"> </span></div> <p class="m-0 text-[13px] leading-[1.55] text-[var(--sig-text-bright)] whitespace-pre-wrap break-words"> </p> <!> <!> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)]">Center</button></div> <!>',1),ki=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span>'),Ii=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.08)]">pinned</span>'),Ti=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span>'),Ei=m('<div class="flex flex-wrap gap-[6px]"></div>'),Ni=m('<div class="border border-dashed border-[var(--sig-danger)] p-2 text-[11px] text-[var(--sig-danger)] leading-[1.5]"> </div>'),Fi=m('<div class="border border-dashed border-[var(--sig-border-strong)] p-3 text-[12px] text-[var(--sig-text-muted)] leading-[1.5]">No related memories in this view.</div>'),Pi=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),Ci=m('<div class="border border-dashed border-[var(--sig-border-strong)] p-3 text-[12px] text-[var(--sig-text-muted)] leading-[1.5]">Finding similar memories...</div>'),Li=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap">global</span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),Di=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Global similar</div> <div class="flex flex-col gap-2"></div>',1),Ai=m('<div class="flex flex-wrap gap-[6px]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span> <!> <span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-[7px] py-[2px] bg-[rgba(255,255,255,0.04)]"> </span> <!></div> <div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] border border-[var(--sig-border-strong)] px-[7px] py-[5px] bg-transparent break-all"> </div> <p class="m-0 text-[13px] leading-[1.55] text-[var(--sig-text-bright)] whitespace-pre-wrap break-words"> </p> <!> <div class="flex gap-2"><button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)] disabled:opacity-40 disabled:cursor-not-allowed">Center</button> <button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)] disabled:opacity-40 disabled:cursor-not-allowed"> </button> <button class="px-3 py-1 font-[family-name:var(--font-mono)] text-[10px] font-medium tracking-[0.1em] uppercase bg-transparent border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] cursor-pointer enabled:hover:bg-[var(--sig-text-bright)] enabled:hover:text-[var(--sig-bg)] disabled:opacity-40 disabled:cursor-not-allowed"> </button></div> <!> <div class="self-start flex border border-[var(--sig-border-strong)] overflow-hidden"><button>Similar</button> <button>Dissimilar</button></div> <div class="flex flex-col gap-2"><!></div> <!>',1),Ri=m('<button class="grid grid-cols-[auto_1fr] gap-2 items-start w-full text-left border border-[var(--sig-border-strong)] bg-[rgba(255,255,255,0.03)] text-[var(--sig-text)] px-2 py-[7px] cursor-pointer hover:border-[var(--sig-text-muted)] hover:bg-[var(--sig-surface-raised)]"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-accent)] whitespace-nowrap"> </span> <span class="text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-2"> </span></button>'),Oi=m('<div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.04em] uppercase">Search matches</div> <div class="flex flex-col gap-2"></div>',1),Yi=m('<div class="border border-dashed border-[var(--sig-border-strong)] p-3 text-[12px] text-[var(--sig-text-muted)] leading-[1.5]">Select a node to inspect content, source metadata, and similar or dissimilar neighbors.</div> <!>',1),Xi=m('<aside><div class="flex items-center justify-between gap-2"><span class="font-[family-name:var(--font-mono)] text-[11px] tracking-[0.06em] uppercase text-[var(--sig-text)]">Inspector</span> <!></div> <!></aside>');function ji(h,o){wn(o,!0);let v=cr(o,"containerClass",3,""),g=cr(o,"selectedNodeType",3,void 0),w=cr(o,"selectedEntityData",3,null),y=cr(o,"selectedAspectData",3,null),J=cr(o,"selectedAttributeData",3,null),P=cr(o,"parentEntityId",3,null),Re=cr(o,"parentAspectId",3,null),pe=cr(o,"constellationOverlay",3,null);const he=U(()=>g()==="entity"&&w()!==null),ge=U(()=>g()==="aspect"&&y()!==null),$e=U(()=>g()==="attribute"&&J()!==null),We=U(()=>{if(!w()||!pe())return[];const C=w().id;return pe().dependencies.filter(ne=>ne.sourceEntityId===C||ne.targetEntityId===C)}),Ke=U(()=>!P()||!pe()?null:pe().entities.find(C=>C.id===P())??null),Oe=U(()=>!Re()||!e(Ke)?null:e(Ke).aspects.find(C=>C.id===Re())??null);function ut(C){return pe()?pe().entities.find(Ne=>Ne.id===C)?.name??C:C}function kt(C){return o.embeddingById.get(C)??null}var Ft=Xi(),Ye=l(Ft),Gt=d(l(Ye),2);{var qt=C=>{var ne=ci();X("click",ne,function(...Ne){o.onclearselection?.apply(this,Ne)}),u(C,ne)};j(Gt,C=>{o.graphSelected&&C(qt)})}s(Ye);var gt=d(Ye,2);{var rr=C=>{var ne=mi(),Ne=me(ne),qe=l(Ne),Ue=l(qe,!0);s(qe);var ye=d(qe,2);{var ze=ue=>{var Se=ui();u(ue,Se)};j(ye,ue=>{w().pinned&&ue(ze)})}s(Ne);var et=d(Ne,2),st=l(et,!0);s(et);var Pe=d(et,2),tt=l(Pe),It=l(tt),Pt=l(It,!0);s(It),ur(2),s(tt);var fe=d(tt,2),Ce=l(fe),ve=l(Ce,!0);s(Ce),ur(2),s(fe);var lt=d(fe,2),xe=l(lt),_e=l(xe,!0);s(xe),ur(2),s(lt),s(Pe);var we=d(Pe,2),Be=l(we);s(we);var dt=d(we,2);{var ht=ue=>{var Se=vi(),pt=me(Se),Lt=l(pt);s(pt);var Ve=d(pt,2);St(Ve,21,()=>w().aspects,Mt,(ft,mt)=>{var yt=gi(),Dt=l(yt),Bt=l(Dt);s(Dt);var L=d(Dt,2),W=l(L,!0);s(L),s(yt),F(rt=>{b(Bt,`w${rt??""}%`),b(W,e(mt).name)},[()=>Math.round(e(mt).weight*100)]),X("click",yt,()=>o.onselectembedding(`aspect:${e(mt).id}`)),u(ft,yt)}),s(Ve),F(()=>b(Lt,`Aspects (${w().aspects.length??""})`)),u(ue,Se)};j(dt,ue=>{w().aspects.length>0&&ue(ht)})}var Tt=d(dt,2);{var Ct=ue=>{var Se=fi(),pt=d(me(Se),2);St(pt,21,()=>e(We),Mt,(Lt,Ve)=>{const ft=U(()=>e(Ve).sourceEntityId===w().id),mt=U(()=>e(ft)?e(Ve).targetEntityId:e(Ve).sourceEntityId);var yt=pi(),Dt=l(yt),Bt=l(Dt);s(Dt);var L=d(Dt,2),W=l(L,!0);s(L),s(yt),F(rt=>{b(Bt,`${e(ft)?"->":"<-"} ${e(Ve).dependencyType??""}`),b(W,rt)},[()=>ut(e(mt))]),X("click",yt,()=>o.onselectembedding(`entity:${e(mt)}`)),u(Lt,yt)}),s(pt),u(ue,Se)};j(Tt,ue=>{e(We).length>0&&ue(Ct)})}F((ue,Se)=>{Wt(qe,ue),b(Ue,w().entityType),b(st,w().name),b(Pt,w().aspects.length),b(ve,Se),b(_e,e(We).length)},[()=>`color: ${bn(w().entityType)}; border-color: ${bn(w().entityType)}; background: rgba(255,255,255,0.04);`,()=>w().aspects.reduce((ue,Se)=>ue+Se.attributes.length,0)]),X("click",Be,function(...ue){o.onfocusembedding?.apply(this,ue)}),u(C,ne)},vt=C=>{var ne=yi(),Ne=me(ne),qe=d(l(Ne),2),Ue=l(qe);s(qe),s(Ne);var ye=d(Ne,2),ze=l(ye,!0);s(ye);var et=d(ye,2);{var st=fe=>{var Ce=xi(),ve=d(l(Ce),2),lt=l(ve,!0);s(ve),s(Ce),F(()=>b(lt,e(Ke).name)),X("click",Ce,()=>e(Ke)&&o.onselectembedding(`entity:${e(Ke).id}`)),u(fe,Ce)};j(et,fe=>{e(Ke)&&fe(st)})}var Pe=d(et,2),tt=l(Pe);s(Pe);var It=d(Pe,2);{var Pt=fe=>{var Ce=hi(),ve=me(Ce),lt=l(ve);s(ve);var xe=d(ve,2);St(xe,21,()=>y().attributes,Mt,(_e,we)=>{var Be=bi(),dt=l(Be),ht=l(dt,!0);s(dt);var Tt=d(dt,2),Ct=l(Tt,!0);s(Tt),s(Be),F(()=>{b(ht,e(we).kind),b(Ct,e(we).content)}),X("click",Be,()=>o.onselectembedding(`attr:${e(we).id}`)),u(_e,Be)}),s(xe),F(()=>b(lt,`Attributes (${y().attributes.length??""})`)),u(fe,Ce)};j(It,fe=>{y().attributes.length>0&&fe(Pt)})}F(fe=>{b(Ue,`weight ${fe??""}%`),b(ze,y().name)},[()=>Math.round(y().weight*100)]),X("click",tt,function(...fe){o.onfocusembedding?.apply(this,fe)}),u(C,ne)},Xt=C=>{var ne=Mi(),Ne=me(ne),qe=l(Ne),Ue=l(qe,!0);s(qe);var ye=d(qe,2),ze=l(ye);s(ye),s(Ne);var et=d(Ne,2),st=l(et,!0);s(et);var Pe=d(et,2);{var tt=xe=>{var _e=_i(),we=d(l(_e),2),Be=l(we,!0);s(we),s(_e),F(()=>b(Be,e(Ke).name)),X("click",_e,()=>e(Ke)&&o.onselectembedding(`entity:${e(Ke).id}`)),u(xe,_e)};j(Pe,xe=>{e(Ke)&&xe(tt)})}var It=d(Pe,2);{var Pt=xe=>{var _e=wi(),we=d(l(_e),2),Be=l(we,!0);s(we),s(_e),F(()=>b(Be,e(Oe).name)),X("click",_e,()=>e(Oe)&&o.onselectembedding(`aspect:${e(Oe).id}`)),u(xe,_e)};j(It,xe=>{e(Oe)&&xe(Pt)})}var fe=d(It,2),Ce=l(fe);s(fe);var ve=d(fe,2);{var lt=xe=>{const _e=U(()=>o.embeddingById.get(J().memoryId));var we=gr(),Be=me(we);{var dt=ht=>{var Tt=Si(),Ct=d(me(Tt),2),ue=l(Ct),Se=l(ue,!0);s(ue);var pt=d(ue,2),Lt=l(pt,!0);s(pt),s(Ct),F(Ve=>{b(Se,e(_e).who??"memory"),b(Lt,Ve)},[()=>hr(e(_e))]),X("click",Ct,()=>e(_e)&&o.onselectembedding(e(_e).id)),u(ht,Tt)};j(Be,ht=>{e(_e)&&ht(dt)})}u(xe,we)};j(ve,xe=>{J().memoryId&&xe(lt)})}F(xe=>{b(Ue,J().kind),b(ze,`importance ${xe??""}%`),b(st,J().content)},[()=>Math.round(J().importance*100)]),X("click",Ce,function(...xe){o.onfocusembedding?.apply(this,xe)}),u(C,ne)},it=C=>{var ne=Ai(),Ne=me(ne),qe=l(Ne),Ue=l(qe,!0);s(qe);var ye=d(qe,2);{var ze=L=>{var W=ki(),rt=l(W,!0);s(W),F(()=>b(rt,o.graphSelected.type)),u(L,W)};j(ye,L=>{o.graphSelected.type&&L(ze)})}var et=d(ye,2),st=l(et);s(et);var Pe=d(et,2);{var tt=L=>{var W=Ii();u(L,W)};j(Pe,L=>{o.graphSelected.pinned&&L(tt)})}s(Ne);var It=d(Ne,2),Pt=l(It,!0);s(It);var fe=d(It,2),Ce=l(fe,!0);s(fe);var ve=d(fe,2);{var lt=L=>{var W=Ei();St(W,21,()=>o.graphSelected.tags.slice(0,8),Mt,(rt,Kt)=>{var oe=Ti(),Fe=l(oe);s(oe),F(()=>b(Fe,`#${e(Kt)??""}`)),u(rt,oe)}),s(W),u(L,W)};j(ve,L=>{o.graphSelected.tags?.length&&L(lt)})}var xe=d(ve,2),_e=l(xe),we=d(_e,2),Be=l(we,!0);s(we);var dt=d(we,2),ht=l(dt,!0);s(dt),s(xe);var Tt=d(xe,2);{var Ct=L=>{var W=Ni(),rt=l(W,!0);s(W),F(()=>b(rt,o.pinError)),u(L,W)};j(Tt,L=>{o.pinError&&L(Ct)})}var ue=d(Tt,2),Se=l(ue),pt=d(Se,2);s(ue);var Lt=d(ue,2),Ve=l(Lt);{var ft=L=>{var W=Fi();u(L,W)},mt=L=>{var W=gr(),rt=me(W);St(rt,17,()=>o.activeNeighbors,Mt,(Kt,oe)=>{const Fe=U(()=>kt(e(oe).id));var $t=gr(),nr=me($t);{var or=Ut=>{var ct=Pi(),Vt=l(ct),i=l(Vt,!0);s(Vt);var M=d(Vt,2),$=l(M,!0);s(M),s(ct),F((ie,H)=>{b(i,ie),b($,H)},[()=>Math.round(e(oe).score*1e3)/1e3,()=>hr(e(Fe))]),X("click",ct,()=>o.onselectembedding(e(Fe).id)),u(Ut,ct)};j(nr,Ut=>{e(Fe)&&Ut(or)})}u(Kt,$t)}),u(L,W)};j(Ve,L=>{o.activeNeighbors.length===0?L(ft):L(mt,-1)})}s(Lt);var yt=d(Lt,2);{var Dt=L=>{var W=Ci();u(L,W)},Bt=L=>{var W=Di(),rt=d(me(W),2);St(rt,21,()=>o.globalSimilar,Mt,(Kt,oe)=>{var Fe=Li(),$t=d(l(Fe),2),nr=l($t,!0);s($t),s(Fe),F(()=>b(nr,e(oe).content)),X("click",Fe,()=>o.onopenglobalsimilar(e(oe))),u(Kt,Fe)}),s(rt),u(L,W)};j(yt,L=>{o.loadingGlobalSimilar?L(Dt):o.globalSimilar.length>0&&L(Bt,1)})}F((L,W)=>{b(Ue,o.graphSelected.who??"unknown"),b(st,`importance ${L??""}%`),b(Pt,W),b(Ce,o.graphSelected.content??o.graphSelected.text??"(No content preview available)"),we.disabled=o.pinBusy,b(Be,o.pinBusy?"Saving...":o.graphSelected.pinned?"Unpin":"Pin"),dt.disabled=o.loadingGlobalSimilar,b(ht,o.loadingGlobalSimilar?"Loading...":"Global similar"),bt(Se,1,`px-2 py-0.5 text-[10px] font-medium font-[family-name:var(--font-mono)] bg-transparent border-none cursor-pointer tracking-[0.04em] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] ${o.relationMode==="similar"?"text-[var(--sig-text-bright)] bg-[var(--sig-surface-raised)]":"text-[var(--sig-text-muted)]"}`),bt(pt,1,`px-2 py-0.5 text-[10px] font-medium font-[family-name:var(--font-mono)] bg-transparent border-none cursor-pointer tracking-[0.04em] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] ${o.relationMode==="dissimilar"?"text-[var(--sig-text-bright)] bg-[var(--sig-surface-raised)]":"text-[var(--sig-text-muted)]"}`)},[()=>Math.round((o.graphSelected.importance??0)*100),()=>Ko(o.graphSelected)]),X("click",_e,function(...L){o.onfocusembedding?.apply(this,L)}),X("click",we,function(...L){o.onpintoggle?.apply(this,L)}),X("click",dt,function(...L){o.onloadglobalsimilar?.apply(this,L)}),X("click",Se,()=>o.onsetrelationmode("similar")),X("click",pt,()=>o.onsetrelationmode("dissimilar")),u(C,ne)},zt=C=>{var ne=Yi(),Ne=d(me(ne),2);{var qe=Ue=>{var ye=Oi(),ze=d(me(ye),2);St(ze,21,()=>o.embeddingSearchMatches,Mt,(et,st)=>{var Pe=Ri(),tt=l(Pe),It=l(tt,!0);s(tt);var Pt=d(tt,2),fe=l(Pt,!0);s(Pt),s(Pe),F(Ce=>{b(It,e(st).who),b(fe,Ce)},[()=>hr(e(st))]),X("click",Pe,()=>o.onselectembedding(e(st).id)),u(et,Pe)}),s(ze),u(Ue,ye)};j(Ne,Ue=>{o.embeddingSearch&&o.embeddingSearchMatches.length>0&&Ue(qe)})}u(C,ne)};j(gt,C=>{e(he)&&w()?C(rr):e(ge)&&y()?C(vt,1):e($e)&&J()?C(Xt,2):o.graphSelected?C(it,3):C(zt,-1)})}s(Ft),F(()=>bt(Ft,1,`flex flex-col gap-3 p-3 overflow-y-auto ${v()}`)),u(h,Ft),Sn()}Mn(["click"]);var Hi=m('<div class="absolute right-3 z-[9] pointer-events-none"><button type="button" class="pointer-events-auto px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] bg-[rgba(5,5,5,0.74)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]"> </button></div>'),Gi=m('<span class="text-[#c4a24a]"> </span>'),zi=m('<div class="mt-0.5 font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)] leading-[1.3]"> </div>'),Bi=m('<div class="mt-1"><div class="flex items-center justify-between font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)]"><span> </span> <span> </span></div> <div class="mt-1 h-[5px] border border-[rgba(255,255,255,0.2)] bg-[rgba(255,255,255,0.05)]"><div class="h-full bg-[#c4a24a]"></div></div> <div class="mt-1 font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)]"> </div></div>'),Wi=m('<div class="mb-2 border border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-1.5 py-1.5"><div class="font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text)] leading-[1.3]"> </div> <!> <!></div>'),qi=m('<button type="button" class="mt-1 font-[family-name:var(--font-mono)] text-[9px] text-[#c4a24a] hover:text-[var(--sig-text-bright)] underline underline-offset-2 disabled:opacity-40 disabled:no-underline"> </button>'),Ki=m('<div class="flex items-start gap-1.5 px-1.5 py-1 border border-[rgba(255,255,255,0.1)] bg-[rgba(255,255,255,0.02)]"><span class="inline-block w-[6px] h-[6px] rounded-full shrink-0 mt-[4px]"></span> <div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)]"> </span> <span class="font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)] uppercase"> </span></div> <div class="font-[family-name:var(--font-mono)] text-[9px] text-[var(--sig-text-muted)] leading-[1.3] mt-0.5"> </div> <!></div></div>'),Ui=m('<div class="mt-1 border border-[rgba(255,255,255,0.22)] bg-[rgba(5,5,5,0.92)] px-2 py-2 w-[320px]"><div class="flex items-center justify-between mb-2"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase tracking-[0.06em]">Constellation Health</span> <span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)]"> </span></div> <!> <div class="space-y-1"></div></div>'),Vi=m('<div class="absolute top-2 right-3 z-[8] pointer-events-none"><div class="pointer-events-auto"><button type="button" class="flex items-center gap-1.5 px-2 py-[4px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[rgba(255,255,255,0.22)] bg-[rgba(5,5,5,0.75)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"><span class="inline-block w-[7px] h-[7px] rounded-full shrink-0"></span> <span class="text-[var(--sig-text-muted)]"> </span> <!></button> <!></div></div>'),Ji=m("<span>Legend</span> <!>",1),Qi=m("<span> </span>"),Zi=m('<div class="flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-[var(--sig-text-muted)] mb-1.5"><span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>last few minutes</span> <span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>last few hours</span> <span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>last week</span> <span class="inline-flex items-center gap-1"><span class="inline-block w-[8px] h-[8px] rounded-full"></span>older</span></div> <div class="flex flex-wrap gap-1 mb-1.5"></div>',1),$i=m('<span><span class="inline-block w-[6px] h-[6px] rounded-full"></span> </span>'),es=m('<div class="flex flex-wrap gap-1 mb-1.5"></div>'),ts=m('<div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1.5">No color applied - all nodes are shown in gray.</div>'),rs=m('<div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1"><span class="text-[var(--sig-text)]">Outline</span> = new since last seen</div>'),ns=m('<span class="h-5 inline-flex items-center gap-1 px-1.5 py-0 font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] border border-[rgba(255,255,255,0.14)] bg-transparent"><span class="inline-block w-[8px] h-[8px]"></span> </span>'),as=m('<div class="mt-2 pt-2 border-t border-[rgba(255,255,255,0.1)]"><div class="text-[10px] font-[family-name:var(--font-mono)] uppercase tracking-[0.06em] text-[var(--sig-text-muted)] mb-1">Knowledge Graph</div> <div class="flex flex-wrap gap-1 mb-1.5"></div> <div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] space-y-0.5"><div><span class="text-[var(--sig-text)]">Hexagon</span> = entity (large, labeled)</div> <div><span class="text-[var(--sig-text)]">Circle</span> = aspect (medium, orbits entity)</div> <div><span class="text-[var(--sig-text)]">Small dot</span> = attribute (orbits aspect)</div> <div><span class="text-[var(--sig-text)]">Tiny dot</span> = linked memory (leaf node)</div> <div><span class="text-[var(--sig-text)]">Faint lines</span> = parent-child hierarchy</div> <div><span class="text-[var(--sig-text)]">Styled line</span> = entity dependency</div></div></div>'),os=m('<div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1"><span class="text-[var(--sig-text)]">Color</span> </div> <!> <div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35] mb-1"><span class="text-[var(--sig-text)]">Radius</span> = importance</div> <div class="flex items-center gap-2 text-[10px] text-[var(--sig-text-muted)] mb-1.5"><span class="inline-block w-[6px] h-[6px] rounded-full border border-[rgba(255,255,255,0.24)]"></span> <span class="inline-block w-[9px] h-[9px] rounded-full border border-[rgba(255,255,255,0.28)]"></span> <span class="inline-block w-[12px] h-[12px] rounded-full border border-[rgba(255,255,255,0.32)]"></span> <span>low to high</span></div> <!> <div class="text-[10px] text-[var(--sig-text-muted)] leading-[1.35]"><span class="text-[var(--sig-text)]">Relation highlight</span> = selected node neighborhood emphasis</div> <!>',1),is=m("<!> <!>",1),ss=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p> </p></div>'),ls=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p class="text-[var(--sig-danger)]"> </p></div>'),ds=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p>No memories found</p></div>'),cs=m('<div class="absolute inset-0 flex items-center justify-center bg-[var(--sig-bg)] z-10"><p>Loading...</p></div>'),us=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.04)]"> </span>'),gs=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.08)]">pinned</span>'),vs=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] border border-[var(--sig-text-bright)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.08)]">locked</span>'),ps=m('<div class="grid grid-cols-[1fr_auto] items-start gap-2 border border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.02)] px-1.5 py-1"><span class="text-[10px] leading-[1.35] text-[var(--sig-text)] line-clamp-1"> </span> <span class="text-[10px] text-[var(--sig-text-muted)]"> </span></div>'),fs=m('<div class="mt-2 pt-2 border-t border-[rgba(255,255,255,0.14)]"><div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] uppercase tracking-[0.06em] mb-1">Local neighbors</div> <div class="space-y-1"></div></div>'),ms=m('<div class="z-[9] w-[320px] pointer-events-none border border-[rgba(255,255,255,0.26)] bg-[rgba(5,5,5,0.92)] px-2 py-2" style="position:absolute;top:0;left:0;will-change:transform"><div class="flex items-center gap-1.5 flex-wrap mb-1.5"><span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text)] border border-[var(--sig-border-strong)] px-1.5 py-[1px] bg-[rgba(255,255,255,0.04)]"> </span> <!> <!> <!></div> <div class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] mb-1.5"> </div> <p class="m-0 text-[12px] leading-[1.45] text-[var(--sig-text-bright)] line-clamp-3"> </p> <div class="mt-1 text-[10px] text-[var(--sig-text-muted)]"> </div> <!></div>'),xs=m('<div class="absolute inset-0 flex items-center justify-center bg-[#050505]"><span class="text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] text-[11px]"> </span></div>'),bs=m('<div class="absolute inset-0 flex items-center justify-center bg-[#050505]"><span class="text-[var(--sig-danger)] font-[family-name:var(--font-mono)] text-[11px]"> </span></div>'),hs=m('<div class="absolute inset-0 flex items-center justify-center bg-[#050505]"><span class="text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] text-[11px]"> </span></div>'),ys=m("<span>View Controls</span> <!>",1),_s=m('<span class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] border border-[var(--sig-border)] px-2 py-1"> </span>'),ws=m('<div class="p-2 space-y-2 border-t border-[var(--sig-border)]"><div class="flex items-center gap-2"><input type="text" class="flex-1 font-[family-name:var(--font-mono)] text-[11px] text-[var(--sig-text-bright)] bg-[var(--sig-surface)] border border-[var(--sig-border-strong)] px-[9px] py-[6px] outline-none" placeholder="Search constellation"/> <!></div> <div class="text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </div> <div class="flex flex-wrap gap-1"><button>Pinned</button> <button>Neighborhood</button> <button>Lens</button> <button class="px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"> </button></div> <div class="border border-[var(--sig-border)] px-2 py-2 space-y-1.5"><div class="font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] text-[var(--sig-text-muted)]">Color Mode</div> <div class="flex flex-wrap gap-1"><button>Newness</button> <button>Source</button> <button>None</button></div></div> <div class="border border-[var(--sig-border)] px-2 py-2 space-y-1.5"><div class="font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] text-[var(--sig-text-muted)]">Overlays</div> <div class="flex flex-wrap gap-1"><button>New since last seen</button> <button> </button></div></div> <div class="border border-[var(--sig-border)] px-2 py-2 space-y-1.5" style="accent-color: var(--sig-highlight);"><div class="font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] text-[var(--sig-text-muted)]">Graph Physics</div> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>center force</span> <span> </span></div> <input type="range" min="0" max="1" step="0.01"/></label> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>repel force</span> <span> </span></div> <input type="range" min="-600" max="-10" step="5"/></label> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>link force</span> <span> </span></div> <input type="range" min="0.01" max="1" step="0.01"/></label> <label class="block"><div class="flex items-center justify-between text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"><span>link distance</span> <span> </span></div> <input type="range" min="12" max="280" step="1"/></label> <button type="button" class="px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]">Physics Reset</button></div></div>'),Ss=m("<!> <!>",1),Ms=m("<span>Presets</span> <!>",1),ks=m("<button> </button>"),Is=m('<div class="inline-flex items-center border border-[var(--sig-border-strong)]"><button> </button> <button class="px-1.5 py-[2px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]">×</button></div>'),Ts=m('<div class="p-2 border-t border-[var(--sig-border)] flex flex-wrap gap-1"><!> <!> <button class="px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"> </button></div>'),Es=m("<!> <!>",1),Ns=m("<span>Sources</span> <!>",1),Fs=m('<span class="text-[10px] text-[var(--sig-text-muted)]">No sources</span>'),Ps=m("<button> </button>"),Cs=m('<div class="p-2 border-t border-[var(--sig-border)] flex flex-wrap gap-1"><!></div>'),Ls=m("<!> <!>",1),Ds=m("<span>Advanced</span> <!>",1),As=m('<div class="flex items-center gap-1 flex-wrap"><input type="date" class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/> <input type="date" class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/></div>'),Rs=m('<span class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]">none</span>'),Os=m("<button> </button>"),Ys=m("<button> </button>"),Xs=m('<div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Type</span> <!></div>'),js=m("<button> </button>"),Hs=m('<div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Source type</span> <!></div>'),Gs=m('<div class="p-2 border-t border-[var(--sig-border)] space-y-2"><div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Window</span> <input type="number" min="0" max="100000" class="w-[70px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/> <span class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]">to</span> <input type="number" min="1" max="100000" class="w-[70px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"/> <select class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"><option>time: all</option><option>time: 24h</option><option>time: 7d</option><option>time: 30d</option><option>time: 90d</option><option>time: custom</option></select></div> <!> <div class="flex items-center gap-1 flex-wrap"><select class="font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none"><option>pins: all</option><option>pins: pinned</option><option>pins: unpinned</option></select> <input type="text" class="w-[140px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="server query"/> <input type="text" class="w-[110px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="tags csv"/> <input type="text" class="w-[60px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="imp>"/> <input type="text" class="w-[60px] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-bright)] bg-[var(--sig-bg)] border border-[var(--sig-border-strong)] px-1.5 py-[2px] outline-none" placeholder="imp<"/></div> <div class="flex items-center gap-1 flex-wrap"><span class="px-1 text-[10px] text-[var(--sig-text-muted)] uppercase font-[family-name:var(--font-mono)]">Harness</span> <!></div> <!> <!></div>'),zs=m("<!> <!>",1),Bs=m('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-1 min-h-0 bg-[#050505] max-lg:flex-col"><div class="flex-1 relative overflow-hidden bg-[#050505]" role="presentation"><!> <!> <div class="absolute left-3 top-3 bottom-3 z-[8] pointer-events-none flex flex-col justify-end items-start max-w-[220px]"><!></div> <!> <div class="absolute left-[14px] z-[6] font-[family-name:var(--font-mono)] text-[10px] text-[var(--sig-text-muted)] tracking-[0.08em] uppercase pointer-events-none" aria-hidden="true">:: ○ ○ 01 10 11 // latent topology</div> <div class="absolute inset-0 pointer-events-none z-[5]" aria-hidden="true"><span class="absolute top-[10px] left-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:1px 0 0 1px"></span> <span class="absolute top-[10px] right-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:1px 1px 0 0"></span> <span class="absolute bottom-[10px] left-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:0 0 1px 1px"></span> <span class="absolute bottom-[10px] right-[10px] w-[14px] h-[14px] border-[rgba(255,255,255,0.22)]" style="border-style:solid;border-width:0 1px 1px 0"></span></div> <!> <div><!></div> <div><!></div></div> <div class="w-[360px] min-w-[320px] border-l border-[var(--sig-border)] bg-[var(--sig-surface)] flex flex-col min-h-0 max-lg:w-full max-lg:min-w-0 max-lg:max-h-[48%] max-lg:border-l-0 max-lg:border-t max-lg:border-t-[var(--sig-border)]"><div class="p-3 border-b border-[var(--sig-border)] space-y-2 overflow-y-auto"><!> <!> <!> <!></div> <!></div></div></div>');function $s(h,o){wn(o,!0);let v=f(!1),g=f(null),w=f(null),y=f(""),J=f(""),P=f(Ee([])),Re=f(0),pe=f(!1),he=f(!1),ge=f(""),$e=f(""),We=0,Ke=f(Ee([])),Oe,ut=f(null),kt=f(null),Ft=f(null),Ye=f(Ee(new Set)),Gt=f(Ee([])),qt=f(!1),gt=f(!0),rr=f(Ee(new Set)),vt=f(!1),Xt=f(""),it=f(!0),zt=f(Ee(new Set)),C=f("focus"),ne=f(Ee([])),Ne=f(!1),qe=f(!1),Ue=f(!0),ye=f(!1),ze=f(!0);const et=["daemon","user","opencode"],st=new Set(et),Pe="signet-constellation-color-mode-session",tt="signet-constellation-new-since-session",It="signet-constellation-color-mode",Pt="signet-constellation-new-since",fe="signet-constellation-last-seen";let Ce=f(0),ve=f(Ee(Wr)),lt=f("all"),xe=f(Ee(Date.now())),_e=f(""),we=f(""),Be=f(""),dt=f(""),ht=f("all"),Tt=f(""),Ct=f(""),ue=f(Ee([])),Se=f(Ee(new Set)),pt=f(Ee([])),Lt=f(Ee([])),Ve=f(Ee(new Set)),ft=f(Ee(new Set)),mt=f(""),yt=0,Dt=f("similar"),Bt=f(Ee([])),L=f(Ee([])),W=f(Ee([])),rt=f(!1),Kt=f(Ee([])),oe=f("source"),Fe=f(!1),$t=f(null),nr=f(null),or=f(!1),Ut=f(Ee(Date.now())),ct=f(Ee([])),Vt=f(Ee([])),i=f(Ee([])),M=f(!1),$=f(null),ie=f(!1);const H="signet-constellation-entity-overlay";let se=f("2d"),Le=f(Ee([])),Q=0,q=f(Ee(kr)),le=f(!1),de=f(Ee(new Map)),_=f(Ee(new Map)),G=f(Ee(new Map)),E=f(null),V=f(null),Y=f(null),z=0,Me=0,Je=null,Et=f(null),Jt=f(null),Ir=f(null),Rr=f(!1),Or=f(!1),dr=f(null),Ur=f(!1),yr=f(!1),Vr,ir=f(null),sr=f(null),At=f(null),Yr;To(()=>{n(Ue,Mr.embeddings.controlsOpen,!0),n(ye,Mr.embeddings.presetsOpen,!0),n(ze,Mr.embeddings.sourcesOpen,!0)});function Ma(t){if(oa.activeTab!=="embeddings"||t.defaultPrevented)return;const r=t.target,a=r instanceof HTMLElement&&(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.tagName==="SELECT"||r.isContentEditable),c=r instanceof HTMLElement&&r.getAttribute("data-memory-tab")==="embeddings";if(t.key==="ArrowDown"&&c){t.preventDefault(),e(Ue)?Oe?.focus():(n(Ue,!0),un().then(()=>Oe?.focus()));return}if(t.key==="ArrowUp"&&r===Oe){t.preventDefault();const p=document.querySelector('[data-memory-tab="embeddings"]');p?p.focus():Oe?.blur();return}}async function Tr(){n(dr,await Do(),!0)}function ka(t){const r=t.match(/cooldown active,\s*(\d+)ms remaining/i);if(!r?.[1])return null;const a=Number.parseInt(r[1],10);return Number.isFinite(a)&&a>=0?a:null}function Tn(t){const r=Math.ceil(t/1e3);if(r<60)return`${r}s`;const a=Math.floor(r/60),c=r%60;return c>0?`${a}m ${c}s`:`${a}m`}function Ia(t){const r=t.match(/([\d,]+)\s+memories?\s+missing\s+embeddings/i);if(!r?.[1])return null;const a=Number.parseInt(r[1].replaceAll(",",""),10);return Number.isFinite(a)&&a>=0?a:null}function Er(){Yr&&(clearInterval(Yr),Yr=void 0)}function Ta(t){const r=Math.max(1,Math.floor(t/1e3));if(r<60)return`${r}s`;const a=Math.floor(r/60),c=r%60;return c>0?`${a}m ${c}s`:`${a}m`}function En(t){Er();const r=Date.now();let a=t,c=!1,p=0;n(ir,"Re-embedding in progress"),n(sr,t===null?"Collecting progress...":`${t.toLocaleString()} missing at start`,!0),n(At,null);const k=async()=>{if(!c){c=!0;try{const x=await vn(),T=Ta(Date.now()-r);if(n(ir,`Re-embedding in progress (${T})`),x){a===null&&(a=x.unembedded);const S=Math.max(0,a??x.unembedded),D=Math.max(0,S-x.unembedded),ae=S>0?Math.min(100,D/S*100):100;n(At,{baseline:S,completed:D,remaining:x.unembedded,percent:ae,coverage:x.coverage},!0),n(sr,a===null?`${x.unembedded.toLocaleString()} still missing (${x.coverage} coverage)`:`${D.toLocaleString()} completed, ${x.unembedded.toLocaleString()} remaining (${x.coverage} coverage)`,!0)}p%2===0&&await Tr(),p++}finally{c=!1}}};k(),Yr=setInterval(()=>{k()},3e3)}async function Ea(t){if(e(yr))return;n(yr,!0);const r=t.name==="coverage"||t.name==="null-vectors";if(r||(n(ir,`Running ${t.name} repair...`),n(sr,null),n(At,null)),r){const a=Ia(t.message);if(a!==null)En(a);else{const c=await vn();En(c?.unembedded??null)}}try{let a;if(t.name==="orphaned-embeddings")a=await Yo();else if(t.name==="vec-table-sync")a=await Xo();else if(t.name==="coverage"||t.name==="null-vectors")a=await jo();else{Sr(`Repair action not wired for ${t.name}`,"warning");return}if(!a.success){if(Er(),a.status===429){const c=ka(a.message);c!==null?(n(ir,"Repair blocked by cooldown"),n(sr,`Try again in ${Tn(c)}.`),Sr(`Repair on cooldown. Try again in ${Tn(c)}.`,"warning",4500)):(n(ir,"Repair blocked by policy"),n(sr,a.message,!0),Sr(`Repair temporarily blocked: ${a.message}`,"warning",5e3)),await Tr();return}n(ir,"Repair failed"),n(sr,a.message,!0),n(At,null),Sr(`Repair failed: ${a.message}`,"error",5e3);return}if(Er(),n(ir,"Repair completed"),n(sr,a.message,!0),r){const c=await vn();if(c&&e(At)){const p=e(At).baseline,k=Math.max(0,p-c.unembedded);n(At,{baseline:p,completed:k,remaining:c.unembedded,percent:p>0?Math.min(100,k/p*100):100,coverage:c.coverage},!0)}}a.affected>0?Sr(a.message,"success",4500):Sr(a.message,"info",4500),await Tr(),r&&a.affected>0&&await en()}finally{Er(),n(yr,!1)}}function Na(t){return t==="healthy"?"#4a7a5e":t==="degraded"?"#c4a24a":"#8a4a48"}function Fa(t){return t==="ok"?"#4a7a5e":t==="warn"?"#c4a24a":"#8a4a48"}re(()=>(Tr(),Vr=setInterval(Tr,6e4),()=>{Er(),Vr&&clearInterval(Vr)}));let Jr=!1;function Xr(){Jr||(Jr=!0,queueMicrotask(()=>{Jr=!1,e(se)==="3d"&&e(Jt)?.refreshAppearance()}))}function Pa(t){return{id:t.id,content:t.content,who:t.who,importance:t.importance,type:t.type,tags:t.tags,pinned:t.pinned??!1,sourceType:t.sourceType,sourceId:t.sourceId,createdAt:t.createdAt}}function Ca(t){if(!t)return"-";const r=new Date(t);return Number.isNaN(r.getTime())?"-":r.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function jr(t,r){const a=new Date(e(Ut)-t).toISOString();return _a(Wo(a,e(Ut)),r)}function Qr(){const t=Number.isFinite(e(Ce))?Math.max(0,Math.trunc(e(Ce))):0,r=Number.isFinite(e(ve))?Math.max(1,Math.trunc(e(ve))):Wr,a=Math.max(t+1,Math.min(r,t+zo));return{offset:t,limit:a-t}}function Zr(){const{offset:t,limit:r}=Qr();n(Ce,t,!0),n(ve,t+r)}function Nn(t,r){const a=t.trim();if(!a)return;const c=r?"T23:59:59.999":"T00:00:00.000",p=new Date(`${a}${c}`);if(!Number.isNaN(p.getTime()))return p.toISOString()}function Fn(t){const r=t.trim();if(!r)return;const a=Number.parseFloat(r);if(Number.isFinite(a))return Math.min(1,Math.max(0,a))}function Hr(t,r){const a=t.currentTarget;if(!(a instanceof HTMLInputElement))return r;const c=Number.parseFloat(a.value);return Number.isFinite(c)?c:r}function Nr(t){n(q,xn({...e(q),...t}),!0)}function La(t,r){if(t==="all"||t==="custom")return;const a=t==="24h"?1440*60*1e3:t==="7d"?10080*60*1e3:t==="30d"?720*60*60*1e3:2160*60*60*1e3;return new Date(r-a).toISOString()}function Pn(){const{offset:t,limit:r}=Qr(),a={offset:t,limit:r},c=e(Be).trim();c.length>0&&(a.q=c);const p=[...e(Se)];p.length>0&&(a.who=p);const k=[...e(Ve)];k.length>0&&(a.types=k);const x=[...e(ft)];x.length>0&&(a.sourceTypes=x);const T=e(dt).split(",").map(N=>N.trim()).filter(N=>N.length>0);T.length>0&&(a.tags=T),e(ht)==="pinned"&&(a.pinned=!0),e(ht)==="unpinned"&&(a.pinned=!1);let S,D;e(lt)==="custom"?(S=Nn(e(_e),!1),D=Nn(e(we),!0)):S=La(e(lt),e(xe)),S&&(a.since=S),D&&(a.until=D);let ae=Fn(e(Tt)),I=Fn(e(Ct));if(typeof ae=="number"&&typeof I=="number"&&ae>I){const N=ae;ae=I,I=N}return typeof ae=="number"&&(a.importanceMin=ae),typeof I=="number"&&(a.importanceMax=I),a}function Cn(t){return JSON.stringify({offset:t.offset??0,limit:t.limit??Wr,q:t.q??"",who:[...t.who??[]].sort(),types:[...t.types??[]].sort(),sourceTypes:[...t.sourceTypes??[]].sort(),tags:[...t.tags??[]].sort(),pinned:t.pinned??"all",since:t.since??"",until:t.until??"",importanceMin:typeof t.importanceMin=="number"?t.importanceMin:"",importanceMax:typeof t.importanceMax=="number"?t.importanceMax:""})}function Da(t){let r=null;for(const a of t)if(a!==null){if(r===null){r=new Set(a);continue}if(r.size<=a.size)for(const c of r)a.has(c)||r.delete(c);else{const c=new Set;for(const p of a)r.has(p)&&c.add(p);r=c}}return r}function Aa(t,r){const a=e(P).findIndex(k=>k.id===t);if(a<0)return;const c=r(e(P)[a]);e(P)[a]=c,n(P,e(P),!0),e(de).set(t,c),n(de,e(de),!0);const p=e(ct).findIndex(k=>k.data.id===t);p>=0&&(e(ct)[p]={...e(ct)[p],data:c},n(ct,e(ct),!0)),e(g)?.id===t&&n(g,c,!0),e(w)?.id===t&&n(w,c,!0)}function Ra(t){const r=new Set(e(Ye));r.has(t)?r.delete(t):r.add(t),n(Ye,r,!0)}function Oa(t){const r=new Set(e(Se));r.has(t)?r.delete(t):r.add(t),n(Se,r,!0)}function Ya(t){const r=new Set(e(Ve));r.has(t)?r.delete(t):r.add(t),n(Ve,r,!0)}function Xa(t){const r=new Set(e(ft));r.has(t)?r.delete(t):r.add(t),n(ft,r,!0)}function ja(){n(Ce,0),n(ve,Wr,!0),n(lt,"all"),n(_e,""),n(we,""),n(Be,""),n(dt,""),n(ht,"all"),n(Tt,""),n(Ct,""),n(Se,new Set,!0),n(Ve,new Set,!0),n(ft,new Set,!0),Zr()}function Ha(){n(qt,!e(qt)),n(C,"custom-live")}function Ln(){if(e(g))return e(g);if(e(jt))return n(g,e(jt),!0),e(jt);const t=e(P)[0]??null;return t&&n(g,t,!0),t}function Ga(){!e(gt)&&!Ln()||(n(gt,!e(gt)),n(C,"custom-live"))}function za(){!e(it)&&!Ln()||(n(it,!e(it)),n(C,"custom-live"))}function Ba(t){Ra(t),n(C,"custom-live")}function Dn(){if(!e(Y)||!Je)return;const t=Math.max(12,Je.width-334),r=Math.max(12,Je.height-170),a=Math.min(Math.max(12,z+14),t),c=Math.min(Math.max(12,Me+14),r);e(Y).style.transform=`translate3d(${a}px, ${c}px, 0)`}function Wa(t){Je&&(z=t.clientX-Je.left,Me=t.clientY-Je.top,Dn())}function An(t){e(E)||!t&&!e(w)||t&&e(w)&&t.id===e(w).id||n(w,t,!0)}function qa(){e(g)||e(w)&&n(E,e(w).id,!0)}function Rn(){n(E,null)}function On(t){return typeof t=="number"?e(i)[t]??null:t?.data.id??null}const Yn="signet-embeddings-filter-presets",Ka=[{id:"all",name:"All",search:"",sources:[],pinnedOnly:!1,neighborhoodOnly:!1,clusterLensMode:!1},{id:"pinned",name:"Pinned",search:"",sources:[],pinnedOnly:!0,neighborhoodOnly:!1,clusterLensMode:!1},{id:"focus",name:"Focus",search:"",sources:[],pinnedOnly:!1,neighborhoodOnly:!0,clusterLensMode:!0}];function Ua(t,r){return{id:r,name:t,search:e(ge),sources:[...e(Ye)],pinnedOnly:e(qt),neighborhoodOnly:e(gt),clusterLensMode:e(it)}}function Xn(t){n(ge,t.search,!0),n(Ye,new Set(t.sources),!0),n(qt,t.pinnedOnly,!0),n(gt,t.neighborhoodOnly,!0),n(it,t.clusterLensMode,!0),n(C,t.id,!0)}function Va(){if(typeof window>"u")return;const t=e(g)?`Cluster: ${e(g).who??"source"}`:"Custom preset",a=window.prompt("Preset name",t)?.trim();if(!a)return;const c=`custom-${Date.now()}`,p=Ua(a,c);n(ne,[p,...e(ne)].slice(0,8),!0),n(C,c)}function Ja(t){n(ne,e(ne).filter(r=>r.id!==t),!0),e(C)===t&&n(C,"all")}async function jn(){if(e(he))return;n(he,!0),n(J,""),n(y,"Loading projection...");const t=++Q,r=Pn(),a=Cn(r);try{let c=await ia(2,r),p=0;const k=30;for(;c.status==="computing";){if(t!==Q)return;if(p++,p>=k){n(J,"Projection timed out after 60s. Try refreshing."),n(mt,a,!0);return}n(y,"Computing layout..."),await new Promise(R=>setTimeout(R,2e3)),c=await ia(2,r)}if(c.status==="error"){n(J,c.message??"Projection computation failed",!0),n(mt,a,!0);return}if(t!==Q)return;const x=c.nodes??[];if(n(P,x.map(Pa),!0),n(Re,c.total??x.length,!0),n(pe,!!(c.hasMore??(c.count??x.length)<(c.total??x.length)),!0),n(mt,a,!0),n(de,new Map(e(P).map(R=>[R.id,R])),!0),x.length===0){n(y,"");return}let T=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY,D=Number.POSITIVE_INFINITY,ae=Number.NEGATIVE_INFINITY;for(const R of x)R.x<T&&(T=R.x),R.x>S&&(S=R.x),R.y<D&&(D=R.y),R.y>ae&&(ae=R.y);const I=S-T||1,N=ae-D||1,A=560;if(n(ct,x.map((R,ee)=>({x:((R.x-T)/I-.5)*A,y:((R.y-D)/N-.5)*A,radius:2.3+(R.importance??.5)*2.8,color:_n(R.who,.85),data:e(P)[ee],createdMs:Sa(R.createdAt)})),!0),n(i,e(P).map(R=>R.id),!0),n(Vt,(c.edges??[]).map(([R,ee])=>({source:R,target:ee,edgeType:"knn"})),!0),e(M)&&await Qa(),n(y,""),await un(),t!==Q)return;e(M)?(e(Et)?.startKnowledgeGraphSimulation(e(ct),e(Vt)),e(Et)?.startRendering(!0)):(e(Et)?.startSimulation(e(ct),e(Vt),e(q)),e(Et)?.startRendering())}catch(c){n(J,c.message||"Failed to load projection",!0),n(y,""),n(mt,a,!0)}}async function Qa(){n(ie,!0);try{const t=await Ao();if(!t){n($,null);return}n($,t,!0);const r=new Map;for(const S of e(ct))r.set(S.data.id,S);const a=[],c=[],p=[],k=new Map,x=new Map,T=400;for(const S of t.entities){const D=`entity:${S.id}`,ae=Zo(S),I=(Math.random()-.5)*T,N=(Math.random()-.5)*T,A={id:D,content:S.name,who:S.entityType,importance:.9,pinned:S.pinned,tags:[],createdAt:void 0},R=a.length;x.set(S.id,R),a.push({x:I,y:N,radius:ae,color:qr(S.entityType,.7),data:A,nodeType:"entity",entityData:S}),p.push(D),k.set(D,A);for(const ee of S.aspects){const Xe=`aspect:${ee.id}`,je=Jo(ee.weight),ke={id:Xe,content:ee.name,who:S.entityType,importance:ee.weight,pinned:!1,tags:[],createdAt:void 0},O=a.length;a.push({x:I+(Math.random()-.5)*80,y:N+(Math.random()-.5)*80,radius:je,color:qr(S.entityType,.5),data:ke,nodeType:"aspect",aspectData:ee,parentEntityId:S.id}),p.push(Xe),k.set(Xe,ke),c.push({source:R,target:O,edgeType:"hierarchy"});for(const B of ee.attributes){const te=`attr:${B.id}`,Z=Qo(B.importance),Ie={id:te,content:B.content,who:S.entityType,importance:B.importance,pinned:!1,tags:[],createdAt:void 0},be=a.length;if(a.push({x:a[O].x+(Math.random()-.5)*40,y:a[O].y+(Math.random()-.5)*40,radius:Z,color:qr(S.entityType,.3),data:Ie,nodeType:"attribute",attributeData:B,parentEntityId:S.id,parentAspectId:ee.id}),p.push(te),k.set(te,Ie),c.push({source:O,target:be,edgeType:"hierarchy"}),B.memoryId){const ce=r.get(B.memoryId);if(ce){const He=a.length;a.push({x:a[be].x+(Math.random()-.5)*25,y:a[be].y+(Math.random()-.5)*25,radius:2,color:ce.color,data:ce.data,nodeType:"memory"}),p.push(ce.data.id),k.set(ce.data.id,ce.data),c.push({source:be,target:He,edgeType:"hierarchy"})}}}}}if(a.length>3e3){const S=new Map;let D=0;for(let I=0;I<a.length;I++)a[I].nodeType!=="memory"&&(S.set(I,D),a[D]=a[I],p[D]=p[I],D++);a.length=D,p.length=D;let ae=0;for(const I of c){const N=S.get(I.source),A=S.get(I.target);N!==void 0&&A!==void 0&&(c[ae]={...I,source:N,target:A},ae++)}c.length=ae,k.clear();for(const I of a)k.set(I.data.id,I.data)}for(const S of t.dependencies){const D=x.get(S.sourceEntityId),ae=x.get(S.targetEntityId);D!==void 0&&ae!==void 0&&c.push({source:D,target:ae,edgeType:"dependency",dependencyType:S.dependencyType,strength:S.strength})}n(ct,a,!0),n(i,p,!0),n(Vt,c,!0),n(de,k,!0)}finally{n(ie,!1)}}async function Za(t){if(!t){n(Bt,[],!0),n(L,[],!0),n(W,[],!0),n(G,new Map,!0);return}const r=await sa(t.id,10);n(Bt,r.map(a=>({id:a.id,score:a.score??0,kind:"similar"})),!0),n(L,[],!0),n(W,e(Bt),!0),n(G,new Map(e(Bt).map(a=>[a.id,a.kind])),!0)}function $a(){n(g,null),n(w,null),n(E,null),n(Kt,[],!0),n(Xt,"")}function $r(t){const r=e(de).get(t)??null;r&&(n(E,null),n(g,r,!0))}function eo(t){if(e(se)==="2d"){e(Et)?.focusNode(t);return}e(Jt)?.focusNode(t)}async function to(){if(!e(g)||e(vt))return;n(vt,!0),n(Xt,"");const t=e(g).id,r=!(e(g).pinned??!1),a=await Ro(t,r);if(!a.success){n(Xt,a.error??"Failed to update pin state",!0),n(vt,!1);return}Aa(t,c=>({...c,pinned:r})),e(se)==="3d"&&e(Jt)?.refreshAppearance(),n(vt,!1)}async function ro(){if(e(g)){n(rt,!0);try{n(Kt,await sa(e(g).id,10,Oo.filterType||void 0),!0)}finally{n(rt,!1)}}}async function en(){n(he,!1),n(y,""),n(J,""),n(Le,[],!0),n(g,null),n(w,null),n(E,null),n(Kt,[],!0),n(rt,!1),n(de,new Map,!0),n(G,new Map,!0),n(Bt,[],!0),n(L,[],!0),n(W,[],!0),n(P,[],!0),n(Re,0),n(pe,!1),n(ct,[],!0),n(Vt,[],!0),n(i,[],!0),n(Xt,""),e(Et)?.stopSimulation(),e(Et)?.stopRendering(),e(Et)?.resetCamera(),e(Jt)?.destroy(),n(se,"2d"),await un(),jn()}re(()=>{const t=e(P),r=new Set,a=new Map,c=new Map,p=new Map,k=new Map;for(const x of t){x.pinned&&r.add(x.id);const T=x.who??"unknown";a.set(T,(a.get(T)??0)+1),typeof x.type=="string"&&x.type.length>0&&c.set(x.type,(c.get(x.type)??0)+1);const S=x.sourceType??"memory";p.set(S,(p.get(S)??0)+1),k.set(x.id,[x.content,x.text??"",x.who??"",x.type??"",x.sourceType??"",x.sourceId??"",...x.tags??[]].join(" ").toLowerCase())}if(n(rr,r,!0),n(_,k,!0),n(Gt,[...a.entries()].sort((x,T)=>T[1]-x[1]||x[0].localeCompare(T[0])).map(([x,T])=>({who:x,count:T})),!0),n(pt,[...c.entries()].sort((x,T)=>T[1]-x[1]||x[0].localeCompare(T[0])).map(([x,T])=>({value:x,count:T})),!0),n(Lt,[...p.entries()].sort((x,T)=>T[1]-x[1]||x[0].localeCompare(T[0])).map(([x,T])=>({value:x,count:T})),!0),e(Ye).size>0){const x=new Set([...e(Ye)].filter(T=>a.has(T)));x.size!==e(Ye).size&&n(Ye,x,!0)}}),re(()=>{let t=!1;return(async()=>{const r=await Po();t||n(ue,r.filter(a=>a.trim().length>0),!0)})(),()=>{t=!0}}),re(()=>{if(e(Se).size===0||e(ue).length===0)return;const t=new Set(e(ue)),r=new Set([...e(Se)].filter(a=>t.has(a)));r.size!==e(Se).size&&n(Se,r,!0)}),re(()=>{const t=e(lt);t==="all"||t==="custom"||n(xe,Date.now(),!0)}),re(()=>{const t=e(ge);if(!t.trim()){clearTimeout(We),n($e,""),n(kt,null),n(Ke,[],!0);return}const r=window.setTimeout(()=>{n($e,t,!0)},180);return We=r,()=>clearTimeout(r)}),re(()=>{const t=e($e).trim().toLowerCase(),r=e(P);if(!t){n(kt,null),n(Ke,[],!0);return}const a=new Set,c=[];for(const p of r){const k=e(_).get(p.id);k&&k.includes(t)&&(a.add(p.id),c.push(p))}if(e(M))for(const[p,k]of e(de)){if(a.has(p))continue;[k.content,k.who??"",...k.tags??[]].join(" ").toLowerCase().includes(t)&&(a.add(p),c.push(k))}n(kt,a,!0),n(Ke,c.slice(0,50),!0)}),re(()=>{const t=e(Ye);if(t.size===0){n(Ft,null);return}n(Ft,new Set(e(P).filter(r=>t.has(r.who??"unknown")).map(r=>r.id)),!0)}),re(()=>{if(!(typeof window>"u"||e(Ne))){try{const t=window.localStorage.getItem(Yn);if(t){const r=JSON.parse(t);if(Array.isArray(r)){const a=r.filter(c=>{if(typeof c!="object"||c===null)return!1;const p=c;return typeof p.id=="string"&&typeof p.name=="string"&&typeof p.search=="string"&&Array.isArray(p.sources)&&typeof p.pinnedOnly=="boolean"&&typeof p.neighborhoodOnly=="boolean"&&typeof p.clusterLensMode=="boolean"});n(ne,a.slice(0,8),!0)}}}catch{n(ne,[],!0)}n(Ne,!0)}}),re(()=>{typeof window>"u"||!e(Ne)||window.localStorage.setItem(Yn,JSON.stringify(e(ne)))}),re(()=>{if(!(typeof window>"u"||e(le)))try{const t=window.localStorage.getItem(pa);if(t){const r=JSON.parse(t);if(typeof r=="object"&&r!==null){const a=r;n(q,xn({centerForce:typeof a.centerForce=="number"?a.centerForce:kr.centerForce,repelForce:typeof a.repelForce=="number"?a.repelForce:kr.repelForce,linkForce:typeof a.linkForce=="number"?a.linkForce:kr.linkForce,linkDistance:typeof a.linkDistance=="number"?a.linkDistance:kr.linkDistance}),!0)}}}finally{n(le,!0)}}),re(()=>{typeof window>"u"||!e(le)||window.localStorage.setItem(pa,JSON.stringify(e(q)))}),re(()=>{if(!(typeof window>"u"||e(or))){try{const t=window.sessionStorage.getItem(Pe);(t==="source"||t==="newness"||t==="none")&&n(oe,t,!0),window.sessionStorage.getItem(tt)==="true"&&n(Fe,!0)}catch{}try{const t=window.localStorage.getItem(fe);if(t){const r=Number.parseInt(t,10);Number.isNaN(r)||n($t,r,!0)}}catch{}try{window.localStorage.removeItem(It),window.localStorage.removeItem(Pt)}catch{}n(or,!0)}}),re(()=>{if(!(typeof window>"u"||!e(or))){try{e(oe)==="source"?window.sessionStorage.removeItem(Pe):window.sessionStorage.setItem(Pe,e(oe))}catch{}try{e(Fe)&&e(oe)!=="none"?window.sessionStorage.setItem(tt,"true"):window.sessionStorage.removeItem(tt)}catch{}try{e(nr)!==null&&window.localStorage.setItem(fe,String(e(nr)))}catch{}}}),re(()=>{if(!(typeof window>"u"))try{window.sessionStorage.getItem(H)==="true"&&n(M,!0)}catch{}}),re(()=>{if(!(typeof window>"u"))try{e(M)?window.sessionStorage.setItem(H,"true"):window.sessionStorage.removeItem(H)}catch{}}),re(()=>{if(typeof window>"u")return;const t=window.setInterval(()=>{n(Ut,Date.now(),!0)},6e4);return()=>window.clearInterval(t)}),re(()=>{const t=new Set;if(e(it)){const r=e(g)??e(jt);if(r){t.add(r.id);const a=e(g)!==null?e(W):e(Gr);for(const c of a)t.add(c.id)}}n(zt,t,!0)}),re(()=>{e(it),e(zt),Xr()}),re(()=>{e(oe),e(Fe),e(Ut),e($t),e(se)==="2d"&&e(Et)?.requestRedraw(),Xr()}),re(()=>{!e(he)||typeof window>"u"||e(nr)===null&&n(nr,Date.now(),!0)}),re(()=>{e(q),e(he)&&e(se)==="2d"&&e(Et)?.updatePhysics(e(q))});const no=U(()=>Cn(Pn()));re(()=>{const t=e(no);if(!e(he)||e(y).length>0||t===e(mt))return;clearTimeout(yt);const r=window.setTimeout(()=>{en()},220);return yt=r,()=>clearTimeout(r)}),re(()=>{const t=e(qt)===!0?new Set(e(rr)):null,r=e(g)??e(jt),a=e(g)?e(W):e(Gr),c=e(gt)===!0&&r?new Set([r.id,...a.map(p=>p.id)]):null;n(ut,Da([e(kt),e(Ft),t,c]),!0),Xr()}),re(()=>{Za(e(g))}),re(()=>{const t=e(Dt),r=e(Bt),a=e(L);n(W,t==="similar"?r:a,!0),n(G,new Map(e(W).map(c=>[c.id,c.kind])),!0),Xr()});const jt=U(()=>e(E)?e(de).get(e(E))??null:e(w)),Hn=U(Qr),ao=U(()=>{e(i);const t=e(Vt),r=new Map;for(const a of t){const c=On(a.source),p=On(a.target);if(!c||!p||c===p)continue;const k=r.get(c)??new Map;k.set(p,(k.get(p)??0)+1),r.set(c,k);const x=r.get(p)??new Map;x.set(c,(x.get(c)??0)+1),r.set(p,x)}return r}),Gr=U(()=>{const t=e(jt);if(!t)return[];const r=e(ao).get(t.id);if(!r||r.size===0)return[];const a=[...r.entries()].sort((p,k)=>k[1]-p[1]).slice(0,6),c=a[0]?.[1]??1;return a.map(([p,k])=>({id:p,score:k/c,kind:"similar"}))}),oo=U(()=>new Map(e(Gr).map(t=>[t.id,"similar"]))),Gn=U(()=>e(g)?e(G):e(oo)),_r=U(()=>{const t=e(g);return t?e(ct).find(r=>r.data.id===t.id)??null:null}),tn=U(()=>e(g)?[]:e(Gr)),zn=U(()=>{const t=new Map(e(Gt).map(c=>[c.who,c])),r=et.map(c=>t.get(c)).filter(c=>!!c),a=e(Gt).filter(c=>!st.has(c.who));return[...r,...a].slice(0,8)});re(()=>{e(g)&&e(E)&&n(E,null)}),re(()=>{const t=e(E);t&&(e(de).has(t)||n(E,null))}),re(()=>{const t=e(V);if(!t)return;Je=t.getBoundingClientRect();const r=new ResizeObserver(()=>{Je=t.getBoundingClientRect()});return r.observe(t),()=>r.disconnect()}),re(()=>{e(Y)&&Dn()}),re(()=>{if(typeof window>"u")return;const t=r=>{if(r.key==="Shift"){qa();return}r.key==="Escape"&&Rn()};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}}),re(()=>{if(!e(V))return;const t=new IntersectionObserver(r=>{r[0].isIntersecting&&!e(he)&&!e(Or)&&(n(Or,!0),jn())},{threshold:.1});return t.observe(e(V)),()=>t.disconnect()}),re(()=>{Mr.embeddings.controlsOpen=e(Ue),Mr.embeddings.presetsOpen=e(ye),Mr.embeddings.sourcesOpen=e(ze),Go()});var rn=Bs();Ar("keydown",Eo,Ma);var Bn=l(rn);Fo(Bn,{title:"Constellation",children:(t,r)=>{Ho(t,{group:"memory",get tabs(){return Lo},get activeTab(){return oa.activeTab},onselect:(a,c)=>Co(c)})}});var Wn=d(Bn,2),wr=l(Wn),qn=l(wr);{var io=t=>{var r=Hi();Wt(r,"",{},{top:"52px"});var a=l(r),c=l(a);s(a),s(r),F(()=>b(c,`${gn.Unlock} preview`)),X("click",a,Rn),u(t,r)};j(qn,t=>{e(E)&&t(io)})}var Kn=d(qn,2);{var so=t=>{var r=Vi(),a=l(r),c=l(a),p=l(c),k=d(p),x=d(k),T=l(x);s(x);var S=d(x,2);{var D=N=>{var A=Gi(),R=l(A);s(A),F(ee=>b(R,`${ee??""}%`),[()=>Math.round(e(At).percent)]),u(N,A)};j(S,N=>{e(yr)&&e(At)&&N(D)})}s(c);var ae=d(c,2);{var I=N=>{var A=Ui(),R=l(A),ee=d(l(R),2),Xe=l(ee);s(ee),s(R);var je=d(R,2);{var ke=B=>{var te=Wi(),Z=l(te),Ie=l(Z,!0);s(Z);var be=d(Z,2);{var ce=De=>{var Te=zi(),Ae=l(Te,!0);s(Te),F(()=>b(Ae,e(sr))),u(De,Te)};j(be,De=>{e(sr)&&De(ce)})}var He=d(be,2);{var Qe=De=>{var Te=Bi(),Ae=l(Te),nt=l(Ae),_t=l(nt);s(nt);var xt=d(nt,2),Ze=l(xt);s(xt),s(Ae);var Ge=d(Ae,2),wt=l(Ge);s(Ge);var er=d(Ge,2),vr=l(er);s(er),s(Te),F((pr,fr,K,at,Qt)=>{b(_t,`${pr??""} / ${fr??""}`),b(Ze,`${K??""}%`),Wt(wt,at),b(vr,`${Qt??""} remaining · ${e(At).coverage??""} coverage`)},[()=>e(At).completed.toLocaleString(),()=>e(At).baseline.toLocaleString(),()=>Math.round(e(At).percent),()=>`width:${Math.max(0,Math.min(100,e(At).percent))}%`,()=>e(At).remaining.toLocaleString()]),u(De,Te)};j(He,De=>{e(At)&&De(Qe)})}s(te),F(()=>b(Ie,e(ir))),u(B,te)};j(je,B=>{e(ir)&&B(ke)})}var O=d(je,2);St(O,21,()=>e(dr).checks,Mt,(B,te)=>{var Z=Ki(),Ie=l(Z),be=d(Ie,2),ce=l(be),He=l(ce),Qe=l(He,!0);s(He);var De=d(He,2),Te=l(De,!0);s(De),s(ce);var Ae=d(ce,2),nt=l(Ae,!0);s(Ae);var _t=d(Ae,2);{var xt=Ze=>{var Ge=qi(),wt=l(Ge,!0);s(Ge),F(()=>{Ge.disabled=e(yr),b(wt,e(yr)?"running...":e(te).fix)}),X("click",Ge,()=>Ea(e(te))),u(Ze,Ge)};j(_t,Ze=>{e(te).fix&&e(te).status!=="ok"&&Ze(xt)})}s(be),s(Z),F(Ze=>{Wt(Ie,`background:${Ze??""}`),b(Qe,e(te).name),b(Te,e(te).status),b(nt,e(te).message)},[()=>Fa(e(te).status)]),u(B,Z)}),s(O),s(A),F(()=>b(Xe,`${e(dr).config.provider??""}/${e(dr).config.model??""}`)),u(N,A)};j(ae,N=>{e(Ur)&&N(I)})}s(a),s(r),F((N,A)=>{Wt(p,`background:${N??""}`),b(k,` ${e(dr).status??""} `),b(T,`${A??""}%`)},[()=>Na(e(dr).status),()=>Math.round(e(dr).score*100)]),X("click",c,()=>n(Ur,!e(Ur))),u(t,r)};j(Kn,t=>{e(dr)&&t(so)})}var nn=d(Kn,2),lo=l(nn);Yt(lo,()=>Lr,(t,r)=>{r(t,{class:"pointer-events-auto flex min-w-[180px] max-h-full flex-col-reverse",get open(){return e(v)},set open(a){n(v,a,!0)},children:(a,c)=>{var p=is(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center gap-2 px-3 py-1.5 min-w-[180px] border border-[var(--sig-border)] text-[10px] font-[family-name:var(--font-mono)] uppercase tracking-[0.06em] text-[var(--sig-text-muted)] bg-transparent",get"aria-expanded"(){return e(v)},children:(D,ae)=>{var I=Ji(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(v)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{class:"min-h-0 max-h-[min(40vh,24rem)] overflow-y-auto border border-[var(--sig-border)] bg-[rgba(5,5,5,0.88)] px-3 py-2",children:(D,ae)=>{var I=os(),N=me(I),A=d(l(N));s(N);var R=d(N,2);{var ee=Z=>{var Ie=Zi(),be=me(Ie),ce=l(be),He=l(ce);ur(),s(ce);var Qe=d(ce,2),De=l(Qe);ur(),s(Qe);var Te=d(Qe,2),Ae=l(Te);ur(),s(Te);var nt=d(Te,2),_t=l(nt);ur(),s(nt),s(be);var xt=d(be,2);St(xt,21,()=>e(zn),Mt,(Ze,Ge)=>{var wt=Qi(),er=l(wt);s(wt),F(vr=>{bt(wt,1,`h-5 inline-flex items-center gap-1 px-1.5 py-0 font-[family-name:var(--font-mono)] text-[10px] border border-[rgba(255,255,255,0.14)] ${vr??""}`),b(er,`${e(Ge).who??""} ${e(Ge).count??""}`)},[()=>e(Ye).size===0||e(Ye).has(e(Ge).who)?"bg-[rgba(255,255,255,0.08)] text-[var(--sig-text-bright)]":"bg-transparent text-[var(--sig-text-muted)]"]),u(Ze,wt)}),s(xt),F((Ze,Ge,wt,er)=>{Wt(He,Ze),Wt(De,Ge),Wt(Ae,wt),Wt(_t,er)},[()=>`background:${jr(3e5,.95)}`,()=>`background:${jr(108e5,.9)}`,()=>`background:${jr(2592e5,.85)}`,()=>`background:${jr(2592e6,.85)}`]),u(Z,Ie)},Xe=Z=>{var Ie=es();St(Ie,21,()=>e(zn),Mt,(be,ce)=>{var He=$i(),Qe=l(He),De=d(Qe);s(He),F((Te,Ae)=>{bt(He,1,`h-5 inline-flex items-center gap-1 px-1.5 py-0 font-[family-name:var(--font-mono)] text-[10px] border border-[rgba(255,255,255,0.14)] ${Te??""}`),Wt(Qe,Ae),b(De,` ${e(ce).who??""} ${e(ce).count??""}`)},[()=>e(Ye).size===0||e(Ye).has(e(ce).who)?"bg-[rgba(255,255,255,0.08)] text-[var(--sig-text-bright)]":"bg-transparent text-[var(--sig-text-muted)]",()=>`background:${ha(e(ce).who,1)}`]),u(be,He)}),s(Ie),u(Z,Ie)},je=Z=>{var Ie=ts();u(Z,Ie)};j(R,Z=>{e(oe)==="newness"?Z(ee):e(oe)==="source"?Z(Xe,1):Z(je,-1)})}var ke=d(R,6);{var O=Z=>{var Ie=rs();u(Z,Ie)};j(ke,Z=>{e(Fe)&&e(oe)!=="none"&&Z(O)})}var B=d(ke,4);{var te=Z=>{var Ie=as(),be=d(l(Ie),2);St(be,21,()=>Object.entries(Kr),Mt,(ce,He)=>{var Qe=U(()=>No(e(He),2));let De=()=>e(Qe)[0],Te=()=>e(Qe)[1];var Ae=gr(),nt=me(Ae);{var _t=xt=>{var Ze=ns(),Ge=l(Ze),wt=d(Ge);s(Ze),F(()=>{Wt(Ge,`background:${Te()}; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);`),b(wt,` ${De()??""}`)}),u(xt,Ze)};j(nt,xt=>{De()!=="unknown"&&xt(_t)})}u(ce,Ae)}),s(be),ur(2),s(Ie),u(Z,Ie)};j(B,Z=>{e(M)&&Z(te)})}F(()=>b(A,` = ${e(oe)==="none"?"off":e(oe)==="newness"?"by recency":"by source"}`)),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})}),s(nn);var Un=d(nn,2);{var co=t=>{var r=ss(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(y))),u(t,r)},uo=t=>{var r=ls(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(J))),u(t,r)},go=t=>{var r=ds();u(t,r)},vo=t=>{var r=cs();u(t,r)};j(Un,t=>{e(y)?t(co):e(J)?t(uo,1):e(he)&&e(P).length===0?t(go,2):e(he)||t(vo,3)})}var Vn=d(Un,2);Wt(Vn,"",{},{top:"20px"});var Jn=d(Vn,4);{var po=t=>{var r=ms(),a=l(r),c=l(a),p=l(c,!0);s(c);var k=d(c,2);{var x=O=>{var B=us(),te=l(B,!0);s(B),F(()=>b(te,e(jt).type)),u(O,B)};j(k,O=>{e(jt).type&&O(x)})}var T=d(k,2);{var S=O=>{var B=gs();u(O,B)};j(T,O=>{e(jt).pinned&&O(S)})}var D=d(T,2);{var ae=O=>{var B=vs();u(O,B)};j(D,O=>{e(E)&&O(ae)})}s(a);var I=d(a,2),N=l(I);s(I);var A=d(I,2),R=l(A,!0);s(A);var ee=d(A,2),Xe=l(ee,!0);s(ee);var je=d(ee,2);{var ke=O=>{var B=fs(),te=d(l(B),2);St(te,21,()=>e(tn),Mt,(Z,Ie)=>{const be=U(()=>e(de).get(e(Ie).id));var ce=gr(),He=me(ce);{var Qe=De=>{var Te=ps(),Ae=l(Te),nt=l(Ae,!0);s(Ae);var _t=d(Ae,2),xt=l(_t);s(_t),s(Te),F((Ze,Ge)=>{b(nt,Ze),b(xt,`${Ge??""}%`)},[()=>hr(e(be)),()=>Math.round(e(Ie).score*100)]),u(De,Te)};j(He,De=>{e(be)&&De(Qe)})}u(Z,ce)}),s(te),s(B),u(O,B)};j(je,O=>{e(tn).length>0&&O(ke)})}s(r),br(r,O=>n(Y,O),()=>e(Y)),F((O,B,te)=>{b(p,e(jt).who??"unknown"),b(N,`importance ${O??""}% · ${B??""} · linked ${e(tn).length??""}`),b(R,te),b(Xe,e(E)?"ESC or Unlock Preview button":"Hold Shift to lock preview")},[()=>Math.round((e(jt).importance??0)*100),()=>Ca(e(jt).createdAt),()=>hr(e(jt))]),u(t,r)};j(Jn,t=>{e(jt)&&t(po)})}var zr=d(Jn,2);let Qn;var fo=l(zr);{var mo=t=>{{let r=U(()=>e(it)&&e(zt).size>0),a=U(()=>e(Ye).size>0?e(Ye):null);br(di(t,{get nodes(){return e(ct)},get edges(){return e(Vt)},get graphPhysics(){return e(q)},get graphSelected(){return e(g)},get graphHovered(){return e(jt)},get embeddingFilterIds(){return e(ut)},get relationLookup(){return e(Gn)},get pinnedIds(){return e(rr)},get lensIds(){return e(zt)},get clusterLensMode(){return e(r)},get colorMode(){return e(oe)},get nowMs(){return e(Ut)},get showNewSinceLastSeen(){return e(Fe)},get lastSeenMs(){return e($t)},get sourceFocusSources(){return e(a)},onselectnode:c=>{c?$r(c.id):n(g,null)},onhovernode:An}),c=>n(Et,c,!0),()=>e(Et))}},xo=t=>{var r=xs(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(y))),u(t,r)},bo=t=>{var r=bs(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(J))),u(t,r)};j(fo,t=>{e(he)?t(mo):e(y)?t(xo,1):e(J)&&t(bo,2)})}s(zr);var an=d(zr,2);let Zn;var ho=l(an);{var yo=t=>{var r=gr(),a=me(r);{let c=U(()=>e(it)&&e(zt).size>0),p=U(()=>e(Ye).size>0?e(Ye):null);Yt(a,()=>e(Ir),(k,x)=>{br(x(k,{get embeddings(){return e(P)},get projected3d(){return e(Le)},get graphSelected(){return e(g)},get embeddingFilterIds(){return e(ut)},get relationLookup(){return e(Gn)},get pinnedIds(){return e(rr)},get lensIds(){return e(zt)},get clusterLensMode(){return e(c)},get embeddingById(){return e(de)},get colorMode(){return e(oe)},get nowMs(){return e(Ut)},get showNewSinceLastSeen(){return e(Fe)},get lastSeenMs(){return e($t)},get sourceFocusSources(){return e(p)},onselectnode:T=>{T?$r(T.id):n(g,null)},onhovernode:An}),T=>n(Jt,T,!0),()=>e(Jt))})}u(t,r)},_o=t=>{var r=hs(),a=l(r),c=l(a,!0);s(a),s(r),F(()=>b(c,e(y)||"Loading 3D...")),u(t,r)};j(ho,t=>{e(Ir)&&!e(Rr)?t(yo):e(Rr)&&t(_o,1)})}s(an),s(wr),br(wr,t=>n(V,t),()=>e(V));var $n=d(wr,2),on=l($n),ea=l(on);Yt(ea,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(Ue)},set open(a){n(Ue,a,!0)},children:(a,c)=>{var p=Ss(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=ys(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(Ue)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=ws(),N=l(I),A=l(N);Zt(A),br(A,Nt=>Oe=Nt,()=>Oe);var R=d(A,2);{var ee=Nt=>{var Fr=_s(),cn=l(Fr,!0);s(Fr),F(()=>b(cn,e(Ke).length)),u(Nt,Fr)};j(R,Nt=>{e(ge)&&Nt(ee)})}s(N);var Xe=d(N,2),je=l(Xe);s(Xe);var ke=d(Xe,2),O=l(ke),B=d(O,2),te=d(B,2),Z=d(te,2),Ie=l(Z,!0);s(Z),s(ke);var be=d(ke,2),ce=d(l(be),2),He=l(ce),Qe=d(He,2),De=d(Qe,2);s(ce),s(be);var Te=d(be,2),Ae=d(l(Te),2),nt=l(Ae),_t=d(nt,2),xt=l(_t,!0);s(_t),s(Ae),s(Te);var Ze=d(Te,2),Ge=d(l(Ze),2),wt=l(Ge),er=d(l(wt),2),vr=l(er,!0);s(er),s(wt);var pr=d(wt,2);Zt(pr),s(Ge);var fr=d(Ge,2),K=l(fr),at=d(l(K),2),Qt=l(at,!0);s(at),s(K);var Rt=d(K,2);Zt(Rt),s(fr);var ot=d(fr,2),Ht=l(ot),Ot=d(l(Ht),2),mr=l(Ot,!0);s(Ot),s(Ht);var tr=d(Ht,2);Zt(tr),s(ot);var sn=d(ot,2),ln=l(sn),na=d(l(ln),2),Mo=l(na,!0);s(na),s(ln);var dn=d(ln,2);Zt(dn),s(sn);var ko=d(sn,2);s(Ze),s(I),F((Nt,Fr,cn,Io)=>{b(je,`Window ${e(Hn).offset+1}-${e(Hn).offset+e(P).length} / ${e(Re)??""}`),bt(O,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(qt)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(B,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(gt)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(te,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(it)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(Ie,gn.Reset),bt(He,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(oe)==="newness"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(Qe,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(oe)==="source"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(De,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(oe)==="none"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),bt(nt,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(Fe)&&e(oe)!=="none"?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"} ${e(oe)==="none"?"opacity-60 cursor-not-allowed":""}`),nt.disabled=e(oe)==="none",bt(_t,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(M)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(xt,e(ie)?"Loading...":"Entities"),b(vr,Nt),Br(pr,e(q).centerForce),b(Qt,Fr),Br(Rt,e(q).repelForce),b(mr,cn),Br(tr,e(q).linkForce),b(Mo,Io),Br(dn,e(q).linkDistance)},[()=>e(q).centerForce.toFixed(2),()=>Math.round(e(q).repelForce),()=>e(q).linkForce.toFixed(2),()=>Math.round(e(q).linkDistance)]),X("input",A,()=>n(C,"custom-live")),lr(A,()=>e(ge),Nt=>n(ge,Nt)),X("click",O,Ha),X("click",B,Ga),X("click",te,za),X("click",Z,ja),X("click",He,()=>n(oe,"newness")),X("click",Qe,()=>n(oe,"source")),X("click",De,()=>{n(oe,"none"),n(Fe,!1)}),X("click",nt,()=>n(Fe,!e(Fe))),X("click",_t,()=>{n(M,!e(M)),e(he)&&en()}),X("input",pr,Nt=>Nr({centerForce:Hr(Nt,e(q).centerForce)})),X("input",Rt,Nt=>Nr({repelForce:Hr(Nt,e(q).repelForce)})),X("input",tr,Nt=>Nr({linkForce:Hr(Nt,e(q).linkForce)})),X("input",dn,Nt=>Nr({linkDistance:Hr(Nt,e(q).linkDistance)})),X("click",ko,()=>Nr(kr)),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})});var ta=d(ea,2);Yt(ta,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(ye)},set open(a){n(ye,a,!0)},children:(a,c)=>{var p=Es(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=Ms(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ye)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=Ts(),N=l(I);St(N,17,()=>Ka,Mt,(Xe,je)=>{var ke=ks(),O=l(ke,!0);s(ke),F(()=>{bt(ke,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] uppercase border border-[var(--sig-border-strong)] ${e(C)===e(je).id?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(O,e(je).name)}),X("click",ke,()=>Xn(e(je))),u(Xe,ke)});var A=d(N,2);St(A,17,()=>e(ne),Mt,(Xe,je)=>{var ke=Is(),O=l(ke),B=l(O,!0);s(O);var te=d(O,2);s(ke),F(()=>{bt(O,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] ${e(C)===e(je).id?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"}`),b(B,e(je).name),fn(te,"aria-label",`Delete ${e(je).name} preset`)}),X("click",O,()=>Xn(e(je))),X("click",te,()=>Ja(e(je).id)),u(Xe,ke)});var R=d(A,2),ee=l(R,!0);s(R),s(I),F(()=>b(ee,gn.Save)),X("click",R,Va),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})});var ra=d(ta,2);Yt(ra,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(ze)},set open(a){n(ze,a,!0)},children:(a,c)=>{var p=Ls(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=Ns(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ze)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=Cs(),N=l(I);{var A=ee=>{var Xe=Fs();u(ee,Xe)},R=ee=>{var Xe=gr(),je=me(Xe);St(je,17,()=>e(Gt),Mt,(ke,O)=>{var B=Ps(),te=l(B);s(B),F(Z=>{bt(B,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${Z??""}`),b(te,`${e(O).who??""} ${e(O).count??""}`)},[()=>e(Ye).size===0||e(Ye).has(e(O).who)?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",B,()=>Ba(e(O).who)),u(ke,B)}),u(ee,Xe)};j(N,ee=>{e(Gt).length===0?ee(A):ee(R,-1)})}s(I),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})});var wo=d(ra,2);Yt(wo,()=>Lr,(t,r)=>{r(t,{class:"border border-[var(--sig-border)]",get open(){return e(qe)},set open(a){n(qe,a,!0)},children:(a,c)=>{var p=zs(),k=me(p);Yt(k,()=>Pr,(T,S)=>{S(T,{class:"flex w-full items-center justify-between px-2 py-1.5 border-none text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] text-[var(--sig-highlight)]",style:"background: color-mix(in srgb, var(--sig-highlight), var(--sig-bg) 94%);",children:(D,ae)=>{var I=Ds(),N=d(me(I),2);{let A=U(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(qe)?"rotate-180":""}`);Dr(N,{get class(){return e(A)}})}u(D,I)},$$slots:{default:!0}})});var x=d(k,2);Yt(x,()=>Cr,(T,S)=>{S(T,{children:(D,ae)=>{var I=Gs(),N=l(I),A=d(l(N),2);Zt(A);var R=d(A,4);Zt(R);var ee=d(R,2),Xe=l(ee);Xe.value=Xe.__value="all";var je=d(Xe);je.value=je.__value="24h";var ke=d(je);ke.value=ke.__value="7d";var O=d(ke);O.value=O.__value="30d";var B=d(O);B.value=B.__value="90d";var te=d(B);te.value=te.__value="custom",s(ee),s(N);var Z=d(N,2);{var Ie=K=>{var at=As(),Qt=l(at);Zt(Qt);var Rt=d(Qt,2);Zt(Rt),s(at),lr(Qt,()=>e(_e),ot=>n(_e,ot)),lr(Rt,()=>e(we),ot=>n(we,ot)),u(K,at)};j(Z,K=>{e(lt)==="custom"&&K(Ie)})}var be=d(Z,2),ce=l(be),He=l(ce);He.value=He.__value="all";var Qe=d(He);Qe.value=Qe.__value="pinned";var De=d(Qe);De.value=De.__value="unpinned",s(ce);var Te=d(ce,2);Zt(Te);var Ae=d(Te,2);Zt(Ae);var nt=d(Ae,2);Zt(nt);var _t=d(nt,2);Zt(_t),s(be);var xt=d(be,2),Ze=d(l(xt),2);{var Ge=K=>{var at=Rs();u(K,at)},wt=K=>{var at=gr(),Qt=me(at);St(Qt,17,()=>e(ue),Mt,(Rt,ot)=>{var Ht=Os(),Ot=l(Ht,!0);s(Ht),F(mr=>{bt(Ht,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${mr??""}`),b(Ot,e(ot))},[()=>e(Se).has(e(ot))?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",Ht,()=>Oa(e(ot))),u(Rt,Ht)}),u(K,at)};j(Ze,K=>{e(ue).length===0?K(Ge):K(wt,-1)})}s(xt);var er=d(xt,2);{var vr=K=>{var at=Xs(),Qt=d(l(at),2);St(Qt,17,()=>[...new Set([...e(Ve),...e(pt).map(Rt=>Rt.value)])],Mt,(Rt,ot)=>{const Ht=U(()=>e(pt).find(tr=>tr.value===e(ot))?.count??0);var Ot=Ys(),mr=l(Ot);s(Ot),F(tr=>{bt(Ot,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${tr??""}`),b(mr,`${e(ot)??""}${e(Ht)>0?` ${e(Ht)}`:""}`)},[()=>e(Ve).has(e(ot))?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",Ot,()=>Ya(e(ot))),u(Rt,Ot)}),s(at),u(K,at)};j(er,K=>{(e(pt).length>0||e(Ve).size>0)&&K(vr)})}var pr=d(er,2);{var fr=K=>{var at=Hs(),Qt=d(l(at),2);St(Qt,17,()=>[...new Set([...e(ft),...e(Lt).map(Rt=>Rt.value)])],Mt,(Rt,ot)=>{const Ht=U(()=>e(Lt).find(tr=>tr.value===e(ot))?.count??0);var Ot=js(),mr=l(Ot);s(Ot),F(tr=>{bt(Ot,1,`px-2 py-[2px] font-[family-name:var(--font-mono)] text-[10px] border border-[var(--sig-border-strong)] ${tr??""}`),b(mr,`${e(ot)??""}${e(Ht)>0?` ${e(Ht)}`:""}`)},[()=>e(ft).has(e(ot))?"text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)]":"text-[var(--sig-text-muted)] bg-transparent"]),X("click",Ot,()=>Xa(e(ot))),u(Rt,Ot)}),s(at),u(K,at)};j(pr,K=>{(e(Lt).length>0||e(ft).size>0)&&K(fr)})}s(I),Ar("blur",A,Zr),lr(A,()=>e(Ce),K=>n(Ce,K)),Ar("blur",R,Zr),lr(R,()=>e(ve),K=>n(ve,K)),aa(ee,()=>e(lt),K=>n(lt,K)),aa(ce,()=>e(ht),K=>n(ht,K)),lr(Te,()=>e(Be),K=>n(Be,K)),lr(Ae,()=>e(dt),K=>n(dt,K)),lr(nt,()=>e(Tt),K=>n(Tt,K)),lr(_t,()=>e(Ct),K=>n(Ct,K)),u(D,I)},$$slots:{default:!0}})}),u(a,p)},$$slots:{default:!0}})}),s(on);var So=d(on,2);{let t=U(()=>e(_r)?.nodeType??void 0),r=U(()=>e(_r)?.entityData??null),a=U(()=>e(_r)?.aspectData??null),c=U(()=>e(_r)?.attributeData??null),p=U(()=>e(_r)?.parentEntityId??null),k=U(()=>e(_r)?.parentAspectId??null);ji(So,{containerClass:"flex-1 min-h-0 w-full min-w-0 border-l-0 border-t-0 max-lg:max-h-none",get graphSelected(){return e(g)},get embeddings(){return e(P)},get embeddingById(){return e(de)},get activeNeighbors(){return e(W)},get relationMode(){return e(Dt)},get loadingGlobalSimilar(){return e(rt)},get globalSimilar(){return e(Kt)},get embeddingSearchMatches(){return e(Ke)},get embeddingSearch(){return e(ge)},get pinBusy(){return e(vt)},get pinError(){return e(Xt)},get selectedNodeType(){return e(t)},get selectedEntityData(){return e(r)},get selectedAspectData(){return e(a)},get selectedAttributeData(){return e(c)},get parentEntityId(){return e(p)},get parentAspectId(){return e(k)},get constellationOverlay(){return e($)},onselectembedding:$r,onclearselection:$a,onloadglobalsimilar:ro,get onopenglobalsimilar(){return o.onopenglobalsimilar},onsetrelationmode:x=>n(Dt,x,!0),onfocusembedding:()=>e(g)&&eo(e(g).id),onpintoggle:to})}s($n),s(Wn),s(rn),F(()=>{Qn=Wt(zr,"",Qn,{display:e(se)==="2d"?"contents":"none"}),Zn=Wt(an,"",Zn,{display:e(se)==="3d"?"contents":"none"})}),X("mousemove",wr,Wa),Ar("mouseleave",wr,()=>{e(E)||n(w,null)}),u(h,rn),Sn()}Mn(["mousemove","click","input"]);export{$s as default};
|