mirror of
https://github.com/samvallad33/vestige.git
synced 2026-05-29 19:35:15 +02:00
Bundled release: Reasoning Theater wired to the 8-stage deep_reference cognitive pipeline, Pulse InsightToast, Memory Birth Ritual (v2.3 Terrarium), 7 new dashboard surfaces (/duplicates, /dreams, /schedule, /importance, /activation, /contradictions, /patterns), 3D graph brightness system with auto distance-compensation + user slider, and contradiction-detection + primary-selection hardening in the cross_reference tool. Intel Mac (x86_64-apple-darwin) also flows through to the release matrix from PR #43. Added: - POST /api/deep_reference — HTTP surface for the 8-stage pipeline - DeepReferenceCompleted WebSocket event (primary + supporting + contradicting memory IDs for downstream graph animation) - /reasoning route, full UI + Cmd+K Ask palette - 7 new dashboard surfaces exposing the cognitive engine - Graph brightness slider + localStorage persistence + distance-based emissive compensation so nodes don't disappear into fog at zoom-out Fixed: - Contradiction-detection false positives: adjacent-domain memories no longer flagged as conflicts (NEGATION_PAIRS wildcards removed, shared-words floor 2 → 4, topic-sim floor 0.15 → 0.55, STAGE 5 overlap floor 0.15 → 0.4) - Primary-memory selection: unified composite 0.5 × relevance + 0.2 × trust + 0.3 × term_presence with hard topic-term filter, closing the class of bug where off-topic high-trust memories won queries about specific subjects - Graph default-load fallback from sort=recent to sort=connected when the newest memory is isolated, both backend and client Changed: - Reasoning page information hierarchy: chain renders first as hero, confidence meter + Primary Source citation footer below - Cargo feature split: embeddings code-only + ort-download | ort-dynamic backends; defaults preserve identical behavior for existing consumers - CI release-build now gates PRs too so multi-platform regressions surface pre-merge
6 lines
17 KiB
JavaScript
6 lines
17 KiB
JavaScript
import"../chunks/Bzak7iHL.js";import{o as Ye}from"../chunks/CNjeV5xa.js";import{p as Ge,s as R,c as Ne,h as M,e as s,g as e,r as t,a as Je,f as Ke,d as n,t as k,u as ae}from"../chunks/CvjSAYrz.js";import{d as Ue,s as w,a as h}from"../chunks/FzvEaXMa.js";import{i as q}from"../chunks/ciN1mm2W.js";import{e as ue,i as je}from"../chunks/DTnG8poT.js";import{a as c,f as g,b as re}from"../chunks/BsvCUYx-.js";import{s as X,r as qe}from"../chunks/CNfQDikv.js";import{s as Le}from"../chunks/DPl3NjBv.js";import{s as Z}from"../chunks/Bhad70Ss.js";import{b as Qe}from"../chunks/CVpUe0w3.js";import{b as it}from"../chunks/DMu1Byux.js";import{a as H}from"../chunks/DNjM5a-l.js";import{N as lt}from"../chunks/DzfRjky4.js";const dt={created:{label:"Created",color:"#10b981",glyph:"",kind:"ring"},accessed:{label:"Accessed",color:"#3b82f6",glyph:"",kind:"dot"},promoted:{label:"Promoted",color:"#10b981",glyph:"",kind:"arrow-up"},demoted:{label:"Demoted",color:"#f59e0b",glyph:"",kind:"arrow-down"},edited:{label:"Edited",color:"#facc15",glyph:"",kind:"pencil"},suppressed:{label:"Suppressed",color:"#a855f7",glyph:"",kind:"x"},dreamed:{label:"Dreamed",color:"#c084fc",glyph:"",kind:"star"},reconsolidated:{label:"Reconsolidated",color:"#ec4899",glyph:"",kind:"circle-arrow"}},ke=15;function ct(u){let p=0;for(let x=0;x<u.length;x++)p=p*31+u.charCodeAt(x)>>>0;return p}function vt(u){let p=u>>>0;return()=>(p=p*1664525+1013904223>>>0,p/4294967296)}function pt(u,p=Date.now(),x){if(!u)return[];const _=vt(ct(u)),S=8+Math.floor(_()*8);if(S<=0)return[];const P=[],T=p-(14+_()*21)*864e5;P.push({action:"created",timestamp:new Date(T).toISOString(),reason:"smart_ingest · prediction-error gate opened",triggered_by:"smart_ingest"});let A=T,l=.5+_()*.2;const D=["accessed","accessed","accessed","accessed","promoted","demoted","edited","dreamed","reconsolidated","suppressed"];for(let $=1;$<S;$++){A+=_()*5*864e5+36e5;const I=D[Math.floor(_()*D.length)],d={action:I,timestamp:new Date(A).toISOString()};switch(I){case"accessed":{const E=l;l=Math.min(1,l+_()*.04+.01),d.old_value=E,d.new_value=l,d.triggered_by=_()>.5?"search":"deep_reference";break}case"promoted":{const E=l;l=Math.min(1,l+.1),d.old_value=E,d.new_value=l,d.reason="confirmed helpful by user",d.triggered_by="memory(action=promote)";break}case"demoted":{const E=l;l=Math.max(0,l-.15),d.old_value=E,d.new_value=l,d.reason="user flagged as outdated",d.triggered_by="memory(action=demote)";break}case"edited":{d.reason="content refined, FSRS state preserved",d.triggered_by="memory(action=edit)";break}case"suppressed":{const E=l;l=Math.max(0,l-.08),d.old_value=E,d.new_value=l,d.reason="top-down inhibition (Anderson 2025)",d.triggered_by="suppress(dashboard)";break}case"dreamed":{const E=l;l=Math.min(1,l+.05),d.old_value=E,d.new_value=l,d.reason="replayed during dream consolidation",d.triggered_by="dream()";break}case"reconsolidated":{d.reason="edited within 5-min labile window (Nader)",d.triggered_by="reconsolidation-manager";break}case"created":d.triggered_by="smart_ingest";break}P.push(d)}return P.reverse()}function ut(u,p=Date.now()){const x=new Date(u).getTime(),_=Math.max(0,p-x),S=Math.floor(_/1e3);if(S<60)return`${S}s ago`;const P=Math.floor(S/60);if(P<60)return`${P}m ago`;const T=Math.floor(P/60);if(T<24)return`${T}h ago`;const A=Math.floor(T/24);if(A<30)return`${A}d ago`;const l=Math.floor(A/30);return l<12?`${l}mo ago`:`${Math.floor(l/12)}y ago`}function ft(u,p){const x=typeof u=="number"&&Number.isFinite(u),_=typeof p=="number"&&Number.isFinite(p);return!x&&!_?null:!x&&_?`set ${p.toFixed(2)}`:x&&!_?`was ${u.toFixed(2)}`:`${u.toFixed(2)} → ${p.toFixed(2)}`}function gt(u,p){return p||u.length<=ke?{visible:u,hiddenCount:Math.max(0,u.length-ke)}:{visible:u.slice(0,ke),hiddenCount:u.length-ke}}var _t=g('<div class="h-10 glass-subtle rounded-lg animate-pulse svelte-kf1sc6"></div>'),xt=g('<div class="space-y-2 svelte-kf1sc6"></div>'),bt=g('<p class="text-xs text-decay italic svelte-kf1sc6">Audit trail failed to load.</p>'),mt=g('<p class="text-xs text-muted italic svelte-kf1sc6">No memory selected.</p>'),ht=g('<p class="text-xs text-muted italic svelte-kf1sc6">No audit events recorded yet.</p>'),kt=g('<span class="w-1.5 h-1.5 rounded-full svelte-kf1sc6"></span>'),yt=g('<span class="w-2 h-2 rounded-full border svelte-kf1sc6"></span>'),wt=re('<svg viewBox="0 0 12 12" class="w-2.5 h-2.5 svelte-kf1sc6" fill="none" stroke-width="2"><path d="M6 10V2M3 5l3-3 3 3" stroke-linecap="round" stroke-linejoin="round" class="svelte-kf1sc6"></path></svg>'),Mt=re('<svg viewBox="0 0 12 12" class="w-2.5 h-2.5 svelte-kf1sc6" fill="none" stroke-width="2"><path d="M6 2v8M3 7l3 3 3-3" stroke-linecap="round" stroke-linejoin="round" class="svelte-kf1sc6"></path></svg>'),St=re('<svg viewBox="0 0 12 12" class="w-2.5 h-2.5 svelte-kf1sc6" fill="none" stroke-width="1.5"><path d="M8.5 1.5l2 2L4 10l-3 1 1-3 6.5-6.5z" stroke-linejoin="round" class="svelte-kf1sc6"></path></svg>'),Pt=re('<svg viewBox="0 0 12 12" class="w-2.5 h-2.5 svelte-kf1sc6" fill="none" stroke-width="2"><path d="M2 2l8 8M10 2l-8 8" stroke-linecap="round" class="svelte-kf1sc6"></path></svg>'),Tt=re('<svg viewBox="0 0 12 12" class="w-2.5 h-2.5 svelte-kf1sc6" stroke="none"><path d="M6 0.5l1.4 3.3 3.6.3-2.7 2.4.8 3.5L6 8.2l-3.1 1.8.8-3.5L1 4.1l3.6-.3L6 .5z" class="svelte-kf1sc6"></path></svg>'),At=re('<svg viewBox="0 0 12 12" class="w-2.5 h-2.5 svelte-kf1sc6" fill="none" stroke-width="1.5"><path d="M10 6a4 4 0 1 1-1.2-2.8" stroke-linecap="round" class="svelte-kf1sc6"></path><path d="M10 1.5V4H7.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-kf1sc6"></path></svg>'),Dt=g('<span class="text-muted font-mono text-[10px] svelte-kf1sc6"> </span>'),Et=g('<div class="text-[11px] text-dim font-mono svelte-kf1sc6"> </div>'),Ct=g('<div class="text-[11px] text-dim italic svelte-kf1sc6"> </div>'),Ft=g('<li class="relative svelte-kf1sc6"><span class="marker absolute -left-[29px] top-0.5 w-4 h-4 flex items-center justify-center rounded-full svelte-kf1sc6" aria-hidden="true"><!></span> <div class="glass-subtle rounded-lg px-3 py-2 space-y-1 svelte-kf1sc6"><div class="flex items-center justify-between gap-2 flex-wrap svelte-kf1sc6"><div class="flex items-center gap-2 text-xs svelte-kf1sc6"><span class="font-semibold svelte-kf1sc6"> </span> <!></div> <span class="text-[10px] text-muted font-mono svelte-kf1sc6"> </span></div> <!> <!></div></li>'),It=g('<button type="button" class="text-xs text-synapse-glow hover:text-bright transition-colors underline-offset-4 hover:underline svelte-kf1sc6"> </button>'),Lt=g('<ol class="relative pl-6 border-l border-synapse/15 space-y-3 svelte-kf1sc6"></ol> <!>',1),Nt=g('<div class="audit-trail space-y-3 svelte-kf1sc6" aria-label="Audit trail"><!></div>');function jt(u,p){Ge(p,!0);let x=R(Ne([])),_=R(!0),S=R(!1),P=R(!1);async function T(m){return pt(m,Date.now())}Ye(async()=>{if(!p.memoryId){M(x,[],!0),M(_,!1);return}try{M(x,await T(p.memoryId),!0)}catch{M(x,[],!0),M(S,!0)}finally{M(_,!1)}});const A=ae(()=>gt(e(x),e(P))),l=ae(()=>e(A).visible),D=ae(()=>e(A).hiddenCount);var $=Nt(),I=s($);{var d=m=>{var y=xt();ue(y,20,()=>Array(5),je,(N,Q)=>{var K=_t();c(N,K)}),t(y),c(m,y)},E=m=>{var y=bt();c(m,y)},oe=m=>{var y=mt();c(m,y)},se=m=>{var y=ht();c(m,y)},fe=m=>{var y=Lt(),N=Ke(y);ue(N,23,()=>e(l),(L,b)=>L.timestamp+b,(L,b,U)=>{const v=ae(()=>dt[e(b).action]),V=ae(()=>ft(e(b).old_value,e(b).new_value));var Y=Ft(),G=s(Y),ge=s(G);{var _e=a=>{var r=kt();k(()=>Z(r,`background: ${e(v).color??""};`)),c(a,r)},ee=a=>{var r=yt();k(()=>Z(r,`border-color: ${e(v).color??""}; background: transparent;`)),c(a,r)},xe=a=>{var r=wt();k(()=>X(r,"stroke",e(v).color)),c(a,r)},ye=a=>{var r=Mt();k(()=>X(r,"stroke",e(v).color)),c(a,r)},we=a=>{var r=St();k(()=>X(r,"stroke",e(v).color)),c(a,r)},Me=a=>{var r=Pt();k(()=>X(r,"stroke",e(v).color)),c(a,r)},Se=a=>{var r=Tt();k(()=>X(r,"fill",e(v).color)),c(a,r)},f=a=>{var r=At();k(()=>X(r,"stroke",e(v).color)),c(a,r)};q(ge,a=>{e(v).kind==="dot"?a(_e):e(v).kind==="ring"?a(ee,1):e(v).kind==="arrow-up"?a(xe,2):e(v).kind==="arrow-down"?a(ye,3):e(v).kind==="pencil"?a(we,4):e(v).kind==="x"?a(Me,5):e(v).kind==="star"?a(Se,6):e(v).kind==="circle-arrow"&&a(f,7)})}t(G);var C=n(G,2),z=s(C),i=s(z),F=s(i),ne=s(F,!0);t(F);var ie=n(F,2);{var le=a=>{var r=Dt(),W=s(r,!0);t(r),k(()=>w(W,e(b).triggered_by)),c(a,r)};q(ie,a=>{e(b).triggered_by&&a(le)})}t(i);var te=n(i,2),de=s(te,!0);t(te),t(z);var be=n(z,2);{var Pe=a=>{var r=Et(),W=s(r);t(r),k(()=>w(W,`retention ${e(V)??""}`)),c(a,r)};q(be,a=>{e(V)&&a(Pe)})}var me=n(be,2);{var Te=a=>{var r=Ct(),W=s(r,!0);t(r),k(()=>w(W,e(b).reason)),c(a,r)};q(me,a=>{e(b).reason&&a(Te)})}t(C),t(Y),k((a,r)=>{Z(Y,`animation-delay: ${e(U)*40}ms;`),Z(G,`background: rgba(10,10,26,0.9); box-shadow: 0 0 10px ${e(v).color??""}88; border: 1px solid ${e(v).color??""};`),Z(F,`color: ${e(v).color??""};`),w(ne,e(v).label),X(te,"title",a),w(de,r)},[()=>new Date(e(b).timestamp).toLocaleString(),()=>ut(e(b).timestamp)]),c(L,Y)}),t(N);var Q=n(N,2);{var K=L=>{var b=It(),U=s(b,!0);t(b),k(()=>w(U,e(P)?"Hide older events":`Show ${e(D)} older event${e(D)===1?"":"s"}…`)),h("click",b,v=>{v.stopPropagation(),M(P,!e(P))}),c(L,b)};q(Q,L=>{e(D)>0&&L(K)})}c(m,y)};q(I,m=>{e(_)?m(d):e(S)?m(E,1):p.memoryId?e(x).length===0?m(se,3):m(fe,!1):m(oe,2)})}t($),c(u,$),Je()}Ue(["click"]);var Bt=g('<div class="h-24 glass-subtle rounded-xl animate-pulse"></div>'),Ot=g('<div class="grid gap-3"></div>'),Rt=g('<span class="text-xs px-1.5 py-0.5 bg-white/[0.04] rounded text-muted"> </span>'),$t=g('<p class="text-sm text-text whitespace-pre-wrap"> </p> <div class="grid grid-cols-3 gap-3 text-xs text-dim"><div> </div> <div> </div> <div> </div></div>',1),zt=g('<div role="presentation"><!></div>'),Ht=g('<div class="mt-4 pt-4 border-t border-synapse/10 space-y-3"><div class="flex gap-1 text-[11px] uppercase tracking-wider"><span role="button" tabindex="0">Content</span> <span role="button" tabindex="0">Audit Trail</span></div> <!> <div class="flex gap-2"><span role="button" tabindex="0" class="px-3 py-1.5 bg-recall/20 text-recall text-xs rounded-lg hover:bg-recall/30 cursor-pointer select-none">Promote</span> <span role="button" tabindex="0" class="px-3 py-1.5 bg-decay/20 text-decay text-xs rounded-lg hover:bg-decay/30 cursor-pointer select-none">Demote</span> <span role="button" tabindex="0" title="Top-down inhibition (Anderson 2025). Compounds. Reversible for 24h." class="px-3 py-1.5 bg-purple-500/20 text-purple-400 text-xs rounded-lg hover:bg-purple-500/30 cursor-pointer select-none">Suppress</span> <span role="button" tabindex="0" class="px-3 py-1.5 bg-decay/10 text-decay/60 text-xs rounded-lg hover:bg-decay/20 ml-auto cursor-pointer select-none">Delete</span></div></div>'),qt=g('<button><div class="flex items-start justify-between gap-4"><div class="flex-1 min-w-0"><div class="flex items-center gap-2 mb-2"><span class="w-2 h-2 rounded-full"></span> <span class="text-xs text-dim"> </span> <!></div> <p class="text-sm text-text leading-relaxed line-clamp-2"> </p></div> <div class="flex flex-col items-end gap-1 flex-shrink-0"><div class="w-12 h-1.5 bg-deep rounded-full overflow-hidden"><div class="h-full rounded-full"></div></div> <span class="text-xs text-muted"> </span></div></div> <!></button>'),Qt=g('<div class="grid gap-3"></div>'),Yt=g(`<div class="p-6 max-w-6xl mx-auto space-y-6"><div class="flex items-center justify-between"><h1 class="text-xl text-bright font-semibold">Memories</h1> <span class="text-dim text-sm"> </span></div> <div class="flex gap-3 flex-wrap"><input type="text" placeholder="Search memories..." class="flex-1 min-w-64 px-4 py-2.5 bg-white/[0.03] border border-synapse/10 rounded-xl text-text text-sm
|
|
placeholder:text-muted focus:outline-none focus:border-synapse/40 focus:ring-1 focus:ring-synapse/20 transition backdrop-blur-sm"/> <select class="px-3 py-2.5 bg-white/[0.03] border border-synapse/10 rounded-xl text-dim text-sm focus:outline-none backdrop-blur-sm"><option>All types</option><option>Fact</option><option>Concept</option><option>Event</option><option>Person</option><option>Place</option><option>Note</option><option>Pattern</option><option>Decision</option></select> <div class="flex items-center gap-2 text-xs text-dim"><span>Min retention:</span> <input type="range" min="0" max="1" step="0.1" class="w-24 accent-synapse"/> <span> </span></div></div> <!></div>`);function na(u,p){Ge(p,!0);let x=R(Ne([])),_=R(""),S=R(""),P="",T=R(0),A=R(!0),l=R(null),D=Ne({}),$;Ye(()=>I());async function I(){M(A,!0);try{const f={};e(_)&&(f.q=e(_)),e(S)&&(f.node_type=e(S)),e(T)>0&&(f.min_retention=String(e(T)));const C=await H.memories.list(f);M(x,C.memories,!0)}catch{M(x,[],!0)}finally{M(A,!1)}}function d(){clearTimeout($),$=setTimeout(I,300)}function E(f){return f>.7?"#10b981":f>.4?"#f59e0b":"#ef4444"}var oe=Yt(),se=s(oe),fe=n(s(se),2),m=s(fe);t(fe),t(se);var y=n(se,2),N=s(y);qe(N);var Q=n(N,2),K=s(Q);K.value=K.__value="";var L=n(K);L.value=L.__value="fact";var b=n(L);b.value=b.__value="concept";var U=n(b);U.value=U.__value="event";var v=n(U);v.value=v.__value="person";var V=n(v);V.value=V.__value="place";var Y=n(V);Y.value=Y.__value="note";var G=n(Y);G.value=G.__value="pattern";var ge=n(G);ge.value=ge.__value="decision",t(Q);var _e=n(Q,2),ee=n(s(_e),2);qe(ee);var xe=n(ee,2),ye=s(xe);t(xe),t(_e),t(y);var we=n(y,2);{var Me=f=>{var C=Ot();ue(C,20,()=>Array(8),je,(z,i)=>{var F=Bt();c(z,F)}),t(C),c(f,C)},Se=f=>{var C=Qt();ue(C,21,()=>e(x),z=>z.id,(z,i)=>{var F=qt(),ne=s(F),ie=s(ne),le=s(ie),te=s(le),de=n(te,2),be=s(de,!0);t(de);var Pe=n(de,2);ue(Pe,17,()=>e(i).tags.slice(0,3),je,(j,B)=>{var O=Rt(),ce=s(O,!0);t(O),k(()=>w(ce,e(B))),c(j,O)}),t(le);var me=n(le,2),Te=s(me,!0);t(me),t(ie);var a=n(ie,2),r=s(a),W=s(r);t(r);var Be=n(r,2),We=s(Be);t(Be),t(a),t(ne);var Xe=n(ne,2);{var Ze=j=>{const B=ae(()=>D[e(i).id]??"content");var O=Ht(),ce=s(O),he=s(ce),Ae=n(he,2);t(ce);var Oe=n(ce,2);{var Ve=o=>{var J=$t(),ve=Ke(J),pe=s(ve,!0);t(ve);var ze=n(ve,2),Fe=s(ze),tt=s(Fe);t(Fe);var Ie=n(Fe,2),at=s(Ie);t(Ie);var He=n(Ie,2),rt=s(He);t(He),t(ze),k((ot,st,nt)=>{w(pe,e(i).content),w(tt,`Storage: ${ot??""}%`),w(at,`Retrieval: ${st??""}%`),w(rt,`Created: ${nt??""}`)},[()=>(e(i).storageStrength*100).toFixed(1),()=>(e(i).retrievalStrength*100).toFixed(1),()=>new Date(e(i).createdAt).toLocaleDateString()]),c(o,J)},et=o=>{var J=zt(),ve=s(J);jt(ve,{get memoryId(){return e(i).id}}),t(J),h("click",J,pe=>pe.stopPropagation()),h("keydown",J,pe=>pe.stopPropagation()),c(o,J)};q(Oe,o=>{e(B)==="content"?o(Ve):o(et,!1)})}var Re=n(Oe,2),De=s(Re),Ee=n(De,2),Ce=n(Ee,2),$e=n(Ce,2);t(Re),t(O),k(()=>{Le(he,1,`px-3 py-1.5 rounded-lg cursor-pointer select-none transition
|
|
${e(B)==="content"?"bg-synapse/20 text-synapse-glow border border-synapse/40":"bg-white/[0.03] text-dim hover:text-text border border-transparent"}`),Le(Ae,1,`px-3 py-1.5 rounded-lg cursor-pointer select-none transition
|
|
${e(B)==="audit"?"bg-synapse/20 text-synapse-glow border border-synapse/40":"bg-white/[0.03] text-dim hover:text-text border border-transparent"}`)}),h("click",he,o=>{o.stopPropagation(),D[e(i).id]="content"}),h("keydown",he,o=>{(o.key==="Enter"||o.key===" ")&&(o.stopPropagation(),D[e(i).id]="content")}),h("click",Ae,o=>{o.stopPropagation(),D[e(i).id]="audit"}),h("keydown",Ae,o=>{(o.key==="Enter"||o.key===" ")&&(o.stopPropagation(),D[e(i).id]="audit")}),h("click",De,o=>{o.stopPropagation(),H.memories.promote(e(i).id)}),h("keydown",De,o=>{o.key==="Enter"&&(o.stopPropagation(),H.memories.promote(e(i).id))}),h("click",Ee,o=>{o.stopPropagation(),H.memories.demote(e(i).id)}),h("keydown",Ee,o=>{o.key==="Enter"&&(o.stopPropagation(),H.memories.demote(e(i).id))}),h("click",Ce,async o=>{o.stopPropagation(),await H.memories.suppress(e(i).id,"dashboard trigger")}),h("keydown",Ce,async o=>{o.key==="Enter"&&(o.stopPropagation(),await H.memories.suppress(e(i).id,"dashboard trigger"))}),h("click",$e,async o=>{o.stopPropagation(),await H.memories.delete(e(i).id),I()}),h("keydown",$e,async o=>{o.key==="Enter"&&(o.stopPropagation(),await H.memories.delete(e(i).id),I())}),c(j,O)};q(Xe,j=>{var B;((B=e(l))==null?void 0:B.id)===e(i).id&&j(Ze)})}t(F),k((j,B)=>{var O;Le(F,1,`text-left p-4 glass-subtle rounded-xl hover:bg-white/[0.04]
|
|
transition-all duration-200 group
|
|
${((O=e(l))==null?void 0:O.id)===e(i).id?"!border-synapse/40 glow-synapse":""}`),Z(te,`background: ${(lt[e(i).nodeType]||"#8B95A5")??""}`),w(be,e(i).nodeType),w(Te,e(i).content),Z(W,`width: ${e(i).retentionStrength*100}%; background: ${j??""}`),w(We,`${B??""}%`)},[()=>E(e(i).retentionStrength),()=>(e(i).retentionStrength*100).toFixed(0)]),h("click",F,()=>{var j;return M(l,((j=e(l))==null?void 0:j.id)===e(i).id?null:e(i),!0)}),c(z,F)}),t(C),c(f,C)};q(we,f=>{e(A)?f(Me):f(Se,!1)})}t(oe),k(f=>{w(m,`${e(x).length??""} results`),w(ye,`${f??""}%`)},[()=>(e(T)*100).toFixed(0)]),h("input",N,d),Qe(N,()=>e(_),f=>M(_,f)),h("change",Q,I),it(Q,()=>e(S),f=>M(S,f)),h("change",ee,I),Qe(ee,()=>e(T),f=>M(T,f)),c(u,oe),Je()}Ue(["input","change","click","keydown"]);export{na as component};
|