signetai 0.113.0 → 0.113.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/assets/{CortexTasksPanel.BfHb49Cs.css → CortexTasksPanel.CYIUqiAj.css} +1 -1
- package/dashboard/_app/immutable/chunks/{CFgwS7Lz.js → 1-WLJwpZ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Duw1LxAO.js → 2WYX5BJf.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CP1hkQ2L.js → 4d5P7STS.js} +10 -10
- package/dashboard/_app/immutable/chunks/BImnBM2I.js +1 -0
- package/dashboard/_app/immutable/chunks/{BBt434eU.js → BKq-KZfo.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DpYdi0KS.js → BWIKfUpv.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Bzol7cQ7.js → BZ1FBVKt.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BB-W0EN_.js → Beo6btls.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Dj9lqn-7.js → BjfUHYoA.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CkbGdMQQ.js → BmhSDP4N.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C0sV17aL.js → BpseFmsv.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Bdxe7Pz0.js → BrRNzhfA.js} +1 -1
- package/dashboard/_app/immutable/chunks/{fTbs6G5n.js → Bt6OFxO9.js} +1 -1
- package/dashboard/_app/immutable/chunks/{TJXPDAac.js → BwyXs5ma.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B8QzgjCm.js → C4ex0jKJ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BHOGagDI.js → C4vXQfLQ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BSKzBtmv.js → CAc-cuAF.js} +1 -1
- package/dashboard/_app/immutable/chunks/{LN6pB2ka.js → CCc6SbEb.js} +1 -1
- package/dashboard/_app/immutable/chunks/{bKLkcBNT.js → CEFoWPhn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D5xfRnQb.js → COI-b5yo.js} +2 -2
- package/dashboard/_app/immutable/chunks/{BcGwt7n-.js → CZ_hLewV.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CkEXGe12.js → Ce71DZqL.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Iql2eDnu.js → D21MfX9i.js} +1 -1
- package/dashboard/_app/immutable/chunks/D2IibGIn.js +27 -0
- package/dashboard/_app/immutable/chunks/D342Rwtd.js +15 -0
- package/dashboard/_app/immutable/chunks/{DVvIpUts.js → D76zp8XN.js} +2 -2
- package/dashboard/_app/immutable/chunks/{7C3Vd41S.js → D8FLcerC.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DfPhn9sQ.js → D8qTyRrC.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DR3Vd0AB.js → DYDNRmrR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{qkDqxgw7.js → DYShEYuS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{YVAa5BqM.js → Dh0LfYY-.js} +2 -2
- package/dashboard/_app/immutable/chunks/{B4RyNEFX.js → DitwSINT.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BDCPJ90x.js → DljU-A0Z.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DOUBZrEd.js → DmTMHgsE.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BgVE_0f2.js → Ds3qlZlZ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BhU8Ers6.js → EVdeobhM.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B18p7G7e.js → O5jPogNO.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CDPR4grq.js → VZbZANe-.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DehbyT-4.js → WhYaBHGe.js} +1 -1
- package/dashboard/_app/immutable/chunks/{YjzD1trK.js → X2Q1oXEB.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B8p6MZE2.js → XsfElaWa.js} +1 -1
- package/dashboard/_app/immutable/chunks/{vpzCUgtL.js → j7mA57kl.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B5DeCEEr.js → kaNOkNWY.js} +3 -3
- package/dashboard/_app/immutable/chunks/{Bm0Ul2rD.js → rCI1U4rf.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CKuCALHh.js → uijJ8Whm.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Bp3kEfBN.js → vpfaTKN0.js} +1 -1
- package/dashboard/_app/immutable/chunks/{18GuzXu1.js → zV-oxz3Z.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.Ckv1nw8b.js → app.CszHt2k4.js} +2 -2
- package/dashboard/_app/immutable/entry/start.BS8x08Jd.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.HMptODgh.js → 1.CimAGaHV.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.C2DQftj7.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/dist/cli.js +87 -9
- package/dist/daemon.js +25 -15
- package/dist/extraction-thread.js +19 -9
- package/package.json +1 -1
- package/templates/agent.yaml.template +0 -9
- package/dashboard/_app/immutable/chunks/Be75Q7BE.js +0 -1
- package/dashboard/_app/immutable/chunks/DaBG_ZQv.js +0 -15
- package/dashboard/_app/immutable/chunks/hYdvkYW3.js +0 -27
- package/dashboard/_app/immutable/entry/start.BCWQIyf8.js +0 -1
- package/dashboard/_app/immutable/nodes/2.CGpdp8It.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.task-card.svelte-1lta2hw{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:1px solid var(--sig-border);text-align:left;cursor:pointer;outline:none;transition:background var(--dur) var(--ease);width:100%}.task-card.svelte-1lta2hw:last-child{border-bottom:none}.task-card.svelte-1lta2hw:hover{background:var(--sig-surface-raised)}.task-card--selected.svelte-1lta2hw{background:var(--sig-surface-raised);border-left:2px solid var(--sig-highlight)}.task-card.svelte-1lta2hw:focus-visible{background:var(--sig-surface-raised);border-left:2px solid var(--sig-highlight)}.task-card--disabled.svelte-1lta2hw{opacity:.4}.task-top.svelte-1lta2hw{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.task-name.svelte-1lta2hw{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--sig-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.task-harness.svelte-1lta2hw{font-family:var(--font-body);font-size:8px;letter-spacing:.06em;color:var(--sig-text-muted);padding:1px 5px;border:1px solid var(--sig-border);border-radius:2px;flex-shrink:0}.task-meta.svelte-1lta2hw{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:9px;letter-spacing:.04em;color:var(--sig-text-muted)}.task-status-running.svelte-1lta2hw{color:var(--sig-warning)}.task-status-failed.svelte-1lta2hw{color:var(--sig-danger)}.task-actions.svelte-1lta2hw{display:flex;align-items:center;justify-content:space-between;padding-top:2px}.trigger-btn.svelte-1lta2hw{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;color:var(--sig-text-muted);cursor:pointer;border-radius:2px;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.trigger-btn.svelte-1lta2hw:hover{color:var(--sig-highlight);background:var(--sig-surface-raised)}.board-grid.svelte-10pk3oi{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);padding:var(--space-sm);min-height:0;align-items:start}@media(max-width:900px){.board-grid.svelte-10pk3oi{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.board-grid.svelte-10pk3oi{grid-template-columns:1fr}}.column.svelte-10pk3oi{display:flex;flex-direction:column;border:1px solid var(--sig-border);border-radius:var(--radius);overflow:hidden;background:var(--sig-surface)}.column-header.svelte-10pk3oi{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--sig-border);flex-shrink:0}.column-pip.svelte-10pk3oi{display:inline-block;width:4px;height:4px;flex-shrink:0;border-radius:50%}.column-label.svelte-10pk3oi{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-muted)}.column-count.svelte-10pk3oi{font-family:var(--font-body);font-size:9px;color:var(--sig-text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.column-body.svelte-10pk3oi{display:flex;flex-direction:column;gap:1px;overflow-y:auto;max-height:60vh}.column-empty.svelte-10pk3oi{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:9px;letter-spacing:.08em;color:var(--sig-text-muted);opacity:.4}.disabled-section.svelte-10pk3oi{padding:0 var(--space-sm) var(--space-sm)}.disabled-cards.svelte-10pk3oi{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;padding:0}.empty-state.svelte-10pk3oi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;font-family:var(--font-body);font-size:10px;letter-spacing:.1em;color:var(--sig-text-muted)}.empty-hint.svelte-10pk3oi{font-size:8px;opacity:.5}.tasks-panel.svelte-1jxe0jv{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.tasks-header.svelte-1jxe0jv{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--sig-border);flex-shrink:0}.tasks-header-left.svelte-1jxe0jv{display:flex;align-items:center;gap:var(--space-sm)}.tasks-title.svelte-1jxe0jv{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-bright)}.tasks-count.svelte-1jxe0jv{font-family:var(--font-body);font-size:8px;letter-spacing:.1em;color:var(--sig-text-muted)}.
|
|
1
|
+
.task-card.svelte-1lta2hw{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:1px solid var(--sig-border);text-align:left;cursor:pointer;outline:none;transition:background var(--dur) var(--ease);width:100%}.task-card.svelte-1lta2hw:last-child{border-bottom:none}.task-card.svelte-1lta2hw:hover{background:var(--sig-surface-raised)}.task-card--selected.svelte-1lta2hw{background:var(--sig-surface-raised);border-left:2px solid var(--sig-highlight)}.task-card.svelte-1lta2hw:focus-visible{background:var(--sig-surface-raised);border-left:2px solid var(--sig-highlight)}.task-card--disabled.svelte-1lta2hw{opacity:.4}.task-top.svelte-1lta2hw{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.task-name.svelte-1lta2hw{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--sig-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.task-harness.svelte-1lta2hw{font-family:var(--font-body);font-size:8px;letter-spacing:.06em;color:var(--sig-text-muted);padding:1px 5px;border:1px solid var(--sig-border);border-radius:2px;flex-shrink:0}.task-meta.svelte-1lta2hw{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:9px;letter-spacing:.04em;color:var(--sig-text-muted)}.task-status-running.svelte-1lta2hw{color:var(--sig-warning)}.task-status-failed.svelte-1lta2hw{color:var(--sig-danger)}.task-actions.svelte-1lta2hw{display:flex;align-items:center;justify-content:space-between;padding-top:2px}.trigger-btn.svelte-1lta2hw{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;color:var(--sig-text-muted);cursor:pointer;border-radius:2px;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.trigger-btn.svelte-1lta2hw:hover{color:var(--sig-highlight);background:var(--sig-surface-raised)}.board-grid.svelte-10pk3oi{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);padding:var(--space-sm);min-height:0;align-items:start}@media(max-width:900px){.board-grid.svelte-10pk3oi{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.board-grid.svelte-10pk3oi{grid-template-columns:1fr}}.column.svelte-10pk3oi{display:flex;flex-direction:column;border:1px solid var(--sig-border);border-radius:var(--radius);overflow:hidden;background:var(--sig-surface)}.column-header.svelte-10pk3oi{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--sig-border);flex-shrink:0}.column-pip.svelte-10pk3oi{display:inline-block;width:4px;height:4px;flex-shrink:0;border-radius:50%}.column-label.svelte-10pk3oi{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-muted)}.column-count.svelte-10pk3oi{font-family:var(--font-body);font-size:9px;color:var(--sig-text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.column-body.svelte-10pk3oi{display:flex;flex-direction:column;gap:1px;overflow-y:auto;max-height:60vh}.column-empty.svelte-10pk3oi{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:9px;letter-spacing:.08em;color:var(--sig-text-muted);opacity:.4}.disabled-section.svelte-10pk3oi{padding:0 var(--space-sm) var(--space-sm)}.disabled-cards.svelte-10pk3oi{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;padding:0}.empty-state.svelte-10pk3oi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;font-family:var(--font-body);font-size:10px;letter-spacing:.1em;color:var(--sig-text-muted)}.empty-hint.svelte-10pk3oi{font-size:8px;opacity:.5}.tasks-panel.svelte-1jxe0jv{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.tasks-header.svelte-1jxe0jv{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--sig-border);flex-shrink:0}.tasks-header-left.svelte-1jxe0jv{display:flex;align-items:center;gap:var(--space-sm)}.tasks-title.svelte-1jxe0jv{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-bright)}.tasks-count.svelte-1jxe0jv{font-family:var(--font-body);font-size:8px;letter-spacing:.1em;color:var(--sig-text-muted)}.new-task-btn.svelte-1jxe0jv{display:flex;align-items:center;gap:4px;padding:3px 10px;background:transparent;border:1px solid var(--sig-border-strong);border-radius:var(--radius);color:var(--sig-text-muted);font-family:var(--font-body);font-size:9px;letter-spacing:.06em;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.new-task-btn.svelte-1jxe0jv:hover{color:var(--sig-highlight);border-color:var(--sig-highlight)}.tasks-content.svelte-1jxe0jv{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.shortcut-bar.svelte-1jxe0jv{display:flex;align-items:center;gap:12px;height:22px;padding:0 12px;border-top:1px solid var(--sig-border);flex-shrink:0;font-family:var(--font-mono);font-size:8px;letter-spacing:.06em;color:var(--sig-text-muted)}.shortcut.svelte-1jxe0jv{display:flex;align-items:center;gap:4px}.shortcut.svelte-1jxe0jv kbd:where(.svelte-1jxe0jv){font-family:var(--font-mono);font-size:8px;padding:0 3px;background:var(--sig-surface-raised);border:1px solid var(--sig-border);border-radius:2px;color:var(--sig-text-muted)}@media(max-width:1023px){.tasks-header.svelte-1jxe0jv{padding-left:var(--mobile-header-inset)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as h,g as s,c as o,f as d,M as p,H as m,G as x,a as y,n as w,b as c,d as _,r as k}from"./BvuHLZ8E.js";import{c as B,e as V}from"./
|
|
1
|
+
import{p as h,g as s,c as o,f as d,M as p,H as m,G as x,a as y,n as w,b as c,d as _,r as k}from"./BvuHLZ8E.js";import{c as B,e as V}from"./4d5P7STS.js";const j=V({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent",destructive:"bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function H(v,e){h(e,!0);let a=s(e,"ref",15,null),f=s(e,"variant",3,"default"),l=k(e,["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);var t=o(),u=d(t);p(u,()=>e.href?"a":"span",!1,(i,g)=>{m(i,r=>a(r),()=>a()),x(i,r=>({"data-slot":"badge",href:e.href,class:r,...l}),[()=>B(j({variant:f()}),e.class)]);var n=o(),b=d(n);y(b,()=>e.children??w),c(g,n)}),c(v,t),_()}export{H as B};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as he,g as De,t as i,j as s,l as t,w as ge,A as Ne,y as W,z as N,i as e,a9 as Oe,b as p,K as Re,d as me,u as h,m as x,s as Le,c as Ge,f as Ie,a as Ye,n as Xe,r as He,o as $,e as fe,q as Ue,v as O,k as Se,O as Ee,D as $e,B as Pe,ag as nt,P as Be,h as Ce,as as rt,Q as it,x as lt,G as Ve,H as ot}from"./BvuHLZ8E.js";import{I as Je,O as vt,a as Qe,aM as dt,n as ct,aN as ut,o as Ze,B as pt,aO as We,t as Ae,F as gt,aP as ft,aQ as ht,ax as mt}from"./CP1hkQ2L.js";import{F as _t}from"./Iql2eDnu.js";import{P as xt,a as yt,b as bt}from"./BB-W0EN_.js";import{T as St}from"./B8QzgjCm.js";import{R as Et}from"./vpzCUgtL.js";function et(y){return y.trim()||"default"}function Nt(y,n,r){const c=new URLSearchParams({agent_id:et(r),include_self:"true",limit:String(n)});return`${y}/api/cross-agent/presence?${c.toString()}`}function tt(y,n){const r=et(n);return y.filter(c=>c.agentId===r)}function kt(y,n){const r=tt(y,n).filter(c=>!Number.isNaN(new Date(c.lastSeenAt).getTime()));return r.length===0?null:[...r].sort((c,f)=>new Date(f.lastSeenAt).getTime()-new Date(c.lastSeenAt).getTime())[0]??null}async function wt(y,n,r){try{const c=await fetch(Nt(y,n,r));if(!c.ok)return[];const f=await c.json();return tt(f.sessions??[],r)}catch{return[]}}var At=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Tt=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Mt=x('<div class="readout sig-panel svelte-1j3peig"><div class="readout-texture svelte-1j3peig" aria-hidden="true"></div> <div class="readout-content svelte-1j3peig"><div class="readout-eyebrow svelte-1j3peig"><span class="eyebrow-left svelte-1j3peig">SIGNET AGENT READOUT</span> <span class="eyebrow-right svelte-1j3peig"> </span></div> <div class="readout-hero svelte-1j3peig"><h1 class="agent-name svelte-1j3peig"> </h1> <div class="hero-stat svelte-1j3peig"><span class="hero-number svelte-1j3peig"> </span> <span class="hero-unit svelte-1j3peig">MEMORIES<br/>STORED</span></div></div> <div class="readout-divider sig-groove svelte-1j3peig" aria-hidden="true"></div> <div class="readout-grid svelte-1j3peig"><div class="readout-col svelte-1j3peig"></div> <div class="readout-col svelte-1j3peig"></div></div></div></div>');function jt(y,n){he(n,!0);const r=De(n,"diagnostics",3,null),c=De(n,"pipelineStatus",3,null),f=De(n,"memoryStats",3,null),A=h(()=>{const m=n.daemonStatus?.agentCreatedAt;if(!m)return null;const S=new Date(m).getTime();return Number.isNaN(S)?null:Math.max(0,Math.floor((Date.now()-S)/864e5))}),b=h(()=>e(A)===null?"--":e(A)===0?"TODAY":e(A)===1?"1 DAY":`${e(A)} DAYS`),D=h(()=>n.daemonStatus?.activeSessions??0),M=h(()=>n.daemonStatus?.version??"--"),I=h(()=>kt(n.presence,n.agentId)),P=h(()=>{if(n.continuity.length===0)return null;const m=n.continuity.filter(E=>!Number.isNaN(new Date(E.created_at).getTime()));return m.length===0?null:[...m].sort((E,k)=>new Date(k.created_at).getTime()-new Date(E.created_at).getTime())[0]});function Y(m){const S=Date.now()-new Date(m).getTime(),E=Math.floor(S/6e4);if(E<1)return"JUST NOW";if(E<60)return`${E}M AGO`;const k=Math.floor(E/60);return k<24?`${k}H AGO`:`${Math.floor(k/24)}D AGO`}const X=h(()=>e(I)?.project??e(P)?.project??null),re=h(()=>e(I)?.lastSeenAt??e(P)?.created_at??null),J=h(()=>e(X)?.replace(/\/$/,"").split("/").pop()??"--"),B=h(()=>e(re)?Y(e(re)):"--"),Q=h(()=>n.identity.name?.trim()||"SIGNET AGENT"),H=h(()=>r()?.composite?.score??null),l=h(()=>r()?.composite?.status??"UNKNOWN"),_=h(()=>r()?.index?.embeddingCoverage!==void 0?Math.round(r().index.embeddingCoverage*100):!f()||f().total===0?null:Math.round(f().withEmbeddings/f().total*100)),j=h(()=>c()?typeof c().mode=="string"?c().mode.toUpperCase():"ACTIVE":"UNKNOWN"),R=h(()=>{if(!r())return 0;let m=0;const S=["queue","storage","index","provider","connector","predictor"];for(const E of S){const k=r()[E];if(k&&typeof k=="object"&&"status"in k){const se=k.status;(se==="degraded"||se==="unhealthy")&&m++}}return m});function q(m){return m===null?"var(--sig-text-muted)":m>=.8?"var(--sig-success)":m>=.5?"var(--sig-warning)":"var(--sig-danger)"}const oe=h(()=>[{idx:"01",label:"UPTIME",value:e(b)},{idx:"02",label:"PROJECT",value:e(J)},{idx:"03",label:"LAST SEEN",value:e(B)},{idx:"04",label:"CONNECTORS",value:String(n.connectorCount)},{idx:"05",label:"SESSIONS",value:String(e(D))}]),Z=h(()=>[{idx:"06",label:"HEALTH",value:e(H)!==null?`${e(H).toFixed(2)} ${e(l).toUpperCase()}`:"--",color:q(e(H))},{idx:"07",label:"EMBEDDED",value:e(_)!==null?`${e(_)}%`:"--"},{idx:"08",label:"PIPELINE",value:e(j)},{idx:"09",label:"WARNINGS",value:String(e(R)),color:e(R)>0?"var(--sig-danger)":void 0}]);var o=Mt(),C=i(s(o),2),d=s(C),U=i(s(d),2),a=s(U);t(U),t(d);var v=i(d,2),u=s(v),g=s(u,!0);t(u);var F=i(u,2),z=s(F),ee=s(z,!0);t(z),ge(2),t(F),t(v);var K=i(v,4),te=s(K);Ne(te,21,()=>e(oe),Re,(m,S)=>{var E=At(),k=s(E),se=s(k,!0);t(k);var V=i(k,2),ie=s(V,!0);t(V);var ae=i(V,4),w=s(ae,!0);t(ae),t(E),W(()=>{N(se,e(S).idx),N(ie,e(S).label),Oe(ae,e(S).color?`color: ${e(S).color}`:""),N(w,e(S).value)}),p(m,E)}),t(te);var de=i(te,2);Ne(de,21,()=>e(Z),Re,(m,S)=>{var E=Tt(),k=s(E),se=s(k,!0);t(k);var V=i(k,2),ie=s(V,!0);t(V);var ae=i(V,4),w=s(ae,!0);t(ae),t(E),W(()=>{N(se,e(S).idx),N(ie,e(S).label),Oe(ae,e(S).color?`color: ${e(S).color}`:""),N(w,e(S).value)}),p(m,E)}),t(de),t(K),t(C),t(o),W(m=>{N(a,`v${e(M)??""}`),N(g,e(Q)),N(ee,m)},[()=>n.memoryCount.toLocaleString()]),p(y,o),me()}function Ct(y,n){he(n,!0);let r=He(n,["$$slots","$$events","$$legacy"]);const c=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M10 9H8"}],["path",{d:"M16 13H8"}],["path",{d:"M16 17H8"}]];Je(y,Le({name:"file-text"},()=>r,{get iconNode(){return c},children:(f,A)=>{var b=Ge(),D=Ie(b);Ye(D,()=>n.children??Xe),p(f,b)},$$slots:{default:!0}})),me()}var Ot=x('<div class="empty-state svelte-18r587h">SCANNING SOURCE MANIFEST...</div>'),It=nt('<line x1="50" y1="50"></line>'),qt=x('<div class="kb-solo-note svelte-18r587h"><span class="svelte-18r587h">NO EXTERNAL SOURCES CONNECTED</span> <small class="svelte-18r587h">Connect Obsidian or documents to extend recall provenance.</small></div>'),Dt=x('<img src="/logo-dark.png" alt="" class="kb-signet-logo svelte-18r587h" aria-hidden="true"/>'),Pt=x('<button type="button"><span class="kb-node-icon svelte-18r587h"><!></span> <span class="kb-node-copy svelte-18r587h"><strong class="svelte-18r587h"> </strong> <small class="svelte-18r587h"> </small></span></button>'),Rt=x('<div><div class="kb-origin-ring svelte-18r587h" aria-hidden="true"></div> <button type="button" class="kb-core svelte-18r587h"><span class="kb-core-mark svelte-18r587h"><img src="/logo-dark.png" alt="" class="kb-signet-logo svelte-18r587h" aria-hidden="true"/></span> <span class="kb-core-copy svelte-18r587h"><strong class="svelte-18r587h">Signet Memory</strong> <small class="svelte-18r587h">native identity graph · always on</small></span></button> <svg class="kb-links svelte-18r587h" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true"></svg> <!> <!></div> <div class="kb-footer svelte-18r587h"><div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">ACTIVE</small></div> <div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">EXTERNAL</small></div> <div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">CONNECTORS</small></div> <div class="kb-last svelte-18r587h"><span class="svelte-18r587h">LAST EXTERNAL INDEX</span> <small class="svelte-18r587h"> </small></div></div>',1),$t=x('<div class="kb-panel sig-panel svelte-18r587h"><div class="kb-header sig-panel-header svelte-18r587h"><div><span class="kb-title svelte-18r587h">CONNECTED KNOWLEDGE BASES</span> <span class="kb-subtitle svelte-18r587h">PROVENANCE GRAPH / LIVE SOURCES</span></div> <button type="button" class="kb-open svelte-18r587h"><!> <span>MANAGE</span></button></div> <!></div>');function Lt(y,n){he(n,!0);const r=[{x:18,y:72},{x:73,y:24},{x:80,y:72},{x:22,y:24},{x:88,y:48}];let c=$(!1),f=$(fe([])),A=$(fe([]));Ue(async()=>{const o=await Promise.allSettled([vt(),Qe()]);o[0].status==="fulfilled"&&O(f,o[0].value,!0),o[1].status==="fulfilled"&&O(A,o[1].value,!0),O(c,!0)});const b=h(()=>{const o=e(f).map((d,U)=>({id:`source:${d.id}`,name:d.name||re(d.root),kind:"source",provider:d.kind,detail:d.root,status:d.enabled?d.lastIndexedAt||(d.stats?.indexed??0)>0?"online":"syncing":"offline",updatedAt:d.lastIndexedAt??d.updatedAt??null,...r[U%r.length]})),C=e(A).map((d,U)=>({id:`connector:${d.id}`,name:d.display_name||d.provider,kind:"connector",provider:d.provider,detail:d.last_error??`${d.provider} document connector`,status:X(d),updatedAt:d.last_sync_at??d.updated_at??null,...r[(o.length+U)%r.length]}));return[...o,...C].slice(0,r.length)}),D=h(()=>1+e(b).filter(o=>o.status==="online").length),M=h(()=>1+e(b).length),I=h(()=>e(f).length),P=h(()=>e(A).length),Y=h(()=>e(I)+e(P));function X(o){return o.last_error?"warning":o.status==="syncing"?"syncing":o.status==="connected"||o.status==="active"||o.status==="ok"||o.status?"online":"offline"}function re(o){return o.split(/[\\/]/).filter(Boolean).at(-1)??"Knowledge base"}function J(o,C){return C?.kind==="memory"?"always on":o==="online"?"indexed":o==="syncing"?"syncing":o==="warning"?"attention":"offline"}function B(o){return o.kind==="memory"?"Signet":o.kind==="source"&&o.provider==="obsidian"?"Obsidian":o.provider.replace(/[-_]/g," ")}function Q(o){if(!o)return"not indexed yet";const C=new Date(o);return Number.isNaN(C.getTime())?"unknown":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(C)}function H(){ct.activeTab="sources"}var l=$t(),_=s(l),j=i(s(_),2),R=s(j);dt(R,{class:"size-3"}),ge(2),t(j),t(_);var q=i(_,2);{var oe=o=>{var C=Ot();p(o,C)},Z=o=>{var C=Rt(),d=Ie(C);let U;var a=i(s(d),2),v=i(a,2);Ne(v,21,()=>e(b),w=>w.id,(w,T)=>{var L=It();let _e;W(()=>{$e(L,"x2",e(T).x),$e(L,"y2",e(T).y),_e=Pe(L,0,"svelte-18r587h",null,_e,{"link-muted":e(T).status!=="online"})}),p(w,L)}),t(v);var u=i(v,2);{var g=w=>{var T=qt();p(w,T)};Se(u,w=>{e(b).length===0&&w(g)})}var F=i(u,2);Ne(F,17,()=>e(b),w=>w.id,(w,T)=>{var L=Pt();let _e;var ne=s(L),ve=s(ne);{var xe=G=>{var le=Dt();p(G,le)},ke=G=>{_t(G,{class:"size-3.5"})},ce=G=>{Ct(G,{class:"size-3.5"})};Se(ve,G=>{e(T).kind==="memory"?G(xe):e(T).kind==="source"?G(ke,1):G(ce,-1)})}t(ne);var ye=i(ne,2),Te=s(ye),Me=s(Te,!0);t(Te);var ue=i(Te,2),be=s(ue);t(ue),t(ye),t(L),W((G,le)=>{_e=Pe(L,1,"kb-node svelte-18r587h",null,_e,{"kb-node--memory":e(T).kind==="memory","kb-node--source":e(T).kind==="source","kb-node--warning":e(T).status==="warning","kb-node--offline":e(T).status==="offline"}),Oe(L,`left: ${e(T).x??""}%; top: ${e(T).y??""}%;`),N(Me,e(T).name),N(be,`${G??""} · ${le??""}`)},[()=>B(e(T)),()=>J(e(T).status,e(T))]),Ee("click",L,H),p(w,L)}),t(d);var z=i(d,2),ee=s(z),K=s(ee),te=s(K);t(K),ge(2),t(ee);var de=i(ee,2),m=s(de),S=s(m,!0);t(m),ge(2),t(de);var E=i(de,2),k=s(E),se=s(k,!0);t(k),ge(2),t(E);var V=i(E,2),ie=i(s(V),2),ae=s(ie,!0);t(ie),t(V),t(z),W(w=>{U=Pe(d,1,"kb-visual svelte-18r587h",null,U,{"kb-visual--solo":e(b).length===0}),N(te,`${e(D)??""}/${e(M)??""}`),N(S,e(Y)),N(se,e(P)),N(ae,w)},[()=>Q(e(b).find(w=>w.updatedAt)?.updatedAt??null)]),Ee("click",a,H),p(o,C)};Se(q,o=>{!e(c)&&e(M)===0?o(oe):o(Z,-1)})}t(l),Ee("click",j,H),p(y,l),me()}Be(["click"]);function Gt(y,n){he(n,!0);let r=He(n,["$$slots","$$events","$$legacy"]);const c=[["path",{d:"M12 18V5"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77"}]];Je(y,Le({name:"brain"},()=>r,{get iconNode(){return c},children:(f,A)=>{var b=Ge(),D=Ie(b);Ye(D,()=>n.children??Xe),p(f,b)},$$slots:{default:!0}})),me()}var Ht=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Ut=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Bt=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),Ft=x('<div class="entity-row svelte-1qexx7n"><span class="entity-idx svelte-1qexx7n"> </span> <span class="entity-dot svelte-1qexx7n"></span> <span class="entity-name svelte-1qexx7n"> </span> <!></div>'),zt=x('<div class="entity-list svelte-1qexx7n"></div>'),Kt=x('<div class="panel sig-panel svelte-1qexx7n"><div class="panel-header sig-panel-header svelte-1qexx7n"><span class="panel-title svelte-1qexx7n">SPOTLIGHT</span> <span class="panel-count svelte-1qexx7n"> </span></div> <div class="panel-body svelte-1qexx7n"><!></div> <div class="panel-footer sig-panel-footer svelte-1qexx7n"><button class="panel-link svelte-1qexx7n">VIEW IN MEMORY</button></div></div>');function Vt(y,n){he(n,!0);let r=$(fe([])),c=$(!1);async function f(){try{const l=await fetch(`${Ze}/api/memories/most-used?limit=50`);if(l.ok){const R=((await l.json()).memories??[]).filter(q=>typeof q.id=="string"&&q.id.length>0&&typeof q.content=="string").map(q=>({id:q.id,content:q.content??"",access_count:q.access_count??0,importance:q.importance??.5}));if(R.length>0){O(r,R,!0),O(c,!0);return}}}catch{}O(r,n.memories.map(l=>({id:l.id,content:l.content,access_count:0,importance:l.importance??.5})).sort((l,_)=>_.importance-l.importance).slice(0,50),!0),O(c,!0)}Ue(()=>{f()});function A(l){const _=l.content.trim(),j=_.split(`
|
|
1
|
+
import{p as he,g as De,t as i,j as s,l as t,w as ge,A as Ne,y as W,z as N,i as e,a9 as Oe,b as p,K as Re,d as me,u as h,m as x,s as Le,c as Ge,f as Ie,a as Ye,n as Xe,r as He,o as $,e as fe,q as Ue,v as O,k as Se,O as Ee,D as $e,B as Pe,ag as nt,P as Be,h as Ce,as as rt,Q as it,x as lt,G as Ve,H as ot}from"./BvuHLZ8E.js";import{I as Je,O as vt,a as Qe,aM as dt,n as ct,aN as ut,o as Ze,B as pt,aO as We,t as Ae,F as gt,aP as ft,aQ as ht,ax as mt}from"./4d5P7STS.js";import{F as _t}from"./D21MfX9i.js";import{P as xt,a as yt,b as bt}from"./Beo6btls.js";import{T as St}from"./C4ex0jKJ.js";import{R as Et}from"./j7mA57kl.js";function et(y){return y.trim()||"default"}function Nt(y,n,r){const c=new URLSearchParams({agent_id:et(r),include_self:"true",limit:String(n)});return`${y}/api/cross-agent/presence?${c.toString()}`}function tt(y,n){const r=et(n);return y.filter(c=>c.agentId===r)}function kt(y,n){const r=tt(y,n).filter(c=>!Number.isNaN(new Date(c.lastSeenAt).getTime()));return r.length===0?null:[...r].sort((c,f)=>new Date(f.lastSeenAt).getTime()-new Date(c.lastSeenAt).getTime())[0]??null}async function wt(y,n,r){try{const c=await fetch(Nt(y,n,r));if(!c.ok)return[];const f=await c.json();return tt(f.sessions??[],r)}catch{return[]}}var At=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Tt=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Mt=x('<div class="readout sig-panel svelte-1j3peig"><div class="readout-texture svelte-1j3peig" aria-hidden="true"></div> <div class="readout-content svelte-1j3peig"><div class="readout-eyebrow svelte-1j3peig"><span class="eyebrow-left svelte-1j3peig">SIGNET AGENT READOUT</span> <span class="eyebrow-right svelte-1j3peig"> </span></div> <div class="readout-hero svelte-1j3peig"><h1 class="agent-name svelte-1j3peig"> </h1> <div class="hero-stat svelte-1j3peig"><span class="hero-number svelte-1j3peig"> </span> <span class="hero-unit svelte-1j3peig">MEMORIES<br/>STORED</span></div></div> <div class="readout-divider sig-groove svelte-1j3peig" aria-hidden="true"></div> <div class="readout-grid svelte-1j3peig"><div class="readout-col svelte-1j3peig"></div> <div class="readout-col svelte-1j3peig"></div></div></div></div>');function jt(y,n){he(n,!0);const r=De(n,"diagnostics",3,null),c=De(n,"pipelineStatus",3,null),f=De(n,"memoryStats",3,null),A=h(()=>{const m=n.daemonStatus?.agentCreatedAt;if(!m)return null;const S=new Date(m).getTime();return Number.isNaN(S)?null:Math.max(0,Math.floor((Date.now()-S)/864e5))}),b=h(()=>e(A)===null?"--":e(A)===0?"TODAY":e(A)===1?"1 DAY":`${e(A)} DAYS`),D=h(()=>n.daemonStatus?.activeSessions??0),M=h(()=>n.daemonStatus?.version??"--"),I=h(()=>kt(n.presence,n.agentId)),P=h(()=>{if(n.continuity.length===0)return null;const m=n.continuity.filter(E=>!Number.isNaN(new Date(E.created_at).getTime()));return m.length===0?null:[...m].sort((E,k)=>new Date(k.created_at).getTime()-new Date(E.created_at).getTime())[0]});function Y(m){const S=Date.now()-new Date(m).getTime(),E=Math.floor(S/6e4);if(E<1)return"JUST NOW";if(E<60)return`${E}M AGO`;const k=Math.floor(E/60);return k<24?`${k}H AGO`:`${Math.floor(k/24)}D AGO`}const X=h(()=>e(I)?.project??e(P)?.project??null),re=h(()=>e(I)?.lastSeenAt??e(P)?.created_at??null),J=h(()=>e(X)?.replace(/\/$/,"").split("/").pop()??"--"),B=h(()=>e(re)?Y(e(re)):"--"),Q=h(()=>n.identity.name?.trim()||"SIGNET AGENT"),H=h(()=>r()?.composite?.score??null),l=h(()=>r()?.composite?.status??"UNKNOWN"),_=h(()=>r()?.index?.embeddingCoverage!==void 0?Math.round(r().index.embeddingCoverage*100):!f()||f().total===0?null:Math.round(f().withEmbeddings/f().total*100)),j=h(()=>c()?typeof c().mode=="string"?c().mode.toUpperCase():"ACTIVE":"UNKNOWN"),R=h(()=>{if(!r())return 0;let m=0;const S=["queue","storage","index","provider","connector","predictor"];for(const E of S){const k=r()[E];if(k&&typeof k=="object"&&"status"in k){const se=k.status;(se==="degraded"||se==="unhealthy")&&m++}}return m});function q(m){return m===null?"var(--sig-text-muted)":m>=.8?"var(--sig-success)":m>=.5?"var(--sig-warning)":"var(--sig-danger)"}const oe=h(()=>[{idx:"01",label:"UPTIME",value:e(b)},{idx:"02",label:"PROJECT",value:e(J)},{idx:"03",label:"LAST SEEN",value:e(B)},{idx:"04",label:"CONNECTORS",value:String(n.connectorCount)},{idx:"05",label:"SESSIONS",value:String(e(D))}]),Z=h(()=>[{idx:"06",label:"HEALTH",value:e(H)!==null?`${e(H).toFixed(2)} ${e(l).toUpperCase()}`:"--",color:q(e(H))},{idx:"07",label:"EMBEDDED",value:e(_)!==null?`${e(_)}%`:"--"},{idx:"08",label:"PIPELINE",value:e(j)},{idx:"09",label:"WARNINGS",value:String(e(R)),color:e(R)>0?"var(--sig-danger)":void 0}]);var o=Mt(),C=i(s(o),2),d=s(C),U=i(s(d),2),a=s(U);t(U),t(d);var v=i(d,2),u=s(v),g=s(u,!0);t(u);var F=i(u,2),z=s(F),ee=s(z,!0);t(z),ge(2),t(F),t(v);var K=i(v,4),te=s(K);Ne(te,21,()=>e(oe),Re,(m,S)=>{var E=At(),k=s(E),se=s(k,!0);t(k);var V=i(k,2),ie=s(V,!0);t(V);var ae=i(V,4),w=s(ae,!0);t(ae),t(E),W(()=>{N(se,e(S).idx),N(ie,e(S).label),Oe(ae,e(S).color?`color: ${e(S).color}`:""),N(w,e(S).value)}),p(m,E)}),t(te);var de=i(te,2);Ne(de,21,()=>e(Z),Re,(m,S)=>{var E=Tt(),k=s(E),se=s(k,!0);t(k);var V=i(k,2),ie=s(V,!0);t(V);var ae=i(V,4),w=s(ae,!0);t(ae),t(E),W(()=>{N(se,e(S).idx),N(ie,e(S).label),Oe(ae,e(S).color?`color: ${e(S).color}`:""),N(w,e(S).value)}),p(m,E)}),t(de),t(K),t(C),t(o),W(m=>{N(a,`v${e(M)??""}`),N(g,e(Q)),N(ee,m)},[()=>n.memoryCount.toLocaleString()]),p(y,o),me()}function Ct(y,n){he(n,!0);let r=He(n,["$$slots","$$events","$$legacy"]);const c=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M10 9H8"}],["path",{d:"M16 13H8"}],["path",{d:"M16 17H8"}]];Je(y,Le({name:"file-text"},()=>r,{get iconNode(){return c},children:(f,A)=>{var b=Ge(),D=Ie(b);Ye(D,()=>n.children??Xe),p(f,b)},$$slots:{default:!0}})),me()}var Ot=x('<div class="empty-state svelte-18r587h">SCANNING SOURCE MANIFEST...</div>'),It=nt('<line x1="50" y1="50"></line>'),qt=x('<div class="kb-solo-note svelte-18r587h"><span class="svelte-18r587h">NO EXTERNAL SOURCES CONNECTED</span> <small class="svelte-18r587h">Connect Obsidian or documents to extend recall provenance.</small></div>'),Dt=x('<img src="/logo-dark.png" alt="" class="kb-signet-logo svelte-18r587h" aria-hidden="true"/>'),Pt=x('<button type="button"><span class="kb-node-icon svelte-18r587h"><!></span> <span class="kb-node-copy svelte-18r587h"><strong class="svelte-18r587h"> </strong> <small class="svelte-18r587h"> </small></span></button>'),Rt=x('<div><div class="kb-origin-ring svelte-18r587h" aria-hidden="true"></div> <button type="button" class="kb-core svelte-18r587h"><span class="kb-core-mark svelte-18r587h"><img src="/logo-dark.png" alt="" class="kb-signet-logo svelte-18r587h" aria-hidden="true"/></span> <span class="kb-core-copy svelte-18r587h"><strong class="svelte-18r587h">Signet Memory</strong> <small class="svelte-18r587h">native identity graph · always on</small></span></button> <svg class="kb-links svelte-18r587h" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true"></svg> <!> <!></div> <div class="kb-footer svelte-18r587h"><div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">ACTIVE</small></div> <div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">EXTERNAL</small></div> <div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">CONNECTORS</small></div> <div class="kb-last svelte-18r587h"><span class="svelte-18r587h">LAST EXTERNAL INDEX</span> <small class="svelte-18r587h"> </small></div></div>',1),$t=x('<div class="kb-panel sig-panel svelte-18r587h"><div class="kb-header sig-panel-header svelte-18r587h"><div><span class="kb-title svelte-18r587h">CONNECTED KNOWLEDGE BASES</span> <span class="kb-subtitle svelte-18r587h">PROVENANCE GRAPH / LIVE SOURCES</span></div> <button type="button" class="kb-open svelte-18r587h"><!> <span>MANAGE</span></button></div> <!></div>');function Lt(y,n){he(n,!0);const r=[{x:18,y:72},{x:73,y:24},{x:80,y:72},{x:22,y:24},{x:88,y:48}];let c=$(!1),f=$(fe([])),A=$(fe([]));Ue(async()=>{const o=await Promise.allSettled([vt(),Qe()]);o[0].status==="fulfilled"&&O(f,o[0].value,!0),o[1].status==="fulfilled"&&O(A,o[1].value,!0),O(c,!0)});const b=h(()=>{const o=e(f).map((d,U)=>({id:`source:${d.id}`,name:d.name||re(d.root),kind:"source",provider:d.kind,detail:d.root,status:d.enabled?d.lastIndexedAt||(d.stats?.indexed??0)>0?"online":"syncing":"offline",updatedAt:d.lastIndexedAt??d.updatedAt??null,...r[U%r.length]})),C=e(A).map((d,U)=>({id:`connector:${d.id}`,name:d.display_name||d.provider,kind:"connector",provider:d.provider,detail:d.last_error??`${d.provider} document connector`,status:X(d),updatedAt:d.last_sync_at??d.updated_at??null,...r[(o.length+U)%r.length]}));return[...o,...C].slice(0,r.length)}),D=h(()=>1+e(b).filter(o=>o.status==="online").length),M=h(()=>1+e(b).length),I=h(()=>e(f).length),P=h(()=>e(A).length),Y=h(()=>e(I)+e(P));function X(o){return o.last_error?"warning":o.status==="syncing"?"syncing":o.status==="connected"||o.status==="active"||o.status==="ok"||o.status?"online":"offline"}function re(o){return o.split(/[\\/]/).filter(Boolean).at(-1)??"Knowledge base"}function J(o,C){return C?.kind==="memory"?"always on":o==="online"?"indexed":o==="syncing"?"syncing":o==="warning"?"attention":"offline"}function B(o){return o.kind==="memory"?"Signet":o.kind==="source"&&o.provider==="obsidian"?"Obsidian":o.provider.replace(/[-_]/g," ")}function Q(o){if(!o)return"not indexed yet";const C=new Date(o);return Number.isNaN(C.getTime())?"unknown":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(C)}function H(){ct.activeTab="sources"}var l=$t(),_=s(l),j=i(s(_),2),R=s(j);dt(R,{class:"size-3"}),ge(2),t(j),t(_);var q=i(_,2);{var oe=o=>{var C=Ot();p(o,C)},Z=o=>{var C=Rt(),d=Ie(C);let U;var a=i(s(d),2),v=i(a,2);Ne(v,21,()=>e(b),w=>w.id,(w,T)=>{var L=It();let _e;W(()=>{$e(L,"x2",e(T).x),$e(L,"y2",e(T).y),_e=Pe(L,0,"svelte-18r587h",null,_e,{"link-muted":e(T).status!=="online"})}),p(w,L)}),t(v);var u=i(v,2);{var g=w=>{var T=qt();p(w,T)};Se(u,w=>{e(b).length===0&&w(g)})}var F=i(u,2);Ne(F,17,()=>e(b),w=>w.id,(w,T)=>{var L=Pt();let _e;var ne=s(L),ve=s(ne);{var xe=G=>{var le=Dt();p(G,le)},ke=G=>{_t(G,{class:"size-3.5"})},ce=G=>{Ct(G,{class:"size-3.5"})};Se(ve,G=>{e(T).kind==="memory"?G(xe):e(T).kind==="source"?G(ke,1):G(ce,-1)})}t(ne);var ye=i(ne,2),Te=s(ye),Me=s(Te,!0);t(Te);var ue=i(Te,2),be=s(ue);t(ue),t(ye),t(L),W((G,le)=>{_e=Pe(L,1,"kb-node svelte-18r587h",null,_e,{"kb-node--memory":e(T).kind==="memory","kb-node--source":e(T).kind==="source","kb-node--warning":e(T).status==="warning","kb-node--offline":e(T).status==="offline"}),Oe(L,`left: ${e(T).x??""}%; top: ${e(T).y??""}%;`),N(Me,e(T).name),N(be,`${G??""} · ${le??""}`)},[()=>B(e(T)),()=>J(e(T).status,e(T))]),Ee("click",L,H),p(w,L)}),t(d);var z=i(d,2),ee=s(z),K=s(ee),te=s(K);t(K),ge(2),t(ee);var de=i(ee,2),m=s(de),S=s(m,!0);t(m),ge(2),t(de);var E=i(de,2),k=s(E),se=s(k,!0);t(k),ge(2),t(E);var V=i(E,2),ie=i(s(V),2),ae=s(ie,!0);t(ie),t(V),t(z),W(w=>{U=Pe(d,1,"kb-visual svelte-18r587h",null,U,{"kb-visual--solo":e(b).length===0}),N(te,`${e(D)??""}/${e(M)??""}`),N(S,e(Y)),N(se,e(P)),N(ae,w)},[()=>Q(e(b).find(w=>w.updatedAt)?.updatedAt??null)]),Ee("click",a,H),p(o,C)};Se(q,o=>{!e(c)&&e(M)===0?o(oe):o(Z,-1)})}t(l),Ee("click",j,H),p(y,l),me()}Be(["click"]);function Gt(y,n){he(n,!0);let r=He(n,["$$slots","$$events","$$legacy"]);const c=[["path",{d:"M12 18V5"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77"}]];Je(y,Le({name:"brain"},()=>r,{get iconNode(){return c},children:(f,A)=>{var b=Ge(),D=Ie(b);Ye(D,()=>n.children??Xe),p(f,b)},$$slots:{default:!0}})),me()}var Ht=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Ut=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Bt=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),Ft=x('<div class="entity-row svelte-1qexx7n"><span class="entity-idx svelte-1qexx7n"> </span> <span class="entity-dot svelte-1qexx7n"></span> <span class="entity-name svelte-1qexx7n"> </span> <!></div>'),zt=x('<div class="entity-list svelte-1qexx7n"></div>'),Kt=x('<div class="panel sig-panel svelte-1qexx7n"><div class="panel-header sig-panel-header svelte-1qexx7n"><span class="panel-title svelte-1qexx7n">SPOTLIGHT</span> <span class="panel-count svelte-1qexx7n"> </span></div> <div class="panel-body svelte-1qexx7n"><!></div> <div class="panel-footer sig-panel-footer svelte-1qexx7n"><button class="panel-link svelte-1qexx7n">VIEW IN MEMORY</button></div></div>');function Vt(y,n){he(n,!0);let r=$(fe([])),c=$(!1);async function f(){try{const l=await fetch(`${Ze}/api/memories/most-used?limit=50`);if(l.ok){const R=((await l.json()).memories??[]).filter(q=>typeof q.id=="string"&&q.id.length>0&&typeof q.content=="string").map(q=>({id:q.id,content:q.content??"",access_count:q.access_count??0,importance:q.importance??.5}));if(R.length>0){O(r,R,!0),O(c,!0);return}}}catch{}O(r,n.memories.map(l=>({id:l.id,content:l.content,access_count:0,importance:l.importance??.5})).sort((l,_)=>_.importance-l.importance).slice(0,50),!0),O(c,!0)}Ue(()=>{f()});function A(l){const _=l.content.trim(),j=_.split(`
|
|
2
2
|
`)[0]??_;return j.length>60?`${j.slice(0,57)}...`:j}function b(l){return l>=.8?"var(--sig-danger)":l>=.5?"var(--sig-warning)":"var(--sig-success)"}var D=Kt(),M=s(D),I=i(s(M),2),P=s(I);t(I),t(M);var Y=i(M,2),X=s(Y);{var re=l=>{var _=Ht();p(l,_)},J=l=>{var _=Ut(),j=s(_);Gt(j,{class:"empty-icon"}),ge(2),t(_),p(l,_)},B=l=>{var _=zt();Ne(_,23,()=>e(r),j=>j.id,(j,R,q)=>{var oe=Ft(),Z=s(oe),o=s(Z,!0);t(Z);var C=i(Z,2),d=i(C,2),U=s(d,!0);t(d);var a=i(d,2);{var v=u=>{var g=Bt(),F=s(g,!0);t(g),W(()=>N(F,e(R).access_count)),p(u,g)};Se(a,u=>{e(R).access_count>0&&u(v)})}t(oe),W((u,g,F)=>{N(o,u),Oe(C,`background: ${g??""}`),N(U,F)},[()=>String(e(q)+1).padStart(2,"0"),()=>b(e(R).importance),()=>A(e(R))]),p(j,oe)}),t(_),p(l,_)};Se(X,l=>{e(c)?e(r).length===0?l(J,1):l(B,-1):l(re)})}t(Y);var Q=i(Y,2),H=s(Q);t(Q),t(D),W(()=>N(P,`${e(r).length??""} RECALLED`)),Ee("click",H,()=>ut("cortex-memory")),p(y,D),me()}Be(["click"]);function Wt(y,n){he(n,!0);let r=De(n,"ref",15,null),c=He(n,["$$slots","$$events","$$legacy","ref"]);var f=Ge(),A=Ie(f);Ce(A,()=>rt,(b,D)=>{D(b,Le({"data-slot":"popover-close"},()=>c,{get ref(){return r()},set ref(M){r(M)}}))}),p(y,f),me()}var Yt=x('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),Xt=x('<span class="entry-tag svelte-7r7fq6"> </span>'),Jt=x('<div class="entry-tags svelte-7r7fq6"></div>'),Qt=x("<button>EDIT</button>"),Zt=x("<button>Cancel</button>"),es=x('<div class="edit-popover svelte-7r7fq6"><span class="sig-eyebrow">Correct memory</span> <!> <div class="flex justify-end gap-1 mt-1"><!> <!></div></div>'),ts=x("<!> <!>",1),ss=x('<div class="insight-entry svelte-7r7fq6"><div class="entry-top svelte-7r7fq6"><div class="entry-top-left svelte-7r7fq6"><span class="entry-idx svelte-7r7fq6"> </span> <span class="entry-dot svelte-7r7fq6"></span> <span class="entry-date svelte-7r7fq6"> </span></div> <!></div> <p class="entry-content svelte-7r7fq6"> </p> <div class="entry-actions svelte-7r7fq6"><button class="action-btn accept sig-switch svelte-7r7fq6">PIN</button> <button class="action-btn reject sig-switch svelte-7r7fq6">DISMISS</button> <!></div></div>'),as=x('<div class="insights-list svelte-7r7fq6"></div>'),ns=x('<div class="insights-panel sig-panel svelte-7r7fq6"><div class="insights-header sig-panel-header svelte-7r7fq6"><span class="insights-title svelte-7r7fq6">SUGGESTED INSIGHTS</span> <div class="insights-header-right svelte-7r7fq6"><span class="insights-count svelte-7r7fq6"> </span> <button class="refresh-btn sig-switch svelte-7r7fq6" title="Refresh suggestions"><!> <span>REFRESH</span></button></div></div> <!></div>');function rs(y,n){he(n,!0);let r=$(fe(new Set)),c=$(0),f=$(void 0),A=$(3);const b=90;function D(a){const u=Date.now()-new Date(a.created_at).getTime(),g=864e5,F=u<7*g?1:u<30*g?.5:.2,z=M(a.tags),ee=z.length===0?1:z.length<3?.6:.2,K=a.importance??.5,te=K>=.3&&K<=.7?1:.3;return F+ee+te}function M(a){return a?Array.isArray(a)?a.filter(Boolean):a.split(",").map(v=>v.trim()).filter(Boolean):[]}const I=h(()=>n.memories.filter(a=>!(e(r).has(a.id)||a.pinned||M(a.tags).includes("rejected-insight"))).map(a=>({memory:a,score:D(a)})).sort((a,v)=>v.score-a.score)),P=h(()=>{if(e(I).length===0)return[];const a=Math.min(e(A),e(I).length),v=e(c)%e(I).length;return Array.from({length:a},(u,g)=>e(I)[(v+g)%e(I).length].memory)});it(()=>{if(!e(f))return;const a=new ResizeObserver(v=>{const u=v[0]?.contentRect.height??0;O(A,Math.max(1,Math.floor(u/b)),!0)});return a.observe(e(f)),()=>a.disconnect()});function Y(a){return a>=.8?"var(--sig-danger)":a>=.5?"var(--sig-warning)":"var(--sig-success)"}function X(a){const v=new Date(a),u=v.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),g=String(v.getDate()).padStart(2,"0");return`${u} ${g}`}async function re(a){const v=await gt(a.id,!0);v.success?(O(r,new Set([...e(r),a.id]),!0),Ae("Memory pinned","success")):Ae(v.error??"Failed to pin","error")}async function J(a){const v=M(a.tags);v.push("rejected-insight");const u=await We(a.id,{tags:v.join(",")},"dashboard: rejected insight");u.success?(O(r,new Set([...e(r),a.id]),!0),Ae("Memory dismissed","success")):Ae(u.error??"Failed to dismiss","error")}const B=fe({});function Q(a){B[a.id]=a.content}async function H(a){const v=B[a.id];if(!v||v===a.content)return;const u=await We(a.id,{content:v},"dashboard: corrected insight");u.success?(O(r,new Set([...e(r),a.id]),!0),Ae("Memory corrected","success")):Ae(u.error??"Failed to save","error")}function l(){O(c,(e(c)+e(A))%Math.max(1,e(I).length))}var _=ns(),j=s(_),R=i(s(j),2),q=s(R),oe=s(q);t(q);var Z=i(q,2),o=s(Z);Et(o,{class:"refresh-icon"}),ge(2),t(Z),t(R),t(j);var C=i(j,2);{var d=a=>{var v=Yt();p(a,v)},U=a=>{var v=as();Ne(v,23,()=>e(P),u=>u.id,(u,g,F)=>{var z=ss(),ee=s(z),K=s(ee),te=s(K),de=s(te,!0);t(te);var m=i(te,2),S=i(m,2),E=s(S,!0);t(S),t(K);var k=i(K,2);{var se=ne=>{var ve=Jt();Ne(ve,21,()=>M(e(g).tags).slice(0,3),Re,(xe,ke)=>{var ce=Xt(),ye=s(ce,!0);t(ce),W(()=>N(ye,e(ke))),p(xe,ce)}),t(ve),p(ne,ve)},V=h(()=>M(e(g).tags).length>0);Se(k,ne=>{e(V)&&ne(se)})}t(ee);var ie=i(ee,2),ae=s(ie,!0);t(ie);var w=i(ie,2),T=s(w),L=i(T,2),_e=i(L,2);Ce(_e,()=>bt,(ne,ve)=>{ve(ne,{children:(xe,ke)=>{var ce=ts(),ye=Ie(ce);{const Me=(ue,be)=>{let G=()=>be?.().props;var le=Qt(),qe=()=>Q(e(g));Ve(le,()=>({...G(),class:"action-btn edit sig-switch",onclick:qe}),void 0,void 0,void 0,"svelte-7r7fq6"),p(ue,le)};Ce(ye,()=>xt,(ue,be)=>{be(ue,{child:Me,$$slots:{child:!0}})})}var Te=i(ye,2);Ce(Te,()=>yt,(Me,ue)=>{ue(Me,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(be,G)=>{var le=es(),qe=i(s(le),2);{let je=h(()=>B[e(g).id]??e(g).content);St(qe,{class:`mt-2 min-h-[60px] text-[11px] font-mono
|
|
3
3
|
bg-[var(--sig-bg)] border-[var(--sig-border)]
|
|
4
4
|
text-[var(--sig-text)]`,get value(){return e(je)},oninput:we=>{const pe=we.currentTarget;pe instanceof HTMLTextAreaElement&&(B[e(g).id]=pe.value)}})}var Fe=i(qe,2),ze=s(Fe);{const je=(we,pe)=>{let at=()=>pe?.().props;var Ke=Zt();Ve(Ke,()=>({...at(),class:"text-[10px] px-2 py-1 text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]"}),void 0,void 0,void 0,"svelte-7r7fq6"),p(we,Ke)};Ce(ze,()=>Wt,(we,pe)=>{pe(we,{child:je,$$slots:{child:!0}})})}var st=i(ze,2);pt(st,{variant:"default",size:"sm",class:"text-[10px] h-6",onclick:()=>H(e(g)),children:(je,we)=>{ge();var pe=lt("Save");p(je,pe)},$$slots:{default:!0}}),t(Fe),t(le),p(be,le)},$$slots:{default:!0}})}),p(xe,ce)},$$slots:{default:!0}})}),t(w),t(z),W((ne,ve,xe,ke)=>{N(de,ne),Oe(m,`background: ${ve??""}`),$e(m,"title",`importance: ${xe??""}`),N(E,ke),N(ae,e(g).content)},[()=>String(e(F)+1).padStart(2,"0"),()=>Y(e(g).importance??.5),()=>(e(g).importance??.5).toFixed(2),()=>X(e(g).created_at)]),Ee("click",T,()=>re(e(g))),Ee("click",L,()=>J(e(g))),p(u,z)}),t(v),ot(v,u=>O(f,u),()=>e(f)),p(a,v)};Se(C,a=>{e(P).length===0?a(d):a(U,-1)})}t(_),W(()=>N(oe,`${e(P).length??""} OF ${e(I).length??""}`)),Ee("click",Z,l),p(y,_),me()}Be(["click"]);var is=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><div class="home-grid svelte-12c0jaj"><div class="area-banner svelte-12c0jaj"><!></div> <div class="area-spotlights svelte-12c0jaj"><!></div> <div class="area-insights svelte-12c0jaj"><!></div> <div class="area-sidebar svelte-12c0jaj"><!></div></div></div>');function ps(y,n){he(n,!0);let r=$(null),c=$(fe([])),f=$(fe([])),A=$(null),b=$(fe([])),D=$(!1);Ue(async()=>{const l=await Promise.allSettled([ft(),ht(),wt(Ze,10,n.agentId),mt(),Qe()]);l[0].status==="fulfilled"&&l[0].value&&O(r,l[0].value,!0),l[1].status==="fulfilled"&&O(c,l[1].value,!0),l[2].status==="fulfilled"&&O(f,l[2].value,!0),l[3].status==="fulfilled"&&O(A,l[3].value,!0),l[4].status==="fulfilled"&&O(b,l[4].value,!0),O(D,!0)});var M=is(),I=s(M),P=s(I),Y=s(P);{let l=h(()=>n.memoryStats?.total??0);jt(Y,{get identity(){return n.identity},get daemonStatus(){return n.daemonStatus},get connectorCount(){return e(b).length},get continuity(){return e(c)},get presence(){return e(f)},get agentId(){return n.agentId},get memoryCount(){return e(l)},get diagnostics(){return e(r)},get pipelineStatus(){return e(A)},get memoryStats(){return n.memoryStats}})}t(P);var X=i(P,2),re=s(X);Lt(re,{}),t(X);var J=i(X,2),B=s(J);rs(B,{get memories(){return n.memories}}),t(J);var Q=i(J,2),H=s(Q);Vt(H,{get memories(){return n.memories}}),t(Q),t(I),t(M),p(y,M),me()}export{ps as default};
|