signetai 0.110.0 → 0.110.4

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 (66) hide show
  1. package/dashboard/_app/immutable/assets/SourcesTab.DH5tX_nR.css +1 -0
  2. package/dashboard/_app/immutable/chunks/{fNoP8D6S.js → 1-Yo4dQZ.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{DDBGvgR1.js → 3zEs-NvJ.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{CtffxXur.js → B3bcEM-z.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{C57S4WwD.js → BB0xy3VB.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{DrHj0jJA.js → BCvXtrgf.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{gdh5sBCP.js → BTES-qBK.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{Bmj_guSY.js → BXuBTpDJ.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/BbtgfdcL.js +7 -0
  10. package/dashboard/_app/immutable/chunks/{BcWwjGf6.js → Bde-AnCn.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{8jfrEnwZ.js → BiNVs67h.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{B4MV25Cw.js → BjDVSTne.js} +1 -1
  13. package/dashboard/_app/immutable/chunks/{B75W1jKu.js → BrCY-t-d.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{Bw9cJchw.js → C-w_sU1o.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{Bt_5fpG6.js → C070Ji7Q.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{Gx2iNUl2.js → C1eG6cBO.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{DE4e4GZP.js → C92AQANG.js} +1 -1
  18. package/dashboard/_app/immutable/chunks/{DQidaz0T.js → CEccLer9.js} +3 -3
  19. package/dashboard/_app/immutable/chunks/{B_FilWeQ.js → CKe3OAD8.js} +1 -1
  20. package/dashboard/_app/immutable/chunks/{DlEHdTiv.js → CKtsJMB7.js} +1 -1
  21. package/dashboard/_app/immutable/chunks/{D2hKtolS.js → CNt9dhQL.js} +1 -1
  22. package/dashboard/_app/immutable/chunks/{CoBEMRYx.js → CW-6v1Hp.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{CAqbdsRf.js → CZzLsqzD.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{DlaWiL1c.js → C_4406Dy.js} +1 -1
  25. package/dashboard/_app/immutable/chunks/{BZDosIrh.js → CedY5u_K.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{BX3ohALu.js → CgSU3irn.js} +1 -1
  27. package/dashboard/_app/immutable/chunks/{WOdSatfk.js → Chd9aKVJ.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{DdMf_Qgk.js → CmGdjZL1.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/{CTru9r3k.js → CoUL-FY6.js} +1 -1
  30. package/dashboard/_app/immutable/chunks/{6hALFWxe.js → Cvw4dzW9.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{BjckOom6.js → D-2jWk-8.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{CEcPoaRJ.js → D4U5qu0D.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{CBEN-ChP.js → DANufOS3.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{CdpckCxA.js → DBFHx_vN.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{ByGbV-Ik.js → DEqSRVRJ.js} +1 -1
  36. package/dashboard/_app/immutable/chunks/{DXr5J1T5.js → DJ_ZN3xs.js} +2 -2
  37. package/dashboard/_app/immutable/chunks/{B8FOX1OE.js → DLcD4iyH.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{DjQJhaws.js → DOpJR7W9.js} +1 -1
  39. package/dashboard/_app/immutable/chunks/{ptf-RpEv.js → DROyVY8x.js} +1 -1
  40. package/dashboard/_app/immutable/chunks/{BUrbURB6.js → DcWAe1VC.js} +1 -1
  41. package/dashboard/_app/immutable/chunks/{CKVqiaWK.js → DhN4HHeG.js} +2 -2
  42. package/dashboard/_app/immutable/chunks/{DqvbULwl.js → DnFJEH6-.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/{CUNvCZVi.js → FvRpiXJy.js} +1 -1
  44. package/dashboard/_app/immutable/chunks/{CtP16pip.js → OGgf8wJY.js} +1 -1
  45. package/dashboard/_app/immutable/chunks/{DQycX93q.js → UmxNEIT7.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{DWOk1mMF.js → W-Wxf49W.js} +1 -1
  47. package/dashboard/_app/immutable/chunks/{e2kluLpm.js → XdegAX7A.js} +1 -1
  48. package/dashboard/_app/immutable/chunks/{E8aDzCah.js → gb02oFf8.js} +4 -4
  49. package/dashboard/_app/immutable/chunks/{9UFGYsgU.js → jeGelV5s.js} +1 -1
  50. package/dashboard/_app/immutable/chunks/{Cnu2Gy6H.js → psj_VYfc.js} +1 -1
  51. package/dashboard/_app/immutable/chunks/{Bqh2yyHq.js → sxW2ubcH.js} +1 -1
  52. package/dashboard/_app/immutable/entry/{app.BLkOA8b7.js → app.CBjhP9kR.js} +2 -2
  53. package/dashboard/_app/immutable/entry/start.CZAi811T.js +1 -0
  54. package/dashboard/_app/immutable/nodes/{1.Bv-vjpsu.js → 1.D5hzJAif.js} +1 -1
  55. package/dashboard/_app/immutable/nodes/2.C6tKG3Dp.js +1 -0
  56. package/dashboard/_app/version.json +1 -1
  57. package/dashboard/index.html +6 -6
  58. package/dist/cli.js +107 -53
  59. package/dist/daemon.js +374 -183
  60. package/dist/extraction-thread.js +29627 -0
  61. package/dist/synthesis-render-worker.js +128 -61
  62. package/package.json +1 -1
  63. package/dashboard/_app/immutable/assets/SourcesTab.BR4pyfYb.css +0 -1
  64. package/dashboard/_app/immutable/chunks/CmNyRv9_.js +0 -3
  65. package/dashboard/_app/immutable/entry/start.DWeeSVup.js +0 -1
  66. package/dashboard/_app/immutable/nodes/2.DA545kOI.js +0 -1
@@ -0,0 +1 @@
1
+ .sources-tab.svelte-xqw5vs{flex:1;min-height:0;overflow:hidden;box-sizing:border-box;padding:8px var(--space-md) 6px;color:var(--sig-text)}.sources-shell.svelte-xqw5vs{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:var(--space-sm);height:100%;min-height:0;max-width:780px;overflow:hidden;margin:0 auto;transition:max-width .3s var(--ease)}.sources-main.svelte-xqw5vs{display:flex;flex-direction:column;min-width:0;min-height:0;max-width:780px;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overflow-y:overlay;scrollbar-width:none;overscroll-behavior:contain;padding-bottom:18px;margin:0 auto;width:100%}.sources-main.svelte-xqw5vs::-webkit-scrollbar,.connector-grid.svelte-xqw5vs::-webkit-scrollbar{width:0;height:0}.eyebrow.svelte-xqw5vs,.section-label.svelte-xqw5vs,.filter-tabs.svelte-xqw5vs button:where(.svelte-xqw5vs),.read-first.svelte-xqw5vs,.map-counts.svelte-xqw5vs,.connector-copy.svelte-xqw5vs small:where(.svelte-xqw5vs),.featured-panel.svelte-xqw5vs footer:where(.svelte-xqw5vs),.tag-row.svelte-xqw5vs,.connected-loading.svelte-xqw5vs,.removal-note.svelte-xqw5vs,.connected-row.svelte-xqw5vs code:where(.svelte-xqw5vs),.connected-row.svelte-xqw5vs li:where(.svelte-xqw5vs),.connect-form.svelte-xqw5vs label:where(.svelte-xqw5vs) span:where(.svelte-xqw5vs),.form-status.svelte-xqw5vs,.field-error.svelte-xqw5vs{font-family:var(--font-body)}.sources-masthead.svelte-xqw5vs{padding:6px 2px 7px}.eyebrow.svelte-xqw5vs{display:block;margin-bottom:6px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--sig-accent)}h1.svelte-xqw5vs,p.svelte-xqw5vs{margin:0}h1.svelte-xqw5vs{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--sig-text-bright)}h1.svelte-xqw5vs{font-size:clamp(17px,2vw,24px);line-height:1}.sources-masthead.svelte-xqw5vs p:where(.svelte-xqw5vs){margin-top:6px;font-size:11px;line-height:1.5;color:var(--sig-text-muted)}.source-toolbar.svelte-xqw5vs{display:grid;grid-template-columns:minmax(160px,210px) minmax(0,auto) max-content;gap:var(--space-sm);align-items:center;margin-bottom:6px}.search-box.svelte-xqw5vs{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;height:30px;border:1px solid var(--sig-border);border-radius:0;background:var(--sig-surface-raised);padding:0 10px}.search-box.svelte-xqw5vs span:where(.svelte-xqw5vs),.read-first.svelte-xqw5vs svg{display:inline-flex;color:var(--sig-text-muted)}.search-box.svelte-xqw5vs svg,.read-first.svelte-xqw5vs svg{width:15px;height:15px}.search-box.svelte-xqw5vs input:where(.svelte-xqw5vs){min-width:0;border:0;background:transparent;font:12px var(--font-mono);color:var(--sig-text-bright);outline:none}.filter-tabs.svelte-xqw5vs{display:inline-grid;grid-template-columns:repeat(7,auto);border:1px solid var(--sig-border);border-radius:0;overflow:hidden}.filter-tabs.svelte-xqw5vs button:where(.svelte-xqw5vs){height:30px;min-width:46px;border:0;border-right:1px solid var(--sig-border);background:var(--sig-surface);color:var(--sig-text-muted);font-size:10px;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.filter-tabs.svelte-xqw5vs button:where(.svelte-xqw5vs):last-child{border-right:0}.filter-tabs.svelte-xqw5vs button.active:where(.svelte-xqw5vs){background:var(--sig-surface-raised);color:var(--sig-text-bright);box-shadow:inset 0 0 0 1px var(--sig-border-strong)}.read-first.svelte-xqw5vs{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11px;color:var(--sig-text);white-space:nowrap}.switch.svelte-xqw5vs{display:inline-flex;align-items:center;justify-content:flex-end;width:24px;height:13px;border:1px solid var(--sig-border-strong);border-radius:0;background:var(--sig-surface-raised);padding:1px}.switch.svelte-xqw5vs span:where(.svelte-xqw5vs){width:9px;height:9px;border-radius:0;background:var(--sig-accent)}.recall-map.svelte-xqw5vs{position:relative;min-height:160px;border:1px solid var(--sig-border-strong);border-radius:var(--radius);background:radial-gradient(ellipse at 50% 55%,rgba(10,57,255,.06) 0%,transparent 60%),var(--sig-surface);overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 2px 4px #0000004d}.map-grid.svelte-xqw5vs{position:absolute;inset:0;background-image:linear-gradient(var(--sig-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--sig-grid-line) 1px,transparent 1px),radial-gradient(circle,var(--sig-border-strong) 1.5px,transparent 2px);background-size:40px 40px,40px 40px,40px 40px;background-position:0 0,0 0,-1px -1px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%);opacity:.7}.map-stack.svelte-xqw5vs{position:absolute;display:grid;gap:14px;z-index:2}.map-left.svelte-xqw5vs{top:14px;left:50px;gap:10px}.map-right.svelte-xqw5vs{top:14px;right:50px;gap:10px}.map-node.svelte-xqw5vs,.connector-icon.svelte-xqw5vs{display:inline-flex;align-items:center;justify-content:center;color:var(--sig-text-bright)}.map-node.svelte-xqw5vs{border:1px solid var(--sig-border);background:var(--sig-surface-raised);box-shadow:inset 0 1px #ffffff0d}.map-node.svelte-xqw5vs{width:28px;height:28px;border-radius:0;position:relative;animation:svelte-xqw5vs-node-float 6s ease-in-out infinite}.map-node.svelte-xqw5vs:before{content:"";position:absolute;inset:-1px;border:1px solid var(--sig-border-strong);opacity:.5;animation:svelte-xqw5vs-node-pulse 4s ease-in-out infinite}.map-node.svelte-xqw5vs:nth-child(2){animation-delay:-1.5s}.map-node.svelte-xqw5vs:nth-child(3){animation-delay:-3s}.map-node.svelte-xqw5vs:nth-child(4){animation-delay:-4.5s}.map-node.svelte-xqw5vs:nth-child(5){animation-delay:-2s}.map-right.svelte-xqw5vs .map-node:where(.svelte-xqw5vs):nth-child(1){animation-delay:-.5s}.map-right.svelte-xqw5vs .map-node:where(.svelte-xqw5vs):nth-child(2){animation-delay:-2.5s}.map-right.svelte-xqw5vs .map-node:where(.svelte-xqw5vs):nth-child(3){animation-delay:-3.5s}.map-right.svelte-xqw5vs .map-node:where(.svelte-xqw5vs):nth-child(4){animation-delay:-5s}.map-right.svelte-xqw5vs .map-node:where(.svelte-xqw5vs):nth-child(5){animation-delay:-1s}.map-node.svelte-xqw5vs svg,.connector-icon.svelte-xqw5vs svg,svg{width:16px;height:16px}.brand-logo.svelte-xqw5vs{display:block;width:19px;height:19px;filter:saturate(.96)}.connector-icon.svelte-xqw5vs .brand-logo:where(.svelte-xqw5vs),.map-node.svelte-xqw5vs .brand-logo:where(.svelte-xqw5vs){width:20px;height:20px}.notion-logo.svelte-xqw5vs,.mdn-logo.svelte-xqw5vs,.github-logo.svelte-xqw5vs{border-radius:0;background:#fff}.github-logo.svelte-xqw5vs{padding:2px;color:#181717}.notion-logo.svelte-xqw5vs{filter:none;padding:2px}.mdn-logo.svelte-xqw5vs{padding:3px}.gmail-logo.svelte-xqw5vs{border-radius:0}.ghl-logo.svelte-xqw5vs{width:24px;height:24px;object-fit:contain;filter:saturate(1.08) contrast(1.05)}.icon-obsidian.svelte-xqw5vs{color:#a276ff}.node-obsidian.svelte-xqw5vs{color:#a276ff;background:var(--sig-surface-raised)}.icon-folder.svelte-xqw5vs,.node-folder.svelte-xqw5vs{color:#f4c963}.icon-csv.svelte-xqw5vs,.node-csv.svelte-xqw5vs{color:#d7dce6}.icon-postgres.svelte-xqw5vs,.node-postgres.svelte-xqw5vs{color:#6f8fff}.icon-supabase.svelte-xqw5vs,.node-supabase.svelte-xqw5vs{color:#3fcf8e}.icon-globe.svelte-xqw5vs,.node-web.svelte-xqw5vs{color:#28f}.icon-github.svelte-xqw5vs,.node-github.svelte-xqw5vs{color:#f5f5f5}.icon-drive.svelte-xqw5vs,.node-drive.svelte-xqw5vs{color:#36a852}.icon-gmail.svelte-xqw5vs,.node-gmail.svelte-xqw5vs{color:#f15b47}.icon-nextcloud.svelte-xqw5vs,.node-nextcloud.svelte-xqw5vs{color:#62a8ff}.icon-x-bookmarks.svelte-xqw5vs,.node-x-bookmarks.svelte-xqw5vs{color:var(--sig-text-bright)}.icon-discord.svelte-xqw5vs{color:#8ea0ff}.icon-telegram.svelte-xqw5vs{color:#5dc7ff}.icon-quickbooks.svelte-xqw5vs{color:#58d84a}.icon-polymarket.svelte-xqw5vs{color:#5f83ff}.icon-airtable.svelte-xqw5vs{color:#f6c04c}.icon-go-high-level.svelte-xqw5vs{color:#42e6bf}.icon-clickup.svelte-xqw5vs{color:#9b8cff}.icon-stripe.svelte-xqw5vs{color:#8d88ff}.icon-imap-email.svelte-xqw5vs{color:#d7dce6}.icon-proton-mail.svelte-xqw5vs{color:#9a83ff}.icon-notion.svelte-xqw5vs,.icon-history.svelte-xqw5vs,.icon-linear.svelte-xqw5vs,.node-notion.svelte-xqw5vs,.node-linear.svelte-xqw5vs,.node-history.svelte-xqw5vs{color:var(--sig-text-bright)}.map-connections.svelte-xqw5vs{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.map-wire.svelte-xqw5vs{fill:none;stroke:var(--sig-border-strong);stroke-width:1}.map-packet.svelte-xqw5vs{fill:none;stroke:var(--sig-highlight-text);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:4 140;animation:svelte-xqw5vs-packet-flow 3s linear infinite;filter:url(#wire-glow)}.map-center.svelte-xqw5vs{position:absolute;left:50%;top:50%;z-index:4;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%,-50%);text-align:center}.map-logo.svelte-xqw5vs{width:36px;height:36px;opacity:.9}.map-tagline.svelte-xqw5vs{font-family:var(--font-body);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sig-text-muted);white-space:nowrap}.map-counts.svelte-xqw5vs{position:absolute;right:14px;bottom:12px;z-index:4;display:flex;gap:12px;font-size:11px;color:var(--sig-text-muted)}.map-counts.svelte-xqw5vs span:where(.svelte-xqw5vs)+span:where(.svelte-xqw5vs):before{content:"|";margin-right:12px;color:var(--sig-border-strong)}.featured-panel.svelte-xqw5vs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;margin-top:10px}.connected-panel.svelte-xqw5vs{margin-top:var(--space-sm);background:var(--sig-surface);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 2px 4px #0000004d}.section-label.svelte-xqw5vs{display:block;padding:7px 0 4px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--sig-text-muted)}.featured-panel.svelte-xqw5vs .section-label:where(.svelte-xqw5vs){padding-left:2px}.connector-grid.svelte-xqw5vs{display:grid;flex:1 1 auto;grid-auto-rows:min-content;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;border:1px solid var(--sig-border);border-radius:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.connector-card.svelte-xqw5vs{position:relative;z-index:1;min-width:0;border-right:1px solid var(--sig-border);border-bottom:1px solid var(--sig-border);background:var(--sig-surface);transition:background-color .16s var(--ease),box-shadow .22s cubic-bezier(.16,1,.3,1)}.connector-card.svelte-xqw5vs:nth-child(2n){border-right:0}.connector-card.expanded.svelte-xqw5vs{z-index:20;background:var(--sig-surface-raised);box-shadow:0 0 0 1px #f59e0b42,0 18px 42px #00000059}.connector-card.connected.svelte-xqw5vs{border-color:#22c55e5c}.connector-row.svelte-xqw5vs{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:46px;border:0;background:transparent;width:100%;padding:6px 12px;text-align:left;color:inherit;cursor:pointer;transition:min-height .28s var(--ease),padding .28s var(--ease),background-color var(--dur) var(--ease)}.connector-card.svelte-xqw5vs:hover,.connector-card.expanded.svelte-xqw5vs,.connector-row.svelte-xqw5vs:hover,.connector-row.selected.svelte-xqw5vs{background:var(--sig-surface-raised)}.connector-card.svelte-xqw5vs:hover .connector-row:where(.svelte-xqw5vs){background:var(--sig-surface-raised)}.connector-card.compressed.svelte-xqw5vs .connector-row:where(.svelte-xqw5vs){min-height:46px;padding-block:6px}.connector-expand.svelte-xqw5vs{position:absolute;top:calc(100% - 1px);left:-1px;right:-1px;z-index:30;display:grid;gap:12px;border:1px solid var(--sig-border-strong);border-top:1px solid var(--sig-border);padding:12px;background:var(--sig-surface-raised);box-shadow:0 18px 34px #00000085,0 0 0 1px #ffffff0f,inset 2px 0 0 var(--sig-accent);clip-path:inset(0 0 100% 0);opacity:0;pointer-events:none;transform:translateY(-4px);transform-origin:top center;transition:clip-path .24s cubic-bezier(.16,1,.3,1),opacity .16s ease,transform .24s cubic-bezier(.16,1,.3,1),visibility 0s linear .24s;visibility:hidden}.connector-expand.open.svelte-xqw5vs{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s;visibility:visible}.connector-description.svelte-xqw5vs{font-size:11px;line-height:1.55;color:var(--sig-text);filter:drop-shadow(0 8px 10px rgba(0,0,0,.32))}.connector-icon.svelte-xqw5vs{width:26px;height:26px;border-radius:0;font-family:var(--font-body);font-weight:700}.connector-copy.svelte-xqw5vs{min-width:0}.connector-copy.svelte-xqw5vs strong:where(.svelte-xqw5vs){display:block;font-size:11px;font-weight:600;color:var(--sig-text-bright)}.connector-copy.svelte-xqw5vs small:where(.svelte-xqw5vs){display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--sig-text-muted)}.connector-action.svelte-xqw5vs{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border:1px solid var(--sig-border);border-radius:0;color:var(--sig-text-muted)}.connector-action.available.svelte-xqw5vs{border-color:var(--sig-success);color:var(--sig-success)}.connector-action.connected.svelte-xqw5vs{border-color:#22c55e9e;background:#22c55e1a;color:var(--sig-success)}.connector-action.svelte-xqw5vs svg{width:14px;height:14px}.connector-action.svelte-xqw5vs em:where(.svelte-xqw5vs){padding:0 8px;font:9px var(--font-mono);font-style:normal;white-space:nowrap;color:var(--sig-text-muted)}.featured-panel.svelte-xqw5vs footer:where(.svelte-xqw5vs){flex:0 0 auto;border:1px solid var(--sig-border);border-top:0;border-radius:0;padding:7px 10px;text-align:center;font-size:11px;color:var(--sig-text-muted)}.connect-button.svelte-xqw5vs{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:36px;border:1px solid var(--sig-accent);border-radius:0;background:var(--sig-accent);box-shadow:inset 0 1px #ffffff26,0 10px 18px #00000057;font:12px var(--font-mono);color:#fff;cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.connect-button.svelte-xqw5vs:hover:not(:disabled){background:var(--sig-accent-hover);border-color:var(--sig-accent-hover)}.connect-button.svelte-xqw5vs:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.62}.connect-button.svelte-xqw5vs svg{width:13px;height:13px}.connect-form.svelte-xqw5vs{display:grid;gap:14px}.connect-form.svelte-xqw5vs label:where(.svelte-xqw5vs){display:grid;gap:7px}.connect-form.svelte-xqw5vs label:where(.svelte-xqw5vs) span:where(.svelte-xqw5vs){font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--sig-text-muted)}.connect-form.svelte-xqw5vs input:where(.svelte-xqw5vs),.connect-form.svelte-xqw5vs textarea:where(.svelte-xqw5vs){width:100%;border:1px solid var(--sig-border-strong);border-radius:0;background:var(--sig-surface-raised);padding:0 10px;font:11px var(--font-mono);color:var(--sig-text-bright);outline:none}.connect-form.svelte-xqw5vs input:where(.svelte-xqw5vs){height:32px}.connect-form.svelte-xqw5vs textarea:where(.svelte-xqw5vs){min-height:86px;padding:9px 10px;resize:vertical}.field-hint.svelte-xqw5vs{font:10px/1.4 var(--font-body);color:var(--sig-text-muted)}.path-row.svelte-xqw5vs{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.path-row.svelte-xqw5vs button:where(.svelte-xqw5vs){display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--sig-border-strong);border-radius:0;background:var(--sig-surface);padding:0 10px;font:10px var(--font-mono);color:var(--sig-text-bright);cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.path-row.svelte-xqw5vs button:where(.svelte-xqw5vs):hover:not(:disabled){background:var(--sig-surface-raised);border-color:var(--sig-text-muted)}.path-row.svelte-xqw5vs button:where(.svelte-xqw5vs):disabled{cursor:not-allowed;opacity:.55}.path-row.svelte-xqw5vs button:where(.svelte-xqw5vs) svg{width:12px;height:12px}.field-error.svelte-xqw5vs,.form-status.svelte-xqw5vs{font-size:11px;line-height:1.45}.field-error.svelte-xqw5vs,.form-status--error.svelte-xqw5vs{color:var(--sig-danger)}.form-status.svelte-xqw5vs{padding:0 24px 14px}.form-status--info.svelte-xqw5vs{color:var(--sig-text-muted)}.spin.svelte-xqw5vs{display:inline-flex;animation:svelte-xqw5vs-spin 1s linear infinite}@keyframes svelte-xqw5vs-spin{to{transform:rotate(360deg)}}@keyframes svelte-xqw5vs-packet-flow{to{stroke-dashoffset:-288}}@keyframes svelte-xqw5vs-node-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes svelte-xqw5vs-node-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.connected-list.svelte-xqw5vs{display:grid;gap:8px;border:1px solid var(--sig-border);border-radius:0;padding:8px;background:var(--sig-surface)}.connected-list--inline.svelte-xqw5vs{border-color:var(--sig-border-strong);background:#0000001f}.connected-loading.svelte-xqw5vs{border:1px solid var(--sig-border);border-radius:0;padding:14px;font-size:12px;color:var(--sig-text-muted);background:var(--sig-surface)}.removal-note.svelte-xqw5vs{margin:0;border:1px dashed rgba(239,68,68,.24);padding:8px 10px;font-size:11px;line-height:1.45;color:var(--sig-text-muted);background:#ef44440a}.connected-row.svelte-xqw5vs{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;border:1px solid var(--sig-border);border-radius:0;padding:12px;background:var(--sig-surface-raised)}.connected-row--inline.svelte-xqw5vs{grid-template-columns:minmax(0,1fr);gap:10px}.connected-main.svelte-xqw5vs{min-width:0}.connected-title-row.svelte-xqw5vs{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-badge.svelte-xqw5vs{border:1px solid var(--sig-border);padding:2px 6px;font:9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.status-badge--connected.svelte-xqw5vs{border-color:#22c55e73;color:var(--sig-success);background:#22c55e14}.connected-row.svelte-xqw5vs strong:where(.svelte-xqw5vs){display:block;margin-bottom:4px;font-size:13px;color:var(--sig-text-bright)}.connected-row.svelte-xqw5vs code:where(.svelte-xqw5vs){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--sig-text-muted)}.connected-row.svelte-xqw5vs ul:where(.svelte-xqw5vs){display:grid;gap:4px;margin:0;padding:0;list-style:none}.connected-row.svelte-xqw5vs li:where(.svelte-xqw5vs){display:flex;align-items:center;justify-content:flex-start;gap:6px;font-size:10px;color:var(--sig-text-muted)}.connected-row.svelte-xqw5vs li:where(.svelte-xqw5vs) svg{width:13px;height:13px}.exclude-summary.svelte-xqw5vs{display:grid;gap:4px;border:1px dashed var(--sig-border);padding:8px;background:#ffffff05}.exclude-summary.svelte-xqw5vs span:where(.svelte-xqw5vs){font:9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sig-text-muted)}.exclude-summary.svelte-xqw5vs code:where(.svelte-xqw5vs){white-space:normal;word-break:break-word}.disconnect-button.svelte-xqw5vs{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:center;height:28px;border:1px solid rgba(239,68,68,.35);border-radius:0;background:#ef444414;color:#fca5a5;font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease)}.disconnect-button.svelte-xqw5vs:hover:not(:disabled){border-color:#ef4444a6;background:#ef444424;color:#fecaca}.disconnect-button.svelte-xqw5vs:disabled{cursor:wait;opacity:.6}.disconnect-button.svelte-xqw5vs svg{width:13px;height:13px}[data-theme=light] .recall-map.svelte-xqw5vs{background:var(--sig-surface);box-shadow:inset 0 1px #ffffffb3,0 1px 3px #00000014}[data-theme=light] .detail-panel.svelte-xqw5vs,[data-theme=light] .featured-panel.svelte-xqw5vs,[data-theme=light] .connected-panel.svelte-xqw5vs{background:var(--sig-surface);border-color:var(--sig-border);box-shadow:inset 0 1px #ffffffb3,0 1px 3px #00000014}[data-theme=light] .search-box.svelte-xqw5vs,[data-theme=light] .connect-form.svelte-xqw5vs input:where(.svelte-xqw5vs){background:var(--sig-surface-raised)}[data-theme=light] .connector-row.svelte-xqw5vs,[data-theme=light] .connected-list.svelte-xqw5vs,[data-theme=light] .connected-loading.svelte-xqw5vs,[data-theme=light] .connected-row.svelte-xqw5vs{background:var(--sig-surface)}[data-theme=light] .connector-row.svelte-xqw5vs:hover,[data-theme=light] .connector-row.selected.svelte-xqw5vs,[data-theme=light] .connected-row.svelte-xqw5vs{background:var(--sig-surface-raised)}[data-theme=light] .map-grid.svelte-xqw5vs{opacity:.4}[data-theme=light] .github-logo.svelte-xqw5vs,[data-theme=light] .notion-logo.svelte-xqw5vs,[data-theme=light] .mdn-logo.svelte-xqw5vs{background:#fff}@media(max-width:760px){.sources-tab.svelte-xqw5vs{padding:var(--space-sm)}.source-toolbar.svelte-xqw5vs,.connector-grid.svelte-xqw5vs,.connected-row.svelte-xqw5vs{grid-template-columns:1fr}.filter-tabs.svelte-xqw5vs{grid-template-columns:repeat(5,minmax(0,1fr))}.filter-tabs.svelte-xqw5vs button:where(.svelte-xqw5vs){min-width:0}.read-first.svelte-xqw5vs{justify-content:flex-start}.recall-map.svelte-xqw5vs{min-height:200px}.map-left.svelte-xqw5vs,.map-right.svelte-xqw5vs{display:none}.map-center.svelte-xqw5vs{gap:6px}.map-logo.svelte-xqw5vs{width:32px;height:32px}.map-tagline.svelte-xqw5vs{font-size:9px}.connector-row.svelte-xqw5vs{border-right:0}.path-row.svelte-xqw5vs{grid-template-columns:1fr}.connected-row.svelte-xqw5vs li:where(.svelte-xqw5vs){justify-content:flex-start}}
@@ -1,3 +1,3 @@
1
- import{p as ae,s as Lr,c as dt,f as x,a as ge,n as _e,b as e,d as se,r as pe,g as be,E as fe,j as s,l as a,F as me,m as $,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 Me,a9 as Xe,O as hr,ah as Or,P as Wr}from"./C__P7n-d.js";import{I as Ir,c as ye,h as qr,n as Vr,i as Hr,S as $e,B as tr,an as Ur,ao as Yr,ap as Zr,aq as Gr,ar as br,as as Jr,at as Qr,au as Xr,av as ta,aw as ea,ax as ra,ay as aa,az as sa}from"./E8aDzCah.js";import{P as oa}from"./nI8gUPgM.js";import{T as la}from"./B9q9Ge2R.js";import{B as I}from"./BZDosIrh.js";import{C as na,a as ia}from"./8jfrEnwZ.js";import{a as Te,C as De}from"./CEcPoaRJ.js";import{C as Ae}from"./CtffxXur.js";import{C as je}from"./DWOk1mMF.js";import{C as Fe}from"./BjckOom6.js";import{I as da}from"./Bt_5fpG6.js";import{b as va,P as ca,a as ua}from"./B4MV25Cw.js";import{c as $a,S as ga,a as _a,b as pa}from"./CTru9r3k.js";import{P as mr}from"./BX3ohALu.js";import{R as yr}from"./WOdSatfk.js";function fa(Nt,m){ae(m,!0);let ot=pe(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"}]];Ir(Nt,Lr({name:"network"},()=>ot,{get iconNode(){return yt},children:(b,$t)=>{var q=dt(),Gt=x(q);ge(Gt,()=>m.children??_e),e(b,q)},$$slots:{default:!0}})),se()}var xa=$("<tbody><!></tbody>");function er(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=xa();fe(b,q=>({"data-slot":"table-body",class:q,...yt}),[()=>ye("[&_tr:last-child]:border-0",m.class)]);var $t=s(b);ge($t,()=>m.children??_e),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=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ha();fe(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);ge($t,()=>m.children??_e),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=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ba();fe(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);ge($t,()=>m.children??_e),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ma=$("<thead><!></thead>");function rr(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ma();fe(b,q=>({"data-slot":"table-header",class:q,...yt}),[()=>ye("[&_tr]:border-b",m.class)]);var $t=s(b);ge($t,()=>m.children??_e),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=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ya();fe(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);ge($t,()=>m.children??_e),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var Pa=$('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function ar(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=Pa(),$t=s(b);fe($t,Gt=>({"data-slot":"table",class:Gt,...yt}),[()=>ye("w-full caption-bottom text-sm",m.class)]);var q=s($t);ge(q,()=>m.children??_e),a($t),me($t,Gt=>ot(Gt),()=>ot()),a(b),e(Nt,b),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),Ma=$('<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>'),Aa=$('<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 Ms(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 Ur({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([Yr(n),Zr(n),Gr(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 Mr(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([Jr(),Qr({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([Xr(n),ta(n),ea(20)]);P(ze,k,!0),P(Le,st,!0),P(Re,Kt,!0),P(Be,!1)}async function Ar(n,k){P(Oe,n,!0);try{k?await ra(n):await aa(n),await Ne(),t(Jt)===n&&await lr(n)}finally{P(Oe,null)}}async function jr(){P(Ke,!0),P(Wt,await sa(),!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);oa(ir,{title:"Knowledge",children:(n,k)=>{la(n,{group:"memory",get tabs(){return Hr},get activeTab(){return Vr.activeTab},onselect:(st,Kt)=>qr(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,(Mt,At)=>{At(Mt,{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);fa(vt,{class:"size-4"}),l(),e(h,E)},$$slots:{default:!0}})});var ft=r(Q,2);o(ft,()=>Ae,(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,(Mt,At)=>{At(Mt,{class:"space-y-3 p-3",children:(jt,ne)=>{var Z=La(),Q=x(Z),ft=s(Q);da(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,()=>$a,(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,()=>ga,(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,M)=>{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,M)=>{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,()=>pa,(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 M=Y=>{mr(Y,{class:"size-3 shrink-0 text-[var(--sig-accent)]"})};zt(K,Y=>{t(N).entity.pinned&&Y(M)})}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)=>{Me(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,s as Lr,c as dt,f as x,a as ge,n as _e,b as e,d as se,r as pe,g as be,E as fe,j as s,l as a,F as me,m as $,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 Me,a9 as Xe,O as hr,ah as Or,P as Wr}from"./C__P7n-d.js";import{I as Ir,c as ye,h as qr,n as Vr,i as Hr,S as $e,B as tr,an as Ur,ao as Yr,ap as Zr,aq as Gr,ar as br,as as Jr,at as Qr,au as Xr,av as ta,aw as ea,ax as ra,ay as aa,az as sa}from"./gb02oFf8.js";import{P as oa}from"./nI8gUPgM.js";import{T as la}from"./B9q9Ge2R.js";import{B as I}from"./CedY5u_K.js";import{C as na,a as ia}from"./BiNVs67h.js";import{a as Te,C as De}from"./D4U5qu0D.js";import{C as Ae}from"./B3bcEM-z.js";import{C as je}from"./W-Wxf49W.js";import{C as Fe}from"./D-2jWk-8.js";import{I as da}from"./C070Ji7Q.js";import{b as va,P as ca,a as ua}from"./BjDVSTne.js";import{c as $a,S as ga,a as _a,b as pa}from"./CoUL-FY6.js";import{P as mr}from"./CgSU3irn.js";import{R as yr}from"./Chd9aKVJ.js";function fa(Nt,m){ae(m,!0);let ot=pe(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"}]];Ir(Nt,Lr({name:"network"},()=>ot,{get iconNode(){return yt},children:(b,$t)=>{var q=dt(),Gt=x(q);ge(Gt,()=>m.children??_e),e(b,q)},$$slots:{default:!0}})),se()}var xa=$("<tbody><!></tbody>");function er(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=xa();fe(b,q=>({"data-slot":"table-body",class:q,...yt}),[()=>ye("[&_tr:last-child]:border-0",m.class)]);var $t=s(b);ge($t,()=>m.children??_e),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=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ha();fe(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);ge($t,()=>m.children??_e),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=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ba();fe(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);ge($t,()=>m.children??_e),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var ma=$("<thead><!></thead>");function rr(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ma();fe(b,q=>({"data-slot":"table-header",class:q,...yt}),[()=>ye("[&_tr]:border-b",m.class)]);var $t=s(b);ge($t,()=>m.children??_e),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=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=ya();fe(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);ge($t,()=>m.children??_e),a(b),me(b,q=>ot(q),()=>ot()),e(Nt,b),se()}var Pa=$('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function ar(Nt,m){ae(m,!0);let ot=be(m,"ref",15,null),yt=pe(m,["$$slots","$$events","$$legacy","ref","class","children"]);var b=Pa(),$t=s(b);fe($t,Gt=>({"data-slot":"table",class:Gt,...yt}),[()=>ye("w-full caption-bottom text-sm",m.class)]);var q=s($t);ge(q,()=>m.children??_e),a($t),me($t,Gt=>ot(Gt),()=>ot()),a(b),e(Nt,b),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),Ma=$('<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>'),Aa=$('<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 Ms(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 Ur({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([Yr(n),Zr(n),Gr(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 Mr(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([Jr(),Qr({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([Xr(n),ta(n),ea(20)]);P(ze,k,!0),P(Le,st,!0),P(Re,Kt,!0),P(Be,!1)}async function Ar(n,k){P(Oe,n,!0);try{k?await ra(n):await aa(n),await Ne(),t(Jt)===n&&await lr(n)}finally{P(Oe,null)}}async function jr(){P(Ke,!0),P(Wt,await sa(),!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);oa(ir,{title:"Knowledge",children:(n,k)=>{la(n,{group:"memory",get tabs(){return Hr},get activeTab(){return Vr.activeTab},onselect:(st,Kt)=>qr(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,(Mt,At)=>{At(Mt,{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);fa(vt,{class:"size-4"}),l(),e(h,E)},$$slots:{default:!0}})});var ft=r(Q,2);o(ft,()=>Ae,(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,(Mt,At)=>{At(Mt,{class:"space-y-3 p-3",children:(jt,ne)=>{var Z=La(),Q=x(Z),ft=s(Q);da(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,()=>$a,(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,()=>ga,(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,M)=>{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,M)=>{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,()=>pa,(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 M=Y=>{mr(Y,{class:"size-3 shrink-0 text-[var(--sig-accent)]"})};zt(K,Y=>{t(N).entity.pinned&&Y(M)})}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)=>{Me(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??""}`),Me(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 M=dt(),w=x(M);{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 A=D(()=>R("accent"));I(S,{variant:"outline",get class(){return t(A)},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:(A,_t)=>{l();var z=i();c(()=>d(z,t(v).entityType)),e(A,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:()=>{Ar(t(v).id,t(v).pinned??!1)},children:(A,_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(A,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:(A,_t)=>{l();var z=i();c(()=>d(z,`mentions ${t(v).mentions??0??""}`)),e(A,z)},$$slots:{default:!0}})}var B=r(mt,2);{let S=D(R);I(B,{variant:"outline",get class(){return t(S)},children:(A,_t)=>{l();var z=i();c(rt=>d(z,`in ${rt??""}`),[()=>qe(t(v).updatedAt)]),e(A,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,A)=>{var _t=Ma(),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(A).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(A).constraintCount??""}`)),e(Qt,pt)},$$slots:{default:!0}})}a(de),a(_t),c(Yt=>{Me(_t,1,`w-full cursor-pointer border p-2 text-left transition-colors
3
3
  ${t(we)===t(A).aspect.id?"border-[var(--sig-accent)] bg-[var(--sig-surface)]":"border-[var(--sig-border)] hover:border-[var(--sig-border-strong)]"}`),d(Ut,t(A).aspect.name),d(ie,`w ${Yt??""}`)},[()=>t(A).aspect.weight.toFixed(2)]),hr("click",_t,()=>{Mr(t(A).aspect.id)}),e(S,_t)}),a(L),a(f);var g=r(f,2),_=r(s(g),2),F=s(_);{var et=S=>{var A=Aa();e(S,A)},C=S=>{var A=dt(),_t=x(A);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,A)};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 A=Fa();e(S,A)},Qe=S=>{var A=dt(),_t=x(A);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,A)};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:(A,_t)=>{l();var z=i();c(()=>d(z,`aspects ${t(ee).structuralDensity.aspectCount??""}`)),e(A,z)},$$slots:{default:!0}})}var _r=r(gr,2);{let S=D(R);I(_r,{variant:"outline",get class(){return t(S)},children:(A,_t)=>{l();var z=i();c(()=>d(z,`attributes ${t(ee).structuralDensity.attributeCount??""}`)),e(A,z)},$$slots:{default:!0}})}var pr=r(_r,2);{let S=D(()=>R("warning"));I(pr,{variant:"outline",get class(){return t(S)},children:(A,_t)=>{l();var z=i();c(()=>d(z,`constraints ${t(ee).structuralDensity.constraintCount??""}`)),e(A,z)},$$slots:{default:!0}})}var zr=r(pr,2);{let S=D(R);I(zr,{variant:"outline",get class(){return t(S)},children:(A,_t)=>{l();var z=i();c(()=>d(z,`dependencies ${t(ee).structuralDensity.dependencyCount??""}`)),e(A,z)},$$slots:{default:!0}})}a($r),a(ur),a(W),a(ht),c(S=>{Me(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,M)},$$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,(Mt,At)=>{At(Mt,{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,()=>Ae,(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,(Mt,At)=>{At(Mt,{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 M=D(()=>R("accent"));I(vt,{variant:"outline",get class(){return t(M)},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 M=D(R);I(lt,{variant:"outline",get class(){return t(M)},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=M=>{{let w=D(()=>R("warning"));I(M,{variant:"outline",get class(){return t(w)},children:(nt,u)=>{l();var T=i("timeout");e(nt,T)},$$slots:{default:!0}})}};zt(qt,M=>{t(Wt).timedOut&&M(O)})}a(E);var X=r(E,2),xt=s(X,!0);a(X);var ct=r(X,2),N=s(ct);{let M=D(R);I(N,{variant:"outline",get class(){return t(M)},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 M=D(R);I(G,{variant:"outline",get class(){return t(M)},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 M=D(R);I(St,{variant:"outline",get class(){return t(M)},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 M=D(()=>R("warning"));I(tt,{variant:"outline",get class(){return t(M)},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((M,w)=>{d(xt,M),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,(Mt,At)=>{At(Mt,{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,()=>Ae,(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,(Mt,At)=>{At(Mt,{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),M=s(K,!0);a(K),a(y);var w=r(y,2),nt=s(w);a(w),a(tt),c((u,T)=>{d(M,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,(Mt,At)=>{At(Mt,{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,()=>Ae,(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,()=>va,(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();fe(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 M=r(y,2);ia(M,{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,()=>ca,(N,G)=>{G(N,{child:ct,$$slots:{child:!0}})})}var xt=r(X,2);o(xt,()=>ua,(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)));na(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,(Mt,At)=>{At(Mt,{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(),M=s(K);o(M,()=>ar,(w,nt)=>{nt(w,{children:(u,T)=>{var j=rs(),v=x(j);o(v,()=>rr,(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,()=>er,(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(),M=s(K);o(M,()=>ar,(w,nt)=>{nt(w,{children:(u,T)=>{var j=ns(),v=x(j);o(v,()=>rr,(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,()=>er,(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(),M=s(K);o(M,()=>ar,(w,nt)=>{nt(w,{children:(u,T)=>{var j=us(),v=x(j);o(v,()=>rr,(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,()=>er,(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{Ms as default};
@@ -1 +1 @@
1
- import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./C__P7n-d.js";import{I as $}from"./E8aDzCah.js";function P(e,s){n(s,!0);let o=h(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];$(e,d({name:"plus"},()=>o,{get iconNode(){return t},children:(r,v)=>{var a=c(),p=l(a);i(p,()=>s.children??m),u(r,a)},$$slots:{default:!0}})),f()}export{P};
1
+ import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./C__P7n-d.js";import{I as $}from"./gb02oFf8.js";function P(e,s){n(s,!0);let o=h(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];$(e,d({name:"plus"},()=>o,{get iconNode(){return t},children:(r,v)=>{var a=c(),p=l(a);i(p,()=>s.children??m),u(r,a)},$$slots:{default:!0}})),f()}export{P};
@@ -1 +1 @@
1
- import{p as c,g as d,E as i,j as l,a as p,n as f,l as m,F as u,b as h,d as _,r as v,m as b}from"./C__P7n-d.js";import{c as g}from"./E8aDzCah.js";var x=b("<p><!></p>");function y(r,s){c(s,!0);let e=d(s,"ref",15,null),o=v(s,["$$slots","$$events","$$legacy","ref","class","children"]);var a=x();i(a,t=>({"data-slot":"card-description",class:t,...o}),[()=>g("text-muted-foreground text-sm",s.class)]);var n=l(a);p(n,()=>s.children??f),m(a),u(a,t=>e(t),()=>e()),h(r,a),_()}export{y as C};
1
+ import{p as c,g as d,E as i,j as l,a as p,n as f,l as m,F as u,b as h,d as _,r as v,m as b}from"./C__P7n-d.js";import{c as g}from"./gb02oFf8.js";var x=b("<p><!></p>");function y(r,s){c(s,!0);let e=d(s,"ref",15,null),o=v(s,["$$slots","$$events","$$legacy","ref","class","children"]);var a=x();i(a,t=>({"data-slot":"card-description",class:t,...o}),[()=>g("text-muted-foreground text-sm",s.class)]);var n=l(a);p(n,()=>s.children??f),m(a),u(a,t=>e(t),()=>e()),h(r,a),_()}export{y as C};
@@ -1,4 +1,4 @@
1
- import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as _,y as h,z as m,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./C__P7n-d.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./E8aDzCah.js";import{P as er}from"./nI8gUPgM.js";import{T as rr}from"./B9q9Ge2R.js";import{B as sr}from"./BZDosIrh.js";import{P as tr,a as ar,b as nr}from"./B4MV25Cw.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
1
+ import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as _,y as h,z as m,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./C__P7n-d.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./gb02oFf8.js";import{P as er}from"./nI8gUPgM.js";import{T as rr}from"./B9q9Ge2R.js";import{B as sr}from"./CedY5u_K.js";import{P as tr,a as ar,b as nr}from"./BjDVSTne.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
2
2
  border border-[var(--sig-border)]
3
3
  bg-[var(--sig-surface-raised)]"><span></span> <div class="flex flex-col gap-0.5 min-w-0 flex-1"><span class="text-[12px] font-medium text-[var(--sig-text-bright)]
4
4
  font-display tracking-[0.04em]"> </span> <span class="sig-eyebrow truncate"> </span></div> <div class="flex flex-col items-end gap-0.5 shrink-0"><span> </span> <span class="sig-eyebrow"><!></span></div></div>`),lr=x(`<div class="flex items-center justify-center py-8
@@ -1,2 +1,2 @@
1
- import{p as re,c as Ut,f as N,k as rt,i as t,b as s,d as se,u as C,D as l,j as r,A as Lt,t as e,l as a,y as k,z as d,K as ce,N as Se,v as y,m as v,af as ie,o as Z,B as ke,g as Ee,h as O,w as lt,x as Pt,s as Re,a as Be,n as De,r as Le,a9 as Ne,ab as Ce,ac as je,O as we,P as Oe,e as qt,q as ze}from"./C__P7n-d.js";import{W as ue,Y as ge,Z as pe,I as We,B as He,f as Ge,n as Ke,E as qe,o as Dt}from"./E8aDzCah.js";import{P as Je}from"./nI8gUPgM.js";import{T as Ve}from"./B9q9Ge2R.js";import{B as xe}from"./BZDosIrh.js";import{a as Ye,C as Ze}from"./CEcPoaRJ.js";import{C as Qe}from"./DWOk1mMF.js";import{C as Ue}from"./BjckOom6.js";import{C as Xe,a as ta,b as ea}from"./BiBX3uai.js";import{P as aa,a as ra,b as sa}from"./B4MV25Cw.js";import{Z as ia}from"./D2hKtolS.js";import{R as na}from"./WOdSatfk.js";import{C as oa}from"./Gx2iNUl2.js";var la=v('<div class="flex items-center justify-center h-full"><span class="sig-label text-[var(--sig-text-muted)]">no comparison data yet</span></div>'),da=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="4,4"></line><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)"> </text>',1),va=ie('<circle r="3"></circle>'),ca=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="3,3"></line><circle r="4" fill="var(--sig-text-muted)" stroke="var(--sig-bg)" stroke-width="1.5"></circle><circle r="4" fill="var(--sig-success)" stroke="var(--sig-bg)" stroke-width="1.5"></circle>',1),ua=ie('<rect fill="transparent"></rect><!>',1),ga=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),pa=v('<div class="absolute z-10 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-2 py-1.5 shadow-md pointer-events-none" style="top: 4px; right: 8px;"><div class="sig-label text-[var(--sig-text-muted)]"> </div> <div class="flex gap-3 mt-0.5"><span class="sig-label"><span class="text-[var(--sig-text-muted)]">base</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span class="sig-label"><span class="text-[var(--sig-success)]">pred</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span> </span></div> <!></div>'),xa=ie('<svg width="100%" height="100%" preserveAspectRatio="xMidYMid meet" class="select-none"><!><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">1.00</text><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">0.00</text><polyline fill="none" stroke="var(--sig-text-muted)" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round" opacity="0.5"></polyline><polyline fill="none" stroke="var(--sig-success)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></polyline><!><!><line stroke="var(--sig-text-muted)" stroke-width="1.5" opacity="0.5"></line><text fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">baseline</text><line stroke="var(--sig-success)" stroke-width="2"></line><text fill="var(--sig-success)" font-size="11" font-family="var(--font-mono)">predictor</text></svg><!>',1);function fa(kt,u){re(u,!0);const g={top:12,right:12,bottom:20,left:32},h=1200,p=200,st=h-g.left-g.right,X=p-g.top-g.bottom,j=C(()=>[...u.comparisons].reverse());function A(n){return t(j).length<=1?g.left+st/2:g.left+n/(t(j).length-1)*st}function K(n){return g.top+(1-n)*X}function dt(n){return t(j).map((c,M)=>`${A(M).toFixed(1)},${K(n(c)).toFixed(1)}`).join(" ")}const _t=C(()=>dt(n=>n.baselineNdcg)),E=C(()=>dt(n=>n.predictorNdcg)),Q=[.25,.5,.75];let R=Z(null);function pt(n){const c=new Date(n);return Number.isNaN(c.getTime())?n:c.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var q=Ut(),H=N(q);{var _=n=>{var c=la();s(n,c)},x=n=>{var c=xa(),M=N(c);l(M,"viewBox","0 0 1200 200");var b=r(M);Lt(b,17,()=>Q,ce,(J,f)=>{var w=da(),T=N(w),D=e(T),ut=r(D,!0);a(D),k((ft,mt,wt,gt)=>{l(T,"x1",g.left),l(T,"y1",ft),l(T,"x2",h-g.right),l(T,"y2",mt),l(D,"x",g.left-6),l(D,"y",wt),d(ut,gt)},[()=>K(t(f)),()=>K(t(f)),()=>K(t(f))+4,()=>t(f).toFixed(2)]),s(J,w)});var $=e(b),P=e($),F=e(P),G=e(F),tt=e(G);Lt(tt,17,()=>t(j),ce,(J,f,w)=>{var T=va();l(T,"cy",p-6),k(D=>{l(T,"cx",D),l(T,"fill",t(f).predictorWon?"var(--sig-success)":"var(--sig-danger)"),l(T,"opacity",t(f).predictorWon?.8:.5)},[()=>A(w)]),s(J,T)});var B=e(tt);Lt(B,17,()=>t(j),ce,(J,f,w)=>{var T=ua(),D=N(T);l(D,"y",0),l(D,"height",p);var ut=e(D);{var ft=mt=>{var wt=ca(),gt=N(wt),Ct=e(gt),Jt=e(Ct);k((i,o,z,S,nt,W)=>{l(gt,"x1",i),l(gt,"y1",g.top),l(gt,"x2",o),l(gt,"y2",p-g.bottom),l(Ct,"cx",z),l(Ct,"cy",S),l(Jt,"cx",nt),l(Jt,"cy",W)},[()=>A(w),()=>A(w),()=>A(w),()=>K(t(f).baselineNdcg),()=>A(w),()=>K(t(f).predictorNdcg)]),s(mt,wt)};rt(ut,mt=>{t(R)===w&&mt(ft)})}k((mt,wt)=>{l(D,"x",mt),l(D,"width",wt)},[()=>A(w)-Math.max(st/t(j).length,16)/2,()=>Math.max(st/t(j).length,16)]),Se("mouseenter",D,()=>y(R,w,!0)),Se("mouseleave",D,()=>y(R,null)),s(J,T)});var et=e(B);l(et,"y1",10),l(et,"y2",10);var it=e(et);l(it,"y",14);var vt=e(it);l(vt,"y1",10),l(vt,"y2",10);var $t=e(vt);l($t,"y",14),a(M);var xt=e(M);{var ct=J=>{const f=C(()=>t(j)[t(R)]);var w=pa(),T=r(w),D=r(T,!0);a(T);var ut=e(T,2),ft=r(ut),mt=e(r(ft),2),wt=r(mt,!0);a(mt),a(ft);var gt=e(ft,2),Ct=e(r(gt),2),Jt=r(Ct,!0);a(Ct),a(gt);var i=e(gt,2);let o;var z=r(i);a(i),a(ut);var S=e(ut,2);{var nt=W=>{var m=ga(),V=r(m,!0);a(m),k(()=>d(V,t(f).project)),s(W,m)};rt(S,W=>{t(f).project&&W(nt)})}a(w),k((W,m,V,jt)=>{d(D,W),d(wt,m),d(Jt,V),o=ke(i,1,"sig-label",null,o,{"text-[var(--sig-success)]":t(f).margin>0,"text-[var(--sig-danger)]":t(f).margin<0}),d(z,`${t(f).margin>0?"+":""}${jt??""}`)},[()=>pt(t(f).createdAt),()=>t(f).baselineNdcg.toFixed(3),()=>t(f).predictorNdcg.toFixed(3),()=>t(f).margin.toFixed(3)]),s(J,w)};rt(xt,J=>{t(R)!==null&&t(j)[t(R)]&&J(ct)})}k((J,f)=>{l($,"x",g.left-6),l($,"y",J),l(P,"x",g.left-6),l(P,"y",f),l(F,"points",t(_t)),l(G,"points",t(E)),l(et,"x1",h-g.right-160),l(et,"x2",h-g.right-146),l(it,"x",h-g.right-142),l(vt,"x1",h-g.right-80),l(vt,"x2",h-g.right-66),l($t,"x",h-g.right-62)},[()=>K(1)+4,()=>K(0)+4]),s(n,c)};rt(H,n=>{t(j).length===0?n(_):n(x,-1)})}s(kt,q),se()}var ma=v('<div class="flex items-baseline gap-2"><span class="text-2xl font-display font-bold text-foreground"> </span> <span class="sig-label text-[var(--sig-text-muted)]">ranking quality</span></div>'),_a=v("<!> <!>",1),ha=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ba=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),ya=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),$a=v("<!> <!>",1),wa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),Pa=v('<div class="flex flex-col gap-2 p-3 bg-card rounded-lg border border-border min-w-0"><div class="flex items-center gap-2"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]"> </span> <!></div> <!> <div class="space-y-1"><span class="sig-label text-[var(--sig-text-muted)]">recent top picks:</span> <!></div> <div class="mt-auto space-y-1 pt-2 border-t border-[var(--sig-border)]"></div></div>');function Pe(kt,u){re(u,!0);let g=Ee(u,"offline",3,!1);const h=C(()=>Math.round(u.ndcg*100)),p=C(()=>u.side==="baseline"?"Heuristic Baseline":"Predictor Model"),st=C(()=>`How well this system ranks memories. NDCG@10 = ${u.ndcg.toFixed(3)}`);var X=Pa(),j=r(X),A=r(j),K=r(A,!0);a(A);var dt=e(A,2);{var _t=_=>{xe(_,{variant:"destructive",class:"text-[8px] px-1.5 py-0",children:(x,n)=>{lt();var c=Pt("OFFLINE");s(x,c)},$$slots:{default:!0}})};rt(dt,_=>{g()&&_(_t)})}a(j);var E=e(j,2);O(E,()=>pe,(_,x)=>{x(_,{children:(n,c)=>{var M=_a(),b=N(M);O(b,()=>ue,(P,F)=>{F(P,{class:"text-left",children:(G,tt)=>{var B=ma(),et=r(B),it=r(et);a(et),lt(2),a(B),k(()=>d(it,`${t(h)??""}%`)),s(G,B)},$$slots:{default:!0}})});var $=e(b,2);O($,()=>ge,(P,F)=>{F(P,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(G,tt)=>{lt();var B=Pt();k(()=>d(B,t(st))),s(G,B)},$$slots:{default:!0}})}),s(n,M)},$$slots:{default:!0}})});var Q=e(E,2),R=e(r(Q),2);{var pt=_=>{var x=Ut(),n=N(x);Lt(n,17,()=>u.topPicks.slice(0,3),c=>c.id,(c,M)=>{var b=ha(),$=r(b);a(b),k(P=>{l(b,"title",t(M).content),d($,`${P??""}${t(M).content.length>60?"...":""}`)},[()=>t(M).content.slice(0,60)]),s(c,b)}),s(_,x)},q=_=>{var x=ba();s(_,x)};rt(R,_=>{u.topPicks.length>0?_(pt):_(q,-1)})}a(Q);var H=e(Q,2);Lt(H,21,()=>u.stats,_=>_.label,(_,x)=>{var n=Ut(),c=N(n);{var M=$=>{var P=Ut(),F=N(P);O(F,()=>pe,(G,tt)=>{tt(G,{children:(B,et)=>{var it=$a(),vt=N(it);O(vt,()=>ue,(xt,ct)=>{ct(xt,{class:"w-full text-left",children:(J,f)=>{var w=ya(),T=r(w),D=r(T,!0);a(T);var ut=e(T,2),ft=r(ut,!0);a(ut),a(w),k(()=>{d(D,t(x).label),d(ft,t(x).value)}),s(J,w)},$$slots:{default:!0}})});var $t=e(vt,2);O($t,()=>ge,(xt,ct)=>{ct(xt,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(J,f)=>{lt();var w=Pt();k(()=>d(w,t(x).tooltip)),s(J,w)},$$slots:{default:!0}})}),s(B,it)},$$slots:{default:!0}})}),s($,P)},b=$=>{var P=wa(),F=r(P),G=r(F,!0);a(F);var tt=e(F,2),B=r(tt,!0);a(tt),a(P),k(()=>{d(G,t(x).label),d(B,t(x).value)}),s($,P)};rt(c,$=>{t(x).tooltip?$(M):$(b,-1)})}s(_,n)}),a(H),a(X),k(()=>d(K,t(p))),s(kt,X),se()}function ka(kt,u){re(u,!0);let g=Le(u,["$$slots","$$events","$$legacy"]);const h=[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]];We(kt,Re({name:"settings-2"},()=>g,{get iconNode(){return h},children:(p,st)=>{var X=Ut(),j=N(X);Be(j,()=>u.children??De),s(p,X)},$$slots:{default:!0}})),se()}var Na=v('<span class="sig-meta text-[var(--sig-text-muted)] shrink-0">alpha</span> <div class="flex gap-px h-2.5 flex-1 rounded overflow-hidden"><div class="bg-[var(--sig-text-muted)] transition-all duration-300"></div> <div class="bg-[var(--sig-accent)] transition-all duration-300"></div></div> <span class="sig-meta text-[var(--sig-text)] font-mono"> </span>',1),Ta=v("<!> <!>",1),Sa=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),Ca=v("<!> <!>",1),ja=v('<div class="sig-eyebrow text-[var(--sig-text-muted)]">training config</div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">epochs per run</span> <input type="number" min="1" max="20" class="w-14 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">more epochs = longer but more thorough</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">max samples</span> <input type="number" min="100" max="50000" step="500" class="w-20 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">training pairs to use per run</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">auto-trains every</span> <span class="sig-label text-[var(--sig-text)]"> </span></div> <span class="sig-meta text-[var(--sig-text-muted)]">change in settings</span></div> <div class="pt-1 border-t border-[var(--sig-border)]"><span class="sig-meta text-[var(--sig-text-muted)]"> </span></div>',1),Ma=v("<!> <!>",1),Fa=v("<!> <!>",1),Ia=v('<div class="flex items-center gap-3 px-3 py-2 bg-card rounded-lg border border-border"><!> <!> <!> <div class="flex-1"></div> <!> <!> <button class="flex items-center p-1 rounded text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] transition-colors disabled:opacity-40"><!></button></div>');function Aa(kt,u){re(u,!0);const g=C(()=>{switch(u.healthStatus){case"healthy":return"default";case"degraded":case"cold_start":return"secondary";case"unhealthy":return"destructive";default:return"outline"}});let h=Z(!1);var p=Ia(),st=r(p);xe(st,{get variant(){return t(g)},class:"text-[9px] shrink-0",children:(E,Q)=>{lt();var R=Pt();k(()=>d(R,u.healthStatus)),s(E,R)},$$slots:{default:!0}});var X=e(st,2);O(X,()=>pe,(E,Q)=>{Q(E,{children:(R,pt)=>{var q=Ta(),H=N(q);O(H,()=>ue,(x,n)=>{n(x,{class:"flex items-center gap-2 min-w-[120px]",children:(c,M)=>{var b=Na(),$=e(N(b),2),P=r($),F=e(P,2);a($);var G=e($,2),tt=r(G,!0);a(G),k(B=>{Ne(P,`width: ${u.alpha*100}%`),Ne(F,`width: ${(1-u.alpha)*100}%`),d(tt,B)},[()=>u.alpha.toFixed(2)]),s(c,b)},$$slots:{default:!0}})});var _=e(H,2);O(_,()=>ge,(x,n)=>{n(x,{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:(c,M)=>{lt();var b=Pt("Baseline weight in scoring. Shifts toward predictor as it proves itself.");s(c,b)},$$slots:{default:!0}})}),s(R,q)},$$slots:{default:!0}})});var j=e(X,2);O(j,()=>pe,(E,Q)=>{Q(E,{children:(R,pt)=>{var q=Ca(),H=N(q);O(H,()=>ue,(x,n)=>{n(x,{children:(c,M)=>{var b=Sa(),$=e(r(b)),P=r($);a($),a(b),k(F=>d(P,`${F??""}%`),[()=>Math.round(u.winRate*100)]),s(c,b)},$$slots:{default:!0}})});var _=e(H,2);O(_,()=>ge,(x,n)=>{n(x,{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:(c,M)=>{lt();var b=Pt("Sessions where predictor ranked better than heuristic baseline.");s(c,b)},$$slots:{default:!0}})}),s(R,q)},$$slots:{default:!0}})});var A=e(j,4);O(A,()=>sa,(E,Q)=>{Q(E,{get open(){return t(h)},set open(R){y(h,R,!0)},children:(R,pt)=>{var q=Ma(),H=N(q);O(H,()=>aa,(x,n)=>{n(x,{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:(c,M)=>{ka(c,{class:"w-3.5 h-3.5"})},$$slots:{default:!0}})});var _=e(H,2);O(_,()=>ra,(x,n)=>{n(x,{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:(c,M)=>{var b=ja(),$=e(N(b),2),P=r($),F=e(r(P),2);Ce(F),a(P),lt(2),a($);var G=e($,2),tt=r(G),B=e(r(tt),2);Ce(B),a(tt),lt(2),a(G);var et=e(G,2),it=r(et),vt=e(r(it),2),$t=r(vt);a(vt),a(it),lt(2),a(et);var xt=e(et,2),ct=r(xt),J=r(ct);a(ct),a(xt),k(f=>{je(F,u.trainEpochs),je(B,u.trainLimit),d($t,`${u.trainInterval??""} sessions`),d(J,`${f??""} training pairs available`)},[()=>u.trainingPairs.toLocaleString()]),we("input",F,f=>u.onEpochsChange(Number(f.currentTarget.value))),we("input",B,f=>u.onLimitChange(Number(f.currentTarget.value))),s(c,b)},$$slots:{default:!0}})}),s(R,q)},$$slots:{default:!0}})});var K=e(A,2);{let E=C(()=>u.training||!u.sidecarAlive);He(K,{variant:"default",size:"sm",class:"sig-label gap-1.5",get onclick(){return u.onTrain},get disabled(){return t(E)},children:(Q,R)=>{var pt=Fa(),q=N(pt);ia(q,{class:"w-3.5 h-3.5"});var H=e(q,2);{var _=n=>{var c=Pt("training...");s(n,c)},x=n=>{var c=Pt("train now");s(n,c)};rt(H,n=>{u.training?n(_):n(x,-1)})}s(Q,pt)},$$slots:{default:!0}})}var dt=e(K,2),_t=r(dt);{let E=C(()=>u.loading?"animate-spin":"");na(_t,{get class(){return`w-3.5 h-3.5 ${t(E)??""}`}})}a(dt),a(p),k(()=>dt.disabled=u.loading),we("click",dt,function(...E){u.onRefresh?.apply(this,E)}),s(kt,p),se()}Oe(["input","click"]);var Ea=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">loading predictor data...</span></div>'),Ra=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">unable to reach predictor -- check daemon status</span></div>'),Ba=v("Predictor <!>",1),Da=v(`<p class="sig-label text-[var(--sig-text-muted)]">The predictive memory scorer learns which memories matter most for each
1
+ import{p as re,c as Ut,f as N,k as rt,i as t,b as s,d as se,u as C,D as l,j as r,A as Lt,t as e,l as a,y as k,z as d,K as ce,N as Se,v as y,m as v,af as ie,o as Z,B as ke,g as Ee,h as O,w as lt,x as Pt,s as Re,a as Be,n as De,r as Le,a9 as Ne,ab as Ce,ac as je,O as we,P as Oe,e as qt,q as ze}from"./C__P7n-d.js";import{W as ue,Y as ge,Z as pe,I as We,B as He,f as Ge,n as Ke,E as qe,o as Dt}from"./gb02oFf8.js";import{P as Je}from"./nI8gUPgM.js";import{T as Ve}from"./B9q9Ge2R.js";import{B as xe}from"./CedY5u_K.js";import{a as Ye,C as Ze}from"./D4U5qu0D.js";import{C as Qe}from"./W-Wxf49W.js";import{C as Ue}from"./D-2jWk-8.js";import{C as Xe,a as ta,b as ea}from"./BiBX3uai.js";import{P as aa,a as ra,b as sa}from"./BjDVSTne.js";import{Z as ia}from"./CNt9dhQL.js";import{R as na}from"./Chd9aKVJ.js";import{C as oa}from"./C1eG6cBO.js";var la=v('<div class="flex items-center justify-center h-full"><span class="sig-label text-[var(--sig-text-muted)]">no comparison data yet</span></div>'),da=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="4,4"></line><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)"> </text>',1),va=ie('<circle r="3"></circle>'),ca=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="3,3"></line><circle r="4" fill="var(--sig-text-muted)" stroke="var(--sig-bg)" stroke-width="1.5"></circle><circle r="4" fill="var(--sig-success)" stroke="var(--sig-bg)" stroke-width="1.5"></circle>',1),ua=ie('<rect fill="transparent"></rect><!>',1),ga=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),pa=v('<div class="absolute z-10 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-2 py-1.5 shadow-md pointer-events-none" style="top: 4px; right: 8px;"><div class="sig-label text-[var(--sig-text-muted)]"> </div> <div class="flex gap-3 mt-0.5"><span class="sig-label"><span class="text-[var(--sig-text-muted)]">base</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span class="sig-label"><span class="text-[var(--sig-success)]">pred</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span> </span></div> <!></div>'),xa=ie('<svg width="100%" height="100%" preserveAspectRatio="xMidYMid meet" class="select-none"><!><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">1.00</text><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">0.00</text><polyline fill="none" stroke="var(--sig-text-muted)" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round" opacity="0.5"></polyline><polyline fill="none" stroke="var(--sig-success)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></polyline><!><!><line stroke="var(--sig-text-muted)" stroke-width="1.5" opacity="0.5"></line><text fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">baseline</text><line stroke="var(--sig-success)" stroke-width="2"></line><text fill="var(--sig-success)" font-size="11" font-family="var(--font-mono)">predictor</text></svg><!>',1);function fa(kt,u){re(u,!0);const g={top:12,right:12,bottom:20,left:32},h=1200,p=200,st=h-g.left-g.right,X=p-g.top-g.bottom,j=C(()=>[...u.comparisons].reverse());function A(n){return t(j).length<=1?g.left+st/2:g.left+n/(t(j).length-1)*st}function K(n){return g.top+(1-n)*X}function dt(n){return t(j).map((c,M)=>`${A(M).toFixed(1)},${K(n(c)).toFixed(1)}`).join(" ")}const _t=C(()=>dt(n=>n.baselineNdcg)),E=C(()=>dt(n=>n.predictorNdcg)),Q=[.25,.5,.75];let R=Z(null);function pt(n){const c=new Date(n);return Number.isNaN(c.getTime())?n:c.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var q=Ut(),H=N(q);{var _=n=>{var c=la();s(n,c)},x=n=>{var c=xa(),M=N(c);l(M,"viewBox","0 0 1200 200");var b=r(M);Lt(b,17,()=>Q,ce,(J,f)=>{var w=da(),T=N(w),D=e(T),ut=r(D,!0);a(D),k((ft,mt,wt,gt)=>{l(T,"x1",g.left),l(T,"y1",ft),l(T,"x2",h-g.right),l(T,"y2",mt),l(D,"x",g.left-6),l(D,"y",wt),d(ut,gt)},[()=>K(t(f)),()=>K(t(f)),()=>K(t(f))+4,()=>t(f).toFixed(2)]),s(J,w)});var $=e(b),P=e($),F=e(P),G=e(F),tt=e(G);Lt(tt,17,()=>t(j),ce,(J,f,w)=>{var T=va();l(T,"cy",p-6),k(D=>{l(T,"cx",D),l(T,"fill",t(f).predictorWon?"var(--sig-success)":"var(--sig-danger)"),l(T,"opacity",t(f).predictorWon?.8:.5)},[()=>A(w)]),s(J,T)});var B=e(tt);Lt(B,17,()=>t(j),ce,(J,f,w)=>{var T=ua(),D=N(T);l(D,"y",0),l(D,"height",p);var ut=e(D);{var ft=mt=>{var wt=ca(),gt=N(wt),Ct=e(gt),Jt=e(Ct);k((i,o,z,S,nt,W)=>{l(gt,"x1",i),l(gt,"y1",g.top),l(gt,"x2",o),l(gt,"y2",p-g.bottom),l(Ct,"cx",z),l(Ct,"cy",S),l(Jt,"cx",nt),l(Jt,"cy",W)},[()=>A(w),()=>A(w),()=>A(w),()=>K(t(f).baselineNdcg),()=>A(w),()=>K(t(f).predictorNdcg)]),s(mt,wt)};rt(ut,mt=>{t(R)===w&&mt(ft)})}k((mt,wt)=>{l(D,"x",mt),l(D,"width",wt)},[()=>A(w)-Math.max(st/t(j).length,16)/2,()=>Math.max(st/t(j).length,16)]),Se("mouseenter",D,()=>y(R,w,!0)),Se("mouseleave",D,()=>y(R,null)),s(J,T)});var et=e(B);l(et,"y1",10),l(et,"y2",10);var it=e(et);l(it,"y",14);var vt=e(it);l(vt,"y1",10),l(vt,"y2",10);var $t=e(vt);l($t,"y",14),a(M);var xt=e(M);{var ct=J=>{const f=C(()=>t(j)[t(R)]);var w=pa(),T=r(w),D=r(T,!0);a(T);var ut=e(T,2),ft=r(ut),mt=e(r(ft),2),wt=r(mt,!0);a(mt),a(ft);var gt=e(ft,2),Ct=e(r(gt),2),Jt=r(Ct,!0);a(Ct),a(gt);var i=e(gt,2);let o;var z=r(i);a(i),a(ut);var S=e(ut,2);{var nt=W=>{var m=ga(),V=r(m,!0);a(m),k(()=>d(V,t(f).project)),s(W,m)};rt(S,W=>{t(f).project&&W(nt)})}a(w),k((W,m,V,jt)=>{d(D,W),d(wt,m),d(Jt,V),o=ke(i,1,"sig-label",null,o,{"text-[var(--sig-success)]":t(f).margin>0,"text-[var(--sig-danger)]":t(f).margin<0}),d(z,`${t(f).margin>0?"+":""}${jt??""}`)},[()=>pt(t(f).createdAt),()=>t(f).baselineNdcg.toFixed(3),()=>t(f).predictorNdcg.toFixed(3),()=>t(f).margin.toFixed(3)]),s(J,w)};rt(xt,J=>{t(R)!==null&&t(j)[t(R)]&&J(ct)})}k((J,f)=>{l($,"x",g.left-6),l($,"y",J),l(P,"x",g.left-6),l(P,"y",f),l(F,"points",t(_t)),l(G,"points",t(E)),l(et,"x1",h-g.right-160),l(et,"x2",h-g.right-146),l(it,"x",h-g.right-142),l(vt,"x1",h-g.right-80),l(vt,"x2",h-g.right-66),l($t,"x",h-g.right-62)},[()=>K(1)+4,()=>K(0)+4]),s(n,c)};rt(H,n=>{t(j).length===0?n(_):n(x,-1)})}s(kt,q),se()}var ma=v('<div class="flex items-baseline gap-2"><span class="text-2xl font-display font-bold text-foreground"> </span> <span class="sig-label text-[var(--sig-text-muted)]">ranking quality</span></div>'),_a=v("<!> <!>",1),ha=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ba=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),ya=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),$a=v("<!> <!>",1),wa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),Pa=v('<div class="flex flex-col gap-2 p-3 bg-card rounded-lg border border-border min-w-0"><div class="flex items-center gap-2"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]"> </span> <!></div> <!> <div class="space-y-1"><span class="sig-label text-[var(--sig-text-muted)]">recent top picks:</span> <!></div> <div class="mt-auto space-y-1 pt-2 border-t border-[var(--sig-border)]"></div></div>');function Pe(kt,u){re(u,!0);let g=Ee(u,"offline",3,!1);const h=C(()=>Math.round(u.ndcg*100)),p=C(()=>u.side==="baseline"?"Heuristic Baseline":"Predictor Model"),st=C(()=>`How well this system ranks memories. NDCG@10 = ${u.ndcg.toFixed(3)}`);var X=Pa(),j=r(X),A=r(j),K=r(A,!0);a(A);var dt=e(A,2);{var _t=_=>{xe(_,{variant:"destructive",class:"text-[8px] px-1.5 py-0",children:(x,n)=>{lt();var c=Pt("OFFLINE");s(x,c)},$$slots:{default:!0}})};rt(dt,_=>{g()&&_(_t)})}a(j);var E=e(j,2);O(E,()=>pe,(_,x)=>{x(_,{children:(n,c)=>{var M=_a(),b=N(M);O(b,()=>ue,(P,F)=>{F(P,{class:"text-left",children:(G,tt)=>{var B=ma(),et=r(B),it=r(et);a(et),lt(2),a(B),k(()=>d(it,`${t(h)??""}%`)),s(G,B)},$$slots:{default:!0}})});var $=e(b,2);O($,()=>ge,(P,F)=>{F(P,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(G,tt)=>{lt();var B=Pt();k(()=>d(B,t(st))),s(G,B)},$$slots:{default:!0}})}),s(n,M)},$$slots:{default:!0}})});var Q=e(E,2),R=e(r(Q),2);{var pt=_=>{var x=Ut(),n=N(x);Lt(n,17,()=>u.topPicks.slice(0,3),c=>c.id,(c,M)=>{var b=ha(),$=r(b);a(b),k(P=>{l(b,"title",t(M).content),d($,`${P??""}${t(M).content.length>60?"...":""}`)},[()=>t(M).content.slice(0,60)]),s(c,b)}),s(_,x)},q=_=>{var x=ba();s(_,x)};rt(R,_=>{u.topPicks.length>0?_(pt):_(q,-1)})}a(Q);var H=e(Q,2);Lt(H,21,()=>u.stats,_=>_.label,(_,x)=>{var n=Ut(),c=N(n);{var M=$=>{var P=Ut(),F=N(P);O(F,()=>pe,(G,tt)=>{tt(G,{children:(B,et)=>{var it=$a(),vt=N(it);O(vt,()=>ue,(xt,ct)=>{ct(xt,{class:"w-full text-left",children:(J,f)=>{var w=ya(),T=r(w),D=r(T,!0);a(T);var ut=e(T,2),ft=r(ut,!0);a(ut),a(w),k(()=>{d(D,t(x).label),d(ft,t(x).value)}),s(J,w)},$$slots:{default:!0}})});var $t=e(vt,2);O($t,()=>ge,(xt,ct)=>{ct(xt,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(J,f)=>{lt();var w=Pt();k(()=>d(w,t(x).tooltip)),s(J,w)},$$slots:{default:!0}})}),s(B,it)},$$slots:{default:!0}})}),s($,P)},b=$=>{var P=wa(),F=r(P),G=r(F,!0);a(F);var tt=e(F,2),B=r(tt,!0);a(tt),a(P),k(()=>{d(G,t(x).label),d(B,t(x).value)}),s($,P)};rt(c,$=>{t(x).tooltip?$(M):$(b,-1)})}s(_,n)}),a(H),a(X),k(()=>d(K,t(p))),s(kt,X),se()}function ka(kt,u){re(u,!0);let g=Le(u,["$$slots","$$events","$$legacy"]);const h=[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]];We(kt,Re({name:"settings-2"},()=>g,{get iconNode(){return h},children:(p,st)=>{var X=Ut(),j=N(X);Be(j,()=>u.children??De),s(p,X)},$$slots:{default:!0}})),se()}var Na=v('<span class="sig-meta text-[var(--sig-text-muted)] shrink-0">alpha</span> <div class="flex gap-px h-2.5 flex-1 rounded overflow-hidden"><div class="bg-[var(--sig-text-muted)] transition-all duration-300"></div> <div class="bg-[var(--sig-accent)] transition-all duration-300"></div></div> <span class="sig-meta text-[var(--sig-text)] font-mono"> </span>',1),Ta=v("<!> <!>",1),Sa=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),Ca=v("<!> <!>",1),ja=v('<div class="sig-eyebrow text-[var(--sig-text-muted)]">training config</div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">epochs per run</span> <input type="number" min="1" max="20" class="w-14 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">more epochs = longer but more thorough</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">max samples</span> <input type="number" min="100" max="50000" step="500" class="w-20 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">training pairs to use per run</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">auto-trains every</span> <span class="sig-label text-[var(--sig-text)]"> </span></div> <span class="sig-meta text-[var(--sig-text-muted)]">change in settings</span></div> <div class="pt-1 border-t border-[var(--sig-border)]"><span class="sig-meta text-[var(--sig-text-muted)]"> </span></div>',1),Ma=v("<!> <!>",1),Fa=v("<!> <!>",1),Ia=v('<div class="flex items-center gap-3 px-3 py-2 bg-card rounded-lg border border-border"><!> <!> <!> <div class="flex-1"></div> <!> <!> <button class="flex items-center p-1 rounded text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] transition-colors disabled:opacity-40"><!></button></div>');function Aa(kt,u){re(u,!0);const g=C(()=>{switch(u.healthStatus){case"healthy":return"default";case"degraded":case"cold_start":return"secondary";case"unhealthy":return"destructive";default:return"outline"}});let h=Z(!1);var p=Ia(),st=r(p);xe(st,{get variant(){return t(g)},class:"text-[9px] shrink-0",children:(E,Q)=>{lt();var R=Pt();k(()=>d(R,u.healthStatus)),s(E,R)},$$slots:{default:!0}});var X=e(st,2);O(X,()=>pe,(E,Q)=>{Q(E,{children:(R,pt)=>{var q=Ta(),H=N(q);O(H,()=>ue,(x,n)=>{n(x,{class:"flex items-center gap-2 min-w-[120px]",children:(c,M)=>{var b=Na(),$=e(N(b),2),P=r($),F=e(P,2);a($);var G=e($,2),tt=r(G,!0);a(G),k(B=>{Ne(P,`width: ${u.alpha*100}%`),Ne(F,`width: ${(1-u.alpha)*100}%`),d(tt,B)},[()=>u.alpha.toFixed(2)]),s(c,b)},$$slots:{default:!0}})});var _=e(H,2);O(_,()=>ge,(x,n)=>{n(x,{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:(c,M)=>{lt();var b=Pt("Baseline weight in scoring. Shifts toward predictor as it proves itself.");s(c,b)},$$slots:{default:!0}})}),s(R,q)},$$slots:{default:!0}})});var j=e(X,2);O(j,()=>pe,(E,Q)=>{Q(E,{children:(R,pt)=>{var q=Ca(),H=N(q);O(H,()=>ue,(x,n)=>{n(x,{children:(c,M)=>{var b=Sa(),$=e(r(b)),P=r($);a($),a(b),k(F=>d(P,`${F??""}%`),[()=>Math.round(u.winRate*100)]),s(c,b)},$$slots:{default:!0}})});var _=e(H,2);O(_,()=>ge,(x,n)=>{n(x,{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:(c,M)=>{lt();var b=Pt("Sessions where predictor ranked better than heuristic baseline.");s(c,b)},$$slots:{default:!0}})}),s(R,q)},$$slots:{default:!0}})});var A=e(j,4);O(A,()=>sa,(E,Q)=>{Q(E,{get open(){return t(h)},set open(R){y(h,R,!0)},children:(R,pt)=>{var q=Ma(),H=N(q);O(H,()=>aa,(x,n)=>{n(x,{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:(c,M)=>{ka(c,{class:"w-3.5 h-3.5"})},$$slots:{default:!0}})});var _=e(H,2);O(_,()=>ra,(x,n)=>{n(x,{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:(c,M)=>{var b=ja(),$=e(N(b),2),P=r($),F=e(r(P),2);Ce(F),a(P),lt(2),a($);var G=e($,2),tt=r(G),B=e(r(tt),2);Ce(B),a(tt),lt(2),a(G);var et=e(G,2),it=r(et),vt=e(r(it),2),$t=r(vt);a(vt),a(it),lt(2),a(et);var xt=e(et,2),ct=r(xt),J=r(ct);a(ct),a(xt),k(f=>{je(F,u.trainEpochs),je(B,u.trainLimit),d($t,`${u.trainInterval??""} sessions`),d(J,`${f??""} training pairs available`)},[()=>u.trainingPairs.toLocaleString()]),we("input",F,f=>u.onEpochsChange(Number(f.currentTarget.value))),we("input",B,f=>u.onLimitChange(Number(f.currentTarget.value))),s(c,b)},$$slots:{default:!0}})}),s(R,q)},$$slots:{default:!0}})});var K=e(A,2);{let E=C(()=>u.training||!u.sidecarAlive);He(K,{variant:"default",size:"sm",class:"sig-label gap-1.5",get onclick(){return u.onTrain},get disabled(){return t(E)},children:(Q,R)=>{var pt=Fa(),q=N(pt);ia(q,{class:"w-3.5 h-3.5"});var H=e(q,2);{var _=n=>{var c=Pt("training...");s(n,c)},x=n=>{var c=Pt("train now");s(n,c)};rt(H,n=>{u.training?n(_):n(x,-1)})}s(Q,pt)},$$slots:{default:!0}})}var dt=e(K,2),_t=r(dt);{let E=C(()=>u.loading?"animate-spin":"");na(_t,{get class(){return`w-3.5 h-3.5 ${t(E)??""}`}})}a(dt),a(p),k(()=>dt.disabled=u.loading),we("click",dt,function(...E){u.onRefresh?.apply(this,E)}),s(kt,p),se()}Oe(["input","click"]);var Ea=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">loading predictor data...</span></div>'),Ra=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">unable to reach predictor -- check daemon status</span></div>'),Ba=v("Predictor <!>",1),Da=v(`<p class="sig-label text-[var(--sig-text-muted)]">The predictive memory scorer learns which memories matter most for each
2
2
  session. Enable it in your pipeline configuration to start training.</p>`),La=v("<!> <!>",1),Oa=v('<div class="flex items-center justify-center col-span-full row-span-full"><!></div>'),za=v('<!> <div class="flex flex-col items-center justify-center gap-2 p-3 bg-card rounded-lg border border-border border-dashed"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]">predictor model</span> <span class="sig-label text-[var(--sig-text-muted)]">collecting training data</span> <div class="w-full max-w-[180px] space-y-1"><div class="flex justify-between sig-meta text-[var(--sig-text-muted)]"><span> </span> <span> </span></div> <div class="w-full h-1.5 rounded-full bg-[var(--sig-surface-raised)] overflow-hidden"><div class="h-full rounded-full bg-[var(--sig-accent)] transition-all duration-300 animate-pulse"></div></div></div> <span class="sig-meta text-[var(--sig-text-muted)] max-w-[200px] text-center">needs more sessions before it can start ranking</span></div>',1),Wa=v("<!> <!>",1),Ha=v('<div class="sig-label text-[var(--sig-success)]"> </div>'),Ga=v('<div class="sig-label text-[var(--sig-danger)]"> </div>'),Ka=v("<!> details <!>",1),qa=v('<tr class="border-b border-[var(--sig-border)] border-opacity-30"><td class="py-1 pr-3"><span></span> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td> </td><td class="py-1 px-2 max-w-[120px] truncate"> </td><td class="py-1 pl-2 text-[var(--sig-text-muted)]"> </td></tr>'),Ja=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">recent comparisons</span> <table class="w-full sig-label mt-1"><thead><tr class="text-[var(--sig-text-muted)] border-b border-[var(--sig-border)]"><th class="text-left py-1 pr-3">session</th><th class="text-right py-1 px-2">pred</th><th class="text-right py-1 px-2">base</th><th class="text-right py-1 px-2">margin</th><th class="text-left py-1 px-2">project</th><th class="text-left py-1 pl-2">time</th></tr></thead><tbody></tbody></table></div>'),Va=v('<tr class="border-b border-[var(--sig-border)] border-opacity-30"><td class="py-1 pr-3"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="py-1 pl-2 text-[var(--sig-text-muted)]"> </td></tr>'),Ya=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">training history</span> <table class="w-full sig-label mt-1"><thead><tr class="text-[var(--sig-text-muted)] border-b border-[var(--sig-border)]"><th class="text-left py-1 pr-3">version</th><th class="text-right py-1 px-2">loss</th><th class="text-right py-1 px-2">samples</th><th class="text-right py-1 px-2">duration</th><th class="text-right py-1 px-2">canary</th><th class="text-left py-1 pl-2">time</th></tr></thead><tbody></tbody></table></div>'),Za=v('<div class="flex items-start gap-2 sig-label"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span class="text-[var(--sig-danger)] font-mono"> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Qa=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">errors</span> <div class="space-y-1 mt-1"></div></div>'),Ua=v('<div class="mt-2 max-h-[200px] overflow-y-auto space-y-3 pr-1"><!> <!> <!></div>'),Xa=v("<!> <!>",1),tr=v('<!> <div class="grid grid-cols-2 gap-3"><!></div> <div class="relative min-h-0"><!></div> <div class="space-y-1.5"><!> <!></div>',1),er=v('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="grid flex-1 min-h-0 overflow-y-auto gap-3 p-3" style="grid-template-rows: auto auto auto 1fr auto;"><!></div></div>');function xr(kt,u){re(u,!0);let g=Z(null),h=Z(null),p=Z(qt([])),st=Z(qt([])),X=Z(!0),j=Z(!1),A=Z(null),K=Z(null),dt=Z(0),_t=Z(qt([])),E=Z(!1);const Q="signet-predictor-train-config";function R(){try{const i=localStorage.getItem(Q);if(i)return JSON.parse(i)}catch{}return{epochs:3,limit:5e3}}function pt(i,o){localStorage.setItem(Q,JSON.stringify({epochs:i,limit:o}))}const q=R();let H=Z(qt(q.epochs)),_=Z(qt(q.limit)),x=10,n=Z(qt([])),c=Z(qt([]));const M=C(()=>t(g)!==null&&!t(g).enabled),b=C(()=>t(h)!==null&&!t(h).coldStartExited&&t(h).sidecarAlive),$=C(()=>t(h)!==null&&!t(h).sidecarAlive&&t(g)!==null&&t(g).enabled),P=10,F=C(()=>Math.min(1,t(p).length/P)),G=C(()=>t(p).length===0?0:t(p).filter(o=>o.predictorWon).length/t(p).length),tt=C(()=>t(p).length===0?0:t(p).reduce((i,o)=>i+o.predictorNdcg,0)/t(p).length),B=C(()=>t(p).length===0?0:t(p).reduce((i,o)=>i+o.baselineNdcg,0)/t(p).length),et=C(()=>t(p).length===0?0:t(p).reduce((i,o)=>i+o.scorerConfidence,0)/t(p).length),it=C(()=>[{label:"sessions evaluated",value:`${t(p).length}`},{label:"avg confidence",value:t(et).toFixed(2)}]),vt=C(()=>[{label:"win rate",value:`${Math.round(t(G)*100)}%`,tooltip:"Sessions where predictor ranked better than heuristic baseline."},{label:"training pairs",value:t(dt).toLocaleString(),tooltip:"Memory-relevance examples the model has learned from."},{label:"model",value:t(h)?`v${t(h).modelVersion} ${t(h).lastTrainedAt?`· ${T(t(h).lastTrainedAt)}`:""}`:"-"}]);let $t=Z(!1),xt=Z(!1);async function ct(){if(!t($t)){y($t,!0),y(X,t(g)===null);try{const[i,o,z,S,nt,W]=await Promise.allSettled([fetch(`${Dt}/api/predictor/status`),fetch(`${Dt}/api/diagnostics/predictor`),fetch(`${Dt}/api/predictor/comparisons?limit=50`),fetch(`${Dt}/api/predictor/training?limit=10`),fetch(`${Dt}/api/analytics/errors`),fetch(`${Dt}/api/predictor/training-pairs-count`)]);if(i.status==="fulfilled"&&i.value.ok&&y(g,await i.value.json(),!0),o.status==="fulfilled"&&o.value.ok&&y(h,await o.value.json(),!0),z.status==="fulfilled"&&z.value.ok){const m=await z.value.json();y(p,m.items??[],!0)}if(S.status==="fulfilled"&&S.value.ok){const m=await S.value.json();y(st,m.items??[],!0)}if(nt.status==="fulfilled"&&nt.value.ok){const V=(await nt.value.json()).errors??[];y(_t,V.filter(jt=>jt.stage==="predictor"),!0)}if(W.status==="fulfilled"&&W.value.ok){const m=await W.value.json();y(dt,m.count??0,!0)}}catch{}t(g)===null&&y(xt,!0),y(X,!1),y($t,!1),J().catch(()=>{})}}async function J(){try{if(t(p).length===0)return;const i=t(p)[0],o=i.predictorTopIds??[],z=i.baselineTopIds??[],S=[...new Set([...o.slice(0,5),...z.slice(0,5)])];if(S.length===0)return;const nt=await Promise.allSettled(S.map(m=>fetch(`${Dt}/api/memory/${m}`).then(V=>V.ok?V.json():null))),W=new Map;for(let m=0;m<S.length;m++){const V=nt[m];V.status==="fulfilled"&&V.value!==null&&W.set(S[m],V.value.content??"")}y(n,o.slice(0,5).filter(m=>W.has(m)).map(m=>({id:m,content:W.get(m)??""})),!0),y(c,z.slice(0,5).filter(m=>W.has(m)).map(m=>({id:m,content:W.get(m)??""})),!0)}catch{y(n,[],!0),y(c,[],!0)}}async function f(){y(j,!0),y(A,null),y(K,null);try{const i=await fetch(`${Dt}/api/predictor/train`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({epochs:t(H),limit:t(_)})}),o=await i.json();i.ok?(y(A,o,!0),await ct()):y(K,o.error??`HTTP ${i.status}`,!0)}catch(i){y(K,String(i),!0)}y(j,!1)}function w(i){const o=new Date(i);return Number.isNaN(o.getTime())?i:o.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function T(i){const o=Date.now()-new Date(i).getTime();if(Number.isNaN(o))return i;const z=Math.floor(o/6e4);if(z<1)return"just now";if(z<60)return`${z}m ago`;const S=Math.floor(z/60);return S<24?`${S}h ago`:`${Math.floor(S/24)}d ago`}ze(()=>{ct();const i=setInterval(ct,15e3);return()=>clearInterval(i)});var D=er(),ut=r(D);Je(ut,{title:"Predictor",children:(i,o)=>{Ve(i,{group:"engine",get tabs(){return qe},get activeTab(){return Ke.activeTab},onselect:(z,S)=>Ge(S)})}});var ft=e(ut,2),mt=r(ft);{var wt=i=>{var o=Ea();s(i,o)},gt=i=>{var o=Ra();s(i,o)},Ct=i=>{var o=Oa(),z=r(o);O(z,()=>Ze,(S,nt)=>{nt(S,{class:"max-w-md",children:(W,m)=>{var V=La(),jt=N(V);O(jt,()=>Qe,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var L=Ut(),Y=N(L);O(Y,()=>Ue,(U,at)=>{at(U,{class:"flex items-center gap-2 text-sm",children:(Nt,Ot)=>{lt();var Mt=Ba(),zt=e(N(Mt));xe(zt,{variant:"outline",children:(Ft,Yt)=>{lt();var Zt=Pt("disabled");s(Ft,Zt)},$$slots:{default:!0}}),s(Nt,Mt)},$$slots:{default:!0}})}),s(te,L)},$$slots:{default:!0}})});var ne=e(jt,2);O(ne,()=>Ye,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var L=Da();s(te,L)},$$slots:{default:!0}})}),s(W,V)},$$slots:{default:!0}})}),a(o),s(i,o)},Jt=i=>{var o=tr(),z=N(o);{let L=C(()=>t(h)?.status??"unknown"),Y=C(()=>t(h)?.alpha??1),U=C(()=>t(h)?.sidecarAlive??!1);Aa(z,{get healthStatus(){return t(L)},get alpha(){return t(Y)},get winRate(){return t(G)},get sidecarAlive(){return t(U)},get training(){return t(j)},get loading(){return t(X)},get trainingPairs(){return t(dt)},get trainEpochs(){return t(H)},get trainLimit(){return t(_)},trainInterval:x,onTrain:f,onRefresh:ct,onEpochsChange:at=>{y(H,at,!0),pt(at,t(_))},onLimitChange:at=>{y(_,at,!0),pt(t(H),at)}})}var S=e(z,2),nt=r(S);{var W=L=>{var Y=za(),U=N(Y);Pe(U,{side:"baseline",get ndcg(){return t(B)},get topPicks(){return t(c)},get stats(){return t(it)}});var at=e(U,2),Nt=e(r(at),4),Ot=r(Nt),Mt=r(Ot),zt=r(Mt);a(Mt);var Ft=e(Mt,2),Yt=r(Ft);a(Ft),a(Ot);var Zt=e(Ot,2),It=r(Zt);a(Zt),a(Nt),lt(2),a(at),k(Wt=>{d(zt,`${t(p).length??""} / 10 sessions`),d(Yt,`${Wt??""}%`),Ne(It,`width: ${t(F)*100}%`)},[()=>Math.round(t(F)*100)]),s(L,Y)},m=L=>{var Y=Wa(),U=N(Y);Pe(U,{side:"baseline",get ndcg(){return t(B)},get topPicks(){return t(c)},get stats(){return t(it)}});var at=e(U,2);Pe(at,{side:"predictor",get ndcg(){return t(tt)},get topPicks(){return t(n)},get stats(){return t(vt)},get offline(){return t($)}}),s(L,Y)};rt(nt,L=>{t(b)?L(W):L(m,-1)})}a(S);var V=e(S,2),jt=r(V);fa(jt,{get comparisons(){return t(p)}}),a(V);var ne=e(V,2),Vt=r(ne);{var Xt=L=>{var Y=Ha(),U=r(Y);a(Y),k((at,Nt)=>d(U,`trained v${t(A).step??""} -- ${t(A).samples_used??""} samples, loss ${at??""}, ${Nt??""}s`),[()=>t(A).loss.toFixed(4),()=>(t(A).duration_ms/1e3).toFixed(1)]),s(L,Y)},te=L=>{var Y=Ga(),U=r(Y,!0);a(Y),k(()=>d(U,t(K))),s(L,Y)};rt(Vt,L=>{t(A)?L(Xt):t(K)&&L(te,1)})}var fe=e(Vt,2);O(fe,()=>ea,(L,Y)=>{Y(L,{get open(){return t(E)},set open(U){y(E,U,!0)},children:(U,at)=>{var Nt=Xa(),Ot=N(Nt);O(Ot,()=>Xe,(zt,Ft)=>{Ft(zt,{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 It=Ka(),Wt=N(It);{let Ht=C(()=>t(E)?"0deg":"-90deg");oa(Wt,{class:"w-3 h-3 transition-transform duration-200",get style(){return`transform: rotate(${t(Ht)??""})`}})}var me=e(Wt,2);{var oe=Ht=>{xe(Ht,{variant:"destructive",class:"text-[8px] px-1 py-0 ml-1",children:(_e,Te)=>{lt();var ot=Pt();k(()=>d(ot,t(_t).length)),s(_e,ot)},$$slots:{default:!0}})};rt(me,Ht=>{t(_t).length>0&&Ht(oe)})}s(Yt,It)},$$slots:{default:!0}})});var Mt=e(Ot,2);O(Mt,()=>ta,(zt,Ft)=>{Ft(zt,{children:(Yt,Zt)=>{var It=Ua(),Wt=r(It);{var me=ot=>{var ht=Ja(),At=e(r(ht),2),Gt=e(r(At));Lt(Gt,21,()=>t(p).slice(0,15),bt=>bt.sessionKey,(bt,I)=>{var yt=qa(),Tt=r(yt),Et=r(Tt);let Rt;var Qt=e(Et);a(Tt);var St=e(Tt),ee=r(St,!0);a(St);var Kt=e(St),he=r(Kt,!0);a(Kt);var Bt=e(Kt);let le;var de=r(Bt);a(Bt);var ae=e(Bt),be=r(ae,!0);a(ae);var ve=e(ae),ye=r(ve,!0);a(ve),a(yt),k(($e,Me,Fe,Ie,Ae)=>{Rt=ke(Et,1,"w-2 h-2 inline-block rounded-full mr-1",null,Rt,{"bg-[var(--sig-success)]":t(I).predictorWon,"bg-[var(--sig-danger)]":!t(I).predictorWon}),d(Qt,` ${$e??""}`),d(ee,Me),d(he,Fe),le=ke(Bt,1,"text-right py-1 px-2",null,le,{"text-[var(--sig-success)]":t(I).margin>0,"text-[var(--sig-danger)]":t(I).margin<0}),d(de,`${t(I).margin>0?"+":""}${Ie??""}`),d(be,t(I).project??"-"),d(ye,Ae)},[()=>t(I).sessionKey.slice(0,8),()=>t(I).predictorNdcg.toFixed(3),()=>t(I).baselineNdcg.toFixed(3),()=>t(I).margin.toFixed(3),()=>w(t(I).createdAt)]),s(bt,yt)}),a(Gt),a(At),a(ht),s(ot,ht)};rt(Wt,ot=>{t(p).length>0&&ot(me)})}var oe=e(Wt,2);{var Ht=ot=>{var ht=Ya(),At=e(r(ht),2),Gt=e(r(At));Lt(Gt,21,()=>t(st),bt=>bt.id,(bt,I)=>{var yt=Va(),Tt=r(yt),Et=r(Tt);a(Tt);var Rt=e(Tt),Qt=r(Rt,!0);a(Rt);var St=e(Rt),ee=r(St,!0);a(St);var Kt=e(St),he=r(Kt);a(Kt);var Bt=e(Kt),le=r(Bt,!0);a(Bt);var de=e(Bt),ae=r(de,!0);a(de),a(yt),k((be,ve,ye,$e)=>{d(Et,`v${t(I).modelVersion??""}`),d(Qt,be),d(ee,t(I).sampleCount),d(he,`${ve??""}s`),d(le,ye),d(ae,$e)},[()=>t(I).loss.toFixed(4),()=>(t(I).durationMs/1e3).toFixed(1),()=>t(I).canaryNdcg!==null?t(I).canaryNdcg.toFixed(3):"-",()=>w(t(I).createdAt)]),s(bt,yt)}),a(Gt),a(At),a(ht),s(ot,ht)};rt(oe,ot=>{t(st).length>0&&ot(Ht)})}var _e=e(oe,2);{var Te=ot=>{var ht=Qa(),At=e(r(ht),2);Lt(At,21,()=>t(_t).slice(0,10),ce,(Gt,bt)=>{var I=Za(),yt=r(I),Tt=r(yt,!0);a(yt);var Et=e(yt,2),Rt=r(Et,!0);a(Et);var Qt=e(Et,2),St=r(Qt,!0);a(Qt),a(I),k(ee=>{d(Tt,ee),d(Rt,t(bt).code),d(St,t(bt).message)},[()=>w(t(bt).timestamp)]),s(Gt,I)}),a(At),a(ht),s(ot,ht)};rt(_e,ot=>{t(_t).length>0&&ot(Te)})}a(It),s(Yt,It)},$$slots:{default:!0}})}),s(U,Nt)},$$slots:{default:!0}})}),a(ne),s(i,o)};rt(mt,i=>{t(X)&&!t(g)&&!t(xt)?i(wt):t(xt)&&!t(g)?i(gt,1):t(M)?i(Ct,2):i(Jt,-1)})}a(ft),a(D),s(kt,D),se()}export{xr as default};
@@ -1 +1 @@
1
- import{p,s as c,c as l,f as d,a as i,n as m,b as f,d as h,r as u}from"./C__P7n-d.js";import{I as $}from"./E8aDzCah.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];$(e,c({name:"pencil"},()=>o,{get iconNode(){return t},children:(n,_)=>{var s=l(),r=d(s);i(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
1
+ import{p,s as c,c as l,f as d,a as i,n as m,b as f,d as h,r as u}from"./C__P7n-d.js";import{I as $}from"./gb02oFf8.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];$(e,c({name:"pencil"},()=>o,{get iconNode(){return t},children:(n,_)=>{var s=l(),r=d(s);i(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
@@ -1 +1 @@
1
- import{p as _,g as d,c as y,f as C,h as w,s as z,i as j,C as M,b as u,d as P,r as q,j as A,k as B,l as D,u as E,m as F}from"./C__P7n-d.js";import{c as G,M as H}from"./E8aDzCah.js";import{C as I}from"./Cnu2Gy6H.js";var J=F('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function O(f,t){_(t,!0);let n=d(t,"ref",15,null),c=d(t,"checked",15,!1),o=d(t,"indeterminate",15,!1),h=q(t,["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]);var l=y(),m=C(l);{const k=(s,a)=>{let e=()=>a?.().checked,b=()=>a?.().indeterminate;var i=J(),p=A(i);{var g=r=>{I(r,{class:"size-3.5"})},x=r=>{H(r,{class:"size-3.5"})};B(p,r=>{e()?r(g):b()&&r(x,1)})}D(i),u(s,i)};let v=E(()=>G("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t.class));w(m,()=>M,(s,a)=>{a(s,z({"data-slot":"checkbox",get class(){return j(v)}},()=>h,{get ref(){return n()},set ref(e){n(e)},get checked(){return c()},set checked(e){c(e)},get indeterminate(){return o()},set indeterminate(e){o(e)},children:k,$$slots:{default:!0}}))})}u(f,l),P()}export{O as C};
1
+ import{p as _,g as d,c as y,f as C,h as w,s as z,i as j,C as M,b as u,d as P,r as q,j as A,k as B,l as D,u as E,m as F}from"./C__P7n-d.js";import{c as G,M as H}from"./gb02oFf8.js";import{C as I}from"./psj_VYfc.js";var J=F('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function O(f,t){_(t,!0);let n=d(t,"ref",15,null),c=d(t,"checked",15,!1),o=d(t,"indeterminate",15,!1),h=q(t,["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]);var l=y(),m=C(l);{const k=(s,a)=>{let e=()=>a?.().checked,b=()=>a?.().indeterminate;var i=J(),p=A(i);{var g=r=>{I(r,{class:"size-3.5"})},x=r=>{H(r,{class:"size-3.5"})};B(p,r=>{e()?r(g):b()&&r(x,1)})}D(i),u(s,i)};let v=E(()=>G("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t.class));w(m,()=>M,(s,a)=>{a(s,z({"data-slot":"checkbox",get class(){return j(v)}},()=>h,{get ref(){return n()},set ref(e){n(e)},get checked(){return c()},set checked(e){c(e)},get indeterminate(){return o()},set indeterminate(e){o(e)},children:k,$$slots:{default:!0}}))})}u(f,l),P()}export{O as C};
@@ -0,0 +1,7 @@
1
+ import{p as Se,s as ca,c as ze,f as he,a as va,n as Le,b as i,d as Be,r as pa,o as w,e as ks,q as ys,v as d,j as t,t as o,l as s,ab as na,A as ia,y as T,B as W,i as e,z as h,O as me,k as A,D as Ia,u as G,w as da,I as Ce,H as Ms,N as Da,m as x,af as u,P as Cs}from"./C__P7n-d.js";import{I as ua,O as Ss,P as zs,w as Ls,Q as Fa,X as Va,R as Bs,T as As,U as Ps,V as Is}from"./gb02oFf8.js";import{C as Ds}from"./psj_VYfc.js";import{P as Fs}from"./3zEs-NvJ.js";import{R as Ra}from"./Chd9aKVJ.js";import{F as Vs}from"./FvRpiXJy.js";import{F as Rs}from"./CZzLsqzD.js";function Ns(V,v){Se(v,!0);let C=pa(v,["$$slots","$$events","$$legacy"]);const S=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M8 12h8"}],["path",{d:"M12 8v8"}]];ua(V,ca({name:"circle-plus"},()=>C,{get iconNode(){return S},children:(b,P)=>{var f=ze(),z=he(f);va(z,()=>v.children??Le),i(b,f)},$$slots:{default:!0}})),Be()}function Na(V,v){Se(v,!0);let C=pa(v,["$$slots","$$events","$$legacy"]);const S=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}],["path",{d:"M3 12A9 3 0 0 0 21 12"}]];ua(V,ca({name:"database"},()=>C,{get iconNode(){return S},children:(b,P)=>{var f=ze(),z=he(f);va(z,()=>v.children??Le),i(b,f)},$$slots:{default:!0}})),Be()}function Hs(V,v){Se(v,!0);let C=pa(v,["$$slots","$$events","$$legacy"]);const S=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12"}]];ua(V,ca({name:"link-2"},()=>C,{get iconNode(){return S},children:(b,P)=>{var f=ze(),z=he(f);va(z,()=>v.children??Le),i(b,f)},$$slots:{default:!0}})),Be()}const M=(V,v=Le)=>{var C=ze(),S=he(C);{var b=a=>{var n=Ts();i(a,n)},P=a=>{var n=Gs();i(a,n)},f=a=>{Rs(a,{})},z=a=>{var n=Os();i(a,n)},X=a=>{var n=Es();i(a,n)},K=a=>{var n=Zs();i(a,n)},E=a=>{var n=js();i(a,n)},R=a=>{var n=Us();i(a,n)},ae=a=>{var n=Qs();i(a,n)},se=a=>{var n=Ws();i(a,n)},I=a=>{var n=Xs();i(a,n)},_=a=>{var n=Ks();i(a,n)},N=a=>{var n=Js();i(a,n)},Z=a=>{var n=Ys();i(a,n)},te=a=>{var n=$s();i(a,n)},Ae=a=>{var n=et();i(a,n)},le=a=>{var n=at();i(a,n)},Pe=a=>{var n=st();i(a,n)},Ie=a=>{var n=tt();i(a,n)},xe=a=>{var n=lt();i(a,n)},we=a=>{var n=ot();i(a,n)},De=a=>{var n=rt();i(a,n)},oe=a=>{var n=nt();i(a,n)},Fe=a=>{var n=it();i(a,n)};A(S,a=>{v()==="obsidian"?a(b):v()==="github"?a(P,1):v()==="folder"?a(f,2):v()==="csv"?a(z,3):v()==="postgres"?a(X,4):v()==="supabase"?a(K,5):v()==="globe"?a(E,6):v()==="drive"?a(R,7):v()==="gmail"?a(ae,8):v()==="nextcloud"?a(se,9):v()==="notion"?a(I,10):v()==="x-bookmarks"?a(_,11):v()==="discord"?a(N,12):v()==="telegram"?a(Z,13):v()==="quickbooks"?a(te,14):v()==="polymarket"?a(Ae,15):v()==="airtable"?a(le,16):v()==="go-high-level"?a(Pe,17):v()==="clickup"?a(Ie,18):v()==="stripe"?a(xe,19):v()==="imap-email"?a(we,20):v()==="proton-mail"?a(De,21):v()==="history"?a(oe,22):a(Fe,-1)})}i(V,C)};var Ts=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo obsidian-logo svelte-xqw5vs"><path fill="#7C3AED" d="M19.355 18.538a68.967 68.959 0 0 0 1.858-2.954.81.81 0 0 0-.062-.9c-.516-.685-1.504-2.075-2.042-3.362-.553-1.321-.636-3.375-.64-4.377a1.707 1.707 0 0 0-.358-1.05l-3.198-4.064a3.744 3.744 0 0 1-.076.543c-.106.503-.307 1.004-.536 1.5-.134.29-.29.6-.446.914l-.31.626c-.516 1.068-.997 2.227-1.132 3.59-.124 1.26.046 2.73.815 4.481.128.011.257.025.386.044a6.363 6.363 0 0 1 3.326 1.505c.916.79 1.744 1.922 2.415 3.5zM8.199 22.569c.073.012.146.02.22.02.78.024 2.095.092 3.16.29.87.16 2.593.64 4.01 1.055 1.083.316 2.198-.548 2.355-1.664.114-.814.33-1.735.725-2.58l-.01.005c-.67-1.87-1.522-3.078-2.416-3.849a5.295 5.295 0 0 0-2.778-1.257c-1.54-.216-2.952.19-3.84.45.532 2.218.368 4.829-1.425 7.531zM5.533 9.938c-.023.1-.056.197-.098.29L2.82 16.059a1.602 1.602 0 0 0 .313 1.772l4.116 4.24c2.103-3.101 1.796-6.02.836-8.3-.728-1.73-1.832-3.081-2.55-3.831zM9.32 14.01c.615-.183 1.606-.465 2.74-.546-.705-1.79-.844-3.322-.71-4.565.157-1.46.686-2.69 1.214-3.756l.32-.633c.153-.303.3-.592.428-.867.266-.57.448-1.077.468-1.556.014-.343-.053-.69-.25-1.075L6.561 8.982c.713.753 1.901 2.196 2.757 4.044.145.313.279.642.4.985z" class="svelte-xqw5vs"></path></svg>'),Gs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo github-logo svelte-xqw5vs"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" class="svelte-xqw5vs"></path></svg>'),Os=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo csv-logo svelte-xqw5vs"><path fill="currentColor" d="M4 2h12l4 4v16H4z" opacity="0.18" class="svelte-xqw5vs"></path><path fill="none" stroke="currentColor" stroke-width="1.4" stroke-linejoin="miter" d="M4 2h12l4 4v16H4zM16 2v5h4M7 11h10M7 15h10M10 9v10M14 9v10" class="svelte-xqw5vs"></path></svg>'),Es=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo postgres-logo svelte-xqw5vs"><path fill="#4169E1" d="M12 2C8.2 2 5.1 3.3 5.1 5v10.2c0 1.7 3.1 3 6.9 3s6.9-1.3 6.9-3V5c0-1.7-3.1-3-6.9-3Zm0 1.9c3 0 4.9.8 4.9 1.1S15 6.1 12 6.1 7.1 5.3 7.1 5 9 3.9 12 3.9Zm4.9 11.1c0 .4-1.9 1.2-4.9 1.2s-4.9-.8-4.9-1.2v-2.1c1.2.7 2.9 1.1 4.9 1.1s3.7-.4 4.9-1.1Zm0-4c0 .4-1.9 1.2-4.9 1.2S7.1 11.4 7.1 11V8.9C8.3 9.6 10 10 12 10s3.7-.4 4.9-1.1Z" class="svelte-xqw5vs"></path></svg>'),Zs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo supabase-logo svelte-xqw5vs"><path fill="#3FCF8E" d="M11.9 1.036c-.015-.986-1.26-1.41-1.874-.637L.764 12.05C-.33 13.427.65 15.455 2.409 15.455h9.579l.113 7.51c.014.985 1.259 1.408 1.873.636l9.262-11.653c1.093-1.375.113-3.403-1.645-3.403h-9.642z" class="svelte-xqw5vs"></path></svg>'),js=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo mdn-logo svelte-xqw5vs"><path fill="#000000" d="m21.538 1.1-6.745 21.8h-2.77L18.77 1.1ZM24 1.1v21.8h-2.462V1.1Zm-12 0v21.8H9.538V1.1Zm-2.462 0L2.77 22.9H0L6.746 1.1Z" class="svelte-xqw5vs"></path></svg>'),Us=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo drive-logo svelte-xqw5vs"><path fill="#4285F4" d="M12.01 1.485c-2.082 0-3.754.02-3.743.047.01.02 1.708 3.001 3.774 6.62l3.76 6.574h3.76c2.081 0 3.753-.02 3.742-.047-.005-.02-1.708-3.001-3.775-6.62l-3.76-6.574zm-4.76 1.73a789.828 789.861 0 0 0-3.63 6.319L0 15.868l1.89 3.298 1.885 3.297 3.62-6.335 3.618-6.33-1.88-3.287C8.1 4.704 7.255 3.22 7.25 3.214zm2.259 12.653-.203.348c-.114.198-.96 1.672-1.88 3.287a423.93 423.948 0 0 1-1.698 2.97c-.01.026 3.24.042 7.222.042h7.244l1.796-3.157c.992-1.734 1.85-3.23 1.906-3.323l.104-.167h-7.249z" class="svelte-xqw5vs"></path></svg>'),Qs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo gmail-logo svelte-xqw5vs"><path fill="#EA4335" d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z" class="svelte-xqw5vs"></path></svg>'),Ws=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo nextcloud-logo svelte-xqw5vs"><path fill="#0082C9" d="M12.018 6.537c-2.5 0-4.6 1.712-5.241 4.015-.56-1.232-1.793-2.105-3.225-2.105A3.569 3.569 0 0 0 0 12a3.569 3.569 0 0 0 3.552 3.553c1.432 0 2.664-.874 3.224-2.106.641 2.304 2.742 4.016 5.242 4.016 2.487 0 4.576-1.693 5.231-3.977.569 1.21 1.783 2.067 3.198 2.067A3.568 3.568 0 0 0 24 12a3.569 3.569 0 0 0-3.553-3.553c-1.416 0-2.63.858-3.199 2.067-.654-2.284-2.743-3.978-5.23-3.977zm0 2.085c1.878 0 3.378 1.5 3.378 3.378 0 1.878-1.5 3.378-3.378 3.378A3.362 3.362 0 0 1 8.641 12c0-1.878 1.5-3.378 3.377-3.378zm-8.466 1.91c.822 0 1.467.645 1.467 1.468s-.644 1.467-1.467 1.468A1.452 1.452 0 0 1 2.085 12c0-.823.644-1.467 1.467-1.467zm16.895 0c.823 0 1.468.645 1.468 1.468s-.645 1.468-1.468 1.468A1.452 1.452 0 0 1 18.98 12c0-.823.644-1.467 1.467-1.467z" class="svelte-xqw5vs"></path></svg>'),Xs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo notion-logo svelte-xqw5vs"><path fill="#000000" d="M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z" class="svelte-xqw5vs"></path></svg>'),Ks=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo x-logo svelte-xqw5vs"><path fill="currentColor" d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z" class="svelte-xqw5vs"></path></svg>'),Js=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo discord-logo svelte-xqw5vs"><path fill="#5865F2" d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" class="svelte-xqw5vs"></path></svg>'),Ys=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo telegram-logo svelte-xqw5vs"><path fill="#26A5E4" d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z" class="svelte-xqw5vs"></path></svg>'),$s=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo quickbooks-logo svelte-xqw5vs"><path fill="#2CA01C" d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm.642 4.1335c.9554 0 1.7296.776 1.7296 1.7332v9.0667h1.6c1.614 0 2.9275-1.3156 2.9275-2.933 0-1.6173-1.3136-2.9333-2.9276-2.9333h-.6654V7.3334h.6654c2.5722 0 4.6577 2.0897 4.6577 4.667 0 2.5774-2.0855 4.6666-4.6577 4.6666H12.642zM7.9837 7.333h3.3291v12.533c-.9555 0-1.73-.7759-1.73-1.7332V9.0662H7.9837c-1.6146 0-2.9277 1.316-2.9277 2.9334 0 1.6175 1.3131 2.9333 2.9277 2.9333h.6654v1.7332h-.6654c-2.5725 0-4.6577-2.0892-4.6577-4.6665 0-2.5771 2.0852-4.6666 4.6577-4.6666Z" class="svelte-xqw5vs"></path></svg>'),et=u('<svg viewBox="0 0 2184 2184" role="img" aria-hidden="true" class="brand-logo polymarket-logo svelte-xqw5vs"><g transform="translate(0 2184) scale(0.1 -0.1)" class="svelte-xqw5vs"><path fill="currentColor" d="M10445 15709 c-2667 -764 -4860 -1391 -4872 -1394 l-23 -5 0 -3345 0 -3344 23 -7 c79 -25 9722 -2782 9724 -2780 2 1 2 2761 1 6133 l-3 6129 -4850 -1387z m3915 -1910 c0 -1939 -1 -2041 -17 -2037 -160 43 -7100 2032 -7105 2037 -7 6 7068 2037 7105 2040 16 1 17 -102 17 -2040z m-4263 -1806 c1976 -565 3591 -1028 3590 -1029 -4 -4 -7141 -2045 -7169 -2051 l-28 -5 0 2056 c0 1131 3 2056 8 2056 4 0 1623 -462 3599 -1027z m4263 -3864 l0 -2041 -27 5 c-16 3 -1617 460 -3560 1016 -1942 556 -3535 1011 -3539 1011 -4 0 -4 3 0 7 5 6 7095 2040 7119 2042 4 1 7 -918 7 -2040z" class="svelte-xqw5vs"></path></g></svg>'),at=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo airtable-logo svelte-xqw5vs"><path fill="#18BFFF" d="M11.992 1.966c-.434 0-.87.086-1.28.257L1.779 5.917c-.503.208-.49.908.012 1.116l8.982 3.558a3.266 3.266 0 0 0 2.454 0l8.982-3.558c.503-.196.503-.908.012-1.116l-8.957-3.694a3.255 3.255 0 0 0-1.272-.257zM23.4 8.056a.589.589 0 0 0-.222.045l-10.012 3.877a.612.612 0 0 0-.38.564v8.896a.6.6 0 0 0 .821.552L23.62 18.1a.583.583 0 0 0 .38-.551V8.653a.6.6 0 0 0-.6-.596zM.676 8.095a.644.644 0 0 0-.48.19C.086 8.396 0 8.53 0 8.69v8.355c0 .442.515.737.908.54l6.27-3.006.307-.147 2.969-1.436c.466-.22.43-.908-.061-1.092L.883 8.138a.57.57 0 0 0-.207-.044z" class="svelte-xqw5vs"></path></svg>'),st=x('<img src="/source-logos/highlevel-official-help-logo.png" alt="" aria-hidden="true" class="brand-logo ghl-logo svelte-xqw5vs"/>'),tt=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo clickup-logo svelte-xqw5vs"><path fill="#7B68EE" d="M2 18.439l3.69-2.828c1.961 2.56 4.044 3.739 6.363 3.739 2.307 0 4.33-1.166 6.203-3.704L22 18.405C19.298 22.065 15.941 24 12.053 24 8.178 24 4.788 22.078 2 18.439zM12.04 6.15l-6.568 5.66-3.036-3.52L12.055 0l9.543 8.296-3.05 3.509z" class="svelte-xqw5vs"></path></svg>'),lt=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo stripe-logo svelte-xqw5vs"><path fill="#635BFF" d="M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z" class="svelte-xqw5vs"></path></svg>'),ot=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo imap-logo svelte-xqw5vs"><path fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="miter" d="M3 6h18v12H3zM3 7l9 6 9-6" class="svelte-xqw5vs"></path><path fill="currentColor" d="M6 15h2v1.5H6zm3.5 0h2v1.5h-2zm3.5 0h2v1.5h-2zm3.5 0h2v1.5h-2z" class="svelte-xqw5vs"></path></svg>'),rt=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo proton-logo svelte-xqw5vs"><path fill="#6D4AFF" d="m15.24 8.998 3.656-3.073v15.81H2.482C1.11 21.735 0 20.609 0 19.223V6.944l7.58 6.38a2.186 2.186 0 0 0 2.871-.042l4.792-4.284h-.003zm-5.456 3.538 1.809-1.616a2.438 2.438 0 0 1-1.178-.533L.905 2.395A.552.552 0 0 0 0 2.826v2.811l8.226 6.923a1.186 1.186 0 0 0 1.558-.024zM23.871 2.463a.551.551 0 0 0-.776-.068l-3.199 2.688v16.653h1.623c1.371 0 2.481-1.127 2.481-2.513V2.824a.551.551 0 0 0-.129-.36z" class="svelte-xqw5vs"></path></svg>'),nt=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo chrome-logo svelte-xqw5vs"><path fill="#4285F4" d="M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z" class="svelte-xqw5vs"></path></svg>'),it=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo linear-logo svelte-xqw5vs"><path fill="#5E6AD2" d="M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z" class="svelte-xqw5vs"></path></svg>'),dt=x('<button type="button"> </button>'),ct=x('<em class="svelte-xqw5vs">Planned</em>'),vt=x('<p class="connected-loading svelte-xqw5vs">Checking source registry...</p>'),pt=x('<div class="exclude-summary svelte-xqw5vs"><span class="svelte-xqw5vs">Ignoring</span> <code class="svelte-xqw5vs"> </code></div>'),ut=x('<span class="spin svelte-xqw5vs"><!></span>'),gt=x('<article class="connected-row connected-row--inline svelte-xqw5vs"><div class="connected-main svelte-xqw5vs"><div class="connected-title-row svelte-xqw5vs"><strong class="svelte-xqw5vs"> </strong> <span class="status-badge status-badge--connected svelte-xqw5vs">Connected</span></div> <code class="svelte-xqw5vs"> </code></div> <ul class="svelte-xqw5vs"><li class="svelte-xqw5vs"><!> </li> <li class="svelte-xqw5vs"><!> </li> <li class="svelte-xqw5vs"><!> </li></ul> <!> <button class="disconnect-button svelte-xqw5vs" type="button"><!> </button></article>'),mt=x('<div class="connected-list connected-list--inline svelte-xqw5vs"></div>'),ht=x('<button class="connect-button svelte-xqw5vs" type="button"><!> Connect</button>'),xt=x('<p class="field-error svelte-xqw5vs">Vault folder is required.</p>'),wt=x('<span class="spin svelte-xqw5vs"><!></span>'),ft=x('<form class="connect-form svelte-xqw5vs"><label class="svelte-xqw5vs"><span class="svelte-xqw5vs">Display name</span> <input placeholder="Obsidian Vault" class="svelte-xqw5vs"/></label> <label class="svelte-xqw5vs"><span class="svelte-xqw5vs">Vault folder</span> <div class="path-row svelte-xqw5vs"><input placeholder="Choose your vault folder..." class="svelte-xqw5vs"/> <button type="button" class="svelte-xqw5vs"><!> </button></div></label> <!> <label class="svelte-xqw5vs"><span class="svelte-xqw5vs">Ignore globs</span> <textarea rows="5" placeholder="**/.*/** **/node_modules/**" class="svelte-xqw5vs"></textarea> <small class="field-hint svelte-xqw5vs">One glob per line or comma. Default ignores Obsidian internals, trash, Hermes metadata, hidden dot-folders, and hidden files.</small></label> <button class="connect-button svelte-xqw5vs" type="submit"><!> </button></form>'),bt=x("<!> <!>",1),_t=x('<p class="form-status form-status--info svelte-xqw5vs">Planned source. Not connectable yet.</p>'),qt=x('<p class="form-status form-status--info svelte-xqw5vs"> </p>'),kt=x('<p class="form-status form-status--error svelte-xqw5vs"> </p>'),yt=x('<article><button type="button"><span><!></span> <span class="connector-copy svelte-xqw5vs"><strong class="svelte-xqw5vs"> </strong> <small class="svelte-xqw5vs"> </small></span> <span><!></span></button> <div><p class="connector-description svelte-xqw5vs"> </p> <!> <!> <!></div></article>'),Mt=x('<div class="sources-tab svelte-xqw5vs"><div class="sources-shell svelte-xqw5vs"><main class="sources-main svelte-xqw5vs"><header class="sources-masthead svelte-xqw5vs"><span class="eyebrow svelte-xqw5vs">Sources</span> <h1 class="svelte-xqw5vs">Connect knowledge bases</h1> <p class="svelte-xqw5vs">Bring external context into Signet while preserving the original source of truth.</p></header> <section class="source-toolbar svelte-xqw5vs" aria-label="Source filters"><label class="search-box svelte-xqw5vs" for="source-search"><span class="svelte-xqw5vs"><!></span> <input id="source-search" placeholder="Search sources" class="svelte-xqw5vs"/></label> <div class="filter-tabs svelte-xqw5vs" role="group" aria-label="Source type filters"></div> <div class="read-first svelte-xqw5vs"><span class="svelte-xqw5vs">Read-only first</span> <span class="switch svelte-xqw5vs" aria-hidden="true"><span class="svelte-xqw5vs"></span></span> <!></div></section> <section class="recall-map svelte-xqw5vs" aria-label="Source recall diagram"><div class="map-grid svelte-xqw5vs" aria-hidden="true"></div> <div class="map-left map-stack svelte-xqw5vs"><div class="map-node node-obsidian svelte-xqw5vs"><!></div> <div class="map-node node-github svelte-xqw5vs"><!></div> <div class="map-node node-folder svelte-xqw5vs"><!></div> <div class="map-node node-csv svelte-xqw5vs"><!></div> <div class="map-node node-web svelte-xqw5vs"><!></div></div> <svg class="map-connections svelte-xqw5vs" viewBox="0 0 620 240" preserveAspectRatio="none" aria-hidden="true"><defs class="svelte-xqw5vs"><filter id="wire-glow" x="-20%" y="-20%" width="140%" height="140%" class="svelte-xqw5vs"><feGaussianBlur stdDeviation="1.5" result="blur" class="svelte-xqw5vs"></feGaussianBlur><feMerge class="svelte-xqw5vs"><feMergeNode in="blur" class="svelte-xqw5vs"></feMergeNode><feMergeNode in="SourceGraphic" class="svelte-xqw5vs"></feMergeNode></feMerge></filter></defs><path d="M 76 38 C 160 38, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 84 C 160 84, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 130 C 160 130, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 176 C 160 176, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 38 C 460 38, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 84 C 460 84, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 130 C 460 130, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 176 C 460 176, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 222 C 460 222, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 38 C 160 38, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: 0s;"></path><path d="M 76 84 C 160 84, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -0.6s;"></path><path d="M 76 130 C 160 130, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -1.2s;"></path><path d="M 76 176 C 160 176, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -1.8s;"></path><path d="M 544 38 C 460 38, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -0.3s;"></path><path d="M 544 84 C 460 84, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -0.9s;"></path><path d="M 544 130 C 460 130, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -1.5s;"></path><path d="M 544 176 C 460 176, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -2.1s;"></path><path d="M 544 222 C 460 222, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -2.7s;"></path></svg> <div class="map-center svelte-xqw5vs"><img src="/logo-dark.png" alt="Signet" class="map-logo svelte-xqw5vs"/> <span class="map-tagline svelte-xqw5vs">Bring context to your agent</span></div> <div class="map-right map-stack svelte-xqw5vs"><div class="map-node node-drive svelte-xqw5vs"><!></div> <div class="map-node node-notion svelte-xqw5vs"><!></div> <div class="map-node node-nextcloud svelte-xqw5vs"><!></div> <div class="map-node node-postgres svelte-xqw5vs"><!></div> <div class="map-node node-supabase svelte-xqw5vs"><!></div> <div class="map-node node-x-bookmarks svelte-xqw5vs"><!></div></div> <div class="map-counts svelte-xqw5vs"><span class="svelte-xqw5vs"> </span><span class="svelte-xqw5vs"> </span></div></section> <section id="featured-sources" class="featured-panel svelte-xqw5vs" aria-label="Featured sources"><header class="section-label svelte-xqw5vs">Featured sources</header> <div></div> <footer class="svelte-xqw5vs"> </footer></section></main></div></div>');function It(V,v){Se(v,!0);let C=w(ks([])),S=w(!0),b=w(!1),P=w(null),f=w(!1),z=w(""),X=w("all"),K=w("obsidian"),E=w(!1),R=w(""),ae=w("Obsidian Vault"),se=w(`**/.obsidian/**
2
+ **/.trash/**
3
+ **/.hermes/**
4
+ **/.*/**
5
+ **/.*`),I=w(null),_=w(null),N=w(!1),Z=w(null);const te=[{kind:"obsidian",name:"Obsidian Vault",detail:"Markdown vaults, folders, links",description:"Index Markdown files, folder structure, and links from your Obsidian vault. Signet reads locally and never writes back to your vault.",icon:"obsidian",category:"local",tags:["local","markdown","read-only"],status:"available",indexes:["Markdown files (*.md)","Links and wikilinks","Folder paths and structure"],never:["Write back to your vault"],learnMore:[{label:"Obsidian integration guide",href:"https://github.com/Signet-AI/signetai"},{label:"Supported features",href:"https://github.com/Signet-AI/signetai"}]},{kind:"github",name:"GitHub Repositories",detail:"Issues, PRs, code, docs",description:"Bring repository context, issues, pull requests, and project docs into recall.",icon:"github",category:"code",tags:["code","cloud"],status:"planned",indexes:["Repository files","Issues and PRs","Project documentation"],never:["Push changes without an explicit action"],learnMore:[]},{kind:"clickup",name:"ClickUp",detail:"Tasks, docs, spaces",description:"Connect ClickUp spaces, lists, tasks, docs, and comments as project context with workspace/list provenance attached.",icon:"clickup",category:"code",tags:["code","project-management","tasks","clickup","planned"],status:"planned",indexes:["Tasks and subtasks","Docs","Spaces and lists"],never:["Change task status or assign owners from indexing"],learnMore:[]},{kind:"csv",name:"CSV Imports",detail:"Tables, exports, structured rows",description:"Index CSV exports and structured tables as provenance-labeled source context without turning every row into ordinary memory.",icon:"csv",category:"data",tags:["data","csv","tables","planned"],status:"planned",indexes:["CSV rows","Column names","Original file path"],never:["Overwrite the source spreadsheet or export"],learnMore:[]},{kind:"postgres",name:"PostgreSQL",detail:"Read-only tables and views",description:"Connect selected PostgreSQL tables or views for read-only recall with query/source provenance kept intact.",icon:"postgres",category:"data",tags:["data","postgres","database","planned"],status:"planned",indexes:["Selected tables","Views","Schema metadata"],never:["Run mutating SQL during indexing"],learnMore:[]},{kind:"supabase",name:"Supabase",detail:"Projects, tables, edge data",description:"Connect Supabase projects as a managed Postgres source with read-only indexing and table-level provenance.",icon:"supabase",category:"data",tags:["data","supabase","postgres","planned"],status:"planned",indexes:["Selected tables","Project metadata","Row provenance"],never:["Write records back from recall"],learnMore:[]},{kind:"web-docs",name:"Web Docs",detail:"Crawl documentation sites",description:"Crawl public documentation pages and keep their provenance attached to recall hits.",icon:"globe",category:"docs",tags:["docs","web"],status:"planned",indexes:["Documentation pages","Page titles","Source URLs"],never:["Bypass private access controls"],learnMore:[]},{kind:"notion",name:"Notion",detail:"Pages and databases",description:"Index selected Notion pages and databases as source context.",icon:"notion",category:"docs",tags:["docs","cloud"],status:"planned",indexes:["Pages","Databases","Linked blocks"],never:["Edit workspace content from recall"],learnMore:[]},{kind:"google-drive",name:"Google Drive",detail:"Docs, sheets, shared folders",description:"Connect selected Drive folders and Google Workspace documents.",icon:"drive",category:"cloud",tags:["cloud","docs"],status:"planned",indexes:["Docs and sheets","Shared folders","File metadata"],never:["Modify Drive files during indexing"],learnMore:[]},{kind:"gmail",name:"Gmail",detail:"Mail threads and attachments",description:"Bring searchable mail-thread context into Signet recall with clear mail provenance.",icon:"gmail",category:"cloud",tags:["cloud","mail"],status:"planned",indexes:["Mail threads","Participants","Attachment metadata"],never:["Send mail without a separate action"],learnMore:[]},{kind:"nextcloud",name:"Nextcloud",detail:"Self-hosted files and notes",description:"Index files and notes from a self-hosted Nextcloud instance.",icon:"nextcloud",category:"cloud",tags:["cloud","self-hosted"],status:"planned",indexes:["Files","Notes","Folder metadata"],never:["Write changes back by default"],learnMore:[]},{kind:"x-bookmarks",name:"X Bookmarks",detail:"Saved posts and research trails",description:"Index opted-in X bookmarks so saved posts, threads, and source URLs can be recalled later with clear X provenance.",icon:"x-bookmarks",category:"social",tags:["social","x","bookmarks","twitter","planned"],status:"planned",indexes:["Bookmarked posts","Thread URLs","Author handles"],never:["Post, like, or follow accounts"],learnMore:[]},{kind:"discord",name:"Discord",detail:"Servers, channels, threads",description:"Index opted-in Discord servers, channels, and threads as source-labeled conversation context with server/channel provenance.",icon:"discord",category:"social",tags:["social","discord","chat","planned"],status:"planned",indexes:["Selected channels","Threads","Message authors and timestamps"],never:["Send messages without an explicit action"],learnMore:[]},{kind:"telegram",name:"Telegram",detail:"Chats, groups, channels",description:"Bring opted-in Telegram chats and channels into recall while preserving chat/source boundaries.",icon:"telegram",category:"social",tags:["social","telegram","chat","planned"],status:"planned",indexes:["Selected chats","Groups and channels","Message metadata"],never:["Reply or forward messages from indexing"],learnMore:[]},{kind:"quickbooks",name:"QuickBooks",detail:"Invoices, customers, accounting",description:"Connect QuickBooks as a read-only business source for invoice, customer, vendor, and transaction context.",icon:"quickbooks",category:"data",tags:["data","accounting","finance","quickbooks","planned"],status:"planned",indexes:["Invoices and estimates","Customers and vendors","Account metadata"],never:["Create transactions or mutate books"],learnMore:[]},{kind:"polymarket",name:"Polymarket",detail:"Markets, odds, research signals",description:"Index watched Polymarket markets, prices, and market metadata as provenance-backed research context.",icon:"polymarket",category:"data",tags:["data","markets","prediction","polymarket","planned"],status:"planned",indexes:["Watched markets","Prices and outcomes","Market metadata"],never:["Place trades or manage funds"],learnMore:[]},{kind:"airtable",name:"Airtable",detail:"Bases, tables, records",description:"Connect selected Airtable bases and tables for structured recall with base/table provenance attached.",icon:"airtable",category:"data",tags:["data","airtable","tables","planned"],status:"planned",indexes:["Selected bases","Tables and records","Field metadata"],never:["Edit records during indexing"],learnMore:[]},{kind:"go-high-level",name:"Go High Level",detail:"CRM, contacts, pipelines",description:"Connect Go High Level CRM data as read-only source context for contacts, opportunities, and client workflows.",icon:"go-high-level",category:"cloud",tags:["cloud","crm","marketing","go high level","ghl","planned"],status:"planned",indexes:["Contacts","Opportunities","Pipeline metadata"],never:["Trigger automations or message contacts"],learnMore:[]},{kind:"stripe",name:"Stripe",detail:"Payments, customers, invoices",description:"Index Stripe customers, payments, subscriptions, invoices, and dispute metadata as read-only business context.",icon:"stripe",category:"data",tags:["data","payments","finance","stripe","planned"],status:"planned",indexes:["Customers","Invoices and subscriptions","Payment and dispute metadata"],never:["Create charges, refunds, or payouts"],learnMore:[]},{kind:"imap-email",name:"IMAP Email",detail:"Generic mailboxes and folders",description:"Connect a standards-based IMAP mailbox for read-only thread, sender, folder, and attachment-metadata recall.",icon:"imap-email",category:"cloud",tags:["cloud","mail","email","imap","planned"],status:"planned",indexes:["Mail folders","Threads and senders","Attachment metadata"],never:["Send, delete, or move mail during indexing"],learnMore:[]},{kind:"proton-mail",name:"Proton Mail",detail:"Encrypted mail via Bridge",description:"Connect Proton Mail through Bridge/IMAP so mailbox context can be recalled without Signet becoming the source of truth.",icon:"proton-mail",category:"cloud",tags:["cloud","mail","email","proton","protonmail","planned"],status:"planned",indexes:["Mail folders","Threads","Sender and timestamp metadata"],never:["Bypass Proton encryption or send mail from indexing"],learnMore:[]},{kind:"browser-history",name:"Browser History",detail:"Research trails and pages",description:"Index opted-in browsing trails so research context can be recalled later.",icon:"history",category:"local",tags:["local","research"],status:"planned",indexes:["Visited pages","Titles","Research trails"],never:["Index private history without opt-in"],learnMore:[]},{kind:"linear",name:"Linear",detail:"Issues and project context",description:"Connect project issues, teams, and status context from Linear.",icon:"linear",category:"code",tags:["code","cloud"],status:"planned",indexes:["Issues","Projects","Teams"],never:["Change issue state from recall"],learnMore:[]}],Ae=[{id:"all",label:"All"},{id:"local",label:"Local"},{id:"cloud",label:"Cloud"},{id:"data",label:"Data"},{id:"social",label:"Social"},{id:"code",label:"Code"},{id:"docs",label:"Docs"}],le=G(()=>e(C).filter(r=>r.kind==="obsidian")),Pe=G(()=>e(le).length),Ie=G(()=>e(le).filter(r=>r.lastIndexedAt||(r.stats?.indexed??0)>0).length),xe=G(()=>e(R).trim().length===0),we=G(()=>!e(xe)&&!e(b)&&e(K)==="obsidian"),De=G(()=>{const r=e(z).trim().toLowerCase();return te.filter(l=>{const p=e(X)==="all"||l.category===e(X),L=r.length===0||l.name.toLowerCase().includes(r)||l.detail.toLowerCase().includes(r)||l.tags.some(D=>D.includes(r));return p&&L})});ys(()=>{oe()});async function oe(){d(S,!0),d(_,null);try{d(C,await Ss(),!0)}finally{d(S,!1)}}function Fe(r){const l=e(Z)===r;d(K,r,!0),d(Z,l?null:r,!0),d(E,!1),d(I,null),d(_,null),d(N,!1)}async function a(){const r=Is();d(f,!0),d(_,null),d(I,null);try{if(r?.pickDirectory){const p=await r.pickDirectory({title:"Choose Obsidian vault"});p&&(d(R,p,!0),d(N,!0));return}const l=await Ps("Choose Obsidian vault");if(l.path){d(R,l.path,!0),d(N,!0);return}l.error&&d(_,l.error,!0)}catch(l){d(_,l instanceof Error?l.message:"Could not open folder picker.",!0)}finally{d(f,!1)}}async function n(){if(d(N,!0),!!e(we)){d(b,!0),d(I,null),d(_,null);try{const r=Ga(e(se)),l=await As(e(R).trim(),e(ae).trim()||void 0,r);if(l.error){d(_,l.error,!0);return}d(I,`${l.created?"Connected":"Updated"} ${l.source.name}. Indexed ${l.indexed} changed notes.`),d(R,""),d(N,!1),d(E,!1),await oe()}finally{d(b,!1)}}}async function Ha(r){if(window.confirm(`Remove ${r.name} from Signet?
6
+
7
+ This purges Signet's indexed source rows and chunks, but leaves the original vault files untouched.`)){d(P,r.id,!0),d(I,null),d(_,null);try{const p=await Bs(r.id);if(p.error){d(_,p.error,!0);return}d(I,`Removed ${r.name}. Purged ${p.purged??0} Signet-owned source rows; vault files were not touched.`),await oe()}finally{d(P,null)}}}function Ta(r){if(!r)return"Not completed yet";const l=new Date(r);return Number.isNaN(l.getTime())?r:l.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Ga(r){return Array.from(new Set(r.split(/[\n,]/).map(l=>l.trim()).filter(Boolean)))}function ga(r){const l=r.stats?.indexed??0,p=r.stats?.chunks??0;return l>0?`${l} notes · ${p} chunks${r.lastIndexedAt?"":" · syncing"}`:r.lastIndexedAt?"Scan completed with no indexed notes":"Connected; waiting for first indexed note"}var Ve=Mt(),ma=t(Ve),ha=t(ma),Re=o(t(ha),2),Ne=t(Re),He=t(Ne),Oa=t(He);zs(Oa,{}),s(He);var xa=o(He,2);na(xa),s(Ne);var Te=o(Ne,2);ia(Te,21,()=>Ae,r=>r.id,(r,l)=>{var p=dt();let L;var D=t(p,!0);s(p),T(()=>{L=W(p,1,"svelte-xqw5vs",null,L,{active:e(X)===e(l).id}),h(D,e(l).label)}),me("click",p,()=>d(X,e(l).id,!0)),i(r,p)}),s(Te);var wa=o(Te,2),Ea=o(t(wa),4);Ls(Ea,{}),s(wa),s(Re);var Ge=o(Re,2),Oe=o(t(Ge),2),Ee=t(Oe),Za=t(Ee);M(Za,()=>"obsidian"),s(Ee);var Ze=o(Ee,2),ja=t(Ze);M(ja,()=>"github"),s(Ze);var je=o(Ze,2),Ua=t(je);M(Ua,()=>"folder"),s(je);var Ue=o(je,2),Qa=t(Ue);M(Qa,()=>"csv"),s(Ue);var fa=o(Ue,2),Wa=t(fa);M(Wa,()=>"globe"),s(fa),s(Oe);var Qe=o(Oe,6),We=t(Qe),Xa=t(We);M(Xa,()=>"drive"),s(We);var Xe=o(We,2),Ka=t(Xe);M(Ka,()=>"notion"),s(Xe);var Ke=o(Xe,2),Ja=t(Ke);M(Ja,()=>"nextcloud"),s(Ke);var Je=o(Ke,2),Ya=t(Je);M(Ya,()=>"postgres"),s(Je);var Ye=o(Je,2),$a=t(Ye);M($a,()=>"supabase"),s(Ye);var ba=o(Ye,2),es=t(ba);M(es,()=>"x-bookmarks"),s(ba),s(Qe);var _a=o(Qe,2),$e=t(_a),as=t($e);s($e);var qa=o($e),ss=t(qa);s(qa),s(_a),s(Ge);var ka=o(Ge,2),fe=o(t(ka),2);let ya;ia(fe,21,()=>e(De),r=>r.kind,(r,l)=>{const p=G(()=>e(Z)===e(l).kind),L=G(()=>e(l).kind==="obsidian"?e(le):[]),D=G(()=>e(L).length>0);var be=yt();let Ca;var J=t(be);let Sa;var _e=t(J),ls=t(_e);M(ls,()=>e(l).icon),s(_e);var ea=o(_e,2),aa=t(ea),os=t(aa,!0);s(aa);var za=o(aa,2),rs=t(za,!0);s(za),s(ea);var sa=o(ea,2);let La;var ns=t(sa);{var is=c=>{Fa(c,{})},ds=c=>{Va(c,{})},cs=c=>{Ds(c,{})},vs=c=>{var g=ct();i(c,g)},ps=c=>{Fs(c,{})};A(ns,c=>{e(D)?c(is):e(p)?c(ds,1):e(l).status==="available"?c(cs,2):e(l).status==="planned"?c(vs,3):c(ps,-1)})}s(sa),s(J);var qe=o(J,2);let Ba;var ta=t(qe),us=t(ta,!0);s(ta);var Aa=o(ta,2);{var gs=c=>{var g=vt();i(c,g)},ms=c=>{var g=mt();ia(g,21,()=>e(L),F=>F.id,(F,q)=>{var re=gt(),ne=t(re),B=t(ne),k=t(B),j=t(k,!0);s(k),da(2),s(B);var ie=o(B,2),de=t(ie,!0);s(ie),s(ne);var Y=o(ne,2),O=t(Y),U=t(O);Fa(U,{});var ke=o(U);s(O);var ce=o(O,2),ve=t(ce);Na(ve,{});var la=o(ve);s(ce);var $=o(ce,2),pe=t($);Na(pe,{});var ue=o(pe);s($),s(Y);var ge=o(Y,2);{var oa=y=>{var H=pt(),Me=o(t(H),2),_s=t(Me,!0);s(Me),s(H),T(qs=>h(_s,qs),[()=>e(q).excludeGlobs.join(", ")]),i(y,H)};A(ge,y=>{e(q).excludeGlobs?.length&&y(oa)})}var ee=o(ge,2),ye=t(ee);{var m=y=>{var H=ut(),Me=t(H);Ra(Me,{}),s(H),i(y,H)},Q=y=>{Va(y,{})};A(ye,y=>{e(P)===e(q).id?y(m):y(Q,-1)})}var ra=o(ye);s(ee),s(re),T((y,H)=>{h(j,e(q).name),h(de,e(q).root),h(ke,` ${e(q).enabled?"Enabled":"Disabled"}`),h(la,` ${y??""}`),h(ue,` Last complete scan: ${H??""}`),ee.disabled=e(P)===e(q).id,h(ra,` ${e(P)===e(q).id?"Removing":"Disconnect vault"}`)},[()=>ga(e(q)),()=>Ta(e(q).lastIndexedAt)]),me("click",ee,()=>{Ha(e(q))}),i(F,re)}),s(g),i(c,g)},hs=c=>{var g=bt(),F=he(g);{var q=B=>{var k=ht(),j=t(k);Hs(j,{}),da(),s(k),T(()=>k.disabled=!e(p)),me("click",k,()=>d(E,!0)),i(B,k)};A(F,B=>{(!e(E)||!e(p))&&B(q)})}var re=o(F,2);{var ne=B=>{var k=ft(),j=t(k),ie=o(t(j),2);na(ie),s(j);var de=o(j,2),Y=o(t(de),2),O=t(Y);na(O);var U=o(O,2),ke=t(U);Vs(ke,{});var ce=o(ke);s(U),s(Y),s(de);var ve=o(de,2);{var la=m=>{var Q=xt();i(m,Q)};A(ve,m=>{e(N)&&e(xe)&&m(la)})}var $=o(ve,2),pe=o(t($),2);Ms(pe),da(2),s($);var ue=o($,2),ge=t(ue);{var oa=m=>{var Q=wt(),ra=t(Q);Ra(ra,{}),s(Q),i(m,Q)},ee=m=>{Ns(m,{})};A(ge,m=>{e(b)?m(oa):m(ee,-1)})}var ye=o(ge);s(ue),s(k),T(()=>{U.disabled=e(f),h(ce,` ${e(f)?"Opening":"Browse"}`),ue.disabled=!e(we),h(ye,` ${e(b)?"Indexing":"Add source"}`)}),Da("submit",k,m=>{m.preventDefault(),n()}),Ce(ie,()=>e(ae),m=>d(ae,m)),Da("blur",O,()=>d(N,!0)),Ce(O,()=>e(R),m=>d(R,m)),me("click",U,()=>{a()}),Ce(pe,()=>e(se),m=>d(se,m)),i(B,k)};A(re,B=>{e(E)&&e(p)&&e(l).kind==="obsidian"&&B(ne)})}i(c,g)},xs=c=>{var g=_t();i(c,g)};A(Aa,c=>{e(S)&&e(l).kind==="obsidian"?c(gs):e(D)?c(ms,1):e(l).status==="available"?c(hs,2):c(xs,-1)})}var Pa=o(Aa,2);{var ws=c=>{var g=qt(),F=t(g,!0);s(g),T(()=>h(F,e(I))),i(c,g)};A(Pa,c=>{e(K)===e(l).kind&&e(I)&&c(ws)})}var fs=o(Pa,2);{var bs=c=>{var g=kt(),F=t(g,!0);s(g),T(()=>h(F,e(_))),i(c,g)};A(fs,c=>{e(K)===e(l).kind&&e(_)&&c(bs)})}s(qe),s(be),T(c=>{Ca=W(be,1,"connector-card svelte-xqw5vs",null,Ca,{expanded:e(p),connected:e(D),compressed:e(Z)!==null&&!e(p)}),Sa=W(J,1,"connector-row svelte-xqw5vs",null,Sa,{selected:e(p)}),Ia(J,"aria-expanded",e(p)),W(_e,1,`connector-icon icon-${e(l).icon}`,"svelte-xqw5vs"),h(os,e(D)&&e(L)[0]?e(L)[0].name:e(l).name),h(rs,c),La=W(sa,1,"connector-action svelte-xqw5vs",null,La,{available:e(l).status==="available",connected:e(D)}),Ba=W(qe,1,"connector-expand svelte-xqw5vs",null,Ba,{open:e(p)}),Ia(qe,"aria-hidden",!e(p)),h(us,e(l).description)},[()=>e(D)&&e(L)[0]?ga(e(L)[0]):e(l).detail]),me("click",J,()=>Fe(e(l).kind)),i(r,be)}),s(fe);var Ma=o(fe,2),ts=t(Ma);s(Ma),s(ka),s(ha),s(ma),s(Ve),T((r,l)=>{h(as,`${e(Pe)??""} connected`),h(ss,`${e(Ie)??""} indexed`),ya=W(fe,1,"connector-grid svelte-xqw5vs",null,ya,{"has-expanded":e(Z)!==null}),h(ts,`${r??""} live / ${l??""} planned sources`)},[()=>te.filter(r=>r.status==="available").length,()=>te.filter(r=>r.status==="planned").length]),Ce(xa,()=>e(z),r=>d(z,r)),i(V,Ve),Be()}Cs(["click"]);export{It as default};