signetai 0.86.0 → 0.86.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 (58) hide show
  1. package/dashboard/_app/immutable/chunks/{72vFpWLZ.js → 17DJUZua.js} +1 -1
  2. package/dashboard/_app/immutable/chunks/{DtFoGazC.js → 5pZXz3Gm.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{BBOun8GC.js → B1B_-bIV.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{BJeYpYvl.js → B5_qL5eG.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{BqHoSN6R.js → B9xjqkNY.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{nEcpojdT.js → BEyjx4ZM.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{jsN3ZUlY.js → BFhviDgB.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{D3IVqg65.js → BUr6TUtR.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/{Czf3qLWL.js → BWGH6yWu.js} +1 -1
  10. package/dashboard/_app/immutable/chunks/{CDxIb0da.js → B_ug92Oo.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{DjvTSmKy.js → Beqv-RRr.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{DYNJA__F.js → BfE8esRs.js} +1 -1
  13. package/dashboard/_app/immutable/chunks/{DM71J5pA.js → BmTo86rh.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{OiZsnfIo.js → Bp4eV294.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{DhzuL0HR.js → BrnIoKGE.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{DUFy8qDR.js → BzXbimkX.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{CSos5Pml.js → C1YW3XLo.js} +1 -1
  18. package/dashboard/_app/immutable/chunks/{Dvby3VcB.js → CAwmAaD7.js} +1 -1
  19. package/dashboard/_app/immutable/chunks/{C7f8O9Ea.js → CQhnUEMS.js} +1 -1
  20. package/dashboard/_app/immutable/chunks/{CG65bChG.js → CQpf6RJN.js} +2 -2
  21. package/dashboard/_app/immutable/chunks/{BNj0MKVC.js → CTk7g6kE.js} +1 -1
  22. package/dashboard/_app/immutable/chunks/{BlRned9p.js → CxgsnjSN.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{CJ0n6KTS.js → D6yz3aR2.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{Da1ynjS8.js → D988SpEB.js} +1 -1
  25. package/dashboard/_app/immutable/chunks/{DA55aFBx.js → DDXwoyYk.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{DrivkzO8.js → DERRcs3d.js} +1 -1
  27. package/dashboard/_app/immutable/chunks/{DpdQmW1r.js → DETIKIiJ.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{Dl4cATbx.js → DRPrjjHV.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/{Cwfi0PYD.js → DXS2O2j7.js} +1 -1
  30. package/dashboard/_app/immutable/chunks/{CD2MWwC9.js → DZqsIsUZ.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{BjZcbBhp.js → D_5eC20c.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{DEp_rLDJ.js → DdQKnaVE.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{DcLXpg7t.js → Dp66emBm.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{Dq4b0Wkt.js → Flcqczsi.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{CRxISOnj.js → KRYOSB9l.js} +1 -1
  36. package/dashboard/_app/immutable/chunks/{B6au9tKm.js → LeiVX29k.js} +1 -1
  37. package/dashboard/_app/immutable/chunks/{CpvBqzwm.js → Lxi7AX4n.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{reNr5ZrU.js → UGONRT_X.js} +1 -1
  39. package/dashboard/_app/immutable/chunks/{CVQtWyqW.js → UKNfqwCS.js} +1 -1
  40. package/dashboard/_app/immutable/chunks/{BBoUgHHJ.js → WTmJ2kxu.js} +3 -3
  41. package/dashboard/_app/immutable/chunks/{N98iENoh.js → Y_NrSAKB.js} +1 -1
  42. package/dashboard/_app/immutable/chunks/{dMF7rVBh.js → YaSgVxqq.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/{Cxqcl3DV.js → Yy59jTlt.js} +2 -2
  44. package/dashboard/_app/immutable/chunks/{DC82y7bQ.js → dMl0-GIm.js} +1 -1
  45. package/dashboard/_app/immutable/chunks/{CNec9iN0.js → tjtK_67M.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{C5DNACQH.js → xCOG0CvI.js} +1 -1
  47. package/dashboard/_app/immutable/chunks/{BSRfxD-o.js → xCZ1totC.js} +1 -1
  48. package/dashboard/_app/immutable/chunks/{D5raWhcD.js → z-A0hI9E.js} +1 -1
  49. package/dashboard/_app/immutable/entry/{app.CT4JjLHH.js → app.EgplNfSJ.js} +2 -2
  50. package/dashboard/_app/immutable/entry/start.CK2zfAXo.js +1 -0
  51. package/dashboard/_app/immutable/nodes/{1.CVPHyESO.js → 1.n72R0gD6.js} +1 -1
  52. package/dashboard/_app/immutable/nodes/2.Dq_2G2E6.js +1 -0
  53. package/dashboard/_app/version.json +1 -1
  54. package/dashboard/index.html +6 -6
  55. package/dist/daemon.js +98 -43
  56. package/package.json +1 -1
  57. package/dashboard/_app/immutable/entry/start.Boo5klXD.js +0 -1
  58. package/dashboard/_app/immutable/nodes/2.zV6FVyQs.js +0 -1
@@ -1 +1 @@
1
- import{e as d,i as S,u as M}from"./V_JjZsJi.js";import{p as f,l as k,q as L,u as I,t as n,v as b,w as T,x as A,m as B,y as O,z as F,C as E}from"./BBoUgHHJ.js";const u=["var(--sig-icon-bg-1)","var(--sig-icon-bg-2)","var(--sig-icon-bg-3)","var(--sig-icon-bg-4)","var(--sig-icon-bg-5)","var(--sig-icon-bg-6)"];function R(t){let e=0;for(const l of t)e=e*31+l.charCodeAt(0)&65535;return e}function J(t){const e=t.split(/[-_.\s]+/).filter(Boolean);return e.length>=2?`${e[0]?.[0]??""}${e[1]?.[0]??""}`.toUpperCase():t.slice(0,2).toUpperCase()}function j(t){return u[Math.abs(R(t))%u.length]??u[0]}function Q(t){if(!t)return null;const e=t.match(/^https?:\/\/(?:www\.)?github\.com\/([a-zA-Z0-9._-]+)/);return e?.[1]?`https://github.com/${e[1]}.png?size=40`:null}function Y(t,e){return t?t==="modelcontextprotocol/servers"?"https://github.com/modelcontextprotocol.png?size=40":t==="github"&&e?.includes("/")?`https://github.com/${e.split("/")[0]}.png?size=40`:null:null}const p="signet:skills:catalog:v1",N=300*1e3;function $(){try{const t=localStorage.getItem(p);if(!t)return null;const e=JSON.parse(t);return typeof e.ts!="number"||!Array.isArray(e.results)||typeof e.total!="number"?null:e}catch{return null}}function m(t,e){try{const l={ts:Date.now(),results:t,total:e};localStorage.setItem(p,JSON.stringify(l))}catch{}}async function q(){try{const t=await f();a.catalog=t.results,a.catalogTotal=t.total,m(t.results,t.total)}catch{}}const a=d({view:"browse",installed:[],loading:!1,catalog:[],catalogTotal:0,catalogLoading:!1,catalogLoaded:!1,query:"",results:[],searching:!1,sortBy:"popularity",providerFilter:"all",categoryFilter:"all",compareSelected:[],selectedName:null,detailOpen:!1,detailContent:"",detailMeta:null,detailLoading:!1,detailSource:null,installing:null,uninstalling:null}),_=M(()=>new Map(a.catalog.map(t=>[t.name,t])));function Z(){return S(_)}let g=null;function y(t,e){const l=[...t];switch(e){case"popularity":return l.sort((o,s)=>(s.popularityScore??s.installsRaw??0)-(o.popularityScore??o.installsRaw??0));case"installs":return l.sort((o,s)=>(s.installsRaw??0)-(o.installsRaw??0));case"stars":return l.sort((o,s)=>(s.stars??0)-(o.stars??0));case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"newest":return l;default:return l}}function h(t,e){return e==="all"?[...t]:t.filter(l=>l.provider===e)}function v(t,e){return e==="all"?[...t]:t.filter(l=>(l.category??"Other")===e)}function K(){const t=new Set(["all"]);for(const e of[...a.catalog,...a.results])t.add(e.category??"Other");return Array.from(t)}function V(){const t=h(a.catalog,a.providerFilter),e=v(t,a.categoryFilter);return y(e,a.sortBy)}function W(){const t=h(a.results,a.providerFilter),e=v(t,a.categoryFilter);return y(e,a.sortBy)}function X(){a.sortBy="popularity",a.providerFilter="all",a.categoryFilter="all"}function tt(){a.compareSelected=[]}function at(t){if(a.compareSelected.includes(t)){a.compareSelected=a.compareSelected.filter(l=>l!==t);return}a.compareSelected.length>=3||(a.compareSelected=[...a.compareSelected,t])}async function w(){a.loading=!0,a.installed=await k(),a.loading=!1}async function et(){if(a.catalogLoaded)return;const t=$();if(t){a.catalog=t.results,a.catalogTotal=t.total,a.catalogLoaded=!0,a.catalogLoading=!1,Date.now()-t.ts>N&&q();return}a.catalogLoading=!0;const e=await f();a.catalog=e.results,a.catalogTotal=e.total,a.catalogLoaded=!0,a.catalogLoading=!1,m(e.results,e.total)}function lt(t){if(a.query=t,g&&clearTimeout(g),!t.trim()){a.results=[],a.searching=!1;return}a.searching=!0,g=setTimeout(()=>x(),250)}async function x(){const t=a.query.trim();if(!t){a.results=[],a.searching=!1;return}a.searching=!0,a.results=await L(t),a.searching=!1}async function rt(t){a.selectedName=t,a.detailOpen=!0,a.detailLoading=!0,a.detailContent="",a.detailMeta=null;const e=a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t);a.detailSource=e??null;const l=e?.fullName||void 0,o=await T(t,l);o&&(a.detailMeta=o,a.detailContent=o.content??""),a.detailLoading=!1}function z(){a.detailOpen=!1,a.selectedName=null,a.detailContent="",a.detailMeta=null,a.detailSource=null}async function ot(t){a.installing=t;const l=(a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t))?.fullName||void 0;if((await b(t,l)).success){n(`Skill ${t} installed`,"success"),await w();const s=c=>c.name===t?{...c,installed:!0}:c;a.results=a.results.map(s),a.catalog=a.catalog.map(s)}else n(`Failed to install ${t}`,"error");a.installing=null}async function st(t){if(a.uninstalling=t,(await I(t)).success){n(`Skill ${t} uninstalled`,"success"),await w();const l=o=>o.name===t?{...o,installed:!1}:o;a.results=a.results.map(l),a.catalog=a.catalog.map(l),a.selectedName===t&&z()}else n(`Failed to uninstall ${t}`,"error");a.uninstalling=null}const r=d({installed:[],loadingInstalled:!1,catalog:[],catalogTotal:0,catalogLoaded:!1,catalogLoading:!1,catalogDetail:!1,query:"",view:"browse",category:"all",source:"all",sortBy:"popularity",tools:[],serverHealth:[],toolsLoading:!1,installingId:null,togglingId:null,removingId:null,installedError:null,catalogError:null,toolsError:null});function i(t){return t instanceof Error&&t.message?t.message:String(t)}function D(t,e){const l=[...t];switch(e){case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"official":return l.sort((o,s)=>o.official&&!s.official?-1:!o.official&&s.official?1:o.popularityRank-s.popularityRank);default:return l.sort((o,s)=>o.popularityRank-s.popularityRank)}}function H(t){const e=r.query.trim().toLowerCase();return t.filter(l=>r.category!=="all"&&l.category!==r.category||r.source!=="all"&&l.source!==r.source?!1:e?l.name.toLowerCase().includes(e)||l.description.toLowerCase().includes(e)||l.id.toLowerCase().includes(e):!0)}function nt(){const t=new Set(["all"]);for(const e of r.catalog)t.add(e.category);return Array.from(t)}function it(){return["all","mcpservers.org","modelcontextprotocol/servers","github"]}function ct(){return D(H(r.catalog),r.sortBy)}async function P(){r.loadingInstalled=!0,r.installedError=null;try{const t=await B();r.installed=t.servers}catch(t){r.installed=[],r.installedError=i(t)}finally{r.loadingInstalled=!1}}async function ut(t=5){if(!r.catalogLoaded){r.catalogLoading=!0,r.catalogError=null;try{const e=await A(t);r.catalog=e.results,r.catalogTotal=e.total,r.catalogLoaded=!0}catch(e){r.catalogError=i(e)}finally{r.catalogLoading=!1}}}async function C(t=!1){r.toolsLoading=!0,r.toolsError=null;try{const e=await O(t);r.tools=e.tools,r.serverHealth=e.servers}catch(e){r.tools=[],r.serverHealth=[],r.toolsError=i(e)}finally{r.toolsLoading=!1}}async function gt(t,e){r.installingId=t.id;try{const l=await E({id:t.catalogId,source:t.source,alias:e?.alias,config:e?.config});return l.success?(n("Tool Server installed","success"),await Promise.all([P(),C(!0)]),r.catalog=r.catalog.map(o=>o.id===t.id?{...o,installed:!0}:o),!0):(n(l.error??"Install failed","error"),!1)}catch(l){return n(i(l),"error"),!1}finally{r.installingId=null}}async function dt(t){r.removingId=t;try{const e=r.installed.find(o=>o.id===t),l=await F(t);if(l.success){n("Tool Server removed","success"),r.installed=r.installed.filter(s=>s.id!==t),await C(!0);const o=e?.catalogId&&e.source!=="manual"?`${e.source}:${e.catalogId}`:null;o&&(r.catalog=r.catalog.map(s=>s.id===o?{...s,installed:!1}:s))}else n(l.error??"Remove failed","error")}catch(e){n(i(e),"error")}finally{r.removingId=null}}export{K as A,nt as B,ut as a,J as b,Y as c,Q as d,P as e,et as f,j as g,ct as h,gt as i,dt as j,it as k,z as l,r as m,st as n,ot as o,Z as p,w as q,C as r,a as s,lt as t,tt as u,at as v,rt as w,W as x,V as y,X as z};
1
+ import{e as d,i as S,u as M}from"./V_JjZsJi.js";import{p as f,l as k,q as L,u as I,t as n,v as b,w as T,x as A,m as B,y as O,z as F,C as E}from"./WTmJ2kxu.js";const u=["var(--sig-icon-bg-1)","var(--sig-icon-bg-2)","var(--sig-icon-bg-3)","var(--sig-icon-bg-4)","var(--sig-icon-bg-5)","var(--sig-icon-bg-6)"];function R(t){let e=0;for(const l of t)e=e*31+l.charCodeAt(0)&65535;return e}function J(t){const e=t.split(/[-_.\s]+/).filter(Boolean);return e.length>=2?`${e[0]?.[0]??""}${e[1]?.[0]??""}`.toUpperCase():t.slice(0,2).toUpperCase()}function j(t){return u[Math.abs(R(t))%u.length]??u[0]}function Q(t){if(!t)return null;const e=t.match(/^https?:\/\/(?:www\.)?github\.com\/([a-zA-Z0-9._-]+)/);return e?.[1]?`https://github.com/${e[1]}.png?size=40`:null}function Y(t,e){return t?t==="modelcontextprotocol/servers"?"https://github.com/modelcontextprotocol.png?size=40":t==="github"&&e?.includes("/")?`https://github.com/${e.split("/")[0]}.png?size=40`:null:null}const p="signet:skills:catalog:v1",N=300*1e3;function $(){try{const t=localStorage.getItem(p);if(!t)return null;const e=JSON.parse(t);return typeof e.ts!="number"||!Array.isArray(e.results)||typeof e.total!="number"?null:e}catch{return null}}function m(t,e){try{const l={ts:Date.now(),results:t,total:e};localStorage.setItem(p,JSON.stringify(l))}catch{}}async function q(){try{const t=await f();a.catalog=t.results,a.catalogTotal=t.total,m(t.results,t.total)}catch{}}const a=d({view:"browse",installed:[],loading:!1,catalog:[],catalogTotal:0,catalogLoading:!1,catalogLoaded:!1,query:"",results:[],searching:!1,sortBy:"popularity",providerFilter:"all",categoryFilter:"all",compareSelected:[],selectedName:null,detailOpen:!1,detailContent:"",detailMeta:null,detailLoading:!1,detailSource:null,installing:null,uninstalling:null}),_=M(()=>new Map(a.catalog.map(t=>[t.name,t])));function Z(){return S(_)}let g=null;function y(t,e){const l=[...t];switch(e){case"popularity":return l.sort((o,s)=>(s.popularityScore??s.installsRaw??0)-(o.popularityScore??o.installsRaw??0));case"installs":return l.sort((o,s)=>(s.installsRaw??0)-(o.installsRaw??0));case"stars":return l.sort((o,s)=>(s.stars??0)-(o.stars??0));case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"newest":return l;default:return l}}function h(t,e){return e==="all"?[...t]:t.filter(l=>l.provider===e)}function v(t,e){return e==="all"?[...t]:t.filter(l=>(l.category??"Other")===e)}function K(){const t=new Set(["all"]);for(const e of[...a.catalog,...a.results])t.add(e.category??"Other");return Array.from(t)}function V(){const t=h(a.catalog,a.providerFilter),e=v(t,a.categoryFilter);return y(e,a.sortBy)}function W(){const t=h(a.results,a.providerFilter),e=v(t,a.categoryFilter);return y(e,a.sortBy)}function X(){a.sortBy="popularity",a.providerFilter="all",a.categoryFilter="all"}function tt(){a.compareSelected=[]}function at(t){if(a.compareSelected.includes(t)){a.compareSelected=a.compareSelected.filter(l=>l!==t);return}a.compareSelected.length>=3||(a.compareSelected=[...a.compareSelected,t])}async function w(){a.loading=!0,a.installed=await k(),a.loading=!1}async function et(){if(a.catalogLoaded)return;const t=$();if(t){a.catalog=t.results,a.catalogTotal=t.total,a.catalogLoaded=!0,a.catalogLoading=!1,Date.now()-t.ts>N&&q();return}a.catalogLoading=!0;const e=await f();a.catalog=e.results,a.catalogTotal=e.total,a.catalogLoaded=!0,a.catalogLoading=!1,m(e.results,e.total)}function lt(t){if(a.query=t,g&&clearTimeout(g),!t.trim()){a.results=[],a.searching=!1;return}a.searching=!0,g=setTimeout(()=>x(),250)}async function x(){const t=a.query.trim();if(!t){a.results=[],a.searching=!1;return}a.searching=!0,a.results=await L(t),a.searching=!1}async function rt(t){a.selectedName=t,a.detailOpen=!0,a.detailLoading=!0,a.detailContent="",a.detailMeta=null;const e=a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t);a.detailSource=e??null;const l=e?.fullName||void 0,o=await T(t,l);o&&(a.detailMeta=o,a.detailContent=o.content??""),a.detailLoading=!1}function z(){a.detailOpen=!1,a.selectedName=null,a.detailContent="",a.detailMeta=null,a.detailSource=null}async function ot(t){a.installing=t;const l=(a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t))?.fullName||void 0;if((await b(t,l)).success){n(`Skill ${t} installed`,"success"),await w();const s=c=>c.name===t?{...c,installed:!0}:c;a.results=a.results.map(s),a.catalog=a.catalog.map(s)}else n(`Failed to install ${t}`,"error");a.installing=null}async function st(t){if(a.uninstalling=t,(await I(t)).success){n(`Skill ${t} uninstalled`,"success"),await w();const l=o=>o.name===t?{...o,installed:!1}:o;a.results=a.results.map(l),a.catalog=a.catalog.map(l),a.selectedName===t&&z()}else n(`Failed to uninstall ${t}`,"error");a.uninstalling=null}const r=d({installed:[],loadingInstalled:!1,catalog:[],catalogTotal:0,catalogLoaded:!1,catalogLoading:!1,catalogDetail:!1,query:"",view:"browse",category:"all",source:"all",sortBy:"popularity",tools:[],serverHealth:[],toolsLoading:!1,installingId:null,togglingId:null,removingId:null,installedError:null,catalogError:null,toolsError:null});function i(t){return t instanceof Error&&t.message?t.message:String(t)}function D(t,e){const l=[...t];switch(e){case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"official":return l.sort((o,s)=>o.official&&!s.official?-1:!o.official&&s.official?1:o.popularityRank-s.popularityRank);default:return l.sort((o,s)=>o.popularityRank-s.popularityRank)}}function H(t){const e=r.query.trim().toLowerCase();return t.filter(l=>r.category!=="all"&&l.category!==r.category||r.source!=="all"&&l.source!==r.source?!1:e?l.name.toLowerCase().includes(e)||l.description.toLowerCase().includes(e)||l.id.toLowerCase().includes(e):!0)}function nt(){const t=new Set(["all"]);for(const e of r.catalog)t.add(e.category);return Array.from(t)}function it(){return["all","mcpservers.org","modelcontextprotocol/servers","github"]}function ct(){return D(H(r.catalog),r.sortBy)}async function P(){r.loadingInstalled=!0,r.installedError=null;try{const t=await B();r.installed=t.servers}catch(t){r.installed=[],r.installedError=i(t)}finally{r.loadingInstalled=!1}}async function ut(t=5){if(!r.catalogLoaded){r.catalogLoading=!0,r.catalogError=null;try{const e=await A(t);r.catalog=e.results,r.catalogTotal=e.total,r.catalogLoaded=!0}catch(e){r.catalogError=i(e)}finally{r.catalogLoading=!1}}}async function C(t=!1){r.toolsLoading=!0,r.toolsError=null;try{const e=await O(t);r.tools=e.tools,r.serverHealth=e.servers}catch(e){r.tools=[],r.serverHealth=[],r.toolsError=i(e)}finally{r.toolsLoading=!1}}async function gt(t,e){r.installingId=t.id;try{const l=await E({id:t.catalogId,source:t.source,alias:e?.alias,config:e?.config});return l.success?(n("Tool Server installed","success"),await Promise.all([P(),C(!0)]),r.catalog=r.catalog.map(o=>o.id===t.id?{...o,installed:!0}:o),!0):(n(l.error??"Install failed","error"),!1)}catch(l){return n(i(l),"error"),!1}finally{r.installingId=null}}async function dt(t){r.removingId=t;try{const e=r.installed.find(o=>o.id===t),l=await F(t);if(l.success){n("Tool Server removed","success"),r.installed=r.installed.filter(s=>s.id!==t),await C(!0);const o=e?.catalogId&&e.source!=="manual"?`${e.source}:${e.catalogId}`:null;o&&(r.catalog=r.catalog.map(s=>s.id===o?{...s,installed:!1}:s))}else n(l.error??"Remove failed","error")}catch(e){n(i(e),"error")}finally{r.removingId=null}}export{K as A,nt as B,ut as a,J as b,Y as c,Q as d,P as e,et as f,j as g,ct as h,gt as i,dt as j,it as k,z as l,r as m,st as n,ot as o,Z as p,w as q,C as r,a as s,lt as t,tt as u,at as v,rt as w,W as x,V as y,X as z};
@@ -1 +1 @@
1
- import{p as n,s as d,c,f as h,a as i,n as f,b as l,d as m,r as u}from"./V_JjZsJi.js";import{I as $}from"./BBoUgHHJ.js";function g(e,s){n(s,!0);let t=u(s,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];$(e,d({name:"refresh-cw"},()=>t,{get iconNode(){return r},children:(o,v)=>{var a=c(),p=h(a);i(p,()=>s.children??f),l(o,a)},$$slots:{default:!0}})),m()}export{g as R};
1
+ import{p as n,s as d,c,f as h,a as i,n as f,b as l,d as m,r as u}from"./V_JjZsJi.js";import{I as $}from"./WTmJ2kxu.js";function g(e,s){n(s,!0);let t=u(s,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];$(e,d({name:"refresh-cw"},()=>t,{get iconNode(){return r},children:(o,v)=>{var a=c(),p=h(a);i(p,()=>s.children??f),l(o,a)},$$slots:{default:!0}})),m()}export{g as R};
@@ -1,3 +1,3 @@
1
- import{p as ae,g as be,j as s,E as ge,a as _e,n as pe,l as a,F as me,b as e,d as se,r as fe,m as $,s as Lr,c as dt,f as x,o as at,e as Xt,q as Rr,t as r,h as o,w as l,x as i,v as P,i as t,y as c,z as d,A as te,u as D,K as re,k as zt,B as Ae,aa as Xe,O as hr,ai as Or,P as Wr}from"./V_JjZsJi.js";import{P as Ir}from"./CCx9trWZ.js";import{T as qr}from"./Bzw_3peg.js";import{c as ye,I as Vr,h as Hr,n as Ur,i as Yr,S as $e,B as tr,ao as Zr,ap as Gr,aq as Jr,ar as Qr,as as br,at as Xr,au as ta,av as ea,aw as ra,ax as aa,ay as sa,az as oa,aA as la}from"./BBoUgHHJ.js";import{B as I}from"./BSRfxD-o.js";import{a as Te,C as De}from"./BNj0MKVC.js";import{C as Me}from"./DM71J5pA.js";import{C as je}from"./DUFy8qDR.js";import{C as Fe}from"./CDxIb0da.js";import{I as na}from"./CJ0n6KTS.js";import{b as ia,P as da,a as va}from"./Dl4cATbx.js";import{c as ca,S as ua,a as $a,b as ga}from"./DpdQmW1r.js";import{C as _a,a as pa}from"./N98iENoh.js";import{P as mr}from"./C7f8O9Ea.js";import{R as yr}from"./DtFoGazC.js";var fa=$('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function er(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=fa(),$t=s(b);ge($t,Gt=>({"data-slot":"table",class:Gt,...yt}),[()=>ye("w-full caption-bottom text-sm",m.class)]);var q=s($t);_e(q,()=>m.children??pe),a($t),me($t,Gt=>ot(Gt),()=>ot()),a(b),e(Nt,b),se()}var xa=$("<tbody><!></tbody>");function rr(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=xa();ge(b,q=>({"data-slot":"table-body",class:q,...yt}),[()=>ye("[&_tr:last-child]:border-0",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ha=$("<td><!></td>");function Dt(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ha();ge(b,q=>({"data-slot":"table-cell",class:q,...yt}),[()=>ye("bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ba=$("<th><!></th>");function Et(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ba();ge(b,q=>({"data-slot":"table-head",class:q,...yt}),[()=>ye("text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ma=$("<thead><!></thead>");function ar(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ma();ge(b,q=>({"data-slot":"table-header",class:q,...yt}),[()=>ye("[&_tr]:border-b",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ya=$("<tr><!></tr>");function he(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ya();ge(b,q=>({"data-slot":"table-row",class:q,...yt}),[()=>ye("hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}function Pa(Nt,m){ae(m,!0);let ot=fe(m,["$$slots","$$events","$$legacy"]);const yt=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"}],["path",{d:"M12 12V8"}]];Vr(Nt,Lr({name:"network"},()=>ot,{get iconNode(){return yt},children:(b,$t)=>{var q=dt(),Gt=x(q);_e(Gt,()=>m.children??pe),e(b,q)},$$slots:{default:!0}})),se()}var wa=$("<!> Entity Browser",1),Ca=$("<!> <!>",1),Sa=$("<!> <!>",1),ka=$('<div class="p-6 sig-label text-[var(--sig-text-muted)]">No entities match the current filters.</div>'),Ta=$('<button><span></span> <span class="sig-heading text-[11px] tracking-[0.08em] truncate min-w-0 flex-1"> </span> <!> <span class="sig-meta shrink-0 text-[var(--sig-text-muted)]"> </span> <span class="sig-meta shrink-0 flex items-center gap-1 tabular-nums text-[var(--sig-text-muted)]"><span title="aspects"> <span class="opacity-50">a</span></span> <span title="attributes"> <span class="opacity-50">t</span></span> <span class="text-[var(--sig-danger)]" title="constraints"> <span class="opacity-50">c</span></span> <span title="dependencies"> <span class="opacity-50">d</span></span></span></button>'),Da=$('<div class="space-y-3"><!> <!> <!></div>'),Ea=$('<div class="flex h-full min-h-[360px] items-center justify-center sig-label text-[var(--sig-text-muted)]">Select an entity to inspect its structure.</div>'),Na=$("<!> ",1),Aa=$('<button><div class="flex items-center justify-between gap-2"><span class="sig-label text-[var(--sig-text-bright)]"> </span> <span class="sig-label text-[var(--sig-text-muted)]"> </span></div> <div class="mt-1 flex flex-wrap gap-1"><!> <!></div></button>'),Ma=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No active rows for this aspect.</div>'),ja=$('<div class="border border-[var(--sig-border)] p-2"><div class="mb-1 flex items-center gap-1.5"><!> <!></div> <div class="sig-label text-[var(--sig-text-bright)]"> </div></div>'),Fa=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No dependency edges recorded.</div>'),Ka=$('<div class="mt-1 sig-meta text-[var(--sig-text-muted)] italic"> </div>'),Ba=$('<div class="border border-[var(--sig-border)] p-2"><div class="flex items-center justify-between gap-2"><!> <span class="sig-label text-[var(--sig-text-muted)]"> </span></div> <div class="mt-1 sig-label text-[var(--sig-text-bright)]"> </div> <!></div>'),za=$('<div class="space-y-4"><div class="space-y-2 border-b border-[var(--sig-border)] pb-3"><div class="flex items-start justify-between gap-3"><div><div class="flex items-center gap-2"><span></span> <h3 class="sig-heading text-[14px] uppercase tracking-[0.08em]"> </h3> <!></div> <p class="sig-label text-[var(--sig-text-muted)]"> </p></div> <div class="flex items-center gap-2"><!> <!></div></div> <div class="flex flex-wrap gap-1.5"><!> <!></div></div> <div class="grid gap-3 xl:grid-cols-2"><div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Aspects</div> <div class="space-y-1.5"></div></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Attributes</div> <div class="max-h-[240px] space-y-1.5 overflow-auto"><!></div></div></div> <div class="grid gap-3 xl:grid-cols-2"><div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Dependencies</div> <div class="max-h-[220px] space-y-1.5 overflow-auto"><!></div></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Structural Density</div> <div class="grid grid-cols-2 gap-2"><!> <!> <!> <!></div></div></div></div>'),La=$('<div class="flex flex-col gap-2 lg:flex-row"><!> <!></div> <div class="grid gap-3 lg:grid-cols-[minmax(0,1.15fr)_minmax(360px,0.85fr)]"><div class="max-h-[520px] overflow-y-auto border border-[var(--sig-border)] bg-[var(--sig-surface)]"><!></div> <!></div>',1),Ra=$("<!> <!>",1),Oa=$('<div class="flex items-center justify-between gap-2"><div><!> <!></div> <!></div>'),Wa=$('<div class="border border-dashed border-[var(--sig-border)] p-4 sig-label text-[var(--sig-text-muted)]">No traversal snapshot recorded yet.</div>'),Ia=$('<div class="flex flex-wrap gap-1.5"><!> <!> <!></div> <div class="sig-label text-[var(--sig-text-bright)]"> </div> <div class="grid grid-cols-2 gap-2 xl:grid-cols-4"><!> <!> <!> <!></div> <div class="sig-label text-[var(--sig-text-muted)]"> </div>',1),qa=$("<!> <!>",1),Va=$("<!> <!>",1),Ha=$('<div class="border border-dashed border-[var(--sig-border)] p-4 sig-label text-[var(--sig-text-muted)]">Knowledge stats unavailable.</div>'),Ua=$('<div class="grid grid-cols-2 gap-2 xl:grid-cols-3"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div> <div class="space-y-2"><div class="flex items-center justify-between sig-label"><span class="text-[var(--sig-text-muted)]">Structural coverage</span> <span class="text-[var(--sig-text-bright)]"> </span></div> <div class="h-2 border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)]"><div class="h-full bg-[var(--sig-accent)]"></div></div></div>',1),Ya=$("<!> <!>",1),Za=$("<button><span> </span> <!></button>"),Ga=$("<!> <!>",1),Ja=$('<div class="flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between"><div><!> <!></div> <div class="flex items-center gap-2"><!> <!></div></div>'),Qa=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No predictor comparisons yet. Comparisons appear after the predictive scorer completes its first session.</div>'),Xa=$("<!> <!> <!> <!> <!>",1),ts=$('<div class="flex min-w-[120px] items-center gap-2"><div class="h-2 flex-1 border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)]"><div class="h-full bg-[var(--sig-accent)]"></div></div> <span> </span></div>'),es=$("<!> <!> <!> <!> <!>",1),rs=$("<!> <!>",1),as=$('<div class="overflow-x-auto border border-[var(--sig-border)]"><!></div>'),ss=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No predictor comparisons yet. Comparisons appear after the predictive scorer completes its first session.</div>'),os=$("<!> <!> <!> <!> <!>",1),ls=$("<!> <!> <!> <!> <!>",1),ns=$("<!> <!>",1),is=$('<div class="overflow-x-auto border border-[var(--sig-border)]"><!></div>'),ds=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No predictor comparisons yet. Comparisons appear after the predictive scorer completes its first session.</div>'),vs=$("<!> <!> <!> <!> <!> <!>",1),cs=$("<!> <!> <!> <!> <!> <!>",1),us=$("<!> <!>",1),$s=$('<div class="overflow-x-auto border border-[var(--sig-border)]"><!></div>'),gs=$('<div class="grid gap-4 xl:grid-cols-2"><div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">By Project</div> <!></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">By Entity</div> <!></div></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Training Log</div> <!></div>',1),_s=$("<!> <!>",1),ps=$('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 overflow-auto gap-3 p-3 bg-[var(--sig-bg)]"><!> <div class="grid gap-3 xl:grid-cols-[1fr_1fr]"><!> <!></div> <!></div></div>');function As(Nt,m){ae(m,!0);const ot=["all","project","person","system","tool","concept","skill","task"];let yt=at(""),b=at("all"),$t=at(!0),q=at(!1),Gt=at(!0),Ke=at(!0),Be=at(!0),Pe=at(Xt([])),Ft=at(null),Wt=at(null),ze=at(Xt([])),Le=at(Xt([])),Re=at(Xt([])),sr=at(Xt([])),Oe=at(null),Jt=at(null),we=at(null),ee=at(null),We=at(Xt([])),xe=at(Xt([])),Ee=at(Xt([])),Ce=null,Ie=at(!1);const Pr=new Date(Date.now()-10080*60*1e3);let oe=at(Xt(Pr.toISOString().slice(0,10)));function R(n="default"){return n==="warning"?"border-[var(--sig-warning)] text-[var(--sig-warning)]":n==="accent"?"border-[var(--sig-accent)] text-[var(--sig-accent)]":"border-[var(--sig-border-strong)] text-[var(--sig-text)]"}function wr(n){return`${n.toFixed(1)}%`}function qe(n){return new Date(n).toLocaleString()}function Cr(n){return new Date(n).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function Sr(n){if(n<1e3)return`${n}ms`;if(n<6e4)return`${(n/1e3).toFixed(1)}s`;const k=Math.floor(n/6e4),st=Math.round(n%6e4/1e3);return`${k}m ${st}s`}function kr(n){return t(sr).find(k=>k.entityId===n)??null}function or(n){const k=kr(n);return k?k.trend==="declining"||k.winRate<.4?"bg-[var(--sig-warning)]":k.trend==="improving"||k.winRate>=.65?"bg-[var(--sig-accent)]":"bg-[var(--sig-text-muted)]":"bg-[var(--sig-border-strong)]"}const Tr=D(()=>Math.max(1,...t(Pe).map(n=>n.aspectCount+n.attributeCount+n.constraintCount*2+n.dependencyCount)));function Dr(n){return .08+(n.aspectCount+n.attributeCount+n.constraintCount*2+n.dependencyCount)/t(Tr)*.92}function Er(n){if(!n)return;const k=n.split("-");if(k.length!==3)return;const st=Number(k[0]),Kt=Number(k[1]),Bt=Number(k[2]);if(!(!Number.isFinite(st)||!Number.isFinite(Kt)||!Number.isFinite(Bt)))return new Or(st,Kt,Bt)}function Nr(n){if(!n)return"";const k=String(n.year).padStart(4,"0"),st=String(n.month).padStart(2,"0"),Kt=String(n.day).padStart(2,"0");return`${k}-${st}-${Kt}`}async function Ne(){P($t,!0);const n=await Zr({query:t(yt).trim()||void 0,type:t(b)==="all"?void 0:t(b),limit:50});P(Pe,n.items,!0),P($t,!1),t(Jt)&&!t(Pe).some(k=>k.entity.id===t(Jt))&&(P(Jt,null),P(we,null),P(ee,null),P(We,[],!0),P(xe,[],!0),P(Ee,[],!0))}async function lr(n){P(Jt,n,!0),P(we,null),P(q,!0);const[k,st,Kt]=await Promise.all([Gr(n),Jr(n),Qr(n)]);P(ee,k,!0),P(We,st,!0),P(Ee,Kt,!0),P(xe,[],!0),st.length>0&&(P(we,st[0].aspect.id,!0),P(xe,await br(n,st[0].aspect.id,{status:"active",limit:50}),!0)),P(q,!1)}async function Ar(n){t(Jt)&&(P(we,n,!0),P(xe,await br(t(Jt),n,{status:"active",limit:50}),!0))}async function Ve(){P(Gt,!0);const[n,k]=await Promise.all([Xr(),ta({since:t(oe)?new Date(`${t(oe)}T00:00:00.000Z`).toISOString():void 0,minComparisons:3})]);P(Ft,n,!0),P(sr,k,!0),P(Gt,!1)}async function He(){P(Be,!0);const n=t(oe)?new Date(`${t(oe)}T00:00:00.000Z`).toISOString():void 0,[k,st,Kt]=await Promise.all([ea(n),ra(n),aa(20)]);P(ze,k,!0),P(Le,st,!0),P(Re,Kt,!0),P(Be,!1)}async function Mr(n,k){P(Oe,n,!0);try{k?await sa(n):await oa(n),await Ne(),t(Jt)===n&&await lr(n)}finally{P(Oe,null)}}async function jr(){P(Ke,!0),P(Wt,await la(),!0),P(Ke,!1)}function Fr(){Ce&&clearTimeout(Ce),Ce=setTimeout(()=>{Ne()},200)}let nr=0;function Ue(){nr=Date.now(),jr()}Rr(()=>{Promise.all([Ne(),Ve(),He()]),Ue();const n=()=>{Date.now()-nr>=6e4&&Ue()};return window.addEventListener("focus",n),()=>{window.removeEventListener("focus",n),Ce&&clearTimeout(Ce)}});var Ye=ps(),ir=s(Ye);Ir(ir,{title:"Knowledge",children:(n,k)=>{qr(n,{group:"memory",get tabs(){return Yr},get activeTab(){return Ur.activeTab},onselect:(st,Kt)=>Hr(Kt)})}});var dr=r(ir,2),vr=s(dr);o(vr,()=>De,(n,k)=>{k(n,{class:"border-[var(--sig-border)] bg-[var(--sig-surface)]",children:(st,Kt)=>{var Bt=Ra(),It=x(Bt);o(It,()=>je,(At,Mt)=>{Mt(At,{class:"border-b border-[var(--sig-border)] pb-3",children:(jt,ne)=>{var Z=Ca(),Q=x(Z);o(Q,()=>Fe,(gt,H)=>{H(gt,{class:"sig-heading flex items-center gap-2",children:(h,U)=>{var E=wa(),vt=x(E);Pa(vt,{class:"size-4"}),l(),e(h,E)},$$slots:{default:!0}})});var ft=r(Q,2);o(ft,()=>Me,(gt,H)=>{H(gt,{class:"sig-label text-[var(--sig-text-muted)]",children:(h,U)=>{l();var E=i("Inspect structural entities, aspects, attributes, and dependency edges.");e(h,E)},$$slots:{default:!0}})}),e(jt,Z)},$$slots:{default:!0}})});var le=r(It,2);o(le,()=>Te,(At,Mt)=>{Mt(At,{class:"space-y-3 p-3",children:(jt,ne)=>{var Z=La(),Q=x(Z),ft=s(Q);na(ft,{class:"sig-label flex-1 border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] text-[var(--sig-text-bright)]",placeholder:"Search canonical entity name...",oninput:Fr,get value(){return t(yt)},set value(O){P(yt,O,!0)}});var gt=r(ft,2);o(gt,()=>ca,(O,X)=>{X(O,{type:"single",get value(){return t(b)},onValueChange:xt=>{P(b,xt??"all",!0),Ne()},children:(xt,ct)=>{var N=Sa(),G=x(N);o(G,()=>ua,(tt,y)=>{y(tt,{class:"sig-label min-w-[170px] border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] text-[var(--sig-text-bright)]",children:(K,A)=>{l();var w=i();c(()=>d(w,t(b)==="all"?"All entity types":t(b))),e(K,w)},$$slots:{default:!0}})});var St=r(G,2);o(St,()=>$a,(tt,y)=>{y(tt,{class:"border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)]",children:(K,A)=>{var w=dt(),nt=x(w);te(nt,17,()=>ot,re,(u,T)=>{var j=dt(),v=x(j);{let ht=D(()=>t(T)==="all"?"All entity types":t(T));o(v,()=>ga,(J,it)=>{it(J,{get value(){return t(T)},get label(){return t(ht)}})})}e(u,j)}),e(K,w)},$$slots:{default:!0}})}),e(xt,N)},$$slots:{default:!0}})}),a(Q);var H=r(Q,2),h=s(H),U=s(h);{var E=O=>{var X=dt(),xt=x(X);te(xt,16,()=>Array(10),re,(ct,N)=>{$e(ct,{class:"h-9 w-full"})}),e(O,X)},vt=O=>{var X=ka();e(O,X)},lt=O=>{var X=dt(),xt=x(X);te(xt,17,()=>t(Pe),ct=>ct.entity.id,(ct,N)=>{var G=Ta(),St=s(G),tt=r(St,2),y=s(tt,!0);a(tt);var K=r(tt,2);{var A=Y=>{mr(Y,{class:"size-3 shrink-0 text-[var(--sig-accent)]"})};zt(K,Y=>{t(N).entity.pinned&&Y(A)})}var w=r(K,2),nt=s(w,!0);a(w);var u=r(w,2),T=s(u),j=s(T,!0);l(),a(T);var v=r(T,2),ht=s(v,!0);l(),a(v);var J=r(v,2),it=s(J,!0);l(),a(J);var bt=r(J,2),Vt=s(bt,!0);l(),a(bt),a(u),a(G),c((Y,Pt)=>{Ae(G,1,`w-full cursor-pointer flex items-center gap-2.5 border-b border-b-[var(--sig-border)] px-2.5 py-2 text-left transition-colors
1
+ import{p as ae,g as be,j as s,E as ge,a as _e,n as pe,l as a,F as me,b as e,d as se,r as fe,m as $,s as Lr,c as dt,f as x,o as at,e as Xt,q as Rr,t as r,h as o,w as l,x as i,v as P,i as t,y as c,z as d,A as te,u as D,K as re,k as zt,B as Ae,aa as Xe,O as hr,ai as Or,P as Wr}from"./V_JjZsJi.js";import{P as Ir}from"./CCx9trWZ.js";import{T as qr}from"./Bzw_3peg.js";import{c as ye,I as Vr,h as Hr,n as Ur,i as Yr,S as $e,B as tr,ao as Zr,ap as Gr,aq as Jr,ar as Qr,as as br,at as Xr,au as ta,av as ea,aw as ra,ax as aa,ay as sa,az as oa,aA as la}from"./WTmJ2kxu.js";import{B as I}from"./xCZ1totC.js";import{a as Te,C as De}from"./CTk7g6kE.js";import{C as Me}from"./BmTo86rh.js";import{C as je}from"./BzXbimkX.js";import{C as Fe}from"./B_ug92Oo.js";import{I as na}from"./D6yz3aR2.js";import{b as ia,P as da,a as va}from"./DRPrjjHV.js";import{c as ca,S as ua,a as $a,b as ga}from"./DETIKIiJ.js";import{C as _a,a as pa}from"./Y_NrSAKB.js";import{P as mr}from"./CQhnUEMS.js";import{R as yr}from"./5pZXz3Gm.js";var fa=$('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function er(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=fa(),$t=s(b);ge($t,Gt=>({"data-slot":"table",class:Gt,...yt}),[()=>ye("w-full caption-bottom text-sm",m.class)]);var q=s($t);_e(q,()=>m.children??pe),a($t),me($t,Gt=>ot(Gt),()=>ot()),a(b),e(Nt,b),se()}var xa=$("<tbody><!></tbody>");function rr(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=xa();ge(b,q=>({"data-slot":"table-body",class:q,...yt}),[()=>ye("[&_tr:last-child]:border-0",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ha=$("<td><!></td>");function Dt(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ha();ge(b,q=>({"data-slot":"table-cell",class:q,...yt}),[()=>ye("bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ba=$("<th><!></th>");function Et(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ba();ge(b,q=>({"data-slot":"table-head",class:q,...yt}),[()=>ye("text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ma=$("<thead><!></thead>");function ar(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ma();ge(b,q=>({"data-slot":"table-header",class:q,...yt}),[()=>ye("[&_tr]:border-b",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ya=$("<tr><!></tr>");function he(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=fe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ya();ge(b,q=>({"data-slot":"table-row",class:q,...yt}),[()=>ye("hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",m.class)]);var $t=s(b);_e($t,()=>m.children??pe),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}function Pa(Nt,m){ae(m,!0);let ot=fe(m,["$$slots","$$events","$$legacy"]);const yt=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"}],["path",{d:"M12 12V8"}]];Vr(Nt,Lr({name:"network"},()=>ot,{get iconNode(){return yt},children:(b,$t)=>{var q=dt(),Gt=x(q);_e(Gt,()=>m.children??pe),e(b,q)},$$slots:{default:!0}})),se()}var wa=$("<!> Entity Browser",1),Ca=$("<!> <!>",1),Sa=$("<!> <!>",1),ka=$('<div class="p-6 sig-label text-[var(--sig-text-muted)]">No entities match the current filters.</div>'),Ta=$('<button><span></span> <span class="sig-heading text-[11px] tracking-[0.08em] truncate min-w-0 flex-1"> </span> <!> <span class="sig-meta shrink-0 text-[var(--sig-text-muted)]"> </span> <span class="sig-meta shrink-0 flex items-center gap-1 tabular-nums text-[var(--sig-text-muted)]"><span title="aspects"> <span class="opacity-50">a</span></span> <span title="attributes"> <span class="opacity-50">t</span></span> <span class="text-[var(--sig-danger)]" title="constraints"> <span class="opacity-50">c</span></span> <span title="dependencies"> <span class="opacity-50">d</span></span></span></button>'),Da=$('<div class="space-y-3"><!> <!> <!></div>'),Ea=$('<div class="flex h-full min-h-[360px] items-center justify-center sig-label text-[var(--sig-text-muted)]">Select an entity to inspect its structure.</div>'),Na=$("<!> ",1),Aa=$('<button><div class="flex items-center justify-between gap-2"><span class="sig-label text-[var(--sig-text-bright)]"> </span> <span class="sig-label text-[var(--sig-text-muted)]"> </span></div> <div class="mt-1 flex flex-wrap gap-1"><!> <!></div></button>'),Ma=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No active rows for this aspect.</div>'),ja=$('<div class="border border-[var(--sig-border)] p-2"><div class="mb-1 flex items-center gap-1.5"><!> <!></div> <div class="sig-label text-[var(--sig-text-bright)]"> </div></div>'),Fa=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No dependency edges recorded.</div>'),Ka=$('<div class="mt-1 sig-meta text-[var(--sig-text-muted)] italic"> </div>'),Ba=$('<div class="border border-[var(--sig-border)] p-2"><div class="flex items-center justify-between gap-2"><!> <span class="sig-label text-[var(--sig-text-muted)]"> </span></div> <div class="mt-1 sig-label text-[var(--sig-text-bright)]"> </div> <!></div>'),za=$('<div class="space-y-4"><div class="space-y-2 border-b border-[var(--sig-border)] pb-3"><div class="flex items-start justify-between gap-3"><div><div class="flex items-center gap-2"><span></span> <h3 class="sig-heading text-[14px] uppercase tracking-[0.08em]"> </h3> <!></div> <p class="sig-label text-[var(--sig-text-muted)]"> </p></div> <div class="flex items-center gap-2"><!> <!></div></div> <div class="flex flex-wrap gap-1.5"><!> <!></div></div> <div class="grid gap-3 xl:grid-cols-2"><div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Aspects</div> <div class="space-y-1.5"></div></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Attributes</div> <div class="max-h-[240px] space-y-1.5 overflow-auto"><!></div></div></div> <div class="grid gap-3 xl:grid-cols-2"><div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Dependencies</div> <div class="max-h-[220px] space-y-1.5 overflow-auto"><!></div></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Structural Density</div> <div class="grid grid-cols-2 gap-2"><!> <!> <!> <!></div></div></div></div>'),La=$('<div class="flex flex-col gap-2 lg:flex-row"><!> <!></div> <div class="grid gap-3 lg:grid-cols-[minmax(0,1.15fr)_minmax(360px,0.85fr)]"><div class="max-h-[520px] overflow-y-auto border border-[var(--sig-border)] bg-[var(--sig-surface)]"><!></div> <!></div>',1),Ra=$("<!> <!>",1),Oa=$('<div class="flex items-center justify-between gap-2"><div><!> <!></div> <!></div>'),Wa=$('<div class="border border-dashed border-[var(--sig-border)] p-4 sig-label text-[var(--sig-text-muted)]">No traversal snapshot recorded yet.</div>'),Ia=$('<div class="flex flex-wrap gap-1.5"><!> <!> <!></div> <div class="sig-label text-[var(--sig-text-bright)]"> </div> <div class="grid grid-cols-2 gap-2 xl:grid-cols-4"><!> <!> <!> <!></div> <div class="sig-label text-[var(--sig-text-muted)]"> </div>',1),qa=$("<!> <!>",1),Va=$("<!> <!>",1),Ha=$('<div class="border border-dashed border-[var(--sig-border)] p-4 sig-label text-[var(--sig-text-muted)]">Knowledge stats unavailable.</div>'),Ua=$('<div class="grid grid-cols-2 gap-2 xl:grid-cols-3"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div> <div class="space-y-2"><div class="flex items-center justify-between sig-label"><span class="text-[var(--sig-text-muted)]">Structural coverage</span> <span class="text-[var(--sig-text-bright)]"> </span></div> <div class="h-2 border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)]"><div class="h-full bg-[var(--sig-accent)]"></div></div></div>',1),Ya=$("<!> <!>",1),Za=$("<button><span> </span> <!></button>"),Ga=$("<!> <!>",1),Ja=$('<div class="flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between"><div><!> <!></div> <div class="flex items-center gap-2"><!> <!></div></div>'),Qa=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No predictor comparisons yet. Comparisons appear after the predictive scorer completes its first session.</div>'),Xa=$("<!> <!> <!> <!> <!>",1),ts=$('<div class="flex min-w-[120px] items-center gap-2"><div class="h-2 flex-1 border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)]"><div class="h-full bg-[var(--sig-accent)]"></div></div> <span> </span></div>'),es=$("<!> <!> <!> <!> <!>",1),rs=$("<!> <!>",1),as=$('<div class="overflow-x-auto border border-[var(--sig-border)]"><!></div>'),ss=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No predictor comparisons yet. Comparisons appear after the predictive scorer completes its first session.</div>'),os=$("<!> <!> <!> <!> <!>",1),ls=$("<!> <!> <!> <!> <!>",1),ns=$("<!> <!>",1),is=$('<div class="overflow-x-auto border border-[var(--sig-border)]"><!></div>'),ds=$('<div class="border border-dashed border-[var(--sig-border)] p-3 sig-label text-[var(--sig-text-muted)]">No predictor comparisons yet. Comparisons appear after the predictive scorer completes its first session.</div>'),vs=$("<!> <!> <!> <!> <!> <!>",1),cs=$("<!> <!> <!> <!> <!> <!>",1),us=$("<!> <!>",1),$s=$('<div class="overflow-x-auto border border-[var(--sig-border)]"><!></div>'),gs=$('<div class="grid gap-4 xl:grid-cols-2"><div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">By Project</div> <!></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">By Entity</div> <!></div></div> <div class="space-y-2"><div class="sig-heading text-[12px] uppercase tracking-[0.08em]">Training Log</div> <!></div>',1),_s=$("<!> <!>",1),ps=$('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 overflow-auto gap-3 p-3 bg-[var(--sig-bg)]"><!> <div class="grid gap-3 xl:grid-cols-[1fr_1fr]"><!> <!></div> <!></div></div>');function As(Nt,m){ae(m,!0);const ot=["all","project","person","system","tool","concept","skill","task"];let yt=at(""),b=at("all"),$t=at(!0),q=at(!1),Gt=at(!0),Ke=at(!0),Be=at(!0),Pe=at(Xt([])),Ft=at(null),Wt=at(null),ze=at(Xt([])),Le=at(Xt([])),Re=at(Xt([])),sr=at(Xt([])),Oe=at(null),Jt=at(null),we=at(null),ee=at(null),We=at(Xt([])),xe=at(Xt([])),Ee=at(Xt([])),Ce=null,Ie=at(!1);const Pr=new Date(Date.now()-10080*60*1e3);let oe=at(Xt(Pr.toISOString().slice(0,10)));function R(n="default"){return n==="warning"?"border-[var(--sig-warning)] text-[var(--sig-warning)]":n==="accent"?"border-[var(--sig-accent)] text-[var(--sig-accent)]":"border-[var(--sig-border-strong)] text-[var(--sig-text)]"}function wr(n){return`${n.toFixed(1)}%`}function qe(n){return new Date(n).toLocaleString()}function Cr(n){return new Date(n).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function Sr(n){if(n<1e3)return`${n}ms`;if(n<6e4)return`${(n/1e3).toFixed(1)}s`;const k=Math.floor(n/6e4),st=Math.round(n%6e4/1e3);return`${k}m ${st}s`}function kr(n){return t(sr).find(k=>k.entityId===n)??null}function or(n){const k=kr(n);return k?k.trend==="declining"||k.winRate<.4?"bg-[var(--sig-warning)]":k.trend==="improving"||k.winRate>=.65?"bg-[var(--sig-accent)]":"bg-[var(--sig-text-muted)]":"bg-[var(--sig-border-strong)]"}const Tr=D(()=>Math.max(1,...t(Pe).map(n=>n.aspectCount+n.attributeCount+n.constraintCount*2+n.dependencyCount)));function Dr(n){return .08+(n.aspectCount+n.attributeCount+n.constraintCount*2+n.dependencyCount)/t(Tr)*.92}function Er(n){if(!n)return;const k=n.split("-");if(k.length!==3)return;const st=Number(k[0]),Kt=Number(k[1]),Bt=Number(k[2]);if(!(!Number.isFinite(st)||!Number.isFinite(Kt)||!Number.isFinite(Bt)))return new Or(st,Kt,Bt)}function Nr(n){if(!n)return"";const k=String(n.year).padStart(4,"0"),st=String(n.month).padStart(2,"0"),Kt=String(n.day).padStart(2,"0");return`${k}-${st}-${Kt}`}async function Ne(){P($t,!0);const n=await Zr({query:t(yt).trim()||void 0,type:t(b)==="all"?void 0:t(b),limit:50});P(Pe,n.items,!0),P($t,!1),t(Jt)&&!t(Pe).some(k=>k.entity.id===t(Jt))&&(P(Jt,null),P(we,null),P(ee,null),P(We,[],!0),P(xe,[],!0),P(Ee,[],!0))}async function lr(n){P(Jt,n,!0),P(we,null),P(q,!0);const[k,st,Kt]=await Promise.all([Gr(n),Jr(n),Qr(n)]);P(ee,k,!0),P(We,st,!0),P(Ee,Kt,!0),P(xe,[],!0),st.length>0&&(P(we,st[0].aspect.id,!0),P(xe,await br(n,st[0].aspect.id,{status:"active",limit:50}),!0)),P(q,!1)}async function Ar(n){t(Jt)&&(P(we,n,!0),P(xe,await br(t(Jt),n,{status:"active",limit:50}),!0))}async function Ve(){P(Gt,!0);const[n,k]=await Promise.all([Xr(),ta({since:t(oe)?new Date(`${t(oe)}T00:00:00.000Z`).toISOString():void 0,minComparisons:3})]);P(Ft,n,!0),P(sr,k,!0),P(Gt,!1)}async function He(){P(Be,!0);const n=t(oe)?new Date(`${t(oe)}T00:00:00.000Z`).toISOString():void 0,[k,st,Kt]=await Promise.all([ea(n),ra(n),aa(20)]);P(ze,k,!0),P(Le,st,!0),P(Re,Kt,!0),P(Be,!1)}async function Mr(n,k){P(Oe,n,!0);try{k?await sa(n):await oa(n),await Ne(),t(Jt)===n&&await lr(n)}finally{P(Oe,null)}}async function jr(){P(Ke,!0),P(Wt,await la(),!0),P(Ke,!1)}function Fr(){Ce&&clearTimeout(Ce),Ce=setTimeout(()=>{Ne()},200)}let nr=0;function Ue(){nr=Date.now(),jr()}Rr(()=>{Promise.all([Ne(),Ve(),He()]),Ue();const n=()=>{Date.now()-nr>=6e4&&Ue()};return window.addEventListener("focus",n),()=>{window.removeEventListener("focus",n),Ce&&clearTimeout(Ce)}});var Ye=ps(),ir=s(Ye);Ir(ir,{title:"Knowledge",children:(n,k)=>{qr(n,{group:"memory",get tabs(){return Yr},get activeTab(){return Ur.activeTab},onselect:(st,Kt)=>Hr(Kt)})}});var dr=r(ir,2),vr=s(dr);o(vr,()=>De,(n,k)=>{k(n,{class:"border-[var(--sig-border)] bg-[var(--sig-surface)]",children:(st,Kt)=>{var Bt=Ra(),It=x(Bt);o(It,()=>je,(At,Mt)=>{Mt(At,{class:"border-b border-[var(--sig-border)] pb-3",children:(jt,ne)=>{var Z=Ca(),Q=x(Z);o(Q,()=>Fe,(gt,H)=>{H(gt,{class:"sig-heading flex items-center gap-2",children:(h,U)=>{var E=wa(),vt=x(E);Pa(vt,{class:"size-4"}),l(),e(h,E)},$$slots:{default:!0}})});var ft=r(Q,2);o(ft,()=>Me,(gt,H)=>{H(gt,{class:"sig-label text-[var(--sig-text-muted)]",children:(h,U)=>{l();var E=i("Inspect structural entities, aspects, attributes, and dependency edges.");e(h,E)},$$slots:{default:!0}})}),e(jt,Z)},$$slots:{default:!0}})});var le=r(It,2);o(le,()=>Te,(At,Mt)=>{Mt(At,{class:"space-y-3 p-3",children:(jt,ne)=>{var Z=La(),Q=x(Z),ft=s(Q);na(ft,{class:"sig-label flex-1 border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] text-[var(--sig-text-bright)]",placeholder:"Search canonical entity name...",oninput:Fr,get value(){return t(yt)},set value(O){P(yt,O,!0)}});var gt=r(ft,2);o(gt,()=>ca,(O,X)=>{X(O,{type:"single",get value(){return t(b)},onValueChange:xt=>{P(b,xt??"all",!0),Ne()},children:(xt,ct)=>{var N=Sa(),G=x(N);o(G,()=>ua,(tt,y)=>{y(tt,{class:"sig-label min-w-[170px] border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] text-[var(--sig-text-bright)]",children:(K,A)=>{l();var w=i();c(()=>d(w,t(b)==="all"?"All entity types":t(b))),e(K,w)},$$slots:{default:!0}})});var St=r(G,2);o(St,()=>$a,(tt,y)=>{y(tt,{class:"border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)]",children:(K,A)=>{var w=dt(),nt=x(w);te(nt,17,()=>ot,re,(u,T)=>{var j=dt(),v=x(j);{let ht=D(()=>t(T)==="all"?"All entity types":t(T));o(v,()=>ga,(J,it)=>{it(J,{get value(){return t(T)},get label(){return t(ht)}})})}e(u,j)}),e(K,w)},$$slots:{default:!0}})}),e(xt,N)},$$slots:{default:!0}})}),a(Q);var H=r(Q,2),h=s(H),U=s(h);{var E=O=>{var X=dt(),xt=x(X);te(xt,16,()=>Array(10),re,(ct,N)=>{$e(ct,{class:"h-9 w-full"})}),e(O,X)},vt=O=>{var X=ka();e(O,X)},lt=O=>{var X=dt(),xt=x(X);te(xt,17,()=>t(Pe),ct=>ct.entity.id,(ct,N)=>{var G=Ta(),St=s(G),tt=r(St,2),y=s(tt,!0);a(tt);var K=r(tt,2);{var A=Y=>{mr(Y,{class:"size-3 shrink-0 text-[var(--sig-accent)]"})};zt(K,Y=>{t(N).entity.pinned&&Y(A)})}var w=r(K,2),nt=s(w,!0);a(w);var u=r(w,2),T=s(u),j=s(T,!0);l(),a(T);var v=r(T,2),ht=s(v,!0);l(),a(v);var J=r(v,2),it=s(J,!0);l(),a(J);var bt=r(J,2),Vt=s(bt,!0);l(),a(bt),a(u),a(G),c((Y,Pt)=>{Ae(G,1,`w-full cursor-pointer flex items-center gap-2.5 border-b border-b-[var(--sig-border)] px-2.5 py-2 text-left transition-colors
2
2
  ${t(Jt)===t(N).entity.id?"bg-[var(--sig-surface-raised)]":"hover:bg-[var(--sig-surface-raised)]"}`),Xe(G,`border-left: 2px solid ${Y??""}`),Ae(St,1,Pt),d(y,t(N).entity.name),d(nt,t(N).entity.entityType),d(j,t(N).aspectCount),d(ht,t(N).attributeCount),d(it,t(N).constraintCount),d(Vt,t(N).dependencyCount)},[()=>t(Jt)===t(N).entity.id?"var(--sig-accent)":`rgba(240, 240, 242, ${Dr(t(N))})`,()=>`size-1.5 shrink-0 rounded-full ${or(t(N).entity.id)}`]),hr("click",G,()=>{lr(t(N).entity.id)}),e(ct,G)}),e(O,X)};zt(U,O=>{t($t)?O(E):t(Pe).length===0?O(vt,1):O(lt,-1)})}a(h);var qt=r(h,2);o(qt,()=>De,(O,X)=>{X(O,{class:"min-h-[420px] border-[var(--sig-border)] bg-[var(--sig-surface-raised)]",children:(xt,ct)=>{var N=dt(),G=x(N);o(G,()=>Te,(St,tt)=>{tt(St,{class:"p-3",children:(y,K)=>{var A=dt(),w=x(A);{var nt=j=>{var v=Da(),ht=s(v);$e(ht,{class:"h-6 w-48"});var J=r(ht,2);$e(J,{class:"h-24 w-full"});var it=r(J,2);$e(it,{class:"h-36 w-full"}),a(v),e(j,v)},u=j=>{var v=Ea();e(j,v)},T=j=>{const v=D(()=>t(ee).entity);var ht=za(),J=s(ht),it=s(J),bt=s(it),Vt=s(bt),Y=s(Vt),Pt=r(Y,2),Lt=s(Pt,!0);a(Pt);var V=r(Pt,2);{var kt=S=>{{let M=D(()=>R("accent"));I(S,{variant:"outline",get class(){return t(M)},children:(_t,z)=>{l();var rt=i("pinned");e(_t,rt)},$$slots:{default:!0}})}};zt(V,S=>{t(v).pinned&&S(kt)})}a(Vt);var Ht=r(Vt,2),Tt=s(Ht,!0);a(Ht),a(bt);var wt=r(bt,2),Ct=s(wt);{let S=D(()=>R("accent"));I(Ct,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(()=>d(z,t(v).entityType)),e(M,z)},$$slots:{default:!0}})}var Rt=r(Ct,2);{let S=D(()=>t(Oe)===t(v).id);tr(Rt,{variant:"outline",size:"sm",class:"h-8 px-2",get disabled(){return t(S)},onclick:()=>{Mr(t(v).id,t(v).pinned??!1)},children:(M,_t)=>{var z=Na(),rt=x(z);mr(rt,{class:"mr-1 size-3.5"});var Ut=r(rt);c(()=>d(Ut,` ${t(v).pinned?"Unpin":"Pin"}`)),e(M,z)},$$slots:{default:!0}})}a(wt),a(it);var ut=r(it,2),mt=s(ut);{let S=D(R);I(mt,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(()=>d(z,`mentions ${t(v).mentions??0??""}`)),e(M,z)},$$slots:{default:!0}})}var B=r(mt,2);{let S=D(R);I(B,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(rt=>d(z,`in ${rt??""}`),[()=>qe(t(v).updatedAt)]),e(M,z)},$$slots:{default:!0}})}a(ut),a(J);var p=r(J,2),f=s(p),L=r(s(f),2);te(L,21,()=>t(We),re,(S,M)=>{var _t=Aa(),z=s(_t),rt=s(z),Ut=s(rt,!0);a(rt);var Zt=r(rt,2),ie=s(Zt);a(Zt),a(z);var de=r(z,2),ve=s(de);{let Yt=D(R);I(ve,{variant:"outline",get class(){return t(Yt)},children:(Qt,ke)=>{l();var pt=i();c(()=>d(pt,`attr ${t(M).attributeCount??""}`)),e(Qt,pt)},$$slots:{default:!0}})}var ce=r(ve,2);{let Yt=D(()=>R("warning"));I(ce,{variant:"outline",get class(){return t(Yt)},children:(Qt,ke)=>{l();var pt=i();c(()=>d(pt,`constraint ${t(M).constraintCount??""}`)),e(Qt,pt)},$$slots:{default:!0}})}a(de),a(_t),c(Yt=>{Ae(_t,1,`w-full cursor-pointer border p-2 text-left transition-colors
3
3
  ${t(we)===t(M).aspect.id?"border-[var(--sig-accent)] bg-[var(--sig-surface)]":"border-[var(--sig-border)] hover:border-[var(--sig-border-strong)]"}`),d(Ut,t(M).aspect.name),d(ie,`w ${Yt??""}`)},[()=>t(M).aspect.weight.toFixed(2)]),hr("click",_t,()=>{Ar(t(M).aspect.id)}),e(S,_t)}),a(L),a(f);var g=r(f,2),_=r(s(g),2),F=s(_);{var et=S=>{var M=Ma();e(S,M)},C=S=>{var M=dt(),_t=x(M);te(_t,17,()=>t(xe),re,(z,rt)=>{var Ut=ja(),Zt=s(Ut),ie=s(Zt);{let Yt=D(()=>R(t(rt).kind==="constraint"?"warning":"default"));I(ie,{variant:"outline",get class(){return t(Yt)},children:(Qt,ke)=>{l();var pt=i();c(()=>d(pt,t(rt).kind)),e(Qt,pt)},$$slots:{default:!0}})}var de=r(ie,2);{let Yt=D(R);I(de,{variant:"outline",get class(){return t(Yt)},children:(Qt,ke)=>{l();var pt=i();c(ue=>d(pt,`imp ${ue??""}%`),[()=>Math.round(t(rt).importance*100)]),e(Qt,pt)},$$slots:{default:!0}})}a(Zt);var ve=r(Zt,2),ce=s(ve,!0);a(ve),a(Ut),c(()=>d(ce,t(rt).content)),e(z,Ut)}),e(S,M)};zt(F,S=>{t(xe).length===0?S(et):S(C,-1)})}a(_),a(g),a(p);var W=r(p,2),Ot=s(W),Se=r(s(Ot),2),Ge=s(Se);{var Je=S=>{var M=Fa();e(S,M)},Qe=S=>{var M=dt(),_t=x(M);te(_t,17,()=>t(Ee),re,(z,rt)=>{var Ut=Ba(),Zt=s(Ut),ie=s(Zt);{let pt=D(R);I(ie,{variant:"outline",get class(){return t(pt)},children:(ue,fr)=>{l();var xr=i();c(()=>d(xr,t(rt).direction)),e(ue,xr)},$$slots:{default:!0}})}var de=r(ie,2),ve=s(de);a(de),a(Zt);var ce=r(Zt,2),Yt=s(ce);a(ce);var Qt=r(ce,2);{var ke=pt=>{var ue=Ka(),fr=s(ue,!0);a(ue),c(()=>d(fr,t(rt).reason)),e(pt,ue)};zt(Qt,pt=>{t(rt).reason&&pt(ke)})}a(Ut),c(pt=>{d(ve,`${t(rt).dependencyType??""} · ${pt??""}`),d(Yt,`${t(rt).sourceEntityName??""} → ${t(rt).targetEntityName??""}`)},[()=>t(rt).strength.toFixed(2)]),e(z,Ut)}),e(S,M)};zt(Ge,S=>{t(Ee).length===0?S(Je):S(Qe,-1)})}a(Se),a(Ot);var ur=r(Ot,2),$r=r(s(ur),2),gr=s($r);{let S=D(R);I(gr,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(()=>d(z,`aspects ${t(ee).structuralDensity.aspectCount??""}`)),e(M,z)},$$slots:{default:!0}})}var _r=r(gr,2);{let S=D(R);I(_r,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(()=>d(z,`attributes ${t(ee).structuralDensity.attributeCount??""}`)),e(M,z)},$$slots:{default:!0}})}var pr=r(_r,2);{let S=D(()=>R("warning"));I(pr,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(()=>d(z,`constraints ${t(ee).structuralDensity.constraintCount??""}`)),e(M,z)},$$slots:{default:!0}})}var zr=r(pr,2);{let S=D(R);I(zr,{variant:"outline",get class(){return t(S)},children:(M,_t)=>{l();var z=i();c(()=>d(z,`dependencies ${t(ee).structuralDensity.dependencyCount??""}`)),e(M,z)},$$slots:{default:!0}})}a($r),a(ur),a(W),a(ht),c(S=>{Ae(Y,1,S),d(Lt,t(v).name),d(Tt,t(v).canonicalName??t(v).name)},[()=>`size-2 rounded-full ${or(t(v).id)}`]),e(j,ht)};zt(w,j=>{t(q)?j(nt):t(ee)?j(T,-1):j(u,1)})}e(y,A)},$$slots:{default:!0}})}),e(xt,N)},$$slots:{default:!0}})}),a(H),e(jt,Z)},$$slots:{default:!0}})}),e(st,Bt)},$$slots:{default:!0}})});var Ze=r(vr,2),cr=s(Ze);o(cr,()=>De,(n,k)=>{k(n,{class:"border-[var(--sig-border)] bg-[var(--sig-surface)]",children:(st,Kt)=>{var Bt=qa(),It=x(Bt);o(It,()=>je,(At,Mt)=>{Mt(At,{class:"border-b border-[var(--sig-border)] pb-3",children:(jt,ne)=>{var Z=Oa(),Q=s(Z),ft=s(Q);o(ft,()=>Fe,(h,U)=>{U(h,{class:"sig-heading text-[13px] uppercase tracking-[0.08em]",children:(E,vt)=>{l();var lt=i("Traversal Status");e(E,lt)},$$slots:{default:!0}})});var gt=r(ft,2);o(gt,()=>Me,(h,U)=>{U(h,{class:"sig-label text-[var(--sig-text-muted)]",children:(E,vt)=>{l();var lt=i("Latest structural walk emitted by session-start or recall.");e(E,lt)},$$slots:{default:!0}})}),a(Q);var H=r(Q,2);tr(H,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>Ue(),children:(h,U)=>{yr(h,{class:"size-3.5"})},$$slots:{default:!0}}),a(Z),e(jt,Z)},$$slots:{default:!0}})});var le=r(It,2);o(le,()=>Te,(At,Mt)=>{Mt(At,{class:"space-y-3 p-3",children:(jt,ne)=>{var Z=dt(),Q=x(Z);{var ft=h=>{$e(h,{class:"h-28 w-full"})},gt=h=>{var U=Wa();e(h,U)},H=h=>{var U=Ia(),E=x(U),vt=s(E);{let A=D(()=>R("accent"));I(vt,{variant:"outline",get class(){return t(A)},children:(w,nt)=>{l();var u=i();c(()=>d(u,t(Wt).phase)),e(w,u)},$$slots:{default:!0}})}var lt=r(vt,2);{let A=D(R);I(lt,{variant:"outline",get class(){return t(A)},children:(w,nt)=>{l();var u=i();c(()=>d(u,`source ${t(Wt).source??"unknown"??""}`)),e(w,u)},$$slots:{default:!0}})}var qt=r(lt,2);{var O=A=>{{let w=D(()=>R("warning"));I(A,{variant:"outline",get class(){return t(w)},children:(nt,u)=>{l();var T=i("timeout");e(nt,T)},$$slots:{default:!0}})}};zt(qt,A=>{t(Wt).timedOut&&A(O)})}a(E);var X=r(E,2),xt=s(X,!0);a(X);var ct=r(X,2),N=s(ct);{let A=D(R);I(N,{variant:"outline",get class(){return t(A)},children:(w,nt)=>{l();var u=i();c(()=>d(u,`focal ${t(Wt).focalEntities??""}`)),e(w,u)},$$slots:{default:!0}})}var G=r(N,2);{let A=D(R);I(G,{variant:"outline",get class(){return t(A)},children:(w,nt)=>{l();var u=i();c(()=>d(u,`traversed ${t(Wt).traversedEntities??""}`)),e(w,u)},$$slots:{default:!0}})}var St=r(G,2);{let A=D(R);I(St,{variant:"outline",get class(){return t(A)},children:(w,nt)=>{l();var u=i();c(()=>d(u,`memories ${t(Wt).memoryCount??""}`)),e(w,u)},$$slots:{default:!0}})}var tt=r(St,2);{let A=D(()=>R("warning"));I(tt,{variant:"outline",get class(){return t(A)},children:(w,nt)=>{l();var u=i();c(()=>d(u,`constraints ${t(Wt).constraintCount??""}`)),e(w,u)},$$slots:{default:!0}})}a(ct);var y=r(ct,2),K=s(y);a(y),c((A,w)=>{d(xt,A),d(K,`Last run: ${w??""}`)},[()=>t(Wt).focalEntityNames.length>0?t(Wt).focalEntityNames.join(", "):"No focal entities resolved",()=>qe(t(Wt).at)]),e(h,U)};zt(Q,h=>{t(Ke)?h(ft):t(Wt)?h(H,-1):h(gt,1)})}e(jt,Z)},$$slots:{default:!0}})}),e(st,Bt)},$$slots:{default:!0}})});var Kr=r(cr,2);o(Kr,()=>De,(n,k)=>{k(n,{class:"border-[var(--sig-border)] bg-[var(--sig-surface)]",children:(st,Kt)=>{var Bt=Ya(),It=x(Bt);o(It,()=>je,(At,Mt)=>{Mt(At,{class:"border-b border-[var(--sig-border)] pb-3",children:(jt,ne)=>{var Z=Va(),Q=x(Z);o(Q,()=>Fe,(gt,H)=>{H(gt,{class:"sig-heading text-[13px] uppercase tracking-[0.08em]",children:(h,U)=>{l();var E=i("Knowledge Stats");e(h,E)},$$slots:{default:!0}})});var ft=r(Q,2);o(ft,()=>Me,(gt,H)=>{H(gt,{class:"sig-label text-[var(--sig-text-muted)]",children:(h,U)=>{l();var E=i("Coverage of structural assignment plus predictor comparison slices.");e(h,E)},$$slots:{default:!0}})}),e(jt,Z)},$$slots:{default:!0}})});var le=r(It,2);o(le,()=>Te,(At,Mt)=>{Mt(At,{class:"space-y-4 p-3",children:(jt,ne)=>{var Z=dt(),Q=x(Z);{var ft=h=>{$e(h,{class:"h-40 w-full"})},gt=h=>{var U=Ha();e(h,U)},H=h=>{var U=Ua(),E=x(U),vt=s(E);{let u=D(R);I(vt,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`entities ${t(Ft).entityCount??""}`)),e(T,v)},$$slots:{default:!0}})}var lt=r(vt,2);{let u=D(R);I(lt,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`aspects ${t(Ft).aspectCount??""}`)),e(T,v)},$$slots:{default:!0}})}var qt=r(lt,2);{let u=D(R);I(qt,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`attributes ${t(Ft).attributeCount??""}`)),e(T,v)},$$slots:{default:!0}})}var O=r(qt,2);{let u=D(()=>R("warning"));I(O,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`constraints ${t(Ft).constraintCount??""}`)),e(T,v)},$$slots:{default:!0}})}var X=r(O,2);{let u=D(R);I(X,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`dependencies ${t(Ft).dependencyCount??""}`)),e(T,v)},$$slots:{default:!0}})}var xt=r(X,2);{let u=D(R);I(xt,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`unassigned ${t(Ft).unassignedMemoryCount??""}`)),e(T,v)},$$slots:{default:!0}})}var ct=r(xt,2);{let u=D(R);I(ct,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`feedback 7d ${t(Ft).feedbackUpdatedAspectCount??""}`)),e(T,v)},$$slots:{default:!0}})}var N=r(ct,2);{let u=D(R);I(N,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(ht=>d(v,`avg weight ${ht??""}`),[()=>t(Ft).averageAspectWeight.toFixed(2)]),e(T,v)},$$slots:{default:!0}})}var G=r(N,2);{let u=D(R);I(G,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`maxed ${t(Ft).maxWeightAspectCount??""}`)),e(T,v)},$$slots:{default:!0}})}var St=r(G,2);{let u=D(R);I(St,{variant:"outline",get class(){return t(u)},children:(T,j)=>{l();var v=i();c(()=>d(v,`min floor ${t(Ft).minWeightAspectCount??""}`)),e(T,v)},$$slots:{default:!0}})}a(E);var tt=r(E,2),y=s(tt),K=r(s(y),2),A=s(K,!0);a(K),a(y);var w=r(y,2),nt=s(w);a(w),a(tt),c((u,T)=>{d(A,u),Xe(nt,T)},[()=>wr(t(Ft).coveragePercent),()=>`width: ${Math.min(Math.max(t(Ft).coveragePercent,0),100)}%`]),e(h,U)};zt(Q,h=>{t(Gt)?h(ft):t(Ft)?h(H,-1):h(gt,1)})}e(jt,Z)},$$slots:{default:!0}})}),e(st,Bt)},$$slots:{default:!0}})}),a(Ze);var Br=r(Ze,2);o(Br,()=>De,(n,k)=>{k(n,{class:"border-[var(--sig-border)] bg-[var(--sig-surface)]",children:(st,Kt)=>{var Bt=_s(),It=x(Bt);o(It,()=>je,(At,Mt)=>{Mt(At,{class:"border-b border-[var(--sig-border)] pb-3",children:(jt,ne)=>{var Z=Ja(),Q=s(Z),ft=s(Q);o(ft,()=>Fe,(E,vt)=>{vt(E,{class:"sig-heading text-[13px] uppercase tracking-[0.08em]",children:(lt,qt)=>{l();var O=i("Predictor Slices");e(lt,O)},$$slots:{default:!0}})});var gt=r(ft,2);o(gt,()=>Me,(E,vt)=>{vt(E,{class:"sig-label text-[var(--sig-text-muted)]",children:(lt,qt)=>{l();var O=i("Project and entity comparison slices plus recent training runs.");e(lt,O)},$$slots:{default:!0}})}),a(Q);var H=r(Q,2),h=s(H);o(h,()=>ia,(E,vt)=>{vt(E,{get open(){return t(Ie)},set open(lt){P(Ie,lt,!0)},children:(lt,qt)=>{var O=Ga(),X=x(O);{const ct=(N,G)=>{let St=()=>G?.().props;var tt=Za();ge(tt,()=>({...St(),class:"sig-label inline-flex min-w-[170px] items-center justify-between gap-2 border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] px-2 py-1 text-[var(--sig-text-bright)]"}));var y=s(tt),K=s(y);a(y);var A=r(y,2);pa(A,{class:"size-3 shrink-0 opacity-70"}),a(tt),c(w=>d(K,`Since ${w??""}`),[()=>Cr(`${t(oe)}T00:00:00.000Z`)]),e(N,tt)};o(X,()=>da,(N,G)=>{G(N,{child:ct,$$slots:{child:!0}})})}var xt=r(X,2);o(xt,()=>va,(ct,N)=>{N(ct,{class:"w-auto overflow-hidden border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-0",align:"end",children:(G,St)=>{{let tt=D(()=>Er(t(oe)));_a(G,{type:"single",captionLayout:"dropdown",get value(){return t(tt)},onValueChange:y=>{P(oe,Nr(y),!0),P(Ie,!1),Promise.all([He(),Ve()])},class:"bg-[var(--sig-surface-raised)] p-2 text-[var(--sig-text)]"})}},$$slots:{default:!0}})}),e(lt,O)},$$slots:{default:!0}})});var U=r(h,2);tr(U,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>{Promise.all([He(),Ve()])},children:(E,vt)=>{yr(E,{class:"size-3.5"})},$$slots:{default:!0}}),a(H),a(Z),e(jt,Z)},$$slots:{default:!0}})});var le=r(It,2);o(le,()=>Te,(At,Mt)=>{Mt(At,{class:"space-y-4 p-3",children:(jt,ne)=>{var Z=dt(),Q=x(Z);{var ft=H=>{$e(H,{class:"h-64 w-full"})},gt=H=>{var h=gs(),U=x(h),E=s(U),vt=r(s(E),2);{var lt=y=>{var K=Qa();e(y,K)},qt=y=>{var K=as(),A=s(K);o(A,()=>er,(w,nt)=>{nt(w,{children:(u,T)=>{var j=rs(),v=x(j);o(v,()=>ar,(J,it)=>{it(J,{children:(bt,Vt)=>{var Y=dt(),Pt=x(Y);o(Pt,()=>he,(Lt,V)=>{V(Lt,{children:(kt,Ht)=>{var Tt=Xa(),wt=x(Tt);o(wt,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Project");e(f,g)},$$slots:{default:!0}})});var Ct=r(wt,2);o(Ct,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Wins");e(f,g)},$$slots:{default:!0}})});var Rt=r(Ct,2);o(Rt,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Losses");e(f,g)},$$slots:{default:!0}})});var ut=r(Rt,2);o(ut,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Win Rate");e(f,g)},$$slots:{default:!0}})});var mt=r(ut,2);o(mt,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Avg Margin");e(f,g)},$$slots:{default:!0}})}),e(kt,Tt)},$$slots:{default:!0}})}),e(bt,Y)},$$slots:{default:!0}})});var ht=r(v,2);o(ht,()=>rr,(J,it)=>{it(J,{children:(bt,Vt)=>{var Y=dt(),Pt=x(Y);te(Pt,17,()=>t(Le),re,(Lt,V)=>{var kt=dt(),Ht=x(kt);o(Ht,()=>he,(Tt,wt)=>{wt(Tt,{children:(Ct,Rt)=>{var ut=es(),mt=x(ut);o(mt,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(()=>d(C,t(V).project)),e(F,C)},$$slots:{default:!0}})});var B=r(mt,2);o(B,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(()=>d(C,t(V).wins)),e(F,C)},$$slots:{default:!0}})});var p=r(B,2);o(p,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(()=>d(C,t(V).losses)),e(F,C)},$$slots:{default:!0}})});var f=r(p,2);o(f,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{var C=ts(),W=s(C),Ot=s(W);a(W);var Se=r(W,2),Ge=s(Se);a(Se),a(C),c((Je,Qe)=>{Xe(Ot,Je),d(Ge,`${Qe??""}%`)},[()=>`width: ${Math.min(Math.max(t(V).winRate*100,0),100)}%`,()=>(t(V).winRate*100).toFixed(1)]),e(F,C)},$$slots:{default:!0}})});var L=r(f,2);o(L,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(W=>d(C,W),[()=>t(V).avgMargin.toFixed(2)]),e(F,C)},$$slots:{default:!0}})}),e(Ct,ut)},$$slots:{default:!0}})}),e(Lt,kt)}),e(bt,Y)},$$slots:{default:!0}})}),e(u,j)},$$slots:{default:!0}})}),a(K),e(y,K)};zt(vt,y=>{t(Le).length===0?y(lt):y(qt,-1)})}a(E);var O=r(E,2),X=r(s(O),2);{var xt=y=>{var K=ss();e(y,K)},ct=y=>{var K=is(),A=s(K);o(A,()=>er,(w,nt)=>{nt(w,{children:(u,T)=>{var j=ns(),v=x(j);o(v,()=>ar,(J,it)=>{it(J,{children:(bt,Vt)=>{var Y=dt(),Pt=x(Y);o(Pt,()=>he,(Lt,V)=>{V(Lt,{children:(kt,Ht)=>{var Tt=os(),wt=x(Tt);o(wt,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Entity");e(f,g)},$$slots:{default:!0}})});var Ct=r(wt,2);o(Ct,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Wins");e(f,g)},$$slots:{default:!0}})});var Rt=r(Ct,2);o(Rt,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Losses");e(f,g)},$$slots:{default:!0}})});var ut=r(Rt,2);o(ut,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Win Rate");e(f,g)},$$slots:{default:!0}})});var mt=r(ut,2);o(mt,()=>Et,(B,p)=>{p(B,{children:(f,L)=>{l();var g=i("Avg Margin");e(f,g)},$$slots:{default:!0}})}),e(kt,Tt)},$$slots:{default:!0}})}),e(bt,Y)},$$slots:{default:!0}})});var ht=r(v,2);o(ht,()=>rr,(J,it)=>{it(J,{children:(bt,Vt)=>{var Y=dt(),Pt=x(Y);te(Pt,17,()=>t(ze),re,(Lt,V)=>{var kt=dt(),Ht=x(kt);o(Ht,()=>he,(Tt,wt)=>{wt(Tt,{children:(Ct,Rt)=>{var ut=ls(),mt=x(ut);o(mt,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(()=>d(C,t(V).entityName)),e(F,C)},$$slots:{default:!0}})});var B=r(mt,2);o(B,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(()=>d(C,t(V).wins)),e(F,C)},$$slots:{default:!0}})});var p=r(B,2);o(p,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(()=>d(C,t(V).losses)),e(F,C)},$$slots:{default:!0}})});var f=r(p,2);o(f,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(W=>d(C,`${W??""}%`),[()=>(t(V).winRate*100).toFixed(1)]),e(F,C)},$$slots:{default:!0}})});var L=r(f,2);o(L,()=>Dt,(g,_)=>{_(g,{children:(F,et)=>{l();var C=i();c(W=>d(C,W),[()=>t(V).avgMargin.toFixed(2)]),e(F,C)},$$slots:{default:!0}})}),e(Ct,ut)},$$slots:{default:!0}})}),e(Lt,kt)}),e(bt,Y)},$$slots:{default:!0}})}),e(u,j)},$$slots:{default:!0}})}),a(K),e(y,K)};zt(X,y=>{t(ze).length===0?y(xt):y(ct,-1)})}a(O),a(U);var N=r(U,2),G=r(s(N),2);{var St=y=>{var K=ds();e(y,K)},tt=y=>{var K=$s(),A=s(K);o(A,()=>er,(w,nt)=>{nt(w,{children:(u,T)=>{var j=us(),v=x(j);o(v,()=>ar,(J,it)=>{it(J,{children:(bt,Vt)=>{var Y=dt(),Pt=x(Y);o(Pt,()=>he,(Lt,V)=>{V(Lt,{children:(kt,Ht)=>{var Tt=vs(),wt=x(Tt);o(wt,()=>Et,(p,f)=>{f(p,{children:(L,g)=>{l();var _=i("Version");e(L,_)},$$slots:{default:!0}})});var Ct=r(wt,2);o(Ct,()=>Et,(p,f)=>{f(p,{children:(L,g)=>{l();var _=i("Loss");e(L,_)},$$slots:{default:!0}})});var Rt=r(Ct,2);o(Rt,()=>Et,(p,f)=>{f(p,{children:(L,g)=>{l();var _=i("Samples");e(L,_)},$$slots:{default:!0}})});var ut=r(Rt,2);o(ut,()=>Et,(p,f)=>{f(p,{children:(L,g)=>{l();var _=i("Duration");e(L,_)},$$slots:{default:!0}})});var mt=r(ut,2);o(mt,()=>Et,(p,f)=>{f(p,{children:(L,g)=>{l();var _=i("Canary NDCG");e(L,_)},$$slots:{default:!0}})});var B=r(mt,2);o(B,()=>Et,(p,f)=>{f(p,{children:(L,g)=>{l();var _=i("Date");e(L,_)},$$slots:{default:!0}})}),e(kt,Tt)},$$slots:{default:!0}})}),e(bt,Y)},$$slots:{default:!0}})});var ht=r(v,2);o(ht,()=>rr,(J,it)=>{it(J,{children:(bt,Vt)=>{var Y=dt(),Pt=x(Y);te(Pt,17,()=>t(Re),re,(Lt,V)=>{var kt=dt(),Ht=x(kt);o(Ht,()=>he,(Tt,wt)=>{wt(Tt,{children:(Ct,Rt)=>{var ut=cs(),mt=x(ut);o(mt,()=>Dt,(_,F)=>{F(_,{children:(et,C)=>{l();var W=i();c(()=>d(W,`v${t(V).modelVersion??""}`)),e(et,W)},$$slots:{default:!0}})});var B=r(mt,2);o(B,()=>Dt,(_,F)=>{F(_,{children:(et,C)=>{l();var W=i();c(Ot=>d(W,Ot),[()=>t(V).loss.toFixed(4)]),e(et,W)},$$slots:{default:!0}})});var p=r(B,2);o(p,()=>Dt,(_,F)=>{F(_,{children:(et,C)=>{l();var W=i();c(()=>d(W,t(V).sampleCount)),e(et,W)},$$slots:{default:!0}})});var f=r(p,2);o(f,()=>Dt,(_,F)=>{F(_,{children:(et,C)=>{l();var W=i();c(Ot=>d(W,Ot),[()=>Sr(t(V).durationMs)]),e(et,W)},$$slots:{default:!0}})});var L=r(f,2);o(L,()=>Dt,(_,F)=>{F(_,{children:(et,C)=>{l();var W=i();c(Ot=>d(W,Ot),[()=>t(V).canaryNdcg===null?"—":t(V).canaryNdcg.toFixed(4)]),e(et,W)},$$slots:{default:!0}})});var g=r(L,2);o(g,()=>Dt,(_,F)=>{F(_,{children:(et,C)=>{l();var W=i();c(Ot=>d(W,Ot),[()=>qe(t(V).createdAt)]),e(et,W)},$$slots:{default:!0}})}),e(Ct,ut)},$$slots:{default:!0}})}),e(Lt,kt)}),e(bt,Y)},$$slots:{default:!0}})}),e(u,j)},$$slots:{default:!0}})}),a(K),e(y,K)};zt(G,y=>{t(Re).length===0?y(St):y(tt,-1)})}a(N),e(H,h)};zt(Q,H=>{t(Be)?H(ft):H(gt,-1)})}e(jt,Z)},$$slots:{default:!0}})}),e(st,Bt)},$$slots:{default:!0}})}),a(dr),a(Ye),e(Nt,Ye),se()}Wr(["click"]);export{As 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 h,r as u}from"./V_JjZsJi.js";import{I as $}from"./BBoUgHHJ.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
1
+ import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./V_JjZsJi.js";import{I as $}from"./WTmJ2kxu.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
@@ -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"./V_JjZsJi.js";import{I as $}from"./BBoUgHHJ.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"./V_JjZsJi.js";import{I as $}from"./WTmJ2kxu.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,4 +1,4 @@
1
- import{p as nt,g as At,t as r,j as s,l as e,w as Ct,A as gt,y as H,z as h,i as t,aa as at,b as u,K as Rt,d as it,u as _,m as y,c as Ht,f as qt,h as xt,as as Zt,s as Ft,r as Vt,o as K,e as bt,Q as Yt,v as q,k as rt,O as ft,x as Kt,E as Ut,D as kt,F as te,P as It,a as ee,n as se,q as Dt,at as ae,N as re,au as ne}from"./V_JjZsJi.js";import{B as ie,aR as Bt,t as pt,R as le,aS as Wt,I as oe,o as ve,n as ce,aT as de,aU as ue,aB as pe,a as fe}from"./BBoUgHHJ.js";import{P as ge,a as me,b as he}from"./Dl4cATbx.js";import{T as _e}from"./jsN3ZUlY.js";import{R as ye}from"./DtFoGazC.js";import{f as xe,a as be,s as Se,m as Ee,g as we,b as Me,c as Te,d as je}from"./72vFpWLZ.js";var Ae=y('<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>'),Ce=y('<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>'),Ie=y('<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 Ne(F,o){nt(o,!0);const p=At(o,"diagnostics",3,null),x=At(o,"pipelineStatus",3,null),b=At(o,"memoryStats",3,null),j=_(()=>{const m=o.daemonStatus?.agentCreatedAt;if(!m)return null;const f=new Date(m).getTime();return Number.isNaN(f)?null:Math.max(0,Math.floor((Date.now()-f)/864e5))}),L=_(()=>t(j)===null?"--":t(j)===0?"TODAY":t(j)===1?"1 DAY":`${t(j)} DAYS`),A=_(()=>o.daemonStatus?.activeSessions??0),R=_(()=>o.daemonStatus?.version??"--"),I=_(()=>o.continuity.length===0?null:[...o.continuity].sort((f,M)=>new Date(M.created_at).getTime()-new Date(f.created_at).getTime())[0]);function J(m){const f=Date.now()-new Date(m).getTime(),M=Math.floor(f/6e4);if(M<1)return"JUST NOW";if(M<60)return`${M}M AGO`;const T=Math.floor(M/60);return T<24?`${T}H AGO`:`${Math.floor(T/24)}D AGO`}const V=_(()=>t(I)?.project?.replace(/\/$/,"").split("/").pop()??"--"),Q=_(()=>t(I)?J(t(I).created_at):"--"),Y=_(()=>o.identity.name&&o.identity.name.trim()||"SIGNET AGENT"),W=_(()=>p()?.composite?.score??null),G=_(()=>p()?.composite?.status??"UNKNOWN"),U=_(()=>p()?.index?.embeddingCoverage!==void 0?Math.round(p().index.embeddingCoverage*100):!b()||b().total===0?null:Math.round(b().withEmbeddings/b().total*100)),tt=_(()=>x()?typeof x().mode=="string"?x().mode.toUpperCase():"ACTIVE":"UNKNOWN"),i=_(()=>{if(!p())return 0;let m=0;const f=["queue","storage","index","provider","connector","predictor"];for(const M of f){const T=p()[M];if(T&&typeof T=="object"&&"status"in T){const O=T.status;(O==="degraded"||O==="unhealthy")&&m++}}return m});function E(m){return m===null?"var(--sig-text-muted)":m>=.8?"var(--sig-success)":m>=.5?"var(--sig-warning)":"var(--sig-danger)"}const n=_(()=>[{idx:"01",label:"UPTIME",value:t(L)},{idx:"02",label:"PROJECT",value:t(V)},{idx:"03",label:"LAST SEEN",value:t(Q)},{idx:"04",label:"CONNECTORS",value:String(o.connectorCount)},{idx:"05",label:"SESSIONS",value:String(t(A))}]),w=_(()=>[{idx:"06",label:"HEALTH",value:t(W)!==null?`${t(W).toFixed(2)} ${t(G).toUpperCase()}`:"--",color:E(t(W))},{idx:"07",label:"EMBEDDED",value:t(U)!==null?`${t(U)}%`:"--"},{idx:"08",label:"PIPELINE",value:t(tt)},{idx:"09",label:"WARNINGS",value:String(t(i)),color:t(i)>0?"var(--sig-danger)":void 0}]);var S=Ie(),k=r(s(S),2),$=s(k),Z=r(s($),2),v=s(Z);e(Z),e($);var g=r($,2),N=s(g),a=s(N,!0);e(N);var l=r(N,2),c=s(l),d=s(c,!0);e(c),Ct(2),e(l),e(g);var D=r(g,4),P=s(D);gt(P,21,()=>t(n),Rt,(m,f)=>{var M=Ae(),T=s(M),O=s(T,!0);e(T);var C=r(T,2),z=s(C,!0);e(C);var X=r(C,4),et=s(X,!0);e(X),e(M),H(()=>{h(O,t(f).idx),h(z,t(f).label),at(X,t(f).color?`color: ${t(f).color}`:""),h(et,t(f).value)}),u(m,M)}),e(P);var B=r(P,2);gt(B,21,()=>t(w),Rt,(m,f)=>{var M=Ce(),T=s(M),O=s(T,!0);e(T);var C=r(T,2),z=s(C,!0);e(C);var X=r(C,4),et=s(X,!0);e(X),e(M),H(()=>{h(O,t(f).idx),h(z,t(f).label),at(X,t(f).color?`color: ${t(f).color}`:""),h(et,t(f).value)}),u(m,M)}),e(B),e(D),e(k),e(S),H(m=>{h(v,`v${t(R)??""}`),h(a,t(Y)),h(d,m)},[()=>o.memoryCount.toLocaleString()]),u(F,S),it()}function Oe(F,o){nt(o,!0);let p=At(o,"ref",15,null),x=Vt(o,["$$slots","$$events","$$legacy","ref"]);var b=Ht(),j=qt(b);xt(j,()=>Zt,(L,A)=>{A(L,Ft({"data-slot":"popover-close"},()=>x,{get ref(){return p()},set ref(R){p(R)}}))}),u(F,b),it()}var Re=y('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),ke=y('<span class="entry-tag svelte-7r7fq6"> </span>'),qe=y('<div class="entry-tags svelte-7r7fq6"></div>'),De=y("<button>EDIT</button>"),Pe=y("<button>Cancel</button>"),$e=y('<div class="edit-popover svelte-7r7fq6"><span class="sig-eyebrow">Correct memory</span> <!> <div class="flex justify-end gap-1 mt-1"><!> <!></div></div>'),Le=y("<!> <!>",1),Ge=y('<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>'),Ue=y('<div class="insights-list svelte-7r7fq6"></div>'),Be=y('<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 He(F,o){nt(o,!0);let p=K(bt(new Set)),x=K(0),b=K(void 0),j=K(3);const L=90;function A(a){const c=Date.now()-new Date(a.created_at).getTime(),d=864e5,D=c<7*d?1:c<30*d?.5:.2,P=R(a.tags),B=P.length===0?1:P.length<3?.6:.2,m=a.importance??.5,f=m>=.3&&m<=.7?1:.3;return D+B+f}function R(a){return a?Array.isArray(a)?a.filter(Boolean):a.split(",").map(l=>l.trim()).filter(Boolean):[]}const I=_(()=>o.memories.filter(a=>!(t(p).has(a.id)||a.pinned||R(a.tags).includes("rejected-insight"))).map(a=>({memory:a,score:A(a)})).sort((a,l)=>l.score-a.score)),J=_(()=>{if(t(I).length===0)return[];const a=Math.min(t(j),t(I).length),l=t(x)%t(I).length;return Array.from({length:a},(c,d)=>t(I)[(l+d)%t(I).length].memory)});Yt(()=>{if(!t(b))return;const a=new ResizeObserver(l=>{const c=l[0]?.contentRect.height??0;q(j,Math.max(1,Math.floor(c/L)),!0)});return a.observe(t(b)),()=>a.disconnect()});function V(a){return a>=.8?"var(--sig-danger)":a>=.5?"var(--sig-warning)":"var(--sig-success)"}function Q(a){const l=new Date(a),c=l.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),d=String(l.getDate()).padStart(2,"0");return`${c} ${d}`}async function Y(a){const l=await le(a.id,!0);l.success?(q(p,new Set([...t(p),a.id]),!0),pt("Memory pinned","success")):pt(l.error??"Failed to pin","error")}async function W(a){const l=R(a.tags);l.push("rejected-insight");const c=await Bt(a.id,{tags:l.join(",")},"dashboard: rejected insight");c.success?(q(p,new Set([...t(p),a.id]),!0),pt("Memory dismissed","success")):pt(c.error??"Failed to dismiss","error")}let G=bt({});function U(a){G[a.id]=a.content}async function tt(a){const l=G[a.id];if(!l||l===a.content)return;const c=await Bt(a.id,{content:l},"dashboard: corrected insight");c.success?(q(p,new Set([...t(p),a.id]),!0),pt("Memory corrected","success")):pt(c.error??"Failed to save","error")}function i(){q(x,(t(x)+t(j))%Math.max(1,t(I).length))}var E=Be(),n=s(E),w=r(s(n),2),S=s(w),k=s(S);e(S);var $=r(S,2),Z=s($);ye(Z,{class:"refresh-icon"}),Ct(2),e($),e(w),e(n);var v=r(n,2);{var g=a=>{var l=Re();u(a,l)},N=a=>{var l=Ue();gt(l,23,()=>t(J),c=>c.id,(c,d,D)=>{var P=Ge(),B=s(P),m=s(B),f=s(m),M=s(f,!0);e(f);var T=r(f,2),O=r(T,2),C=s(O,!0);e(O),e(m);var z=r(m,2);{var X=lt=>{var ot=qe();gt(ot,21,()=>R(t(d).tags).slice(0,3),Rt,(mt,Mt)=>{var ct=ke(),Tt=s(ct,!0);e(ct),H(()=>h(Tt,t(Mt))),u(mt,ct)}),e(ot),u(lt,ot)},et=_(()=>R(t(d).tags).length>0);rt(z,lt=>{t(et)&&lt(X)})}e(B);var vt=r(B,2),Nt=s(vt,!0);e(vt);var St=r(vt,2),Et=s(St),wt=r(Et,2),zt=r(wt,2);xt(zt,()=>he,(lt,ot)=>{ot(lt,{children:(mt,Mt)=>{var ct=Le(),Tt=qt(ct);{const Ot=(ht,_t)=>{let Pt=()=>_t?.().props;var dt=De(),jt=()=>U(t(d));Ut(dt,()=>({...Pt(),class:"action-btn edit sig-switch",onclick:jt}),void 0,void 0,void 0,"svelte-7r7fq6"),u(ht,dt)};xt(Tt,()=>ge,(ht,_t)=>{_t(ht,{child:Ot,$$slots:{child:!0}})})}var Jt=r(Tt,2);xt(Jt,()=>me,(Ot,ht)=>{ht(Ot,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(_t,Pt)=>{var dt=$e(),jt=r(s(dt),2);{let yt=_(()=>G[t(d).id]??t(d).content);_e(jt,{class:`mt-2 min-h-[60px] text-[11px] font-[family-name:var(--font-mono)]
1
+ import{p as nt,g as At,t as r,j as s,l as e,w as Ct,A as gt,y as H,z as h,i as t,aa as at,b as u,K as Rt,d as it,u as _,m as y,c as Ht,f as qt,h as xt,as as Zt,s as Ft,r as Vt,o as K,e as bt,Q as Yt,v as q,k as rt,O as ft,x as Kt,E as Ut,D as kt,F as te,P as It,a as ee,n as se,q as Dt,at as ae,N as re,au as ne}from"./V_JjZsJi.js";import{B as ie,aR as Bt,t as pt,R as le,aS as Wt,I as oe,o as ve,n as ce,aT as de,aU as ue,aB as pe,a as fe}from"./WTmJ2kxu.js";import{P as ge,a as me,b as he}from"./DRPrjjHV.js";import{T as _e}from"./BFhviDgB.js";import{R as ye}from"./5pZXz3Gm.js";import{f as xe,a as be,s as Se,m as Ee,g as we,b as Me,c as Te,d as je}from"./17DJUZua.js";var Ae=y('<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>'),Ce=y('<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>'),Ie=y('<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 Ne(F,o){nt(o,!0);const p=At(o,"diagnostics",3,null),x=At(o,"pipelineStatus",3,null),b=At(o,"memoryStats",3,null),j=_(()=>{const m=o.daemonStatus?.agentCreatedAt;if(!m)return null;const f=new Date(m).getTime();return Number.isNaN(f)?null:Math.max(0,Math.floor((Date.now()-f)/864e5))}),L=_(()=>t(j)===null?"--":t(j)===0?"TODAY":t(j)===1?"1 DAY":`${t(j)} DAYS`),A=_(()=>o.daemonStatus?.activeSessions??0),R=_(()=>o.daemonStatus?.version??"--"),I=_(()=>o.continuity.length===0?null:[...o.continuity].sort((f,M)=>new Date(M.created_at).getTime()-new Date(f.created_at).getTime())[0]);function J(m){const f=Date.now()-new Date(m).getTime(),M=Math.floor(f/6e4);if(M<1)return"JUST NOW";if(M<60)return`${M}M AGO`;const T=Math.floor(M/60);return T<24?`${T}H AGO`:`${Math.floor(T/24)}D AGO`}const V=_(()=>t(I)?.project?.replace(/\/$/,"").split("/").pop()??"--"),Q=_(()=>t(I)?J(t(I).created_at):"--"),Y=_(()=>o.identity.name&&o.identity.name.trim()||"SIGNET AGENT"),W=_(()=>p()?.composite?.score??null),G=_(()=>p()?.composite?.status??"UNKNOWN"),U=_(()=>p()?.index?.embeddingCoverage!==void 0?Math.round(p().index.embeddingCoverage*100):!b()||b().total===0?null:Math.round(b().withEmbeddings/b().total*100)),tt=_(()=>x()?typeof x().mode=="string"?x().mode.toUpperCase():"ACTIVE":"UNKNOWN"),i=_(()=>{if(!p())return 0;let m=0;const f=["queue","storage","index","provider","connector","predictor"];for(const M of f){const T=p()[M];if(T&&typeof T=="object"&&"status"in T){const O=T.status;(O==="degraded"||O==="unhealthy")&&m++}}return m});function E(m){return m===null?"var(--sig-text-muted)":m>=.8?"var(--sig-success)":m>=.5?"var(--sig-warning)":"var(--sig-danger)"}const n=_(()=>[{idx:"01",label:"UPTIME",value:t(L)},{idx:"02",label:"PROJECT",value:t(V)},{idx:"03",label:"LAST SEEN",value:t(Q)},{idx:"04",label:"CONNECTORS",value:String(o.connectorCount)},{idx:"05",label:"SESSIONS",value:String(t(A))}]),w=_(()=>[{idx:"06",label:"HEALTH",value:t(W)!==null?`${t(W).toFixed(2)} ${t(G).toUpperCase()}`:"--",color:E(t(W))},{idx:"07",label:"EMBEDDED",value:t(U)!==null?`${t(U)}%`:"--"},{idx:"08",label:"PIPELINE",value:t(tt)},{idx:"09",label:"WARNINGS",value:String(t(i)),color:t(i)>0?"var(--sig-danger)":void 0}]);var S=Ie(),k=r(s(S),2),$=s(k),Z=r(s($),2),v=s(Z);e(Z),e($);var g=r($,2),N=s(g),a=s(N,!0);e(N);var l=r(N,2),c=s(l),d=s(c,!0);e(c),Ct(2),e(l),e(g);var D=r(g,4),P=s(D);gt(P,21,()=>t(n),Rt,(m,f)=>{var M=Ae(),T=s(M),O=s(T,!0);e(T);var C=r(T,2),z=s(C,!0);e(C);var X=r(C,4),et=s(X,!0);e(X),e(M),H(()=>{h(O,t(f).idx),h(z,t(f).label),at(X,t(f).color?`color: ${t(f).color}`:""),h(et,t(f).value)}),u(m,M)}),e(P);var B=r(P,2);gt(B,21,()=>t(w),Rt,(m,f)=>{var M=Ce(),T=s(M),O=s(T,!0);e(T);var C=r(T,2),z=s(C,!0);e(C);var X=r(C,4),et=s(X,!0);e(X),e(M),H(()=>{h(O,t(f).idx),h(z,t(f).label),at(X,t(f).color?`color: ${t(f).color}`:""),h(et,t(f).value)}),u(m,M)}),e(B),e(D),e(k),e(S),H(m=>{h(v,`v${t(R)??""}`),h(a,t(Y)),h(d,m)},[()=>o.memoryCount.toLocaleString()]),u(F,S),it()}function Oe(F,o){nt(o,!0);let p=At(o,"ref",15,null),x=Vt(o,["$$slots","$$events","$$legacy","ref"]);var b=Ht(),j=qt(b);xt(j,()=>Zt,(L,A)=>{A(L,Ft({"data-slot":"popover-close"},()=>x,{get ref(){return p()},set ref(R){p(R)}}))}),u(F,b),it()}var Re=y('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),ke=y('<span class="entry-tag svelte-7r7fq6"> </span>'),qe=y('<div class="entry-tags svelte-7r7fq6"></div>'),De=y("<button>EDIT</button>"),Pe=y("<button>Cancel</button>"),$e=y('<div class="edit-popover svelte-7r7fq6"><span class="sig-eyebrow">Correct memory</span> <!> <div class="flex justify-end gap-1 mt-1"><!> <!></div></div>'),Le=y("<!> <!>",1),Ge=y('<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>'),Ue=y('<div class="insights-list svelte-7r7fq6"></div>'),Be=y('<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 He(F,o){nt(o,!0);let p=K(bt(new Set)),x=K(0),b=K(void 0),j=K(3);const L=90;function A(a){const c=Date.now()-new Date(a.created_at).getTime(),d=864e5,D=c<7*d?1:c<30*d?.5:.2,P=R(a.tags),B=P.length===0?1:P.length<3?.6:.2,m=a.importance??.5,f=m>=.3&&m<=.7?1:.3;return D+B+f}function R(a){return a?Array.isArray(a)?a.filter(Boolean):a.split(",").map(l=>l.trim()).filter(Boolean):[]}const I=_(()=>o.memories.filter(a=>!(t(p).has(a.id)||a.pinned||R(a.tags).includes("rejected-insight"))).map(a=>({memory:a,score:A(a)})).sort((a,l)=>l.score-a.score)),J=_(()=>{if(t(I).length===0)return[];const a=Math.min(t(j),t(I).length),l=t(x)%t(I).length;return Array.from({length:a},(c,d)=>t(I)[(l+d)%t(I).length].memory)});Yt(()=>{if(!t(b))return;const a=new ResizeObserver(l=>{const c=l[0]?.contentRect.height??0;q(j,Math.max(1,Math.floor(c/L)),!0)});return a.observe(t(b)),()=>a.disconnect()});function V(a){return a>=.8?"var(--sig-danger)":a>=.5?"var(--sig-warning)":"var(--sig-success)"}function Q(a){const l=new Date(a),c=l.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),d=String(l.getDate()).padStart(2,"0");return`${c} ${d}`}async function Y(a){const l=await le(a.id,!0);l.success?(q(p,new Set([...t(p),a.id]),!0),pt("Memory pinned","success")):pt(l.error??"Failed to pin","error")}async function W(a){const l=R(a.tags);l.push("rejected-insight");const c=await Bt(a.id,{tags:l.join(",")},"dashboard: rejected insight");c.success?(q(p,new Set([...t(p),a.id]),!0),pt("Memory dismissed","success")):pt(c.error??"Failed to dismiss","error")}let G=bt({});function U(a){G[a.id]=a.content}async function tt(a){const l=G[a.id];if(!l||l===a.content)return;const c=await Bt(a.id,{content:l},"dashboard: corrected insight");c.success?(q(p,new Set([...t(p),a.id]),!0),pt("Memory corrected","success")):pt(c.error??"Failed to save","error")}function i(){q(x,(t(x)+t(j))%Math.max(1,t(I).length))}var E=Be(),n=s(E),w=r(s(n),2),S=s(w),k=s(S);e(S);var $=r(S,2),Z=s($);ye(Z,{class:"refresh-icon"}),Ct(2),e($),e(w),e(n);var v=r(n,2);{var g=a=>{var l=Re();u(a,l)},N=a=>{var l=Ue();gt(l,23,()=>t(J),c=>c.id,(c,d,D)=>{var P=Ge(),B=s(P),m=s(B),f=s(m),M=s(f,!0);e(f);var T=r(f,2),O=r(T,2),C=s(O,!0);e(O),e(m);var z=r(m,2);{var X=lt=>{var ot=qe();gt(ot,21,()=>R(t(d).tags).slice(0,3),Rt,(mt,Mt)=>{var ct=ke(),Tt=s(ct,!0);e(ct),H(()=>h(Tt,t(Mt))),u(mt,ct)}),e(ot),u(lt,ot)},et=_(()=>R(t(d).tags).length>0);rt(z,lt=>{t(et)&&lt(X)})}e(B);var vt=r(B,2),Nt=s(vt,!0);e(vt);var St=r(vt,2),Et=s(St),wt=r(Et,2),zt=r(wt,2);xt(zt,()=>he,(lt,ot)=>{ot(lt,{children:(mt,Mt)=>{var ct=Le(),Tt=qt(ct);{const Ot=(ht,_t)=>{let Pt=()=>_t?.().props;var dt=De(),jt=()=>U(t(d));Ut(dt,()=>({...Pt(),class:"action-btn edit sig-switch",onclick:jt}),void 0,void 0,void 0,"svelte-7r7fq6"),u(ht,dt)};xt(Tt,()=>ge,(ht,_t)=>{_t(ht,{child:Ot,$$slots:{child:!0}})})}var Jt=r(Tt,2);xt(Jt,()=>me,(Ot,ht)=>{ht(Ot,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(_t,Pt)=>{var dt=$e(),jt=r(s(dt),2);{let yt=_(()=>G[t(d).id]??t(d).content);_e(jt,{class:`mt-2 min-h-[60px] text-[11px] font-[family-name:var(--font-mono)]
2
2
  bg-[var(--sig-bg)] border-[var(--sig-border)]
3
3
  text-[var(--sig-text)]`,get value(){return t(yt)},oninput:ut=>{const st=ut.currentTarget;st instanceof HTMLTextAreaElement&&(G[t(d).id]=st.value)}})}var $t=r(jt,2),Lt=s($t);{const yt=(ut,st)=>{let Xt=()=>st?.().props;var Gt=Pe();Ut(Gt,()=>({...Xt(),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"),u(ut,Gt)};xt(Lt,()=>Oe,(ut,st)=>{st(ut,{child:yt,$$slots:{child:!0}})})}var Qt=r(Lt,2);ie(Qt,{variant:"default",size:"sm",class:"text-[10px] h-6",onclick:()=>tt(t(d)),children:(yt,ut)=>{Ct();var st=Kt("Save");u(yt,st)},$$slots:{default:!0}}),e($t),e(dt),u(_t,dt)},$$slots:{default:!0}})}),u(mt,ct)},$$slots:{default:!0}})}),e(St),e(P),H((lt,ot,mt,Mt)=>{h(M,lt),at(T,`background: ${ot??""}`),kt(T,"title",`importance: ${mt??""}`),h(C,Mt),h(Nt,t(d).content)},[()=>String(t(D)+1).padStart(2,"0"),()=>V(t(d).importance??.5),()=>(t(d).importance??.5).toFixed(2),()=>Q(t(d).created_at)]),ft("click",Et,()=>Y(t(d))),ft("click",wt,()=>W(t(d))),u(c,P)}),e(l),te(l,c=>q(b,c),()=>t(b)),u(a,l)};rt(v,a=>{t(J).length===0?a(g):a(N,-1)})}e(E),H(()=>h(k,`${t(J).length??""} OF ${t(I).length??""}`)),ft("click",$,i),u(F,E),it()}It(["click"]);var Fe=y('<span class="status-indicator svelte-ym2fyr"> </span>'),Ve=y('<div class="empty-state svelte-ym2fyr">LOADING</div>'),Ye=y('<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>'),Ke=y('<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>'),We=y('<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 ze(F,o){nt(o,!0);const p="";let x=K(null),b=K(null),j=K(!1);const L=_(()=>t(x)!==null&&t(x).sidecarAlive),A=_(()=>t(x)?.alpha??.6),R=_(()=>t(x)?.successRate??0),I=_(()=>{if(t(b)?.composite){const v=t(b).composite.score;return v>=.7?"healthy":v>=.4?"degraded":"unhealthy"}return t(x)?.status??"unknown"}),J=_(()=>t(b)?.index?.embeddingCoverage??0),V=_(()=>t(b)?.storage?.totalMemories??0),Q=_(()=>t(b)?.composite?.score??0);function Y(v){return v==="healthy"?"var(--sig-success)":v==="degraded"||v==="cold_start"?"var(--sig-warning)":v==="unhealthy"?"var(--sig-danger)":"var(--sig-text-muted)"}async function W(){try{const[v,g]=await Promise.allSettled([fetch(`${p}/api/diagnostics/predictor`),fetch(`${p}/api/diagnostics`)]);v.status==="fulfilled"&&v.value.ok&&q(x,await v.value.json(),!0),g.status==="fulfilled"&&g.value.ok&&q(b,await g.value.json(),!0)}catch{}q(j,!0)}Yt(()=>{o.daemonStatus?W():q(j,!0)});var G=We(),U=s(G),tt=r(s(U),2);{var i=v=>{var g=Fe(),N=s(g,!0);e(g),H((a,l)=>{at(g,`color: ${a??""}`),h(N,l)},[()=>Y(t(I)),()=>t(I).toUpperCase()]),u(v,g)};rt(tt,v=>{t(j)&&v(i)})}e(U);var E=r(U,2),n=s(E);{var w=v=>{var g=Ve();u(v,g)},S=v=>{var g=Ye(),N=s(g),a=s(N),l=s(a),c=r(l,2);e(a);var d=r(a,2),D=s(d),P=s(D);e(D);var B=r(D,2),m=s(B);e(B),e(d),e(N);var f=r(N,2),M=s(f),T=r(s(M),4),O=s(T);e(T),e(M);var C=r(M,2),z=r(s(C),4),X=s(z);e(z),e(C);var et=r(C,2),vt=r(s(et),4),Nt=s(vt,!0);e(vt),e(et),e(f),e(g),H((St,Et,wt)=>{at(l,`width: ${t(A)*100}%`),at(c,`width: ${(1-t(A))*100}%`),h(P,`BASELINE ${St??""}%`),h(m,`PREDICTOR ${Et??""}%`),h(O,`${wt??""}%`),h(X,`v${t(x)?.modelVersion??"--"??""}`),h(Nt,t(x)?.trainingSessions??"--")},[()=>Math.round(t(A)*100),()=>Math.round((1-t(A))*100),()=>Math.round(t(R)*100)]),u(v,g)},k=v=>{var g=Ke(),N=s(g),a=r(s(N),4),l=s(a);e(a),e(N);var c=r(N,2),d=r(s(c),4),D=s(d,!0);e(d),e(c);var P=r(c,2),B=r(s(P),4),m=s(B);e(B),e(P),e(g),H((f,M,T)=>{h(l,`${f??""}%`),h(D,M),h(m,`${T??""}%`)},[()=>Math.round(t(J)*100),()=>t(V).toLocaleString(),()=>Math.round(t(Q)*100)]),u(v,g)};rt(n,v=>{t(j)?t(L)?v(S,1):v(k,-1):v(w)})}e(E);var $=r(E,2),Z=s($);e($),e(G),ft("click",Z,()=>Wt("predictor")),u(F,G),it()}It(["click"]);function Je(F,o){nt(o,!0);let p=Vt(o,["$$slots","$$events","$$legacy"]);const x=[["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"}]];oe(F,Ft({name:"brain"},()=>p,{get iconNode(){return x},children:(b,j)=>{var L=Ht(),A=qt(L);ee(A,()=>o.children??se),u(b,L)},$$slots:{default:!0}})),it()}var Qe=y('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Xe=y('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Ze=y('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),ts=y('<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>'),es=y('<div class="entity-list svelte-1qexx7n"></div>'),ss=y('<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 as(F,o){nt(o,!0);let p=K(bt([])),x=K(!1);async function b(){try{const i=await fetch(`${ve}/api/memories/most-used?limit=50`);if(i.ok){const w=((await i.json()).memories??[]).filter(S=>typeof S.id=="string"&&S.id.length>0&&typeof S.content=="string").map(S=>({id:S.id,content:S.content??"",access_count:S.access_count??0,importance:S.importance??.5}));if(w.length>0){q(p,w,!0),q(x,!0);return}}}catch{}q(p,o.memories.map(i=>({id:i.id,content:i.content,access_count:0,importance:i.importance??.5})).sort((i,E)=>E.importance-i.importance).slice(0,50),!0),q(x,!0)}Dt(()=>{b()});function j(i){const E=i.content.trim(),n=E.split(`
4
4
  `)[0]??E;return n.length>60?`${n.slice(0,57)}...`:n}function L(i){return i>=.8?"var(--sig-danger)":i>=.5?"var(--sig-warning)":"var(--sig-success)"}var A=ss(),R=s(A),I=r(s(R),2),J=s(I);e(I),e(R);var V=r(R,2),Q=s(V);{var Y=i=>{var E=Qe();u(i,E)},W=i=>{var E=Xe(),n=s(E);Je(n,{class:"empty-icon"}),Ct(2),e(E),u(i,E)},G=i=>{var E=es();gt(E,23,()=>t(p),n=>n.id,(n,w,S)=>{var k=ts(),$=s(k),Z=s($,!0);e($);var v=r($,2),g=r(v,2),N=s(g,!0);e(g);var a=r(g,2);{var l=c=>{var d=Ze(),D=s(d,!0);e(d),H(()=>h(D,t(w).access_count)),u(c,d)};rt(a,c=>{t(w).access_count>0&&c(l)})}e(k),H((c,d,D)=>{h(Z,c),at(v,`background: ${d??""}`),h(N,D)},[()=>String(t(S)+1).padStart(2,"0"),()=>L(t(w).importance),()=>j(t(w))]),u(n,k)}),e(E),u(i,E)};rt(Q,i=>{t(x)?t(p).length===0?i(W,1):i(G,-1):i(Y)})}e(V);var U=r(V,2),tt=s(U);e(U),e(A),H(()=>h(J,`${t(p).length??""} RECALLED`)),ft("click",tt,()=>Wt("cortex-memory")),u(F,A),it()}It(["click"]);var rs=y('<div class="empty-state svelte-6whpsi">LOADING CATALOG...</div>'),ns=y('<div class="empty-state svelte-6whpsi">NO CATALOG DATA</div>'),is=y('<img class="spotlight-avatar svelte-6whpsi"/>'),ls=y('<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></button>'),os=y('<div class="spotlights-grid svelte-6whpsi"></div>'),vs=y('<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"> </span></div> <!></div>');function cs(F,o){nt(o,!0);const p=6;let x=K(!1);const b=new ae;Dt(async()=>{await Promise.allSettled([xe(),be(5)]),q(x,!0)});const j=_(()=>{const n=Se.catalog.slice(0,3).map(S=>({kind:"skill",item:S})),w=Ee.catalog.slice(0,3).map(S=>({kind:"mcp",item:S}));return[...n,...w].slice(0,p)});function L(n){return n.kind==="skill"?`sk:${n.item.name}`:`mcp:${n.item.id}`}function A(n){return n.item.name}function R(n){return n.item.description}function I(n){return n.kind==="skill"?"SKILL":"MCP"}function J(n){if(n.kind==="mcp")return Te(n.item.source,n.item.catalogId)??je(n.item.sourceUrl);const w=n.item.maintainer;return w?`https://github.com/${w.split("/")[0]}.png?size=40`:null}function V(n){ce.activeTab="skills"}var Q=vs(),Y=s(Q),W=r(s(Y),2),G=s(W);e(W),e(Y);var U=r(Y,2);{var tt=n=>{var w=rs();u(n,w)},i=n=>{var w=ns();u(n,w)},E=n=>{var w=os();gt(w,21,()=>t(j),S=>L(S),(S,k)=>{const $=_(()=>J(t(k))),Z=_(()=>L(t(k)));var v=ls(),g=s(v),N=s(g),a=s(N);{var l=O=>{var C=is();H(z=>{kt(C,"src",t($)),kt(C,"alt",z)},[()=>A(t(k))]),re("error",C,()=>{b.add(t(Z))}),ne(C),u(O,C)},c=_(()=>t($)&&!b.has(t(Z))),d=O=>{var C=Kt();H(z=>h(C,z),[()=>Me(A(t(k)))]),u(O,C)};rt(a,O=>{t(c)?O(l):O(d,-1)})}e(N);var D=r(N,2),P=s(D),B=s(P,!0);e(P);var m=r(P,2),f=s(m,!0);e(m),e(D),e(g);var M=r(g,2),T=s(M,!0);e(M),e(v),H((O,C,z,X)=>{at(N,`background: ${O??""};`),h(B,C),h(f,z),h(T,X)},[()=>t($)&&!b.has(t(Z))?"transparent":we(A(t(k))),()=>A(t(k)),()=>I(t(k)),()=>R(t(k))]),ft("click",v,()=>V(t(k))),u(S,v)}),e(w),u(n,w)};rt(U,n=>{!t(x)&&t(j).length===0?n(tt):t(j).length===0?n(i,1):n(E,-1)})}e(Q),H(()=>h(G,`${t(j).length??""} TOP PICKS`)),u(F,Q),it()}It(["click"]);var ds=y('<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 _s(F,o){nt(o,!0);let p=K(null),x=K(bt([])),b=K(null),j=K(bt([])),L=K(!1);Dt(async()=>{const i=await Promise.allSettled([de(),ue(),pe(),fe()]);i[0].status==="fulfilled"&&i[0].value&&q(p,i[0].value,!0),i[1].status==="fulfilled"&&q(x,i[1].value,!0),i[2].status==="fulfilled"&&q(b,i[2].value,!0),i[3].status==="fulfilled"&&q(j,i[3].value,!0),q(L,!0)});var A=ds(),R=s(A),I=s(R),J=s(I);{let i=_(()=>o.memoryStats?.total??0);Ne(J,{get identity(){return o.identity},get daemonStatus(){return o.daemonStatus},get connectorCount(){return t(j).length},get continuity(){return t(x)},get memoryCount(){return t(i)},get diagnostics(){return t(p)},get pipelineStatus(){return t(b)},get memoryStats(){return o.memoryStats}})}e(I);var V=r(I,2),Q=s(V);cs(Q,{}),e(V);var Y=r(V,2),W=s(Y);He(W,{get memories(){return o.memories}}),e(Y);var G=r(Y,2),U=s(G);as(U,{get memories(){return o.memories}});var tt=r(U,2);ze(tt,{get daemonStatus(){return o.daemonStatus}}),e(G),e(R),e(A),u(F,A),it()}export{_s as default};
@@ -1 +1 @@
1
- import{p as n,g as r,H as u,E as c,F as b,I as v,b as f,d as x,r as m,m as g}from"./V_JjZsJi.js";import{c as p}from"./BBoUgHHJ.js";var h=g("<textarea></textarea>");function y(i,a){n(a,!0);let s=r(a,"ref",15,null),o=r(a,"value",15),d=r(a,"data-slot",3,"textarea"),l=m(a,["$$slots","$$events","$$legacy","ref","value","class","data-slot"]);var e=h();u(e),c(e,t=>({"data-slot":d(),class:t,...l}),[()=>p("border-input placeholder: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 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a.class)]),b(e,t=>s(t),()=>s()),v(e,o),f(i,e),x()}export{y as T};
1
+ import{p as n,g as r,H as u,E as c,F as b,I as v,b as f,d as x,r as m,m as g}from"./V_JjZsJi.js";import{c as p}from"./WTmJ2kxu.js";var h=g("<textarea></textarea>");function y(i,a){n(a,!0);let s=r(a,"ref",15,null),o=r(a,"value",15),d=r(a,"data-slot",3,"textarea"),l=m(a,["$$slots","$$events","$$legacy","ref","value","class","data-slot"]);var e=h();u(e),c(e,t=>({"data-slot":d(),class:t,...l}),[()=>p("border-input placeholder: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 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a.class)]),b(e,t=>s(t),()=>s()),v(e,o),f(i,e),x()}export{y as T};
@@ -1 +1 @@
1
- import{p as n,s as l,c,f as d,a as i,n as m,b as f,d as h,r as u}from"./V_JjZsJi.js";import{I as $}from"./BBoUgHHJ.js";function z(e,a){n(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}]];$(e,l({name:"zap"},()=>o,{get iconNode(){return t},children:(r,_)=>{var s=c(),p=d(s);i(p,()=>a.children??m),f(r,s)},$$slots:{default:!0}})),h()}export{z as Z};
1
+ import{p as n,s as l,c,f as d,a as i,n as m,b as f,d as h,r as u}from"./V_JjZsJi.js";import{I as $}from"./WTmJ2kxu.js";function z(e,a){n(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}]];$(e,l({name:"zap"},()=>o,{get iconNode(){return t},children:(r,_)=>{var s=c(),p=d(s);i(p,()=>a.children??m),f(r,s)},$$slots:{default:!0}})),h()}export{z as Z};
@@ -1,2 +1,2 @@
1
- import{p as re,s as Ee,c as Ut,f as C,a as Re,n as Be,b as s,d as se,r as De,j as r,w as vt,x as $t,y as N,z as d,i as t,t as e,h as L,l as a,aa as ke,ac as Se,ad as Ce,O as we,v as b,k as nt,u as I,o as V,m as v,P as Le,g as Oe,A as Bt,D as o,K as ce,N as je,ag as ie,B as Ne,e as Kt,q as ze}from"./V_JjZsJi.js";import{B as ue}from"./BSRfxD-o.js";import{I as We,Y as ge,Z as pe,_ as xe,B as He,f as Ge,n as Ke,E as qe}from"./BBoUgHHJ.js";import{a as Je,C as Ve}from"./BNj0MKVC.js";import{C as Ye}from"./DUFy8qDR.js";import{C as Ze}from"./CDxIb0da.js";import{C as Qe,a as Ue,b as Xe}from"./KwMFcb2C.js";import{P as ta}from"./CCx9trWZ.js";import{T as ea}from"./Bzw_3peg.js";import{P as aa,a as ra,b as sa}from"./Dl4cATbx.js";import{Z as ia}from"./D3IVqg65.js";import{R as na}from"./DtFoGazC.js";import{C as oa}from"./DA55aFBx.js";function la(wt,c){re(c,!0);let p=De(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"}]];We(wt,Ee({name:"settings-2"},()=>p,{get iconNode(){return T},children:($,x)=>{var rt=Ut(),j=C(rt);Re(j,()=>c.children??Be),s($,rt)},$$slots:{default:!0}})),se()}var da=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),va=v("<!> <!>",1),ca=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),ua=v("<!> <!>",1),ga=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),pa=v("<!> <!>",1),xa=v("<!> <!>",1),fa=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 ma(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 $=fa(),x=r($);ue(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,()=>xe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=va(),Q=C(K);L(Q,()=>ge,(g,n)=>{n(g,{class:"flex items-center gap-2 min-w-[120px]",children:(u,w)=>{var h=da(),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=>{ke(P,`width: ${c.alpha*100}%`),ke(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,()=>pe,(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,()=>xe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=ua(),Q=C(K);L(Q,()=>ge,(g,n)=>{n(g,{children:(u,w)=>{var h=ca(),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,()=>pe,(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=pa(),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)=>{la(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=ga(),y=e(C(h),2),P=r(y),R=e(r(P),2);Se(R),a(P),vt(2),a(y);var H=e(y,2),X=r(H),z=e(r(X),2);Se(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=>{Ce(R,c.trainEpochs),Ce(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);He(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=xa(),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()}Le(["input","click"]);var _a=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>'),ha=v("<!> <!>",1),ba=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ya=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),$a=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),wa=v("<!> <!>",1),Pa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),ka=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);const p=Oe(c,"offline",3,!1),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=ka(),j=r(rt),Y=r(j),O=r(Y,!0);a(Y);var st=e(Y,2);{var Pt=m=>{ue(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,()=>xe,(m,g)=>{g(m,{children:(n,u)=>{var w=ha(),h=C(w);L(h,()=>ge,(P,R)=>{R(P,{class:"text-left",children:(H,X)=>{var z=_a(),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,()=>pe,(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=ba(),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=ya();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,()=>xe,(H,X)=>{X(H,{children:(z,at)=>{var ct=wa(),ot=C(ct);L(ot,()=>ge,(pt,xt)=>{xt(pt,{class:"w-full text-left",children:(B,f)=>{var S=$a(),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,()=>pe,(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=Pa(),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()}var Na=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>'),Ta=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),Sa=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),ja=ie('<rect fill="transparent"></rect><!>',1),Ma=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),Fa=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>'),Ia=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 Aa(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=Na();s(n,u)},g=n=>{var u=Ia(),w=C(u);o(w,"viewBox","0 0 1200 200");var h=r(w);Bt(h,17,()=>Z,ce,(B,f)=>{var S=Ta(),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=Sa();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=ja(),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)]),je("mouseenter",G,()=>b(A,S,!0)),je("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=Fa(),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=Ma(),_=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=Ne(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 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,s as Ee,c as Ut,f as C,a as Re,n as Be,b as s,d as se,r as De,j as r,w as vt,x as $t,y as N,z as d,i as t,t as e,h as L,l as a,aa as ke,ac as Se,ad as Ce,O as we,v as b,k as nt,u as I,o as V,m as v,P as Le,g as Oe,A as Bt,D as o,K as ce,N as je,ag as ie,B as Ne,e as Kt,q as ze}from"./V_JjZsJi.js";import{B as ue}from"./xCZ1totC.js";import{I as We,Y as ge,Z as pe,_ as xe,B as He,f as Ge,n as Ke,E as qe}from"./WTmJ2kxu.js";import{a as Je,C as Ve}from"./CTk7g6kE.js";import{C as Ye}from"./BzXbimkX.js";import{C as Ze}from"./B_ug92Oo.js";import{C as Qe,a as Ue,b as Xe}from"./KwMFcb2C.js";import{P as ta}from"./CCx9trWZ.js";import{T as ea}from"./Bzw_3peg.js";import{P as aa,a as ra,b as sa}from"./DRPrjjHV.js";import{Z as ia}from"./BUr6TUtR.js";import{R as na}from"./5pZXz3Gm.js";import{C as oa}from"./DDXwoyYk.js";function la(wt,c){re(c,!0);let p=De(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"}]];We(wt,Ee({name:"settings-2"},()=>p,{get iconNode(){return T},children:($,x)=>{var rt=Ut(),j=C(rt);Re(j,()=>c.children??Be),s($,rt)},$$slots:{default:!0}})),se()}var da=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),va=v("<!> <!>",1),ca=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),ua=v("<!> <!>",1),ga=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),pa=v("<!> <!>",1),xa=v("<!> <!>",1),fa=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 ma(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 $=fa(),x=r($);ue(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,()=>xe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=va(),Q=C(K);L(Q,()=>ge,(g,n)=>{n(g,{class:"flex items-center gap-2 min-w-[120px]",children:(u,w)=>{var h=da(),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=>{ke(P,`width: ${c.alpha*100}%`),ke(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,()=>pe,(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,()=>xe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=ua(),Q=C(K);L(Q,()=>ge,(g,n)=>{n(g,{children:(u,w)=>{var h=ca(),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,()=>pe,(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=pa(),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)=>{la(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=ga(),y=e(C(h),2),P=r(y),R=e(r(P),2);Se(R),a(P),vt(2),a(y);var H=e(y,2),X=r(H),z=e(r(X),2);Se(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=>{Ce(R,c.trainEpochs),Ce(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);He(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=xa(),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()}Le(["input","click"]);var _a=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>'),ha=v("<!> <!>",1),ba=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ya=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),$a=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),wa=v("<!> <!>",1),Pa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),ka=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);const p=Oe(c,"offline",3,!1),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=ka(),j=r(rt),Y=r(j),O=r(Y,!0);a(Y);var st=e(Y,2);{var Pt=m=>{ue(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,()=>xe,(m,g)=>{g(m,{children:(n,u)=>{var w=ha(),h=C(w);L(h,()=>ge,(P,R)=>{R(P,{class:"text-left",children:(H,X)=>{var z=_a(),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,()=>pe,(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=ba(),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=ya();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,()=>xe,(H,X)=>{X(H,{children:(z,at)=>{var ct=wa(),ot=C(ct);L(ot,()=>ge,(pt,xt)=>{xt(pt,{class:"w-full text-left",children:(B,f)=>{var S=$a(),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,()=>pe,(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=Pa(),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()}var Na=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>'),Ta=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),Sa=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),ja=ie('<rect fill="transparent"></rect><!>',1),Ma=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),Fa=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>'),Ia=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 Aa(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=Na();s(n,u)},g=n=>{var u=Ia(),w=C(u);o(w,"viewBox","0 0 1200 200");var h=r(w);Bt(h,17,()=>Z,ce,(B,f)=>{var S=Ta(),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=Sa();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=ja(),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)]),je("mouseenter",G,()=>b(A,S,!0)),je("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=Fa(),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=Ma(),_=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=Ne(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 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);ta(ft,{title:"Predictor",children:(i,l)=>{ea(i,{group:"engine",get tabs(){return qe},get activeTab(){return Ke.activeTab},onselect:(W,F)=>Ge(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,()=>Ve,(F,U)=>{U(F,{class:"max-w-md",children:(q,_)=>{var tt=La(),Jt=C(tt);L(Jt,()=>Ye,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var D=Ut(),J=C(D);L(J,()=>Ze,(et,it)=>{it(et,{class:"flex items-center gap-2 text-sm",children:(kt,Lt)=>{vt();var jt=Ba(),Ot=e(C(jt));ue(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,()=>Je,(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);ma(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??""}%`),ke(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);Aa(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,()=>Xe,(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,()=>Qe,(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=>{ue(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,()=>Ue,(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=Ne(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=Ne(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 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"./V_JjZsJi.js";import{c as g}from"./BBoUgHHJ.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"./V_JjZsJi.js";import{c as g}from"./WTmJ2kxu.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,4 +1,4 @@
1
- import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as ht,m as x,P as fr}from"./V_JjZsJi.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./BBoUgHHJ.js";import{P as _r}from"./CCx9trWZ.js";import{T as br}from"./Bzw_3peg.js";import{C as yr}from"./reNr5ZrU.js";import{S as hr}from"./DEp_rLDJ.js";import{S as Me,a as Ge,b as le,c as He}from"./DpdQmW1r.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&ht().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function ye(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),ht().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
1
+ import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as ht,m as x,P as fr}from"./V_JjZsJi.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./WTmJ2kxu.js";import{P as _r}from"./CCx9trWZ.js";import{T as br}from"./Bzw_3peg.js";import{C as yr}from"./UGONRT_X.js";import{S as hr}from"./DdQKnaVE.js";import{S as Me,a as Ge,b as le,c as He}from"./DETIKIiJ.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&ht().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function ye(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),ht().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
2
2
  `);a.push({label:"Facts",content:g})}return a}function it(e){const r=lt(e);if(r.length===0)return"";const a=r.map(c=>c.content).join(`
3
3
 
4
4
  `).trim();return a.length<=220?a:`${a.slice(0,220)}...`}async function Gt(){if(t(A))try{await navigator.clipboard.writeText(ot(t(A))),s(pe,!0),setTimeout(()=>{s(pe,!1)},1200)}catch{s(pe,!1)}}dr(()=>(s(Y,Ct(),!0),ye(),nt(),()=>{s(X,!1),de!==null&&cancelAnimationFrame(de),j!==null&&clearTimeout(j),D&&D.close()})),vr(()=>{const e=t(ce);if(!e)return;const r=()=>{const a=It(e);if(t(B)&&!a){s(B,!1),s(ue,!0);return}!t(B)&&t(ue)&&a&&(s(B,!0),s(ue,!1))};return e.addEventListener("scroll",r,{passive:!0}),r(),()=>{e.removeEventListener("scroll",r)}});var Ce=qr(),ct=n(Ce);_r(ct,{title:"Logs",children:(e,r)=>{br(e,{group:"engine",get tabs(){return xr},get activeTab(){return pr.activeTab},onselect:(a,c)=>mr(c)})}});var dt=l(ct,2),vt=n(dt),Ne=n(vt),De=n(Ne),gt=n(De);T(gt,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(Q)},onValueChange:a=>{s(Q,a??"",!0),ye()},children:(a,c)=>{var f=wr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(Q)||"All levels")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=Lr(),R=z(_);T(R,()=>le,(y,b)=>{b(y,{value:"",label:"All levels"})});var m=l(R,2);we(m,17,()=>Tt,Ve,(y,b)=>{var h=$e(),w=z(h);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(y,h)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ut=l(gt,2);T(ut,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(te)},onValueChange:a=>{s(te,a??"",!0),ye()},children:(a,c)=>{var f=Sr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(te)||"All categories")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=$r(),R=z(_);T(R,()=>le,(y,b)=>{b(y,{value:"",label:"All categories"})});var m=l(R,2);we(m,17,()=>Pt,Ve,(y,b)=>{var h=$e(),w=z(h);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(y,h)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ft=l(ut,2);{let e=J(()=>t(Y)??"");T(ft,()=>He,(r,a)=>{a(r,{type:"single",get value(){return t(e)},onValueChange:jt,children:(c,f)=>{var v=Er(),p=z(v);{let d=J(()=>t(Y)===null?"":void 0);T(p,()=>Me,(g,L)=>{L(g,{get"data-placeholder"(){return t(d)},class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] data-[placeholder]:text-[var(--sig-text-muted)] rounded-lg h-auto py-1 px-2 min-w-[124px]",children:(_,R)=>{oe();var m=M();O(y=>u(m,y),[Dt]),i(_,m)},$$slots:{default:!0}})})}var k=l(p,2);T(k,()=>Ge,(d,g)=>{g(d,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(L,_)=>{var R=kr(),m=z(R);T(m,()=>le,(h,w)=>{w(h,{value:"",label:Ke})});var y=l(m,2);T(y,()=>le,(h,w)=>{w(h,{value:"desc",get label(){return ke.desc}})});var b=l(y,2);T(b,()=>le,(h,w)=>{w(h,{value:"asc",get label(){return ke.asc}})}),i(L,R)},$$slots:{default:!0}})}),i(c,v)},$$slots:{default:!0}})})}var ze=l(ft,2),Ht=n(ze);yr(Ht,{get checked(){return t(B)},onCheckedChange:e=>{s(B,e===!0),s(ue,!1),t(B)&&be("auto")},class:"rounded-lg"}),oe(),o(ze);var mt=l(ze,2),pt=n(mt);{var Jt=e=>{var r=Pr(),a=n(r,!0);o(r),O(()=>u(a,t(Z))),i(e,r)};K(pt,e=>{t(Z)&&e(Jt)})}var he=l(pt,2),Kt=n(he);{var Ut=e=>{var r=M("● Live");i(e,r)},Xt=e=>{var r=M("↺ Reconnecting");i(e,r)},Qt=e=>{var r=M("◌ Connecting");i(e,r)},Yt=e=>{var r=M("● Offline");i(e,r)};K(Kt,e=>{t(ie)?e(Ut):t(W)?e(Xt,1):t(U)?e(Qt,2):e(Yt,-1)})}o(he);var xt=l(he,2);{let e=J(()=>t(X)?"Disconnect stream":"Reconnect stream");qe(xt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Ft,get title(){return t(e)},children:(r,a)=>{oe();var c=M();O(()=>u(c,t(X)?"Disconnect":"Reconnect")),i(r,c)},$$slots:{default:!0}})}var Wt=l(xt,2);qe(Wt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:ye,title:"Reload logs",children:(e,r)=>{oe();var a=M();O(()=>u(a,Lt.Refresh)),i(e,a)},$$slots:{default:!0}}),o(mt),o(De);var Zt=l(De,2);hr(Zt,{class:"min-h-0 flex-1",get viewportRef(){return t(ce)},set viewportRef(e){s(ce,e,!0)},children:(e,r)=>{var a=Dr(),c=n(a);{var f=d=>{var g=Tr();i(d,g)},v=d=>{var g=Or(),L=n(g,!0);o(g),O(()=>u(L,t(me))),i(d,g)},p=d=>{var g=Rr();i(d,g)},k=d=>{var g=$e(),L=z(g);we(L,17,()=>t(I),_=>_.key,(_,R)=>{const m=J(()=>t(R).entry),y=J(()=>t(R).key);var b=Nr(),h=n(b),w=n(h),se=n(w,!0);o(w);var F=l(w,2),Ie=n(F,!0);o(F);var E=l(F,2),V=n(E);o(E);var C=l(E,2),ne=n(C,!0);o(C);var G=l(C,2);{var Le=P=>{var $=Ar(),N=n($);o($),O(()=>u(N,`(${t(m).duration??""}ms)`)),i(P,$)};K(G,P=>{t(m).duration!==void 0&&P(Le)})}o(h);var je=l(h,2);{var Be=P=>{var $=Cr(),N=n($,!0);o($),O(H=>u(N,H),[()=>it(t(m))]),i(P,$)},Fe=J(()=>it(t(m)));K(je,P=>{t(Fe)&&P(Be)})}o(b),O((P,$,N,H,ve)=>{ge(b,1,P,"svelte-q4aevr"),u(se,$),ge(F,1,N,"svelte-q4aevr"),u(Ie,H),ge(E,1,ve,"svelte-q4aevr"),u(V,`[${t(m).category??""}]`),u(ne,t(m).message)},[()=>`log-row ${Re(t(m).level)} w-full text-left px-[var(--space-md)] py-1.5 border-b border-[var(--sig-border)] hover:bg-[var(--sig-surface)] cursor-pointer ${t(re)===t(y)?"bg-[var(--sig-surface)] border-[var(--sig-border-strong)]":""}`,()=>Vt(t(m).timestamp),()=>`font-semibold shrink-0 min-w-[40px] ${Re(t(m).level)}`,()=>t(m).level.toUpperCase(),()=>`log-category ${tt(t(m).category)} shrink-0`]),gr("click",b,()=>{s(re,t(y),!0)}),i(_,b)}),i(d,g)};K(c,d=>{t(Ee)?d(f):t(me)?d(v,1):t(I).length===0?d(p,2):d(k,-1)})}o(a),i(e,a)},$$slots:{default:!0}}),o(Ne);var _t=l(Ne,2),er=n(_t);{var tr=e=>{const r=J(()=>lt(t(A)));var a=Fr(),c=z(a),f=l(n(c),2),v=n(f,!0);o(f);var p=l(f,4),k=n(p,!0);o(p);var d=l(p,4),g=n(d,!0);o(d);var L=l(d,4),_=n(L,!0);o(L);var R=l(L,2);{var m=E=>{var V=zr(),C=l(z(V),2),ne=n(C);o(C),O(()=>u(ne,`${t(A).duration??""}ms`)),i(E,V)};K(R,E=>{t(A).duration!==void 0&&E(m)})}o(c);var y=l(c,2);{var b=E=>{var V=Br(),C=l(n(V),2);we(C,17,()=>t(r),Ve,(ne,G)=>{var Le=$e(),je=z(Le);{var Be=P=>{var $=Ir(),N=n($),H=n(N),ve=n(H,!0);o(H);var fe=l(H,2),ar=n(fe);o(fe);var bt=l(fe,2),sr=n(bt);o(bt),o(N);var yt=l(N,2),nr=n(yt,!0);o(yt),o($),O((or,lr)=>{u(ve,t(G).label),u(ar,`(${or??""} chars)`),u(sr,`${lr??""}...`),u(nr,t(G).content)},[()=>t(G).content.length.toLocaleString(),()=>t(G).content.slice(0,100).replace(/\n/g," ")]),i(P,$)},Fe=P=>{var $=jr(),N=n($),H=n(N,!0);o(N);var ve=l(N,2),fe=n(ve,!0);o(ve),o($),O(()=>{u(H,t(G).label),u(fe,t(G).content)}),i(P,$)};K(je,P=>{t(G).content.length>500?P(Be):P(Fe,-1)})}i(ne,Le)}),o(V),i(E,V)};K(y,E=>{t(r).length>0&&E(b)})}var h=l(y,2),w=n(h),se=l(n(w),2);qe(se,{variant:"outline",size:"sm",class:"sig-eyebrow px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Gt,children:(E,V)=>{oe();var C=M();O(()=>u(C,t(pe)?"Copied":Lt.CopyJson)),i(E,C)},$$slots:{default:!0}}),o(w);var F=l(w,2),Ie=n(F,!0);o(F),o(h),O((E,V,C,ne)=>{u(v,E),ge(p,1,V,"svelte-q4aevr"),u(k,t(A).level),ge(d,1,C,"svelte-q4aevr"),u(g,t(A).category),u(_,t(A).message),u(Ie,ne)},[()=>qt(t(A).timestamp),()=>`uppercase ${Re(t(A).level)}`,()=>`log-category ${tt(t(A).category)}`,()=>ot(t(A))]),i(e,a)},rr=e=>{var r=Vr();i(e,r)};K(er,e=>{t(A)?e(tr):e(rr,-1)})}o(_t),o(vt),o(dt),o(Ce),O(()=>ge(he,1,`sig-label font-medium ${t(ie)?"text-[var(--sig-success)] [animation:pulse_2s_infinite]":t(W)||t(U)?"text-[var(--sig-accent)] [animation:pulse_2s_infinite]":"text-[var(--sig-danger)]"}`,"svelte-q4aevr")),i($t,Ce),ur()}fr(["click"]);export{Qr as default};