signetai 0.101.2 → 0.102.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.
Files changed (66) hide show
  1. package/dashboard/_app/immutable/assets/MarketplaceTab.2Q9FQw0y.css +1 -0
  2. package/dashboard/_app/immutable/chunks/{DeS7e3f3.js → 7KCAhpPE.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{DM60M4Y-.js → B6wN0EjW.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{BitUn2Zo.js → BB193gf0.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{Ca5Q54T6.js → BB91FByk.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{DaW_ryzM.js → BFZmhjN6.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{zVrA8br7.js → BIc-dJ1W.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{CDjl9v1b.js → BMO8x0gz.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/{J0icG7_e.js → BRyiCivM.js} +1 -1
  10. package/dashboard/_app/immutable/chunks/{YviGA35d.js → BS7wyv3H.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{CCfimmv_.js → Bc-tUO5p.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{CCU7n9nR.js → Bi3XAyDm.js} +1 -1
  13. package/dashboard/_app/immutable/chunks/{BIscneKa.js → Bk5JwyeL.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{BgLUlk9-.js → BlucWZ2N.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{BT5XqQkO.js → BnzLan1l.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{Cwqm2HHq.js → BqcjRj3N.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{DHqEm3Ag.js → BwWxW35-.js} +1 -1
  18. package/dashboard/_app/immutable/chunks/{BVX2QZbA.js → C04LZclh.js} +1 -1
  19. package/dashboard/_app/immutable/chunks/{BqLV66Iz.js → C7gwZc8E.js} +1 -1
  20. package/dashboard/_app/immutable/chunks/{Dtxew89B.js → CHCQeeDX.js} +2 -2
  21. package/dashboard/_app/immutable/chunks/{BraptfBK.js → CMnj9aUR.js} +1 -1
  22. package/dashboard/_app/immutable/chunks/{DHZ4hXoj.js → COz9co-w.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{C41Q1ur1.js → CSGfCqda.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{CcnKaAAA.js → CTzUFFfL.js} +1 -1
  25. package/dashboard/_app/immutable/chunks/{C36snM1J.js → CbgFyh_P.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{DqBhIxjq.js → CfJbDZHl.js} +1 -1
  27. package/dashboard/_app/immutable/chunks/{DaM-ZLZv.js → CfeVzCl-.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{LpQ7KtA7.js → CguoEPuE.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/{DnhLEnQv.js → CtkfaHGs.js} +1 -1
  30. package/dashboard/_app/immutable/chunks/{Djj6Na1A.js → CutXCkoP.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{Cj3_EPR_.js → CyB1_UBK.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{BmYCH0po.js → DB51cR7y.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{CX0SSWdh.js → DFkBllc2.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{Jvf56kqr.js → DK3bAoxY.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{JpBzdZEj.js → DKoHJOWJ.js} +1 -1
  36. package/dashboard/_app/immutable/chunks/{D_6JfkL0.js → DN1XuMSR.js} +1 -1
  37. package/dashboard/_app/immutable/chunks/{DyN1E6pg.js → DNGDC21S.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{C8kjJEZI.js → DNXQ-8Zd.js} +1 -1
  39. package/dashboard/_app/immutable/chunks/{1jeUpVYs.js → DQksSy2l.js} +6 -6
  40. package/dashboard/_app/immutable/chunks/{HbzBhL7l.js → DRqRNzP4.js} +1 -1
  41. package/dashboard/_app/immutable/chunks/{BX41TkFN.js → Db4X_CIf.js} +1 -1
  42. package/dashboard/_app/immutable/chunks/{CxWbvq1e.js → DjpswqDx.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/ESb18dDI.js +26 -0
  44. package/dashboard/_app/immutable/chunks/{B5wF_oIA.js → IJ8mTVSU.js} +1 -1
  45. package/dashboard/_app/immutable/chunks/{QfnvbGen.js → KKQFryJf.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{BOrfKTGM.js → P0X3uYAO.js} +11 -11
  47. package/dashboard/_app/immutable/chunks/{CxjCeqzG.js → P1j1IIII.js} +1 -1
  48. package/dashboard/_app/immutable/chunks/{CGVVComP.js → P_OtnvK9.js} +1 -1
  49. package/dashboard/_app/immutable/chunks/{BpouwOCn.js → W50I7Eo0.js} +1 -1
  50. package/dashboard/_app/immutable/chunks/{j8gvngT7.js → W_TSgTwJ.js} +1 -1
  51. package/dashboard/_app/immutable/chunks/{DMYZvvBj.js → ce_1EcT1.js} +1 -1
  52. package/dashboard/_app/immutable/chunks/{n-D9IxRv.js → tD2kC__s.js} +1 -1
  53. package/dashboard/_app/immutable/chunks/{tHzw0DS-.js → uhOMIw87.js} +1 -1
  54. package/dashboard/_app/immutable/chunks/{DxwtSBjh.js → z-Ux54Ax.js} +2 -2
  55. package/dashboard/_app/immutable/entry/{app.hhdNVYWP.js → app.3u3afbzK.js} +2 -2
  56. package/dashboard/_app/immutable/entry/start.CdLVDrmJ.js +1 -0
  57. package/dashboard/_app/immutable/nodes/{0.pjxqcAmt.js → 0.C63smEuv.js} +1 -1
  58. package/dashboard/_app/immutable/nodes/{1.DxAEeuF_.js → 1.Ce1LT6Xu.js} +1 -1
  59. package/dashboard/_app/immutable/nodes/2.z_fohzwa.js +1 -0
  60. package/dashboard/_app/version.json +1 -1
  61. package/dashboard/index.html +7 -7
  62. package/package.json +1 -1
  63. package/dashboard/_app/immutable/assets/MarketplaceTab.DwiTTu6u.css +0 -1
  64. package/dashboard/_app/immutable/chunks/DZDeTrtH.js +0 -26
  65. package/dashboard/_app/immutable/entry/start.D9FJ0xF5.js +0 -1
  66. package/dashboard/_app/immutable/nodes/2.C3qif3mN.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)}@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 +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"./QfnvbGen.js";import{I as $}from"./BOrfKTGM.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];$(e,c({name:"pencil"},()=>o,{get iconNode(){return t},children:(n,_)=>{var s=l(),r=d(s);i(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
1
+ import{p,s as c,c as l,f as d,a as i,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./P0X3uYAO.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 ie,s as ye,c as ce,f as de,a as Ee,n as Pe,b as v,d as ve,r as xe,o as h,e as ne,q as Ut,N as oe,$ as Vt,j as n,t as i,l as r,w as Fe,k as $,i as e,y as q,z as N,D as et,a9 as zt,O as M,v as s,aj as U,u as le,A as tt,B as Kt,K as st,m as b,P as qt,x as at}from"./QfnvbGen.js";import{I as Se,af as Gt,ag as jt,ah as Bt,n as Xt,ai as G,aj as Wt,t as S,ak as Jt,al as Qt,am as Yt,an as Zt}from"./BOrfKTGM.js";import{C as rt}from"./YviGA35d.js";import{I as be}from"./BT5XqQkO.js";import{P as es}from"./BqLV66Iz.js";import{R as ts}from"./BX41TkFN.js";import{T as ss}from"./BraptfBK.js";import{C as as}from"./CCU7n9nR.js";import{C as rs}from"./CxWbvq1e.js";function ns(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M12 3v12"}],["path",{d:"m8 11 4 4 4-4"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"}]];Se(L,ye({name:"import"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function os(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];Se(L,ye({name:"key-round"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function ls(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];Se(L,ye({name:"link"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function is(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16"}]];Se(L,ye({name:"unlink"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}var cs=b('<div class="add-form svelte-k8hi4h"><div class="add-form-row svelte-k8hi4h"><!> <!> <button class="add-submit svelte-k8hi4h"> </button></div></div>'),ds=b('<div class="panel-empty svelte-k8hi4h">LOADING</div>'),vs=b('<div class="panel-empty svelte-k8hi4h"><span>NO SECRETS STORED</span> <span class="panel-empty-hint svelte-k8hi4h">PRESS N TO ADD ONE</span></div>'),us=b('<span class="secret-delete-text svelte-k8hi4h">...</span>'),ps=b('<div tabindex="0" role="listitem"><!> <span class="secret-name svelte-k8hi4h"> </span> <span class="secret-mask svelte-k8hi4h">········</span> <button class="secret-delete svelte-k8hi4h"><!></button></div>'),fs=b('<div class="op-status op-status--ok svelte-k8hi4h">Connected<!></div>'),hs=b('<div class="op-status op-status--warn svelte-k8hi4h">Token saved but unreachable<!></div>'),ms=b('<div class="op-status svelte-k8hi4h">Connect a 1Password service account to import secrets</div>'),ks=b('<label class="op-vault svelte-k8hi4h"><!> <span class="op-vault-name svelte-k8hi4h"> </span></label>'),_s=b('<div class="op-vaults svelte-k8hi4h"><span class="op-vaults-label svelte-k8hi4h">VAULTS</span> <div class="op-vault-list svelte-k8hi4h"></div></div>'),ws=b('<div class="op-vaults-empty svelte-k8hi4h">NO ACCESSIBLE VAULTS</div>'),gs=b('<div class="onepassword-panel svelte-k8hi4h"><!> <div class="op-row svelte-k8hi4h"><!> <button class="op-btn svelte-k8hi4h" data-focus-index="2"><!> <span> </span></button></div> <div class="op-options svelte-k8hi4h"><div class="op-option svelte-k8hi4h"><span class="op-option-label svelte-k8hi4h">PREFIX</span> <!></div> <label class="op-option op-option--check svelte-k8hi4h" for="op-overwrite"><!> <span class="op-option-label svelte-k8hi4h">OVERWRITE</span></label></div> <!> <div class="op-actions svelte-k8hi4h"><button class="op-btn svelte-k8hi4h" data-focus-index="3"><!> <span> </span></button> <button class="op-btn op-btn--danger svelte-k8hi4h" data-focus-index="4"><!> <span> </span></button></div> <div class="op-tip svelte-k8hi4h">TIP: MAP DIRECT REFS AS <code class="svelte-k8hi4h">op://vault/item/field</code></div></div>'),bs=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">N</kbd> ADD</span>'),ys=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">ESC</kbd> CANCEL</span>'),Es=b('<div class="secrets-page svelte-k8hi4h"><div class="tab-header svelte-k8hi4h"><div class="tab-header-left svelte-k8hi4h"><span class="tab-header-title svelte-k8hi4h">SECRETS</span> <span class="tab-header-count svelte-k8hi4h"> </span></div> <button class="new-secret-btn svelte-k8hi4h"><!> <span>ADD SECRET</span></button></div> <!> <div class="secrets-content svelte-k8hi4h"><div class="panel svelte-k8hi4h"><div class="panel-header svelte-k8hi4h"><span class="panel-pip svelte-k8hi4h" style="background: var(--sig-highlight)"></span> <span class="panel-label svelte-k8hi4h">Stored Secrets</span> <span class="panel-count svelte-k8hi4h"> </span></div> <div class="panel-body svelte-k8hi4h"><!></div></div> <div class="panel svelte-k8hi4h" role="group" aria-label="1Password integration"><div class="panel-header-row svelte-k8hi4h"><button class="panel-header panel-header--toggle svelte-k8hi4h"><!> <span class="panel-label svelte-k8hi4h">1Password</span> <span class="panel-status svelte-k8hi4h"> </span></button> <button class="panel-action svelte-k8hi4h" aria-label="Refresh 1Password status"><!></button></div> <!></div></div> <div class="shortcut-bar svelte-k8hi4h"><!></div></div>');function Os(L,m){ie(m,!0);let d=h(ne([])),D=h(!1),w=h(""),O=h(""),_=h(!1),E=h(null),R=h(!1),ue=h(!1),p=h(ne({configured:!1,connected:!1,vaults:[]})),Y=h(ne([])),j=h("");const B=ne({prefix:"OP",overwrite:!1});let pe=h(!1),fe=h(!1),he=h(!1),C=h(ne([])),X=h(!1),l=h(-1),f=h("list"),o=h(-1);async function me(){s(D,!0),s(d,await Gt(),!0),s(D,!1)}function nt(t){if(e(C).includes(t)){s(C,e(C).filter(a=>a!==t),!0);return}s(C,[...e(C),t],!0)}async function ke(){s(ue,!0);try{if(s(p,await jt(),!0),e(p).connected){const a=await Bt();s(Y,a.length>0?a:e(p).vaults,!0)}else s(Y,[],!0),s(C,[],!0);const t=new Set(e(Y).map(a=>a.id));s(C,e(C).filter(a=>t.has(a)),!0)}finally{s(ue,!1)}}async function ot(){if(!e(w).trim()||!e(O).trim())return;s(_,!0),await Wt(e(w).trim(),e(O))?(S(`Secret ${e(w).trim()} added`,"success"),s(w,""),s(O,""),s(R,!1),await me()):S("Failed to add secret","error"),s(_,!1)}async function lt(t){s(E,t,!0),await Jt(t)?(S(`Secret ${t} deleted`,"success"),await me()):S("Failed to delete secret","error"),s(E,null)}async function it(){if(!e(j).trim()){S("Service account token is required","error");return}s(pe,!0);const t=await Qt(e(j).trim());if(s(pe,!1),!t.success){S(t.error??"Failed to connect 1Password","error");return}s(j,""),await ke(),S("Connected to 1Password","success")}async function ct(){s(fe,!0);const t=await Zt();if(s(fe,!1),!t.success){S(t.error??"Failed to disconnect 1Password","error");return}await ke(),S("Disconnected 1Password","success")}async function dt(){if(!e(p).connected){S("Connect 1Password first","error");return}s(he,!0);const t=await Yt({vaults:e(C).length>0?e(C):void 0,prefix:B.prefix.trim()||"OP",overwrite:B.overwrite});if(s(he,!1),!t.success){S(t.error??"Failed to import from 1Password","error");return}await me();const a=t.importedCount??0,u=t.skippedCount??0,g=t.errorCount??0;S(`Imported ${a} secrets (skipped ${u}, errors ${g})`,"success")}function vt(t){if(Xt.activeTab!=="secrets"||t.defaultPrevented)return;const a=t.target,u=a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable;if(t.key==="Escape"){if(e(R)){t.preventDefault(),s(R,!1);return}if(e(f)==="1password"){t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1);return}t.preventDefault(),G();return}if(!u){if((t.key==="n"||t.key==="N")&&!e(R)){t.preventDefault(),s(R,!0);return}if(t.key==="ArrowRight"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),e(d).length>0?(s(l,0),V(0)):(s(f,"1password"),s(o,0),z(0))),t.key==="ArrowUp"&&e(f)==="list"&&e(l)>=0&&(t.preventDefault(),e(l)>0?(U(l,-1),V(e(l))):(s(l,-1),G())),t.key==="ArrowDown"&&e(f)==="list"){if(t.preventDefault(),e(l)<e(d).length-1)U(l),V(e(l));else if(e(l)===e(d).length-1){const g=document.querySelectorAll(".secret-item");g[e(l)]instanceof HTMLElement&&g[e(l)].blur(),s(f,"1password"),s(l,-1),s(o,0),z(0)}}if(t.key==="ArrowUp"&&e(f)==="1password"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"&&e(f)==="1password"){t.preventDefault();const g=_e(),y=Math.max(0,g.length-1);e(o)<y&&(U(o),z(e(o)))}t.key==="ArrowLeft"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),G())}}function V(t){const a=document.querySelectorAll(".secret-item");a[t]instanceof HTMLElement&&a[t].focus()}function _e(){const t=document.querySelector(".onepassword-panel");if(!t)return[];const a=t.querySelectorAll("[data-focus-index]");return Array.from(a).filter(u=>!u.disabled).sort((u,g)=>{const y=Number.parseInt(u.getAttribute("data-focus-index")??"0",10),P=Number.parseInt(g.getAttribute("data-focus-index")??"0",10);return y-P})}function z(t){const a=_e();if(a.length===0)return;const u=Math.min(t,a.length-1);a[u]?.focus()}function ut(t){if(t.key==="ArrowUp"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"){t.preventDefault();const a=_e(),u=Math.max(0,a.length-1);e(o)<u&&(U(o),z(e(o)))}if(t.key==="Escape"&&(t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1)),t.key==="Tab"){const a=_e(),u=Math.max(0,a.length-1);t.shiftKey&&e(o)>0?U(o,-1):!t.shiftKey&&e(o)<u&&U(o)}}function Z(t){s(o,t,!0),s(f,"1password")}function pt(t){s(l,t,!0),s(f,"list")}function ft(t,a){t.key==="ArrowDown"?(t.preventDefault(),t.stopPropagation(),a<e(d).length-1?(s(l,a+1),V(e(l))):(t.target.blur(),s(f,"1password"),s(l,-1),s(o,0),z(0))):t.key==="ArrowUp"?(t.preventDefault(),t.stopPropagation(),a>0?(s(l,a-1),V(e(l))):a===0&&(s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())):t.key==="ArrowLeft"&&(t.preventDefault(),t.stopPropagation(),s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())}const ht=le(()=>e(p).connected?"CONNECTED":e(p).configured?"UNREACHABLE":"NOT CONFIGURED"),mt=le(()=>e(p).connected?"var(--sig-success)":e(p).configured?"var(--sig-warning)":"var(--sig-text-muted)");Ut(()=>{me(),ke()});var De=Es();oe("keydown",Vt,vt);var Ce=n(De),Ae=n(Ce),He=i(n(Ae),2),kt=n(He);r(He),r(Ae);var Te=i(Ae,2),_t=n(Te);es(_t,{class:"size-3"}),Fe(2),r(Te),r(Ce);var Ue=i(Ce,2);{var wt=t=>{var a=cs(),u=n(a),g=n(u);be(g,{type:"text",class:"secrets-add-input",placeholder:"SECRET_NAME",get value(){return e(w)},set value(A){s(w,A,!0)}});var y=i(g,2);be(y,{type:"password",class:"secrets-add-input",placeholder:"value",get value(){return e(O)},set value(A){s(O,A,!0)}});var P=i(y,2),x=n(P,!0);r(P),r(u),r(a),q(A=>{P.disabled=A,N(x,e(_)?"ADDING...":"ADD")},[()=>e(_)||!e(w).trim()||!e(O).trim()]),M("click",P,ot),v(t,a)};$(Ue,t=>{e(R)&&t(wt)})}var Ie=i(Ue,2),Ne=n(Ie),Oe=n(Ne),Ve=i(n(Oe),4),gt=n(Ve,!0);r(Ve),r(Oe);var ze=i(Oe,2),bt=n(ze);{var yt=t=>{var a=ds();v(t,a)},Et=t=>{var a=vs();v(t,a)},Pt=t=>{var a=ce(),u=de(a);tt(u,17,()=>e(d),st,(g,y,P)=>{var x=ps();let A;var H=n(x);os(H,{class:"secrets-secret-icon"});var W=i(H,2),ge=n(W,!0);r(W);var K=i(W,4),te=n(K);{var se=T=>{var Re=us();v(T,Re)},Le=T=>{ss(T,{class:"size-3"})};$(te,T=>{e(E)===e(y)?T(se):T(Le,-1)})}r(K),r(x),q(()=>{A=Kt(x,1,"secret-item svelte-k8hi4h",null,A,{"secret-item--focused":e(f)==="list"&&e(l)===P}),N(ge,e(y)),K.disabled=e(E)===e(y),et(K,"aria-label",`Delete secret ${e(y)}`)}),M("keydown",x,T=>ft(T,P)),oe("focus",x,()=>pt(P)),M("click",K,()=>lt(e(y))),v(g,x)}),v(t,a)};$(bt,t=>{e(D)?t(yt):e(d).length===0?t(Et,1):t(Pt,-1)})}r(ze),r(Ne);var Ke=i(Ne,2),$e=n(Ke),ee=n($e),qe=n(ee);{var xt=t=>{as(t,{class:"secrets-panel-chevron"})},St=t=>{rs(t,{class:"secrets-panel-chevron"})};$(qe,t=>{e(X)?t(xt):t(St,-1)})}var Me=i(qe,4),Dt=n(Me,!0);r(Me),r(ee);var we=i(ee,2),Ct=n(we);{let t=le(()=>`size-3${e(ue)?" op-spin":""}`);ts(Ct,{get class(){return e(t)}})}r(we),r($e);var At=i($e,2);{var Tt=t=>{var a=gs(),u=n(a);{var g=c=>{var k=fs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).vaultCount??""} vaults`)),v(I,F)};$(Q,I=>{typeof e(p).vaultCount=="number"&&I(re)})}r(k),v(c,k)},y=c=>{var k=hs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).error??""}`)),v(I,F)};$(Q,I=>{e(p).error&&I(re)})}r(k),v(c,k)},P=c=>{var k=ms();v(c,k)};$(u,c=>{e(p).connected?c(g):e(p).configured?c(y,1):c(P,-1)})}var x=i(u,2),A=n(x);{let c=le(()=>e(p).connected?"Replace service account token":"Service account token");be(A,{type:"password","data-focus-index":"0",class:"secrets-op-input",get placeholder(){return e(c)},onfocus:()=>Z(0),get value(){return e(j)},set value(k){s(j,k,!0)}})}var H=i(A,2),W=n(H);ls(W,{class:"size-3"});var ge=i(W,2),K=n(ge,!0);r(ge),r(H),r(x);var te=i(x,2),se=n(te),Le=i(n(se),2);be(Le,{type:"text","data-focus-index":"1",class:"secrets-op-input-sm",placeholder:"OP",onfocus:()=>Z(1),get value(){return B.prefix},set value(c){B.prefix=c}}),r(se);var T=i(se,2),Re=n(T);rt(Re,{id:"op-overwrite",class:"secrets-op-checkbox",get checked(){return B.overwrite},set checked(c){B.overwrite=c}}),Fe(2),r(T),r(te);var je=i(te,2);{var $t=c=>{var k=_s(),Q=i(n(k),2);tt(Q,21,()=>e(Y),st,(re,I)=>{var F=ks(),Ye=n(F);{let Ht=le(()=>e(C).includes(e(I).id));rt(Ye,{get checked(){return e(Ht)},onCheckedChange:()=>nt(e(I).id),class:"secrets-op-checkbox"})}var Ze=i(Ye,2),Ft=n(Ze,!0);r(Ze),r(F),q(()=>N(Ft,e(I).name)),v(re,F)}),r(Q),r(k),v(c,k)},Mt=c=>{var k=ws();v(c,k)};$(je,c=>{e(p).connected&&e(Y).length>0?c($t):e(p).connected&&c(Mt,1)})}var Be=i(je,2),J=n(Be),Xe=n(J);ns(Xe,{class:"size-3"});var We=i(Xe,2),Lt=n(We,!0);r(We),r(J);var ae=i(J,2),Je=n(ae);is(Je,{class:"size-3"});var Qe=i(Je,2),Rt=n(Qe,!0);r(Qe),r(ae),r(Be),Fe(2),r(a),q(c=>{H.disabled=c,N(K,e(pe)?"...":e(p).connected?"UPDATE":"CONNECT"),J.disabled=e(he)||!e(p).connected,N(Lt,e(he)?"IMPORTING...":"IMPORT"),ae.disabled=e(fe)||!e(p).configured,N(Rt,e(fe)?"...":"DISCONNECT")},[()=>e(pe)||!e(j).trim()]),M("keydown",a,ut),M("click",H,it),oe("focus",H,()=>Z(2)),M("click",J,dt),oe("focus",J,()=>Z(3)),M("click",ae,ct),oe("focus",ae,()=>Z(4)),v(t,a)};$(At,t=>{e(X)&&t(Tt)})}r(Ke),r(Ie);var Ge=i(Ie,2),It=n(Ge);{var Nt=t=>{var a=bs();v(t,a)},Ot=t=>{var a=ys();v(t,a)};$(It,t=>{e(R)?t(Ot,-1):t(Nt)})}r(Ge),r(De),q(()=>{N(kt,`${e(d).length??""} STORED`),N(gt,e(d).length),et(ee,"aria-expanded",e(X)),zt(Me,`color: ${e(mt)??""}`),N(Dt,e(ht)),we.disabled=e(ue)}),M("click",Te,()=>{s(R,!e(R))}),M("click",ee,()=>{s(X,!e(X)),e(X)||(s(o,-1),s(f,"list"))}),M("click",we,()=>ke()),v(L,De),ve()}qt(["click","keydown"]);export{Os as default};
1
+ import{p as ie,s as ye,c as ce,f as de,a as Ee,n as Pe,b as v,d as ve,r as xe,o as h,e as ne,q as Ut,N as oe,$ as Vt,j as n,t as i,l as r,w as Fe,k as $,i as e,y as q,z as N,D as et,a9 as zt,O as M,v as s,aj as U,u as le,A as tt,B as Kt,K as st,m as b,P as qt,x as at}from"./KKQFryJf.js";import{I as Se,af as Gt,ag as jt,ah as Bt,n as Xt,ai as G,aj as Wt,t as S,ak as Jt,al as Qt,am as Yt,an as Zt}from"./P0X3uYAO.js";import{C as rt}from"./BS7wyv3H.js";import{I as be}from"./BnzLan1l.js";import{P as es}from"./C7gwZc8E.js";import{R as ts}from"./Db4X_CIf.js";import{T as ss}from"./CMnj9aUR.js";import{C as as}from"./Bi3XAyDm.js";import{C as rs}from"./DjpswqDx.js";function ns(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M12 3v12"}],["path",{d:"m8 11 4 4 4-4"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"}]];Se(L,ye({name:"import"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function os(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];Se(L,ye({name:"key-round"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function ls(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];Se(L,ye({name:"link"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function is(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16"}]];Se(L,ye({name:"unlink"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}var cs=b('<div class="add-form svelte-k8hi4h"><div class="add-form-row svelte-k8hi4h"><!> <!> <button class="add-submit svelte-k8hi4h"> </button></div></div>'),ds=b('<div class="panel-empty svelte-k8hi4h">LOADING</div>'),vs=b('<div class="panel-empty svelte-k8hi4h"><span>NO SECRETS STORED</span> <span class="panel-empty-hint svelte-k8hi4h">PRESS N TO ADD ONE</span></div>'),us=b('<span class="secret-delete-text svelte-k8hi4h">...</span>'),ps=b('<div tabindex="0" role="listitem"><!> <span class="secret-name svelte-k8hi4h"> </span> <span class="secret-mask svelte-k8hi4h">········</span> <button class="secret-delete svelte-k8hi4h"><!></button></div>'),fs=b('<div class="op-status op-status--ok svelte-k8hi4h">Connected<!></div>'),hs=b('<div class="op-status op-status--warn svelte-k8hi4h">Token saved but unreachable<!></div>'),ms=b('<div class="op-status svelte-k8hi4h">Connect a 1Password service account to import secrets</div>'),ks=b('<label class="op-vault svelte-k8hi4h"><!> <span class="op-vault-name svelte-k8hi4h"> </span></label>'),_s=b('<div class="op-vaults svelte-k8hi4h"><span class="op-vaults-label svelte-k8hi4h">VAULTS</span> <div class="op-vault-list svelte-k8hi4h"></div></div>'),ws=b('<div class="op-vaults-empty svelte-k8hi4h">NO ACCESSIBLE VAULTS</div>'),gs=b('<div class="onepassword-panel svelte-k8hi4h"><!> <div class="op-row svelte-k8hi4h"><!> <button class="op-btn svelte-k8hi4h" data-focus-index="2"><!> <span> </span></button></div> <div class="op-options svelte-k8hi4h"><div class="op-option svelte-k8hi4h"><span class="op-option-label svelte-k8hi4h">PREFIX</span> <!></div> <label class="op-option op-option--check svelte-k8hi4h" for="op-overwrite"><!> <span class="op-option-label svelte-k8hi4h">OVERWRITE</span></label></div> <!> <div class="op-actions svelte-k8hi4h"><button class="op-btn svelte-k8hi4h" data-focus-index="3"><!> <span> </span></button> <button class="op-btn op-btn--danger svelte-k8hi4h" data-focus-index="4"><!> <span> </span></button></div> <div class="op-tip svelte-k8hi4h">TIP: MAP DIRECT REFS AS <code class="svelte-k8hi4h">op://vault/item/field</code></div></div>'),bs=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">N</kbd> ADD</span>'),ys=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">ESC</kbd> CANCEL</span>'),Es=b('<div class="secrets-page svelte-k8hi4h"><div class="tab-header svelte-k8hi4h"><div class="tab-header-left svelte-k8hi4h"><span class="tab-header-title svelte-k8hi4h">SECRETS</span> <span class="tab-header-count svelte-k8hi4h"> </span></div> <button class="new-secret-btn svelte-k8hi4h"><!> <span>ADD SECRET</span></button></div> <!> <div class="secrets-content svelte-k8hi4h"><div class="panel svelte-k8hi4h"><div class="panel-header svelte-k8hi4h"><span class="panel-pip svelte-k8hi4h" style="background: var(--sig-highlight)"></span> <span class="panel-label svelte-k8hi4h">Stored Secrets</span> <span class="panel-count svelte-k8hi4h"> </span></div> <div class="panel-body svelte-k8hi4h"><!></div></div> <div class="panel svelte-k8hi4h" role="group" aria-label="1Password integration"><div class="panel-header-row svelte-k8hi4h"><button class="panel-header panel-header--toggle svelte-k8hi4h"><!> <span class="panel-label svelte-k8hi4h">1Password</span> <span class="panel-status svelte-k8hi4h"> </span></button> <button class="panel-action svelte-k8hi4h" aria-label="Refresh 1Password status"><!></button></div> <!></div></div> <div class="shortcut-bar svelte-k8hi4h"><!></div></div>');function Os(L,m){ie(m,!0);let d=h(ne([])),D=h(!1),w=h(""),O=h(""),_=h(!1),E=h(null),R=h(!1),ue=h(!1),p=h(ne({configured:!1,connected:!1,vaults:[]})),Y=h(ne([])),j=h("");const B=ne({prefix:"OP",overwrite:!1});let pe=h(!1),fe=h(!1),he=h(!1),C=h(ne([])),X=h(!1),l=h(-1),f=h("list"),o=h(-1);async function me(){s(D,!0),s(d,await Gt(),!0),s(D,!1)}function nt(t){if(e(C).includes(t)){s(C,e(C).filter(a=>a!==t),!0);return}s(C,[...e(C),t],!0)}async function ke(){s(ue,!0);try{if(s(p,await jt(),!0),e(p).connected){const a=await Bt();s(Y,a.length>0?a:e(p).vaults,!0)}else s(Y,[],!0),s(C,[],!0);const t=new Set(e(Y).map(a=>a.id));s(C,e(C).filter(a=>t.has(a)),!0)}finally{s(ue,!1)}}async function ot(){if(!e(w).trim()||!e(O).trim())return;s(_,!0),await Wt(e(w).trim(),e(O))?(S(`Secret ${e(w).trim()} added`,"success"),s(w,""),s(O,""),s(R,!1),await me()):S("Failed to add secret","error"),s(_,!1)}async function lt(t){s(E,t,!0),await Jt(t)?(S(`Secret ${t} deleted`,"success"),await me()):S("Failed to delete secret","error"),s(E,null)}async function it(){if(!e(j).trim()){S("Service account token is required","error");return}s(pe,!0);const t=await Qt(e(j).trim());if(s(pe,!1),!t.success){S(t.error??"Failed to connect 1Password","error");return}s(j,""),await ke(),S("Connected to 1Password","success")}async function ct(){s(fe,!0);const t=await Zt();if(s(fe,!1),!t.success){S(t.error??"Failed to disconnect 1Password","error");return}await ke(),S("Disconnected 1Password","success")}async function dt(){if(!e(p).connected){S("Connect 1Password first","error");return}s(he,!0);const t=await Yt({vaults:e(C).length>0?e(C):void 0,prefix:B.prefix.trim()||"OP",overwrite:B.overwrite});if(s(he,!1),!t.success){S(t.error??"Failed to import from 1Password","error");return}await me();const a=t.importedCount??0,u=t.skippedCount??0,g=t.errorCount??0;S(`Imported ${a} secrets (skipped ${u}, errors ${g})`,"success")}function vt(t){if(Xt.activeTab!=="secrets"||t.defaultPrevented)return;const a=t.target,u=a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable;if(t.key==="Escape"){if(e(R)){t.preventDefault(),s(R,!1);return}if(e(f)==="1password"){t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1);return}t.preventDefault(),G();return}if(!u){if((t.key==="n"||t.key==="N")&&!e(R)){t.preventDefault(),s(R,!0);return}if(t.key==="ArrowRight"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),e(d).length>0?(s(l,0),V(0)):(s(f,"1password"),s(o,0),z(0))),t.key==="ArrowUp"&&e(f)==="list"&&e(l)>=0&&(t.preventDefault(),e(l)>0?(U(l,-1),V(e(l))):(s(l,-1),G())),t.key==="ArrowDown"&&e(f)==="list"){if(t.preventDefault(),e(l)<e(d).length-1)U(l),V(e(l));else if(e(l)===e(d).length-1){const g=document.querySelectorAll(".secret-item");g[e(l)]instanceof HTMLElement&&g[e(l)].blur(),s(f,"1password"),s(l,-1),s(o,0),z(0)}}if(t.key==="ArrowUp"&&e(f)==="1password"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"&&e(f)==="1password"){t.preventDefault();const g=_e(),y=Math.max(0,g.length-1);e(o)<y&&(U(o),z(e(o)))}t.key==="ArrowLeft"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),G())}}function V(t){const a=document.querySelectorAll(".secret-item");a[t]instanceof HTMLElement&&a[t].focus()}function _e(){const t=document.querySelector(".onepassword-panel");if(!t)return[];const a=t.querySelectorAll("[data-focus-index]");return Array.from(a).filter(u=>!u.disabled).sort((u,g)=>{const y=Number.parseInt(u.getAttribute("data-focus-index")??"0",10),P=Number.parseInt(g.getAttribute("data-focus-index")??"0",10);return y-P})}function z(t){const a=_e();if(a.length===0)return;const u=Math.min(t,a.length-1);a[u]?.focus()}function ut(t){if(t.key==="ArrowUp"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"){t.preventDefault();const a=_e(),u=Math.max(0,a.length-1);e(o)<u&&(U(o),z(e(o)))}if(t.key==="Escape"&&(t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1)),t.key==="Tab"){const a=_e(),u=Math.max(0,a.length-1);t.shiftKey&&e(o)>0?U(o,-1):!t.shiftKey&&e(o)<u&&U(o)}}function Z(t){s(o,t,!0),s(f,"1password")}function pt(t){s(l,t,!0),s(f,"list")}function ft(t,a){t.key==="ArrowDown"?(t.preventDefault(),t.stopPropagation(),a<e(d).length-1?(s(l,a+1),V(e(l))):(t.target.blur(),s(f,"1password"),s(l,-1),s(o,0),z(0))):t.key==="ArrowUp"?(t.preventDefault(),t.stopPropagation(),a>0?(s(l,a-1),V(e(l))):a===0&&(s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())):t.key==="ArrowLeft"&&(t.preventDefault(),t.stopPropagation(),s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())}const ht=le(()=>e(p).connected?"CONNECTED":e(p).configured?"UNREACHABLE":"NOT CONFIGURED"),mt=le(()=>e(p).connected?"var(--sig-success)":e(p).configured?"var(--sig-warning)":"var(--sig-text-muted)");Ut(()=>{me(),ke()});var De=Es();oe("keydown",Vt,vt);var Ce=n(De),Ae=n(Ce),He=i(n(Ae),2),kt=n(He);r(He),r(Ae);var Te=i(Ae,2),_t=n(Te);es(_t,{class:"size-3"}),Fe(2),r(Te),r(Ce);var Ue=i(Ce,2);{var wt=t=>{var a=cs(),u=n(a),g=n(u);be(g,{type:"text",class:"secrets-add-input",placeholder:"SECRET_NAME",get value(){return e(w)},set value(A){s(w,A,!0)}});var y=i(g,2);be(y,{type:"password",class:"secrets-add-input",placeholder:"value",get value(){return e(O)},set value(A){s(O,A,!0)}});var P=i(y,2),x=n(P,!0);r(P),r(u),r(a),q(A=>{P.disabled=A,N(x,e(_)?"ADDING...":"ADD")},[()=>e(_)||!e(w).trim()||!e(O).trim()]),M("click",P,ot),v(t,a)};$(Ue,t=>{e(R)&&t(wt)})}var Ie=i(Ue,2),Ne=n(Ie),Oe=n(Ne),Ve=i(n(Oe),4),gt=n(Ve,!0);r(Ve),r(Oe);var ze=i(Oe,2),bt=n(ze);{var yt=t=>{var a=ds();v(t,a)},Et=t=>{var a=vs();v(t,a)},Pt=t=>{var a=ce(),u=de(a);tt(u,17,()=>e(d),st,(g,y,P)=>{var x=ps();let A;var H=n(x);os(H,{class:"secrets-secret-icon"});var W=i(H,2),ge=n(W,!0);r(W);var K=i(W,4),te=n(K);{var se=T=>{var Re=us();v(T,Re)},Le=T=>{ss(T,{class:"size-3"})};$(te,T=>{e(E)===e(y)?T(se):T(Le,-1)})}r(K),r(x),q(()=>{A=Kt(x,1,"secret-item svelte-k8hi4h",null,A,{"secret-item--focused":e(f)==="list"&&e(l)===P}),N(ge,e(y)),K.disabled=e(E)===e(y),et(K,"aria-label",`Delete secret ${e(y)}`)}),M("keydown",x,T=>ft(T,P)),oe("focus",x,()=>pt(P)),M("click",K,()=>lt(e(y))),v(g,x)}),v(t,a)};$(bt,t=>{e(D)?t(yt):e(d).length===0?t(Et,1):t(Pt,-1)})}r(ze),r(Ne);var Ke=i(Ne,2),$e=n(Ke),ee=n($e),qe=n(ee);{var xt=t=>{as(t,{class:"secrets-panel-chevron"})},St=t=>{rs(t,{class:"secrets-panel-chevron"})};$(qe,t=>{e(X)?t(xt):t(St,-1)})}var Me=i(qe,4),Dt=n(Me,!0);r(Me),r(ee);var we=i(ee,2),Ct=n(we);{let t=le(()=>`size-3${e(ue)?" op-spin":""}`);ts(Ct,{get class(){return e(t)}})}r(we),r($e);var At=i($e,2);{var Tt=t=>{var a=gs(),u=n(a);{var g=c=>{var k=fs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).vaultCount??""} vaults`)),v(I,F)};$(Q,I=>{typeof e(p).vaultCount=="number"&&I(re)})}r(k),v(c,k)},y=c=>{var k=hs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).error??""}`)),v(I,F)};$(Q,I=>{e(p).error&&I(re)})}r(k),v(c,k)},P=c=>{var k=ms();v(c,k)};$(u,c=>{e(p).connected?c(g):e(p).configured?c(y,1):c(P,-1)})}var x=i(u,2),A=n(x);{let c=le(()=>e(p).connected?"Replace service account token":"Service account token");be(A,{type:"password","data-focus-index":"0",class:"secrets-op-input",get placeholder(){return e(c)},onfocus:()=>Z(0),get value(){return e(j)},set value(k){s(j,k,!0)}})}var H=i(A,2),W=n(H);ls(W,{class:"size-3"});var ge=i(W,2),K=n(ge,!0);r(ge),r(H),r(x);var te=i(x,2),se=n(te),Le=i(n(se),2);be(Le,{type:"text","data-focus-index":"1",class:"secrets-op-input-sm",placeholder:"OP",onfocus:()=>Z(1),get value(){return B.prefix},set value(c){B.prefix=c}}),r(se);var T=i(se,2),Re=n(T);rt(Re,{id:"op-overwrite",class:"secrets-op-checkbox",get checked(){return B.overwrite},set checked(c){B.overwrite=c}}),Fe(2),r(T),r(te);var je=i(te,2);{var $t=c=>{var k=_s(),Q=i(n(k),2);tt(Q,21,()=>e(Y),st,(re,I)=>{var F=ks(),Ye=n(F);{let Ht=le(()=>e(C).includes(e(I).id));rt(Ye,{get checked(){return e(Ht)},onCheckedChange:()=>nt(e(I).id),class:"secrets-op-checkbox"})}var Ze=i(Ye,2),Ft=n(Ze,!0);r(Ze),r(F),q(()=>N(Ft,e(I).name)),v(re,F)}),r(Q),r(k),v(c,k)},Mt=c=>{var k=ws();v(c,k)};$(je,c=>{e(p).connected&&e(Y).length>0?c($t):e(p).connected&&c(Mt,1)})}var Be=i(je,2),J=n(Be),Xe=n(J);ns(Xe,{class:"size-3"});var We=i(Xe,2),Lt=n(We,!0);r(We),r(J);var ae=i(J,2),Je=n(ae);is(Je,{class:"size-3"});var Qe=i(Je,2),Rt=n(Qe,!0);r(Qe),r(ae),r(Be),Fe(2),r(a),q(c=>{H.disabled=c,N(K,e(pe)?"...":e(p).connected?"UPDATE":"CONNECT"),J.disabled=e(he)||!e(p).connected,N(Lt,e(he)?"IMPORTING...":"IMPORT"),ae.disabled=e(fe)||!e(p).configured,N(Rt,e(fe)?"...":"DISCONNECT")},[()=>e(pe)||!e(j).trim()]),M("keydown",a,ut),M("click",H,it),oe("focus",H,()=>Z(2)),M("click",J,dt),oe("focus",J,()=>Z(3)),M("click",ae,ct),oe("focus",ae,()=>Z(4)),v(t,a)};$(At,t=>{e(X)&&t(Tt)})}r(Ke),r(Ie);var Ge=i(Ie,2),It=n(Ge);{var Nt=t=>{var a=bs();v(t,a)},Ot=t=>{var a=ys();v(t,a)};$(It,t=>{e(R)?t(Ot,-1):t(Nt)})}r(Ge),r(De),q(()=>{N(kt,`${e(d).length??""} STORED`),N(gt,e(d).length),et(ee,"aria-expanded",e(X)),zt(Me,`color: ${e(mt)??""}`),N(Dt,e(ht)),we.disabled=e(ue)}),M("click",Te,()=>{s(R,!e(R))}),M("click",ee,()=>{s(X,!e(X)),e(X)||(s(o,-1),s(f,"list"))}),M("click",we,()=>ke()),v(L,De),ve()}qt(["click","keydown"]);export{Os as default};
@@ -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"./QfnvbGen.js";import{c as B,e as V}from"./BOrfKTGM.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};
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"./P0X3uYAO.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};
@@ -1 +1 @@
1
- import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as u,r as $}from"./QfnvbGen.js";import{I as h}from"./BOrfKTGM.js";function x(r,s){p(s,!0);let a=$(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"}],["circle",{cx:"12",cy:"7",r:"4"}]];h(r,c({name:"user"},()=>a,{get iconNode(){return o},children:(t,v)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(t,e)},$$slots:{default:!0}})),u()}export{x as U};
1
+ import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as u,r as $}from"./KKQFryJf.js";import{I as h}from"./P0X3uYAO.js";function x(r,s){p(s,!0);let a=$(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"}],["circle",{cx:"12",cy:"7",r:"4"}]];h(r,c({name:"user"},()=>a,{get iconNode(){return o},children:(t,v)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(t,e)},$$slots:{default:!0}})),u()}export{x as U};
@@ -1,3 +1,3 @@
1
- import{e as Gt,p as rt,c as Xe,f as K,h as Oe,k as O,i as e,b as l,w as _e,t as n,x as ve,y as _,z as f,j as a,l as r,A as Ne,B as Ge,K as yt,d as at,u as C,ae as Bt,m as D,D as v,af as ue,Q as Xt,v as x,O as _t,o as U,P as Kt,N as Mt,q as vr,s as ur,a9 as Ut,F as fr}from"./QfnvbGen.js";import{aB as gr,$ as mr,a0 as pr,a1 as xr,a3 as hr,a2 as br,aC as _r,t as Ve,aD as yr,f as wr,n as kr,E as Sr,B as tt,aE as Cr,aF as Pr}from"./BOrfKTGM.js";import{P as $r}from"./Jvf56kqr.js";import{T as Tr}from"./Cj3_EPR_.js";import{B as Dt}from"./BitUn2Zo.js";import{S as Jt}from"./DMYZvvBj.js";import{P as Er,a as Mr,b as Dr}from"./BIscneKa.js";import{w as Et,s as Qt}from"./CCfimmv_.js";const De={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Fe={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},Lr={harness:{x:20,y:20,w:240,h:120,label:Fe.harness,color:De.harness},daemon:{x:300,y:20,w:340,h:280,label:Fe.daemon,color:De.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Fe.pipeline,color:De.pipeline},db:{x:680,y:160,w:200,h:200,label:Fe.db,color:De.db},search:{x:920,y:160,w:200,h:140,label:Fe.search,color:De.search},files:{x:680,y:400,w:200,h:100,label:Fe.files,color:De.files},configs:{x:920,y:400,w:200,h:100,label:Fe.configs,color:De.configs},llm:{x:680,y:540,w:200,h:80,label:Fe.llm,color:De.llm}},ot=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"llama.cpp qwen3.5:4b (or configured provider)"}],Ht=new Map(ot.map(g=>[g.id,g])),Or=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function Nr(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const zt=new Map;for(const g of ot)for(const o of g.logCategories){const d=zt.get(o);d?d.push(g.id):zt.set(o,[g.id])}const Wt=20;function Ar(){const g={};for(const o of ot)g[o.id]=Nr();return g}const Zt=50,y=Gt({nodes:Ar(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let be=null;function er(){be&&(be.close(),be=null);const g="";be=new EventSource(`${g}/api/logs/stream`),be.onopen=()=>{y.connected=!0},be.onmessage=o=>{try{const d=JSON.parse(o.data);if(d.type==="connected"){y.connected=!0;return}const m=[...y.feed,d];y.feed=m.length>Zt?m.slice(-Zt):m;const i=zt.get(d.category);if(!i)return;for(const L of i){const E=y.nodes[L];if(!E)continue;E.pulseCount+=1,E.lastActivity=d.timestamp;const N=[...E.recentLogs,d];E.recentLogs=N.length>Wt?N.slice(-Wt):N,d.level==="error"&&(E.errorCount+=1)}}catch{}},be.onerror=()=>{y.connected=!1,be?.close(),be=null,setTimeout(()=>{be||er()},3e3)}}function Ir(){y.connected=!1,be?.close(),be=null}let wt=null;function Rr(g){return g>=.8?"healthy":g>=.5?"degraded":g>0?"unhealthy":"unknown"}function jr(g){for(const o of ot){if(!o.diagnosticDomain)continue;const d=g[o.diagnosticDomain];if(!d)continue;const m=y.nodes[o.id];if(!m)continue;const i=typeof d.score=="number"?d.score:0;m.score=i,m.health=Rr(i),m.metrics=d}}function qr(g){const o=y.nodes.queue;if(o){const i=g.memory,L=g.summary;o.queueDepth=i.pending+i.leased+L.pending+L.leased,o.metrics={memory:i,summary:L}}const d=y.nodes.extraction;d&&(d.queueDepth=g.memory.pending);const m=y.nodes.summary;m&&(m.queueDepth=g.summary.pending)}async function Yt(){try{const g=await gr();if(!g)return!1;if(y.mode=g.mode,y.lastPoll=new Date().toISOString(),g.diagnostics&&jr(g.diagnostics),g.queues&&qr(g.queues),g.workers)for(const[o,d]of Object.entries(g.workers)){const m=y.nodes[o];m&&d.running&&m.health==="unknown"&&(m.health="healthy",m.score=1)}if(g.errorSummary)for(const[o,d]of Object.entries(g.errorSummary)){const m=o==="extraction"||o==="decision"?"extraction":o==="embedding"||o==="mutation"?"database":o==="connector"?"sync":null;if(m){const i=y.nodes[m];i&&(i.errorCount=d)}}return!0}catch{return!1}}function Fr(g=5e3){wt||(Yt(),wt=setInterval(()=>{Yt()},g))}function Gr(){wt&&(clearInterval(wt),wt=null)}function tr(g){y.selectedNodeId=g}var Br=D(" <!>",1),Hr=D("<!> <!>",1),zr=D('<div class="flex justify-between px-2"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Yr=D('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),Xr=D('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Vr=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Queue Details</h4> <div class="space-y-1 text-[11px] font-[family-name:var(--font-mono)]"></div></section>'),Ur=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-[family-name:var(--font-display)]">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-[family-name:var(--font-mono)]"> </span></section>'),Qr=D('<div class="flex gap-2 py-1 px-1 text-[10px] font-[family-name:var(--font-mono)] hover:bg-[var(--sig-surface-raised)] rounded"><span class="text-[var(--sig-text-muted)] shrink-0 w-[52px]"> </span> <span> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Wr=D('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),Zr=D('<!> <div class="mt-4 space-y-4 overflow-y-auto pr-2" style="max-height: calc(100vh - 140px);"><section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Metrics</h4> <div class="grid grid-cols-3 gap-2"><div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Score</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Queue</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Errors</div> <div> </div></div></div></section> <!> <!> <section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function Kr(g,o){rt(o,!0);const d=C(()=>y.selectedNodeId),m=C(()=>e(d)?Ht.get(e(d))??null:null),i=C(()=>e(d)?y.nodes[e(d)]??null:null),L=C(()=>e(d)!==null);function E(P){P||tr(null)}function N(P){try{return new Date(P).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return P}}function $(P){switch(P){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}const M=C(()=>{if(!e(i)?.metrics)return null;const P=e(i).metrics;return P.memory||P.summary||typeof P.depth=="number"?P:null});var R=Xe(),T=K(R);Oe(T,()=>hr,(P,A)=>{A(P,{get open(){return e(L)},onOpenChange:E,children:(F,J)=>{var Y=Xe(),h=K(Y);Oe(h,()=>mr,(k,S)=>{S(k,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(I,ee)=>{var B=Xe(),j=K(B);{var c=w=>{var G=Zr(),q=K(G);Oe(q,()=>pr,(V,Q)=>{Q(V,{children:(oe,Pe)=>{var ye=Hr(),ie=K(ye);Oe(ie,()=>xr,(le,he)=>{he(le,{class:"flex items-center gap-2 font-[family-name:var(--font-display)] text-[var(--sig-text-bright)]",children:($e,Ie)=>{_e();var ge=Br(),se=K(ge),me=n(se);{let Te=C(()=>e(i).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(i).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(i).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");Dt(me,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)]
1
+ import{e as Gt,p as rt,c as Xe,f as K,h as Oe,k as O,i as e,b as l,w as _e,t as n,x as ve,y as _,z as f,j as a,l as r,A as Ne,B as Ge,K as yt,d as at,u as C,ae as Bt,m as D,D as v,af as ue,Q as Xt,v as x,O as _t,o as U,P as Kt,N as Mt,q as vr,s as ur,a9 as Ut,F as fr}from"./KKQFryJf.js";import{aB as gr,$ as mr,a0 as pr,a1 as xr,a3 as hr,a2 as br,aC as _r,t as Ve,aD as yr,f as wr,n as kr,E as Sr,B as tt,aE as Cr,aF as Pr}from"./P0X3uYAO.js";import{P as $r}from"./DK3bAoxY.js";import{T as Tr}from"./CyB1_UBK.js";import{B as Dt}from"./BB193gf0.js";import{S as Jt}from"./ce_1EcT1.js";import{P as Er,a as Mr,b as Dr}from"./Bk5JwyeL.js";import{w as Et,s as Qt}from"./Bc-tUO5p.js";const De={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Fe={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},Lr={harness:{x:20,y:20,w:240,h:120,label:Fe.harness,color:De.harness},daemon:{x:300,y:20,w:340,h:280,label:Fe.daemon,color:De.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Fe.pipeline,color:De.pipeline},db:{x:680,y:160,w:200,h:200,label:Fe.db,color:De.db},search:{x:920,y:160,w:200,h:140,label:Fe.search,color:De.search},files:{x:680,y:400,w:200,h:100,label:Fe.files,color:De.files},configs:{x:920,y:400,w:200,h:100,label:Fe.configs,color:De.configs},llm:{x:680,y:540,w:200,h:80,label:Fe.llm,color:De.llm}},ot=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"llama.cpp qwen3.5:4b (or configured provider)"}],Ht=new Map(ot.map(g=>[g.id,g])),Or=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function Nr(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const zt=new Map;for(const g of ot)for(const o of g.logCategories){const d=zt.get(o);d?d.push(g.id):zt.set(o,[g.id])}const Wt=20;function Ar(){const g={};for(const o of ot)g[o.id]=Nr();return g}const Zt=50,y=Gt({nodes:Ar(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let be=null;function er(){be&&(be.close(),be=null);const g="";be=new EventSource(`${g}/api/logs/stream`),be.onopen=()=>{y.connected=!0},be.onmessage=o=>{try{const d=JSON.parse(o.data);if(d.type==="connected"){y.connected=!0;return}const m=[...y.feed,d];y.feed=m.length>Zt?m.slice(-Zt):m;const i=zt.get(d.category);if(!i)return;for(const L of i){const E=y.nodes[L];if(!E)continue;E.pulseCount+=1,E.lastActivity=d.timestamp;const N=[...E.recentLogs,d];E.recentLogs=N.length>Wt?N.slice(-Wt):N,d.level==="error"&&(E.errorCount+=1)}}catch{}},be.onerror=()=>{y.connected=!1,be?.close(),be=null,setTimeout(()=>{be||er()},3e3)}}function Ir(){y.connected=!1,be?.close(),be=null}let wt=null;function Rr(g){return g>=.8?"healthy":g>=.5?"degraded":g>0?"unhealthy":"unknown"}function jr(g){for(const o of ot){if(!o.diagnosticDomain)continue;const d=g[o.diagnosticDomain];if(!d)continue;const m=y.nodes[o.id];if(!m)continue;const i=typeof d.score=="number"?d.score:0;m.score=i,m.health=Rr(i),m.metrics=d}}function qr(g){const o=y.nodes.queue;if(o){const i=g.memory,L=g.summary;o.queueDepth=i.pending+i.leased+L.pending+L.leased,o.metrics={memory:i,summary:L}}const d=y.nodes.extraction;d&&(d.queueDepth=g.memory.pending);const m=y.nodes.summary;m&&(m.queueDepth=g.summary.pending)}async function Yt(){try{const g=await gr();if(!g)return!1;if(y.mode=g.mode,y.lastPoll=new Date().toISOString(),g.diagnostics&&jr(g.diagnostics),g.queues&&qr(g.queues),g.workers)for(const[o,d]of Object.entries(g.workers)){const m=y.nodes[o];m&&d.running&&m.health==="unknown"&&(m.health="healthy",m.score=1)}if(g.errorSummary)for(const[o,d]of Object.entries(g.errorSummary)){const m=o==="extraction"||o==="decision"?"extraction":o==="embedding"||o==="mutation"?"database":o==="connector"?"sync":null;if(m){const i=y.nodes[m];i&&(i.errorCount=d)}}return!0}catch{return!1}}function Fr(g=5e3){wt||(Yt(),wt=setInterval(()=>{Yt()},g))}function Gr(){wt&&(clearInterval(wt),wt=null)}function tr(g){y.selectedNodeId=g}var Br=D(" <!>",1),Hr=D("<!> <!>",1),zr=D('<div class="flex justify-between px-2"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Yr=D('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),Xr=D('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Vr=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Queue Details</h4> <div class="space-y-1 text-[11px] font-[family-name:var(--font-mono)]"></div></section>'),Ur=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-[family-name:var(--font-display)]">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-[family-name:var(--font-mono)]"> </span></section>'),Qr=D('<div class="flex gap-2 py-1 px-1 text-[10px] font-[family-name:var(--font-mono)] hover:bg-[var(--sig-surface-raised)] rounded"><span class="text-[var(--sig-text-muted)] shrink-0 w-[52px]"> </span> <span> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Wr=D('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),Zr=D('<!> <div class="mt-4 space-y-4 overflow-y-auto pr-2" style="max-height: calc(100vh - 140px);"><section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Metrics</h4> <div class="grid grid-cols-3 gap-2"><div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Score</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Queue</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Errors</div> <div> </div></div></div></section> <!> <!> <section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function Kr(g,o){rt(o,!0);const d=C(()=>y.selectedNodeId),m=C(()=>e(d)?Ht.get(e(d))??null:null),i=C(()=>e(d)?y.nodes[e(d)]??null:null),L=C(()=>e(d)!==null);function E(P){P||tr(null)}function N(P){try{return new Date(P).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return P}}function $(P){switch(P){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}const M=C(()=>{if(!e(i)?.metrics)return null;const P=e(i).metrics;return P.memory||P.summary||typeof P.depth=="number"?P:null});var R=Xe(),T=K(R);Oe(T,()=>hr,(P,A)=>{A(P,{get open(){return e(L)},onOpenChange:E,children:(F,J)=>{var Y=Xe(),h=K(Y);Oe(h,()=>mr,(k,S)=>{S(k,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(I,ee)=>{var B=Xe(),j=K(B);{var c=w=>{var G=Zr(),q=K(G);Oe(q,()=>pr,(V,Q)=>{Q(V,{children:(oe,Pe)=>{var ye=Hr(),ie=K(ye);Oe(ie,()=>xr,(le,he)=>{he(le,{class:"flex items-center gap-2 font-[family-name:var(--font-display)] text-[var(--sig-text-bright)]",children:($e,Ie)=>{_e();var ge=Br(),se=K(ge),me=n(se);{let Te=C(()=>e(i).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(i).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(i).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");Dt(me,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)]
2
2
  ${e(Te)??""}`},children:(Le,Re)=>{_e();var Qe=ve();_(()=>f(Qe,e(i).health)),l(Le,Qe)},$$slots:{default:!0}})}_(()=>f(se,`${e(m).label??""} `)),l($e,ge)},$$slots:{default:!0}})});var Ae=n(ie,2);{var fe=le=>{var he=Xe(),$e=K(he);Oe($e,()=>br,(Ie,ge)=>{ge(Ie,{class:"text-[11px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]",children:(se,me)=>{_e();var Te=ve();_(()=>f(Te,e(m).description)),l(se,Te)},$$slots:{default:!0}})}),l(le,he)};O(Ae,le=>{e(m).description&&le(fe)})}l(oe,ye)},$$slots:{default:!0}})});var te=n(q,2),b=a(te),p=n(a(b),2),X=a(p),re=n(a(X),2),Be=a(re,!0);r(re),r(X);var ae=n(X,2),xe=n(a(ae),2),Ce=a(xe,!0);r(xe),r(ae);var st=n(ae,2),He=n(a(st),2);let Ue;var nt=a(He,!0);r(He),r(st),r(p),r(b);var it=n(b,2);{var kt=V=>{var Q=Vr(),oe=n(a(Q),2);Ne(oe,21,()=>Object.entries(e(M)),yt,(Pe,ye)=>{var ie=C(()=>Bt(e(ye),2));let Ae=()=>e(ie)[0],fe=()=>e(ie)[1];var le=Xe(),he=K(le);{var $e=ge=>{var se=Yr(),me=K(se),Te=a(me,!0);r(me);var Le=n(me,2);Ne(Le,17,()=>Object.entries(fe()),yt,(Re,Qe)=>{var We=C(()=>Bt(e(Qe),2));let St=()=>e(We)[0],It=()=>e(We)[1];var Ze=zr(),ft=a(Ze),Ke=a(ft,!0);r(ft);var gt=n(ft,2),Rt=a(gt,!0);r(gt),r(Ze),_(()=>{f(Ke,St()),f(Rt,It())}),l(Re,Ze)}),_(()=>f(Te,Ae())),l(ge,se)},Ie=ge=>{var se=Xr(),me=a(se),Te=a(me,!0);r(me);var Le=n(me,2),Re=a(Le,!0);r(Le),r(se),_(()=>{f(Te,Ae()),f(Re,fe())}),l(ge,se)};O(he,ge=>{typeof fe()=="object"&&fe()!==null?ge($e):ge(Ie,-1)})}l(Pe,le)}),r(oe),r(Q),l(V,Q)};O(it,V=>{e(M)&&V(kt)})}var lt=n(it,2);{var Lt=V=>{var Q=Ur(),oe=n(a(Q),2),Pe=a(oe,!0);r(oe),r(Q),_(ye=>f(Pe,ye),[()=>N(e(i).lastActivity)]),l(V,Q)};O(lt,V=>{e(i).lastActivity&&V(Lt)})}var dt=n(lt,2),ct=a(dt),Ot=a(ct);r(ct);var vt=n(ct,2),ut=a(vt);Ne(ut,17,()=>e(i).recentLogs,yt,(V,Q)=>{var oe=Qr(),Pe=a(oe),ye=a(Pe,!0);r(Pe);var ie=n(Pe,2),Ae=a(ie,!0);r(ie);var fe=n(ie,2),le=a(fe,!0);r(fe),r(oe),_((he,$e)=>{f(ye,he),Ge(ie,1,`${$e??""} shrink-0 w-[34px] uppercase`),f(Ae,e(Q).level),f(le,e(Q).message)},[()=>N(e(Q).timestamp),()=>$(e(Q).level)]),l(V,oe)});var Nt=n(ut,2);{var At=V=>{var Q=Wr();l(V,Q)};O(Nt,V=>{e(i).recentLogs.length===0&&V(At)})}r(vt),r(dt),r(te),_(V=>{f(Be,V),f(Ce,e(i).queueDepth),Ue=Ge(He,1,"text-[15px] font-[family-name:var(--font-mono)]",null,Ue,{"text-[#8a4a48]":e(i).errorCount>0,"text-[var(--sig-text-bright)]":e(i).errorCount===0}),f(nt,e(i).errorCount),f(Ot,`Recent Logs (${e(i).recentLogs.length??""})`)},[()=>e(i).score>0?(e(i).score*100).toFixed(0)+"%":"--"]),l(w,G)};O(j,w=>{e(m)&&e(i)&&w(c)})}l(I,B)},$$slots:{default:!0}})}),l(F,Y)},$$slots:{default:!0}})}),l(g,R),at()}var Jr=ue('<path fill="none" stroke-width="4" opacity="0.15" class="edge-glow svelte-kl8ook"></path>'),ea=ue('<circle r="2" opacity="0.6" class="svelte-kl8ook"><animateMotion repeatCount="indefinite" begin="0.5s" class="svelte-kl8ook"></animateMotion></circle>'),ta=ue('<circle class="svelte-kl8ook"><animateMotion repeatCount="indefinite" class="svelte-kl8ook"></animateMotion></circle><!>',1),ra=ue('<text text-anchor="middle" font-size="9" font-family="var(--font-mono)" class="svelte-kl8ook"> </text>'),aa=ue('<g class="pipeline-edge svelte-kl8ook"><path fill="none"></path><!><!><!></g>');function oa(g,o){rt(o,!0);const d=C(()=>Ht.get(o.edge.from)),m=C(()=>Ht.get(o.edge.to)),i=C(()=>e(d)?De[e(d).group]:"#6b6b76"),L=C(()=>{if(!e(d)||!e(m))return"";const h=e(d).x+e(d).w/2,k=e(d).y+e(d).h/2,S=e(m).x+e(m).w/2,I=e(m).y+e(m).h/2,ee=(h+S)/2,B=(k+I)/2,j=Math.abs(S-h),c=Math.abs(I-k);return j>c?`M ${h} ${k} Q ${ee} ${k}, ${ee} ${B} Q ${ee} ${I}, ${S} ${I}`:`M ${h} ${k} Q ${h} ${B}, ${ee} ${B} Q ${S} ${B}, ${S} ${I}`}),E=C(()=>!e(d)||!e(m)?{x:0,y:0}:{x:(e(d).x+e(d).w/2+e(m).x+e(m).w/2)/2,y:(e(d).y+e(d).h/2+e(m).y+e(m).h/2)/2-8}),N=C(()=>o.active?"1s":"3s");var $=aa(),M=a($);let R;var T=n(M);{var P=h=>{var k=Jr();_(()=>{v(k,"d",e(L)),v(k,"stroke",e(i))}),l(h,k)};O(T,h=>{o.active&&!o.edge.dashed&&h(P)})}var A=n(T);{var F=h=>{var k=ta(),S=K(k),I=a(S);r(S);var ee=n(S);{var B=j=>{var c=ea(),w=a(c);r(c),_(()=>{v(c,"fill",e(i)),v(w,"dur",e(N)),v(w,"path",e(L))}),l(j,c)};O(ee,j=>{o.active&&j(B)})}_(()=>{v(S,"r",o.active?3.5:2),v(S,"fill",o.active?e(i):"var(--sig-border)"),v(S,"opacity",o.active?1:.3),v(I,"dur",e(N)),v(I,"path",e(L))}),l(h,k)};O(A,h=>{o.edge.dashed||h(F)})}var J=n(A);{var Y=h=>{var k=ra(),S=a(k,!0);r(k),_(()=>{v(k,"x",e(E).x),v(k,"y",e(E).y),v(k,"fill",o.active?e(i):"var(--sig-text-muted)"),v(k,"opacity",o.active?.9:.45),f(S,o.edge.label)}),l(h,k)};O(J,h=>{o.edge.label&&h(Y)})}r($),_(()=>{v(M,"d",e(L)),v(M,"stroke",o.active?e(i):"var(--sig-border)"),v(M,"stroke-width",o.active?1.5:.8),v(M,"stroke-dasharray",o.edge.dashed?"6 4":"none"),v(M,"opacity",o.active?.8:.25),R=Ge(M,0,"svelte-kl8ook",null,R,{"edge-active":o.active})}),l(g,$),at()}var sa=ue('<rect class="glow-bg svelte-1tib701" x="-6" y="-6" rx="10" ry="10" opacity="0.12"></rect>'),na=ue('<rect class="pulse-ring svelte-1tib701" x="-4" y="-4" rx="10" ry="10" fill="none"></rect>'),ia=ue('<rect class="flash-overlay svelte-1tib701" rx="6" ry="6"></rect>'),la=ue('<animate attributeName="opacity" values="1;0.4;1" dur="1.5s" repeatCount="indefinite" class="svelte-1tib701"></animate>'),da=ue('<g class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),ca=ue('<g transform="translate(8, -6)" class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" fill="#ef4444" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),va=ue('<g style="cursor: pointer"><!><!><rect class="node-rect svelte-1tib701" rx="6" ry="6"></rect><!><circle cx="10" class="svelte-1tib701"><!></circle><text text-anchor="middle" dominant-baseline="middle" font-size="11" font-family="var(--font-mono)" class="svelte-1tib701"> </text><!><!></g>');function ua(g,o){rt(o,!0);const d=C(()=>De[o.def.group]),m={healthy:"#4ade80",degraded:"#fbbf24",unhealthy:"#f87171",unknown:"#6b6b76"},i=C(()=>m[o.nodeState.health]),L=C(()=>o.nodeState.health==="unknown"?`${e(d)}88`:e(i));let E=U(0),N=U(!1),$=U(!1),M=null;Xt(()=>{if(o.nodeState.pulseCount>e(E)){x(E,o.nodeState.pulseCount,!0),x(N,!0);const b=setTimeout(()=>{x(N,!1)},1200);return x($,!0),M&&clearTimeout(M),M=setTimeout(()=>{x($,!1)},3e3),()=>{clearTimeout(b),M&&clearTimeout(M)}}});function R(){o.onselectnode(o.def.id)}var T=va();let P;var A=a(T);{var F=b=>{var p=sa();_(()=>{v(p,"width",o.def.w+12),v(p,"height",o.def.h+12),v(p,"fill",e(d))}),l(b,p)};O(A,b=>{e($)&&b(F)})}var J=n(A);{var Y=b=>{var p=na();_(()=>{v(p,"width",o.def.w+8),v(p,"height",o.def.h+8),v(p,"stroke",e(d))}),l(b,p)};O(J,b=>{e(N)&&b(Y)})}var h=n(J),k=n(h);{var S=b=>{var p=ia();_(()=>{v(p,"width",o.def.w),v(p,"height",o.def.h),v(p,"fill",e(d))}),l(b,p)};O(k,b=>{e(N)&&b(S)})}var I=n(k),ee=a(I);{var B=b=>{var p=la();l(b,p)};O(ee,b=>{e($)&&b(B)})}r(I);var j=n(I),c=a(j,!0);r(j);var w=n(j);{var G=b=>{var p=da(),X=a(p),re=n(X),Be=a(re,!0);r(re),r(p),_(()=>{v(p,"transform",`translate(${o.def.w-8}, -6)`),v(X,"fill",e(d)),f(Be,o.nodeState.queueDepth)}),l(b,p)};O(w,b=>{o.nodeState.queueDepth>0&&b(G)})}var q=n(w);{var te=b=>{var p=ca(),X=n(a(p)),re=a(X,!0);r(X),r(p),_(()=>f(re,o.nodeState.errorCount)),l(b,p)};O(q,b=>{o.nodeState.errorCount>0&&b(te)})}r(T),_(()=>{P=Ge(T,0,"pipeline-node svelte-1tib701",null,P,{"pipeline-node--selected":o.selected,"pipeline-node--active":e($)}),v(T,"transform",`translate(${o.def.x??""}, ${o.def.y??""})`),v(h,"width",o.def.w),v(h,"height",o.def.h),v(h,"fill",e($)?e(d)+"18":"var(--sig-surface-raised)"),v(h,"stroke",e($)?e(d):e(L)),v(h,"stroke-width",o.selected?2.5:e($)?1.5:1),v(I,"cy",o.def.h/2),v(I,"r",e($)?4:3),v(I,"fill",e($)?e(d):e(i)),v(I,"opacity",e($)?1:.7),v(j,"x",o.def.w/2),v(j,"y",o.def.h/2+1),v(j,"fill",e($)?e(d):"var(--sig-text-bright)"),v(j,"font-weight",e($)?"600":"400"),f(c,o.def.label)}),_t("click",T,R),l(g,T),at()}Kt(["click"]);var fa=ue('<g><rect rx="8" ry="8" fill-opacity="0.06" stroke-opacity="0.25" stroke-width="1" stroke-dasharray="4 3"></rect><text font-size="9" font-family="var(--font-mono)" opacity="0.6" letter-spacing="0.08em"> </text></g>'),ga=ue('<svg viewBox="0 0 1160 650" preserveAspectRatio="xMidYMid meet" class="w-full h-full select-none" xmlns="http://www.w3.org/2000/svg" role="application" aria-label="Pipeline graph. Use mouse wheel to zoom, drag background to pan, double-click to reset."><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter><marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sig-border-strong)"></path></marker></defs><g><!><!><!></g></svg>');function ma(g,o){rt(o,!0);const d=Object.entries(Lr),m=.7,i=2.4,L=.12;let E=U(1),N=U(0),$=U(0),M=U(!1),R=U(0),T=U(0);function P(c){const w=y.nodes[c];return w?.lastActivity?Date.now()-new Date(w.lastActivity).getTime()<5e3:!1}function A(c){return Math.min(i,Math.max(m,c))}function F(){x(E,1),x(N,0),x($,0)}function J(c){c.preventDefault();const w=c.currentTarget;if(!(w instanceof SVGSVGElement))return;const G=w.getBoundingClientRect(),q=c.clientX-G.left,te=c.clientY-G.top,b=c.deltaY<0?1:-1,p=A(e(E)+b*L);if(p===e(E))return;const X=(q-e(N))/e(E),re=(te-e($))/e(E);x(E,p,!0),x(N,q-X*p),x($,te-re*p)}function Y(c){if(c.button!==0||c.target!==c.currentTarget)return;const w=c.currentTarget;w instanceof SVGSVGElement&&w.setPointerCapture(c.pointerId),x(M,!0),x(R,c.clientX,!0),x(T,c.clientY,!0)}function h(c){if(!e(M))return;const w=c.clientX-e(R),G=c.clientY-e(T);x(R,c.clientX,!0),x(T,c.clientY,!0),x(N,e(N)+w),x($,e($)+G)}function k(c){if(!e(M))return;const w=c.currentTarget;w instanceof SVGSVGElement&&w.releasePointerCapture(c.pointerId),x(M,!1)}var S=ga(),I=n(a(S)),ee=a(I);Ne(ee,17,()=>d,yt,(c,w)=>{var G=C(()=>Bt(e(w),2));let q=()=>e(G)[1];var te=fa(),b=a(te),p=n(b),X=a(p,!0);r(p),r(te),_(re=>{v(b,"x",q().x),v(b,"y",q().y),v(b,"width",q().w),v(b,"height",q().h),v(b,"fill",q().color),v(b,"stroke",q().color),v(p,"x",q().x+8),v(p,"y",q().y+14),v(p,"fill",q().color),f(X,re)},[()=>q().label.toUpperCase()]),l(c,te)});var B=n(ee);Ne(B,17,()=>Or,c=>c.from+"-"+c.to,(c,w)=>{{let G=C(()=>P(e(w).from));oa(c,{get edge(){return e(w)},get active(){return e(G)}})}});var j=n(B);Ne(j,17,()=>ot,c=>c.id,(c,w)=>{{let G=C(()=>y.selectedNodeId===e(w).id);ua(c,{get def(){return e(w)},get nodeState(){return y.nodes[e(w).id]},get selected(){return e(G)},get onselectnode(){return o.onselectnode}})}}),r(I),r(S),_(()=>v(I,"transform",`translate(${e(N)} ${e($)}) scale(${e(E)})`)),Mt("wheel",S,J),_t("pointerdown",S,Y),_t("pointermove",S,h),_t("pointerup",S,k),Mt("pointercancel",S,k),Mt("pointerleave",S,k),_t("dblclick",S,F),l(g,S),at()}Kt(["pointerdown","pointermove","pointerup","dblclick"]);var pa=D('<div class="border-t border-[var(--sig-border)]"></div>'),xa=D('<!> <div class="flex items-center justify-between px-3 py-2 gap-3"><div class="flex items-center gap-3 min-w-0"><span class="font-mono text-[var(--font-size-sm)] text-[var(--sig-text)] truncate"> </span> <!> <span class="sig-meta text-[var(--sig-text-muted)] shrink-0"> </span></div> <div class="flex items-center gap-2 shrink-0"><span> </span> <!></div></div>',1),ha=D('<div class="mb-4"><div class="flex items-center gap-2 mb-2"><span class="sig-heading">ACTIVE SESSIONS</span> <!></div> <div class="rounded-md border border-[var(--sig-border)]" style="background: var(--sig-surface)"></div></div>');function ba(g,o){rt(o,!0);let d=U(Gt([])),m=U(!0),i=U(Gt(new Set));async function L(){try{const T=await _r();x(d,[...T.sessions],!0)}catch{Ve("Failed to load sessions","error")}finally{x(m,!1)}}async function E(T,P){if(!e(i).has(T.key)){x(i,new Set([...e(i),T.key]),!0);try{const A=await yr(T.key,P);A?x(d,e(d).map(F=>F.key===T.key?{...F,bypassed:A.bypassed}:F),!0):Ve("Failed to toggle bypass","error")}finally{const A=new Set(e(i));A.delete(T.key),x(i,A,!0)}}}function N(T){const P=Date.now()-new Date(T).getTime();if(!Number.isFinite(P)||P<0)return"just now";const A=Math.floor(P/1e3);if(A<60)return`${A}s ago`;const F=Math.floor(A/60);if(F<60)return`${F}m ago`;const J=Math.floor(F/60);return J<24?`${J}h ago`:`${Math.floor(J/24)}d ago`}Xt(()=>{L();const T=setInterval(L,3e4);return()=>clearInterval(T)});var $=Xe(),M=K($);{var R=T=>{var P=ha(),A=a(P),F=n(a(A),2);Dt(F,{variant:"outline",class:"sig-badge px-1.5 py-0",children:(Y,h)=>{_e();var k=ve();_(()=>f(k,e(d).length)),l(Y,k)},$$slots:{default:!0}}),r(A);var J=n(A,2);Ne(J,23,()=>e(d),Y=>Y.key,(Y,h,k)=>{var S=xa(),I=K(S);{var ee=ae=>{var xe=pa();l(ae,xe)};O(I,ae=>{e(k)>0&&ae(ee)})}var B=n(I,2),j=a(B),c=a(j),w=a(c,!0);r(c);var G=n(c,2);Dt(G,{variant:"outline",class:"sig-badge px-1.5 py-0 shrink-0",children:(ae,xe)=>{_e();var Ce=ve();_(()=>f(Ce,e(h).runtimePath)),l(ae,Ce)},$$slots:{default:!0}});var q=n(G,2),te=a(q,!0);r(q),r(j);var b=n(j,2),p=a(b);let X;var re=a(p,!0);r(p);var Be=n(p,2);{let ae=C(()=>e(i).has(e(h).key)),xe=C(()=>`Bypass session ${e(h).key}`);Jt(Be,{get checked(){return e(h).bypassed},get disabled(){return e(ae)},onCheckedChange:Ce=>E(e(h),Ce),get"aria-label"(){return e(xe)}})}r(b),r(B),_((ae,xe)=>{v(c,"title",e(h).key),f(w,ae),f(te,xe),X=Ge(p,1,"sig-meta",null,X,{"text-[var(--sig-text-muted)]":!e(h).bypassed,"text-[var(--sig-accent)]":e(h).bypassed}),f(re,e(h).bypassed?"bypassed":"active")},[()=>e(h).key.slice(0,12),()=>N(e(h).claimedAt)]),l(Y,S)}),r(J),r(P),l(T,P)};O(M,T=>{!e(m)&&e(d).length>0&&T(R)})}l(g,$),at()}var _a=D('<span class="sig-eyebrow text-[#4ade80]"> </span>'),ya=D('<span class="sig-meta"> </span>'),wa=D('<span class="sig-meta text-[var(--sig-text-muted)]">pipeline disabled in config</span>'),ka=D('<div class="flex flex-col gap-1"><!> <!></div>'),Sa=D("<!> <!>",1),Ca=D('<div class="flex items-start justify-between gap-2 border-b border-[var(--sig-border)]/30 pb-[1px]"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)] break-all text-right normal-case"> </span></div>'),Pa=D('<div class="mt-1 pl-[56px] sig-micro"> </div>'),$a=D('<div class="mt-1 pl-[56px] sig-meta text-[#f87171] whitespace-pre-wrap break-words"> </div>'),Ta=D('<details class="mt-1 pl-[56px]"><summary class="cursor-pointer sig-micro">Raw payload</summary> <pre class="mt-1 p-2 border border-[var(--sig-border)] bg-[var(--sig-surface)] sig-micro text-[var(--sig-text)] whitespace-pre-wrap break-words normal-case"> </pre></details>'),Ea=D('<div class="mt-1 pl-[56px] inline-flex items-center gap-2 sig-micro"><span class="px-1 py-[1px] border border-[var(--sig-border)]"> </span> <span> </span></div> <div class="sig-eyebrow text-[var(--sig-text)] mt-0.5 pl-[56px] whitespace-pre-wrap break-words normal-case tracking-normal"> </div> <div class="mt-1 pl-[56px] grid grid-cols-1 md:grid-cols-2 gap-x-3 gap-y-1 sig-micro"></div> <!> <!> <!>',1),Ma=D('<details class="mt-0.5 pl-[56px] group"><summary class="list-none cursor-pointer sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal line-clamp-2 break-words [&amp;::-webkit-details-marker]:hidden"> </summary> <div class="mt-1 sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal whitespace-pre-wrap break-words"> </div></details>'),Da=D('<div class="sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal mt-0.5 pl-[56px] whitespace-pre-wrap break-words"> </div>'),La=D('<span class="sig-micro pl-[56px]"> </span>'),Oa=D("<!> <!>",1),Na=D('<div class="feed-entry px-2 py-1.5 rounded hover:bg-[var(--sig-surface-raised)] transition-colors svelte-1kgvdra"><div class="flex items-center gap-1.5"><span class="sig-meta shrink-0 w-[48px]"> </span> <span class="inline-block w-1.5 h-1.5 rounded-full shrink-0"></span> <span class="sig-meta shrink-0"> </span></div> <!></div>'),Aa=D('<div class="flex items-center justify-center h-full sig-label italic">Waiting for events...</div>'),Ia=D('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex items-center justify-between px-4 py-2 border-b border-[var(--sig-border)] shrink-0"><div class="flex items-center gap-3"><div class="flex items-center gap-1.5"><span></span> <span class="sig-eyebrow"> </span></div> <!> <!></div> <div class="flex items-center gap-3"><!> <!></div></div> <div class="px-4 pt-2"><!></div> <div class="flex flex-1 min-h-0 flex-col lg:flex-row"><div class="flex-1 min-w-0 min-h-[46vh] lg:min-h-0 p-4 overflow-auto"><!></div> <div><div class="px-3 py-2 border-b border-[var(--sig-border)] space-y-2"><div class="flex items-center justify-between gap-2"><span class="sig-heading text-[10px]">Live Feed</span> <div class="flex items-center gap-2"><span class="sig-meta"> </span> <span> </span></div></div> <div class="flex items-center justify-between gap-2 min-w-0"><label class="inline-flex items-center gap-1.5 sig-eyebrow text-[var(--sig-text)] cursor-pointer min-w-0"><!> <span>Auto-scroll</span></label> <div class="hidden lg:flex items-center gap-1.5 shrink-0"><!> <!></div> <div class="lg:hidden shrink-0"><!></div></div></div> <div class="flex-1 overflow-y-auto px-1 py-1"><!> <!></div></div></div></div> <!>',1);function Ya(g,o){rt(o,!0);function d(t){tr(y.selectedNodeId===t?null:t)}let m=U(null),i=U(null),L=U(!0),E=U(!1),N=U(!1);const $=24;let M=U(!0),R=U(!0);const T=C(()=>e(E)?"lg:w-[420px]":"lg:w-[320px]"),P=C(()=>e(M)?"Latest":"Oldest"),A=C(()=>e(E)?"Expanded":"Compact");function F(t="smooth"){e(i)&&e(i).scrollTo({top:e(i).scrollHeight,behavior:t})}function J(){return e(i)?e(i).scrollHeight-e(i).scrollTop-e(i).clientHeight<=$:!0}function Y(){if(!(!e(i)||(x(R,J(),!0),!(e(i).scrollHeight-e(i).clientHeight>$)))){if(e(R)){x(M,!0);return}e(i).scrollTop<=$&&x(M,!1)}}function h(t){e(i)&&(e(M)?(x(L,!1),x(R,!1),x(M,!1),e(i).scrollTo({top:0,behavior:"smooth"})):(x(L,!0),x(R,!0),x(M,!0),F("auto")),t?.currentTarget instanceof HTMLElement&&t.currentTarget.blur(),x(N,!1))}function k(t){x(L,t,!0),Et.pipeline.autoScroll=t,Qt(),t&&(x(R,!0),x(M,!0),requestAnimationFrame(()=>{F("auto"),Y()}))}function S(t){x(E,!e(E)),Et.pipeline.feedExpanded=e(E),Qt(),t?.currentTarget instanceof HTMLElement&&t.currentTarget.blur(),x(N,!1)}async function I(){if(e(m))return;if(y.mode==="disabled"){Ve("Pipeline is disabled in config","warning");return}const t=y.mode==="paused"?"resume":"pause";x(m,t,!0);try{const s=t==="pause"?await Cr():await Pr();if(!s.success){Ve(s.error??`Failed to ${t} pipeline`,"error");return}s.mode&&(y.mode=s.mode,y.lastPoll=new Date().toISOString());const u=await Yt();if(s.changed===!1){Ve(t==="pause"?"Pipeline already paused":"Pipeline already running");return}if(!u){Ve(`${t==="pause"?"Pipeline paused":"Pipeline resumed"}, but live status refresh failed`,"warning");return}Ve(t==="pause"?"Pipeline paused":"Pipeline resumed","success")}finally{x(m,null)}}function ee(t){if(!t)return"";const s=Object.keys(t);if(s.length===0)return"";const u=s.slice(0,4).join(", ");return s.length>4?`${u} +${s.length-4}`:u}Xt(()=>{if(y.feed.length,Y(),e(L)&&e(i)){if(!e(R))return;requestAnimationFrame(()=>{F("auto"),x(R,!0),x(M,!0),Y()})}}),vr(()=>(er(),Fr(),x(L,Et.pipeline.autoScroll,!0),x(E,Et.pipeline.feedExpanded,!0),()=>{Ir(),Gr()}));const B={"controlled-write":"border-[#4ade80] text-[#4ade80]",shadow:"border-[#fbbf24] text-[#fbbf24]",frozen:"border-[#94a3b8] text-[#94a3b8]",paused:"border-[#60a5fa] text-[#60a5fa]",disabled:"border-[#f87171] text-[#f87171]",unknown:"border-[var(--sig-border)] text-[var(--sig-text-muted)]"},j=C(()=>B[y.mode]??B.unknown),c=C(()=>ot.filter(t=>{const s=y.nodes[t.id];return s?.lastActivity?Date.now()-new Date(s.lastActivity).getTime()<5e3:!1}).length);function w(t){try{return new Date(t).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return t}}const G={error:"#f87171",warn:"#fbbf24",info:"#4ade80",debug:"#6b6b76"},q={hooks:"#4dabf7","session-tracker":"#4dabf7",pipeline:"#da77f2","summary-worker":"#da77f2","document-worker":"#da77f2",retention:"#da77f2",maintenance:"#da77f2",memory:"#ffd43b",embedding:"#ffd43b",sync:"#ff922b",watcher:"#ff922b",harness:"#4dabf7",llm:"#fcc419"},te=["jobId","memoryId","sessionKey","project","attempt","maxRetries","mode","provider","model","facts","entities","proposals","added","updated","deleted","deduped","skippedLowConfidence","blockedDestructive","runId","taskId","path","port","pid","error"];function b(t){const s=Date.now()-new Date(t).getTime();if(!Number.isFinite(s)||s<0)return"just now";const u=Math.floor(s/1e3);if(u<60)return`${u}s ago`;const H=Math.floor(u/60);if(H<60)return`${H}m ago`;const z=Math.floor(H/60);return z<24?`${z}h ago`:`${Math.floor(z/24)}d ago`}function p(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/^./,s=>s.toUpperCase())}function X(t){return t===null?"null":t===void 0?"undefined":typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):Array.isArray(t)?`[${t.length} items]`:typeof t=="object"?"{object}":String(t)}function re(t){const s=t.message.toLowerCase(),u=t.category.replace(/-/g," ");if(s.includes("job failed")){const H=t.data?.attempt;return typeof H=="number"?`${u} failed (attempt ${H})`:`${u} failed`}return s.includes("completed")?`${u} completed`:s.includes("started")||s.includes("starting")?`${u} started`:s.includes("enqueued")?`${u} queued`:s.includes("failed")?`${u} warning`:s.includes("file changed")?"watcher detected file change":`${u} event`}function Be(t){const s=[{label:"Level",value:t.level},{label:"Category",value:t.category}];t.duration!==void 0&&s.push({label:"Duration",value:`${t.duration} ms`});const u=t.data;if(!u)return s;const H=new Set;for(const z of te)z in u&&(s.push({label:p(z),value:X(u[z])}),H.add(z));for(const z of Object.keys(u).sort())H.has(z)||s.push({label:p(z),value:X(u[z])});return s}function ae(t){const s={};if(t.data&&(s.data=t.data),t.error&&(s.error=t.error),Object.keys(s).length===0)return"";const u=JSON.stringify(s,null,2);if(!u)return"";const H=3200;return u.length<=H?u:`${u.slice(0,H)}
3
3
  ...truncated`}var xe=Ia(),Ce=K(xe),st=a(Ce);$r(st,{title:"Pipeline",children:(t,s)=>{Tr(t,{group:"engine",get tabs(){return Sr},get activeTab(){return kr.activeTab},onselect:(u,H)=>wr(H)})}});var He=n(st,2),Ue=a(He),nt=a(Ue),it=a(nt);let kt;var lt=n(it,2),Lt=a(lt,!0);r(lt),r(nt);var dt=n(nt,2);Dt(dt,{variant:"outline",get class(){return`sig-badge px-1.5 py-0 ${e(j)??""}`},children:(t,s)=>{_e();var u=ve();_(()=>f(u,y.mode)),l(t,u)},$$slots:{default:!0}});var ct=n(dt,2);{var Ot=t=>{var s=_a(),u=a(s);r(s),_(()=>f(u,`${e(c)??""} active`)),l(t,s)};O(ct,t=>{e(c)>0&&t(Ot)})}r(Ue);var vt=n(Ue,2),ut=a(vt);{var Nt=t=>{var s=ya(),u=a(s);r(s),_(H=>f(u,`polled ${H??""}`),[()=>w(y.lastPoll)]),l(t,s)};O(ut,t=>{y.lastPoll&&t(Nt)})}var At=n(ut,2);{var V=t=>{var s=wa();l(t,s)},Q=t=>{{let s=C(()=>e(m)!==null);tt(t,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2.5 py-[5px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",get disabled(){return e(s)},onclick:I,children:(u,H)=>{var z=Xe(),je=K(z);{var mt=W=>{var Z=ve("Pausing...");l(W,Z)},ze=W=>{var Z=ve("Resuming...");l(W,Z)},Ee=W=>{var Z=ve("Resume");l(W,Z)},we=W=>{var Z=ve("Pause");l(W,Z)};O(je,W=>{e(m)==="pause"?W(mt):e(m)==="resume"?W(ze,1):y.mode==="paused"?W(Ee,2):W(we,-1)})}l(u,z)},$$slots:{default:!0}})}};O(At,t=>{y.mode==="disabled"?t(V):t(Q,-1)})}r(vt),r(He);var oe=n(He,2),Pe=a(oe);ba(Pe,{}),r(oe);var ye=n(oe,2),ie=a(ye),Ae=a(ie);ma(Ae,{onselectnode:d}),r(ie);var fe=n(ie,2),le=a(fe),he=a(le),$e=n(a(he),2),Ie=a($e),ge=a(Ie);r(Ie);var se=n(Ie,2);let me;var Te=a(se,!0);r(se),r($e),r(he);var Le=n(he,2),Re=a(Le),Qe=a(Re);Oe(Qe,()=>Jt,(t,s)=>{s(t,{get checked(){return e(L)},onCheckedChange:u=>k(u),class:"scale-90"})}),_e(2),r(Re);var We=n(Re,2),St=a(We);tt(St,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:t=>h(t),children:(t,s)=>{_e();var u=ve();_(()=>f(u,e(P))),l(t,u)},$$slots:{default:!0}});var It=n(St,2);tt(It,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:t=>S(t),children:(t,s)=>{_e();var u=ve();_(()=>f(u,e(A))),l(t,u)},$$slots:{default:!0}}),r(We);var Ze=n(We,2),ft=a(Ze);Oe(ft,()=>Dr,(t,s)=>{s(t,{get open(){return e(N)},set open(u){x(N,u,!0)},children:(u,H)=>{var z=Sa(),je=K(z);{const ze=(Ee,we)=>{tt(Ee,ur(()=>we?.().props,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",children:(Z,pt)=>{_e();var Je=ve("Feed actions");l(Z,Je)},$$slots:{default:!0}}))};Oe(je,()=>Er,(Ee,we)=>{we(Ee,{child:ze,$$slots:{child:!0}})})}var mt=n(je,2);Oe(mt,()=>Mr,(ze,Ee)=>{Ee(ze,{align:"end",side:"bottom",class:"w-[170px] p-1 bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(we,W)=>{var Z=ka(),pt=a(Z);tt(pt,{variant:"outline",size:"sm",class:"w-full justify-start sig-eyebrow tracking-[0.08em] px-2 py-1 h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:ke=>h(ke),children:(ke,jt)=>{_e();var Ye=ve();_(()=>f(Ye,e(P))),l(ke,Ye)},$$slots:{default:!0}});var Je=n(pt,2);tt(Je,{variant:"outline",size:"sm",class:"w-full justify-start sig-eyebrow tracking-[0.08em] px-2 py-1 h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:ke=>S(ke),children:(ke,jt)=>{_e();var Ye=ve();_(()=>f(Ye,e(A))),l(ke,Ye)},$$slots:{default:!0}}),r(Z),l(we,Z)},$$slots:{default:!0}})}),l(u,z)},$$slots:{default:!0}})}),r(Ze),r(Le),r(le);var Ke=n(le,2),gt=a(Ke);Ne(gt,19,()=>y.feed,(t,s)=>t.timestamp+"-"+s,(t,s)=>{const u=C(()=>q[e(s).category]??"var(--sig-text-muted)"),H=C(()=>G[e(s).level]??"#6b6b76"),z=C(()=>e(s).message.length>72),je=C(()=>ee(e(s).data)),mt=C(()=>re(e(s))),ze=C(()=>Be(e(s))),Ee=C(()=>ae(e(s)));var we=Na(),W=a(we),Z=a(W),pt=a(Z,!0);r(Z);var Je=n(Z,2),ke=n(Je,2),jt=a(ke,!0);r(ke),r(W);var Ye=n(W,2);{var or=qe=>{var xt=Ea(),et=K(xt),ht=a(et),qt=a(ht,!0);r(ht);var Ct=n(ht,2),Ft=a(Ct,!0);r(Ct),r(et);var de=n(et,2),pe=a(de,!0);r(de);var Se=n(de,2);Ne(Se,21,()=>e(ze),yt,(ne,ce)=>{var Me=Ca(),bt=a(Me),dr=a(bt,!0);r(bt);var Vt=n(bt,2),cr=a(Vt,!0);r(Vt),r(Me),_(()=>{f(dr,e(ce).label),f(cr,e(ce).value)}),l(ne,Me)}),r(Se);var Pt=n(Se,2);{var $t=ne=>{var ce=Pa(),Me=a(ce);r(ce),_(()=>f(Me,`Data keys: ${e(je)??""}`)),l(ne,ce)};O(Pt,ne=>{e(je)&&ne($t)})}var Tt=n(Pt,2);{var nr=ne=>{var ce=$a(),Me=a(ce);r(ce),_(()=>f(Me,`${e(s).error.name??""}: ${e(s).error.message??""}`)),l(ne,ce)};O(Tt,ne=>{e(s).error&&ne(nr)})}var ir=n(Tt,2);{var lr=ne=>{var ce=Ta(),Me=n(a(ce),2),bt=a(Me,!0);r(Me),r(ce),_(()=>f(bt,e(Ee))),l(ne,ce)};O(ir,ne=>{e(Ee)&&ne(lr)})}_(ne=>{f(qt,e(mt)),f(Ft,ne),f(pe,e(s).message)},[()=>b(e(s).timestamp)]),l(qe,xt)},sr=qe=>{var xt=Oa(),et=K(xt);{var ht=de=>{var pe=Ma(),Se=a(pe),Pt=a(Se,!0);r(Se);var $t=n(Se,2),Tt=a($t,!0);r($t),r(pe),_(()=>{f(Pt,e(s).message),f(Tt,e(s).message)}),l(de,pe)},qt=de=>{var pe=Da(),Se=a(pe,!0);r(pe),_(()=>f(Se,e(s).message)),l(de,pe)};O(et,de=>{e(z)?de(ht):de(qt,-1)})}var Ct=n(et,2);{var Ft=de=>{var pe=La(),Se=a(pe);r(pe),_(()=>f(Se,`${e(s).duration??""}ms`)),l(de,pe)};O(Ct,de=>{e(s).duration&&de(Ft)})}l(qe,xt)};O(Ye,qe=>{e(E)?qe(or):qe(sr,-1)})}r(we),_(qe=>{f(pt,qe),Ut(Je,`background-color: ${e(H)??""}`),Ut(ke,`color: ${e(u)??""}`),f(jt,e(s).category)},[()=>w(e(s).timestamp)]),l(t,we)});var Rt=n(gt,2);{var rr=t=>{var s=Aa();l(t,s)};O(Rt,t=>{y.feed.length===0&&t(rr)})}r(Ke),fr(Ke,t=>x(i,t),()=>e(i)),r(fe),r(ye),r(Ce);var ar=n(Ce,2);Kr(ar,{}),_(()=>{kt=Ge(it,1,"inline-block w-2 h-2 rounded-full",null,kt,{"bg-[#4ade80]":y.connected,"bg-[#f87171]":!y.connected,"animate-pulse":y.connected}),f(Lt,y.connected?"LIVE":"DISCONNECTED"),Ge(fe,1,`w-full shrink-0 border-t lg:border-t-0 border-[var(--sig-border)] flex flex-col bg-[var(--sig-bg)] min-h-[220px] max-h-[40vh] lg:max-h-none ${e(T)}`,"svelte-1kgvdra"),f(ge,`${y.feed.length??""} events`),me=Ge(se,1,"sig-meta",null,me,{"text-[#4ade80]":e(L)&&e(R),"text-[var(--sig-text-muted)]":!e(L)||!e(R)}),f(Te,e(L)&&e(R)?"following":"paused")}),Mt("scroll",Ke,Y),l(g,xe),at()}export{Ya as default};
@@ -1 +1 @@
1
- import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./QfnvbGen.js";import{I as $}from"./BOrfKTGM.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
1
+ import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./P0X3uYAO.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,4 +1,4 @@
1
- import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as ht,m as x,P as fr}from"./QfnvbGen.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./BOrfKTGM.js";import{P as _r}from"./Jvf56kqr.js";import{T as br}from"./Cj3_EPR_.js";import{C as yr}from"./YviGA35d.js";import{S as hr}from"./C36snM1J.js";import{S as Me,a as Ge,b as le,c as He}from"./Cwqm2HHq.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&ht().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function ye(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),ht().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
1
+ import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as ht,m as x,P as fr}from"./KKQFryJf.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./P0X3uYAO.js";import{P as _r}from"./DK3bAoxY.js";import{T as br}from"./CyB1_UBK.js";import{C as yr}from"./BS7wyv3H.js";import{S as hr}from"./CbgFyh_P.js";import{S as Me,a as Ge,b as le,c as He}from"./BqcjRj3N.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&ht().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function ye(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),ht().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
2
2
  `);a.push({label:"Facts",content:g})}return a}function it(e){const r=lt(e);if(r.length===0)return"";const a=r.map(c=>c.content).join(`
3
3
 
4
4
  `).trim();return a.length<=220?a:`${a.slice(0,220)}...`}async function Gt(){if(t(A))try{await navigator.clipboard.writeText(ot(t(A))),s(pe,!0),setTimeout(()=>{s(pe,!1)},1200)}catch{s(pe,!1)}}dr(()=>(s(Y,Ct(),!0),ye(),nt(),()=>{s(X,!1),de!==null&&cancelAnimationFrame(de),j!==null&&clearTimeout(j),D&&D.close()})),vr(()=>{const e=t(ce);if(!e)return;const r=()=>{const a=It(e);if(t(B)&&!a){s(B,!1),s(ue,!0);return}!t(B)&&t(ue)&&a&&(s(B,!0),s(ue,!1))};return e.addEventListener("scroll",r,{passive:!0}),r(),()=>{e.removeEventListener("scroll",r)}});var Ce=qr(),ct=n(Ce);_r(ct,{title:"Logs",children:(e,r)=>{br(e,{group:"engine",get tabs(){return xr},get activeTab(){return pr.activeTab},onselect:(a,c)=>mr(c)})}});var dt=l(ct,2),vt=n(dt),Ne=n(vt),De=n(Ne),gt=n(De);T(gt,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(Q)},onValueChange:a=>{s(Q,a??"",!0),ye()},children:(a,c)=>{var f=wr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(Q)||"All levels")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=Lr(),R=z(_);T(R,()=>le,(y,b)=>{b(y,{value:"",label:"All levels"})});var m=l(R,2);we(m,17,()=>Tt,Ve,(y,b)=>{var h=$e(),w=z(h);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(y,h)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ut=l(gt,2);T(ut,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(te)},onValueChange:a=>{s(te,a??"",!0),ye()},children:(a,c)=>{var f=Sr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(te)||"All categories")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=$r(),R=z(_);T(R,()=>le,(y,b)=>{b(y,{value:"",label:"All categories"})});var m=l(R,2);we(m,17,()=>Pt,Ve,(y,b)=>{var h=$e(),w=z(h);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(y,h)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ft=l(ut,2);{let e=J(()=>t(Y)??"");T(ft,()=>He,(r,a)=>{a(r,{type:"single",get value(){return t(e)},onValueChange:jt,children:(c,f)=>{var v=Er(),p=z(v);{let d=J(()=>t(Y)===null?"":void 0);T(p,()=>Me,(g,L)=>{L(g,{get"data-placeholder"(){return t(d)},class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] data-[placeholder]:text-[var(--sig-text-muted)] rounded-lg h-auto py-1 px-2 min-w-[124px]",children:(_,R)=>{oe();var m=M();O(y=>u(m,y),[()=>Dt()]),i(_,m)},$$slots:{default:!0}})})}var k=l(p,2);T(k,()=>Ge,(d,g)=>{g(d,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(L,_)=>{var R=kr(),m=z(R);T(m,()=>le,(h,w)=>{w(h,{value:"",label:Ke})});var y=l(m,2);T(y,()=>le,(h,w)=>{w(h,{value:"desc",get label(){return ke.desc}})});var b=l(y,2);T(b,()=>le,(h,w)=>{w(h,{value:"asc",get label(){return ke.asc}})}),i(L,R)},$$slots:{default:!0}})}),i(c,v)},$$slots:{default:!0}})})}var ze=l(ft,2),Ht=n(ze);yr(Ht,{get checked(){return t(B)},onCheckedChange:e=>{s(B,e===!0),s(ue,!1),t(B)&&be("auto")},class:"rounded-lg"}),oe(),o(ze);var mt=l(ze,2),pt=n(mt);{var Jt=e=>{var r=Pr(),a=n(r,!0);o(r),O(()=>u(a,t(Z))),i(e,r)};K(pt,e=>{t(Z)&&e(Jt)})}var he=l(pt,2),Kt=n(he);{var Ut=e=>{var r=M("● Live");i(e,r)},Xt=e=>{var r=M("↺ Reconnecting");i(e,r)},Qt=e=>{var r=M("◌ Connecting");i(e,r)},Yt=e=>{var r=M("● Offline");i(e,r)};K(Kt,e=>{t(ie)?e(Ut):t(W)?e(Xt,1):t(U)?e(Qt,2):e(Yt,-1)})}o(he);var xt=l(he,2);{let e=J(()=>t(X)?"Disconnect stream":"Reconnect stream");qe(xt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Ft,get title(){return t(e)},children:(r,a)=>{oe();var c=M();O(()=>u(c,t(X)?"Disconnect":"Reconnect")),i(r,c)},$$slots:{default:!0}})}var Wt=l(xt,2);qe(Wt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:ye,title:"Reload logs",children:(e,r)=>{oe();var a=M();O(()=>u(a,Lt.Refresh)),i(e,a)},$$slots:{default:!0}}),o(mt),o(De);var Zt=l(De,2);hr(Zt,{class:"min-h-0 flex-1",get viewportRef(){return t(ce)},set viewportRef(e){s(ce,e,!0)},children:(e,r)=>{var a=Dr(),c=n(a);{var f=d=>{var g=Tr();i(d,g)},v=d=>{var g=Or(),L=n(g,!0);o(g),O(()=>u(L,t(me))),i(d,g)},p=d=>{var g=Rr();i(d,g)},k=d=>{var g=$e(),L=z(g);we(L,17,()=>t(I),_=>_.key,(_,R)=>{const m=J(()=>t(R).entry),y=J(()=>t(R).key);var b=Nr(),h=n(b),w=n(h),se=n(w,!0);o(w);var F=l(w,2),Ie=n(F,!0);o(F);var E=l(F,2),V=n(E);o(E);var C=l(E,2),ne=n(C,!0);o(C);var G=l(C,2);{var Le=P=>{var $=Ar(),N=n($);o($),O(()=>u(N,`(${t(m).duration??""}ms)`)),i(P,$)};K(G,P=>{t(m).duration!==void 0&&P(Le)})}o(h);var je=l(h,2);{var Be=P=>{var $=Cr(),N=n($,!0);o($),O(H=>u(N,H),[()=>it(t(m))]),i(P,$)},Fe=J(()=>it(t(m)));K(je,P=>{t(Fe)&&P(Be)})}o(b),O((P,$,N,H,ve)=>{ge(b,1,P,"svelte-q4aevr"),u(se,$),ge(F,1,N,"svelte-q4aevr"),u(Ie,H),ge(E,1,ve,"svelte-q4aevr"),u(V,`[${t(m).category??""}]`),u(ne,t(m).message)},[()=>`log-row ${Re(t(m).level)} w-full text-left px-[var(--space-md)] py-1.5 border-b border-[var(--sig-border)] hover:bg-[var(--sig-surface)] cursor-pointer ${t(re)===t(y)?"bg-[var(--sig-surface)] border-[var(--sig-border-strong)]":""}`,()=>Vt(t(m).timestamp),()=>`font-semibold shrink-0 min-w-[40px] ${Re(t(m).level)}`,()=>t(m).level.toUpperCase(),()=>`log-category ${tt(t(m).category)} shrink-0`]),gr("click",b,()=>{s(re,t(y),!0)}),i(_,b)}),i(d,g)};K(c,d=>{t(Ee)?d(f):t(me)?d(v,1):t(I).length===0?d(p,2):d(k,-1)})}o(a),i(e,a)},$$slots:{default:!0}}),o(Ne);var _t=l(Ne,2),er=n(_t);{var tr=e=>{const r=J(()=>lt(t(A)));var a=Fr(),c=z(a),f=l(n(c),2),v=n(f,!0);o(f);var p=l(f,4),k=n(p,!0);o(p);var d=l(p,4),g=n(d,!0);o(d);var L=l(d,4),_=n(L,!0);o(L);var R=l(L,2);{var m=E=>{var V=zr(),C=l(z(V),2),ne=n(C);o(C),O(()=>u(ne,`${t(A).duration??""}ms`)),i(E,V)};K(R,E=>{t(A).duration!==void 0&&E(m)})}o(c);var y=l(c,2);{var b=E=>{var V=Br(),C=l(n(V),2);we(C,17,()=>t(r),Ve,(ne,G)=>{var Le=$e(),je=z(Le);{var Be=P=>{var $=Ir(),N=n($),H=n(N),ve=n(H,!0);o(H);var fe=l(H,2),ar=n(fe);o(fe);var bt=l(fe,2),sr=n(bt);o(bt),o(N);var yt=l(N,2),nr=n(yt,!0);o(yt),o($),O((or,lr)=>{u(ve,t(G).label),u(ar,`(${or??""} chars)`),u(sr,`${lr??""}...`),u(nr,t(G).content)},[()=>t(G).content.length.toLocaleString(),()=>t(G).content.slice(0,100).replace(/\n/g," ")]),i(P,$)},Fe=P=>{var $=jr(),N=n($),H=n(N,!0);o(N);var ve=l(N,2),fe=n(ve,!0);o(ve),o($),O(()=>{u(H,t(G).label),u(fe,t(G).content)}),i(P,$)};K(je,P=>{t(G).content.length>500?P(Be):P(Fe,-1)})}i(ne,Le)}),o(V),i(E,V)};K(y,E=>{t(r).length>0&&E(b)})}var h=l(y,2),w=n(h),se=l(n(w),2);qe(se,{variant:"outline",size:"sm",class:"sig-eyebrow px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Gt,children:(E,V)=>{oe();var C=M();O(()=>u(C,t(pe)?"Copied":Lt.CopyJson)),i(E,C)},$$slots:{default:!0}}),o(w);var F=l(w,2),Ie=n(F,!0);o(F),o(h),O((E,V,C,ne)=>{u(v,E),ge(p,1,V,"svelte-q4aevr"),u(k,t(A).level),ge(d,1,C,"svelte-q4aevr"),u(g,t(A).category),u(_,t(A).message),u(Ie,ne)},[()=>qt(t(A).timestamp),()=>`uppercase ${Re(t(A).level)}`,()=>`log-category ${tt(t(A).category)}`,()=>ot(t(A))]),i(e,a)},rr=e=>{var r=Vr();i(e,r)};K(er,e=>{t(A)?e(tr):e(rr,-1)})}o(_t),o(vt),o(dt),o(Ce),O(()=>ge(he,1,`sig-label font-medium ${t(ie)?"text-[var(--sig-success)] [animation:pulse_2s_infinite]":t(W)||t(U)?"text-[var(--sig-accent)] [animation:pulse_2s_infinite]":"text-[var(--sig-danger)]"}`,"svelte-q4aevr")),i($t,Ce),ur()}fr(["click"]);export{Qr as default};