signetai 0.107.0 → 0.108.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/assets/MarketplaceTab.D-PeLdJA.css +1 -0
- package/dashboard/_app/immutable/chunks/{DSDYDHQ-.js → 5kgy1lV6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Cu-0-RDf.js → 6FKartbp.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DXFE29Ye.js → 7UpOu0jQ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BpDMOieo.js → B4bvSpdr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D9HzlWQ7.js → BBVJf1TR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DfQVaeiQ.js → BJHY3MsP.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Q1_2wcla.js → BZU7uF1c.js} +1 -1
- package/dashboard/_app/immutable/chunks/BbN3QJmE.js +31 -0
- package/dashboard/_app/immutable/chunks/{BL0FTAz7.js → BefOdgW9.js} +1 -1
- package/dashboard/_app/immutable/chunks/{-BQlwiR8.js → BlC4GMGb.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CXo8uy2z.js → Bl__7YlR.js} +2 -2
- package/dashboard/_app/immutable/chunks/{BQEIROLH.js → BrHM82Nz.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BUUoqsyZ.js → Bw7BILK6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CTUg4cRf.js → By9xBe2d.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Zi87dVSo.js → C14j3iMn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CWOnYZ-E.js → C32XExjU.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D_2hJSdi.js → C76907q5.js} +1 -1
- package/dashboard/_app/immutable/chunks/{ROB1JVA6.js → CFXVToLs.js} +1 -1
- package/dashboard/_app/immutable/chunks/{yMO3iiEo.js → CKDuI5zp.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B_IN7YaK.js → CMdTbq5l.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BmpaaUxI.js → CQ2vbjHr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CLJPLb0H.js → CQEz51Ys.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CUJRkhz6.js → CSXFhKfF.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DDPxI7Z-.js → CWKWsvt0.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DtPv-Xye.js → CbP6En-O.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DCXU83i1.js → CsTDIQr3.js} +1 -1
- package/dashboard/_app/immutable/chunks/{RPpuf9zm.js → CtcoupBW.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DsNciQto.js → CxtTK1-v.js} +1 -1
- package/dashboard/_app/immutable/chunks/{ClQ249hM.js → CyncSwlu.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CCqi6Mne.js → CzLsIu0a.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DphtfA0A.js → CztJzIms.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BAHQC_w0.js → D4EJHnan.js} +1 -1
- package/dashboard/_app/immutable/chunks/{qcfz2BwG.js → DA692hul.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CpkUaR5a.js → DCNYiSrS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DkU48wIU.js → DDGcuOj9.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BS4B1veI.js → DICg2CX5.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D8hUw7Ak.js → DU2cy7kr.js} +1 -1
- package/dashboard/_app/immutable/chunks/De4A6hYY.js +64 -0
- package/dashboard/_app/immutable/chunks/{GVWNbu-D.js → De7Jo0KS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CGxv2yDb.js → Df46YgQn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BwSo8eZe.js → Dmg-fJ-9.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CwyFCq_m.js → DnjHKdCH.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CA0yPYoV.js → Dw2SVC6i.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BcQ6_VLY.js → JofP5NxT.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BmuOAxEE.js → LOxM8c9I.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DCEjcyvT.js → N0VM2GIg.js} +2 -2
- package/dashboard/_app/immutable/chunks/{oHpmB0jZ.js → a2OQYkje.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DdRTQphb.js → e74IeGQm.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.Bznz9C94.js → app.CMsybvZe.js} +2 -2
- package/dashboard/_app/immutable/entry/start.CcowGPpC.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.BfIlbkcV.js → 1.BNiIcLlc.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.PNB8WC8D.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/dist/daemon.js +908 -491
- package/dist/mcp-stdio.js +231 -28
- package/package.json +1 -1
- package/dashboard/_app/immutable/assets/MarketplaceTab.2Q9FQw0y.css +0 -1
- package/dashboard/_app/immutable/chunks/B2hKCsiV.js +0 -26
- package/dashboard/_app/immutable/chunks/Eejz4U4N.js +0 -64
- package/dashboard/_app/immutable/entry/start.B0FCnwyq.js +0 -1
- package/dashboard/_app/immutable/nodes/2.CJEzAlUU.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.detail-header.svelte-4mjdk4{display:flex;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--sig-border)}.detail-title-wrap.svelte-4mjdk4{min-width:0;display:flex;flex-direction:column;gap:6px}.detail-title.svelte-4mjdk4{margin:0;font-family:var(--font-display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--sig-text-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-badges.svelte-4mjdk4{display:flex;gap:6px;flex-wrap:wrap}.detail-badge.svelte-4mjdk4,.detail-rank.svelte-4mjdk4{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted)}.detail-badge.svelte-4mjdk4{border:1px solid var(--sig-border-strong);padding:2px 6px}.detail-badge-official.svelte-4mjdk4{border-color:color-mix(in srgb,var(--sig-success) 70%,var(--sig-border-strong));color:var(--sig-success)}.detail-action.svelte-4mjdk4{flex-shrink:0}.detail-body.svelte-4mjdk4{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.detail-description.svelte-4mjdk4,.review-muted.svelte-4mjdk4,.review-meta.svelte-4mjdk4,.review-body.svelte-4mjdk4{margin:0;font-family:var(--font-mono);font-size:10px;line-height:1.45;color:var(--sig-text-muted)}.detail-link.svelte-4mjdk4{font-family:var(--font-mono);font-size:10px;color:var(--sig-accent);text-decoration:none}.detail-link.svelte-4mjdk4:hover{text-decoration:underline}.reviews-section{margin-top:6px;padding-top:0;display:flex;flex-direction:column;gap:8px;border:1px solid var(--sig-border);background:var(--sig-surface-raised);border-radius:.5rem}.reviews-content.svelte-4mjdk4{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.reviews-filters.svelte-4mjdk4{display:flex;gap:6px;flex-wrap:wrap}.review-filter.svelte-4mjdk4{border:1px solid var(--sig-border);background:var(--sig-surface-raised);color:var(--sig-text-muted);font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;cursor:pointer}.review-filter.active.svelte-4mjdk4{color:var(--sig-text-bright);border-color:var(--sig-accent)}.review-form.svelte-4mjdk4{display:flex;flex-direction:column;gap:7px;padding:8px;background:var(--sig-surface-raised);border:1px solid var(--sig-border);border-radius:.45rem}.review-row.svelte-4mjdk4{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px}.review-actions.svelte-4mjdk4{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-gate.svelte-4mjdk4{font-family:var(--font-mono);font-size:10px;line-height:1.4;color:var(--sig-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.review-list.svelte-4mjdk4{display:flex;flex-direction:column;gap:8px}.review-item.svelte-4mjdk4{padding:8px;background:var(--sig-surface-raised);border-radius:.45rem;display:flex;flex-direction:column;gap:4px}.review-title.svelte-4mjdk4{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--sig-text-bright)}@media(max-width:640px){.review-row.svelte-4mjdk4{grid-template-columns:1fr}.review-actions.svelte-4mjdk4{align-items:flex-start;flex-direction:column}.review-gate.svelte-4mjdk4{white-space:normal}}.sheet-header.svelte-1n2gzyy{padding:14px 16px;border-bottom:1px solid var(--sig-border)}.sheet-title.svelte-1n2gzyy{margin:0;font-family:var(--font-display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--sig-text-bright)}.sheet-subtitle.svelte-1n2gzyy{margin:4px 0 0;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted)}.sheet-body.svelte-1n2gzyy{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.muted.svelte-1n2gzyy{margin:0;font-family:var(--font-mono);font-size:11px;color:var(--sig-text-muted)}.server-description.svelte-1n2gzyy{margin:0;font-family:var(--font-mono);font-size:11px;line-height:1.55;color:var(--sig-text)}.source-link.svelte-1n2gzyy{font-family:var(--font-mono);font-size:10px;color:var(--sig-accent);text-decoration:none}.source-link.svelte-1n2gzyy:hover{text-decoration:underline}.config-card.svelte-1n2gzyy{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--sig-border);background:var(--sig-surface-raised)}.field-row.two-col.svelte-1n2gzyy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-group.svelte-1n2gzyy{display:flex;flex-direction:column;gap:6px}.field-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted);font-family:var(--font-mono)}.field-input,.field-select,.field-textarea{background:var(--sig-surface);border:1px solid var(--sig-border-strong);color:var(--sig-text-bright);font-size:11px}.field-select{height:32px;padding:0 8px;border-radius:.5rem}.field-select-content{background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);border-radius:.5rem}.field-select-item{font-family:var(--font-mono);font-size:10px}.field-textarea{resize:vertical;min-height:70px}.row-head.svelte-1n2gzyy{display:flex;align-items:center;justify-content:space-between;gap:8px}.row-list.svelte-1n2gzyy{display:flex;flex-direction:column;gap:6px}.row-item.svelte-1n2gzyy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.2fr) auto;gap:6px;align-items:center}.inline-hint.svelte-1n2gzyy{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.inline-alert.svelte-1n2gzyy{padding:8px 10px;border:1px solid color-mix(in srgb,var(--sig-danger) 35%,var(--sig-border));background:color-mix(in srgb,var(--sig-danger) 10%,transparent);font-family:var(--font-mono);font-size:10px;color:var(--sig-danger)}.test-panel.svelte-1n2gzyy{border:1px solid var(--sig-border);padding:8px 10px;display:flex;flex-direction:column;gap:5px;background:var(--sig-surface-raised)}.test-panel[data-state=success].svelte-1n2gzyy{border-color:color-mix(in srgb,var(--sig-success) 45%,var(--sig-border))}.test-panel[data-state=error].svelte-1n2gzyy{border-color:color-mix(in srgb,var(--sig-danger) 45%,var(--sig-border))}.test-head.svelte-1n2gzyy{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted)}.test-message.svelte-1n2gzyy,.test-tools.svelte-1n2gzyy{margin:0;font-family:var(--font-mono);font-size:11px;line-height:1.45;color:var(--sig-text)}.sheet-footer.svelte-1n2gzyy{padding:10px 16px;border-top:1px solid var(--sig-border);display:flex;align-items:center;justify-content:space-between;gap:10px}.footer-hint.svelte-1n2gzyy{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.footer-actions.svelte-1n2gzyy{display:flex;align-items:center;gap:8px}@media(max-width:820px){.row-item.svelte-1n2gzyy{grid-template-columns:1fr}.sheet-footer.svelte-1n2gzyy{flex-direction:column;align-items:stretch}.footer-actions.svelte-1n2gzyy{justify-content:flex-end}}.usage-panel.svelte-1xbym7b{border:1px solid var(--sig-border);border-radius:var(--radius);background:var(--sig-surface);padding:var(--space-md);position:relative;overflow:hidden}.usage-panel.svelte-1xbym7b:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0px,transparent 2px,rgba(255,255,255,var(--sig-scanline-opacity, .015)) 2px,rgba(255,255,255,var(--sig-scanline-opacity, .015)) 4px)}.panel-row.svelte-1xbym7b{display:flex;gap:var(--space-sm)}.pane.svelte-1xbym7b{border:1px solid var(--sig-border);border-radius:var(--radius);background:var(--sig-surface-raised);padding:var(--space-sm) var(--space-md)}.constellation-pane.svelte-1xbym7b{flex:1;min-width:0}.pane-inner.svelte-1xbym7b{display:flex;align-items:center;gap:var(--space-md)}.total-readout.svelte-1xbym7b{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.total-value.svelte-1xbym7b{font-family:var(--font-mono);font-size:32px;font-weight:700;color:var(--sig-highlight-text, var(--sig-text-bright));line-height:1;font-variant-numeric:tabular-nums}.total-label.svelte-1xbym7b{font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:var(--sig-text-muted)}.constellation-svg.svelte-1xbym7b{flex:1;min-width:0;height:160px}.stats-pane.svelte-1xbym7b{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.stats-grid.svelte-1xbym7b{display:flex;justify-content:space-around;padding-bottom:var(--space-xs);border-bottom:1px solid var(--sig-border)}.stat.svelte-1xbym7b{display:flex;flex-direction:column;align-items:center;gap:1px}.stat-value.svelte-1xbym7b{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--sig-text-bright);font-variant-numeric:tabular-nums}.stat-unit.svelte-1xbym7b{font-size:9px;color:var(--sig-text-muted);font-weight:400}.stat-label.svelte-1xbym7b{font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--sig-text-muted)}.tool-list.svelte-1xbym7b{display:flex;flex-direction:column;gap:3px}.tool-row.svelte-1xbym7b{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-sm);align-items:center;font-family:var(--font-mono);font-size:10px;position:relative;padding:3px 4px}.tool-bar-bg.svelte-1xbym7b{position:absolute;inset:0;border-radius:2px;overflow:hidden;pointer-events:none}.tool-bar-fill.svelte-1xbym7b{height:100%;border-radius:2px;transition:width .3s ease}.tool-name.svelte-1xbym7b{color:var(--sig-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;z-index:1}.tool-count.svelte-1xbym7b{color:var(--sig-highlight-text, var(--sig-text-bright));text-align:right;min-width:30px;position:relative;z-index:1}.tool-latency.svelte-1xbym7b{color:var(--sig-text-muted);text-align:right;min-width:45px;position:relative;z-index:1}.panel-empty.svelte-1xbym7b{padding:var(--space-md);text-align:center;font-family:var(--font-mono);font-size:11px}.search-input.svelte-164uy1v{flex:1;min-width:220px;font-family:var(--font-mono);font-size:11px;padding:6px 8px;background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);color:var(--sig-text-bright);outline:none;transition:border-color .15s}.search-input.svelte-164uy1v:hover{border-color:var(--sig-accent)}.search-input.svelte-164uy1v:focus{border-color:var(--sig-accent);outline:2px solid var(--sig-accent);outline-offset:1px}.select-trigger{font-family:var(--font-mono);font-size:10px;padding:5px 8px;height:auto;min-height:28px;background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);color:var(--sig-text-bright);border-radius:.5rem;transition:border-color .15s}.select-trigger:hover{border-color:var(--sig-accent)}.select-trigger:focus-visible{outline:2px solid var(--sig-accent);outline-offset:1px}.select-content{background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);border-radius:.5rem}.select-item{font-family:var(--font-mono);font-size:10px}.panel.svelte-164uy1v{border:1px solid var(--sig-border);background:var(--sig-surface-raised)}.panel-head.svelte-164uy1v{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--sig-border);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--sig-text-muted)}.panel-empty.svelte-164uy1v{padding:14px 10px;display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--sig-text-muted)}.panel-empty-hint.svelte-164uy1v{font-size:10px}.panel-alert.svelte-164uy1v{padding:8px 10px;border-bottom:1px solid var(--sig-border);font-family:var(--font-mono);font-size:10px;color:var(--sig-danger);background:color-mix(in srgb,var(--sig-danger) 10%,transparent)}.panel-reset.svelte-164uy1v{font-family:var(--font-mono);font-size:10px;color:var(--sig-accent);border:none;background:transparent;padding:0;text-align:left;cursor:pointer}.panel-reset.svelte-164uy1v:hover{text-decoration:underline}.installed-list.svelte-164uy1v{display:flex;flex-direction:column}.installed-row.svelte-164uy1v{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-bottom:1px solid var(--sig-border);background:radial-gradient(circle at 12% -24%,color-mix(in srgb,var(--sig-accent) 8%,transparent),transparent 52%),linear-gradient(220deg,color-mix(in srgb,var(--sig-surface-raised) 92%,black) 0%,var(--sig-surface) 72%)}.installed-row.svelte-164uy1v:last-child{border-bottom:none}.installed-main.svelte-164uy1v{flex:1;min-width:0}.installed-name.svelte-164uy1v{font-family:var(--font-display);font-size:12px;color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.04em}.installed-meta.svelte-164uy1v{display:flex;gap:6px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.installed-actions.svelte-164uy1v{display:flex;align-items:center;gap:8px}.catalog-grid.svelte-164uy1v{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-sm);background:transparent}.catalog-card.svelte-164uy1v{display:flex;flex-direction:column;gap:6px;padding:var(--space-sm);border:1px solid var(--sig-border);background:var(--sig-surface);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);min-height:0;width:100%;text-align:left}.catalog-card.svelte-164uy1v:hover{border-color:var(--sig-border-strong);background:var(--sig-surface-raised)}.catalog-card.svelte-164uy1v:focus{border-color:var(--sig-highlight)}.catalog-card.svelte-164uy1v:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px;border-color:var(--sig-highlight)}.catalog-top.svelte-164uy1v{display:flex;align-items:center;gap:8px}.catalog-name.svelte-164uy1v{font-family:var(--font-display);font-size:12px;color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.04em}.mcp-icon.svelte-164uy1v{width:28px;height:28px;border-radius:.45rem;border:1px solid var(--sig-icon-border);display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--sig-icon-fg);text-transform:uppercase;flex-shrink:0;overflow:hidden}.mcp-avatar.svelte-164uy1v{width:100%;height:100%;object-fit:cover}.catalog-desc.svelte-164uy1v{font-family:var(--font-mono);font-size:10px;line-height:1.45;color:var(--sig-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-meta.svelte-164uy1v{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted)}.mcp-badge.svelte-164uy1v{border:1px solid var(--sig-border-strong);padding:1px 6px;line-height:1.3}.mcp-official.svelte-164uy1v{border-color:color-mix(in srgb,var(--sig-success) 70%,var(--sig-border-strong));color:var(--sig-success)}.mcp-rank.svelte-164uy1v{color:var(--sig-text-muted)}.catalog-actions.svelte-164uy1v{display:flex;justify-content:flex-start;align-items:center;gap:6px;margin-top:auto}.show-more.svelte-164uy1v{display:block;width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:1px dashed var(--sig-border);border-radius:6px;color:var(--sig-text-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:border-color .15s,color .15s;margin-top:var(--space-sm)}.show-more.svelte-164uy1v:hover{border-color:var(--sig-accent);color:var(--sig-text-bright)}.catalog-link.svelte-164uy1v{font-family:var(--font-mono);font-size:10px;color:var(--sig-accent);text-decoration:none}.catalog-link.svelte-164uy1v:hover{text-decoration:underline}.plugins-panel.svelte-1f7x2tl{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:1px;height:100%;min-height:0;background:var(--sig-border)}.plugin-list.svelte-1f7x2tl,.plugin-detail.svelte-1f7x2tl{min-height:0;background:var(--sig-bg);padding:var(--space-md)}.plugin-list.svelte-1f7x2tl{overflow:auto}.plugin-detail.svelte-1f7x2tl{overflow:hidden}.panel-head.svelte-1f7x2tl,.detail-head.svelte-1f7x2tl,.plugin-card-top.svelte-1f7x2tl,.plugin-meta.svelte-1f7x2tl,.detail-actions.svelte-1f7x2tl,.command-row.svelte-1f7x2tl,.activity-row.svelte-1f7x2tl,.pager.svelte-1f7x2tl,.drawer-trigger.svelte-1f7x2tl{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.panel-head.svelte-1f7x2tl,.detail-head.svelte-1f7x2tl{margin-bottom:6px}.detail-head.svelte-1f7x2tl{align-items:flex-start}.eyebrow.svelte-1f7x2tl,.section-title.svelte-1f7x2tl,.activity-head.svelte-1f7x2tl{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sig-text-muted)}.panel-title.svelte-1f7x2tl{margin-top:2px;font-family:var(--font-display);font-size:15px;color:var(--sig-text-bright)}h2.svelte-1f7x2tl{margin:2px 0 4px;font-family:var(--font-display);font-size:23px;line-height:1.1;color:var(--sig-text-bright)}p.svelte-1f7x2tl{max-width:760px;margin:0;font-family:var(--font-mono);font-size:10px;line-height:1.45;color:var(--sig-text-muted)}.plugin-cards.svelte-1f7x2tl,.command-grid.svelte-1f7x2tl,.detail-drawers.svelte-1f7x2tl,.rows.svelte-1f7x2tl,.permission-groups.svelte-1f7x2tl{display:grid;gap:var(--space-xs)}.plugin-card.svelte-1f7x2tl,.commands-card.svelte-1f7x2tl,.drawer.svelte-1f7x2tl,.status-strip.svelte-1f7x2tl,.error-card.svelte-1f7x2tl,.empty.svelte-1f7x2tl{background:var(--sig-surface);border:1px solid var(--sig-border);border-radius:var(--radius)}.plugin-card.svelte-1f7x2tl,.commands-card.svelte-1f7x2tl{padding:8px}.plugin-card.svelte-1f7x2tl{width:100%;text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.plugin-card.svelte-1f7x2tl:hover,.plugin-card-active.svelte-1f7x2tl{border-color:var(--sig-highlight);background:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 94%)}.plugin-name.svelte-1f7x2tl,.row-title.svelte-1f7x2tl,.permission-head.svelte-1f7x2tl,.drawer-trigger.svelte-1f7x2tl span:where(.svelte-1f7x2tl){font-family:var(--font-display);font-size:12px;color:var(--sig-text-bright)}.plugin-id.svelte-1f7x2tl,.plugin-meta.svelte-1f7x2tl,.row-sub.svelte-1f7x2tl,.row-time.svelte-1f7x2tl,.surface-caps.svelte-1f7x2tl,.advanced-meta.svelte-1f7x2tl,.drawer-empty.svelte-1f7x2tl,.status-strip.svelte-1f7x2tl span:where(.svelte-1f7x2tl),.status-strip.svelte-1f7x2tl strong:where(.svelte-1f7x2tl){font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.plugin-meta.svelte-1f7x2tl{justify-content:flex-start;margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.status-strip.svelte-1f7x2tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:var(--space-sm);padding:0;overflow:hidden}.status-strip.svelte-1f7x2tl div:where(.svelte-1f7x2tl){padding:8px 10px;border-right:1px solid var(--sig-border)}.status-strip.svelte-1f7x2tl div:where(.svelte-1f7x2tl):last-child{border-right:none}.status-strip.svelte-1f7x2tl span:where(.svelte-1f7x2tl),.status-strip.svelte-1f7x2tl strong:where(.svelte-1f7x2tl){display:block}.status-strip.svelte-1f7x2tl strong:where(.svelte-1f7x2tl){margin-top:2px;color:var(--sig-text-bright)}.commands-card.svelte-1f7x2tl{margin-bottom:6px}.command-grid.svelte-1f7x2tl{grid-template-columns:repeat(2,minmax(0,1fr));max-height:112px;overflow:auto;margin-top:var(--space-xs);scrollbar-width:thin}.command-row.svelte-1f7x2tl,.activity-row.svelte-1f7x2tl{align-items:flex-start;padding:3px 0;border-top:1px solid var(--sig-border)}.command-row.svelte-1f7x2tl:nth-child(1),.command-row.svelte-1f7x2tl:nth-child(2),.activity-row.svelte-1f7x2tl:first-child{border-top:none}.state-pill.svelte-1f7x2tl,.soft-pill.svelte-1f7x2tl{flex:0 0 auto;padding:1px 5px;border:1px solid var(--sig-border);border-radius:999px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted)}.state-active.svelte-1f7x2tl,.state-ok.svelte-1f7x2tl{border-color:color-mix(in srgb,var(--sig-success),transparent 45%);color:var(--sig-success)}.state-degraded.svelte-1f7x2tl{border-color:color-mix(in srgb,var(--sig-warning),transparent 45%);color:var(--sig-warning)}.state-disabled.svelte-1f7x2tl,.state-denied.svelte-1f7x2tl,.state-error.svelte-1f7x2tl,.state-unhealthy.svelte-1f7x2tl{border-color:color-mix(in srgb,var(--sig-danger),transparent 45%);color:var(--sig-danger)}.drawer.svelte-1f7x2tl{overflow:hidden;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.drawer.svelte-1f7x2tl:hover,.drawer-open.svelte-1f7x2tl{border-color:color-mix(in srgb,var(--sig-highlight),var(--sig-border) 45%);background:color-mix(in srgb,var(--sig-highlight),var(--sig-surface) 96%)}.drawer-trigger.svelte-1f7x2tl{width:100%;min-height:34px;padding:7px 9px 7px 10px;background:color-mix(in srgb,var(--sig-bg),var(--sig-surface) 55%);border:none;box-shadow:inset 0 -1px 0 var(--sig-border);cursor:pointer;color:var(--sig-text-bright);text-align:left;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.drawer-trigger.svelte-1f7x2tl:hover{background:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 92%)}.drawer-trigger.svelte-1f7x2tl:focus-visible{outline:1px solid var(--sig-highlight);outline-offset:-2px}.drawer-trigger.svelte-1f7x2tl svg{width:18px;height:18px;padding:2px;background:var(--sig-bg);border:1px solid var(--sig-border);color:var(--sig-text-muted);transition:transform .18s var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.drawer-trigger.svelte-1f7x2tl:hover svg,.drawer-open.svelte-1f7x2tl .drawer-trigger:where(.svelte-1f7x2tl) svg{border-color:var(--sig-highlight);color:var(--sig-highlight)}.drawer-open.svelte-1f7x2tl .drawer-trigger:where(.svelte-1f7x2tl){padding-bottom:var(--space-xs);border-bottom:1px solid var(--sig-border);background:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 90%)}.drawer-open.svelte-1f7x2tl .drawer-trigger:where(.svelte-1f7x2tl) svg{transform:rotate(180deg)}.drawer-body.svelte-1f7x2tl{max-height:0;overflow:hidden;padding:0 8px;opacity:0;transition:max-height .22s var(--ease),opacity .16s var(--ease),padding-top .22s var(--ease),padding-bottom .22s var(--ease)}.drawer-open.svelte-1f7x2tl .drawer-body:where(.svelte-1f7x2tl){max-height:210px;overflow:auto;padding-top:var(--space-xs);padding-bottom:8px;opacity:1;scrollbar-width:thin}.permission-group-card.svelte-1f7x2tl,.surface-section.svelte-1f7x2tl{padding:var(--space-sm);background:var(--sig-bg);border:1px solid var(--sig-border);border-radius:var(--radius)}.permission-group-card.svelte-1f7x2tl ul:where(.svelte-1f7x2tl){margin:4px 0 0;padding-left:1rem;font-family:var(--font-mono);font-size:10px;line-height:1.55;color:var(--sig-text-muted)}.permission-group-card.svelte-1f7x2tl code:where(.svelte-1f7x2tl){color:var(--sig-highlight)}.activity-head.svelte-1f7x2tl{margin-bottom:var(--space-xs)}.pager.svelte-1f7x2tl{justify-content:flex-end;margin-top:var(--space-xs)}.advanced-meta.svelte-1f7x2tl{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xs)}.advanced-grid.svelte-1f7x2tl{display:grid;grid-template-columns:1fr;gap:var(--space-xs)}.surface-caps.svelte-1f7x2tl{max-width:42%;text-align:right}.error-card.svelte-1f7x2tl,.empty.svelte-1f7x2tl,.drawer-empty.svelte-1f7x2tl{padding:var(--space-sm)}.error-card.svelte-1f7x2tl{color:var(--sig-danger)}.compact.svelte-1f7x2tl{padding:var(--space-xs)}.graphiq-manager.svelte-1f7x2tl{padding:var(--space-sm);background:var(--sig-surface);border:1px solid var(--sig-border);border-radius:var(--radius);margin-bottom:var(--space-sm)}.gm-status-row.svelte-1f7x2tl{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-top:1px solid var(--sig-border);font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.gm-status-row.svelte-1f7x2tl:first-of-type{border-top:none}.gm-status-row.svelte-1f7x2tl strong:where(.svelte-1f7x2tl){color:var(--sig-text-bright)}.gm-action-status.svelte-1f7x2tl{margin-top:var(--space-xs);font-family:var(--font-mono);font-size:10px;color:var(--sig-highlight)}.gm-error.svelte-1f7x2tl{padding:var(--space-xs);font-family:var(--font-mono);font-size:10px;color:var(--sig-danger)}.gm-loading.svelte-1f7x2tl{padding:var(--space-xs);font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.gm-index.svelte-1f7x2tl{margin-top:var(--space-sm)}.gm-index-form.svelte-1f7x2tl{display:flex;gap:var(--space-xs);margin-top:var(--space-xs)}.gm-index-form.svelte-1f7x2tl input:where(.svelte-1f7x2tl){flex:1;min-width:0;padding:5px 8px;font-family:var(--font-mono);font-size:10px;background:var(--sig-bg);border:1px solid var(--sig-border);border-radius:var(--radius);color:var(--sig-text-bright);outline:none;transition:border-color var(--dur) var(--ease)}.gm-index-form.svelte-1f7x2tl input:where(.svelte-1f7x2tl):focus{border-color:var(--sig-highlight)}.gm-index-form.svelte-1f7x2tl input:where(.svelte-1f7x2tl)::placeholder{color:var(--sig-text-muted)}.gm-projects.svelte-1f7x2tl{margin-top:var(--space-sm)}.gm-project-row.svelte-1f7x2tl{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-top:1px solid var(--sig-border)}.gm-project-row.svelte-1f7x2tl:first-of-type{border-top:none}.gm-project-path.svelte-1f7x2tl{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-bright)}.gm-project-stats.svelte-1f7x2tl{font-family:var(--font-mono);font-size:9px;color:var(--sig-text-muted)}@media(max-width:1120px){.plugins-panel.svelte-1f7x2tl,.command-grid.svelte-1f7x2tl,.advanced-grid.svelte-1f7x2tl,.status-strip.svelte-1f7x2tl{grid-template-columns:1fr}.plugin-detail.svelte-1f7x2tl{overflow:auto}}.detail-title.svelte-159yllf{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.06em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-badge.svelte-159yllf{font-family:var(--font-mono);font-size:9px;padding:1px 5px;border:1px solid var(--sig-border-strong);color:var(--sig-text-muted);text-transform:uppercase;letter-spacing:.06em}.provider-badge.clawhub.svelte-159yllf{border-color:var(--sig-accent);color:var(--sig-accent)}.detail-stats.svelte-159yllf{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.detail-stat.svelte-159yllf{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted);font-variant-numeric:tabular-nums}.detail-cmd.svelte-159yllf{display:flex;align-items:center;gap:6px;width:100%;text-align:left;margin-top:12px;padding:6px 10px;font-family:var(--font-mono);font-size:11px;color:var(--sig-text);background:var(--sig-bg);border:1px solid var(--sig-border-strong);cursor:pointer;transition:border-color .15s}.detail-cmd.svelte-159yllf:hover{border-color:var(--sig-accent)}.detail-cmd-hint.svelte-159yllf{margin-left:auto;font-size:9px;color:var(--sig-text-muted);opacity:.6}.detail-provider-link.svelte-159yllf{display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:10px;color:var(--sig-accent);text-decoration:none}.detail-provider-link.svelte-159yllf:hover{text-decoration:underline}.trust-card.svelte-159yllf{margin-top:12px;padding:10px;border:1px solid var(--sig-border-strong);background:var(--sig-bg);display:flex;flex-direction:column;gap:8px}.trust-head.svelte-159yllf{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sig-text-bright)}.trust-grid.svelte-159yllf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.trust-label.svelte-159yllf{display:block;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--sig-text-muted)}.trust-value.svelte-159yllf{display:block;font-family:var(--font-mono);font-size:11px;color:var(--sig-text);margin-top:2px}.trust-reason.svelte-159yllf{margin:0;font-family:var(--font-mono);font-size:10px;line-height:1.45;color:var(--sig-text-muted)}.reviews-section{margin-top:14px;padding-top:0;display:flex;flex-direction:column;gap:8px;border:1px solid var(--sig-border);background:var(--sig-surface-raised);border-radius:.5rem}.reviews-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:transparent;border:0;cursor:pointer}.reviews-trigger span{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sig-text-bright)}.reviews-content.svelte-159yllf{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.reviews-filters.svelte-159yllf{display:flex;gap:6px;flex-wrap:wrap}.review-filter.svelte-159yllf{border:1px solid var(--sig-border);background:var(--sig-surface-raised);color:var(--sig-text-muted);font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;cursor:pointer}.review-filter.active.svelte-159yllf{color:var(--sig-text-bright);border-color:var(--sig-accent)}.review-muted.svelte-159yllf,.review-meta.svelte-159yllf,.review-body.svelte-159yllf{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.review-list.svelte-159yllf{display:flex;flex-direction:column;gap:8px}.review-form.svelte-159yllf{display:flex;flex-direction:column;gap:7px;padding:8px;background:var(--sig-surface-raised);border:1px solid var(--sig-border);border-radius:.45rem}.review-input,.review-textarea{font-family:var(--font-mono);font-size:10px}.review-row.svelte-159yllf{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px}.review-rating{height:32px;padding:0 8px;font-family:var(--font-mono);font-size:10px;background:var(--sig-surface);border:1px solid var(--sig-border-strong);border-radius:.45rem}.review-rating-content{background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);border-radius:.5rem}.review-rating-item{font-family:var(--font-mono);font-size:10px}.review-actions.svelte-159yllf{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-gate.svelte-159yllf{font-family:var(--font-mono);font-size:10px;line-height:1.4;color:var(--sig-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.review-submit{height:30px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.review-item.svelte-159yllf{padding:8px;background:var(--sig-surface-raised);border-radius:.45rem;display:flex;flex-direction:column;gap:4px}.review-title.svelte-159yllf{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--sig-text-bright)}.additional-section{margin-top:10px;border:1px solid var(--sig-border);background:var(--sig-surface-raised);border-radius:.5rem}.additional-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;padding:8px 10px;font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sig-text-bright);cursor:pointer}.additional-content.svelte-159yllf{padding:0 10px 10px;max-height:52vh;overflow-y:auto}.additional-copy.svelte-159yllf{margin:0;font-size:12px;line-height:1.65;color:var(--sig-text);white-space:pre-wrap;overflow-wrap:anywhere}.additional-copy-muted.svelte-159yllf{color:var(--sig-text-muted)}.skill-markdown{font-size:12px;line-height:1.7;color:var(--sig-text);overflow-wrap:anywhere}.skill-markdown h1,.skill-markdown h2,.skill-markdown h3{font-family:var(--font-display);color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.04em;margin-top:1.5em;margin-bottom:.5em}.skill-markdown h1{font-size:14px}.skill-markdown h2{font-size:13px}.skill-markdown h3{font-size:12px}.skill-markdown p{margin:.5em 0}.skill-markdown code{font-family:var(--font-mono);font-size:11px;background:var(--sig-bg);padding:2px 5px;border:1px solid var(--sig-border)}.skill-markdown pre{background:var(--sig-bg);border:1px solid var(--sig-border);padding:var(--space-sm);overflow-x:auto;margin:.75em 0}.skill-markdown pre code{background:none;border:none;padding:0}.skill-markdown ul,.skill-markdown ol{padding-left:1.5em;margin:.5em 0}.skill-markdown li{margin:.25em 0}.skill-markdown a{color:var(--sig-accent);text-decoration:none}.skill-markdown a:hover{text-decoration:underline}@media(max-width:640px){.review-row.svelte-159yllf{grid-template-columns:1fr}.review-actions.svelte-159yllf{align-items:flex-start;flex-direction:column}.review-gate.svelte-159yllf{white-space:normal}}.card-wrap.svelte-qm8fui{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.card.svelte-qm8fui{display:flex;flex-direction:column;gap:6px;padding:var(--space-sm);background:var(--sig-surface);border:1px solid var(--sig-border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);text-align:left;min-height:0;width:100%;flex:1}.card.svelte-qm8fui:hover{border-color:var(--sig-border-strong);background:var(--sig-surface-raised)}.card.svelte-qm8fui:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px;border-color:var(--sig-highlight)}.action-row.svelte-qm8fui{display:flex;gap:6px;width:100%;margin-top:auto}.card-wrap.selected.svelte-qm8fui>.card:where(.svelte-qm8fui){border-color:var(--sig-highlight);border-left:2px solid var(--sig-highlight);background:var(--sig-surface-raised)}.card-wrap.featured.svelte-qm8fui>.card:where(.svelte-qm8fui){min-height:0}.card-top.svelte-qm8fui{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.monogram.svelte-qm8fui{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;border:1px solid var(--sig-icon-border);font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--sig-icon-fg);letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;overflow:hidden}.monogram-avatar.svelte-qm8fui{width:100%;height:100%;object-fit:cover}.monogram.monogram-featured.svelte-qm8fui{width:24px;height:24px;font-size:9px}.card-header-content.svelte-qm8fui{flex:1;min-width:0}.card-header.svelte-qm8fui{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0}.badge-row.svelte-qm8fui{display:flex;align-items:center;gap:4px;flex-shrink:0}.card-name.svelte-qm8fui{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.card-name.card-name-featured.svelte-qm8fui{font-size:11px}.provider-badge.svelte-qm8fui{flex-shrink:0;font-family:var(--font-mono);font-size:9px;padding:1px 5px;border:1px solid var(--sig-border-strong);color:var(--sig-text-muted);text-transform:uppercase;letter-spacing:.06em}.provider-badge.clawhub.svelte-qm8fui{border-color:var(--sig-accent);color:var(--sig-accent)}.provider-badge.signet.svelte-qm8fui{border-color:var(--sig-text-bright);color:var(--sig-text-bright);background:var(--sig-surface-raised)}.card-desc.svelte-qm8fui{font-family:var(--font-mono);font-size:9px;color:var(--sig-text-muted);line-height:1.5;margin:0;min-height:27px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-stats.svelte-qm8fui{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:18px}.stat.svelte-qm8fui{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:9px;color:var(--sig-text-muted);font-variant-numeric:tabular-nums}.card-action.svelte-qm8fui{margin-top:auto}.compare-toggle.svelte-qm8fui{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted);cursor:pointer;outline:none}.compare-dot.svelte-qm8fui{display:inline-block;width:8px;height:8px;border:1px solid var(--sig-border-strong)}.compare-dot.active.svelte-qm8fui{background:var(--sig-highlight);border-color:var(--sig-highlight)}.empty-state.svelte-wojr9z{padding:var(--space-xl) var(--space-lg);margin:var(--space-md) auto;max-width:520px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1px dashed var(--sig-border-strong);background:var(--sig-surface-raised)}.empty-title.svelte-wojr9z{margin:0;font-family:var(--font-display);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--sig-text-bright)}.empty-desc.svelte-wojr9z{margin:0;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--sig-text-muted)}.empty-actions.svelte-wojr9z{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.empty-btn.svelte-wojr9z{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border:1px solid var(--sig-border-strong);background:transparent;color:var(--sig-text-muted);cursor:pointer}.empty-btn.svelte-wojr9z:hover{border-color:var(--sig-accent);color:var(--sig-text-bright)}.empty-btn.primary.svelte-wojr9z{border-color:var(--sig-accent);background:var(--sig-accent);color:var(--sig-bg)}.grid-container.svelte-i14apw{flex:1;min-height:0;overflow-y:auto;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm);background:transparent}.grid.svelte-i14apw{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-sm)}.featured-block.svelte-i14apw{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--sig-border-strong);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--sig-accent) 8%,transparent),transparent 60%),var(--sig-surface)}.featured-head.svelte-i14apw{display:flex;align-items:end;justify-content:space-between;gap:var(--space-sm)}.featured-kicker.svelte-i14apw,.featured-count.svelte-i14apw{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--sig-text-muted)}.featured-title.svelte-i14apw{margin:2px 0 0;font-family:var(--font-display);font-size:14px;line-height:1.1;color:var(--sig-text-bright)}.featured-grid.svelte-i14apw{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.show-more.svelte-i14apw{display:block;width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:1px dashed var(--sig-border);border-radius:6px;color:var(--sig-text-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:border-color .15s,color .15s}.show-more.svelte-i14apw:hover{border-color:var(--sig-accent);color:var(--sig-text-bright)}.empty.svelte-i14apw{padding:var(--space-lg);text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--sig-text-muted)}.compare-wrap.svelte-emj32u{padding:10px var(--space-md);border-bottom:1px solid var(--sig-border);background:var(--sig-surface-raised);display:flex;flex-direction:column;gap:8px}.compare-head.svelte-emj32u{display:flex;align-items:center;justify-content:space-between;gap:8px}.compare-title.svelte-emj32u{margin:0;font-family:var(--font-display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sig-text-bright)}.clear-btn.svelte-emj32u,.row-remove.svelte-emj32u{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:3px 6px;border:1px solid var(--sig-border-strong);background:transparent;color:var(--sig-text-muted);cursor:pointer}.clear-btn.svelte-emj32u:hover,.row-remove.svelte-emj32u:hover{color:var(--sig-text-bright);border-color:var(--sig-accent)}.compare-table-wrap.svelte-emj32u{overflow-x:auto}.compare-table.svelte-emj32u{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:10px;color:var(--sig-text)}.compare-table.svelte-emj32u th:where(.svelte-emj32u),.compare-table.svelte-emj32u td:where(.svelte-emj32u){text-align:left;padding:5px 6px;border-bottom:1px solid var(--sig-border);white-space:nowrap}.compare-table.svelte-emj32u th:where(.svelte-emj32u){font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted)}.sort-select{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-bright);background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);padding:2px 8px;height:auto;min-height:28px;outline:none;cursor:pointer;border-radius:.5rem;transition:border-color .15s}.sort-select:hover{border-color:var(--sig-accent)}.sort-select:focus{border-color:var(--sig-accent)}.sort-select:focus-visible{outline:2px solid var(--sig-accent);outline-offset:1px}.sort-select-content{background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);border-radius:.5rem}.sort-select-item{font-family:var(--font-mono);font-size:10px}.provider-select{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-bright);background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);padding:2px 8px;height:auto;min-height:28px;outline:none;cursor:pointer;border-radius:.5rem;transition:border-color .15s}.provider-select:hover{border-color:var(--sig-accent)}.provider-select:focus{border-color:var(--sig-accent)}.provider-select:focus-visible{outline:2px solid var(--sig-accent);outline-offset:1px}.store-shell.svelte-xlc60r{height:100%;display:flex;flex-direction:column;overflow:hidden}.store-main.svelte-xlc60r,.rail-panel{border:none;background:var(--sig-surface)}.tab-header.svelte-xlc60r{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--sig-border);flex-shrink:0}.tab-header-left.svelte-xlc60r{display:flex;align-items:center;gap:var(--space-sm)}.tab-header-title.svelte-xlc60r{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-bright)}.tab-header-count.svelte-xlc60r{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--sig-text-muted)}.tab-header-sep.svelte-xlc60r{width:1px;height:10px;background:var(--sig-border)}.tab-header-right.svelte-xlc60r{display:flex;align-items:center;gap:2px}.section-switch.svelte-xlc60r{padding:3px 10px;background:transparent;border:1px solid var(--sig-border);color:var(--sig-text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.section-switch.svelte-xlc60r:first-child{border-radius:var(--radius) 0 0 var(--radius);border-right:none}.section-switch.svelte-xlc60r:not(:first-child):not(:last-child){border-radius:0;border-right:none}.section-switch.svelte-xlc60r:last-child{border-radius:0 var(--radius) var(--radius) 0}.section-switch.svelte-xlc60r:hover{color:var(--sig-highlight);border-color:var(--sig-highlight)}.section-switch--active.svelte-xlc60r{color:var(--sig-highlight);border-color:var(--sig-highlight);background:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 92%)}.module-search.svelte-xlc60r,.input.svelte-xlc60r,.section-select{height:28px;padding:0 10px;font-family:var(--font-mono);font-size:10px;color:var(--sig-text-bright);background:var(--sig-surface);border:1px solid var(--sig-border);outline:none;border-radius:var(--radius);transition:border-color .15s}.module-search.svelte-xlc60r:hover,.input.svelte-xlc60r:hover{border-color:var(--sig-highlight)}.module-search.svelte-xlc60r:focus,.input.svelte-xlc60r:focus{border-color:var(--sig-highlight);outline:2px solid var(--sig-highlight);outline-offset:1px}.section-select-content{background:var(--sig-surface-raised);border:1px solid var(--sig-border-strong);border-radius:.5rem}.section-select-item{font-family:var(--font-mono);font-size:10px}.store-grid.svelte-xlc60r{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:1fr auto;gap:var(--space-sm);padding:var(--space-sm)}.store-grid-full.svelte-xlc60r{grid-template-columns:minmax(0,1fr)}.store-main.svelte-xlc60r{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}.module-head.svelte-xlc60r{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:8px;padding:var(--space-sm) var(--space-sm) 0;margin-bottom:var(--space-sm)}.plugins-head.svelte-xlc60r{grid-template-columns:1fr}.module-title.svelte-xlc60r{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--sig-text-bright)}.module-subtitle.svelte-xlc60r{margin-top:2px;font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.module-search.svelte-xlc60r{height:28px;min-width:0;width:100%;padding-right:72px;font-size:10px}.module-search-wrap.svelte-xlc60r{display:block}.module-search-inner.svelte-xlc60r{position:relative;display:flex;align-items:center}.search-clear{position:absolute;right:4px;height:22px;min-height:22px;padding:0 8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.module-view-tabs.svelte-xlc60r{display:flex;align-items:center;gap:6px}.view-tab{height:28px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;transition:border-color .15s}.view-tab:hover{border-color:var(--sig-highlight);color:var(--sig-highlight)}.view-tab:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px}.view-tab.view-tab-active{border-color:var(--sig-highlight);color:var(--sig-highlight);background:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 90%)}.module-body.svelte-xlc60r{flex:1;min-height:0}.store-rail.svelte-xlc60r{min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-top:2px;justify-self:center;width:100%;max-width:250px}.rail-panel{padding:var(--space-sm);display:flex;flex-direction:column;gap:8px;background:var(--sig-surface);border:1px solid var(--sig-border);border-radius:var(--radius)}.rail-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:2px 0;background:transparent;border:none;font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-muted);cursor:pointer;transition:color .15s}.rail-trigger:hover{color:var(--sig-text-bright)}.rail-trigger:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:2px}.rail-content{display:flex;flex-direction:column;gap:8px;padding-top:6px}.rail-select{height:28px;width:100%;padding:0 8px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:var(--sig-bg);border:1px solid var(--sig-border);border-radius:var(--radius);transition:border-color .15s,outline-color .15s}.rail-select:hover{border-color:var(--sig-highlight)}.rail-select:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px}.rail-refresh.svelte-xlc60r{display:flex;flex-direction:column;gap:6px;padding-top:4px}.rail-btn{justify-content:flex-start;font-family:var(--font-mono);font-size:9px;height:28px;transition:border-color .15s,outline-color .15s}.rail-btn:hover{border-color:var(--sig-highlight)}.rail-btn:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px}.muted.svelte-xlc60r{font-family:var(--font-mono);font-size:10px;color:var(--sig-text-muted)}.toggle-row.svelte-xlc60r span:where(.svelte-xlc60r),.error.svelte-xlc60r{font-family:var(--font-mono);font-size:10px}.toggle-row.svelte-xlc60r span:where(.svelte-xlc60r){color:var(--sig-text-muted)}.toggle-row.svelte-xlc60r{display:flex;align-items:center;gap:6px}.toggle-row.svelte-xlc60r input[type=checkbox]:where(.svelte-xlc60r){width:16px;height:16px;cursor:pointer;accent-color:var(--sig-highlight)}.toggle-row.svelte-xlc60r input[type=checkbox]:where(.svelte-xlc60r):focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px}.sync-actions.svelte-xlc60r{display:flex;gap:6px;flex-wrap:wrap}.sync-actions.svelte-xlc60r button{transition:border-color .15s}.sync-actions.svelte-xlc60r button:hover{border-color:var(--sig-highlight)}.sync-actions.svelte-xlc60r button:focus-visible{outline:2px solid var(--sig-highlight);outline-offset:1px}.error.svelte-xlc60r{color:var(--sig-danger)}@media(max-width:1120px){.store-grid.svelte-xlc60r{grid-template-columns:1fr;padding-bottom:3.5rem}.store-rail.svelte-xlc60r{display:contents;max-width:none}.store-rail.svelte-xlc60r>.rail-panel{position:fixed;bottom:var(--space-sm);z-index:30;width:calc((100% - var(--sidebar-width, 13rem) - 2rem) / 2);max-width:none;min-height:0;border-radius:var(--radius)}.store-rail.svelte-xlc60r>.rail-panel:first-child{left:calc(var(--sidebar-width, 13rem) + .5rem)}.store-rail.svelte-xlc60r>.rail-panel:last-child{right:.5rem}}@media(max-width:767px){.store-rail.svelte-xlc60r>.rail-panel{width:calc((100% - 1.5rem)/2)}.store-rail.svelte-xlc60r>.rail-panel:first-child{left:.5rem}.tab-header.svelte-xlc60r{flex-wrap:wrap;gap:var(--space-sm);padding-left:var(--mobile-header-inset)}.module-head.svelte-xlc60r{grid-template-columns:1fr}.module-search-wrap.svelte-xlc60r{display:block}}
|
|
@@ -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"./KKQFryJf.js";import{Y as ue,Z as ge,_ as pe,I as We,B as He,f as Ge,n as Ke,E as qe,o as Dt}from"./Eejz4U4N.js";import{P as Je}from"./DK3bAoxY.js";import{T as Ve}from"./CyB1_UBK.js";import{B as xe}from"./Q1_2wcla.js";import{a as Ye,C as Ze}from"./CWOnYZ-E.js";import{C as Qe}from"./BwSo8eZe.js";import{C as Ue}from"./DDPxI7Z-.js";import{C as Xe,a as ta,b as ea}from"./DNGDC21S.js";import{P as aa,a as ra,b as sa}from"./GVWNbu-D.js";import{Z as ia}from"./ClQ249hM.js";import{R as na}from"./CLJPLb0H.js";import{C as oa}from"./BQEIROLH.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"./KKQFryJf.js";import{Y as ue,Z as ge,_ as pe,I as We,B as He,f as Ge,n as Ke,E as qe,o as Dt}from"./De4A6hYY.js";import{P as Je}from"./DK3bAoxY.js";import{T as Ve}from"./CyB1_UBK.js";import{B as xe}from"./BZU7uF1c.js";import{a as Ye,C as Ze}from"./C32XExjU.js";import{C as Qe}from"./Dmg-fJ-9.js";import{C as Ue}from"./CWKWsvt0.js";import{C as Xe,a as ta,b as ea}from"./DNGDC21S.js";import{P as aa,a as ra,b as sa}from"./De7Jo0KS.js";import{Z as ia}from"./CyncSwlu.js";import{R as na}from"./CQEz51Ys.js";import{C as oa}from"./BrHM82Nz.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,4 +1,4 @@
|
|
|
1
|
-
import{p as nt,g as Ct,t as n,j as s,l as e,w as kt,A as mt,y as Q,z as _,i as t,a9 as at,b as m,K as At,d as it,u as y,m as x,o as $,e as ct,ar as ae,q as Ot,v as k,k as rt,O as gt,D as Rt,N as re,as as ne,x as Wt,P as It,s as Kt,c as zt,f as qt,a as ie,n as le,r as Jt,Q as Qt,h as St,at as oe,E as Ht,F as ve}from"./KKQFryJf.js";import{l as ce,m as de,aR as ue,aS as pe,n as fe,I as ge,aT as Xt,o as Dt,B as me,aU as Bt,t as ft,R as he,aV as _e,aW as ye,aB as xe,a as Se}from"./Eejz4U4N.js";import{f as be,a as we,s as Ft,m as Vt,g as Me,b as Ee,c as Yt,d as Te}from"./BAHQC_w0.js";import{P as Ce,a as ke,b as Ie}from"./GVWNbu-D.js";import{T as je}from"./DphtfA0A.js";import{R as Ne}from"./CLJPLb0H.js";var Ae=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Re=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),De=x('<div class="readout sig-panel svelte-1j3peig"><div class="readout-texture svelte-1j3peig" aria-hidden="true"></div> <div class="readout-content svelte-1j3peig"><div class="readout-eyebrow svelte-1j3peig"><span class="eyebrow-left svelte-1j3peig">SIGNET AGENT READOUT</span> <span class="eyebrow-right svelte-1j3peig"> </span></div> <div class="readout-hero svelte-1j3peig"><h1 class="agent-name svelte-1j3peig"> </h1> <div class="hero-stat svelte-1j3peig"><span class="hero-number svelte-1j3peig"> </span> <span class="hero-unit svelte-1j3peig">MEMORIES<br/>STORED</span></div></div> <div class="readout-divider sig-groove svelte-1j3peig" aria-hidden="true"></div> <div class="readout-grid svelte-1j3peig"><div class="readout-col svelte-1j3peig"></div> <div class="readout-col svelte-1j3peig"></div></div></div></div>');function Oe(W,c){nt(c,!0);let d=Ct(c,"diagnostics",3,null),S=Ct(c,"pipelineStatus",3,null),M=Ct(c,"memoryStats",3,null);const N=y(()=>{const h=c.daemonStatus?.agentCreatedAt;if(!h)return null;const g=new Date(h).getTime();return Number.isNaN(g)?null:Math.max(0,Math.floor((Date.now()-g)/864e5))}),A=y(()=>t(N)===null?"--":t(N)===0?"TODAY":t(N)===1?"1 DAY":`${t(N)} DAYS`),R=y(()=>c.daemonStatus?.activeSessions??0),j=y(()=>c.daemonStatus?.version??"--"),I=y(()=>c.continuity.length===0?null:[...c.continuity].sort((g,C)=>new Date(C.created_at).getTime()-new Date(g.created_at).getTime())[0]);function K(h){const g=Date.now()-new Date(h).getTime(),C=Math.floor(g/6e4);if(C<1)return"JUST NOW";if(C<60)return`${C}M AGO`;const E=Math.floor(C/60);return E<24?`${E}H AGO`:`${Math.floor(E/24)}D AGO`}const U=y(()=>t(I)?.project?.replace(/\/$/,"").split("/").pop()??"--"),Z=y(()=>t(I)?K(t(I).created_at):"--"),X=y(()=>c.identity.name?.trim()||"SIGNET AGENT"),z=y(()=>d()?.composite?.score??null),H=y(()=>d()?.composite?.status??"UNKNOWN"),F=y(()=>d()?.index?.embeddingCoverage!==void 0?Math.round(d().index.embeddingCoverage*100):!M()||M().total===0?null:Math.round(M().withEmbeddings/M().total*100)),tt=y(()=>S()?typeof S().mode=="string"?S().mode.toUpperCase():"ACTIVE":"UNKNOWN"),l=y(()=>{if(!d())return 0;let h=0;const g=["queue","storage","index","provider","connector","predictor"];for(const C of g){const E=d()[C];if(E&&typeof E=="object"&&"status"in E){const Y=E.status;(Y==="degraded"||Y==="unhealthy")&&h++}}return h});function T(h){return h===null?"var(--sig-text-muted)":h>=.8?"var(--sig-success)":h>=.5?"var(--sig-warning)":"var(--sig-danger)"}const O=y(()=>[{idx:"01",label:"UPTIME",value:t(A)},{idx:"02",label:"PROJECT",value:t(U)},{idx:"03",label:"LAST SEEN",value:t(Z)},{idx:"04",label:"CONNECTORS",value:String(c.connectorCount)},{idx:"05",label:"SESSIONS",value:String(t(R))}]),i=y(()=>[{idx:"06",label:"HEALTH",value:t(z)!==null?`${t(z).toFixed(2)} ${t(H).toUpperCase()}`:"--",color:T(t(z))},{idx:"07",label:"EMBEDDED",value:t(F)!==null?`${t(F)}%`:"--"},{idx:"08",label:"PIPELINE",value:t(tt)},{idx:"09",label:"WARNINGS",value:String(t(l)),color:t(l)>0?"var(--sig-danger)":void 0}]);var u=De(),G=n(s(u),2),b=s(G),a=n(s(b),2),o=s(a);e(a),e(b);var w=n(b,2),q=s(w),r=s(q,!0);e(q);var v=n(q,2),p=s(v),f=s(p,!0);e(p),kt(2),e(v),e(w);var B=n(w,4),L=s(B);mt(L,21,()=>t(O),At,(h,g)=>{var C=Ae(),E=s(C),Y=s(E,!0);e(E);var J=n(E,2),et=s(J,!0);e(J);var D=n(J,4),P=s(D,!0);e(D),e(C),Q(()=>{_(Y,t(g).idx),_(et,t(g).label),at(D,t(g).color?`color: ${t(g).color}`:""),_(P,t(g).value)}),m(h,C)}),e(L);var V=n(L,2);mt(V,21,()=>t(i),At,(h,g)=>{var C=Re(),E=s(C),Y=s(E,!0);e(E);var J=n(E,2),et=s(J,!0);e(J);var D=n(J,4),P=s(D,!0);e(D),e(C),Q(()=>{_(Y,t(g).idx),_(et,t(g).label),at(D,t(g).color?`color: ${t(g).color}`:""),_(P,t(g).value)}),m(h,C)}),e(V),e(B),e(G),e(u),Q(h=>{_(o,`v${t(j)??""}`),_(r,t(X)),_(f,h)},[()=>c.memoryCount.toLocaleString()]),m(W,u),it()}var qe=x('<div class="empty-state svelte-6whpsi">LOADING USAGE...</div>'),Le=x('<div class="empty-state svelte-6whpsi">NO TRACKED USAGE YET</div>'),Pe=x('<img class="spotlight-avatar svelte-6whpsi"/>'),$e=x('<button type="button" class="spotlight-card svelte-6whpsi"><div class="spotlight-top svelte-6whpsi"><div class="spotlight-icon svelte-6whpsi"><!></div> <div class="spotlight-meta svelte-6whpsi"><span class="spotlight-name svelte-6whpsi"> </span> <span class="spotlight-badge svelte-6whpsi"> </span></div></div> <p class="spotlight-desc svelte-6whpsi"> </p> <p class="spotlight-usage svelte-6whpsi"> </p></button>'),Ge=x('<div class="spotlights-grid svelte-6whpsi"></div>'),Ue=x('<div class="spotlights-panel sig-panel svelte-6whpsi"><div class="spotlights-header sig-panel-header svelte-6whpsi"><span class="spotlights-title svelte-6whpsi">MOST USED SKILLS & SERVERS</span> <span class="spotlights-count svelte-6whpsi">LAST 30 DAYS</span></div> <!></div>');function He(W,c){nt(c,!0);const d=6,S=3,M=new Date(Date.now()-30*864e5).toISOString();let N=$(!1),A=$(ct([])),R=$(ct([])),j=$(null),I=$(null);const K=new ae;Ot(async()=>{const i=await Promise.allSettled([be(),we(5),ce(),de(),ue({since:M,limit:S}),pe({since:M,limit:S})]);i[2]?.status==="fulfilled"&&k(A,i[2].value,!0),i[3]?.status==="fulfilled"&&k(R,i[3].value.servers,!0),i[4]?.status==="fulfilled"&&k(j,i[4].value,!0),i[5]?.status==="fulfilled"&&k(I,i[5].value,!0),k(N,!0)});const U=y(()=>{const i=new Map;for(const a of t(A))i.set(a.name.toLowerCase(),{name:a.name,description:a.description});for(const a of Ft.catalog){const o=a.name.toLowerCase();i.has(o)||i.set(o,{name:a.name,description:a.description})}const u=new Map;for(const a of t(R))u.set(a.id,{name:a.name,description:a.description});for(const a of Vt.catalog)u.has(a.id)||u.set(a.id,{name:a.name,description:a.description});const G=(t(j)?.topSkills??[]).slice(0,S).map(a=>{const o=i.get(a.skillName.toLowerCase());return{kind:"skill",id:a.skillName,name:o?.name??a.skillName,description:o?.description??"Tracked from real skill invocation history.",count:a.count}}),b=(t(I)?.topServers??[]).slice(0,S).map(a=>{const o=u.get(a.serverId);return{kind:"mcp",id:a.serverId,name:o?.name??a.serverId,description:o?.description??"Tracked from real MCP server invocation history.",count:a.count}});return[...G,...b].slice(0,d)});function Z(i){return i.kind==="skill"?`sk:${i.id}`:`mcp:${i.id}`}function X(i){return i.kind==="skill"?"SKILL":"MCP"}function z(i){if(i.kind==="mcp"){const a=t(R).find(w=>w.id===i.id);if(a?.source!=="manual"&&a?.catalogId)return Yt(a.source,a.catalogId);const o=Vt.catalog.find(w=>w.id===i.id);return o?Yt(o.source,o.catalogId)??Te(o.sourceUrl):null}const u=t(A).find(a=>a.name.toLowerCase()===i.id.toLowerCase());if(u?.maintainer)return`https://github.com/${u.maintainer.split("/")[0]}.png?size=40`;const b=Ft.catalog.find(a=>a.name.toLowerCase()===i.id.toLowerCase())?.maintainer;return b?`https://github.com/${b.split("/")[0]}.png?size=40`:null}function H(){fe.activeTab="skills"}var F=Ue(),tt=n(s(F),2);{var l=i=>{var u=qe();m(i,u)},T=i=>{var u=Le();m(i,u)},O=i=>{var u=Ge();mt(u,21,()=>t(U),G=>Z(G),(G,b)=>{const a=y(()=>z(t(b))),o=y(()=>Z(t(b)));var w=$e(),q=s(w),r=s(q),v=s(r);{var p=D=>{var P=Pe();Q(()=>{Rt(P,"src",t(a)),Rt(P,"alt",t(b).name)}),re("error",P,()=>{K.add(t(o))}),ne(P),m(D,P)},f=y(()=>t(a)&&!K.has(t(o))),B=D=>{var P=Wt();Q(lt=>_(P,lt),[()=>Ee(t(b).name)]),m(D,P)};rt(v,D=>{t(f)?D(p):D(B,-1)})}e(r);var L=n(r,2),V=s(L),h=s(V,!0);e(V);var g=n(V,2),C=s(g,!0);e(g),e(L),e(q);var E=n(q,2),Y=s(E,!0);e(E);var J=n(E,2),et=s(J);e(J),e(w),Q((D,P)=>{at(r,`background: ${D??""};`),_(h,t(b).name),_(C,P),_(Y,t(b).description),_(et,`${t(b).count??""} uses`)},[()=>t(a)&&!K.has(t(o))?"transparent":Me(t(b).name),()=>X(t(b))]),gt("click",w,H),m(G,w)}),e(u),m(i,u)};rt(tt,i=>{!t(N)&&t(U).length===0?i(l):t(U).length===0?i(T,1):i(O,-1)})}e(F),m(W,F),it()}It(["click"]);function Be(W,c){nt(c,!0);let d=Jt(c,["$$slots","$$events","$$legacy"]);const S=[["path",{d:"M12 18V5"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77"}]];ge(W,Kt({name:"brain"},()=>d,{get iconNode(){return S},children:(M,N)=>{var A=zt(),R=qt(A);ie(R,()=>c.children??le),m(M,A)},$$slots:{default:!0}})),it()}var Fe=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Ve=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Ye=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),We=x('<div class="entity-row svelte-1qexx7n"><span class="entity-idx svelte-1qexx7n"> </span> <span class="entity-dot svelte-1qexx7n"></span> <span class="entity-name svelte-1qexx7n"> </span> <!></div>'),Ke=x('<div class="entity-list svelte-1qexx7n"></div>'),ze=x('<div class="panel sig-panel svelte-1qexx7n"><div class="panel-header sig-panel-header svelte-1qexx7n"><span class="panel-title svelte-1qexx7n">SPOTLIGHT</span> <span class="panel-count svelte-1qexx7n"> </span></div> <div class="panel-body svelte-1qexx7n"><!></div> <div class="panel-footer sig-panel-footer svelte-1qexx7n"><button class="panel-link svelte-1qexx7n">VIEW IN MEMORY</button></div></div>');function Je(W,c){nt(c,!0);let d=$(ct([])),S=$(!1);async function M(){try{const l=await fetch(`${Dt}/api/memories/most-used?limit=50`);if(l.ok){const i=((await l.json()).memories??[]).filter(u=>typeof u.id=="string"&&u.id.length>0&&typeof u.content=="string").map(u=>({id:u.id,content:u.content??"",access_count:u.access_count??0,importance:u.importance??.5}));if(i.length>0){k(d,i,!0),k(S,!0);return}}}catch{}k(d,c.memories.map(l=>({id:l.id,content:l.content,access_count:0,importance:l.importance??.5})).sort((l,T)=>T.importance-l.importance).slice(0,50),!0),k(S,!0)}Ot(()=>{M()});function N(l){const T=l.content.trim(),O=T.split(`
|
|
1
|
+
import{p as nt,g as Ct,t as n,j as s,l as e,w as kt,A as mt,y as Q,z as _,i as t,a9 as at,b as m,K as At,d as it,u as y,m as x,o as $,e as ct,ar as ae,q as Ot,v as k,k as rt,O as gt,D as Rt,N as re,as as ne,x as Wt,P as It,s as Kt,c as zt,f as qt,a as ie,n as le,r as Jt,Q as Qt,h as St,at as oe,E as Ht,F as ve}from"./KKQFryJf.js";import{l as ce,m as de,aR as ue,aS as pe,n as fe,I as ge,aT as Xt,o as Dt,B as me,aU as Bt,t as ft,R as he,aV as _e,aW as ye,aB as xe,a as Se}from"./De4A6hYY.js";import{f as be,a as we,s as Ft,m as Vt,g as Me,b as Ee,c as Yt,d as Te}from"./D4EJHnan.js";import{P as Ce,a as ke,b as Ie}from"./De7Jo0KS.js";import{T as je}from"./CztJzIms.js";import{R as Ne}from"./CQEz51Ys.js";var Ae=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Re=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),De=x('<div class="readout sig-panel svelte-1j3peig"><div class="readout-texture svelte-1j3peig" aria-hidden="true"></div> <div class="readout-content svelte-1j3peig"><div class="readout-eyebrow svelte-1j3peig"><span class="eyebrow-left svelte-1j3peig">SIGNET AGENT READOUT</span> <span class="eyebrow-right svelte-1j3peig"> </span></div> <div class="readout-hero svelte-1j3peig"><h1 class="agent-name svelte-1j3peig"> </h1> <div class="hero-stat svelte-1j3peig"><span class="hero-number svelte-1j3peig"> </span> <span class="hero-unit svelte-1j3peig">MEMORIES<br/>STORED</span></div></div> <div class="readout-divider sig-groove svelte-1j3peig" aria-hidden="true"></div> <div class="readout-grid svelte-1j3peig"><div class="readout-col svelte-1j3peig"></div> <div class="readout-col svelte-1j3peig"></div></div></div></div>');function Oe(W,c){nt(c,!0);let d=Ct(c,"diagnostics",3,null),S=Ct(c,"pipelineStatus",3,null),M=Ct(c,"memoryStats",3,null);const N=y(()=>{const h=c.daemonStatus?.agentCreatedAt;if(!h)return null;const g=new Date(h).getTime();return Number.isNaN(g)?null:Math.max(0,Math.floor((Date.now()-g)/864e5))}),A=y(()=>t(N)===null?"--":t(N)===0?"TODAY":t(N)===1?"1 DAY":`${t(N)} DAYS`),R=y(()=>c.daemonStatus?.activeSessions??0),j=y(()=>c.daemonStatus?.version??"--"),I=y(()=>c.continuity.length===0?null:[...c.continuity].sort((g,C)=>new Date(C.created_at).getTime()-new Date(g.created_at).getTime())[0]);function K(h){const g=Date.now()-new Date(h).getTime(),C=Math.floor(g/6e4);if(C<1)return"JUST NOW";if(C<60)return`${C}M AGO`;const E=Math.floor(C/60);return E<24?`${E}H AGO`:`${Math.floor(E/24)}D AGO`}const U=y(()=>t(I)?.project?.replace(/\/$/,"").split("/").pop()??"--"),Z=y(()=>t(I)?K(t(I).created_at):"--"),X=y(()=>c.identity.name?.trim()||"SIGNET AGENT"),z=y(()=>d()?.composite?.score??null),H=y(()=>d()?.composite?.status??"UNKNOWN"),F=y(()=>d()?.index?.embeddingCoverage!==void 0?Math.round(d().index.embeddingCoverage*100):!M()||M().total===0?null:Math.round(M().withEmbeddings/M().total*100)),tt=y(()=>S()?typeof S().mode=="string"?S().mode.toUpperCase():"ACTIVE":"UNKNOWN"),l=y(()=>{if(!d())return 0;let h=0;const g=["queue","storage","index","provider","connector","predictor"];for(const C of g){const E=d()[C];if(E&&typeof E=="object"&&"status"in E){const Y=E.status;(Y==="degraded"||Y==="unhealthy")&&h++}}return h});function T(h){return h===null?"var(--sig-text-muted)":h>=.8?"var(--sig-success)":h>=.5?"var(--sig-warning)":"var(--sig-danger)"}const O=y(()=>[{idx:"01",label:"UPTIME",value:t(A)},{idx:"02",label:"PROJECT",value:t(U)},{idx:"03",label:"LAST SEEN",value:t(Z)},{idx:"04",label:"CONNECTORS",value:String(c.connectorCount)},{idx:"05",label:"SESSIONS",value:String(t(R))}]),i=y(()=>[{idx:"06",label:"HEALTH",value:t(z)!==null?`${t(z).toFixed(2)} ${t(H).toUpperCase()}`:"--",color:T(t(z))},{idx:"07",label:"EMBEDDED",value:t(F)!==null?`${t(F)}%`:"--"},{idx:"08",label:"PIPELINE",value:t(tt)},{idx:"09",label:"WARNINGS",value:String(t(l)),color:t(l)>0?"var(--sig-danger)":void 0}]);var u=De(),G=n(s(u),2),b=s(G),a=n(s(b),2),o=s(a);e(a),e(b);var w=n(b,2),q=s(w),r=s(q,!0);e(q);var v=n(q,2),p=s(v),f=s(p,!0);e(p),kt(2),e(v),e(w);var B=n(w,4),L=s(B);mt(L,21,()=>t(O),At,(h,g)=>{var C=Ae(),E=s(C),Y=s(E,!0);e(E);var J=n(E,2),et=s(J,!0);e(J);var D=n(J,4),P=s(D,!0);e(D),e(C),Q(()=>{_(Y,t(g).idx),_(et,t(g).label),at(D,t(g).color?`color: ${t(g).color}`:""),_(P,t(g).value)}),m(h,C)}),e(L);var V=n(L,2);mt(V,21,()=>t(i),At,(h,g)=>{var C=Re(),E=s(C),Y=s(E,!0);e(E);var J=n(E,2),et=s(J,!0);e(J);var D=n(J,4),P=s(D,!0);e(D),e(C),Q(()=>{_(Y,t(g).idx),_(et,t(g).label),at(D,t(g).color?`color: ${t(g).color}`:""),_(P,t(g).value)}),m(h,C)}),e(V),e(B),e(G),e(u),Q(h=>{_(o,`v${t(j)??""}`),_(r,t(X)),_(f,h)},[()=>c.memoryCount.toLocaleString()]),m(W,u),it()}var qe=x('<div class="empty-state svelte-6whpsi">LOADING USAGE...</div>'),Le=x('<div class="empty-state svelte-6whpsi">NO TRACKED USAGE YET</div>'),Pe=x('<img class="spotlight-avatar svelte-6whpsi"/>'),$e=x('<button type="button" class="spotlight-card svelte-6whpsi"><div class="spotlight-top svelte-6whpsi"><div class="spotlight-icon svelte-6whpsi"><!></div> <div class="spotlight-meta svelte-6whpsi"><span class="spotlight-name svelte-6whpsi"> </span> <span class="spotlight-badge svelte-6whpsi"> </span></div></div> <p class="spotlight-desc svelte-6whpsi"> </p> <p class="spotlight-usage svelte-6whpsi"> </p></button>'),Ge=x('<div class="spotlights-grid svelte-6whpsi"></div>'),Ue=x('<div class="spotlights-panel sig-panel svelte-6whpsi"><div class="spotlights-header sig-panel-header svelte-6whpsi"><span class="spotlights-title svelte-6whpsi">MOST USED SKILLS & SERVERS</span> <span class="spotlights-count svelte-6whpsi">LAST 30 DAYS</span></div> <!></div>');function He(W,c){nt(c,!0);const d=6,S=3,M=new Date(Date.now()-30*864e5).toISOString();let N=$(!1),A=$(ct([])),R=$(ct([])),j=$(null),I=$(null);const K=new ae;Ot(async()=>{const i=await Promise.allSettled([be(),we(5),ce(),de(),ue({since:M,limit:S}),pe({since:M,limit:S})]);i[2]?.status==="fulfilled"&&k(A,i[2].value,!0),i[3]?.status==="fulfilled"&&k(R,i[3].value.servers,!0),i[4]?.status==="fulfilled"&&k(j,i[4].value,!0),i[5]?.status==="fulfilled"&&k(I,i[5].value,!0),k(N,!0)});const U=y(()=>{const i=new Map;for(const a of t(A))i.set(a.name.toLowerCase(),{name:a.name,description:a.description});for(const a of Ft.catalog){const o=a.name.toLowerCase();i.has(o)||i.set(o,{name:a.name,description:a.description})}const u=new Map;for(const a of t(R))u.set(a.id,{name:a.name,description:a.description});for(const a of Vt.catalog)u.has(a.id)||u.set(a.id,{name:a.name,description:a.description});const G=(t(j)?.topSkills??[]).slice(0,S).map(a=>{const o=i.get(a.skillName.toLowerCase());return{kind:"skill",id:a.skillName,name:o?.name??a.skillName,description:o?.description??"Tracked from real skill invocation history.",count:a.count}}),b=(t(I)?.topServers??[]).slice(0,S).map(a=>{const o=u.get(a.serverId);return{kind:"mcp",id:a.serverId,name:o?.name??a.serverId,description:o?.description??"Tracked from real MCP server invocation history.",count:a.count}});return[...G,...b].slice(0,d)});function Z(i){return i.kind==="skill"?`sk:${i.id}`:`mcp:${i.id}`}function X(i){return i.kind==="skill"?"SKILL":"MCP"}function z(i){if(i.kind==="mcp"){const a=t(R).find(w=>w.id===i.id);if(a?.source!=="manual"&&a?.catalogId)return Yt(a.source,a.catalogId);const o=Vt.catalog.find(w=>w.id===i.id);return o?Yt(o.source,o.catalogId)??Te(o.sourceUrl):null}const u=t(A).find(a=>a.name.toLowerCase()===i.id.toLowerCase());if(u?.maintainer)return`https://github.com/${u.maintainer.split("/")[0]}.png?size=40`;const b=Ft.catalog.find(a=>a.name.toLowerCase()===i.id.toLowerCase())?.maintainer;return b?`https://github.com/${b.split("/")[0]}.png?size=40`:null}function H(){fe.activeTab="skills"}var F=Ue(),tt=n(s(F),2);{var l=i=>{var u=qe();m(i,u)},T=i=>{var u=Le();m(i,u)},O=i=>{var u=Ge();mt(u,21,()=>t(U),G=>Z(G),(G,b)=>{const a=y(()=>z(t(b))),o=y(()=>Z(t(b)));var w=$e(),q=s(w),r=s(q),v=s(r);{var p=D=>{var P=Pe();Q(()=>{Rt(P,"src",t(a)),Rt(P,"alt",t(b).name)}),re("error",P,()=>{K.add(t(o))}),ne(P),m(D,P)},f=y(()=>t(a)&&!K.has(t(o))),B=D=>{var P=Wt();Q(lt=>_(P,lt),[()=>Ee(t(b).name)]),m(D,P)};rt(v,D=>{t(f)?D(p):D(B,-1)})}e(r);var L=n(r,2),V=s(L),h=s(V,!0);e(V);var g=n(V,2),C=s(g,!0);e(g),e(L),e(q);var E=n(q,2),Y=s(E,!0);e(E);var J=n(E,2),et=s(J);e(J),e(w),Q((D,P)=>{at(r,`background: ${D??""};`),_(h,t(b).name),_(C,P),_(Y,t(b).description),_(et,`${t(b).count??""} uses`)},[()=>t(a)&&!K.has(t(o))?"transparent":Me(t(b).name),()=>X(t(b))]),gt("click",w,H),m(G,w)}),e(u),m(i,u)};rt(tt,i=>{!t(N)&&t(U).length===0?i(l):t(U).length===0?i(T,1):i(O,-1)})}e(F),m(W,F),it()}It(["click"]);function Be(W,c){nt(c,!0);let d=Jt(c,["$$slots","$$events","$$legacy"]);const S=[["path",{d:"M12 18V5"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77"}]];ge(W,Kt({name:"brain"},()=>d,{get iconNode(){return S},children:(M,N)=>{var A=zt(),R=qt(A);ie(R,()=>c.children??le),m(M,A)},$$slots:{default:!0}})),it()}var Fe=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Ve=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Ye=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),We=x('<div class="entity-row svelte-1qexx7n"><span class="entity-idx svelte-1qexx7n"> </span> <span class="entity-dot svelte-1qexx7n"></span> <span class="entity-name svelte-1qexx7n"> </span> <!></div>'),Ke=x('<div class="entity-list svelte-1qexx7n"></div>'),ze=x('<div class="panel sig-panel svelte-1qexx7n"><div class="panel-header sig-panel-header svelte-1qexx7n"><span class="panel-title svelte-1qexx7n">SPOTLIGHT</span> <span class="panel-count svelte-1qexx7n"> </span></div> <div class="panel-body svelte-1qexx7n"><!></div> <div class="panel-footer sig-panel-footer svelte-1qexx7n"><button class="panel-link svelte-1qexx7n">VIEW IN MEMORY</button></div></div>');function Je(W,c){nt(c,!0);let d=$(ct([])),S=$(!1);async function M(){try{const l=await fetch(`${Dt}/api/memories/most-used?limit=50`);if(l.ok){const i=((await l.json()).memories??[]).filter(u=>typeof u.id=="string"&&u.id.length>0&&typeof u.content=="string").map(u=>({id:u.id,content:u.content??"",access_count:u.access_count??0,importance:u.importance??.5}));if(i.length>0){k(d,i,!0),k(S,!0);return}}}catch{}k(d,c.memories.map(l=>({id:l.id,content:l.content,access_count:0,importance:l.importance??.5})).sort((l,T)=>T.importance-l.importance).slice(0,50),!0),k(S,!0)}Ot(()=>{M()});function N(l){const T=l.content.trim(),O=T.split(`
|
|
2
2
|
`)[0]??T;return O.length>60?`${O.slice(0,57)}...`:O}function A(l){return l>=.8?"var(--sig-danger)":l>=.5?"var(--sig-warning)":"var(--sig-success)"}var R=ze(),j=s(R),I=n(s(j),2),K=s(I);e(I),e(j);var U=n(j,2),Z=s(U);{var X=l=>{var T=Fe();m(l,T)},z=l=>{var T=Ve(),O=s(T);Be(O,{class:"empty-icon"}),kt(2),e(T),m(l,T)},H=l=>{var T=Ke();mt(T,23,()=>t(d),O=>O.id,(O,i,u)=>{var G=We(),b=s(G),a=s(b,!0);e(b);var o=n(b,2),w=n(o,2),q=s(w,!0);e(w);var r=n(w,2);{var v=p=>{var f=Ye(),B=s(f,!0);e(f),Q(()=>_(B,t(i).access_count)),m(p,f)};rt(r,p=>{t(i).access_count>0&&p(v)})}e(G),Q((p,f,B)=>{_(a,p),at(o,`background: ${f??""}`),_(q,B)},[()=>String(t(u)+1).padStart(2,"0"),()=>A(t(i).importance),()=>N(t(i))]),m(O,G)}),e(T),m(l,T)};rt(Z,l=>{t(S)?t(d).length===0?l(z,1):l(H,-1):l(X)})}e(U);var F=n(U,2),tt=s(F);e(F),e(R),Q(()=>_(K,`${t(d).length??""} RECALLED`)),gt("click",tt,()=>Xt("cortex-memory")),m(W,R),it()}It(["click"]);var Qe=x('<span class="status-indicator svelte-ym2fyr"> </span>'),Xe=x('<div class="empty-state svelte-ym2fyr">LOADING</div>'),Ze=x('<div class="scoring-data svelte-ym2fyr"><div class="split-bar-container svelte-ym2fyr"><div class="split-bar sig-track svelte-ym2fyr"><div class="split-segment baseline svelte-ym2fyr"></div> <div class="split-segment predictor svelte-ym2fyr"></div></div> <div class="split-labels svelte-ym2fyr"><span class="split-label svelte-ym2fyr"> </span> <span class="split-label accent svelte-ym2fyr"> </span></div></div> <div class="stat-rows svelte-ym2fyr"><div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">SUCCESS RATE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">MODEL VERSION</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">TRAINING SESSIONS</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div></div></div>'),ts=x('<div class="stat-rows svelte-ym2fyr"><div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">EMBEDDING COVERAGE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">TOTAL MEMORIES</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">HEALTH SCORE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div></div>'),es=x('<div class="panel sig-panel svelte-ym2fyr"><div class="panel-header sig-panel-header svelte-ym2fyr"><span class="panel-title svelte-ym2fyr">MEMORY SCORING</span> <!></div> <div class="panel-body svelte-ym2fyr"><!></div> <div class="panel-footer sig-panel-footer svelte-ym2fyr"><button class="panel-link svelte-ym2fyr">VIEW PREDICTOR</button></div></div>');function ss(W,c){nt(c,!0);let d=$(null),S=$(null),M=$(!1);const N=y(()=>t(d)?.sidecarAlive),A=y(()=>t(d)?.alpha??.6),R=y(()=>t(d)?.successRate??0),j=y(()=>{if(t(S)?.composite){const a=t(S).composite.score;return a>=.7?"healthy":a>=.4?"degraded":"unhealthy"}return t(d)?.status??"unknown"}),I=y(()=>t(S)?.index?.embeddingCoverage??0),K=y(()=>t(S)?.storage?.totalMemories??0),U=y(()=>t(S)?.composite?.score??0);function Z(a){return a==="healthy"?"var(--sig-success)":a==="degraded"||a==="cold_start"?"var(--sig-warning)":a==="unhealthy"?"var(--sig-danger)":"var(--sig-text-muted)"}async function X(){try{const[a,o]=await Promise.allSettled([fetch(`${Dt}/api/diagnostics/predictor`),fetch(`${Dt}/api/diagnostics`)]);a.status==="fulfilled"&&a.value.ok&&k(d,await a.value.json(),!0),o.status==="fulfilled"&&o.value.ok&&k(S,await o.value.json(),!0)}catch{}k(M,!0)}Qt(()=>{c.daemonStatus?X():k(M,!0)});var z=es(),H=s(z),F=n(s(H),2);{var tt=a=>{var o=Qe(),w=s(o,!0);e(o),Q((q,r)=>{at(o,`color: ${q??""}`),_(w,r)},[()=>Z(t(j)),()=>t(j).toUpperCase()]),m(a,o)};rt(F,a=>{t(M)&&a(tt)})}e(H);var l=n(H,2),T=s(l);{var O=a=>{var o=Xe();m(a,o)},i=a=>{var o=Ze(),w=s(o),q=s(w),r=s(q),v=n(r,2);e(q);var p=n(q,2),f=s(p),B=s(f);e(f);var L=n(f,2),V=s(L);e(L),e(p),e(w);var h=n(w,2),g=s(h),C=n(s(g),4),E=s(C);e(C),e(g);var Y=n(g,2),J=n(s(Y),4),et=s(J);e(J),e(Y);var D=n(Y,2),P=n(s(D),4),lt=s(P,!0);e(P),e(D),e(h),e(o),Q((jt,bt,wt)=>{at(r,`width: ${t(A)*100}%`),at(v,`width: ${(1-t(A))*100}%`),_(B,`BASELINE ${jt??""}%`),_(V,`PREDICTOR ${bt??""}%`),_(E,`${wt??""}%`),_(et,`v${t(d)?.modelVersion??"--"??""}`),_(lt,t(d)?.trainingSessions??"--")},[()=>Math.round(t(A)*100),()=>Math.round((1-t(A))*100),()=>Math.round(t(R)*100)]),m(a,o)},u=a=>{var o=ts(),w=s(o),q=n(s(w),4),r=s(q);e(q),e(w);var v=n(w,2),p=n(s(v),4),f=s(p,!0);e(p),e(v);var B=n(v,2),L=n(s(B),4),V=s(L);e(L),e(B),e(o),Q((h,g,C)=>{_(r,`${h??""}%`),_(f,g),_(V,`${C??""}%`)},[()=>Math.round(t(I)*100),()=>t(K).toLocaleString(),()=>Math.round(t(U)*100)]),m(a,o)};rt(T,a=>{t(M)?t(N)?a(i,1):a(u,-1):a(O)})}e(l);var G=n(l,2),b=s(G);e(G),e(z),gt("click",b,()=>Xt("predictor")),m(W,z),it()}It(["click"]);function as(W,c){nt(c,!0);let d=Ct(c,"ref",15,null),S=Jt(c,["$$slots","$$events","$$legacy","ref"]);var M=zt(),N=qt(M);St(N,()=>oe,(A,R)=>{R(A,Kt({"data-slot":"popover-close"},()=>S,{get ref(){return d()},set ref(j){d(j)}}))}),m(W,M),it()}var rs=x('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),ns=x('<span class="entry-tag svelte-7r7fq6"> </span>'),is=x('<div class="entry-tags svelte-7r7fq6"></div>'),ls=x("<button>EDIT</button>"),os=x("<button>Cancel</button>"),vs=x('<div class="edit-popover svelte-7r7fq6"><span class="sig-eyebrow">Correct memory</span> <!> <div class="flex justify-end gap-1 mt-1"><!> <!></div></div>'),cs=x("<!> <!>",1),ds=x('<div class="insight-entry svelte-7r7fq6"><div class="entry-top svelte-7r7fq6"><div class="entry-top-left svelte-7r7fq6"><span class="entry-idx svelte-7r7fq6"> </span> <span class="entry-dot svelte-7r7fq6"></span> <span class="entry-date svelte-7r7fq6"> </span></div> <!></div> <p class="entry-content svelte-7r7fq6"> </p> <div class="entry-actions svelte-7r7fq6"><button class="action-btn accept sig-switch svelte-7r7fq6">PIN</button> <button class="action-btn reject sig-switch svelte-7r7fq6">DISMISS</button> <!></div></div>'),us=x('<div class="insights-list svelte-7r7fq6"></div>'),ps=x('<div class="insights-panel sig-panel svelte-7r7fq6"><div class="insights-header sig-panel-header svelte-7r7fq6"><span class="insights-title svelte-7r7fq6">SUGGESTED INSIGHTS</span> <div class="insights-header-right svelte-7r7fq6"><span class="insights-count svelte-7r7fq6"> </span> <button class="refresh-btn sig-switch svelte-7r7fq6" title="Refresh suggestions"><!> <span>REFRESH</span></button></div></div> <!></div>');function fs(W,c){nt(c,!0);let d=$(ct(new Set)),S=$(0),M=$(void 0),N=$(3);const A=90;function R(r){const p=Date.now()-new Date(r.created_at).getTime(),f=864e5,B=p<7*f?1:p<30*f?.5:.2,L=j(r.tags),V=L.length===0?1:L.length<3?.6:.2,h=r.importance??.5,g=h>=.3&&h<=.7?1:.3;return B+V+g}function j(r){return r?Array.isArray(r)?r.filter(Boolean):r.split(",").map(v=>v.trim()).filter(Boolean):[]}const I=y(()=>c.memories.filter(r=>!(t(d).has(r.id)||r.pinned||j(r.tags).includes("rejected-insight"))).map(r=>({memory:r,score:R(r)})).sort((r,v)=>v.score-r.score)),K=y(()=>{if(t(I).length===0)return[];const r=Math.min(t(N),t(I).length),v=t(S)%t(I).length;return Array.from({length:r},(p,f)=>t(I)[(v+f)%t(I).length].memory)});Qt(()=>{if(!t(M))return;const r=new ResizeObserver(v=>{const p=v[0]?.contentRect.height??0;k(N,Math.max(1,Math.floor(p/A)),!0)});return r.observe(t(M)),()=>r.disconnect()});function U(r){return r>=.8?"var(--sig-danger)":r>=.5?"var(--sig-warning)":"var(--sig-success)"}function Z(r){const v=new Date(r),p=v.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),f=String(v.getDate()).padStart(2,"0");return`${p} ${f}`}async function X(r){const v=await he(r.id,!0);v.success?(k(d,new Set([...t(d),r.id]),!0),ft("Memory pinned","success")):ft(v.error??"Failed to pin","error")}async function z(r){const v=j(r.tags);v.push("rejected-insight");const p=await Bt(r.id,{tags:v.join(",")},"dashboard: rejected insight");p.success?(k(d,new Set([...t(d),r.id]),!0),ft("Memory dismissed","success")):ft(p.error??"Failed to dismiss","error")}const H=ct({});function F(r){H[r.id]=r.content}async function tt(r){const v=H[r.id];if(!v||v===r.content)return;const p=await Bt(r.id,{content:v},"dashboard: corrected insight");p.success?(k(d,new Set([...t(d),r.id]),!0),ft("Memory corrected","success")):ft(p.error??"Failed to save","error")}function l(){k(S,(t(S)+t(N))%Math.max(1,t(I).length))}var T=ps(),O=s(T),i=n(s(O),2),u=s(i),G=s(u);e(u);var b=n(u,2),a=s(b);Ne(a,{class:"refresh-icon"}),kt(2),e(b),e(i),e(O);var o=n(O,2);{var w=r=>{var v=rs();m(r,v)},q=r=>{var v=us();mt(v,23,()=>t(K),p=>p.id,(p,f,B)=>{var L=ds(),V=s(L),h=s(V),g=s(h),C=s(g,!0);e(g);var E=n(g,2),Y=n(E,2),J=s(Y,!0);e(Y),e(h);var et=n(h,2);{var D=ot=>{var vt=is();mt(vt,21,()=>j(t(f).tags).slice(0,3),At,(ht,Mt)=>{var dt=ns(),Et=s(dt,!0);e(dt),Q(()=>_(Et,t(Mt))),m(ht,dt)}),e(vt),m(ot,vt)},P=y(()=>j(t(f).tags).length>0);rt(et,ot=>{t(P)&&ot(D)})}e(V);var lt=n(V,2),jt=s(lt,!0);e(lt);var bt=n(lt,2),wt=s(bt),Lt=n(wt,2),Zt=n(Lt,2);St(Zt,()=>Ie,(ot,vt)=>{vt(ot,{children:(ht,Mt)=>{var dt=cs(),Et=qt(dt);{const Nt=(_t,yt)=>{let Pt=()=>yt?.().props;var ut=ls(),Tt=()=>F(t(f));Ht(ut,()=>({...Pt(),class:"action-btn edit sig-switch",onclick:Tt}),void 0,void 0,void 0,"svelte-7r7fq6"),m(_t,ut)};St(Et,()=>Ce,(_t,yt)=>{yt(_t,{child:Nt,$$slots:{child:!0}})})}var te=n(Et,2);St(te,()=>ke,(Nt,_t)=>{_t(Nt,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(yt,Pt)=>{var ut=vs(),Tt=n(s(ut),2);{let xt=y(()=>H[t(f).id]??t(f).content);je(Tt,{class:`mt-2 min-h-[60px] text-[11px] font-[family-name:var(--font-mono)]
|
|
3
3
|
bg-[var(--sig-bg)] border-[var(--sig-border)]
|
|
4
4
|
text-[var(--sig-text)]`,get value(){return t(xt)},oninput:pt=>{const st=pt.currentTarget;st instanceof HTMLTextAreaElement&&(H[t(f).id]=st.value)}})}var $t=n(Tt,2),Gt=s($t);{const xt=(pt,st)=>{let se=()=>st?.().props;var Ut=os();Ht(Ut,()=>({...se(),class:"text-[10px] px-2 py-1 text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]"}),void 0,void 0,void 0,"svelte-7r7fq6"),m(pt,Ut)};St(Gt,()=>as,(pt,st)=>{st(pt,{child:xt,$$slots:{child:!0}})})}var ee=n(Gt,2);me(ee,{variant:"default",size:"sm",class:"text-[10px] h-6",onclick:()=>tt(t(f)),children:(xt,pt)=>{kt();var st=Wt("Save");m(xt,st)},$$slots:{default:!0}}),e($t),e(ut),m(yt,ut)},$$slots:{default:!0}})}),m(ht,dt)},$$slots:{default:!0}})}),e(bt),e(L),Q((ot,vt,ht,Mt)=>{_(C,ot),at(E,`background: ${vt??""}`),Rt(E,"title",`importance: ${ht??""}`),_(J,Mt),_(jt,t(f).content)},[()=>String(t(B)+1).padStart(2,"0"),()=>U(t(f).importance??.5),()=>(t(f).importance??.5).toFixed(2),()=>Z(t(f).created_at)]),gt("click",wt,()=>X(t(f))),gt("click",Lt,()=>z(t(f))),m(p,L)}),e(v),ve(v,p=>k(M,p),()=>t(M)),m(r,v)};rt(o,r=>{t(K).length===0?r(w):r(q,-1)})}e(T),Q(()=>_(G,`${t(K).length??""} OF ${t(I).length??""}`)),gt("click",b,l),m(W,T),it()}It(["click"]);var gs=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><div class="home-grid svelte-12c0jaj"><div class="area-banner svelte-12c0jaj"><!></div> <div class="area-spotlights svelte-12c0jaj"><!></div> <div class="area-insights svelte-12c0jaj"><!></div> <div class="area-sidebar svelte-12c0jaj"><!> <!></div></div></div>');function bs(W,c){nt(c,!0);let d=$(null),S=$(ct([])),M=$(null),N=$(ct([])),A=$(!1);Ot(async()=>{const l=await Promise.allSettled([_e(),ye(),xe(),Se()]);l[0].status==="fulfilled"&&l[0].value&&k(d,l[0].value,!0),l[1].status==="fulfilled"&&k(S,l[1].value,!0),l[2].status==="fulfilled"&&k(M,l[2].value,!0),l[3].status==="fulfilled"&&k(N,l[3].value,!0),k(A,!0)});var R=gs(),j=s(R),I=s(j),K=s(I);{let l=y(()=>c.memoryStats?.total??0);Oe(K,{get identity(){return c.identity},get daemonStatus(){return c.daemonStatus},get connectorCount(){return t(N).length},get continuity(){return t(S)},get memoryCount(){return t(l)},get diagnostics(){return t(d)},get pipelineStatus(){return t(M)},get memoryStats(){return c.memoryStats}})}e(I);var U=n(I,2),Z=s(U);He(Z,{}),e(U);var X=n(U,2),z=s(X);fs(z,{get memories(){return c.memories}}),e(X);var H=n(X,2),F=s(H);Je(F,{get memories(){return c.memories}});var tt=n(F,2);ss(tt,{get daemonStatus(){return c.daemonStatus}}),e(H),e(j),e(R),m(W,R),it()}export{bs 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"./KKQFryJf.js";import{I as $}from"./
|
|
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"./KKQFryJf.js";import{I as $}from"./De4A6hYY.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 o,c as w,f as k,k as I,b as s,d as E,E as c,F as f,J as F,I as v,m as g,r as J}from"./KKQFryJf.js";import{c as b}from"./
|
|
1
|
+
import{p as _,g as o,c as w,f as k,k as I,b as s,d as E,E as c,F as f,J as F,I as v,m as g,r as J}from"./KKQFryJf.js";import{c as b}from"./De4A6hYY.js";var P=g("<input/>"),S=g("<input/>");function z(p,i){_(i,!0);let a=o(i,"ref",15,null),d=o(i,"value",15),m=o(i,"files",15),n=o(i,"data-slot",3,"input"),l=J(i,["$$slots","$$events","$$legacy","ref","value","type","files","class","data-slot"]);var u=w(),x=k(u);{var y=t=>{var e=P();c(e,r=>({"data-slot":n(),class:r,type:"file",...l}),[()=>b("selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i.class)],void 0,void 0,void 0,!0),f(e,r=>a(r),()=>a()),F(e,m),v(e,d),s(t,e)},h=t=>{var e=S();c(e,r=>({"data-slot":n(),class:r,type:i.type,...l}),[()=>b("border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i.class)],void 0,void 0,void 0,!0),f(e,r=>a(r),()=>a()),v(e,d),s(t,e)};I(x,t=>{i.type==="file"?t(y):t(h,-1)})}s(p,u),E()}export{z as I};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as m,y as h,z as _,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./KKQFryJf.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"./
|
|
1
|
+
import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as m,y as h,z as _,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./KKQFryJf.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"./De4A6hYY.js";import{P as er}from"./DK3bAoxY.js";import{T as rr}from"./CyB1_UBK.js";import{B as sr}from"./BZU7uF1c.js";import{P as tr,a as ar,b as nr}from"./De7Jo0KS.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
|
|
2
2
|
border border-[var(--sig-border)]
|
|
3
3
|
bg-[var(--sig-surface-raised)]"><span></span> <div class="flex flex-col gap-0.5 min-w-0 flex-1"><span class="text-[12px] font-medium text-[var(--sig-text-bright)]
|
|
4
4
|
font-[family-name:var(--font-display)] tracking-[0.04em]"> </span> <span class="sig-eyebrow truncate"> </span></div> <div class="flex flex-col items-end gap-0.5 shrink-0"><span> </span> <span class="sig-eyebrow"><!></span></div></div>`),lr=x(`<div class="flex items-center justify-center py-8
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./De4A6hYY.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as h,g as s,c as o,f as d,M as p,F as m,E as x,a as y,n as w,b as c,d as _,r as k}from"./KKQFryJf.js";import{c as B,e as V}from"./
|
|
1
|
+
import{p as h,g as s,c as o,f as d,M as p,F as m,E as x,a as y,n as w,b as c,d as _,r as k}from"./KKQFryJf.js";import{c as B,e as V}from"./De4A6hYY.js";const j=V({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent",destructive:"bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function F(v,e){h(e,!0);let a=s(e,"ref",15,null),f=s(e,"variant",3,"default"),l=k(e,["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);var t=o(),u=d(t);p(u,()=>e.href?"a":"span",!1,(i,g)=>{m(i,r=>a(r),()=>a()),x(i,r=>({"data-slot":"badge",href:e.href,class:r,...l}),[()=>B(j({variant:f()}),e.class)]);var n=o(),b=d(n);y(b,()=>e.children??w),c(g,n)}),c(v,t),_()}export{F as B};
|