signetai 0.92.0 → 0.93.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dashboard/_app/immutable/chunks/{DJkkdcTw.js → 0YLGfr3B.js} +1 -1
  2. package/dashboard/_app/immutable/chunks/{CbNr1Wip.js → 1crBmU6e.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{CMmGjAIP.js → B-6H0vQs.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{DDnVXjEw.js → BA5k_xT8.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{Dl2kjOyZ.js → BBGTrQlb.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{Dywi9gdG.js → BEuD5Dq-.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{hQ5yiB-I.js → BLkosXOU.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{Br6edLys.js → BP9HHq8c.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/{DesK1R5A.js → BPhKjuBW.js} +1 -1
  10. package/dashboard/_app/immutable/chunks/{BJ_1oiga.js → BQtR4PT0.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{CCIzr3Yq.js → BZB7F1mW.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{CCJEdXdt.js → BfYBPIAC.js} +2 -2
  13. package/dashboard/_app/immutable/chunks/{cj39usFF.js → Bj9LQ6Rp.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{DRi4nBAJ.js → Bxx98OhM.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{BYkQi6iW.js → C2NMQERl.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{D-fMJ8q7.js → C34ujfPp.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{D39FnLZE.js → C4eycDKW.js} +1 -1
  18. package/dashboard/_app/immutable/chunks/{B3AadZwF.js → CDKqLXFH.js} +1 -1
  19. package/dashboard/_app/immutable/chunks/{RgLs92KS.js → CF331wQ4.js} +1 -1
  20. package/dashboard/_app/immutable/chunks/{DFcv7BYR.js → CIOgwwOW.js} +1 -1
  21. package/dashboard/_app/immutable/chunks/{CPd6np96.js → CJcLbOP2.js} +1 -1
  22. package/dashboard/_app/immutable/chunks/{CeAfax7G.js → CLv-BYvN.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{WfvOPTXj.js → CVAN3I-g.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{Cwx7YIp_.js → CjTqscDQ.js} +1 -1
  25. package/dashboard/_app/immutable/chunks/{BB7Xfb56.js → Cjup8bik.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{DqNoVcfB.js → CpxGl5i3.js} +3 -3
  27. package/dashboard/_app/immutable/chunks/{CTQ69xUA.js → CvBP6bqf.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{Z-y2Kglw.js → CxCMEr5G.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/D2FJReiS.js +1 -0
  30. package/dashboard/_app/immutable/chunks/{DHbfKljG.js → DHOaJydZ.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{BzsZb1Ip.js → DM4MqtLV.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{C2-dpK6x.js → DNhhhJGA.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{BrqBgUIu.js → DQnOKRKn.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{CFS6Iiip.js → DVkQT636.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{C_Bg-4EM.js → DfScFsaZ.js} +1 -1
  36. package/dashboard/_app/immutable/chunks/{CLCSLQv0.js → DgdPinPH.js} +1 -1
  37. package/dashboard/_app/immutable/chunks/{DV2aci-K.js → DhPoV8Y7.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{CgTkkr-Z.js → DiGse0FC.js} +1 -1
  39. package/dashboard/_app/immutable/chunks/{DOKVNKwW.js → DmlLZ9tb.js} +1 -1
  40. package/dashboard/_app/immutable/chunks/{Co2g02aN.js → U1WVG52L.js} +1 -1
  41. package/dashboard/_app/immutable/chunks/{CqylbU4S.js → UXFrLngk.js} +2 -2
  42. package/dashboard/_app/immutable/chunks/{D3-VuYbQ.js → XGs8cA2F.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/{DsOdgiNl.js → Yci72RvP.js} +1 -1
  44. package/dashboard/_app/immutable/chunks/{Cif9Ml3c.js → pcI4SHZ1.js} +1 -1
  45. package/dashboard/_app/immutable/chunks/{-m-uWkVq.js → rhT57yJr.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{DafZDKIu.js → sHsoP0LT.js} +1 -1
  47. package/dashboard/_app/immutable/chunks/{DKfW4VQI.js → vHlYBWK3.js} +1 -1
  48. package/dashboard/_app/immutable/chunks/{BSysyWqS.js → wsvUYiea.js} +1 -1
  49. package/dashboard/_app/immutable/entry/{app.Dg6_7OJi.js → app.BURYdieZ.js} +2 -2
  50. package/dashboard/_app/immutable/entry/start.D5tEaroJ.js +1 -0
  51. package/dashboard/_app/immutable/nodes/{1.BGGcM5EQ.js → 1.BkvZN_3K.js} +1 -1
  52. package/dashboard/_app/immutable/nodes/2.BNoU2up1.js +1 -0
  53. package/dashboard/_app/version.json +1 -1
  54. package/dashboard/index.html +6 -6
  55. package/dist/cli.js +29801 -10195
  56. package/dist/daemon.js +5 -5
  57. package/dist/mcp-stdio.js +5 -5
  58. package/package.json +1 -1
  59. package/dashboard/_app/immutable/chunks/D31P48yr.js +0 -1
  60. package/dashboard/_app/immutable/entry/start.-n3INHvr.js +0 -1
  61. package/dashboard/_app/immutable/nodes/2.DOgIJFcg.js +0 -1
@@ -1 +1 @@
1
- import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./o6XZc-z-.js";import{I as $}from"./DqNoVcfB.js";function C(o,s){p(s,!0);let r=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"m9 18 6-6-6-6"}]];$(o,c({name:"chevron-right"},()=>r,{get iconNode(){return t},children:(a,g)=>{var e=i(),n=d(e);h(n,()=>s.children??l),m(a,e)},$$slots:{default:!0}})),f()}export{C};
1
+ import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./o6XZc-z-.js";import{I as $}from"./CpxGl5i3.js";function C(o,s){p(s,!0);let r=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"m9 18 6-6-6-6"}]];$(o,c({name:"chevron-right"},()=>r,{get iconNode(){return t},children:(a,g)=>{var e=i(),n=d(e);h(n,()=>s.children??l),m(a,e)},$$slots:{default:!0}})),f()}export{C};
@@ -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"./o6XZc-z-.js";import{c as y}from"./DqNoVcfB.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"./o6XZc-z-.js";import{c as y}from"./CpxGl5i3.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{c as p,f as g,h as c,a6 as x,s as i,b as u,r as v,p as P,g as l,a7 as j,i as _,u as b,d as $,a8 as k,a9 as q}from"./o6XZc-z-.js";import{c as h}from"./DqNoVcfB.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,a6 as x,s as i,b as u,r as v,p as P,g as l,a7 as j,i as _,u as b,d as $,a8 as k,a9 as q}from"./o6XZc-z-.js";import{c as h}from"./CpxGl5i3.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 +1 @@
1
- import{p as Wt,o as $,e as Z,q as Gt,N as Yt,$ as Zt,j as r,t as c,k as R,i as t,l as a,F as Jt,v as b,b as _,d as Vt,u as P,A as G,y as F,B as Xt,D as Xe,z as u,O as Qt,w as J,m as T,c as be,f as xe,K as _e,P as ea}from"./o6XZc-z-.js";import{h as ta,n as Qe,i as aa,j as ra,k as sa,l as ia,m as na,B as he}from"./DqNoVcfB.js";import{P as oa}from"./DiLyuexf.js";import{T as la}from"./BBTUzYSt.js";import{C as ca}from"./CPd6np96.js";import{C as da}from"./DJkkdcTw.js";import{R as va}from"./CFS6Iiip.js";var ma=T('<div class="flex flex-1 items-center justify-center sig-label">Loading timeline...</div>'),pa=T('<div class="flex flex-1 items-center justify-center sig-label text-[var(--sig-text-muted)]">No timeline data yet.</div>'),ua=T('<button role="tab"> </button>'),fa=T('<p class="sig-label text-[var(--sig-text-muted)]">No type signals</p>'),ga=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ba=T('<p class="sig-label text-[var(--sig-text-muted)]">No source signals</p>'),xa=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),_a=T('<p class="sig-label text-[var(--sig-text-muted)]">No tags this era</p>'),ha=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ya=T('<p class="mt-2 sig-label text-[var(--sig-text-muted)]">No memories saved in this era yet.</p>'),Ma=T('<article class="timeline-top-card rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-2 svelte-1acbaf"><div class="timeline-top-card-head svelte-1acbaf"><div class="timeline-top-card-icon svelte-1acbaf"> </div> <div class="timeline-top-card-title-wrap svelte-1acbaf"><p class="timeline-top-card-title svelte-1acbaf"> </p> <p class="timeline-top-card-subtitle svelte-1acbaf"> </p></div></div> <p class="timeline-top-card-content mt-1 text-[11px] leading-relaxed text-[var(--sig-text)] line-clamp-4 svelte-1acbaf"> </p> <div class="timeline-top-card-meta mt-auto flex items-center justify-between gap-2 pt-2 text-[11px] text-[var(--sig-text-muted)] svelte-1acbaf"><p class="timeline-top-card-badge svelte-1acbaf"> </p> <p> </p></div></article>'),wa=T('<div class="timeline-top-card-grid mt-2 svelte-1acbaf"></div>'),ka=T('<div class="timeline-stack flex flex-1 min-h-0 flex-col gap-3 svelte-1acbaf"><section class="timeline-hero rounded-xl border border-[var(--sig-border)] p-3 overflow-hidden svelte-1acbaf"><div class="timeline-hero-grid svelte-1acbaf"><div class="min-w-0"><h2 class="timeline-hero-title svelte-1acbaf">Signet Evolution Timeline</h2> <p class="timeline-hero-subtitle svelte-1acbaf">Track added, evolved, and pinned memories across recap eras.</p></div> <div class="timeline-hero-metrics svelte-1acbaf"><div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Agent skills used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">MCP servers used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Average importance</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Pinned</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div></div></div></section> <div class="timeline-content-split flex-1 min-h-0 gap-3 svelte-1acbaf"><section class="timeline-detail-panel flex min-h-0 flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-[10.5px] border-2 border-[var(--sig-border-strong)] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="--panel-pad: 0.75rem;"><div class="timeline-era-head svelte-1acbaf"><div class="timeline-era-title-row svelte-1acbaf"><p class="sig-heading timeline-era-title svelte-1acbaf"> <span class="timeline-era-title-range svelte-1acbaf"> </span></p> <div class="timeline-era-controls flex items-center gap-1 svelte-1acbaf"><!> <div role="tablist" aria-orientation="horizontal" class="flex items-center gap-1"></div> <!> <!></div></div></div> <div class="timeline-summary-grid svelte-1acbaf"><div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Added</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Tracked events captured</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Evolved</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Strengthened</span></p></div></div> <div class="timeline-mix-grid svelte-1acbaf"><div class="timeline-mix-card timeline-mix-card--type p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Type mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--source p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Source mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--tags p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Top tags</p> <!></div></div></section> <section class="timeline-top-panel rounded-[10.5px] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="border: 0.87px solid var(--sig-border);"><div class="flex items-center justify-between gap-2"><p class="sig-label text-[var(--sig-text-bright)]">Top Four Memories</p> <p class="text-[11px] text-[var(--sig-text-bright)]"> </p></div> <!></section></div></div>'),Ta=T('<p class="sig-label text-[var(--sig-danger)]"> </p>'),Sa=T('<div class="timeline-shell flex flex-col flex-1 min-h-0 overflow-hidden bg-[var(--sig-bg)] svelte-1acbaf" role="region" aria-label="Memory timeline. Use left and right arrows to move through eras."><!> <div class="flex flex-1 min-h-0 flex-col gap-3 p-3 bg-[var(--sig-bg)]"><!> <!></div></div>');function $a(et,V){Wt(V,!0);const tt="h-8 px-3 rounded-lg border text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] transition-colors";let X=$(!1),z=$(null),N=$(Z([])),S=$(0),Q=$(Z({})),ee=$(Z({})),te=$(Z({})),I=$(null);const p=P(()=>t(N)[t(S)]??null),ye=P(()=>t(p)?t(Q)[t(p).rangeKey]??0:0);function at(e){return e.sourceBreakdown.filter(l=>Me(l.key)).length}function Me(e){const s=e.trim().toLowerCase();return s?!!(/\bmcp\b/.test(s)||/\btool[-\s]?servers?\b/.test(s)||s.includes("model context protocol")||s.includes("model-context-protocol")||s.includes("modelcontextprotocol")):!1}const we=P(()=>t(p)?Math.max(t(ee)[t(p).rangeKey]??0,at(t(p))):0),ke=P(()=>t(p)?t(te)[t(p).rangeKey]??[]:[]);function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rt(e){if(Array.isArray(e))return e.filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>s.length>0);if(typeof e=="string"){const s=e.trim();if(!s)return[];if(s.startsWith("[")&&s.endsWith("]"))try{const l=JSON.parse(s);if(Array.isArray(l))return l.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0)}catch{}return s.split(",").map(l=>l.trim()).filter(l=>l.length>0)}return[]}function st(e,s,l,n){const A=l.map(i=>i.name.trim().toLowerCase()).filter(i=>i.length>0).map(i=>({name:i,pattern:new RegExp(`\\b${Te(i)}\\b`,"i")})),D=n.flatMap(i=>{const m=[];for(const y of[i.name,i.id]){const M=y.trim().toLowerCase();M.length>0&&m.push({serverId:i.id,pattern:new RegExp(`\\b${Te(M)}\\b`,"i")})}return m}),U=e.map(i=>({bucket:i,skillSet:new Set,mcpSet:new Set,hasMcpSignal:!1,startMs:Date.parse(i.start),endMs:Date.parse(i.end)}));for(const i of s){const m=Date.parse(i.created_at);if(!Number.isFinite(m))continue;const y=rt(i.tags).join(" "),M=[i.content,i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase(),L=[i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase();for(const g of U){if(m<g.startMs||m>g.endMs)continue;for(const C of A)C.pattern.test(M)&&g.skillSet.add(C.name);let W=!1;for(const C of D)C.pattern.test(M)&&(g.mcpSet.add(C.serverId),W=!0);!W&&Me(L)&&(g.hasMcpSignal=!0)}}const K={},v={};for(const i of U)K[i.bucket.rangeKey]=i.skillSet.size,v[i.bucket.rangeKey]=i.mcpSet.size>0?i.mcpSet.size:i.hasMcpSignal?1:0;return{skillUsage:K,mcpUsage:v}}function H(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?0:e>=1?1:e}function it(e,s){const l=new Map;for(const v of e){const i=Date.parse(v.start),m=Date.parse(v.end);!Number.isFinite(i)||!Number.isFinite(m)||l.set(v.rangeKey,{startMs:i,endMs:m})}const n=l.get("today")??null,A=l.get("last_week")??null;function D(v){const i=l.get(v.rangeKey),m=Date.parse(v.start),y=Date.parse(v.end),M={startMs:Number.isFinite(m)?m:Number.NEGATIVE_INFINITY,endMs:Number.isFinite(y)?y:Number.POSITIVE_INFINITY};if(!i)return M;const L=i.startMs;let g=i.endMs;return v.rangeKey==="last_week"&&n?g=Math.min(g,n.startMs-1):v.rangeKey==="one_month"&&(A?g=Math.min(g,A.startMs-1):n&&(g=Math.min(g,n.startMs-1))),g<L?M:{startMs:L,endMs:g}}const U=e.map(v=>{const i=D(v);return{bucket:v,startMs:i.startMs,endMs:i.endMs,candidates:[]}});for(const v of s){const i=Date.parse(v.created_at);if(Number.isFinite(i))for(const m of U){if(i<m.startMs||i>m.endMs)continue;const y=Math.max(1,m.endMs-m.startMs),M=Math.max(0,Math.min(1,(i-m.startMs)/y)),L=H(v.importance)*100+(v.pinned?24:0)+M*8;m.candidates.push({memory:v,score:L,createdAt:i})}}const K={};for(const v of U)v.candidates.sort((i,m)=>{if(m.score!==i.score)return m.score-i.score;const y=H(i.memory.importance),M=H(m.memory.importance);return M!==y?M-y:m.createdAt!==i.createdAt?m.createdAt-i.createdAt:i.memory.id.localeCompare(m.memory.id)}),K[v.bucket.rangeKey]=v.candidates.slice(0,4).map(i=>i.memory);return K}function q(e=1){t(N).length!==0&&b(S,Math.min(t(N).length-1,t(S)+e),!0)}function O(e=1){t(N).length!==0&&b(S,Math.max(0,t(S)-e),!0)}function ae(e){V.ontimelinegeneratedforchange&&V.ontimelinegeneratedforchange(e)}async function nt(){b(X,!0),b(z,null);try{const e=ra(5e3,0),[s,l,n,A]=await Promise.all([sa({fallbackMemories:e.then(U=>U.memories)}),ia(),na(),e]);b(N,s.buckets,!0),ae(s.generatedFor);const D=st(s.buckets,A.memories,l,n.servers);b(Q,D.skillUsage,!0),b(ee,D.mcpUsage,!0),b(te,it(s.buckets,A.memories),!0),b(S,0),s.error&&b(z,s.error,!0)}catch{b(z,"Failed to load timeline."),b(N,[],!0),ae(""),b(Q,{},!0),b(ee,{},!0),b(te,{},!0)}finally{b(X,!1)}}function ot(e,s){const l={month:"short",day:"numeric",timeZone:"UTC"},n=new Date(e).toLocaleDateString("en-US",l),A=new Date(s).toLocaleDateString("en-US",{...l,year:"numeric"});return`${n} - ${A}`}function lt(e,s){const l=Date.parse(e);if(!Number.isFinite(l))return"Unknown";const n=new Date(l);return s==="today"?n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",timeZone:"UTC"}):n.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"})}function ct(e){return`${Math.round(H(e)*100)}%`}function re(e,s,l){return e===1?s:l}function dt(e){const s=e.split(/[-_.\s]+/).map(l=>l.trim()).filter(l=>l.length>0);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():e.slice(0,2).toUpperCase()||"M"}function vt(e){return e.rangeKey==="last_week"?"Week":e.rangeKey==="one_month"?"Month":"Today"}function mt(e){if(Qe.activeTab!=="timeline")return;const s=e.target;if(s instanceof HTMLElement){const n=s.tagName;if(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||s.isContentEditable)return}if(s instanceof HTMLElement&&s.hasAttribute("data-memory-tab")){if(e.key==="ArrowDown"){e.preventDefault();const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus()}return}if(s instanceof HTMLElement&&s.closest('.timeline-era-controls [role="tablist"]')){if(e.key==="ArrowUp"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowDown"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);return}if(e.key==="PageDown"){e.preventDefault(),q(3);return}if(e.key==="PageUp"){e.preventDefault(),O(3);return}}Gt(()=>(nt(),()=>{ae("")}));var Y=Sa();Yt("keydown",Zt,mt);var Se=r(Y);oa(Se,{title:"Timeline",children:(e,s)=>{la(e,{group:"memory",get tabs(){return aa},get activeTab(){return Qe.activeTab},onselect:(l,n)=>ta(n)})}});var Ae=c(Se,2),Ee=r(Ae);{var pt=e=>{var s=ma();_(e,s)},ut=e=>{var s=pa();_(e,s)},ft=e=>{var s=ka(),l=r(s),n=r(l),A=c(r(n),2),D=r(A),U=c(r(D),2),K=r(U);a(U),a(D);var v=c(D,2),i=c(r(v),2),m=r(i);a(i),a(v);var y=c(v,2),M=c(r(y),2),L=r(M);a(M),a(y);var g=c(y,2),W=c(r(g),2),C=r(W);a(W),a(g),a(A),a(n),a(l);var De=c(l,2),se=r(De),ie=r(se),Ue=r(ie),ne=r(Ue),Ne=r(ne),Be=c(Ne),xt=r(Be,!0);a(Be),a(ne);var Le=c(ne,2),$e=r(Le);{let o=P(()=>t(S)<=0);he($e,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>O(),get disabled(){return t(o)},title:"Move to newer era",children:(d,x)=>{ca(d,{class:"size-3.5"})},$$slots:{default:!0}})}var oe=c($e,2);G(oe,23,()=>t(N),o=>o.eraIndex,(o,d,x)=>{var f=ua(),w=r(f,!0);a(f),F(h=>{Xt(f,1,`${tt} ${t(x)===t(S)?"border-[var(--sig-accent)] bg-[color-mix(in_srgb,var(--sig-surface-raised)_76%,transparent)] text-[var(--sig-text-bright)]":"border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"}`,"svelte-1acbaf"),Xe(f,"aria-selected",t(x)===t(S)),Xe(f,"tabindex",t(x)===t(S)?0:-1),u(w,h)},[()=>vt(t(d))]),Qt("click",f,()=>{b(S,t(x),!0)}),_(o,f)}),a(oe);var Ie=c(oe,2);{let o=P(()=>t(S)>=t(N).length-1);he(Ie,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>q(),get disabled(){return t(o)},title:"Move to older era",children:(d,x)=>{da(d,{class:"size-3.5"})},$$slots:{default:!0}})}var _t=c(Ie,2);he(_t,{variant:"ghost",size:"sm",class:"h-8 px-2 sig-label",onclick:()=>{b(S,0)},title:"Jump to today",children:(o,d)=>{va(o,{class:"size-3.5"})},$$slots:{default:!0}}),a(Le),a(Ue),a(ie);var le=c(ie,2),ce=r(le),Ke=r(ce),Ce=r(Ke),ht=r(Ce,!0);a(Ce),J(2),a(Ke),a(ce);var de=c(ce,2),je=r(de),Fe=r(je),yt=r(Fe,!0);a(Fe),J(2),a(je),a(de);var ve=c(de,2),Re=r(ve),Pe=r(Re),Mt=r(Pe,!0);a(Pe),J(2),a(Re),a(ve);var ze=c(ve,2),He=r(ze),qe=r(He),wt=r(qe,!0);a(qe),J(2),a(He),a(ze),a(le);var Oe=c(le,2),me=r(Oe),kt=c(r(me),2);{var Tt=o=>{var d=fa();_(o,d)},St=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).typeBreakdown,_e,(f,w)=>{var h=ga(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(kt,o=>{t(p).typeBreakdown.length===0?o(Tt):o(St,-1)})}a(me);var pe=c(me,2),At=c(r(pe),2);{var Et=o=>{var d=ba();_(o,d)},Dt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).sourceBreakdown,_e,(f,w)=>{var h=xa(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(At,o=>{t(p).sourceBreakdown.length===0?o(Et):o(Dt,-1)})}a(pe);var We=c(pe,2),Ut=c(r(We),2);{var Nt=o=>{var d=_a();_(o,d)},Bt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).topTags,_e,(f,w)=>{var h=ha(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(Ut,o=>{t(p).topTags.length===0?o(Nt):o(Bt,-1)})}a(We),a(Oe),a(se);var Ge=c(se,2),ue=r(Ge),Ye=c(r(ue),2),Lt=r(Ye,!0);a(Ye),a(ue);var $t=c(ue,2);{var It=o=>{var d=ya();_(o,d)},Kt=o=>{var d=wa();G(d,21,()=>t(ke),x=>x.id,(x,f)=>{var w=Ma(),h=r(w),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E),Ct=r(B,!0);a(B);var Ze=c(B,2),jt=r(Ze,!0);a(Ze),a(E),a(h);var fe=c(h,2),Ft=r(fe,!0);a(fe);var Je=c(fe,2),ge=r(Je),Rt=r(ge);a(ge);var Ve=c(ge,2),Pt=r(Ve,!0);a(Ve),a(Je),a(w),F((zt,Ht,qt,Ot)=>{u(j,zt),u(Ct,t(f).who||"Unknown source"),u(jt,Ht),u(Ft,t(f).content),u(Rt,`imp ${qt??""}`),u(Pt,Ot)},[()=>dt(t(f).who||t(f).type||"memory"),()=>t(f).type?.trim()||"memory",()=>ct(t(f).importance),()=>lt(t(f).created_at,t(p).rangeKey)]),_(x,w)}),a(d),_(o,d)};R($t,o=>{t(ke).length===0?o(It):o(Kt,-1)})}a(Ge),a(De),a(s),F((o,d,x,f,w)=>{u(K,`${t(ye)??""} ${o??""}`),u(m,`${t(we)??""} ${d??""}`),u(L,`${x??""}% avg`),u(C,`${t(p).pinned??""} ${f??""}`),u(Ne,`${t(p).label??""}: `),u(xt,w),u(ht,t(p).memoriesAdded),u(yt,t(p).trackedEvents),u(Mt,t(p).evolved),u(wt,t(p).strengthened),u(Lt,t(p).label)},[()=>re(t(ye),"skill","skills"),()=>re(t(we),"server","servers"),()=>Math.round(H(t(p).avgImportance)*100),()=>re(t(p).pinned,"card","cards"),()=>ot(t(p).start,t(p).end)]),_(e,s)};R(Ee,e=>{t(X)?e(pt):t(N).length===0?e(ut,1):t(p)&&e(ft,2)})}var gt=c(Ee,2);{var bt=e=>{var s=Ta(),l=r(s,!0);a(s),F(()=>u(l,t(z))),_(e,s)};R(gt,e=>{t(z)&&e(bt)})}a(Ae),a(Y),Jt(Y,e=>b(I,e),()=>t(I)),_(et,Y),Vt()}ea(["click"]);export{$a as default};
1
+ import{p as Wt,o as $,e as Z,q as Gt,N as Yt,$ as Zt,j as r,t as c,k as R,i as t,l as a,F as Jt,v as b,b as _,d as Vt,u as P,A as G,y as F,B as Xt,D as Xe,z as u,O as Qt,w as J,m as T,c as be,f as xe,K as _e,P as ea}from"./o6XZc-z-.js";import{h as ta,n as Qe,i as aa,j as ra,k as sa,l as ia,m as na,B as he}from"./CpxGl5i3.js";import{P as oa}from"./DiLyuexf.js";import{T as la}from"./BBTUzYSt.js";import{C as ca}from"./CJcLbOP2.js";import{C as da}from"./0YLGfr3B.js";import{R as va}from"./DVkQT636.js";var ma=T('<div class="flex flex-1 items-center justify-center sig-label">Loading timeline...</div>'),pa=T('<div class="flex flex-1 items-center justify-center sig-label text-[var(--sig-text-muted)]">No timeline data yet.</div>'),ua=T('<button role="tab"> </button>'),fa=T('<p class="sig-label text-[var(--sig-text-muted)]">No type signals</p>'),ga=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ba=T('<p class="sig-label text-[var(--sig-text-muted)]">No source signals</p>'),xa=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),_a=T('<p class="sig-label text-[var(--sig-text-muted)]">No tags this era</p>'),ha=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ya=T('<p class="mt-2 sig-label text-[var(--sig-text-muted)]">No memories saved in this era yet.</p>'),Ma=T('<article class="timeline-top-card rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-2 svelte-1acbaf"><div class="timeline-top-card-head svelte-1acbaf"><div class="timeline-top-card-icon svelte-1acbaf"> </div> <div class="timeline-top-card-title-wrap svelte-1acbaf"><p class="timeline-top-card-title svelte-1acbaf"> </p> <p class="timeline-top-card-subtitle svelte-1acbaf"> </p></div></div> <p class="timeline-top-card-content mt-1 text-[11px] leading-relaxed text-[var(--sig-text)] line-clamp-4 svelte-1acbaf"> </p> <div class="timeline-top-card-meta mt-auto flex items-center justify-between gap-2 pt-2 text-[11px] text-[var(--sig-text-muted)] svelte-1acbaf"><p class="timeline-top-card-badge svelte-1acbaf"> </p> <p> </p></div></article>'),wa=T('<div class="timeline-top-card-grid mt-2 svelte-1acbaf"></div>'),ka=T('<div class="timeline-stack flex flex-1 min-h-0 flex-col gap-3 svelte-1acbaf"><section class="timeline-hero rounded-xl border border-[var(--sig-border)] p-3 overflow-hidden svelte-1acbaf"><div class="timeline-hero-grid svelte-1acbaf"><div class="min-w-0"><h2 class="timeline-hero-title svelte-1acbaf">Signet Evolution Timeline</h2> <p class="timeline-hero-subtitle svelte-1acbaf">Track added, evolved, and pinned memories across recap eras.</p></div> <div class="timeline-hero-metrics svelte-1acbaf"><div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Agent skills used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">MCP servers used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Average importance</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Pinned</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div></div></div></section> <div class="timeline-content-split flex-1 min-h-0 gap-3 svelte-1acbaf"><section class="timeline-detail-panel flex min-h-0 flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-[10.5px] border-2 border-[var(--sig-border-strong)] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="--panel-pad: 0.75rem;"><div class="timeline-era-head svelte-1acbaf"><div class="timeline-era-title-row svelte-1acbaf"><p class="sig-heading timeline-era-title svelte-1acbaf"> <span class="timeline-era-title-range svelte-1acbaf"> </span></p> <div class="timeline-era-controls flex items-center gap-1 svelte-1acbaf"><!> <div role="tablist" aria-orientation="horizontal" class="flex items-center gap-1"></div> <!> <!></div></div></div> <div class="timeline-summary-grid svelte-1acbaf"><div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Added</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Tracked events captured</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Evolved</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Strengthened</span></p></div></div> <div class="timeline-mix-grid svelte-1acbaf"><div class="timeline-mix-card timeline-mix-card--type p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Type mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--source p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Source mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--tags p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Top tags</p> <!></div></div></section> <section class="timeline-top-panel rounded-[10.5px] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="border: 0.87px solid var(--sig-border);"><div class="flex items-center justify-between gap-2"><p class="sig-label text-[var(--sig-text-bright)]">Top Four Memories</p> <p class="text-[11px] text-[var(--sig-text-bright)]"> </p></div> <!></section></div></div>'),Ta=T('<p class="sig-label text-[var(--sig-danger)]"> </p>'),Sa=T('<div class="timeline-shell flex flex-col flex-1 min-h-0 overflow-hidden bg-[var(--sig-bg)] svelte-1acbaf" role="region" aria-label="Memory timeline. Use left and right arrows to move through eras."><!> <div class="flex flex-1 min-h-0 flex-col gap-3 p-3 bg-[var(--sig-bg)]"><!> <!></div></div>');function $a(et,V){Wt(V,!0);const tt="h-8 px-3 rounded-lg border text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] transition-colors";let X=$(!1),z=$(null),N=$(Z([])),S=$(0),Q=$(Z({})),ee=$(Z({})),te=$(Z({})),I=$(null);const p=P(()=>t(N)[t(S)]??null),ye=P(()=>t(p)?t(Q)[t(p).rangeKey]??0:0);function at(e){return e.sourceBreakdown.filter(l=>Me(l.key)).length}function Me(e){const s=e.trim().toLowerCase();return s?!!(/\bmcp\b/.test(s)||/\btool[-\s]?servers?\b/.test(s)||s.includes("model context protocol")||s.includes("model-context-protocol")||s.includes("modelcontextprotocol")):!1}const we=P(()=>t(p)?Math.max(t(ee)[t(p).rangeKey]??0,at(t(p))):0),ke=P(()=>t(p)?t(te)[t(p).rangeKey]??[]:[]);function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rt(e){if(Array.isArray(e))return e.filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>s.length>0);if(typeof e=="string"){const s=e.trim();if(!s)return[];if(s.startsWith("[")&&s.endsWith("]"))try{const l=JSON.parse(s);if(Array.isArray(l))return l.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0)}catch{}return s.split(",").map(l=>l.trim()).filter(l=>l.length>0)}return[]}function st(e,s,l,n){const A=l.map(i=>i.name.trim().toLowerCase()).filter(i=>i.length>0).map(i=>({name:i,pattern:new RegExp(`\\b${Te(i)}\\b`,"i")})),D=n.flatMap(i=>{const m=[];for(const y of[i.name,i.id]){const M=y.trim().toLowerCase();M.length>0&&m.push({serverId:i.id,pattern:new RegExp(`\\b${Te(M)}\\b`,"i")})}return m}),U=e.map(i=>({bucket:i,skillSet:new Set,mcpSet:new Set,hasMcpSignal:!1,startMs:Date.parse(i.start),endMs:Date.parse(i.end)}));for(const i of s){const m=Date.parse(i.created_at);if(!Number.isFinite(m))continue;const y=rt(i.tags).join(" "),M=[i.content,i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase(),L=[i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase();for(const g of U){if(m<g.startMs||m>g.endMs)continue;for(const C of A)C.pattern.test(M)&&g.skillSet.add(C.name);let W=!1;for(const C of D)C.pattern.test(M)&&(g.mcpSet.add(C.serverId),W=!0);!W&&Me(L)&&(g.hasMcpSignal=!0)}}const K={},v={};for(const i of U)K[i.bucket.rangeKey]=i.skillSet.size,v[i.bucket.rangeKey]=i.mcpSet.size>0?i.mcpSet.size:i.hasMcpSignal?1:0;return{skillUsage:K,mcpUsage:v}}function H(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?0:e>=1?1:e}function it(e,s){const l=new Map;for(const v of e){const i=Date.parse(v.start),m=Date.parse(v.end);!Number.isFinite(i)||!Number.isFinite(m)||l.set(v.rangeKey,{startMs:i,endMs:m})}const n=l.get("today")??null,A=l.get("last_week")??null;function D(v){const i=l.get(v.rangeKey),m=Date.parse(v.start),y=Date.parse(v.end),M={startMs:Number.isFinite(m)?m:Number.NEGATIVE_INFINITY,endMs:Number.isFinite(y)?y:Number.POSITIVE_INFINITY};if(!i)return M;const L=i.startMs;let g=i.endMs;return v.rangeKey==="last_week"&&n?g=Math.min(g,n.startMs-1):v.rangeKey==="one_month"&&(A?g=Math.min(g,A.startMs-1):n&&(g=Math.min(g,n.startMs-1))),g<L?M:{startMs:L,endMs:g}}const U=e.map(v=>{const i=D(v);return{bucket:v,startMs:i.startMs,endMs:i.endMs,candidates:[]}});for(const v of s){const i=Date.parse(v.created_at);if(Number.isFinite(i))for(const m of U){if(i<m.startMs||i>m.endMs)continue;const y=Math.max(1,m.endMs-m.startMs),M=Math.max(0,Math.min(1,(i-m.startMs)/y)),L=H(v.importance)*100+(v.pinned?24:0)+M*8;m.candidates.push({memory:v,score:L,createdAt:i})}}const K={};for(const v of U)v.candidates.sort((i,m)=>{if(m.score!==i.score)return m.score-i.score;const y=H(i.memory.importance),M=H(m.memory.importance);return M!==y?M-y:m.createdAt!==i.createdAt?m.createdAt-i.createdAt:i.memory.id.localeCompare(m.memory.id)}),K[v.bucket.rangeKey]=v.candidates.slice(0,4).map(i=>i.memory);return K}function q(e=1){t(N).length!==0&&b(S,Math.min(t(N).length-1,t(S)+e),!0)}function O(e=1){t(N).length!==0&&b(S,Math.max(0,t(S)-e),!0)}function ae(e){V.ontimelinegeneratedforchange&&V.ontimelinegeneratedforchange(e)}async function nt(){b(X,!0),b(z,null);try{const e=ra(5e3,0),[s,l,n,A]=await Promise.all([sa({fallbackMemories:e.then(U=>U.memories)}),ia(),na(),e]);b(N,s.buckets,!0),ae(s.generatedFor);const D=st(s.buckets,A.memories,l,n.servers);b(Q,D.skillUsage,!0),b(ee,D.mcpUsage,!0),b(te,it(s.buckets,A.memories),!0),b(S,0),s.error&&b(z,s.error,!0)}catch{b(z,"Failed to load timeline."),b(N,[],!0),ae(""),b(Q,{},!0),b(ee,{},!0),b(te,{},!0)}finally{b(X,!1)}}function ot(e,s){const l={month:"short",day:"numeric",timeZone:"UTC"},n=new Date(e).toLocaleDateString("en-US",l),A=new Date(s).toLocaleDateString("en-US",{...l,year:"numeric"});return`${n} - ${A}`}function lt(e,s){const l=Date.parse(e);if(!Number.isFinite(l))return"Unknown";const n=new Date(l);return s==="today"?n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",timeZone:"UTC"}):n.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"})}function ct(e){return`${Math.round(H(e)*100)}%`}function re(e,s,l){return e===1?s:l}function dt(e){const s=e.split(/[-_.\s]+/).map(l=>l.trim()).filter(l=>l.length>0);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():e.slice(0,2).toUpperCase()||"M"}function vt(e){return e.rangeKey==="last_week"?"Week":e.rangeKey==="one_month"?"Month":"Today"}function mt(e){if(Qe.activeTab!=="timeline")return;const s=e.target;if(s instanceof HTMLElement){const n=s.tagName;if(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||s.isContentEditable)return}if(s instanceof HTMLElement&&s.hasAttribute("data-memory-tab")){if(e.key==="ArrowDown"){e.preventDefault();const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus()}return}if(s instanceof HTMLElement&&s.closest('.timeline-era-controls [role="tablist"]')){if(e.key==="ArrowUp"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowDown"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);return}if(e.key==="PageDown"){e.preventDefault(),q(3);return}if(e.key==="PageUp"){e.preventDefault(),O(3);return}}Gt(()=>(nt(),()=>{ae("")}));var Y=Sa();Yt("keydown",Zt,mt);var Se=r(Y);oa(Se,{title:"Timeline",children:(e,s)=>{la(e,{group:"memory",get tabs(){return aa},get activeTab(){return Qe.activeTab},onselect:(l,n)=>ta(n)})}});var Ae=c(Se,2),Ee=r(Ae);{var pt=e=>{var s=ma();_(e,s)},ut=e=>{var s=pa();_(e,s)},ft=e=>{var s=ka(),l=r(s),n=r(l),A=c(r(n),2),D=r(A),U=c(r(D),2),K=r(U);a(U),a(D);var v=c(D,2),i=c(r(v),2),m=r(i);a(i),a(v);var y=c(v,2),M=c(r(y),2),L=r(M);a(M),a(y);var g=c(y,2),W=c(r(g),2),C=r(W);a(W),a(g),a(A),a(n),a(l);var De=c(l,2),se=r(De),ie=r(se),Ue=r(ie),ne=r(Ue),Ne=r(ne),Be=c(Ne),xt=r(Be,!0);a(Be),a(ne);var Le=c(ne,2),$e=r(Le);{let o=P(()=>t(S)<=0);he($e,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>O(),get disabled(){return t(o)},title:"Move to newer era",children:(d,x)=>{ca(d,{class:"size-3.5"})},$$slots:{default:!0}})}var oe=c($e,2);G(oe,23,()=>t(N),o=>o.eraIndex,(o,d,x)=>{var f=ua(),w=r(f,!0);a(f),F(h=>{Xt(f,1,`${tt} ${t(x)===t(S)?"border-[var(--sig-accent)] bg-[color-mix(in_srgb,var(--sig-surface-raised)_76%,transparent)] text-[var(--sig-text-bright)]":"border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"}`,"svelte-1acbaf"),Xe(f,"aria-selected",t(x)===t(S)),Xe(f,"tabindex",t(x)===t(S)?0:-1),u(w,h)},[()=>vt(t(d))]),Qt("click",f,()=>{b(S,t(x),!0)}),_(o,f)}),a(oe);var Ie=c(oe,2);{let o=P(()=>t(S)>=t(N).length-1);he(Ie,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>q(),get disabled(){return t(o)},title:"Move to older era",children:(d,x)=>{da(d,{class:"size-3.5"})},$$slots:{default:!0}})}var _t=c(Ie,2);he(_t,{variant:"ghost",size:"sm",class:"h-8 px-2 sig-label",onclick:()=>{b(S,0)},title:"Jump to today",children:(o,d)=>{va(o,{class:"size-3.5"})},$$slots:{default:!0}}),a(Le),a(Ue),a(ie);var le=c(ie,2),ce=r(le),Ke=r(ce),Ce=r(Ke),ht=r(Ce,!0);a(Ce),J(2),a(Ke),a(ce);var de=c(ce,2),je=r(de),Fe=r(je),yt=r(Fe,!0);a(Fe),J(2),a(je),a(de);var ve=c(de,2),Re=r(ve),Pe=r(Re),Mt=r(Pe,!0);a(Pe),J(2),a(Re),a(ve);var ze=c(ve,2),He=r(ze),qe=r(He),wt=r(qe,!0);a(qe),J(2),a(He),a(ze),a(le);var Oe=c(le,2),me=r(Oe),kt=c(r(me),2);{var Tt=o=>{var d=fa();_(o,d)},St=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).typeBreakdown,_e,(f,w)=>{var h=ga(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(kt,o=>{t(p).typeBreakdown.length===0?o(Tt):o(St,-1)})}a(me);var pe=c(me,2),At=c(r(pe),2);{var Et=o=>{var d=ba();_(o,d)},Dt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).sourceBreakdown,_e,(f,w)=>{var h=xa(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(At,o=>{t(p).sourceBreakdown.length===0?o(Et):o(Dt,-1)})}a(pe);var We=c(pe,2),Ut=c(r(We),2);{var Nt=o=>{var d=_a();_(o,d)},Bt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).topTags,_e,(f,w)=>{var h=ha(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(Ut,o=>{t(p).topTags.length===0?o(Nt):o(Bt,-1)})}a(We),a(Oe),a(se);var Ge=c(se,2),ue=r(Ge),Ye=c(r(ue),2),Lt=r(Ye,!0);a(Ye),a(ue);var $t=c(ue,2);{var It=o=>{var d=ya();_(o,d)},Kt=o=>{var d=wa();G(d,21,()=>t(ke),x=>x.id,(x,f)=>{var w=Ma(),h=r(w),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E),Ct=r(B,!0);a(B);var Ze=c(B,2),jt=r(Ze,!0);a(Ze),a(E),a(h);var fe=c(h,2),Ft=r(fe,!0);a(fe);var Je=c(fe,2),ge=r(Je),Rt=r(ge);a(ge);var Ve=c(ge,2),Pt=r(Ve,!0);a(Ve),a(Je),a(w),F((zt,Ht,qt,Ot)=>{u(j,zt),u(Ct,t(f).who||"Unknown source"),u(jt,Ht),u(Ft,t(f).content),u(Rt,`imp ${qt??""}`),u(Pt,Ot)},[()=>dt(t(f).who||t(f).type||"memory"),()=>t(f).type?.trim()||"memory",()=>ct(t(f).importance),()=>lt(t(f).created_at,t(p).rangeKey)]),_(x,w)}),a(d),_(o,d)};R($t,o=>{t(ke).length===0?o(It):o(Kt,-1)})}a(Ge),a(De),a(s),F((o,d,x,f,w)=>{u(K,`${t(ye)??""} ${o??""}`),u(m,`${t(we)??""} ${d??""}`),u(L,`${x??""}% avg`),u(C,`${t(p).pinned??""} ${f??""}`),u(Ne,`${t(p).label??""}: `),u(xt,w),u(ht,t(p).memoriesAdded),u(yt,t(p).trackedEvents),u(Mt,t(p).evolved),u(wt,t(p).strengthened),u(Lt,t(p).label)},[()=>re(t(ye),"skill","skills"),()=>re(t(we),"server","servers"),()=>Math.round(H(t(p).avgImportance)*100),()=>re(t(p).pinned,"card","cards"),()=>ot(t(p).start,t(p).end)]),_(e,s)};R(Ee,e=>{t(X)?e(pt):t(N).length===0?e(ut,1):t(p)&&e(ft,2)})}var gt=c(Ee,2);{var bt=e=>{var s=Ta(),l=r(s,!0);a(s),F(()=>u(l,t(z))),_(e,s)};R(gt,e=>{t(z)&&e(bt)})}a(Ae),a(Y),Jt(Y,e=>b(I,e),()=>t(I)),_(et,Y),Vt()}ea(["click"]);export{$a as default};
@@ -1,4 +1,4 @@
1
- import{p as it,g as It,t as r,j as s,l as e,w as kt,A as mt,y as z,z as _,i as t,aa as rt,b as g,K as Rt,d as lt,u as S,m as b,o as P,e as ct,as as se,q as Ot,v as A,k as nt,O as gt,D as Dt,N as ae,at as re,x as Yt,P as jt,s as Wt,c as Kt,f as qt,a as ne,n as ie,r as zt,Q as Jt,h as St,au as le,E as Ut,F as oe}from"./o6XZc-z-.js";import{l as ve,m as ce,aR as de,aS as ue,n as pe,I as fe,aT as Qt,o as ge,B as me,aU as Bt,t as ft,R as he,aV as _e,aW as ye,aB as xe,a as Se}from"./DqNoVcfB.js";import{f as be,a as we,s as Ht,m as Ft,g as Me,b as Ee,c as Vt,d as Te}from"./B3AadZwF.js";import{P as Ce,a as Ie,b as ke}from"./CMmGjAIP.js";import{T as je}from"./CgTkkr-Z.js";import{R as Ae}from"./DHbfKljG.js";var Ne=b('<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>'),Re=b('<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>'),De=b('<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 Oe(W,c){it(c,!0);let h=It(c,"diagnostics",3,null),y=It(c,"pipelineStatus",3,null),w=It(c,"memoryStats",3,null);const I=S(()=>{const x=c.daemonStatus?.agentCreatedAt;if(!x)return null;const m=new Date(x).getTime();return Number.isNaN(m)?null:Math.max(0,Math.floor((Date.now()-m)/864e5))}),L=S(()=>t(I)===null?"--":t(I)===0?"TODAY":t(I)===1?"1 DAY":`${t(I)} DAYS`),k=S(()=>c.daemonStatus?.activeSessions??0),N=S(()=>c.daemonStatus?.version??"--"),j=S(()=>c.continuity.length===0?null:[...c.continuity].sort((m,C)=>new Date(C.created_at).getTime()-new Date(m.created_at).getTime())[0]);function K(x){const m=Date.now()-new Date(x).getTime(),C=Math.floor(m/6e4);if(C<1)return"JUST NOW";if(C<60)return`${C}M AGO`;const E=Math.floor(C/60);return E<24?`${E}H AGO`:`${Math.floor(E/24)}D AGO`}const H=S(()=>t(j)?.project?.replace(/\/$/,"").split("/").pop()??"--"),Z=S(()=>t(j)?K(t(j).created_at):"--"),Q=S(()=>c.identity.name?.trim()||"SIGNET AGENT"),X=S(()=>h()?.composite?.score??null),F=S(()=>h()?.composite?.status??"UNKNOWN"),$=S(()=>h()?.index?.embeddingCoverage!==void 0?Math.round(h().index.embeddingCoverage*100):!w()||w().total===0?null:Math.round(w().withEmbeddings/w().total*100)),tt=S(()=>y()?typeof y().mode=="string"?y().mode.toUpperCase():"ACTIVE":"UNKNOWN"),o=S(()=>{if(!h())return 0;let x=0;const m=["queue","storage","index","provider","connector","predictor"];for(const C of m){const E=h()[C];if(E&&typeof E=="object"&&"status"in E){const J=E.status;(J==="degraded"||J==="unhealthy")&&x++}}return x});function T(x){return x===null?"var(--sig-text-muted)":x>=.8?"var(--sig-success)":x>=.5?"var(--sig-warning)":"var(--sig-danger)"}const D=S(()=>[{idx:"01",label:"UPTIME",value:t(L)},{idx:"02",label:"PROJECT",value:t(H)},{idx:"03",label:"LAST SEEN",value:t(Z)},{idx:"04",label:"CONNECTORS",value:String(c.connectorCount)},{idx:"05",label:"SESSIONS",value:String(t(k))}]),n=S(()=>[{idx:"06",label:"HEALTH",value:t(X)!==null?`${t(X).toFixed(2)} ${t(F).toUpperCase()}`:"--",color:T(t(X))},{idx:"07",label:"EMBEDDED",value:t($)!==null?`${t($)}%`:"--"},{idx:"08",label:"PIPELINE",value:t(tt)},{idx:"09",label:"WARNINGS",value:String(t(o)),color:t(o)>0?"var(--sig-danger)":void 0}]);var u=De(),V=r(s(u),2),M=s(V),l=r(s(M),2),i=s(l);e(l),e(M);var d=r(M,2),R=s(d),a=s(R,!0);e(R);var v=r(R,2),p=s(v),f=s(p,!0);e(p),kt(2),e(v),e(d);var G=r(d,4),U=s(G);mt(U,21,()=>t(D),Rt,(x,m)=>{var C=Ne(),E=s(C),J=s(E,!0);e(E);var Y=r(E,2),et=s(Y,!0);e(Y);var O=r(Y,4),q=s(O,!0);e(O),e(C),z(()=>{_(J,t(m).idx),_(et,t(m).label),rt(O,t(m).color?`color: ${t(m).color}`:""),_(q,t(m).value)}),g(x,C)}),e(U);var B=r(U,2);mt(B,21,()=>t(n),Rt,(x,m)=>{var C=Re(),E=s(C),J=s(E,!0);e(E);var Y=r(E,2),et=s(Y,!0);e(Y);var O=r(Y,4),q=s(O,!0);e(O),e(C),z(()=>{_(J,t(m).idx),_(et,t(m).label),rt(O,t(m).color?`color: ${t(m).color}`:""),_(q,t(m).value)}),g(x,C)}),e(B),e(G),e(V),e(u),z(x=>{_(i,`v${t(N)??""}`),_(a,t(Q)),_(f,x)},[()=>c.memoryCount.toLocaleString()]),g(W,u),lt()}var qe=b('<div class="empty-state svelte-6whpsi">LOADING USAGE...</div>'),Pe=b('<div class="empty-state svelte-6whpsi">NO TRACKED USAGE YET</div>'),Le=b('<img class="spotlight-avatar svelte-6whpsi"/>'),$e=b('<button type="button" class="spotlight-card svelte-6whpsi"><div class="spotlight-top svelte-6whpsi"><div class="spotlight-icon svelte-6whpsi"><!></div> <div class="spotlight-meta svelte-6whpsi"><span class="spotlight-name svelte-6whpsi"> </span> <span class="spotlight-badge svelte-6whpsi"> </span></div></div> <p class="spotlight-desc svelte-6whpsi"> </p> <p class="spotlight-usage svelte-6whpsi"> </p></button>'),Ge=b('<div class="spotlights-grid svelte-6whpsi"></div>'),Ue=b('<div class="spotlights-panel sig-panel svelte-6whpsi"><div class="spotlights-header sig-panel-header svelte-6whpsi"><span class="spotlights-title svelte-6whpsi">MOST USED SKILLS & SERVERS</span> <span class="spotlights-count svelte-6whpsi">LAST 30 DAYS</span></div> <!></div>');function Be(W,c){it(c,!0);const h=6,y=3,w=new Date(Date.now()-30*864e5).toISOString();let I=P(!1),L=P(ct([])),k=P(ct([])),N=P(null),j=P(null);const K=new se;Ot(async()=>{const n=await Promise.allSettled([be(),we(5),ve(),ce(),de({since:w,limit:y}),ue({since:w,limit:y})]);n[2]?.status==="fulfilled"&&A(L,n[2].value,!0),n[3]?.status==="fulfilled"&&A(k,n[3].value.servers,!0),n[4]?.status==="fulfilled"&&A(N,n[4].value,!0),n[5]?.status==="fulfilled"&&A(j,n[5].value,!0),A(I,!0)});const H=S(()=>{const n=new Map;for(const l of t(L))n.set(l.name.toLowerCase(),{name:l.name,description:l.description});for(const l of Ht.catalog){const i=l.name.toLowerCase();n.has(i)||n.set(i,{name:l.name,description:l.description})}const u=new Map;for(const l of t(k))u.set(l.id,{name:l.name,description:l.description});for(const l of Ft.catalog)u.has(l.id)||u.set(l.id,{name:l.name,description:l.description});const V=(t(N)?.topSkills??[]).slice(0,y).map(l=>{const i=n.get(l.skillName.toLowerCase());return{kind:"skill",id:l.skillName,name:i?.name??l.skillName,description:i?.description??"Tracked from real skill invocation history.",count:l.count}}),M=(t(j)?.topServers??[]).slice(0,y).map(l=>{const i=u.get(l.serverId);return{kind:"mcp",id:l.serverId,name:i?.name??l.serverId,description:i?.description??"Tracked from real MCP server invocation history.",count:l.count}});return[...V,...M].slice(0,h)});function Z(n){return n.kind==="skill"?`sk:${n.id}`:`mcp:${n.id}`}function Q(n){return n.kind==="skill"?"SKILL":"MCP"}function X(n){if(n.kind==="mcp"){const l=t(k).find(d=>d.id===n.id);if(l?.source!=="manual"&&l?.catalogId)return Vt(l.source,l.catalogId);const i=Ft.catalog.find(d=>d.id===n.id);return i?Vt(i.source,i.catalogId)??Te(i.sourceUrl):null}const u=t(L).find(l=>l.name.toLowerCase()===n.id.toLowerCase());if(u?.maintainer)return`https://github.com/${u.maintainer.split("/")[0]}.png?size=40`;const M=Ht.catalog.find(l=>l.name.toLowerCase()===n.id.toLowerCase())?.maintainer;return M?`https://github.com/${M.split("/")[0]}.png?size=40`:null}function F(){pe.activeTab="skills"}var $=Ue(),tt=r(s($),2);{var o=n=>{var u=qe();g(n,u)},T=n=>{var u=Pe();g(n,u)},D=n=>{var u=Ge();mt(u,21,()=>t(H),V=>Z(V),(V,M)=>{const l=S(()=>X(t(M))),i=S(()=>Z(t(M)));var d=$e(),R=s(d),a=s(R),v=s(a);{var p=O=>{var q=Le();z(()=>{Dt(q,"src",t(l)),Dt(q,"alt",t(M).name)}),ae("error",q,()=>{K.add(t(i))}),re(q),g(O,q)},f=S(()=>t(l)&&!K.has(t(i))),G=O=>{var q=Yt();z(st=>_(q,st),[()=>Ee(t(M).name)]),g(O,q)};nt(v,O=>{t(f)?O(p):O(G,-1)})}e(a);var U=r(a,2),B=s(U),x=s(B,!0);e(B);var m=r(B,2),C=s(m,!0);e(m),e(U),e(R);var E=r(R,2),J=s(E,!0);e(E);var Y=r(E,2),et=s(Y);e(Y),e(d),z((O,q)=>{rt(a,`background: ${O??""};`),_(x,t(M).name),_(C,q),_(J,t(M).description),_(et,`${t(M).count??""} uses`)},[()=>t(l)&&!K.has(t(i))?"transparent":Me(t(M).name),()=>Q(t(M))]),gt("click",d,F),g(V,d)}),e(u),g(n,u)};nt(tt,n=>{!t(I)&&t(H).length===0?n(o):t(H).length===0?n(T,1):n(D,-1)})}e($),g(W,$),lt()}jt(["click"]);function He(W,c){it(c,!0);let h=zt(c,["$$slots","$$events","$$legacy"]);const y=[["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"}]];fe(W,Wt({name:"brain"},()=>h,{get iconNode(){return y},children:(w,I)=>{var L=Kt(),k=qt(L);ne(k,()=>c.children??ie),g(w,L)},$$slots:{default:!0}})),lt()}var Fe=b('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Ve=b('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Ye=b('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),We=b('<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>'),Ke=b('<div class="entity-list svelte-1qexx7n"></div>'),ze=b('<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 Je(W,c){it(c,!0);let h=P(ct([])),y=P(!1);async function w(){try{const o=await fetch(`${ge}/api/memories/most-used?limit=50`);if(o.ok){const n=((await o.json()).memories??[]).filter(u=>typeof u.id=="string"&&u.id.length>0&&typeof u.content=="string").map(u=>({id:u.id,content:u.content??"",access_count:u.access_count??0,importance:u.importance??.5}));if(n.length>0){A(h,n,!0),A(y,!0);return}}}catch{}A(h,c.memories.map(o=>({id:o.id,content:o.content,access_count:0,importance:o.importance??.5})).sort((o,T)=>T.importance-o.importance).slice(0,50),!0),A(y,!0)}Ot(()=>{w()});function I(o){const T=o.content.trim(),D=T.split(`
1
+ import{p as it,g as It,t as r,j as s,l as e,w as kt,A as mt,y as z,z as _,i as t,aa as rt,b as g,K as Rt,d as lt,u as S,m as b,o as P,e as ct,as as se,q as Ot,v as A,k as nt,O as gt,D as Dt,N as ae,at as re,x as Yt,P as jt,s as Wt,c as Kt,f as qt,a as ne,n as ie,r as zt,Q as Jt,h as St,au as le,E as Ut,F as oe}from"./o6XZc-z-.js";import{l as ve,m as ce,aR as de,aS as ue,n as pe,I as fe,aT as Qt,o as ge,B as me,aU as Bt,t as ft,R as he,aV as _e,aW as ye,aB as xe,a as Se}from"./CpxGl5i3.js";import{f as be,a as we,s as Ht,m as Ft,g as Me,b as Ee,c as Vt,d as Te}from"./CDKqLXFH.js";import{P as Ce,a as Ie,b as ke}from"./B-6H0vQs.js";import{T as je}from"./DiGse0FC.js";import{R as Ae}from"./DHOaJydZ.js";var Ne=b('<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>'),Re=b('<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>'),De=b('<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 Oe(W,c){it(c,!0);let h=It(c,"diagnostics",3,null),y=It(c,"pipelineStatus",3,null),w=It(c,"memoryStats",3,null);const I=S(()=>{const x=c.daemonStatus?.agentCreatedAt;if(!x)return null;const m=new Date(x).getTime();return Number.isNaN(m)?null:Math.max(0,Math.floor((Date.now()-m)/864e5))}),L=S(()=>t(I)===null?"--":t(I)===0?"TODAY":t(I)===1?"1 DAY":`${t(I)} DAYS`),k=S(()=>c.daemonStatus?.activeSessions??0),N=S(()=>c.daemonStatus?.version??"--"),j=S(()=>c.continuity.length===0?null:[...c.continuity].sort((m,C)=>new Date(C.created_at).getTime()-new Date(m.created_at).getTime())[0]);function K(x){const m=Date.now()-new Date(x).getTime(),C=Math.floor(m/6e4);if(C<1)return"JUST NOW";if(C<60)return`${C}M AGO`;const E=Math.floor(C/60);return E<24?`${E}H AGO`:`${Math.floor(E/24)}D AGO`}const H=S(()=>t(j)?.project?.replace(/\/$/,"").split("/").pop()??"--"),Z=S(()=>t(j)?K(t(j).created_at):"--"),Q=S(()=>c.identity.name?.trim()||"SIGNET AGENT"),X=S(()=>h()?.composite?.score??null),F=S(()=>h()?.composite?.status??"UNKNOWN"),$=S(()=>h()?.index?.embeddingCoverage!==void 0?Math.round(h().index.embeddingCoverage*100):!w()||w().total===0?null:Math.round(w().withEmbeddings/w().total*100)),tt=S(()=>y()?typeof y().mode=="string"?y().mode.toUpperCase():"ACTIVE":"UNKNOWN"),o=S(()=>{if(!h())return 0;let x=0;const m=["queue","storage","index","provider","connector","predictor"];for(const C of m){const E=h()[C];if(E&&typeof E=="object"&&"status"in E){const J=E.status;(J==="degraded"||J==="unhealthy")&&x++}}return x});function T(x){return x===null?"var(--sig-text-muted)":x>=.8?"var(--sig-success)":x>=.5?"var(--sig-warning)":"var(--sig-danger)"}const D=S(()=>[{idx:"01",label:"UPTIME",value:t(L)},{idx:"02",label:"PROJECT",value:t(H)},{idx:"03",label:"LAST SEEN",value:t(Z)},{idx:"04",label:"CONNECTORS",value:String(c.connectorCount)},{idx:"05",label:"SESSIONS",value:String(t(k))}]),n=S(()=>[{idx:"06",label:"HEALTH",value:t(X)!==null?`${t(X).toFixed(2)} ${t(F).toUpperCase()}`:"--",color:T(t(X))},{idx:"07",label:"EMBEDDED",value:t($)!==null?`${t($)}%`:"--"},{idx:"08",label:"PIPELINE",value:t(tt)},{idx:"09",label:"WARNINGS",value:String(t(o)),color:t(o)>0?"var(--sig-danger)":void 0}]);var u=De(),V=r(s(u),2),M=s(V),l=r(s(M),2),i=s(l);e(l),e(M);var d=r(M,2),R=s(d),a=s(R,!0);e(R);var v=r(R,2),p=s(v),f=s(p,!0);e(p),kt(2),e(v),e(d);var G=r(d,4),U=s(G);mt(U,21,()=>t(D),Rt,(x,m)=>{var C=Ne(),E=s(C),J=s(E,!0);e(E);var Y=r(E,2),et=s(Y,!0);e(Y);var O=r(Y,4),q=s(O,!0);e(O),e(C),z(()=>{_(J,t(m).idx),_(et,t(m).label),rt(O,t(m).color?`color: ${t(m).color}`:""),_(q,t(m).value)}),g(x,C)}),e(U);var B=r(U,2);mt(B,21,()=>t(n),Rt,(x,m)=>{var C=Re(),E=s(C),J=s(E,!0);e(E);var Y=r(E,2),et=s(Y,!0);e(Y);var O=r(Y,4),q=s(O,!0);e(O),e(C),z(()=>{_(J,t(m).idx),_(et,t(m).label),rt(O,t(m).color?`color: ${t(m).color}`:""),_(q,t(m).value)}),g(x,C)}),e(B),e(G),e(V),e(u),z(x=>{_(i,`v${t(N)??""}`),_(a,t(Q)),_(f,x)},[()=>c.memoryCount.toLocaleString()]),g(W,u),lt()}var qe=b('<div class="empty-state svelte-6whpsi">LOADING USAGE...</div>'),Pe=b('<div class="empty-state svelte-6whpsi">NO TRACKED USAGE YET</div>'),Le=b('<img class="spotlight-avatar svelte-6whpsi"/>'),$e=b('<button type="button" class="spotlight-card svelte-6whpsi"><div class="spotlight-top svelte-6whpsi"><div class="spotlight-icon svelte-6whpsi"><!></div> <div class="spotlight-meta svelte-6whpsi"><span class="spotlight-name svelte-6whpsi"> </span> <span class="spotlight-badge svelte-6whpsi"> </span></div></div> <p class="spotlight-desc svelte-6whpsi"> </p> <p class="spotlight-usage svelte-6whpsi"> </p></button>'),Ge=b('<div class="spotlights-grid svelte-6whpsi"></div>'),Ue=b('<div class="spotlights-panel sig-panel svelte-6whpsi"><div class="spotlights-header sig-panel-header svelte-6whpsi"><span class="spotlights-title svelte-6whpsi">MOST USED SKILLS & SERVERS</span> <span class="spotlights-count svelte-6whpsi">LAST 30 DAYS</span></div> <!></div>');function Be(W,c){it(c,!0);const h=6,y=3,w=new Date(Date.now()-30*864e5).toISOString();let I=P(!1),L=P(ct([])),k=P(ct([])),N=P(null),j=P(null);const K=new se;Ot(async()=>{const n=await Promise.allSettled([be(),we(5),ve(),ce(),de({since:w,limit:y}),ue({since:w,limit:y})]);n[2]?.status==="fulfilled"&&A(L,n[2].value,!0),n[3]?.status==="fulfilled"&&A(k,n[3].value.servers,!0),n[4]?.status==="fulfilled"&&A(N,n[4].value,!0),n[5]?.status==="fulfilled"&&A(j,n[5].value,!0),A(I,!0)});const H=S(()=>{const n=new Map;for(const l of t(L))n.set(l.name.toLowerCase(),{name:l.name,description:l.description});for(const l of Ht.catalog){const i=l.name.toLowerCase();n.has(i)||n.set(i,{name:l.name,description:l.description})}const u=new Map;for(const l of t(k))u.set(l.id,{name:l.name,description:l.description});for(const l of Ft.catalog)u.has(l.id)||u.set(l.id,{name:l.name,description:l.description});const V=(t(N)?.topSkills??[]).slice(0,y).map(l=>{const i=n.get(l.skillName.toLowerCase());return{kind:"skill",id:l.skillName,name:i?.name??l.skillName,description:i?.description??"Tracked from real skill invocation history.",count:l.count}}),M=(t(j)?.topServers??[]).slice(0,y).map(l=>{const i=u.get(l.serverId);return{kind:"mcp",id:l.serverId,name:i?.name??l.serverId,description:i?.description??"Tracked from real MCP server invocation history.",count:l.count}});return[...V,...M].slice(0,h)});function Z(n){return n.kind==="skill"?`sk:${n.id}`:`mcp:${n.id}`}function Q(n){return n.kind==="skill"?"SKILL":"MCP"}function X(n){if(n.kind==="mcp"){const l=t(k).find(d=>d.id===n.id);if(l?.source!=="manual"&&l?.catalogId)return Vt(l.source,l.catalogId);const i=Ft.catalog.find(d=>d.id===n.id);return i?Vt(i.source,i.catalogId)??Te(i.sourceUrl):null}const u=t(L).find(l=>l.name.toLowerCase()===n.id.toLowerCase());if(u?.maintainer)return`https://github.com/${u.maintainer.split("/")[0]}.png?size=40`;const M=Ht.catalog.find(l=>l.name.toLowerCase()===n.id.toLowerCase())?.maintainer;return M?`https://github.com/${M.split("/")[0]}.png?size=40`:null}function F(){pe.activeTab="skills"}var $=Ue(),tt=r(s($),2);{var o=n=>{var u=qe();g(n,u)},T=n=>{var u=Pe();g(n,u)},D=n=>{var u=Ge();mt(u,21,()=>t(H),V=>Z(V),(V,M)=>{const l=S(()=>X(t(M))),i=S(()=>Z(t(M)));var d=$e(),R=s(d),a=s(R),v=s(a);{var p=O=>{var q=Le();z(()=>{Dt(q,"src",t(l)),Dt(q,"alt",t(M).name)}),ae("error",q,()=>{K.add(t(i))}),re(q),g(O,q)},f=S(()=>t(l)&&!K.has(t(i))),G=O=>{var q=Yt();z(st=>_(q,st),[()=>Ee(t(M).name)]),g(O,q)};nt(v,O=>{t(f)?O(p):O(G,-1)})}e(a);var U=r(a,2),B=s(U),x=s(B,!0);e(B);var m=r(B,2),C=s(m,!0);e(m),e(U),e(R);var E=r(R,2),J=s(E,!0);e(E);var Y=r(E,2),et=s(Y);e(Y),e(d),z((O,q)=>{rt(a,`background: ${O??""};`),_(x,t(M).name),_(C,q),_(J,t(M).description),_(et,`${t(M).count??""} uses`)},[()=>t(l)&&!K.has(t(i))?"transparent":Me(t(M).name),()=>Q(t(M))]),gt("click",d,F),g(V,d)}),e(u),g(n,u)};nt(tt,n=>{!t(I)&&t(H).length===0?n(o):t(H).length===0?n(T,1):n(D,-1)})}e($),g(W,$),lt()}jt(["click"]);function He(W,c){it(c,!0);let h=zt(c,["$$slots","$$events","$$legacy"]);const y=[["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"}]];fe(W,Wt({name:"brain"},()=>h,{get iconNode(){return y},children:(w,I)=>{var L=Kt(),k=qt(L);ne(k,()=>c.children??ie),g(w,L)},$$slots:{default:!0}})),lt()}var Fe=b('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Ve=b('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Ye=b('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),We=b('<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>'),Ke=b('<div class="entity-list svelte-1qexx7n"></div>'),ze=b('<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 Je(W,c){it(c,!0);let h=P(ct([])),y=P(!1);async function w(){try{const o=await fetch(`${ge}/api/memories/most-used?limit=50`);if(o.ok){const n=((await o.json()).memories??[]).filter(u=>typeof u.id=="string"&&u.id.length>0&&typeof u.content=="string").map(u=>({id:u.id,content:u.content??"",access_count:u.access_count??0,importance:u.importance??.5}));if(n.length>0){A(h,n,!0),A(y,!0);return}}}catch{}A(h,c.memories.map(o=>({id:o.id,content:o.content,access_count:0,importance:o.importance??.5})).sort((o,T)=>T.importance-o.importance).slice(0,50),!0),A(y,!0)}Ot(()=>{w()});function I(o){const T=o.content.trim(),D=T.split(`
2
2
  `)[0]??T;return D.length>60?`${D.slice(0,57)}...`:D}function L(o){return o>=.8?"var(--sig-danger)":o>=.5?"var(--sig-warning)":"var(--sig-success)"}var k=ze(),N=s(k),j=r(s(N),2),K=s(j);e(j),e(N);var H=r(N,2),Z=s(H);{var Q=o=>{var T=Fe();g(o,T)},X=o=>{var T=Ve(),D=s(T);He(D,{class:"empty-icon"}),kt(2),e(T),g(o,T)},F=o=>{var T=Ke();mt(T,23,()=>t(h),D=>D.id,(D,n,u)=>{var V=We(),M=s(V),l=s(M,!0);e(M);var i=r(M,2),d=r(i,2),R=s(d,!0);e(d);var a=r(d,2);{var v=p=>{var f=Ye(),G=s(f,!0);e(f),z(()=>_(G,t(n).access_count)),g(p,f)};nt(a,p=>{t(n).access_count>0&&p(v)})}e(V),z((p,f,G)=>{_(l,p),rt(i,`background: ${f??""}`),_(R,G)},[()=>String(t(u)+1).padStart(2,"0"),()=>L(t(n).importance),()=>I(t(n))]),g(D,V)}),e(T),g(o,T)};nt(Z,o=>{t(y)?t(h).length===0?o(X,1):o(F,-1):o(Q)})}e(H);var $=r(H,2),tt=s($);e($),e(k),z(()=>_(K,`${t(h).length??""} RECALLED`)),gt("click",tt,()=>Qt("cortex-memory")),g(W,k),lt()}jt(["click"]);var Qe=b('<span class="status-indicator svelte-ym2fyr"> </span>'),Xe=b('<div class="empty-state svelte-ym2fyr">LOADING</div>'),Ze=b('<div class="scoring-data svelte-ym2fyr"><div class="split-bar-container svelte-ym2fyr"><div class="split-bar sig-track svelte-ym2fyr"><div class="split-segment baseline svelte-ym2fyr"></div> <div class="split-segment predictor svelte-ym2fyr"></div></div> <div class="split-labels svelte-ym2fyr"><span class="split-label svelte-ym2fyr"> </span> <span class="split-label accent svelte-ym2fyr"> </span></div></div> <div class="stat-rows svelte-ym2fyr"><div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">SUCCESS RATE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">MODEL VERSION</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">TRAINING SESSIONS</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div></div></div>'),ts=b('<div class="stat-rows svelte-ym2fyr"><div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">EMBEDDING COVERAGE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">TOTAL MEMORIES</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">HEALTH SCORE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div></div>'),es=b('<div class="panel sig-panel svelte-ym2fyr"><div class="panel-header sig-panel-header svelte-ym2fyr"><span class="panel-title svelte-ym2fyr">MEMORY SCORING</span> <!></div> <div class="panel-body svelte-ym2fyr"><!></div> <div class="panel-footer sig-panel-footer svelte-ym2fyr"><button class="panel-link svelte-ym2fyr">VIEW PREDICTOR</button></div></div>');function ss(W,c){it(c,!0);const h="";let y=P(null),w=P(null),I=P(!1);const L=S(()=>t(y)?.sidecarAlive),k=S(()=>t(y)?.alpha??.6),N=S(()=>t(y)?.successRate??0),j=S(()=>{if(t(w)?.composite){const i=t(w).composite.score;return i>=.7?"healthy":i>=.4?"degraded":"unhealthy"}return t(y)?.status??"unknown"}),K=S(()=>t(w)?.index?.embeddingCoverage??0),H=S(()=>t(w)?.storage?.totalMemories??0),Z=S(()=>t(w)?.composite?.score??0);function Q(i){return i==="healthy"?"var(--sig-success)":i==="degraded"||i==="cold_start"?"var(--sig-warning)":i==="unhealthy"?"var(--sig-danger)":"var(--sig-text-muted)"}async function X(){try{const[i,d]=await Promise.allSettled([fetch(`${h}/api/diagnostics/predictor`),fetch(`${h}/api/diagnostics`)]);i.status==="fulfilled"&&i.value.ok&&A(y,await i.value.json(),!0),d.status==="fulfilled"&&d.value.ok&&A(w,await d.value.json(),!0)}catch{}A(I,!0)}Jt(()=>{c.daemonStatus?X():A(I,!0)});var F=es(),$=s(F),tt=r(s($),2);{var o=i=>{var d=Qe(),R=s(d,!0);e(d),z((a,v)=>{rt(d,`color: ${a??""}`),_(R,v)},[()=>Q(t(j)),()=>t(j).toUpperCase()]),g(i,d)};nt(tt,i=>{t(I)&&i(o)})}e($);var T=r($,2),D=s(T);{var n=i=>{var d=Xe();g(i,d)},u=i=>{var d=Ze(),R=s(d),a=s(R),v=s(a),p=r(v,2);e(a);var f=r(a,2),G=s(f),U=s(G);e(G);var B=r(G,2),x=s(B);e(B),e(f),e(R);var m=r(R,2),C=s(m),E=r(s(C),4),J=s(E);e(E),e(C);var Y=r(C,2),et=r(s(Y),4),O=s(et);e(et),e(Y);var q=r(Y,2),st=r(s(q),4),At=s(st,!0);e(st),e(q),e(m),e(d),z((bt,wt,Mt)=>{rt(v,`width: ${t(k)*100}%`),rt(p,`width: ${(1-t(k))*100}%`),_(U,`BASELINE ${bt??""}%`),_(x,`PREDICTOR ${wt??""}%`),_(J,`${Mt??""}%`),_(O,`v${t(y)?.modelVersion??"--"??""}`),_(At,t(y)?.trainingSessions??"--")},[()=>Math.round(t(k)*100),()=>Math.round((1-t(k))*100),()=>Math.round(t(N)*100)]),g(i,d)},V=i=>{var d=ts(),R=s(d),a=r(s(R),4),v=s(a);e(a),e(R);var p=r(R,2),f=r(s(p),4),G=s(f,!0);e(f),e(p);var U=r(p,2),B=r(s(U),4),x=s(B);e(B),e(U),e(d),z((m,C,E)=>{_(v,`${m??""}%`),_(G,C),_(x,`${E??""}%`)},[()=>Math.round(t(K)*100),()=>t(H).toLocaleString(),()=>Math.round(t(Z)*100)]),g(i,d)};nt(D,i=>{t(I)?t(L)?i(u,1):i(V,-1):i(n)})}e(T);var M=r(T,2),l=s(M);e(M),e(F),gt("click",l,()=>Qt("predictor")),g(W,F),lt()}jt(["click"]);function as(W,c){it(c,!0);let h=It(c,"ref",15,null),y=zt(c,["$$slots","$$events","$$legacy","ref"]);var w=Kt(),I=qt(w);St(I,()=>le,(L,k)=>{k(L,Wt({"data-slot":"popover-close"},()=>y,{get ref(){return h()},set ref(N){h(N)}}))}),g(W,w),lt()}var rs=b('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),ns=b('<span class="entry-tag svelte-7r7fq6"> </span>'),is=b('<div class="entry-tags svelte-7r7fq6"></div>'),ls=b("<button>EDIT</button>"),os=b("<button>Cancel</button>"),vs=b('<div class="edit-popover svelte-7r7fq6"><span class="sig-eyebrow">Correct memory</span> <!> <div class="flex justify-end gap-1 mt-1"><!> <!></div></div>'),cs=b("<!> <!>",1),ds=b('<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>'),us=b('<div class="insights-list svelte-7r7fq6"></div>'),ps=b('<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 fs(W,c){it(c,!0);let h=P(ct(new Set)),y=P(0),w=P(void 0),I=P(3);const L=90;function k(a){const p=Date.now()-new Date(a.created_at).getTime(),f=864e5,G=p<7*f?1:p<30*f?.5:.2,U=N(a.tags),B=U.length===0?1:U.length<3?.6:.2,x=a.importance??.5,m=x>=.3&&x<=.7?1:.3;return G+B+m}function N(a){return a?Array.isArray(a)?a.filter(Boolean):a.split(",").map(v=>v.trim()).filter(Boolean):[]}const j=S(()=>c.memories.filter(a=>!(t(h).has(a.id)||a.pinned||N(a.tags).includes("rejected-insight"))).map(a=>({memory:a,score:k(a)})).sort((a,v)=>v.score-a.score)),K=S(()=>{if(t(j).length===0)return[];const a=Math.min(t(I),t(j).length),v=t(y)%t(j).length;return Array.from({length:a},(p,f)=>t(j)[(v+f)%t(j).length].memory)});Jt(()=>{if(!t(w))return;const a=new ResizeObserver(v=>{const p=v[0]?.contentRect.height??0;A(I,Math.max(1,Math.floor(p/L)),!0)});return a.observe(t(w)),()=>a.disconnect()});function H(a){return a>=.8?"var(--sig-danger)":a>=.5?"var(--sig-warning)":"var(--sig-success)"}function Z(a){const v=new Date(a),p=v.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),f=String(v.getDate()).padStart(2,"0");return`${p} ${f}`}async function Q(a){const v=await he(a.id,!0);v.success?(A(h,new Set([...t(h),a.id]),!0),ft("Memory pinned","success")):ft(v.error??"Failed to pin","error")}async function X(a){const v=N(a.tags);v.push("rejected-insight");const p=await Bt(a.id,{tags:v.join(",")},"dashboard: rejected insight");p.success?(A(h,new Set([...t(h),a.id]),!0),ft("Memory dismissed","success")):ft(p.error??"Failed to dismiss","error")}const F=ct({});function $(a){F[a.id]=a.content}async function tt(a){const v=F[a.id];if(!v||v===a.content)return;const p=await Bt(a.id,{content:v},"dashboard: corrected insight");p.success?(A(h,new Set([...t(h),a.id]),!0),ft("Memory corrected","success")):ft(p.error??"Failed to save","error")}function o(){A(y,(t(y)+t(I))%Math.max(1,t(j).length))}var T=ps(),D=s(T),n=r(s(D),2),u=s(n),V=s(u);e(u);var M=r(u,2),l=s(M);Ae(l,{class:"refresh-icon"}),kt(2),e(M),e(n),e(D);var i=r(D,2);{var d=a=>{var v=rs();g(a,v)},R=a=>{var v=us();mt(v,23,()=>t(K),p=>p.id,(p,f,G)=>{var U=ds(),B=s(U),x=s(B),m=s(x),C=s(m,!0);e(m);var E=r(m,2),J=r(E,2),Y=s(J,!0);e(J),e(x);var et=r(x,2);{var O=ot=>{var vt=is();mt(vt,21,()=>N(t(f).tags).slice(0,3),Rt,(ht,Et)=>{var dt=ns(),Tt=s(dt,!0);e(dt),z(()=>_(Tt,t(Et))),g(ht,dt)}),e(vt),g(ot,vt)},q=S(()=>N(t(f).tags).length>0);nt(et,ot=>{t(q)&&ot(O)})}e(B);var st=r(B,2),At=s(st,!0);e(st);var bt=r(st,2),wt=s(bt),Mt=r(wt,2),Xt=r(Mt,2);St(Xt,()=>ke,(ot,vt)=>{vt(ot,{children:(ht,Et)=>{var dt=cs(),Tt=qt(dt);{const Nt=(_t,yt)=>{let Pt=()=>yt?.().props;var ut=ls(),Ct=()=>$(t(f));Ut(ut,()=>({...Pt(),class:"action-btn edit sig-switch",onclick:Ct}),void 0,void 0,void 0,"svelte-7r7fq6"),g(_t,ut)};St(Tt,()=>Ce,(_t,yt)=>{yt(_t,{child:Nt,$$slots:{child:!0}})})}var Zt=r(Tt,2);St(Zt,()=>Ie,(Nt,_t)=>{_t(Nt,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(yt,Pt)=>{var ut=vs(),Ct=r(s(ut),2);{let xt=S(()=>F[t(f).id]??t(f).content);je(Ct,{class:`mt-2 min-h-[60px] text-[11px] font-[family-name:var(--font-mono)]
3
3
  bg-[var(--sig-bg)] border-[var(--sig-border)]
4
4
  text-[var(--sig-text)]`,get value(){return t(xt)},oninput:pt=>{const at=pt.currentTarget;at instanceof HTMLTextAreaElement&&(F[t(f).id]=at.value)}})}var Lt=r(Ct,2),$t=s(Lt);{const xt=(pt,at)=>{let ee=()=>at?.().props;var Gt=os();Ut(Gt,()=>({...ee(),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"),g(pt,Gt)};St($t,()=>as,(pt,at)=>{at(pt,{child:xt,$$slots:{child:!0}})})}var te=r($t,2);me(te,{variant:"default",size:"sm",class:"text-[10px] h-6",onclick:()=>tt(t(f)),children:(xt,pt)=>{kt();var at=Yt("Save");g(xt,at)},$$slots:{default:!0}}),e(Lt),e(ut),g(yt,ut)},$$slots:{default:!0}})}),g(ht,dt)},$$slots:{default:!0}})}),e(bt),e(U),z((ot,vt,ht,Et)=>{_(C,ot),rt(E,`background: ${vt??""}`),Dt(E,"title",`importance: ${ht??""}`),_(Y,Et),_(At,t(f).content)},[()=>String(t(G)+1).padStart(2,"0"),()=>H(t(f).importance??.5),()=>(t(f).importance??.5).toFixed(2),()=>Z(t(f).created_at)]),gt("click",wt,()=>Q(t(f))),gt("click",Mt,()=>X(t(f))),g(p,U)}),e(v),oe(v,p=>A(w,p),()=>t(w)),g(a,v)};nt(i,a=>{t(K).length===0?a(d):a(R,-1)})}e(T),z(()=>_(V,`${t(K).length??""} OF ${t(j).length??""}`)),gt("click",M,o),g(W,T),lt()}jt(["click"]);var gs=b('<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 bs(W,c){it(c,!0);let h=P(null),y=P(ct([])),w=P(null),I=P(ct([])),L=P(!1);Ot(async()=>{const o=await Promise.allSettled([_e(),ye(),xe(),Se()]);o[0].status==="fulfilled"&&o[0].value&&A(h,o[0].value,!0),o[1].status==="fulfilled"&&A(y,o[1].value,!0),o[2].status==="fulfilled"&&A(w,o[2].value,!0),o[3].status==="fulfilled"&&A(I,o[3].value,!0),A(L,!0)});var k=gs(),N=s(k),j=s(N),K=s(j);{let o=S(()=>c.memoryStats?.total??0);Oe(K,{get identity(){return c.identity},get daemonStatus(){return c.daemonStatus},get connectorCount(){return t(I).length},get continuity(){return t(y)},get memoryCount(){return t(o)},get diagnostics(){return t(h)},get pipelineStatus(){return t(w)},get memoryStats(){return c.memoryStats}})}e(j);var H=r(j,2),Z=s(H);Be(Z,{}),e(H);var Q=r(H,2),X=s(Q);fs(X,{get memories(){return c.memories}}),e(Q);var F=r(Q,2),$=s(F);Je($,{get memories(){return c.memories}});var tt=r($,2);ss(tt,{get daemonStatus(){return c.daemonStatus}}),e(F),e(N),e(k),g(W,k),lt()}export{bs as default};
@@ -1,2 +1,2 @@
1
- import{p as re,c as Ut,f as C,k as nt,i as t,b as s,d as se,u as I,D as o,j as r,A as Bt,t as e,l as a,y as N,z as d,K as ce,N as Se,v as b,m as v,ag as ie,o as V,B as ke,g as Ee,h as L,w as vt,x as $t,s as Re,a as Be,n as De,r as Le,aa as Ne,ac as Ce,ad as je,O as we,P as Oe,e as Kt,q as ze}from"./o6XZc-z-.js";import{P as We}from"./DiLyuexf.js";import{T as He}from"./BBTUzYSt.js";import{Y as ue,Z as ge,_ as pe,I as Ge,B as Ke,f as qe,n as Je,E as Ve}from"./DqNoVcfB.js";import{B as xe}from"./BzsZb1Ip.js";import{a as Ye,C as Ze}from"./CeAfax7G.js";import{C as Qe}from"./DV2aci-K.js";import{C as Ue}from"./cj39usFF.js";import{C as Xe,a as ta,b as ea}from"./BVExryab.js";import{P as aa,a as ra,b as sa}from"./CMmGjAIP.js";import{Z as ia}from"./D-fMJ8q7.js";import{R as na}from"./DHbfKljG.js";import{C as oa}from"./Z-y2Kglw.js";var la=v('<div class="flex items-center justify-center h-full"><span class="sig-label text-[var(--sig-text-muted)]">no comparison data yet</span></div>'),da=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="4,4"></line><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)"> </text>',1),va=ie('<circle r="3"></circle>'),ca=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="3,3"></line><circle r="4" fill="var(--sig-text-muted)" stroke="var(--sig-bg)" stroke-width="1.5"></circle><circle r="4" fill="var(--sig-success)" stroke="var(--sig-bg)" stroke-width="1.5"></circle>',1),ua=ie('<rect fill="transparent"></rect><!>',1),ga=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),pa=v('<div class="absolute z-10 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-2 py-1.5 shadow-md pointer-events-none" style="top: 4px; right: 8px;"><div class="sig-label text-[var(--sig-text-muted)]"> </div> <div class="flex gap-3 mt-0.5"><span class="sig-label"><span class="text-[var(--sig-text-muted)]">base</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span class="sig-label"><span class="text-[var(--sig-success)]">pred</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span> </span></div> <!></div>'),xa=ie('<svg width="100%" height="100%" preserveAspectRatio="xMidYMid meet" class="select-none"><!><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">1.00</text><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">0.00</text><polyline fill="none" stroke="var(--sig-text-muted)" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round" opacity="0.5"></polyline><polyline fill="none" stroke="var(--sig-success)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></polyline><!><!><line stroke="var(--sig-text-muted)" stroke-width="1.5" opacity="0.5"></line><text fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">baseline</text><line stroke="var(--sig-success)" stroke-width="2"></line><text fill="var(--sig-success)" font-size="11" font-family="var(--font-mono)">predictor</text></svg><!>',1);function fa(wt,c){re(c,!0);const p={top:12,right:12,bottom:20,left:32},T=1200,$=200,x=T-p.left-p.right,rt=$-p.top-p.bottom,j=I(()=>[...c.comparisons].reverse());function Y(n){return t(j).length<=1?p.left+x/2:p.left+n/(t(j).length-1)*x}function O(n){return p.top+(1-n)*rt}function st(n){return t(j).map((u,w)=>`${Y(w).toFixed(1)},${O(n(u)).toFixed(1)}`).join(" ")}const Pt=I(()=>st(n=>n.baselineNdcg)),M=I(()=>st(n=>n.predictorNdcg)),Z=[.25,.5,.75];let A=V(null);function mt(n){const u=new Date(n);return Number.isNaN(u.getTime())?n:u.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var K=Ut(),Q=C(K);{var m=n=>{var u=la();s(n,u)},g=n=>{var u=xa(),w=C(u);o(w,"viewBox","0 0 1200 200");var h=r(w);Bt(h,17,()=>Z,ce,(B,f)=>{var S=da(),k=C(S),G=e(k),lt=r(G,!0);a(G),N((ft,ut,yt,gt)=>{o(k,"x1",p.left),o(k,"y1",ft),o(k,"x2",T-p.right),o(k,"y2",ut),o(G,"x",p.left-6),o(G,"y",yt),d(lt,gt)},[()=>O(t(f)),()=>O(t(f)),()=>O(t(f))+4,()=>t(f).toFixed(2)]),s(B,S)});var y=e(h),P=e(y),R=e(P),H=e(R),X=e(H);Bt(X,17,()=>t(j),ce,(B,f,S)=>{var k=va();o(k,"cy",$-6),N(G=>{o(k,"cx",G),o(k,"fill",t(f).predictorWon?"var(--sig-success)":"var(--sig-danger)"),o(k,"opacity",t(f).predictorWon?.8:.5)},[()=>Y(S)]),s(B,k)});var z=e(X);Bt(z,17,()=>t(j),ce,(B,f,S)=>{var k=ua(),G=C(k);o(G,"y",0),o(G,"height",$);var lt=e(G);{var ft=ut=>{var yt=ca(),gt=C(yt),Ct=e(gt),qt=e(Ct);N((Dt,i,l,W,F,U)=>{o(gt,"x1",Dt),o(gt,"y1",p.top),o(gt,"x2",i),o(gt,"y2",$-p.bottom),o(Ct,"cx",l),o(Ct,"cy",W),o(qt,"cx",F),o(qt,"cy",U)},[()=>Y(S),()=>Y(S),()=>Y(S),()=>O(t(f).baselineNdcg),()=>Y(S),()=>O(t(f).predictorNdcg)]),s(ut,yt)};nt(lt,ut=>{t(A)===S&&ut(ft)})}N((ut,yt)=>{o(G,"x",ut),o(G,"width",yt)},[()=>Y(S)-Math.max(x/t(j).length,16)/2,()=>Math.max(x/t(j).length,16)]),Se("mouseenter",G,()=>b(A,S,!0)),Se("mouseleave",G,()=>b(A,null)),s(B,k)});var at=e(z);o(at,"y1",10),o(at,"y2",10);var ct=e(at);o(ct,"y",14);var ot=e(ct);o(ot,"y1",10),o(ot,"y2",10);var St=e(ot);o(St,"y",14),a(w);var pt=e(w);{var xt=B=>{const f=I(()=>t(j)[t(A)]);var S=pa(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt),ut=e(r(ft),2),yt=r(ut,!0);a(ut),a(ft);var gt=e(ft,2),Ct=e(r(gt),2),qt=r(Ct,!0);a(Ct),a(gt);var Dt=e(gt,2);let i;var l=r(Dt);a(Dt),a(lt);var W=e(lt,2);{var F=U=>{var q=ga(),_=r(q,!0);a(q),N(()=>d(_,t(f).project)),s(U,q)};nt(W,U=>{t(f).project&&U(F)})}a(S),N((U,q,_,tt)=>{d(G,U),d(yt,q),d(qt,_),i=ke(Dt,1,"sig-label",null,i,{"text-[var(--sig-success)]":t(f).margin>0,"text-[var(--sig-danger)]":t(f).margin<0}),d(l,`${t(f).margin>0?"+":""}${tt??""}`)},[()=>mt(t(f).createdAt),()=>t(f).baselineNdcg.toFixed(3),()=>t(f).predictorNdcg.toFixed(3),()=>t(f).margin.toFixed(3)]),s(B,S)};nt(pt,B=>{t(A)!==null&&t(j)[t(A)]&&B(xt)})}N((B,f)=>{o(y,"x",p.left-6),o(y,"y",B),o(P,"x",p.left-6),o(P,"y",f),o(R,"points",t(Pt)),o(H,"points",t(M)),o(at,"x1",T-p.right-160),o(at,"x2",T-p.right-146),o(ct,"x",T-p.right-142),o(ot,"x1",T-p.right-80),o(ot,"x2",T-p.right-66),o(St,"x",T-p.right-62)},[()=>O(1)+4,()=>O(0)+4]),s(n,u)};nt(Q,n=>{t(j).length===0?n(m):n(g,-1)})}s(wt,K),se()}var ma=v('<div class="flex items-baseline gap-2"><span class="text-2xl font-display font-bold text-foreground"> </span> <span class="sig-label text-[var(--sig-text-muted)]">ranking quality</span></div>'),_a=v("<!> <!>",1),ha=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ba=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),ya=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),$a=v("<!> <!>",1),wa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),Pa=v('<div class="flex flex-col gap-2 p-3 bg-card rounded-lg border border-border min-w-0"><div class="flex items-center gap-2"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]"> </span> <!></div> <!> <div class="space-y-1"><span class="sig-label text-[var(--sig-text-muted)]">recent top picks:</span> <!></div> <div class="mt-auto space-y-1 pt-2 border-t border-[var(--sig-border)]"></div></div>');function Pe(wt,c){re(c,!0);let p=Ee(c,"offline",3,!1);const T=I(()=>Math.round(c.ndcg*100)),$=I(()=>c.side==="baseline"?"Heuristic Baseline":"Predictor Model"),x=I(()=>`How well this system ranks memories. NDCG@10 = ${c.ndcg.toFixed(3)}`);var rt=Pa(),j=r(rt),Y=r(j),O=r(Y,!0);a(Y);var st=e(Y,2);{var Pt=m=>{xe(m,{variant:"destructive",class:"text-[8px] px-1.5 py-0",children:(g,n)=>{vt();var u=$t("OFFLINE");s(g,u)},$$slots:{default:!0}})};nt(st,m=>{p()&&m(Pt)})}a(j);var M=e(j,2);L(M,()=>pe,(m,g)=>{g(m,{children:(n,u)=>{var w=_a(),h=C(w);L(h,()=>ue,(P,R)=>{R(P,{class:"text-left",children:(H,X)=>{var z=ma(),at=r(z),ct=r(at);a(at),vt(2),a(z),N(()=>d(ct,`${t(T)??""}%`)),s(H,z)},$$slots:{default:!0}})});var y=e(h,2);L(y,()=>ge,(P,R)=>{R(P,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(H,X)=>{vt();var z=$t();N(()=>d(z,t(x))),s(H,z)},$$slots:{default:!0}})}),s(n,w)},$$slots:{default:!0}})});var Z=e(M,2),A=e(r(Z),2);{var mt=m=>{var g=Ut(),n=C(g);Bt(n,17,()=>c.topPicks.slice(0,3),u=>u.id,(u,w)=>{var h=ha(),y=r(h);a(h),N(P=>{o(h,"title",t(w).content),d(y,`${P??""}${t(w).content.length>60?"...":""}`)},[()=>t(w).content.slice(0,60)]),s(u,h)}),s(m,g)},K=m=>{var g=ba();s(m,g)};nt(A,m=>{c.topPicks.length>0?m(mt):m(K,-1)})}a(Z);var Q=e(Z,2);Bt(Q,21,()=>c.stats,m=>m.label,(m,g)=>{var n=Ut(),u=C(n);{var w=y=>{var P=Ut(),R=C(P);L(R,()=>pe,(H,X)=>{X(H,{children:(z,at)=>{var ct=$a(),ot=C(ct);L(ot,()=>ue,(pt,xt)=>{xt(pt,{class:"w-full text-left",children:(B,f)=>{var S=ya(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt,!0);a(lt),a(S),N(()=>{d(G,t(g).label),d(ft,t(g).value)}),s(B,S)},$$slots:{default:!0}})});var St=e(ot,2);L(St,()=>ge,(pt,xt)=>{xt(pt,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(B,f)=>{vt();var S=$t();N(()=>d(S,t(g).tooltip)),s(B,S)},$$slots:{default:!0}})}),s(z,ct)},$$slots:{default:!0}})}),s(y,P)},h=y=>{var P=wa(),R=r(P),H=r(R,!0);a(R);var X=e(R,2),z=r(X,!0);a(X),a(P),N(()=>{d(H,t(g).label),d(z,t(g).value)}),s(y,P)};nt(u,y=>{t(g).tooltip?y(w):y(h,-1)})}s(m,n)}),a(Q),a(rt),N(()=>d(O,t($))),s(wt,rt),se()}function ka(wt,c){re(c,!0);let p=Le(c,["$$slots","$$events","$$legacy"]);const T=[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]];Ge(wt,Re({name:"settings-2"},()=>p,{get iconNode(){return T},children:($,x)=>{var rt=Ut(),j=C(rt);Be(j,()=>c.children??De),s($,rt)},$$slots:{default:!0}})),se()}var Na=v('<span class="sig-meta text-[var(--sig-text-muted)] shrink-0">alpha</span> <div class="flex gap-px h-2.5 flex-1 rounded overflow-hidden"><div class="bg-[var(--sig-text-muted)] transition-all duration-300"></div> <div class="bg-[var(--sig-accent)] transition-all duration-300"></div></div> <span class="sig-meta text-[var(--sig-text)] font-mono"> </span>',1),Ta=v("<!> <!>",1),Sa=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),Ca=v("<!> <!>",1),ja=v('<div class="sig-eyebrow text-[var(--sig-text-muted)]">training config</div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">epochs per run</span> <input type="number" min="1" max="20" class="w-14 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">more epochs = longer but more thorough</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">max samples</span> <input type="number" min="100" max="50000" step="500" class="w-20 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">training pairs to use per run</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">auto-trains every</span> <span class="sig-label text-[var(--sig-text)]"> </span></div> <span class="sig-meta text-[var(--sig-text-muted)]">change in settings</span></div> <div class="pt-1 border-t border-[var(--sig-border)]"><span class="sig-meta text-[var(--sig-text-muted)]"> </span></div>',1),Ma=v("<!> <!>",1),Fa=v("<!> <!>",1),Ia=v('<div class="flex items-center gap-3 px-3 py-2 bg-card rounded-lg border border-border"><!> <!> <!> <div class="flex-1"></div> <!> <!> <button class="flex items-center p-1 rounded text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] transition-colors disabled:opacity-40"><!></button></div>');function Aa(wt,c){re(c,!0);const p=I(()=>{switch(c.healthStatus){case"healthy":return"default";case"degraded":case"cold_start":return"secondary";case"unhealthy":return"destructive";default:return"outline"}});let T=V(!1);var $=Ia(),x=r($);xe(x,{get variant(){return t(p)},class:"text-[9px] shrink-0",children:(M,Z)=>{vt();var A=$t();N(()=>d(A,c.healthStatus)),s(M,A)},$$slots:{default:!0}});var rt=e(x,2);L(rt,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ta(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{class:"flex items-center gap-2 min-w-[120px]",children:(u,w)=>{var h=Na(),y=e(C(h),2),P=r(y),R=e(P,2);a(y);var H=e(y,2),X=r(H,!0);a(H),N(z=>{Ne(P,`width: ${c.alpha*100}%`),Ne(R,`width: ${(1-c.alpha)*100}%`),d(X,z)},[()=>c.alpha.toFixed(2)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Baseline weight in scoring. Shifts toward predictor as it proves itself.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var j=e(rt,2);L(j,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ca(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{children:(u,w)=>{var h=Sa(),y=e(r(h)),P=r(y);a(y),a(h),N(R=>d(P,`${R??""}%`),[()=>Math.round(c.winRate*100)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Sessions where predictor ranked better than heuristic baseline.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var Y=e(j,4);L(Y,()=>sa,(M,Z)=>{Z(M,{get open(){return t(T)},set open(A){b(T,A,!0)},children:(A,mt)=>{var K=Ma(),Q=C(K);L(Q,()=>aa,(g,n)=>{n(g,{class:"flex items-center gap-1 sig-label text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] transition-colors p-1 rounded hover:bg-[var(--sig-surface-raised)]",children:(u,w)=>{ka(u,{class:"w-3.5 h-3.5"})},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ra,(g,n)=>{n(g,{class:"w-[260px] bg-[var(--sig-surface)] border border-[var(--sig-border)] rounded-lg shadow-lg p-3 space-y-3",side:"bottom",align:"end",children:(u,w)=>{var h=ja(),y=e(C(h),2),P=r(y),R=e(r(P),2);Ce(R),a(P),vt(2),a(y);var H=e(y,2),X=r(H),z=e(r(X),2);Ce(z),a(X),vt(2),a(H);var at=e(H,2),ct=r(at),ot=e(r(ct),2),St=r(ot);a(ot),a(ct),vt(2),a(at);var pt=e(at,2),xt=r(pt),B=r(xt);a(xt),a(pt),N(f=>{je(R,c.trainEpochs),je(z,c.trainLimit),d(St,`${c.trainInterval??""} sessions`),d(B,`${f??""} training pairs available`)},[()=>c.trainingPairs.toLocaleString()]),we("input",R,f=>c.onEpochsChange(Number(f.currentTarget.value))),we("input",z,f=>c.onLimitChange(Number(f.currentTarget.value))),s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var O=e(Y,2);{let M=I(()=>c.training||!c.sidecarAlive);Ke(O,{variant:"default",size:"sm",class:"sig-label gap-1.5",get onclick(){return c.onTrain},get disabled(){return t(M)},children:(Z,A)=>{var mt=Fa(),K=C(mt);ia(K,{class:"w-3.5 h-3.5"});var Q=e(K,2);{var m=n=>{var u=$t("training...");s(n,u)},g=n=>{var u=$t("train now");s(n,u)};nt(Q,n=>{c.training?n(m):n(g,-1)})}s(Z,mt)},$$slots:{default:!0}})}var st=e(O,2),Pt=r(st);{let M=I(()=>c.loading?"animate-spin":"");na(Pt,{get class(){return`w-3.5 h-3.5 ${t(M)??""}`}})}a(st),a($),N(()=>st.disabled=c.loading),we("click",st,function(...M){c.onRefresh?.apply(this,M)}),s(wt,$),se()}Oe(["input","click"]);var Ea=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">loading predictor data...</span></div>'),Ra=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">unable to reach predictor -- check daemon status</span></div>'),Ba=v("Predictor <!>",1),Da=v(`<p class="sig-label text-[var(--sig-text-muted)]">The predictive memory scorer learns which memories matter most for each
1
+ import{p as re,c as Ut,f as C,k as nt,i as t,b as s,d as se,u as I,D as o,j as r,A as Bt,t as e,l as a,y as N,z as d,K as ce,N as Se,v as b,m as v,ag as ie,o as V,B as ke,g as Ee,h as L,w as vt,x as $t,s as Re,a as Be,n as De,r as Le,aa as Ne,ac as Ce,ad as je,O as we,P as Oe,e as Kt,q as ze}from"./o6XZc-z-.js";import{P as We}from"./DiLyuexf.js";import{T as He}from"./BBTUzYSt.js";import{Y as ue,Z as ge,_ as pe,I as Ge,B as Ke,f as qe,n as Je,E as Ve}from"./CpxGl5i3.js";import{B as xe}from"./DM4MqtLV.js";import{a as Ye,C as Ze}from"./CLv-BYvN.js";import{C as Qe}from"./DhPoV8Y7.js";import{C as Ue}from"./Bj9LQ6Rp.js";import{C as Xe,a as ta,b as ea}from"./BVExryab.js";import{P as aa,a as ra,b as sa}from"./B-6H0vQs.js";import{Z as ia}from"./C34ujfPp.js";import{R as na}from"./DHOaJydZ.js";import{C as oa}from"./CxCMEr5G.js";var la=v('<div class="flex items-center justify-center h-full"><span class="sig-label text-[var(--sig-text-muted)]">no comparison data yet</span></div>'),da=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="4,4"></line><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)"> </text>',1),va=ie('<circle r="3"></circle>'),ca=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="3,3"></line><circle r="4" fill="var(--sig-text-muted)" stroke="var(--sig-bg)" stroke-width="1.5"></circle><circle r="4" fill="var(--sig-success)" stroke="var(--sig-bg)" stroke-width="1.5"></circle>',1),ua=ie('<rect fill="transparent"></rect><!>',1),ga=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),pa=v('<div class="absolute z-10 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-2 py-1.5 shadow-md pointer-events-none" style="top: 4px; right: 8px;"><div class="sig-label text-[var(--sig-text-muted)]"> </div> <div class="flex gap-3 mt-0.5"><span class="sig-label"><span class="text-[var(--sig-text-muted)]">base</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span class="sig-label"><span class="text-[var(--sig-success)]">pred</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span> </span></div> <!></div>'),xa=ie('<svg width="100%" height="100%" preserveAspectRatio="xMidYMid meet" class="select-none"><!><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">1.00</text><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">0.00</text><polyline fill="none" stroke="var(--sig-text-muted)" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round" opacity="0.5"></polyline><polyline fill="none" stroke="var(--sig-success)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></polyline><!><!><line stroke="var(--sig-text-muted)" stroke-width="1.5" opacity="0.5"></line><text fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">baseline</text><line stroke="var(--sig-success)" stroke-width="2"></line><text fill="var(--sig-success)" font-size="11" font-family="var(--font-mono)">predictor</text></svg><!>',1);function fa(wt,c){re(c,!0);const p={top:12,right:12,bottom:20,left:32},T=1200,$=200,x=T-p.left-p.right,rt=$-p.top-p.bottom,j=I(()=>[...c.comparisons].reverse());function Y(n){return t(j).length<=1?p.left+x/2:p.left+n/(t(j).length-1)*x}function O(n){return p.top+(1-n)*rt}function st(n){return t(j).map((u,w)=>`${Y(w).toFixed(1)},${O(n(u)).toFixed(1)}`).join(" ")}const Pt=I(()=>st(n=>n.baselineNdcg)),M=I(()=>st(n=>n.predictorNdcg)),Z=[.25,.5,.75];let A=V(null);function mt(n){const u=new Date(n);return Number.isNaN(u.getTime())?n:u.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var K=Ut(),Q=C(K);{var m=n=>{var u=la();s(n,u)},g=n=>{var u=xa(),w=C(u);o(w,"viewBox","0 0 1200 200");var h=r(w);Bt(h,17,()=>Z,ce,(B,f)=>{var S=da(),k=C(S),G=e(k),lt=r(G,!0);a(G),N((ft,ut,yt,gt)=>{o(k,"x1",p.left),o(k,"y1",ft),o(k,"x2",T-p.right),o(k,"y2",ut),o(G,"x",p.left-6),o(G,"y",yt),d(lt,gt)},[()=>O(t(f)),()=>O(t(f)),()=>O(t(f))+4,()=>t(f).toFixed(2)]),s(B,S)});var y=e(h),P=e(y),R=e(P),H=e(R),X=e(H);Bt(X,17,()=>t(j),ce,(B,f,S)=>{var k=va();o(k,"cy",$-6),N(G=>{o(k,"cx",G),o(k,"fill",t(f).predictorWon?"var(--sig-success)":"var(--sig-danger)"),o(k,"opacity",t(f).predictorWon?.8:.5)},[()=>Y(S)]),s(B,k)});var z=e(X);Bt(z,17,()=>t(j),ce,(B,f,S)=>{var k=ua(),G=C(k);o(G,"y",0),o(G,"height",$);var lt=e(G);{var ft=ut=>{var yt=ca(),gt=C(yt),Ct=e(gt),qt=e(Ct);N((Dt,i,l,W,F,U)=>{o(gt,"x1",Dt),o(gt,"y1",p.top),o(gt,"x2",i),o(gt,"y2",$-p.bottom),o(Ct,"cx",l),o(Ct,"cy",W),o(qt,"cx",F),o(qt,"cy",U)},[()=>Y(S),()=>Y(S),()=>Y(S),()=>O(t(f).baselineNdcg),()=>Y(S),()=>O(t(f).predictorNdcg)]),s(ut,yt)};nt(lt,ut=>{t(A)===S&&ut(ft)})}N((ut,yt)=>{o(G,"x",ut),o(G,"width",yt)},[()=>Y(S)-Math.max(x/t(j).length,16)/2,()=>Math.max(x/t(j).length,16)]),Se("mouseenter",G,()=>b(A,S,!0)),Se("mouseleave",G,()=>b(A,null)),s(B,k)});var at=e(z);o(at,"y1",10),o(at,"y2",10);var ct=e(at);o(ct,"y",14);var ot=e(ct);o(ot,"y1",10),o(ot,"y2",10);var St=e(ot);o(St,"y",14),a(w);var pt=e(w);{var xt=B=>{const f=I(()=>t(j)[t(A)]);var S=pa(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt),ut=e(r(ft),2),yt=r(ut,!0);a(ut),a(ft);var gt=e(ft,2),Ct=e(r(gt),2),qt=r(Ct,!0);a(Ct),a(gt);var Dt=e(gt,2);let i;var l=r(Dt);a(Dt),a(lt);var W=e(lt,2);{var F=U=>{var q=ga(),_=r(q,!0);a(q),N(()=>d(_,t(f).project)),s(U,q)};nt(W,U=>{t(f).project&&U(F)})}a(S),N((U,q,_,tt)=>{d(G,U),d(yt,q),d(qt,_),i=ke(Dt,1,"sig-label",null,i,{"text-[var(--sig-success)]":t(f).margin>0,"text-[var(--sig-danger)]":t(f).margin<0}),d(l,`${t(f).margin>0?"+":""}${tt??""}`)},[()=>mt(t(f).createdAt),()=>t(f).baselineNdcg.toFixed(3),()=>t(f).predictorNdcg.toFixed(3),()=>t(f).margin.toFixed(3)]),s(B,S)};nt(pt,B=>{t(A)!==null&&t(j)[t(A)]&&B(xt)})}N((B,f)=>{o(y,"x",p.left-6),o(y,"y",B),o(P,"x",p.left-6),o(P,"y",f),o(R,"points",t(Pt)),o(H,"points",t(M)),o(at,"x1",T-p.right-160),o(at,"x2",T-p.right-146),o(ct,"x",T-p.right-142),o(ot,"x1",T-p.right-80),o(ot,"x2",T-p.right-66),o(St,"x",T-p.right-62)},[()=>O(1)+4,()=>O(0)+4]),s(n,u)};nt(Q,n=>{t(j).length===0?n(m):n(g,-1)})}s(wt,K),se()}var ma=v('<div class="flex items-baseline gap-2"><span class="text-2xl font-display font-bold text-foreground"> </span> <span class="sig-label text-[var(--sig-text-muted)]">ranking quality</span></div>'),_a=v("<!> <!>",1),ha=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ba=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),ya=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),$a=v("<!> <!>",1),wa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),Pa=v('<div class="flex flex-col gap-2 p-3 bg-card rounded-lg border border-border min-w-0"><div class="flex items-center gap-2"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]"> </span> <!></div> <!> <div class="space-y-1"><span class="sig-label text-[var(--sig-text-muted)]">recent top picks:</span> <!></div> <div class="mt-auto space-y-1 pt-2 border-t border-[var(--sig-border)]"></div></div>');function Pe(wt,c){re(c,!0);let p=Ee(c,"offline",3,!1);const T=I(()=>Math.round(c.ndcg*100)),$=I(()=>c.side==="baseline"?"Heuristic Baseline":"Predictor Model"),x=I(()=>`How well this system ranks memories. NDCG@10 = ${c.ndcg.toFixed(3)}`);var rt=Pa(),j=r(rt),Y=r(j),O=r(Y,!0);a(Y);var st=e(Y,2);{var Pt=m=>{xe(m,{variant:"destructive",class:"text-[8px] px-1.5 py-0",children:(g,n)=>{vt();var u=$t("OFFLINE");s(g,u)},$$slots:{default:!0}})};nt(st,m=>{p()&&m(Pt)})}a(j);var M=e(j,2);L(M,()=>pe,(m,g)=>{g(m,{children:(n,u)=>{var w=_a(),h=C(w);L(h,()=>ue,(P,R)=>{R(P,{class:"text-left",children:(H,X)=>{var z=ma(),at=r(z),ct=r(at);a(at),vt(2),a(z),N(()=>d(ct,`${t(T)??""}%`)),s(H,z)},$$slots:{default:!0}})});var y=e(h,2);L(y,()=>ge,(P,R)=>{R(P,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(H,X)=>{vt();var z=$t();N(()=>d(z,t(x))),s(H,z)},$$slots:{default:!0}})}),s(n,w)},$$slots:{default:!0}})});var Z=e(M,2),A=e(r(Z),2);{var mt=m=>{var g=Ut(),n=C(g);Bt(n,17,()=>c.topPicks.slice(0,3),u=>u.id,(u,w)=>{var h=ha(),y=r(h);a(h),N(P=>{o(h,"title",t(w).content),d(y,`${P??""}${t(w).content.length>60?"...":""}`)},[()=>t(w).content.slice(0,60)]),s(u,h)}),s(m,g)},K=m=>{var g=ba();s(m,g)};nt(A,m=>{c.topPicks.length>0?m(mt):m(K,-1)})}a(Z);var Q=e(Z,2);Bt(Q,21,()=>c.stats,m=>m.label,(m,g)=>{var n=Ut(),u=C(n);{var w=y=>{var P=Ut(),R=C(P);L(R,()=>pe,(H,X)=>{X(H,{children:(z,at)=>{var ct=$a(),ot=C(ct);L(ot,()=>ue,(pt,xt)=>{xt(pt,{class:"w-full text-left",children:(B,f)=>{var S=ya(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt,!0);a(lt),a(S),N(()=>{d(G,t(g).label),d(ft,t(g).value)}),s(B,S)},$$slots:{default:!0}})});var St=e(ot,2);L(St,()=>ge,(pt,xt)=>{xt(pt,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(B,f)=>{vt();var S=$t();N(()=>d(S,t(g).tooltip)),s(B,S)},$$slots:{default:!0}})}),s(z,ct)},$$slots:{default:!0}})}),s(y,P)},h=y=>{var P=wa(),R=r(P),H=r(R,!0);a(R);var X=e(R,2),z=r(X,!0);a(X),a(P),N(()=>{d(H,t(g).label),d(z,t(g).value)}),s(y,P)};nt(u,y=>{t(g).tooltip?y(w):y(h,-1)})}s(m,n)}),a(Q),a(rt),N(()=>d(O,t($))),s(wt,rt),se()}function ka(wt,c){re(c,!0);let p=Le(c,["$$slots","$$events","$$legacy"]);const T=[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]];Ge(wt,Re({name:"settings-2"},()=>p,{get iconNode(){return T},children:($,x)=>{var rt=Ut(),j=C(rt);Be(j,()=>c.children??De),s($,rt)},$$slots:{default:!0}})),se()}var Na=v('<span class="sig-meta text-[var(--sig-text-muted)] shrink-0">alpha</span> <div class="flex gap-px h-2.5 flex-1 rounded overflow-hidden"><div class="bg-[var(--sig-text-muted)] transition-all duration-300"></div> <div class="bg-[var(--sig-accent)] transition-all duration-300"></div></div> <span class="sig-meta text-[var(--sig-text)] font-mono"> </span>',1),Ta=v("<!> <!>",1),Sa=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),Ca=v("<!> <!>",1),ja=v('<div class="sig-eyebrow text-[var(--sig-text-muted)]">training config</div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">epochs per run</span> <input type="number" min="1" max="20" class="w-14 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">more epochs = longer but more thorough</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">max samples</span> <input type="number" min="100" max="50000" step="500" class="w-20 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">training pairs to use per run</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">auto-trains every</span> <span class="sig-label text-[var(--sig-text)]"> </span></div> <span class="sig-meta text-[var(--sig-text-muted)]">change in settings</span></div> <div class="pt-1 border-t border-[var(--sig-border)]"><span class="sig-meta text-[var(--sig-text-muted)]"> </span></div>',1),Ma=v("<!> <!>",1),Fa=v("<!> <!>",1),Ia=v('<div class="flex items-center gap-3 px-3 py-2 bg-card rounded-lg border border-border"><!> <!> <!> <div class="flex-1"></div> <!> <!> <button class="flex items-center p-1 rounded text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] transition-colors disabled:opacity-40"><!></button></div>');function Aa(wt,c){re(c,!0);const p=I(()=>{switch(c.healthStatus){case"healthy":return"default";case"degraded":case"cold_start":return"secondary";case"unhealthy":return"destructive";default:return"outline"}});let T=V(!1);var $=Ia(),x=r($);xe(x,{get variant(){return t(p)},class:"text-[9px] shrink-0",children:(M,Z)=>{vt();var A=$t();N(()=>d(A,c.healthStatus)),s(M,A)},$$slots:{default:!0}});var rt=e(x,2);L(rt,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ta(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{class:"flex items-center gap-2 min-w-[120px]",children:(u,w)=>{var h=Na(),y=e(C(h),2),P=r(y),R=e(P,2);a(y);var H=e(y,2),X=r(H,!0);a(H),N(z=>{Ne(P,`width: ${c.alpha*100}%`),Ne(R,`width: ${(1-c.alpha)*100}%`),d(X,z)},[()=>c.alpha.toFixed(2)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Baseline weight in scoring. Shifts toward predictor as it proves itself.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var j=e(rt,2);L(j,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ca(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{children:(u,w)=>{var h=Sa(),y=e(r(h)),P=r(y);a(y),a(h),N(R=>d(P,`${R??""}%`),[()=>Math.round(c.winRate*100)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Sessions where predictor ranked better than heuristic baseline.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var Y=e(j,4);L(Y,()=>sa,(M,Z)=>{Z(M,{get open(){return t(T)},set open(A){b(T,A,!0)},children:(A,mt)=>{var K=Ma(),Q=C(K);L(Q,()=>aa,(g,n)=>{n(g,{class:"flex items-center gap-1 sig-label text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] transition-colors p-1 rounded hover:bg-[var(--sig-surface-raised)]",children:(u,w)=>{ka(u,{class:"w-3.5 h-3.5"})},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ra,(g,n)=>{n(g,{class:"w-[260px] bg-[var(--sig-surface)] border border-[var(--sig-border)] rounded-lg shadow-lg p-3 space-y-3",side:"bottom",align:"end",children:(u,w)=>{var h=ja(),y=e(C(h),2),P=r(y),R=e(r(P),2);Ce(R),a(P),vt(2),a(y);var H=e(y,2),X=r(H),z=e(r(X),2);Ce(z),a(X),vt(2),a(H);var at=e(H,2),ct=r(at),ot=e(r(ct),2),St=r(ot);a(ot),a(ct),vt(2),a(at);var pt=e(at,2),xt=r(pt),B=r(xt);a(xt),a(pt),N(f=>{je(R,c.trainEpochs),je(z,c.trainLimit),d(St,`${c.trainInterval??""} sessions`),d(B,`${f??""} training pairs available`)},[()=>c.trainingPairs.toLocaleString()]),we("input",R,f=>c.onEpochsChange(Number(f.currentTarget.value))),we("input",z,f=>c.onLimitChange(Number(f.currentTarget.value))),s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var O=e(Y,2);{let M=I(()=>c.training||!c.sidecarAlive);Ke(O,{variant:"default",size:"sm",class:"sig-label gap-1.5",get onclick(){return c.onTrain},get disabled(){return t(M)},children:(Z,A)=>{var mt=Fa(),K=C(mt);ia(K,{class:"w-3.5 h-3.5"});var Q=e(K,2);{var m=n=>{var u=$t("training...");s(n,u)},g=n=>{var u=$t("train now");s(n,u)};nt(Q,n=>{c.training?n(m):n(g,-1)})}s(Z,mt)},$$slots:{default:!0}})}var st=e(O,2),Pt=r(st);{let M=I(()=>c.loading?"animate-spin":"");na(Pt,{get class(){return`w-3.5 h-3.5 ${t(M)??""}`}})}a(st),a($),N(()=>st.disabled=c.loading),we("click",st,function(...M){c.onRefresh?.apply(this,M)}),s(wt,$),se()}Oe(["input","click"]);var Ea=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">loading predictor data...</span></div>'),Ra=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">unable to reach predictor -- check daemon status</span></div>'),Ba=v("Predictor <!>",1),Da=v(`<p class="sig-label text-[var(--sig-text-muted)]">The predictive memory scorer learns which memories matter most for each
2
2
  session. Enable it in your pipeline configuration to start training.</p>`),La=v("<!> <!>",1),Oa=v('<div class="flex items-center justify-center col-span-full row-span-full"><!></div>'),za=v('<!> <div class="flex flex-col items-center justify-center gap-2 p-3 bg-card rounded-lg border border-border border-dashed"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]">predictor model</span> <span class="sig-label text-[var(--sig-text-muted)]">collecting training data</span> <div class="w-full max-w-[180px] space-y-1"><div class="flex justify-between sig-meta text-[var(--sig-text-muted)]"><span> </span> <span> </span></div> <div class="w-full h-1.5 rounded-full bg-[var(--sig-surface-raised)] overflow-hidden"><div class="h-full rounded-full bg-[var(--sig-accent)] transition-all duration-300 animate-pulse"></div></div></div> <span class="sig-meta text-[var(--sig-text-muted)] max-w-[200px] text-center">needs more sessions before it can start ranking</span></div>',1),Wa=v("<!> <!>",1),Ha=v('<div class="sig-label text-[var(--sig-success)]"> </div>'),Ga=v('<div class="sig-label text-[var(--sig-danger)]"> </div>'),Ka=v("<!> details <!>",1),qa=v('<tr class="border-b border-[var(--sig-border)] border-opacity-30"><td class="py-1 pr-3"><span></span> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td> </td><td class="py-1 px-2 max-w-[120px] truncate"> </td><td class="py-1 pl-2 text-[var(--sig-text-muted)]"> </td></tr>'),Ja=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">recent comparisons</span> <table class="w-full sig-label mt-1"><thead><tr class="text-[var(--sig-text-muted)] border-b border-[var(--sig-border)]"><th class="text-left py-1 pr-3">session</th><th class="text-right py-1 px-2">pred</th><th class="text-right py-1 px-2">base</th><th class="text-right py-1 px-2">margin</th><th class="text-left py-1 px-2">project</th><th class="text-left py-1 pl-2">time</th></tr></thead><tbody></tbody></table></div>'),Va=v('<tr class="border-b border-[var(--sig-border)] border-opacity-30"><td class="py-1 pr-3"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="py-1 pl-2 text-[var(--sig-text-muted)]"> </td></tr>'),Ya=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">training history</span> <table class="w-full sig-label mt-1"><thead><tr class="text-[var(--sig-text-muted)] border-b border-[var(--sig-border)]"><th class="text-left py-1 pr-3">version</th><th class="text-right py-1 px-2">loss</th><th class="text-right py-1 px-2">samples</th><th class="text-right py-1 px-2">duration</th><th class="text-right py-1 px-2">canary</th><th class="text-left py-1 pl-2">time</th></tr></thead><tbody></tbody></table></div>'),Za=v('<div class="flex items-start gap-2 sig-label"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span class="text-[var(--sig-danger)] font-mono"> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Qa=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">errors</span> <div class="space-y-1 mt-1"></div></div>'),Ua=v('<div class="mt-2 max-h-[200px] overflow-y-auto space-y-3 pr-1"><!> <!> <!></div>'),Xa=v("<!> <!>",1),tr=v('<!> <div class="grid grid-cols-2 gap-3"><!></div> <div class="relative min-h-0"><!></div> <div class="space-y-1.5"><!> <!></div>',1),er=v('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="grid flex-1 min-h-0 overflow-y-auto gap-3 p-3" style="grid-template-rows: auto auto auto 1fr auto;"><!></div></div>');function xr(wt,c){re(c,!0);const p="";let T=V(null),$=V(null),x=V(Kt([])),rt=V(Kt([])),j=V(!0),Y=V(!1),O=V(null),st=V(null),Pt=V(0),M=V(Kt([])),Z=V(!1);const A="signet-predictor-train-config";function mt(){try{const i=localStorage.getItem(A);if(i)return JSON.parse(i)}catch{}return{epochs:3,limit:5e3}}function K(i,l){localStorage.setItem(A,JSON.stringify({epochs:i,limit:l}))}const Q=mt();let m=V(Kt(Q.epochs)),g=V(Kt(Q.limit)),n=10,u=V(Kt([])),w=V(Kt([]));const h=I(()=>t(T)!==null&&!t(T).enabled),y=I(()=>t($)!==null&&!t($).coldStartExited&&t($).sidecarAlive),P=I(()=>t($)!==null&&!t($).sidecarAlive&&t(T)!==null&&t(T).enabled),R=10,H=I(()=>Math.min(1,t(x).length/R)),X=I(()=>t(x).length===0?0:t(x).filter(l=>l.predictorWon).length/t(x).length),z=I(()=>t(x).length===0?0:t(x).reduce((i,l)=>i+l.predictorNdcg,0)/t(x).length),at=I(()=>t(x).length===0?0:t(x).reduce((i,l)=>i+l.baselineNdcg,0)/t(x).length),ct=I(()=>t(x).length===0?0:t(x).reduce((i,l)=>i+l.scorerConfidence,0)/t(x).length),ot=I(()=>[{label:"sessions evaluated",value:`${t(x).length}`},{label:"avg confidence",value:t(ct).toFixed(2)}]),St=I(()=>[{label:"win rate",value:`${Math.round(t(X)*100)}%`,tooltip:"Sessions where predictor ranked better than heuristic baseline."},{label:"training pairs",value:t(Pt).toLocaleString(),tooltip:"Memory-relevance examples the model has learned from."},{label:"model",value:t($)?`v${t($).modelVersion} ${t($).lastTrainedAt?`· ${G(t($).lastTrainedAt)}`:""}`:"-"}]);let pt=V(!1),xt=V(!1);async function B(){if(!t(pt)){b(pt,!0),b(j,t(T)===null);try{const[i,l,W,F,U,q]=await Promise.allSettled([fetch(`${p}/api/predictor/status`),fetch(`${p}/api/diagnostics/predictor`),fetch(`${p}/api/predictor/comparisons?limit=50`),fetch(`${p}/api/predictor/training?limit=10`),fetch(`${p}/api/analytics/errors`),fetch(`${p}/api/predictor/training-pairs-count`)]);if(i.status==="fulfilled"&&i.value.ok&&b(T,await i.value.json(),!0),l.status==="fulfilled"&&l.value.ok&&b($,await l.value.json(),!0),W.status==="fulfilled"&&W.value.ok){const _=await W.value.json();b(x,_.items??[],!0)}if(F.status==="fulfilled"&&F.value.ok){const _=await F.value.json();b(rt,_.items??[],!0)}if(U.status==="fulfilled"&&U.value.ok){const tt=(await U.value.json()).errors??[];b(M,tt.filter(Jt=>Jt.stage==="predictor"),!0)}if(q.status==="fulfilled"&&q.value.ok){const _=await q.value.json();b(Pt,_.count??0,!0)}}catch{}t(T)===null&&b(xt,!0),b(j,!1),b(pt,!1),f().catch(()=>{})}}async function f(){try{if(t(x).length===0)return;const i=t(x)[0],l=i.predictorTopIds??[],W=i.baselineTopIds??[],F=[...new Set([...l.slice(0,5),...W.slice(0,5)])];if(F.length===0)return;const U=await Promise.allSettled(F.map(_=>fetch(`${p}/api/memory/${_}`).then(tt=>tt.ok?tt.json():null))),q=new Map;for(let _=0;_<F.length;_++){const tt=U[_];tt.status==="fulfilled"&&tt.value!==null&&q.set(F[_],tt.value.content??"")}b(u,l.slice(0,5).filter(_=>q.has(_)).map(_=>({id:_,content:q.get(_)??""})),!0),b(w,W.slice(0,5).filter(_=>q.has(_)).map(_=>({id:_,content:q.get(_)??""})),!0)}catch{b(u,[],!0),b(w,[],!0)}}async function S(){b(Y,!0),b(O,null),b(st,null);try{const i=await fetch(`${p}/api/predictor/train`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({epochs:t(m),limit:t(g)})}),l=await i.json();i.ok?(b(O,l,!0),await B()):b(st,l.error??`HTTP ${i.status}`,!0)}catch(i){b(st,String(i),!0)}b(Y,!1)}function k(i){const l=new Date(i);return Number.isNaN(l.getTime())?i:l.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function G(i){const l=Date.now()-new Date(i).getTime();if(Number.isNaN(l))return i;const W=Math.floor(l/6e4);if(W<1)return"just now";if(W<60)return`${W}m ago`;const F=Math.floor(W/60);return F<24?`${F}h ago`:`${Math.floor(F/24)}d ago`}ze(()=>{B();const i=setInterval(B,15e3);return()=>clearInterval(i)});var lt=er(),ft=r(lt);We(ft,{title:"Predictor",children:(i,l)=>{He(i,{group:"engine",get tabs(){return Ve},get activeTab(){return Je.activeTab},onselect:(W,F)=>qe(F)})}});var ut=e(ft,2),yt=r(ut);{var gt=i=>{var l=Ea();s(i,l)},Ct=i=>{var l=Ra();s(i,l)},qt=i=>{var l=Oa(),W=r(l);L(W,()=>Ze,(F,U)=>{U(F,{class:"max-w-md",children:(q,_)=>{var tt=La(),Jt=C(tt);L(Jt,()=>Qe,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var D=Ut(),J=C(D);L(J,()=>Ue,(et,it)=>{it(et,{class:"flex items-center gap-2 text-sm",children:(kt,Lt)=>{vt();var jt=Ba(),Ot=e(C(jt));xe(Ot,{variant:"outline",children:(Mt,Yt)=>{vt();var Zt=$t("disabled");s(Mt,Zt)},$$slots:{default:!0}}),s(kt,jt)},$$slots:{default:!0}})}),s(te,D)},$$slots:{default:!0}})});var ne=e(Jt,2);L(ne,()=>Ye,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var D=Da();s(te,D)},$$slots:{default:!0}})}),s(q,tt)},$$slots:{default:!0}})}),a(l),s(i,l)},Dt=i=>{var l=tr(),W=C(l);{let D=I(()=>t($)?.status??"unknown"),J=I(()=>t($)?.alpha??1),et=I(()=>t($)?.sidecarAlive??!1);Aa(W,{get healthStatus(){return t(D)},get alpha(){return t(J)},get winRate(){return t(X)},get sidecarAlive(){return t(et)},get training(){return t(Y)},get loading(){return t(j)},get trainingPairs(){return t(Pt)},get trainEpochs(){return t(m)},get trainLimit(){return t(g)},trainInterval:n,onTrain:S,onRefresh:B,onEpochsChange:it=>{b(m,it,!0),K(it,t(g))},onLimitChange:it=>{b(g,it,!0),K(t(m),it)}})}var F=e(W,2),U=r(F);{var q=D=>{var J=za(),et=C(J);Pe(et,{side:"baseline",get ndcg(){return t(at)},get topPicks(){return t(w)},get stats(){return t(ot)}});var it=e(et,2),kt=e(r(it),4),Lt=r(kt),jt=r(Lt),Ot=r(jt);a(jt);var Mt=e(jt,2),Yt=r(Mt);a(Mt),a(Lt);var Zt=e(Lt,2),Ft=r(Zt);a(Zt),a(kt),vt(2),a(it),N(zt=>{d(Ot,`${t(x).length??""} / 10 sessions`),d(Yt,`${zt??""}%`),Ne(Ft,`width: ${t(H)*100}%`)},[()=>Math.round(t(H)*100)]),s(D,J)},_=D=>{var J=Wa(),et=C(J);Pe(et,{side:"baseline",get ndcg(){return t(at)},get topPicks(){return t(w)},get stats(){return t(ot)}});var it=e(et,2);Pe(it,{side:"predictor",get ndcg(){return t(z)},get topPicks(){return t(u)},get stats(){return t(St)},get offline(){return t(P)}}),s(D,J)};nt(U,D=>{t(y)?D(q):D(_,-1)})}a(F);var tt=e(F,2),Jt=r(tt);fa(Jt,{get comparisons(){return t(x)}}),a(tt);var ne=e(tt,2),Vt=r(ne);{var Xt=D=>{var J=Ha(),et=r(J);a(J),N((it,kt)=>d(et,`trained v${t(O).step??""} -- ${t(O).samples_used??""} samples, loss ${it??""}, ${kt??""}s`),[()=>t(O).loss.toFixed(4),()=>(t(O).duration_ms/1e3).toFixed(1)]),s(D,J)},te=D=>{var J=Ga(),et=r(J,!0);a(J),N(()=>d(et,t(st))),s(D,J)};nt(Vt,D=>{t(O)?D(Xt):t(st)&&D(te,1)})}var fe=e(Vt,2);L(fe,()=>ea,(D,J)=>{J(D,{get open(){return t(Z)},set open(et){b(Z,et,!0)},children:(et,it)=>{var kt=Xa(),Lt=C(kt);L(Lt,()=>Xe,(Ot,Mt)=>{Mt(Ot,{class:"flex items-center gap-1.5 sig-label text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] transition-colors",children:(Yt,Zt)=>{var Ft=Ka(),zt=C(Ft);{let Wt=I(()=>t(Z)?"0deg":"-90deg");oa(zt,{class:"w-3 h-3 transition-transform duration-200",get style(){return`transform: rotate(${t(Wt)??""})`}})}var me=e(zt,2);{var oe=Wt=>{xe(Wt,{variant:"destructive",class:"text-[8px] px-1 py-0 ml-1",children:(_e,Te)=>{vt();var dt=$t();N(()=>d(dt,t(M).length)),s(_e,dt)},$$slots:{default:!0}})};nt(me,Wt=>{t(M).length>0&&Wt(oe)})}s(Yt,Ft)},$$slots:{default:!0}})});var jt=e(Lt,2);L(jt,()=>ta,(Ot,Mt)=>{Mt(Ot,{children:(Yt,Zt)=>{var Ft=Ua(),zt=r(Ft);{var me=dt=>{var _t=Ja(),It=e(r(_t),2),Ht=e(r(It));Bt(Ht,21,()=>t(x).slice(0,15),ht=>ht.sessionKey,(ht,E)=>{var bt=qa(),Nt=r(bt),At=r(Nt);let Et;var Qt=e(At);a(Nt);var Tt=e(Nt),ee=r(Tt,!0);a(Tt);var Gt=e(Tt),he=r(Gt,!0);a(Gt);var Rt=e(Gt);let le;var de=r(Rt);a(Rt);var ae=e(Rt),be=r(ae,!0);a(ae);var ve=e(ae),ye=r(ve,!0);a(ve),a(bt),N(($e,Me,Fe,Ie,Ae)=>{Et=ke(At,1,"w-2 h-2 inline-block rounded-full mr-1",null,Et,{"bg-[var(--sig-success)]":t(E).predictorWon,"bg-[var(--sig-danger)]":!t(E).predictorWon}),d(Qt,` ${$e??""}`),d(ee,Me),d(he,Fe),le=ke(Rt,1,"text-right py-1 px-2",null,le,{"text-[var(--sig-success)]":t(E).margin>0,"text-[var(--sig-danger)]":t(E).margin<0}),d(de,`${t(E).margin>0?"+":""}${Ie??""}`),d(be,t(E).project??"-"),d(ye,Ae)},[()=>t(E).sessionKey.slice(0,8),()=>t(E).predictorNdcg.toFixed(3),()=>t(E).baselineNdcg.toFixed(3),()=>t(E).margin.toFixed(3),()=>k(t(E).createdAt)]),s(ht,bt)}),a(Ht),a(It),a(_t),s(dt,_t)};nt(zt,dt=>{t(x).length>0&&dt(me)})}var oe=e(zt,2);{var Wt=dt=>{var _t=Ya(),It=e(r(_t),2),Ht=e(r(It));Bt(Ht,21,()=>t(rt),ht=>ht.id,(ht,E)=>{var bt=Va(),Nt=r(bt),At=r(Nt);a(Nt);var Et=e(Nt),Qt=r(Et,!0);a(Et);var Tt=e(Et),ee=r(Tt,!0);a(Tt);var Gt=e(Tt),he=r(Gt);a(Gt);var Rt=e(Gt),le=r(Rt,!0);a(Rt);var de=e(Rt),ae=r(de,!0);a(de),a(bt),N((be,ve,ye,$e)=>{d(At,`v${t(E).modelVersion??""}`),d(Qt,be),d(ee,t(E).sampleCount),d(he,`${ve??""}s`),d(le,ye),d(ae,$e)},[()=>t(E).loss.toFixed(4),()=>(t(E).durationMs/1e3).toFixed(1),()=>t(E).canaryNdcg!==null?t(E).canaryNdcg.toFixed(3):"-",()=>k(t(E).createdAt)]),s(ht,bt)}),a(Ht),a(It),a(_t),s(dt,_t)};nt(oe,dt=>{t(rt).length>0&&dt(Wt)})}var _e=e(oe,2);{var Te=dt=>{var _t=Qa(),It=e(r(_t),2);Bt(It,21,()=>t(M).slice(0,10),ce,(Ht,ht)=>{var E=Za(),bt=r(E),Nt=r(bt,!0);a(bt);var At=e(bt,2),Et=r(At,!0);a(At);var Qt=e(At,2),Tt=r(Qt,!0);a(Qt),a(E),N(ee=>{d(Nt,ee),d(Et,t(ht).code),d(Tt,t(ht).message)},[()=>k(t(ht).timestamp)]),s(Ht,E)}),a(It),a(_t),s(dt,_t)};nt(_e,dt=>{t(M).length>0&&dt(Te)})}a(Ft),s(Yt,Ft)},$$slots:{default:!0}})}),s(et,kt)},$$slots:{default:!0}})}),a(ne),s(i,l)};nt(yt,i=>{t(j)&&!t(T)&&!t(xt)?i(gt):t(xt)&&!t(T)?i(Ct,1):t(h)?i(qt,2):i(Dt,-1)})}a(ut),a(lt),s(wt,lt),se()}export{xr as default};
@@ -1 +1 @@
1
- import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as u,r as $}from"./o6XZc-z-.js";import{I as h}from"./DqNoVcfB.js";function x(r,s){p(s,!0);let a=$(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"}],["circle",{cx:"12",cy:"7",r:"4"}]];h(r,c({name:"user"},()=>a,{get iconNode(){return o},children:(t,v)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(t,e)},$$slots:{default:!0}})),u()}export{x as U};
1
+ import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as u,r as $}from"./o6XZc-z-.js";import{I as h}from"./CpxGl5i3.js";function x(r,s){p(s,!0);let a=$(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"}],["circle",{cx:"12",cy:"7",r:"4"}]];h(r,c({name:"user"},()=>a,{get iconNode(){return o},children:(t,v)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(t,e)},$$slots:{default:!0}})),u()}export{x as U};
@@ -1 +1 @@
1
- import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./o6XZc-z-.js";import{I as f}from"./DqNoVcfB.js";function _(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]];f(t,p({name:"wrench"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}function N(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M12 2v4"}],["path",{d:"m16.2 7.8 2.9-2.9"}],["path",{d:"M18 12h4"}],["path",{d:"m16.2 16.2 2.9 2.9"}],["path",{d:"M12 18v4"}],["path",{d:"m4.9 19.1 2.9-2.9"}],["path",{d:"M2 12h4"}],["path",{d:"m4.9 4.9 2.9 2.9"}]];f(t,p({name:"loader"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}export{N as L,_ as W};
1
+ import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./o6XZc-z-.js";import{I as f}from"./CpxGl5i3.js";function _(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]];f(t,p({name:"wrench"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}function N(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M12 2v4"}],["path",{d:"m16.2 7.8 2.9-2.9"}],["path",{d:"M18 12h4"}],["path",{d:"m16.2 16.2 2.9 2.9"}],["path",{d:"M12 18v4"}],["path",{d:"m4.9 19.1 2.9-2.9"}],["path",{d:"M2 12h4"}],["path",{d:"m4.9 4.9 2.9 2.9"}]];f(t,p({name:"loader"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}export{N as L,_ as W};
@@ -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 m,y as h,z as _,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./o6XZc-z-.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"./DqNoVcfB.js";import{P as er}from"./DiLyuexf.js";import{T as rr}from"./BBTUzYSt.js";import{B as sr}from"./BzsZb1Ip.js";import{P as tr,a as ar,b as nr}from"./CMmGjAIP.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 m,y as h,z as _,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./o6XZc-z-.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"./CpxGl5i3.js";import{P as er}from"./DiLyuexf.js";import{T as rr}from"./BBTUzYSt.js";import{B as sr}from"./DM4MqtLV.js";import{P as tr,a as ar,b as nr}from"./B-6H0vQs.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-[family-name:var(--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 +1 @@
1
- import{p as y,g as a,c as C,f as i,h as c,V as J,s as V,i as W,a as Z,n as j,t as b,W as K,b as d,d as q,r as A,u as B,m as D,X as L,k as R,Y as M,Z as N}from"./o6XZc-z-.js";import{c as E}from"./DqNoVcfB.js";var O=D("<!> <!>",1);function $(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"orientation",3,"vertical"),l=A(r,["$$slots","$$events","$$legacy","ref","class","orientation","children"]);var f=C(),m=i(f);{let p=B(()=>E("flex touch-none p-px transition-colors select-none",t()==="vertical"&&"h-full w-2.5 border-s border-s-transparent",t()==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",r.class));c(m,()=>J,(u,S)=>{S(u,V({"data-slot":"scroll-area-scrollbar",get orientation(){return t()},get class(){return W(p)}},()=>l,{get ref(){return o()},set ref(n){o(n)},children:(n,P)=>{var v=O(),s=i(v);Z(s,()=>r.children??j);var k=b(s,2);c(k,()=>K,(_,g)=>{g(_,{"data-slot":"scroll-area-thumb",class:"bg-border relative flex-1 rounded-full"})}),d(n,v)},$$slots:{default:!0}}))})}d(h,f),q()}var Q=D("<!> <!> <!> <!>",1);function er(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"viewportRef",15,null),l=a(r,"orientation",3,"vertical"),f=a(r,"scrollbarXClasses",3,""),m=a(r,"scrollbarYClasses",3,""),p=A(r,["$$slots","$$events","$$legacy","ref","viewportRef","class","orientation","scrollbarXClasses","scrollbarYClasses","children"]);var u=C(),S=i(u);{let n=B(()=>E("relative",r.class));c(S,()=>N,(P,v)=>{v(P,V({"data-slot":"scroll-area",get class(){return W(n)}},()=>p,{get ref(){return o()},set ref(s){o(s)},children:(s,k)=>{var _=Q(),g=i(_);c(g,()=>L,(e,w)=>{w(e,{"data-slot":"scroll-area-viewport",class:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1",get ref(){return t()},set ref(x){t(x)},children:(x,T)=>{var Y=C(),I=i(Y);Z(I,()=>r.children??j),d(x,Y)},$$slots:{default:!0}})});var z=b(g,2);{var F=e=>{$(e,{orientation:"vertical",get class(){return m()}})};R(z,e=>{(l()==="vertical"||l()==="both")&&e(F)})}var X=b(z,2);{var G=e=>{$(e,{orientation:"horizontal",get class(){return f()}})};R(X,e=>{(l()==="horizontal"||l()==="both")&&e(G)})}var H=b(X,2);c(H,()=>M,(e,w)=>{w(e,{})}),d(s,_)},$$slots:{default:!0}}))})}d(h,u),q()}export{er as S,$ as a};
1
+ import{p as y,g as a,c as C,f as i,h as c,V as J,s as V,i as W,a as Z,n as j,t as b,W as K,b as d,d as q,r as A,u as B,m as D,X as L,k as R,Y as M,Z as N}from"./o6XZc-z-.js";import{c as E}from"./CpxGl5i3.js";var O=D("<!> <!>",1);function $(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"orientation",3,"vertical"),l=A(r,["$$slots","$$events","$$legacy","ref","class","orientation","children"]);var f=C(),m=i(f);{let p=B(()=>E("flex touch-none p-px transition-colors select-none",t()==="vertical"&&"h-full w-2.5 border-s border-s-transparent",t()==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",r.class));c(m,()=>J,(u,S)=>{S(u,V({"data-slot":"scroll-area-scrollbar",get orientation(){return t()},get class(){return W(p)}},()=>l,{get ref(){return o()},set ref(n){o(n)},children:(n,P)=>{var v=O(),s=i(v);Z(s,()=>r.children??j);var k=b(s,2);c(k,()=>K,(_,g)=>{g(_,{"data-slot":"scroll-area-thumb",class:"bg-border relative flex-1 rounded-full"})}),d(n,v)},$$slots:{default:!0}}))})}d(h,f),q()}var Q=D("<!> <!> <!> <!>",1);function er(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"viewportRef",15,null),l=a(r,"orientation",3,"vertical"),f=a(r,"scrollbarXClasses",3,""),m=a(r,"scrollbarYClasses",3,""),p=A(r,["$$slots","$$events","$$legacy","ref","viewportRef","class","orientation","scrollbarXClasses","scrollbarYClasses","children"]);var u=C(),S=i(u);{let n=B(()=>E("relative",r.class));c(S,()=>N,(P,v)=>{v(P,V({"data-slot":"scroll-area",get class(){return W(n)}},()=>p,{get ref(){return o()},set ref(s){o(s)},children:(s,k)=>{var _=Q(),g=i(_);c(g,()=>L,(e,w)=>{w(e,{"data-slot":"scroll-area-viewport",class:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1",get ref(){return t()},set ref(x){t(x)},children:(x,T)=>{var Y=C(),I=i(Y);Z(I,()=>r.children??j),d(x,Y)},$$slots:{default:!0}})});var z=b(g,2);{var F=e=>{$(e,{orientation:"vertical",get class(){return m()}})};R(z,e=>{(l()==="vertical"||l()==="both")&&e(F)})}var X=b(z,2);{var G=e=>{$(e,{orientation:"horizontal",get class(){return f()}})};R(X,e=>{(l()==="horizontal"||l()==="both")&&e(G)})}var H=b(X,2);c(H,()=>M,(e,w)=>{w(e,{})}),d(s,_)},$$slots:{default:!0}}))})}d(h,u),q()}export{er as S,$ as a};
@@ -1,4 +1,4 @@
1
- import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,aa as Je,O as he,ab as We,a3 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./o6XZc-z-.js";import{I as ye,K as Xe,o as ae}from"./DqNoVcfB.js";import{S as Ye,a as Ze,b as et,c as tt}from"./DRi4nBAJ.js";import{W as at,L as ve}from"./Br6edLys.js";import{T as st}from"./DafZDKIu.js";function rt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];ye(P,be({name:"activity"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}function nt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];ye(P,be({name:"terminal"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}var it=T('<span class="ts-panel-count svelte-c36e65"> </span>'),lt=T("<!> <!>",1),ot=T('<div class="ts-control svelte-c36e65"><div class="ts-control-head svelte-c36e65"><div class="ts-control-title-wrap svelte-c36e65"><!> <span class="ts-control-title svelte-c36e65"> </span> <!></div> <!></div> <div class="ts-action-bar svelte-c36e65"><!> <button class="ts-run svelte-c36e65"><!></button></div></div>'),ct=T('<button class="ts-clear svelte-c36e65" title="Clear output"><!></button>'),dt=T('<div class="ts-empty svelte-c36e65">no output yet</div>'),pt=T('<div class="ts-line svelte-c36e65"></div>'),mt=T('<div class="ts-root svelte-c36e65"><div class="ts-controls svelte-c36e65"></div> <div class="ts-terminal-wrap svelte-c36e65"><div class="ts-terminal-head svelte-c36e65"><span class="ts-control-title svelte-c36e65">Terminal</span> <!></div> <div class="ts-term svelte-c36e65" role="log"><!></div></div></div>');function yt(P,f){se(f,!0);const _=[{id:"cli",title:"CLI",icon:nt,color:"var(--sig-highlight)",commands:[{label:"Status",kind:"cli",key:"status"},{label:"Daemon Status",kind:"cli",key:"daemon-status"},{label:"Daemon Logs",kind:"cli",key:"daemon-logs"},{label:"Sync",kind:"cli",key:"sync"},{label:"Embed Audit",kind:"cli",key:"embed-audit"},{label:"Skill List",kind:"cli",key:"skill-list"},{label:"Secret List",kind:"cli",key:"secret-list"},{label:"Recall Test",kind:"cli",key:"recall-test"}]},{id:"status",title:"Status",icon:rt,color:"var(--sig-highlight)",commands:[{label:"Health",kind:"api",method:"GET",path:"/health"},{label:"Diagnostics",kind:"api",method:"GET",path:"/api/diagnostics"},{label:"Pipeline",kind:"api",method:"GET",path:"/api/pipeline/status"},{label:"Predictor",kind:"api",method:"GET",path:"/api/predictor/status"},{label:"Git",kind:"api",method:"GET",path:"/api/git/status"},{label:"Embeddings",kind:"api",method:"GET",path:"/api/embeddings/health"}]},{id:"info",title:"Info",icon:Xe,color:"var(--sig-highlight)",commands:[{label:"Embed Gaps",kind:"api",method:"GET",path:"/api/repair/embedding-gaps"},{label:"Dedup Stats",kind:"api",method:"GET",path:"/api/repair/dedup-stats"},{label:"Cold Stats",kind:"api",method:"GET",path:"/api/repair/cold-stats"}]},{id:"repair",title:"Repair",icon:at,color:"var(--sig-highlight)",commands:[{label:"Check FTS",kind:"api",method:"POST",path:"/api/repair/check-fts"},{label:"Re-embed",kind:"api",method:"POST",path:"/api/repair/re-embed"},{label:"Resync Vec",kind:"api",method:"POST",path:"/api/repair/resync-vec"},{label:"Clean Orphans",kind:"api",method:"POST",path:"/api/repair/clean-orphans"},{label:"Deduplicate",kind:"api",method:"POST",path:"/api/repair/deduplicate"},{label:"Retention",kind:"api",method:"POST",path:"/api/repair/retention-sweep"},{label:"Requeue Dead",kind:"api",method:"POST",path:"/api/repair/requeue-dead"},{label:"Release Leases",kind:"api",method:"POST",path:"/api/repair/release-leases"},{label:"Backfill Skipped",kind:"api",method:"POST",path:"/api/repair/backfill-skipped"},{label:"Reclassify",kind:"api",method:"POST",path:"/api/repair/reclassify-entities"},{label:"Prune Chunks",kind:"api",method:"POST",path:"/api/repair/prune-chunk-groups"},{label:"Prune Singletons",kind:"api",method:"POST",path:"/api/repair/prune-singleton-entities"},{label:"Stop Daemon",kind:"cli",key:"daemon-stop"},{label:"Restart Daemon",kind:"cli",key:"daemon-restart"},{label:"Update Signet",kind:"cli",key:"update"}]}],g=pe(Object.fromEntries(_.map(e=>[e.id,{lines:[],running:!1,selected:0}])));let h=me(pe([])),O=me(void 0);const x=Object.fromEntries(_.map(e=>[e.id,e]));function E(e){te(O,e,!0)}async function v(e){await Ve(),s(O)?.scrollTo({top:s(O).scrollHeight,behavior:"smooth"})}function o(e,t){const a=g[e];if(!a)return;a.lines=[...a.lines,t];const i=x[e]?.title??e;te(h,[...s(h),t?`[${i}] ${t}`:""],!0)}function _e(){te(h,[],!0);for(const e of _)g[e.id].lines=[]}async function xe(e,t){const a=g[e];if(!a||a.running||!t.key)return;a.running=!0,o(e,`\x1B[32m$\x1B[0m signet ${t.key.replace(/-/g," ")}`),await v();const i=new AbortController;let r=!1;try{const n=await fetch(`${ae}/api/troubleshoot/exec`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:t.key}),signal:i.signal});if(!n.ok){const D=await n.json().catch(()=>({error:"request failed"}));o(e,`\x1B[31merror:\x1B[0m ${D.error??n.statusText}`),a.running=!1,await v(e);return}const d=n.body?.getReader();if(!d){o(e,"\x1B[31merror:\x1B[0m no stream"),a.running=!1;return}t.key==="daemon-restart"&&(r=!0);const b=new TextDecoder;let $="";try{for(;;){const{done:D,value:W}=await d.read();if(D)break;$+=b.decode(W,{stream:!0});const N=$.split(`
1
+ import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,aa as Je,O as he,ab as We,a3 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./o6XZc-z-.js";import{I as ye,K as Xe,o as ae}from"./CpxGl5i3.js";import{S as Ye,a as Ze,b as et,c as tt}from"./Bxx98OhM.js";import{W as at,L as ve}from"./BP9HHq8c.js";import{T as st}from"./sHsoP0LT.js";function rt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];ye(P,be({name:"activity"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}function nt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];ye(P,be({name:"terminal"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}var it=T('<span class="ts-panel-count svelte-c36e65"> </span>'),lt=T("<!> <!>",1),ot=T('<div class="ts-control svelte-c36e65"><div class="ts-control-head svelte-c36e65"><div class="ts-control-title-wrap svelte-c36e65"><!> <span class="ts-control-title svelte-c36e65"> </span> <!></div> <!></div> <div class="ts-action-bar svelte-c36e65"><!> <button class="ts-run svelte-c36e65"><!></button></div></div>'),ct=T('<button class="ts-clear svelte-c36e65" title="Clear output"><!></button>'),dt=T('<div class="ts-empty svelte-c36e65">no output yet</div>'),pt=T('<div class="ts-line svelte-c36e65"></div>'),mt=T('<div class="ts-root svelte-c36e65"><div class="ts-controls svelte-c36e65"></div> <div class="ts-terminal-wrap svelte-c36e65"><div class="ts-terminal-head svelte-c36e65"><span class="ts-control-title svelte-c36e65">Terminal</span> <!></div> <div class="ts-term svelte-c36e65" role="log"><!></div></div></div>');function yt(P,f){se(f,!0);const _=[{id:"cli",title:"CLI",icon:nt,color:"var(--sig-highlight)",commands:[{label:"Status",kind:"cli",key:"status"},{label:"Daemon Status",kind:"cli",key:"daemon-status"},{label:"Daemon Logs",kind:"cli",key:"daemon-logs"},{label:"Sync",kind:"cli",key:"sync"},{label:"Embed Audit",kind:"cli",key:"embed-audit"},{label:"Skill List",kind:"cli",key:"skill-list"},{label:"Secret List",kind:"cli",key:"secret-list"},{label:"Recall Test",kind:"cli",key:"recall-test"}]},{id:"status",title:"Status",icon:rt,color:"var(--sig-highlight)",commands:[{label:"Health",kind:"api",method:"GET",path:"/health"},{label:"Diagnostics",kind:"api",method:"GET",path:"/api/diagnostics"},{label:"Pipeline",kind:"api",method:"GET",path:"/api/pipeline/status"},{label:"Predictor",kind:"api",method:"GET",path:"/api/predictor/status"},{label:"Git",kind:"api",method:"GET",path:"/api/git/status"},{label:"Embeddings",kind:"api",method:"GET",path:"/api/embeddings/health"}]},{id:"info",title:"Info",icon:Xe,color:"var(--sig-highlight)",commands:[{label:"Embed Gaps",kind:"api",method:"GET",path:"/api/repair/embedding-gaps"},{label:"Dedup Stats",kind:"api",method:"GET",path:"/api/repair/dedup-stats"},{label:"Cold Stats",kind:"api",method:"GET",path:"/api/repair/cold-stats"}]},{id:"repair",title:"Repair",icon:at,color:"var(--sig-highlight)",commands:[{label:"Check FTS",kind:"api",method:"POST",path:"/api/repair/check-fts"},{label:"Re-embed",kind:"api",method:"POST",path:"/api/repair/re-embed"},{label:"Resync Vec",kind:"api",method:"POST",path:"/api/repair/resync-vec"},{label:"Clean Orphans",kind:"api",method:"POST",path:"/api/repair/clean-orphans"},{label:"Deduplicate",kind:"api",method:"POST",path:"/api/repair/deduplicate"},{label:"Retention",kind:"api",method:"POST",path:"/api/repair/retention-sweep"},{label:"Requeue Dead",kind:"api",method:"POST",path:"/api/repair/requeue-dead"},{label:"Release Leases",kind:"api",method:"POST",path:"/api/repair/release-leases"},{label:"Backfill Skipped",kind:"api",method:"POST",path:"/api/repair/backfill-skipped"},{label:"Reclassify",kind:"api",method:"POST",path:"/api/repair/reclassify-entities"},{label:"Prune Chunks",kind:"api",method:"POST",path:"/api/repair/prune-chunk-groups"},{label:"Prune Singletons",kind:"api",method:"POST",path:"/api/repair/prune-singleton-entities"},{label:"Stop Daemon",kind:"cli",key:"daemon-stop"},{label:"Restart Daemon",kind:"cli",key:"daemon-restart"},{label:"Update Signet",kind:"cli",key:"update"}]}],g=pe(Object.fromEntries(_.map(e=>[e.id,{lines:[],running:!1,selected:0}])));let h=me(pe([])),O=me(void 0);const x=Object.fromEntries(_.map(e=>[e.id,e]));function E(e){te(O,e,!0)}async function v(e){await Ve(),s(O)?.scrollTo({top:s(O).scrollHeight,behavior:"smooth"})}function o(e,t){const a=g[e];if(!a)return;a.lines=[...a.lines,t];const i=x[e]?.title??e;te(h,[...s(h),t?`[${i}] ${t}`:""],!0)}function _e(){te(h,[],!0);for(const e of _)g[e.id].lines=[]}async function xe(e,t){const a=g[e];if(!a||a.running||!t.key)return;a.running=!0,o(e,`\x1B[32m$\x1B[0m signet ${t.key.replace(/-/g," ")}`),await v();const i=new AbortController;let r=!1;try{const n=await fetch(`${ae}/api/troubleshoot/exec`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:t.key}),signal:i.signal});if(!n.ok){const D=await n.json().catch(()=>({error:"request failed"}));o(e,`\x1B[31merror:\x1B[0m ${D.error??n.statusText}`),a.running=!1,await v(e);return}const d=n.body?.getReader();if(!d){o(e,"\x1B[31merror:\x1B[0m no stream"),a.running=!1;return}t.key==="daemon-restart"&&(r=!0);const b=new TextDecoder;let $="";try{for(;;){const{done:D,value:W}=await d.read();if(D)break;$+=b.decode(W,{stream:!0});const N=$.split(`
2
2
 
3
3
  `);$=N.pop()??"";for(const F of N){const R=F.match(/^data:\s*(.+)$/m);if(R)try{const m=JSON.parse(R[1]);if(m.type==="started"&&(r=!0),m.type==="stdout"||m.type==="stderr"){const S=String(m.data).replace(/\n$/,"");if(S){for(const I of S.split(`
4
4
  `))o(e,m.type==="stderr"?`\x1B[33m${I}\x1B[0m`:I);await v(e)}}else m.type==="exit"?(o(e,m.code===0?"\x1B[32m✓ exit 0\x1B[0m":`\x1B[31m✗ exit ${m.code}\x1B[0m`),await v(e)):m.type==="error"&&(o(e,`\x1B[31merror:\x1B[0m ${m.message}`),await v(e))}catch{}}}}finally{d.releaseLock()}}catch(n){i.signal.aborted||(t.key==="daemon-stop"||t.key==="daemon-restart"?o(e,"\x1B[33mDaemon process ended\x1B[0m"):o(e,`\x1B[31merror:\x1B[0m ${n instanceof Error?n.message:"fetch failed"}`))}if(t.key==="daemon-restart"&&r){o(e,"\x1B[90mWaiting for daemon to restart...\x1B[0m"),await v();let n=!1;for(let d=0;d<15;d++){await new Promise(b=>setTimeout(b,1e3));try{if((await fetch(`${ae}/health`)).ok){n=!0;break}}catch{}}o(e,n?"\x1B[32m✓ Daemon restarted\x1B[0m":"\x1B[31m✗ Daemon did not restart within 15s\x1B[0m"),await v()}o(e,""),a.running=!1,await v()}async function $e(e,t){const a=g[e];if(!a||a.running||!t.path||!t.method)return;a.running=!0;const i=performance.now();o(e,`\x1B[32m$\x1B[0m ${t.method} ${t.path}`),await v();try{const r=await fetch(`${ae}${t.path}`,{method:t.method}),n=Math.round(performance.now()-i),b=(r.headers.get("content-type")??"").includes("json")?JSON.stringify(await r.json(),null,2):await r.text();o(e,r.ok?`\x1B[32m${r.status} OK\x1B[0m \x1B[90m${n}ms\x1B[0m`:`\x1B[31m${r.status} FAILED\x1B[0m \x1B[90m${n}ms\x1B[0m`);for(const $ of b.split(`
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CCIzr3Yq.js","./o6XZc-z-.js","../assets/vendor-ui.BHIBfuhK.css","./DqNoVcfB.js","./Cik1Y8bQ.js","./PPVm8Dsz.js","../assets/2.tzGKUdDb.css","./DRi4nBAJ.js","./Z-y2Kglw.js","./DKfW4VQI.js","./Br6edLys.js","./DafZDKIu.js","../assets/TroubleshooterPanel.Bj27xjMc.css","./Cwx7YIp_.js","./DiLyuexf.js","../assets/PageBanner.BodUOjhn.css","./BBTUzYSt.js","./BrqBgUIu.js","./BJ_1oiga.js","../assets/LogsTab.DpPjv4Ww.css"])))=>i.map(i=>d[i]);
2
- import{_ as $}from"./PPVm8Dsz.js";import{p as N,o as Q,e as q,Q as A,i as o,v as x,j as v,t as w,l,k as J,y as E,B as I,R as P,O as B,b as n,d as K,c as u,f as c,T as D,z as H,h as U,m as f,P as M}from"./o6XZc-z-.js";var W=f('<div class="audit-error svelte-1xfrv6f"> </div>'),X=f('<div class="audit-loading svelte-1xfrv6f">Loading troubleshooter...</div>'),Y=f('<div class="audit-error svelte-1xfrv6f"> </div>'),Z=f('<div class="audit-loading svelte-1xfrv6f">Loading logs...</div>'),ee=f('<div class="audit-tab svelte-1xfrv6f"><header class="tab-header svelte-1xfrv6f"><div class="tab-header-left svelte-1xfrv6f"><span class="tab-header-title svelte-1xfrv6f">AUDIT</span> <span class="tab-header-sep svelte-1xfrv6f" aria-hidden="true"></span> <span class="tab-header-count svelte-1xfrv6f">TROUBLESHOOTER + LOGS</span></div> <div class="sub-group svelte-1xfrv6f"><button>TROUBLESHOOTER</button> <button>LOGS</button></div></header> <div class="audit-content audit-embed svelte-1xfrv6f"><!></div></div>');function ae(F,G){N(G,!0);const V=new Set(["troubleshooter","logs"]);function O(){if(typeof window>"u")return"troubleshooter";const t=window.location.hash.replace("#","").split("/");return t[0]!=="audit"?"troubleshooter":t[1]&&V.has(t[1])?t[1]:"troubleshooter"}let i=Q(q(O()));A(()=>{if(typeof window>"u")return;const e=o(i)==="troubleshooter"?"audit":`audit/${o(i)}`;window.location.hash!==`#${e}`&&window.history.replaceState(null,"",`#${e}`)}),A(()=>{if(typeof window>"u")return;const e=()=>{const t=O();t!==o(i)&&x(i,t,!0)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)});const T="px-2.5 py-1 text-[10px] font-medium uppercase tracking-[0.06em] rounded-md transition-colors duration-150 border-none cursor-pointer whitespace-nowrap",L=`${T} text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)] border border-[color-mix(in_srgb,var(--sig-highlight),transparent_85%)]`,k=`${T} bg-transparent text-[var(--sig-text-muted)] hover:text-[var(--sig-highlight)] hover:bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_94%)]`;var h=ee(),g=v(h),S=w(v(g),2),_=v(S),y=w(_,2);l(S),l(g);var R=w(g,2),j=v(R);{var z=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./CCIzr3Yq.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url),a=>{var s=X();n(a,s)},(a,s)=>{var r=u(),d=c(r);U(d,()=>o(s).default,(b,m)=>{m(b,{})}),n(a,r)},(a,s)=>{var r=W(),d=v(r);l(r),E(()=>H(d,`Failed to load: ${o(s)?.message??"unknown"??""}`)),n(a,r)}),n(e,t)},C=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./Cwx7YIp_.js"),__vite__mapDeps([13,1,2,3,4,5,6,14,15,16,17,9,18,7,8,19]),import.meta.url),a=>{var s=Z();n(a,s)},(a,s)=>{var r=u(),d=c(r);U(d,()=>o(s).default,(b,m)=>{m(b,{})}),n(a,r)},(a,s)=>{var r=Y(),d=v(r);l(r),E(()=>H(d,`Failed to load: ${o(s)?.message??"unknown"??""}`)),n(a,r)}),n(e,t)};J(j,e=>{o(i)==="troubleshooter"?e(z):e(C,-1)})}l(R),l(h),E(()=>{I(_,1,P(o(i)==="troubleshooter"?L:k),"svelte-1xfrv6f"),I(y,1,P(o(i)==="logs"?L:k),"svelte-1xfrv6f")}),B("click",_,()=>x(i,"troubleshooter")),B("click",y,()=>x(i,"logs")),n(F,h),K()}M(["click"]);export{ae as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BZB7F1mW.js","./o6XZc-z-.js","../assets/vendor-ui.BHIBfuhK.css","./CpxGl5i3.js","./Cik1Y8bQ.js","./PPVm8Dsz.js","../assets/2.tzGKUdDb.css","./Bxx98OhM.js","./CxCMEr5G.js","./vHlYBWK3.js","./BP9HHq8c.js","./sHsoP0LT.js","../assets/TroubleshooterPanel.Bj27xjMc.css","./CjTqscDQ.js","./DiLyuexf.js","../assets/PageBanner.BodUOjhn.css","./BBTUzYSt.js","./DQnOKRKn.js","./BQtR4PT0.js","../assets/LogsTab.DpPjv4Ww.css"])))=>i.map(i=>d[i]);
2
+ import{_ as $}from"./PPVm8Dsz.js";import{p as N,o as Q,e as q,Q as A,i as o,v as x,j as v,t as w,l,k as J,y as E,B as I,R as P,O as B,b as n,d as K,c as u,f as c,T as D,z as H,h as U,m as f,P as M}from"./o6XZc-z-.js";var W=f('<div class="audit-error svelte-1xfrv6f"> </div>'),X=f('<div class="audit-loading svelte-1xfrv6f">Loading troubleshooter...</div>'),Y=f('<div class="audit-error svelte-1xfrv6f"> </div>'),Z=f('<div class="audit-loading svelte-1xfrv6f">Loading logs...</div>'),ee=f('<div class="audit-tab svelte-1xfrv6f"><header class="tab-header svelte-1xfrv6f"><div class="tab-header-left svelte-1xfrv6f"><span class="tab-header-title svelte-1xfrv6f">AUDIT</span> <span class="tab-header-sep svelte-1xfrv6f" aria-hidden="true"></span> <span class="tab-header-count svelte-1xfrv6f">TROUBLESHOOTER + LOGS</span></div> <div class="sub-group svelte-1xfrv6f"><button>TROUBLESHOOTER</button> <button>LOGS</button></div></header> <div class="audit-content audit-embed svelte-1xfrv6f"><!></div></div>');function ae(F,G){N(G,!0);const V=new Set(["troubleshooter","logs"]);function O(){if(typeof window>"u")return"troubleshooter";const t=window.location.hash.replace("#","").split("/");return t[0]!=="audit"?"troubleshooter":t[1]&&V.has(t[1])?t[1]:"troubleshooter"}let i=Q(q(O()));A(()=>{if(typeof window>"u")return;const e=o(i)==="troubleshooter"?"audit":`audit/${o(i)}`;window.location.hash!==`#${e}`&&window.history.replaceState(null,"",`#${e}`)}),A(()=>{if(typeof window>"u")return;const e=()=>{const t=O();t!==o(i)&&x(i,t,!0)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)});const T="px-2.5 py-1 text-[10px] font-medium uppercase tracking-[0.06em] rounded-md transition-colors duration-150 border-none cursor-pointer whitespace-nowrap",L=`${T} text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)] border border-[color-mix(in_srgb,var(--sig-highlight),transparent_85%)]`,k=`${T} bg-transparent text-[var(--sig-text-muted)] hover:text-[var(--sig-highlight)] hover:bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_94%)]`;var h=ee(),g=v(h),S=w(v(g),2),_=v(S),y=w(_,2);l(S),l(g);var R=w(g,2),j=v(R);{var z=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./BZB7F1mW.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url),a=>{var s=X();n(a,s)},(a,s)=>{var r=u(),d=c(r);U(d,()=>o(s).default,(b,m)=>{m(b,{})}),n(a,r)},(a,s)=>{var r=W(),d=v(r);l(r),E(()=>H(d,`Failed to load: ${o(s)?.message??"unknown"??""}`)),n(a,r)}),n(e,t)},C=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./CjTqscDQ.js"),__vite__mapDeps([13,1,2,3,4,5,6,14,15,16,17,9,18,7,8,19]),import.meta.url),a=>{var s=Z();n(a,s)},(a,s)=>{var r=u(),d=c(r);U(d,()=>o(s).default,(b,m)=>{m(b,{})}),n(a,r)},(a,s)=>{var r=Y(),d=v(r);l(r),E(()=>H(d,`Failed to load: ${o(s)?.message??"unknown"??""}`)),n(a,r)}),n(e,t)};J(j,e=>{o(i)==="troubleshooter"?e(z):e(C,-1)})}l(R),l(h),E(()=>{I(_,1,P(o(i)==="troubleshooter"?L:k),"svelte-1xfrv6f"),I(y,1,P(o(i)==="logs"?L:k),"svelte-1xfrv6f")}),B("click",_,()=>x(i,"troubleshooter")),B("click",y,()=>x(i,"logs")),n(F,h),K()}M(["click"]);export{ae as default};
@@ -1 +1 @@
1
- import{p as n,g as o,E as d,j as c,a as f,n as p,l as m,F as v,b as h,d as u,r as _,m as b}from"./o6XZc-z-.js";import{c as g}from"./DqNoVcfB.js";var C=b("<div><!></div>");function y(r,a){n(a,!0);let t=o(a,"ref",15,null),l=_(a,["$$slots","$$events","$$legacy","ref","class","children"]);var s=C();d(s,e=>({"data-slot":"card-title",class:e,...l}),[()=>g("leading-none font-semibold",a.class)]);var i=c(s);f(i,()=>a.children??p),m(s),v(s,e=>t(e),()=>t()),h(r,s),u()}export{y as C};
1
+ import{p as n,g as o,E as d,j as c,a as f,n as p,l as m,F as v,b as h,d as u,r as _,m as b}from"./o6XZc-z-.js";import{c as g}from"./CpxGl5i3.js";var C=b("<div><!></div>");function y(r,a){n(a,!0);let t=o(a,"ref",15,null),l=_(a,["$$slots","$$events","$$legacy","ref","class","children"]);var s=C();d(s,e=>({"data-slot":"card-title",class:e,...l}),[()=>g("leading-none font-semibold",a.class)]);var i=c(s);f(i,()=>a.children??p),m(s),v(s,e=>t(e),()=>t()),h(r,s),u()}export{y as C};
@@ -1 +1 @@
1
- import{c as h,f as c,h as p,a6 as L,s as _,b as d,r as b,p as y,g as m,al as M,i as z,d as w,u as S,a as q,n as D,am as Q,an as R,t as N,ao as T,m as E,ap as U,j as V,k as G,l as W,x as X,y as Y,z as Z,aq as ee,ar as te}from"./o6XZc-z-.js";import{c as P,I as ae}from"./DqNoVcfB.js";import{C as H}from"./Z-y2Kglw.js";import{C as se}from"./DKfW4VQI.js";function re(o,e){let t=b(e,["$$slots","$$events","$$legacy"]);var r=h(),s=c(r);p(s,()=>L,(l,n)=>{n(l,_(()=>t))}),d(o,r)}function le(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>M,(u,i)=>{i(u,_({"data-slot":"select-scroll-down-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{H(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}function ne(o,e){y(e,!0);let t=b(e,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"m18 15-6-6-6 6"}]];ae(o,_({name:"chevron-up"},()=>t,{get iconNode(){return r},children:(s,l)=>{var n=h(),u=c(n);q(u,()=>e.children??D),d(s,n)},$$slots:{default:!0}})),w()}function oe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>Q,(u,i)=>{i(u,_({"data-slot":"select-scroll-up-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{ne(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}var ie=E("<!> <!> <!>",1);function he(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"sideOffset",3,4),s=m(e,"preventScroll",3,!0),l=b(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","portalProps","children","preventScroll"]);re(o,_(()=>e.portalProps,{children:(n,u)=>{var i=h(),a=c(i);{let f=S(()=>P("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 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e.class));p(a,()=>R,(k,x)=>{x(k,_({get sideOffset(){return r()},get preventScroll(){return s()},"data-slot":"select-content",get class(){return z(f)}},()=>l,{get ref(){return t()},set ref(g){t(g)},children:(g,j)=>{var C=ie(),O=c(C);oe(O,{});var I=N(O,2);{let v=S(()=>P("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1"));p(I,()=>T,($,B)=>{B($,{get class(){return z(v)},children:(J,ue)=>{var F=h(),K=c(F);q(K,()=>e.children??D),d(J,F)},$$slots:{default:!0}})})}var A=N(I,2);le(A,{}),d(g,C)},$$slots:{default:!0}}))})}d(n,i)},$$slots:{default:!0}})),w()}var de=E('<span class="absolute end-2 flex size-3.5 items-center justify-center"><!></span> <!>',1);function _e(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class","value","label","children"]);var s=h(),l=c(s);{const n=(i,a)=>{let f=()=>a?.().selected,k=()=>a?.().highlighted;var x=de(),g=c(x),j=V(g);{var C=v=>{se(v,{class:"size-4"})};G(j,v=>{f()&&v(C)})}W(g);var O=N(g,2);{var I=v=>{var $=h(),B=c($);q(B,()=>e.children,()=>({selected:f(),highlighted:k()})),d(v,$)},A=v=>{var $=X();Y(()=>Z($,e.label||e.value)),d(v,$)};G(O,v=>{e.children?v(I):v(A,-1)})}d(i,x)};let u=S(()=>P("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e.class));p(l,()=>U,(i,a)=>{a(i,_({get value(){return e.value},"data-slot":"select-item",get class(){return z(u)}},()=>r,{get ref(){return t()},set ref(f){t(f)},children:n,$$slots:{default:!0}}))})}d(o,s),w()}var ce=E("<!> <!>",1);function pe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"size",3,"default"),s=b(e,["$$slots","$$events","$$legacy","ref","class","children","size"]);var l=h(),n=c(l);{let u=S(()=>P("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class));p(n,()=>ee,(i,a)=>{a(i,_({"data-slot":"select-trigger",get"data-size"(){return r()},get class(){return z(u)}},()=>s,{get ref(){return t()},set ref(f){t(f)},children:(f,k)=>{var x=ce(),g=c(x);q(g,()=>e.children??D);var j=N(g,2);H(j,{class:"size-4 opacity-50"}),d(f,x)},$$slots:{default:!0}}))})}d(o,l),w()}function be(o,e){y(e,!0);let t=m(e,"open",15,!1),r=m(e,"value",15),s=b(e,["$$slots","$$events","$$legacy","open","value"]);var l=h(),n=c(l);p(n,()=>te,(u,i)=>{i(u,_(()=>s,{get open(){return t()},set open(a){t(a)},get value(){return r()},set value(a){r(a)}}))}),d(o,l),w()}export{pe as S,he as a,_e as b,be as c};
1
+ import{c as h,f as c,h as p,a6 as L,s as _,b as d,r as b,p as y,g as m,al as M,i as z,d as w,u as S,a as q,n as D,am as Q,an as R,t as N,ao as T,m as E,ap as U,j as V,k as G,l as W,x as X,y as Y,z as Z,aq as ee,ar as te}from"./o6XZc-z-.js";import{c as P,I as ae}from"./CpxGl5i3.js";import{C as H}from"./CxCMEr5G.js";import{C as se}from"./vHlYBWK3.js";function re(o,e){let t=b(e,["$$slots","$$events","$$legacy"]);var r=h(),s=c(r);p(s,()=>L,(l,n)=>{n(l,_(()=>t))}),d(o,r)}function le(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>M,(u,i)=>{i(u,_({"data-slot":"select-scroll-down-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{H(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}function ne(o,e){y(e,!0);let t=b(e,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"m18 15-6-6-6 6"}]];ae(o,_({name:"chevron-up"},()=>t,{get iconNode(){return r},children:(s,l)=>{var n=h(),u=c(n);q(u,()=>e.children??D),d(s,n)},$$slots:{default:!0}})),w()}function oe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>Q,(u,i)=>{i(u,_({"data-slot":"select-scroll-up-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{ne(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}var ie=E("<!> <!> <!>",1);function he(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"sideOffset",3,4),s=m(e,"preventScroll",3,!0),l=b(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","portalProps","children","preventScroll"]);re(o,_(()=>e.portalProps,{children:(n,u)=>{var i=h(),a=c(i);{let f=S(()=>P("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 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e.class));p(a,()=>R,(k,x)=>{x(k,_({get sideOffset(){return r()},get preventScroll(){return s()},"data-slot":"select-content",get class(){return z(f)}},()=>l,{get ref(){return t()},set ref(g){t(g)},children:(g,j)=>{var C=ie(),O=c(C);oe(O,{});var I=N(O,2);{let v=S(()=>P("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1"));p(I,()=>T,($,B)=>{B($,{get class(){return z(v)},children:(J,ue)=>{var F=h(),K=c(F);q(K,()=>e.children??D),d(J,F)},$$slots:{default:!0}})})}var A=N(I,2);le(A,{}),d(g,C)},$$slots:{default:!0}}))})}d(n,i)},$$slots:{default:!0}})),w()}var de=E('<span class="absolute end-2 flex size-3.5 items-center justify-center"><!></span> <!>',1);function _e(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class","value","label","children"]);var s=h(),l=c(s);{const n=(i,a)=>{let f=()=>a?.().selected,k=()=>a?.().highlighted;var x=de(),g=c(x),j=V(g);{var C=v=>{se(v,{class:"size-4"})};G(j,v=>{f()&&v(C)})}W(g);var O=N(g,2);{var I=v=>{var $=h(),B=c($);q(B,()=>e.children,()=>({selected:f(),highlighted:k()})),d(v,$)},A=v=>{var $=X();Y(()=>Z($,e.label||e.value)),d(v,$)};G(O,v=>{e.children?v(I):v(A,-1)})}d(i,x)};let u=S(()=>P("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e.class));p(l,()=>U,(i,a)=>{a(i,_({get value(){return e.value},"data-slot":"select-item",get class(){return z(u)}},()=>r,{get ref(){return t()},set ref(f){t(f)},children:n,$$slots:{default:!0}}))})}d(o,s),w()}var ce=E("<!> <!>",1);function pe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"size",3,"default"),s=b(e,["$$slots","$$events","$$legacy","ref","class","children","size"]);var l=h(),n=c(l);{let u=S(()=>P("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class));p(n,()=>ee,(i,a)=>{a(i,_({"data-slot":"select-trigger",get"data-size"(){return r()},get class(){return z(u)}},()=>s,{get ref(){return t()},set ref(f){t(f)},children:(f,k)=>{var x=ce(),g=c(x);q(g,()=>e.children??D);var j=N(g,2);H(j,{class:"size-4 opacity-50"}),d(f,x)},$$slots:{default:!0}}))})}d(o,l),w()}function be(o,e){y(e,!0);let t=m(e,"open",15,!1),r=m(e,"value",15),s=b(e,["$$slots","$$events","$$legacy","open","value"]);var l=h(),n=c(l);p(n,()=>te,(u,i)=>{i(u,_(()=>s,{get open(){return t()},set open(a){t(a)},get value(){return r()},set value(a){r(a)}}))}),d(o,l),w()}export{pe as S,he as a,_e as b,be as c};