signetai 0.115.16 → 0.115.18

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.
Files changed (58) hide show
  1. package/dashboard/_app/immutable/chunks/{DhNkHdxJ.js → B2fzAOTu.js} +1 -1
  2. package/dashboard/_app/immutable/chunks/{rB6VVEof.js → B3SFREno.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{BZA3JTTo.js → BBWyTQH6.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{DV-tA9pK.js → BHaZF_27.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{D59mK-n0.js → BI3te8jr.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{avHOOmJe.js → BOtG8AnQ.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{DO1Ou8mr.js → BQuvBCcf.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{B3KGX1UG.js → BW45FeaT.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/{BrsrAUz4.js → Bbgyvpn3.js} +1 -1
  10. package/dashboard/_app/immutable/chunks/{gg_cdbdk.js → Bc11dbOQ.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{Cjaz1ZZk.js → Brmc6G1W.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{DaS3thPN.js → BvUJS17P.js} +1 -1
  13. package/dashboard/_app/immutable/chunks/{CoK5XoLK.js → C4R5zF9j.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{Blng5wSW.js → CB1oFXjn.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{D2vLixg9.js → CEYu-Yrs.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{CbiBX4y6.js → CPKeDNcr.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{DvBLcb5C.js → CSU7dKhG.js} +1 -1
  18. package/dashboard/_app/immutable/chunks/{Ce-MWxJy.js → CVd1z3GZ.js} +1 -1
  19. package/dashboard/_app/immutable/chunks/{M-VxsN3Y.js → CaemTKDh.js} +1 -1
  20. package/dashboard/_app/immutable/chunks/{BZzwlS-1.js → Cg2g7nmU.js} +1 -1
  21. package/dashboard/_app/immutable/chunks/{Lip66aMR.js → CnUyjsFA.js} +1 -1
  22. package/dashboard/_app/immutable/chunks/{BMv_dfm4.js → D-yqx-Ud.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{Ce1lecso.js → DAbWdTLk.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{eIbisEbT.js → DENrt194.js} +2 -2
  25. package/dashboard/_app/immutable/chunks/{BAr3ZRRX.js → DKO3_DiE.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{NUcOTSzz.js → DcoAlejG.js} +1 -1
  27. package/dashboard/_app/immutable/chunks/{B1H1VUsJ.js → Der76rV1.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{vd9hVtCz.js → DhSGeACz.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/{FhOCezJW.js → DihZpSR7.js} +1 -1
  30. package/dashboard/_app/immutable/chunks/{BOJn46ky.js → DkSREm42.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{B4EOJor_.js → DvXGXFIu.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{DIRgCZw1.js → DwXNVdJ4.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{BMpAEI5S.js → DzDM2CXL.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{D3d5TGGj.js → SdE_GBE0.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{DB16SVmD.js → T5AXBQRm.js} +2 -2
  36. package/dashboard/_app/immutable/chunks/{DW41O1KU.js → Uai2Hda5.js} +1 -1
  37. package/dashboard/_app/immutable/chunks/{ORgGz9U4.js → UvvPRHSR.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{CBQpikDv.js → VoSt6A3O.js} +3 -3
  39. package/dashboard/_app/immutable/chunks/{CsrocNck.js → cIxOmHEo.js} +1 -1
  40. package/dashboard/_app/immutable/chunks/{COInlRT5.js → eM-ocO5B.js} +1 -1
  41. package/dashboard/_app/immutable/chunks/{eoC8YdTc.js → fGnyihdE.js} +1 -1
  42. package/dashboard/_app/immutable/chunks/{Z3B1WFDV.js → nusbj5vj.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/{Cl4I8R6f.js → pbr9ApiN.js} +1 -1
  44. package/dashboard/_app/immutable/chunks/{BWXVgwzf.js → t-fWMBrC.js} +1 -1
  45. package/dashboard/_app/immutable/chunks/{xnzth7SU.js → tmr7hL4P.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{BWR7CBpM.js → v4R8vFz9.js} +1 -1
  47. package/dashboard/_app/immutable/chunks/{-zLoSHns.js → w6ohVldO.js} +1 -1
  48. package/dashboard/_app/immutable/entry/{app.CWCr1T-7.js → app.C9Qf5NtM.js} +2 -2
  49. package/dashboard/_app/immutable/entry/start.CaENSNmk.js +1 -0
  50. package/dashboard/_app/immutable/nodes/{1.Bp3JHDJP.js → 1.CVVKdCcy.js} +1 -1
  51. package/dashboard/_app/immutable/nodes/2.C1jzT0e7.js +1 -0
  52. package/dashboard/_app/version.json +1 -1
  53. package/dashboard/index.html +6 -6
  54. package/dist/cli.js +42 -5
  55. package/dist/daemon.js +28 -3
  56. package/package.json +1 -1
  57. package/dashboard/_app/immutable/entry/start.D0PfVfWQ.js +0 -1
  58. package/dashboard/_app/immutable/nodes/2.DOQid27z.js +0 -1
@@ -1 +1 @@
1
- import{p as i,g as c,c as u,f,h as m,L as g,s as b,i as v,b as L,d as _,r as h,u as x}from"./BvuHLZ8E.js";import{c as y}from"./CBQpikDv.js";function P(t,e){i(e,!0);let a=c(e,"ref",15,null),r=h(e,["$$slots","$$events","$$legacy","ref","class"]);var s=u(),o=f(s);{let n=x(()=>y("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e.class));m(o,()=>g,(l,d)=>{d(l,b({"data-slot":"label",get class(){return v(n)}},()=>r,{get ref(){return a()},set ref(p){a(p)}}))})}L(t,s),_()}export{P as L};
1
+ import{p as i,g as c,c as u,f,h as m,L as g,s as b,i as v,b as L,d as _,r as h,u as x}from"./BvuHLZ8E.js";import{c as y}from"./VoSt6A3O.js";function P(t,e){i(e,!0);let a=c(e,"ref",15,null),r=h(e,["$$slots","$$events","$$legacy","ref","class"]);var s=u(),o=f(s);{let n=x(()=>y("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e.class));m(o,()=>g,(l,d)=>{d(l,b({"data-slot":"label",get class(){return v(n)}},()=>r,{get ref(){return a()},set ref(p){a(p)}}))})}L(t,s),_()}export{P as L};
@@ -1 +1 @@
1
- import{p,s as d,c,f as l,a as i,n as f,b as m,d as h,r as u}from"./BvuHLZ8E.js";import{I as $}from"./CBQpikDv.js";function F(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];$(e,d({name:"folder"},()=>o,{get iconNode(){return r},children:(t,v)=>{var s=c(),n=l(s);i(n,()=>a.children??f),m(t,s)},$$slots:{default:!0}})),h()}export{F};
1
+ import{p,s as d,c,f as l,a as i,n as f,b as m,d as h,r as u}from"./BvuHLZ8E.js";import{I as $}from"./VoSt6A3O.js";function F(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];$(e,d({name:"folder"},()=>o,{get iconNode(){return r},children:(t,v)=>{var s=c(),n=l(s);i(n,()=>a.children??f),m(t,s)},$$slots:{default:!0}})),h()}export{F};
@@ -1 +1 @@
1
- import{c as p,f as g,h as c,a5 as x,s as i,b as u,r as v,p as P,g as l,a6 as j,i as _,u as b,d as $,a7 as k,a8 as q}from"./BvuHLZ8E.js";import{c as h}from"./CBQpikDv.js";function A(r,e){let t=v(e,["$$slots","$$events","$$legacy"]);var o=p(),a=g(o);c(a,()=>x,(s,n)=>{n(s,i(()=>t))}),u(r,o)}function D(r,e){P(e,!0);let t=l(e,"ref",15,null),o=l(e,"sideOffset",3,4),a=l(e,"align",3,"center"),s=v(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);A(r,i(()=>e.portalProps,{children:(n,f)=>{var d=p(),m=g(d);{let y=b(()=>h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e.class));c(m,()=>j,(O,z)=>{z(O,i({"data-slot":"popover-content",get sideOffset(){return o()},get align(){return a()},get class(){return _(y)}},()=>s,{get ref(){return t()},set ref(w){t(w)}}))})}u(n,d)},$$slots:{default:!0}})),$()}function E(r,e){P(e,!0);let t=l(e,"ref",15,null),o=v(e,["$$slots","$$events","$$legacy","ref","class"]);var a=p(),s=g(a);{let n=b(()=>h("",e.class));c(s,()=>k,(f,d)=>{d(f,i({"data-slot":"popover-trigger",get class(){return _(n)}},()=>o,{get ref(){return t()},set ref(m){t(m)}}))})}u(r,a),$()}function F(r,e){P(e,!0);let t=l(e,"open",15,!1),o=v(e,["$$slots","$$events","$$legacy","open"]);var a=p(),s=g(a);c(s,()=>q,(n,f)=>{f(n,i(()=>o,{get open(){return t()},set open(d){t(d)}}))}),u(r,a),$()}export{E as P,D as a,F as b};
1
+ import{c as p,f as g,h as c,a5 as x,s as i,b as u,r as v,p as P,g as l,a6 as j,i as _,u as b,d as $,a7 as k,a8 as q}from"./BvuHLZ8E.js";import{c as h}from"./VoSt6A3O.js";function A(r,e){let t=v(e,["$$slots","$$events","$$legacy"]);var o=p(),a=g(o);c(a,()=>x,(s,n)=>{n(s,i(()=>t))}),u(r,o)}function D(r,e){P(e,!0);let t=l(e,"ref",15,null),o=l(e,"sideOffset",3,4),a=l(e,"align",3,"center"),s=v(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);A(r,i(()=>e.portalProps,{children:(n,f)=>{var d=p(),m=g(d);{let y=b(()=>h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e.class));c(m,()=>j,(O,z)=>{z(O,i({"data-slot":"popover-content",get sideOffset(){return o()},get align(){return a()},get class(){return _(y)}},()=>s,{get ref(){return t()},set ref(w){t(w)}}))})}u(n,d)},$$slots:{default:!0}})),$()}function E(r,e){P(e,!0);let t=l(e,"ref",15,null),o=v(e,["$$slots","$$events","$$legacy","ref","class"]);var a=p(),s=g(a);{let n=b(()=>h("",e.class));c(s,()=>k,(f,d)=>{d(f,i({"data-slot":"popover-trigger",get class(){return _(n)}},()=>o,{get ref(){return t()},set ref(m){t(m)}}))})}u(r,a),$()}function F(r,e){P(e,!0);let t=l(e,"open",15,!1),o=v(e,["$$slots","$$events","$$legacy","open"]);var a=p(),s=g(a);c(s,()=>q,(n,f)=>{f(n,i(()=>o,{get open(){return t()},set open(d){t(d)}}))}),u(r,a),$()}export{E as P,D as a,F 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"./CBQpikDv.js";import{F as _t}from"./BrsrAUz4.js";import{P as xt,a as yt,b as bt}from"./BZA3JTTo.js";import{T as St}from"./Ce1lecso.js";import{R as Et}from"./BZzwlS-1.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"./VoSt6A3O.js";import{F as _t}from"./Bbgyvpn3.js";import{P as xt,a as yt,b as bt}from"./BBWyTQH6.js";import{T as St}from"./DAbWdTLk.js";import{R as Et}from"./Cg2g7nmU.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};
@@ -1,4 +1,4 @@
1
- import{p as et,s as Bt,c as ge,f as b,a as Wt,n as Ft,b as a,d as tt,r as Ut,g as kt,j as n,l as s,t as r,k as B,i as e,y as w,B as Rt,D as wt,z as x,O as Fe,u as H,m as o,P as xt,A as Oe,a9 as Et,Q as $t,h as p,w as h,x as $,v as d,o as ue,U as qt,H as Vt,a2 as yt,K as Pt,e as Gt,N as Jt,q as Qt}from"./BvuHLZ8E.js";import{I as Xt,W as It,Y as Nt,Z as Lt,_ as Mt,B as ot,$ as Ot,l as Yt,X as Zt,a2 as ea,aC as zt,aD as ta,aE as Ct,aF as St,aG as aa,aH as xe,aI as sa,aJ as jt,aK as Tt,aL as ra}from"./CBQpikDv.js";import{S as na}from"./Ce-MWxJy.js";import{B as _t}from"./COInlRT5.js";import{S as la,a as oa}from"./Cl4I8R6f.js";import{C as ia,a as da}from"./FhOCezJW.js";import{P as va}from"./M-VxsN3Y.js";import{T as ca}from"./DvBLcb5C.js";import{I as bt}from"./B1H1VUsJ.js";import{L as Ze}from"./DhNkHdxJ.js";import{c as ct,S as ut,a as gt,b as Me}from"./BOJn46ky.js";import{T as ua}from"./Ce1lecso.js";import{P as ga}from"./Blng5wSW.js";function Kt(be,t){et(t,!0);let I=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Xt(be,Bt({name:"play"},()=>I,{get iconNode(){return y},children:(J,T)=>{var P=ge(),E=b(P);Wt(E,()=>t.children??Ft),a(J,P)},$$slots:{default:!0}})),tt()}var _a=o("<span> </span>"),xa=o('<span class="task-status-running svelte-1lta2hw">running</span>'),fa=o("<span> </span>"),ma=o('<span class="task-status-failed svelte-1lta2hw"> </span>'),pa=o('<div tabindex="0" role="button"><div class="task-top svelte-1lta2hw"><span class="task-name svelte-1lta2hw"> </span> <span class="task-harness svelte-1lta2hw"> </span></div> <div class="task-meta svelte-1lta2hw"><span> </span> <!></div> <div class="task-actions svelte-1lta2hw"><div><!></div> <button class="trigger-btn svelte-1lta2hw"><!></button></div></div>');function Dt(be,t){et(t,!0);let I=kt(t,"isSelected",3,!1);function y(i){if(!i)return"--";const c=new Date(i).getTime()-Date.now(),O=Math.abs(c);if(O<6e4)return c>0?"< 1m":"just now";if(O<36e5){const pe=Math.round(O/6e4);return c>0?`${pe}m`:`${pe}m ago`}if(O<864e5){const pe=Math.round(O/36e5);return c>0?`${pe}h`:`${pe}h ago`}const me=Math.round(O/864e5);return c>0?`${me}d`:`${me}d ago`}const J=H(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),T=H(()=>y(t.task.next_run_at)),P=H(()=>y(t.task.last_run_at));var E=pa();let D;var ne=n(E),N=n(ne),ae=n(N,!0);s(N);var oe=r(N,2),ie=n(oe,!0);s(oe),s(ne);var L=r(ne,2),K=n(L),u=n(K,!0);s(K);var M=r(K,2);{var se=i=>{var c=_a(),O=n(c);s(c),w(()=>x(O,`next: ${e(T)??""}`)),a(i,c)},fe=i=>{var c=xa();a(i,c)},ke=i=>{var c=fa(),O=n(c);s(c),w(()=>x(O,`exit 0 · ${e(P)??""}`)),a(i,c)},Q=i=>{var c=ma(),O=n(c);s(c),w(()=>x(O,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(P)??""}`)),a(i,c)};B(M,i=>{t.columnKey==="scheduled"?i(se):t.columnKey==="running"?i(fe,1):t.columnKey==="completed"?i(ke,2):t.columnKey==="failed"&&i(Q,3)})}s(L);var k=r(L,2),v=n(k),R=n(v);{let i=H(()=>!!t.task.enabled);na(R,{get checked(){return e(i)},onCheckedChange:c=>t.ontoggle(c===!0),class:"scale-75 origin-left"})}s(v);var W=r(v,2),f=n(W);Kt(f,{class:"size-3"}),s(W),s(k),s(E),w(()=>{D=Rt(E,1,"task-card svelte-1lta2hw",null,D,{"task-card--selected":I(),"task-card--disabled":!t.task.enabled}),wt(E,"data-task-id",t.task.id),wt(E,"data-column",t.columnKey),x(ae,t.task.name),x(ie,e(J)),x(u,t.task.cron_expression)}),Fe("click",E,function(...i){t.onclick?.apply(this,i)}),Fe("keydown",E,i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),t.onclick())}),Fe("click",v,i=>i.stopPropagation()),Fe("click",W,i=>{i.stopPropagation(),t.ontrigger()}),a(be,E),tt()}xt(["click","keydown"]);var ha=o('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ba=o('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),ka=o('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),wa=o('<div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi"></span> <span class="column-label svelte-10pk3oi"> </span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="column-body svelte-10pk3oi"><!> <!></div></div>'),ya=o('<div class="disabled-section svelte-10pk3oi"><div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi" style="background: var(--sig-text-muted)"></span> <span class="column-label svelte-10pk3oi">Disabled</span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="disabled-cards svelte-10pk3oi"></div></div></div>'),Pa=o('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function Ca(be,t){et(t,!0);let I=kt(t,"selectedColumn",3,0),y=kt(t,"selectedTaskInColumn",3,0);const J=H(()=>t.tasks.filter(u=>u.enabled&&u.last_run_status!=="running")),T=H(()=>t.tasks.filter(u=>u.last_run_status==="running")),P=H(()=>t.tasks.filter(u=>u.last_run_status==="completed"&&!e(T).some(M=>M.id===u.id))),E=H(()=>t.tasks.filter(u=>u.last_run_status==="failed"&&!e(T).some(M=>M.id===u.id))),D=H(()=>t.tasks.filter(u=>!u.enabled)),ne=[{key:"scheduled",label:"Scheduled",color:"var(--sig-highlight)"},{key:"running",label:"Running",color:"var(--sig-warning)"},{key:"completed",label:"Completed",color:"var(--sig-success)"},{key:"failed",label:"Failed",color:"var(--sig-danger)"}];function N(u){switch(u){case"scheduled":return e(J);case"running":return e(T);case"completed":return e(P);case"failed":return e(E);default:return[]}}var ae=ge(),oe=b(ae);{var ie=u=>{var M=ha();a(u,M)},L=u=>{var M=ba();a(u,M)},K=u=>{var M=Pa(),se=b(M);Oe(se,23,()=>ne,Q=>Q.key,(Q,k,v)=>{const R=H(()=>N(e(k).key));var W=wa(),f=n(W),i=n(f),c=r(i,2),O=n(c,!0);s(c);var me=r(c,2),pe=n(me,!0);s(me),s(f);var Ie=r(f,2),Ne=n(Ie);Oe(Ne,19,()=>e(R),_e=>_e.id,(_e,we,A)=>{{let Y=H(()=>e(v)===I()&&e(A)===y());Dt(_e,{get task(){return e(we)},get columnKey(){return e(k).key},get isSelected(){return e(Y)},onclick:()=>t.onopendetail(e(we).id,e(v),e(A)),ontrigger:()=>t.ontrigger(e(we).id),ontoggle:he=>t.ontoggle(e(we).id,he)})}});var ze=r(Ne,2);{var Ke=_e=>{var we=ka();a(_e,we)};B(ze,_e=>{e(R).length===0&&_e(Ke)})}s(Ie),s(W),w(()=>{wt(W,"data-column-idx",e(v)),Et(i,`background: ${e(k).color??""}`),x(O,e(k).label),x(pe,e(R).length)}),a(Q,W)}),s(se);var fe=r(se,2);{var ke=Q=>{var k=ya(),v=n(k),R=n(v),W=r(n(R),4),f=n(W,!0);s(W),s(R);var i=r(R,2);Oe(i,21,()=>e(D),c=>c.id,(c,O)=>{Dt(c,{get task(){return e(O)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(O).id,-1,-1),ontrigger:()=>t.ontrigger(e(O).id),ontoggle:me=>t.ontoggle(e(O).id,me)})}),s(i),s(v),s(k),w(()=>x(f,e(D).length)),a(Q,k)};B(fe,Q=>{e(D).length>0&&Q(ke)})}a(u,M)};B(oe,u=>{t.loading&&t.tasks.length===0?u(ie):t.tasks.length===0?u(L,1):u(K,-1)})}a(be,ae),tt()}var Sa=o('<span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span>'),ja=o('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Ta=o('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Da=o('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),Ra=o('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ea=o(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
1
+ import{p as et,s as Bt,c as ge,f as b,a as Wt,n as Ft,b as a,d as tt,r as Ut,g as kt,j as n,l as s,t as r,k as B,i as e,y as w,B as Rt,D as wt,z as x,O as Fe,u as H,m as o,P as xt,A as Oe,a9 as Et,Q as $t,h as p,w as h,x as $,v as d,o as ue,U as qt,H as Vt,a2 as yt,K as Pt,e as Gt,N as Jt,q as Qt}from"./BvuHLZ8E.js";import{I as Xt,W as It,Y as Nt,Z as Lt,_ as Mt,B as ot,$ as Ot,l as Yt,X as Zt,a2 as ea,aC as zt,aD as ta,aE as Ct,aF as St,aG as aa,aH as xe,aI as sa,aJ as jt,aK as Tt,aL as ra}from"./VoSt6A3O.js";import{S as na}from"./CVd1z3GZ.js";import{B as _t}from"./eM-ocO5B.js";import{S as la,a as oa}from"./pbr9ApiN.js";import{C as ia,a as da}from"./DihZpSR7.js";import{P as va}from"./CaemTKDh.js";import{T as ca}from"./CSU7dKhG.js";import{I as bt}from"./Der76rV1.js";import{L as Ze}from"./B2fzAOTu.js";import{c as ct,S as ut,a as gt,b as Me}from"./DkSREm42.js";import{T as ua}from"./DAbWdTLk.js";import{P as ga}from"./CB1oFXjn.js";function Kt(be,t){et(t,!0);let I=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Xt(be,Bt({name:"play"},()=>I,{get iconNode(){return y},children:(J,T)=>{var P=ge(),E=b(P);Wt(E,()=>t.children??Ft),a(J,P)},$$slots:{default:!0}})),tt()}var _a=o("<span> </span>"),xa=o('<span class="task-status-running svelte-1lta2hw">running</span>'),fa=o("<span> </span>"),ma=o('<span class="task-status-failed svelte-1lta2hw"> </span>'),pa=o('<div tabindex="0" role="button"><div class="task-top svelte-1lta2hw"><span class="task-name svelte-1lta2hw"> </span> <span class="task-harness svelte-1lta2hw"> </span></div> <div class="task-meta svelte-1lta2hw"><span> </span> <!></div> <div class="task-actions svelte-1lta2hw"><div><!></div> <button class="trigger-btn svelte-1lta2hw"><!></button></div></div>');function Dt(be,t){et(t,!0);let I=kt(t,"isSelected",3,!1);function y(i){if(!i)return"--";const c=new Date(i).getTime()-Date.now(),O=Math.abs(c);if(O<6e4)return c>0?"< 1m":"just now";if(O<36e5){const pe=Math.round(O/6e4);return c>0?`${pe}m`:`${pe}m ago`}if(O<864e5){const pe=Math.round(O/36e5);return c>0?`${pe}h`:`${pe}h ago`}const me=Math.round(O/864e5);return c>0?`${me}d`:`${me}d ago`}const J=H(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),T=H(()=>y(t.task.next_run_at)),P=H(()=>y(t.task.last_run_at));var E=pa();let D;var ne=n(E),N=n(ne),ae=n(N,!0);s(N);var oe=r(N,2),ie=n(oe,!0);s(oe),s(ne);var L=r(ne,2),K=n(L),u=n(K,!0);s(K);var M=r(K,2);{var se=i=>{var c=_a(),O=n(c);s(c),w(()=>x(O,`next: ${e(T)??""}`)),a(i,c)},fe=i=>{var c=xa();a(i,c)},ke=i=>{var c=fa(),O=n(c);s(c),w(()=>x(O,`exit 0 · ${e(P)??""}`)),a(i,c)},Q=i=>{var c=ma(),O=n(c);s(c),w(()=>x(O,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(P)??""}`)),a(i,c)};B(M,i=>{t.columnKey==="scheduled"?i(se):t.columnKey==="running"?i(fe,1):t.columnKey==="completed"?i(ke,2):t.columnKey==="failed"&&i(Q,3)})}s(L);var k=r(L,2),v=n(k),R=n(v);{let i=H(()=>!!t.task.enabled);na(R,{get checked(){return e(i)},onCheckedChange:c=>t.ontoggle(c===!0),class:"scale-75 origin-left"})}s(v);var W=r(v,2),f=n(W);Kt(f,{class:"size-3"}),s(W),s(k),s(E),w(()=>{D=Rt(E,1,"task-card svelte-1lta2hw",null,D,{"task-card--selected":I(),"task-card--disabled":!t.task.enabled}),wt(E,"data-task-id",t.task.id),wt(E,"data-column",t.columnKey),x(ae,t.task.name),x(ie,e(J)),x(u,t.task.cron_expression)}),Fe("click",E,function(...i){t.onclick?.apply(this,i)}),Fe("keydown",E,i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),t.onclick())}),Fe("click",v,i=>i.stopPropagation()),Fe("click",W,i=>{i.stopPropagation(),t.ontrigger()}),a(be,E),tt()}xt(["click","keydown"]);var ha=o('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ba=o('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),ka=o('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),wa=o('<div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi"></span> <span class="column-label svelte-10pk3oi"> </span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="column-body svelte-10pk3oi"><!> <!></div></div>'),ya=o('<div class="disabled-section svelte-10pk3oi"><div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi" style="background: var(--sig-text-muted)"></span> <span class="column-label svelte-10pk3oi">Disabled</span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="disabled-cards svelte-10pk3oi"></div></div></div>'),Pa=o('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function Ca(be,t){et(t,!0);let I=kt(t,"selectedColumn",3,0),y=kt(t,"selectedTaskInColumn",3,0);const J=H(()=>t.tasks.filter(u=>u.enabled&&u.last_run_status!=="running")),T=H(()=>t.tasks.filter(u=>u.last_run_status==="running")),P=H(()=>t.tasks.filter(u=>u.last_run_status==="completed"&&!e(T).some(M=>M.id===u.id))),E=H(()=>t.tasks.filter(u=>u.last_run_status==="failed"&&!e(T).some(M=>M.id===u.id))),D=H(()=>t.tasks.filter(u=>!u.enabled)),ne=[{key:"scheduled",label:"Scheduled",color:"var(--sig-highlight)"},{key:"running",label:"Running",color:"var(--sig-warning)"},{key:"completed",label:"Completed",color:"var(--sig-success)"},{key:"failed",label:"Failed",color:"var(--sig-danger)"}];function N(u){switch(u){case"scheduled":return e(J);case"running":return e(T);case"completed":return e(P);case"failed":return e(E);default:return[]}}var ae=ge(),oe=b(ae);{var ie=u=>{var M=ha();a(u,M)},L=u=>{var M=ba();a(u,M)},K=u=>{var M=Pa(),se=b(M);Oe(se,23,()=>ne,Q=>Q.key,(Q,k,v)=>{const R=H(()=>N(e(k).key));var W=wa(),f=n(W),i=n(f),c=r(i,2),O=n(c,!0);s(c);var me=r(c,2),pe=n(me,!0);s(me),s(f);var Ie=r(f,2),Ne=n(Ie);Oe(Ne,19,()=>e(R),_e=>_e.id,(_e,we,A)=>{{let Y=H(()=>e(v)===I()&&e(A)===y());Dt(_e,{get task(){return e(we)},get columnKey(){return e(k).key},get isSelected(){return e(Y)},onclick:()=>t.onopendetail(e(we).id,e(v),e(A)),ontrigger:()=>t.ontrigger(e(we).id),ontoggle:he=>t.ontoggle(e(we).id,he)})}});var ze=r(Ne,2);{var Ke=_e=>{var we=ka();a(_e,we)};B(ze,_e=>{e(R).length===0&&_e(Ke)})}s(Ie),s(W),w(()=>{wt(W,"data-column-idx",e(v)),Et(i,`background: ${e(k).color??""}`),x(O,e(k).label),x(pe,e(R).length)}),a(Q,W)}),s(se);var fe=r(se,2);{var ke=Q=>{var k=ya(),v=n(k),R=n(v),W=r(n(R),4),f=n(W,!0);s(W),s(R);var i=r(R,2);Oe(i,21,()=>e(D),c=>c.id,(c,O)=>{Dt(c,{get task(){return e(O)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(O).id,-1,-1),ontrigger:()=>t.ontrigger(e(O).id),ontoggle:me=>t.ontoggle(e(O).id,me)})}),s(i),s(v),s(k),w(()=>x(f,e(D).length)),a(Q,k)};B(fe,Q=>{e(D).length>0&&Q(ke)})}a(u,M)};B(oe,u=>{t.loading&&t.tasks.length===0?u(ie):t.tasks.length===0?u(L,1):u(K,-1)})}a(be,ae),tt()}var Sa=o('<span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span>'),ja=o('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Ta=o('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Da=o('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),Ra=o('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ea=o(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
2
2
  rounded max-h-[280px] overflow-y-auto
3
3
  font-mono text-[10px] leading-[1.55]
4
4
  text-[var(--sig-text)] p-2.5" role="log"><!> <!> <!></div>`),$a=o('<span class="text-[10px] text-[var(--sig-accent)] mt-0.5 block">Click to expand output</span>'),Ia=o('<div class="flex items-center justify-between gap-2"><div class="flex items-center gap-2"><span class="inline-block w-1.5 h-1.5"></span> <!> <!></div> <span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span></div> <div class="text-[10px] text-[var(--sig-text-muted)] font-mono"> </div> <!>',1),Na=o('<button class="w-full text-left cursor-pointer bg-transparent border-none p-0"><!></button>');function La(be,t){et(t,!0);let I=ue(!1),y=ue(void 0);function J(L){return L?new Date(L).toLocaleString():"—"}function T(L,K){if(!K)return"running...";const u=new Date(K).getTime()-new Date(L).getTime();if(u<1e3)return`${u}ms`;if(u<6e4)return`${(u/1e3).toFixed(1)}s`;const M=Math.floor(u/6e4),se=Math.round(u%6e4/1e3);return`${M}m ${se}s`}const P={pending:"var(--sig-text-muted)",running:"var(--sig-warning, #f59e0b)",completed:"var(--sig-success)",failed:"var(--sig-error, #ef4444)"};function E(L){return L.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const D={31:"var(--sig-error, #ef4444)",32:"var(--sig-success)",33:"var(--sig-warning, #e8a832)",90:"var(--sig-text-muted)",36:"var(--sig-accent)",34:"var(--sig-highlight)",35:"var(--sig-accent)"};function ne(L){let K=E(L);return K=K.replace(/\x1b\[(\d+(?:;\d+)*)m([\s\S]*?)\x1b\[0m/g,(u,M,se)=>{const fe=M.split(";"),ke=fe.includes("1"),Q=fe.map(v=>D[v]).find(Boolean);let k=se;return Q&&(k=`<span style="color:${Q}">${k}</span>`),ke&&(k=`<strong>${k}</strong>`),k}),K.replace(/\x1b\[\d+(?:;\d+)*m/g,"")}function N(L){return L?L.split(`
@@ -1,4 +1,4 @@
1
- import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as _,y as h,z as m,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./BvuHLZ8E.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./CBQpikDv.js";import{P as er}from"./BEjeM6IF.js";import{T as rr}from"./Cz09eUOk.js";import{B as sr}from"./COInlRT5.js";import{P as tr,a as ar,b as nr}from"./BZA3JTTo.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
1
+ import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as _,y as h,z as m,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./BvuHLZ8E.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./VoSt6A3O.js";import{P as er}from"./BEjeM6IF.js";import{T as rr}from"./Cz09eUOk.js";import{B as sr}from"./eM-ocO5B.js";import{P as tr,a as ar,b as nr}from"./BBWyTQH6.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
2
2
  border border-[var(--sig-border)]
3
3
  bg-[var(--sig-surface-raised)]"><span></span> <div class="flex flex-col gap-0.5 min-w-0 flex-1"><span class="text-[12px] font-medium text-[var(--sig-text-bright)]
4
4
  font-display tracking-[0.04em]"> </span> <span class="sig-eyebrow truncate"> </span></div> <div class="flex flex-col items-end gap-0.5 shrink-0"><span> </span> <span class="sig-eyebrow"><!></span></div></div>`),lr=x(`<div class="flex items-center justify-center py-8
@@ -1,4 +1,4 @@
1
- import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as yt,m as x,P as fr}from"./BvuHLZ8E.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./CBQpikDv.js";import{P as _r}from"./BEjeM6IF.js";import{T as br}from"./Cz09eUOk.js";import{C as hr}from"./D3d5TGGj.js";import{S as yr}from"./Cl4I8R6f.js";import{S as Me,a as Ge,b as le,c as He}from"./BOJn46ky.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-display text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-display text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-display text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-mono text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-mono text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&yt().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function he(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),yt().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
1
+ import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as yt,m as x,P as fr}from"./BvuHLZ8E.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./VoSt6A3O.js";import{P as _r}from"./BEjeM6IF.js";import{T as br}from"./Cz09eUOk.js";import{C as hr}from"./SdE_GBE0.js";import{S as yr}from"./pbr9ApiN.js";import{S as Me,a as Ge,b as le,c as He}from"./DkSREm42.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-display text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-display text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-display text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-mono text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-mono text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&yt().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function he(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),yt().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
2
2
  `);a.push({label:"Facts",content:g})}return a}function it(e){const r=lt(e);if(r.length===0)return"";const a=r.map(c=>c.content).join(`
3
3
 
4
4
  `).trim();return a.length<=220?a:`${a.slice(0,220)}...`}async function Gt(){if(t(A))try{await navigator.clipboard.writeText(ot(t(A))),s(pe,!0),setTimeout(()=>{s(pe,!1)},1200)}catch{s(pe,!1)}}dr(()=>(s(Y,Ct(),!0),he(),nt(),()=>{s(X,!1),de!==null&&cancelAnimationFrame(de),j!==null&&clearTimeout(j),D&&D.close()})),vr(()=>{const e=t(ce);if(!e)return;const r=()=>{const a=It(e);if(t(B)&&!a){s(B,!1),s(ue,!0);return}!t(B)&&t(ue)&&a&&(s(B,!0),s(ue,!1))};return e.addEventListener("scroll",r,{passive:!0}),r(),()=>{e.removeEventListener("scroll",r)}});var Ce=qr(),ct=n(Ce);_r(ct,{title:"Logs",children:(e,r)=>{br(e,{group:"engine",get tabs(){return xr},get activeTab(){return pr.activeTab},onselect:(a,c)=>mr(c)})}});var dt=l(ct,2),vt=n(dt),Ne=n(vt),De=n(Ne),gt=n(De);T(gt,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(Q)},onValueChange:a=>{s(Q,a??"",!0),he()},children:(a,c)=>{var f=wr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-mono text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(Q)||"All levels")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=Lr(),R=z(_);T(R,()=>le,(h,b)=>{b(h,{value:"",label:"All levels"})});var m=l(R,2);we(m,17,()=>Tt,Ve,(h,b)=>{var y=$e(),w=z(y);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(h,y)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ut=l(gt,2);T(ut,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(te)},onValueChange:a=>{s(te,a??"",!0),he()},children:(a,c)=>{var f=Sr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-mono text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(te)||"All categories")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=$r(),R=z(_);T(R,()=>le,(h,b)=>{b(h,{value:"",label:"All categories"})});var m=l(R,2);we(m,17,()=>Pt,Ve,(h,b)=>{var y=$e(),w=z(y);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(h,y)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ft=l(ut,2);{let e=J(()=>t(Y)??"");T(ft,()=>He,(r,a)=>{a(r,{type:"single",get value(){return t(e)},onValueChange:jt,children:(c,f)=>{var v=Er(),p=z(v);{let d=J(()=>t(Y)===null?"":void 0);T(p,()=>Me,(g,L)=>{L(g,{get"data-placeholder"(){return t(d)},class:"font-mono text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] data-[placeholder]:text-[var(--sig-text-muted)] rounded-lg h-auto py-1 px-2 min-w-[124px]",children:(_,R)=>{oe();var m=M();O(h=>u(m,h),[()=>Dt()]),i(_,m)},$$slots:{default:!0}})})}var k=l(p,2);T(k,()=>Ge,(d,g)=>{g(d,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(L,_)=>{var R=kr(),m=z(R);T(m,()=>le,(y,w)=>{w(y,{value:"",label:Ke})});var h=l(m,2);T(h,()=>le,(y,w)=>{w(y,{value:"desc",get label(){return ke.desc}})});var b=l(h,2);T(b,()=>le,(y,w)=>{w(y,{value:"asc",get label(){return ke.asc}})}),i(L,R)},$$slots:{default:!0}})}),i(c,v)},$$slots:{default:!0}})})}var ze=l(ft,2),Ht=n(ze);hr(Ht,{get checked(){return t(B)},onCheckedChange:e=>{s(B,e===!0),s(ue,!1),t(B)&&be("auto")},class:"rounded-lg"}),oe(),o(ze);var mt=l(ze,2),pt=n(mt);{var Jt=e=>{var r=Pr(),a=n(r,!0);o(r),O(()=>u(a,t(Z))),i(e,r)};K(pt,e=>{t(Z)&&e(Jt)})}var ye=l(pt,2),Kt=n(ye);{var Ut=e=>{var r=M("● Live");i(e,r)},Xt=e=>{var r=M("↺ Reconnecting");i(e,r)},Qt=e=>{var r=M("◌ Connecting");i(e,r)},Yt=e=>{var r=M("● Offline");i(e,r)};K(Kt,e=>{t(ie)?e(Ut):t(W)?e(Xt,1):t(U)?e(Qt,2):e(Yt,-1)})}o(ye);var xt=l(ye,2);{let e=J(()=>t(X)?"Disconnect stream":"Reconnect stream");qe(xt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Ft,get title(){return t(e)},children:(r,a)=>{oe();var c=M();O(()=>u(c,t(X)?"Disconnect":"Reconnect")),i(r,c)},$$slots:{default:!0}})}var Wt=l(xt,2);qe(Wt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:he,title:"Reload logs",children:(e,r)=>{oe();var a=M();O(()=>u(a,Lt.Refresh)),i(e,a)},$$slots:{default:!0}}),o(mt),o(De);var Zt=l(De,2);yr(Zt,{class:"min-h-0 flex-1",get viewportRef(){return t(ce)},set viewportRef(e){s(ce,e,!0)},children:(e,r)=>{var a=Dr(),c=n(a);{var f=d=>{var g=Tr();i(d,g)},v=d=>{var g=Or(),L=n(g,!0);o(g),O(()=>u(L,t(me))),i(d,g)},p=d=>{var g=Rr();i(d,g)},k=d=>{var g=$e(),L=z(g);we(L,17,()=>t(I),_=>_.key,(_,R)=>{const m=J(()=>t(R).entry),h=J(()=>t(R).key);var b=Nr(),y=n(b),w=n(y),se=n(w,!0);o(w);var F=l(w,2),Ie=n(F,!0);o(F);var E=l(F,2),V=n(E);o(E);var C=l(E,2),ne=n(C,!0);o(C);var G=l(C,2);{var Le=P=>{var $=Ar(),N=n($);o($),O(()=>u(N,`(${t(m).duration??""}ms)`)),i(P,$)};K(G,P=>{t(m).duration!==void 0&&P(Le)})}o(y);var je=l(y,2);{var Be=P=>{var $=Cr(),N=n($,!0);o($),O(H=>u(N,H),[()=>it(t(m))]),i(P,$)},Fe=J(()=>it(t(m)));K(je,P=>{t(Fe)&&P(Be)})}o(b),O((P,$,N,H,ve)=>{ge(b,1,P,"svelte-q4aevr"),u(se,$),ge(F,1,N,"svelte-q4aevr"),u(Ie,H),ge(E,1,ve,"svelte-q4aevr"),u(V,`[${t(m).category??""}]`),u(ne,t(m).message)},[()=>`log-row ${Re(t(m).level)} w-full text-left px-[var(--space-md)] py-1.5 border-b border-[var(--sig-border)] hover:bg-[var(--sig-surface)] cursor-pointer ${t(re)===t(h)?"bg-[var(--sig-surface)] border-[var(--sig-border-strong)]":""}`,()=>Vt(t(m).timestamp),()=>`font-semibold shrink-0 min-w-[40px] ${Re(t(m).level)}`,()=>t(m).level.toUpperCase(),()=>`log-category ${tt(t(m).category)} shrink-0`]),gr("click",b,()=>{s(re,t(h),!0)}),i(_,b)}),i(d,g)};K(c,d=>{t(Ee)?d(f):t(me)?d(v,1):t(I).length===0?d(p,2):d(k,-1)})}o(a),i(e,a)},$$slots:{default:!0}}),o(Ne);var _t=l(Ne,2),er=n(_t);{var tr=e=>{const r=J(()=>lt(t(A)));var a=Fr(),c=z(a),f=l(n(c),2),v=n(f,!0);o(f);var p=l(f,4),k=n(p,!0);o(p);var d=l(p,4),g=n(d,!0);o(d);var L=l(d,4),_=n(L,!0);o(L);var R=l(L,2);{var m=E=>{var V=zr(),C=l(z(V),2),ne=n(C);o(C),O(()=>u(ne,`${t(A).duration??""}ms`)),i(E,V)};K(R,E=>{t(A).duration!==void 0&&E(m)})}o(c);var h=l(c,2);{var b=E=>{var V=Br(),C=l(n(V),2);we(C,17,()=>t(r),Ve,(ne,G)=>{var Le=$e(),je=z(Le);{var Be=P=>{var $=Ir(),N=n($),H=n(N),ve=n(H,!0);o(H);var fe=l(H,2),ar=n(fe);o(fe);var bt=l(fe,2),sr=n(bt);o(bt),o(N);var ht=l(N,2),nr=n(ht,!0);o(ht),o($),O((or,lr)=>{u(ve,t(G).label),u(ar,`(${or??""} chars)`),u(sr,`${lr??""}...`),u(nr,t(G).content)},[()=>t(G).content.length.toLocaleString(),()=>t(G).content.slice(0,100).replace(/\n/g," ")]),i(P,$)},Fe=P=>{var $=jr(),N=n($),H=n(N,!0);o(N);var ve=l(N,2),fe=n(ve,!0);o(ve),o($),O(()=>{u(H,t(G).label),u(fe,t(G).content)}),i(P,$)};K(je,P=>{t(G).content.length>500?P(Be):P(Fe,-1)})}i(ne,Le)}),o(V),i(E,V)};K(h,E=>{t(r).length>0&&E(b)})}var y=l(h,2),w=n(y),se=l(n(w),2);qe(se,{variant:"outline",size:"sm",class:"sig-eyebrow px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Gt,children:(E,V)=>{oe();var C=M();O(()=>u(C,t(pe)?"Copied":Lt.CopyJson)),i(E,C)},$$slots:{default:!0}}),o(w);var F=l(w,2),Ie=n(F,!0);o(F),o(y),O((E,V,C,ne)=>{u(v,E),ge(p,1,V,"svelte-q4aevr"),u(k,t(A).level),ge(d,1,C,"svelte-q4aevr"),u(g,t(A).category),u(_,t(A).message),u(Ie,ne)},[()=>qt(t(A).timestamp),()=>`uppercase ${Re(t(A).level)}`,()=>`log-category ${tt(t(A).category)}`,()=>ot(t(A))]),i(e,a)},rr=e=>{var r=Vr();i(e,r)};K(er,e=>{t(A)?e(tr):e(rr,-1)})}o(_t),o(vt),o(dt),o(Ce),O(()=>ge(ye,1,`sig-label font-medium ${t(ie)?"text-[var(--sig-success)] [animation:pulse_2s_infinite]":t(W)||t(U)?"text-[var(--sig-accent)] [animation:pulse_2s_infinite]":"text-[var(--sig-danger)]"}`,"svelte-q4aevr")),i($t,Ce),ur()}fr(["click"]);export{Qr as default};