signetai 0.134.0 → 0.135.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 (62) hide show
  1. package/dashboard/_app/immutable/chunks/{DhZ0pHvC.js → 7WclG55_.js} +1 -1
  2. package/dashboard/_app/immutable/chunks/{7hPbKmHi.js → 9xPuaG2g.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{CL9vUgKT.js → B0YcO9dg.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{DvRTEdAz.js → B4sx7b5v.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{Cq-DShaa.js → B6met90I.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{CSzrGFrg.js → BXBouk5R.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{BeNlFwmZ.js → BcHKNTJw.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{Bo3KABtb.js → BdOr3Q-7.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/{C1fYsoq2.js → BePHZpKU.js} +1 -1
  10. package/dashboard/_app/immutable/chunks/{BCy5ra2l.js → Bg9GdvxX.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{T9nOrDjO.js → BhMl_mmg.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{BggJPGRm.js → BooQKqTQ.js} +1 -1
  13. package/dashboard/_app/immutable/chunks/{BVvl59fd.js → Bpa6cHRK.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{B81KGJQe.js → C0eT4Ez1.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{DJOV0kqE.js → C30D9Qbv.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{DoCK2T_O.js → C4jsQxu_.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{0j2ewct9.js → COWi3zAm.js} +1 -1
  18. package/dashboard/_app/immutable/chunks/{lDj0gZru.js → CPC__8Yq.js} +1 -1
  19. package/dashboard/_app/immutable/chunks/{DlZLRiuv.js → CQHfxPVm.js} +1 -1
  20. package/dashboard/_app/immutable/chunks/{DFwxeRz4.js → CQTju_4O.js} +1 -1
  21. package/dashboard/_app/immutable/chunks/{BR0_Lgwu.js → CVXI3ut6.js} +2 -2
  22. package/dashboard/_app/immutable/chunks/{CTbq6ibW.js → CVg1C0SH.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{l8EClFxW.js → CXYLhehO.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{CthgYI5N.js → CbJNabjP.js} +3 -3
  25. package/dashboard/_app/immutable/chunks/{CMGgymFV.js → CnEMwX_E.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{DA_KcwMq.js → Cnt5R8WJ.js} +1 -1
  27. package/dashboard/_app/immutable/chunks/{DtwBjuqy.js → CxRtao85.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{B6dWrpAC.js → CzJdoVwZ.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/{Dph1ZiNM.js → D6TQixG0.js} +1 -1
  30. package/dashboard/_app/immutable/chunks/{B9SaY4Ka.js → D9z_lZg9.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{BBvZ6iYI.js → DAyPju4W.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{BEOXbd-S.js → DUMKUsLr.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{BWGC1Do4.js → DZCny-Go.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{DcNdECIz.js → DaBielGY.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{DmgwuDkR.js → DdQCl9X5.js} +1 -1
  36. package/dashboard/_app/immutable/chunks/{D2TpJv7L.js → DfU_VCv_.js} +1 -1
  37. package/dashboard/_app/immutable/chunks/{Bwo08nMk.js → DhZEqtAr.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{B4P9133g.js → DvlgnPle.js} +1 -1
  39. package/dashboard/_app/immutable/chunks/{BIehy68U.js → HvEHOOSC.js} +1 -1
  40. package/dashboard/_app/immutable/chunks/{prXpEMh5.js → QOh98I6m.js} +1 -1
  41. package/dashboard/_app/immutable/chunks/{MLUcg3aT.js → RtXEB4a8.js} +1 -1
  42. package/dashboard/_app/immutable/chunks/{LstVsyQu.js → V5J0tK-S.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/{lpQChQvx.js → WGPzUflR.js} +1 -1
  44. package/dashboard/_app/immutable/chunks/{QPS3QP9f.js → eMul0v6G.js} +1 -1
  45. package/dashboard/_app/immutable/chunks/{CBAbYi2A.js → jvq5-tRR.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{Bqdab9rT.js → xiWnW2qj.js} +2 -2
  47. package/dashboard/_app/immutable/chunks/{CqLiu9zC.js → zW9h9Jix.js} +1 -1
  48. package/dashboard/_app/immutable/chunks/{CkX4TlnC.js → z_eJ2qhK.js} +1 -1
  49. package/dashboard/_app/immutable/entry/{app.BAHQ5sHD.js → app.DCYIMsHK.js} +2 -2
  50. package/dashboard/_app/immutable/entry/start.BAyh3eaK.js +1 -0
  51. package/dashboard/_app/immutable/nodes/{1.CEuFFf4F.js → 1.S2wEVtn7.js} +1 -1
  52. package/dashboard/_app/immutable/nodes/2.BroUo8QY.js +1 -0
  53. package/dashboard/_app/version.json +1 -1
  54. package/dashboard/index.html +6 -6
  55. package/dist/cli.js +874 -165
  56. package/dist/daemon.js +1076 -75
  57. package/dist/extraction-thread.js +31 -0
  58. package/dist/mcp-stdio.js +123 -4
  59. package/dist/synthesis-render-worker.js +111 -18
  60. package/package.json +1 -1
  61. package/dashboard/_app/immutable/entry/start.B1UxFD4q.js +0 -1
  62. package/dashboard/_app/immutable/nodes/2.BNdrxhO2.js +0 -1
@@ -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"./ByWF7pVd.js";import{I as $}from"./CthgYI5N.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"./ByWF7pVd.js";import{I as $}from"./CbJNabjP.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
@@ -1 +1 @@
1
- import{p,s as c,c as l,f as d,a as i,n as m,b as f,d as h,r as u}from"./ByWF7pVd.js";import{I as $}from"./CthgYI5N.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"./ByWF7pVd.js";import{I as $}from"./CbJNabjP.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];$(e,c({name:"pencil"},()=>o,{get iconNode(){return t},children:(n,_)=>{var s=l(),r=d(s);i(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
@@ -1 +1 @@
1
- import{p as _,g as d,c as y,f as C,h as w,s as z,i as j,C as M,b as u,d as P,r as q,j as A,k as B,l as D,u as E,m as F}from"./ByWF7pVd.js";import{c as G,M as H}from"./CthgYI5N.js";import{C as I}from"./DhZ0pHvC.js";var J=F('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function O(f,t){_(t,!0);let n=d(t,"ref",15,null),c=d(t,"checked",15,!1),o=d(t,"indeterminate",15,!1),h=q(t,["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]);var l=y(),m=C(l);{const k=(s,a)=>{let e=()=>a?.().checked,b=()=>a?.().indeterminate;var i=J(),p=A(i);{var g=r=>{I(r,{class:"size-3.5"})},x=r=>{H(r,{class:"size-3.5"})};B(p,r=>{e()?r(g):b()&&r(x,1)})}D(i),u(s,i)};let v=E(()=>G("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t.class));w(m,()=>M,(s,a)=>{a(s,z({"data-slot":"checkbox",get class(){return j(v)}},()=>h,{get ref(){return n()},set ref(e){n(e)},get checked(){return c()},set checked(e){c(e)},get indeterminate(){return o()},set indeterminate(e){o(e)},children:k,$$slots:{default:!0}}))})}u(f,l),P()}export{O as C};
1
+ import{p as _,g as d,c as y,f as C,h as w,s as z,i as j,C as M,b as u,d as P,r as q,j as A,k as B,l as D,u as E,m as F}from"./ByWF7pVd.js";import{c as G,M as H}from"./CbJNabjP.js";import{C as I}from"./7WclG55_.js";var J=F('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function O(f,t){_(t,!0);let n=d(t,"ref",15,null),c=d(t,"checked",15,!1),o=d(t,"indeterminate",15,!1),h=q(t,["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]);var l=y(),m=C(l);{const k=(s,a)=>{let e=()=>a?.().checked,b=()=>a?.().indeterminate;var i=J(),p=A(i);{var g=r=>{I(r,{class:"size-3.5"})},x=r=>{H(r,{class:"size-3.5"})};B(p,r=>{e()?r(g):b()&&r(x,1)})}D(i),u(s,i)};let v=E(()=>G("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t.class));w(m,()=>M,(s,a)=>{a(s,z({"data-slot":"checkbox",get class(){return j(v)}},()=>h,{get ref(){return n()},set ref(e){n(e)},get checked(){return c()},set checked(e){c(e)},get indeterminate(){return o()},set indeterminate(e){o(e)},children:k,$$slots:{default:!0}}))})}u(f,l),P()}export{O as C};
@@ -1 +1 @@
1
- import{p as Gt,o as $,e as Y,q as Ot,L as Jt,$ as Yt,j as r,t as c,k as F,i as t,l as a,G as Zt,v as b,b as _,d as Vt,u as P,A as O,y as R,B as Xt,D as Xe,z as u,M as Qt,w as Z,m as T,c as be,f as xe,J as _e,N as ea}from"./ByWF7pVd.js";import{h as ta,n as Qe,i as aa,j as ra,k as sa,l as ia,m as na,B as he}from"./CthgYI5N.js";import{P as oa}from"./BLfsll1n.js";import{T as la}from"./F2BE-qZF.js";import{C as ca}from"./LstVsyQu.js";import{C as da}from"./DlZLRiuv.js";import{R as va}from"./DJOV0kqE.js";var ma=T('<div class="flex flex-1 items-center justify-center sig-label">Loading timeline...</div>'),pa=T('<div class="flex flex-1 items-center justify-center sig-label text-[var(--sig-text-muted)]">No timeline data yet.</div>'),ua=T('<button role="tab"> </button>'),fa=T('<p class="sig-label text-[var(--sig-text-muted)]">No type signals</p>'),ga=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ba=T('<p class="sig-label text-[var(--sig-text-muted)]">No source signals</p>'),xa=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),_a=T('<p class="sig-label text-[var(--sig-text-muted)]">No tags this era</p>'),ha=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ya=T('<p class="mt-2 sig-label text-[var(--sig-text-muted)]">No memories saved in this era yet.</p>'),Ma=T('<article class="timeline-top-card rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-2 svelte-1acbaf"><div class="timeline-top-card-head svelte-1acbaf"><div class="timeline-top-card-icon svelte-1acbaf"> </div> <div class="timeline-top-card-title-wrap svelte-1acbaf"><p class="timeline-top-card-title svelte-1acbaf"> </p> <p class="timeline-top-card-subtitle svelte-1acbaf"> </p></div></div> <p class="timeline-top-card-content mt-1 text-[11px] leading-relaxed text-[var(--sig-text)] line-clamp-4 svelte-1acbaf"> </p> <div class="timeline-top-card-meta mt-auto flex items-center justify-between gap-2 pt-2 text-[11px] text-[var(--sig-text-muted)] svelte-1acbaf"><p class="timeline-top-card-badge svelte-1acbaf"> </p> <p> </p></div></article>'),wa=T('<div class="timeline-top-card-grid mt-2 svelte-1acbaf"></div>'),ka=T('<div class="timeline-stack flex flex-1 min-h-0 flex-col gap-3 svelte-1acbaf"><section class="timeline-hero rounded-xl border border-[var(--sig-border)] p-3 overflow-hidden svelte-1acbaf"><div class="timeline-hero-grid svelte-1acbaf"><div class="min-w-0"><h2 class="timeline-hero-title svelte-1acbaf">Signet Evolution Timeline</h2> <p class="timeline-hero-subtitle svelte-1acbaf">Track added, evolved, and pinned memories across recap eras.</p></div> <div class="timeline-hero-metrics svelte-1acbaf"><div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Agent skills used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">MCP servers used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Average importance</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Pinned</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div></div></div></section> <div class="timeline-content-split flex-1 min-h-0 gap-3 svelte-1acbaf"><section class="timeline-detail-panel flex min-h-0 flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-[10.5px] border-2 border-[var(--sig-border-strong)] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="--panel-pad: 0.75rem;"><div class="timeline-era-head svelte-1acbaf"><div class="timeline-era-title-row svelte-1acbaf"><p class="sig-heading timeline-era-title svelte-1acbaf"> <span class="timeline-era-title-range svelte-1acbaf"> </span></p> <div class="timeline-era-controls flex items-center gap-1 svelte-1acbaf"><!> <div role="tablist" aria-orientation="horizontal" class="flex items-center gap-1"></div> <!> <!></div></div></div> <div class="timeline-summary-grid svelte-1acbaf"><div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Added</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Tracked events captured</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Evolved</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Strengthened</span></p></div></div> <div class="timeline-mix-grid svelte-1acbaf"><div class="timeline-mix-card timeline-mix-card--type p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Type mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--source p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Source mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--tags p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Top tags</p> <!></div></div></section> <section class="timeline-top-panel rounded-[10.5px] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="border: 0.87px solid var(--sig-border);"><div class="flex items-center justify-between gap-2"><p class="sig-label text-[var(--sig-text-bright)]">Top Four Memories</p> <p class="text-[11px] text-[var(--sig-text-bright)]"> </p></div> <!></section></div></div>'),Ta=T('<p class="sig-label text-[var(--sig-danger)]"> </p>'),Sa=T('<div class="timeline-shell flex flex-col flex-1 min-h-0 overflow-hidden bg-[var(--sig-bg)] svelte-1acbaf" role="region" aria-label="Memory timeline. Use left and right arrows to move through eras."><!> <div class="flex flex-1 min-h-0 flex-col gap-3 p-3 bg-[var(--sig-bg)]"><!> <!></div></div>');function $a(et,V){Gt(V,!0);const tt="h-8 px-3 rounded-lg border text-[10px] uppercase tracking-[0.08em] font-mono transition-colors";let X=$(!1),z=$(null),N=$(Y([])),S=$(0),Q=$(Y({})),ee=$(Y({})),te=$(Y({})),I=$(null);const p=P(()=>t(N)[t(S)]??null),ye=P(()=>t(p)?t(Q)[t(p).rangeKey]??0:0);function at(e){return e.sourceBreakdown.filter(l=>Me(l.key)).length}function Me(e){const s=e.trim().toLowerCase();return s?!!(/\bmcp\b/.test(s)||/\btool[-\s]?servers?\b/.test(s)||s.includes("model context protocol")||s.includes("model-context-protocol")||s.includes("modelcontextprotocol")):!1}const we=P(()=>t(p)?Math.max(t(ee)[t(p).rangeKey]??0,at(t(p))):0),ke=P(()=>t(p)?t(te)[t(p).rangeKey]??[]:[]);function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rt(e){if(Array.isArray(e))return e.filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>s.length>0);if(typeof e=="string"){const s=e.trim();if(!s)return[];if(s.startsWith("[")&&s.endsWith("]"))try{const l=JSON.parse(s);if(Array.isArray(l))return l.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0)}catch{}return s.split(",").map(l=>l.trim()).filter(l=>l.length>0)}return[]}function st(e,s,l,n){const A=l.map(i=>i.name.trim().toLowerCase()).filter(i=>i.length>0).map(i=>({name:i,pattern:new RegExp(`\\b${Te(i)}\\b`,"i")})),D=n.flatMap(i=>{const m=[];for(const y of[i.name,i.id]){const M=y.trim().toLowerCase();M.length>0&&m.push({serverId:i.id,pattern:new RegExp(`\\b${Te(M)}\\b`,"i")})}return m}),U=e.map(i=>({bucket:i,skillSet:new Set,mcpSet:new Set,hasMcpSignal:!1,startMs:Date.parse(i.start),endMs:Date.parse(i.end)}));for(const i of s){const m=Date.parse(i.created_at);if(!Number.isFinite(m))continue;const y=rt(i.tags).join(" "),M=[i.content,i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase(),L=[i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase();for(const g of U){if(m<g.startMs||m>g.endMs)continue;for(const K of A)K.pattern.test(M)&&g.skillSet.add(K.name);let G=!1;for(const K of D)K.pattern.test(M)&&(g.mcpSet.add(K.serverId),G=!0);!G&&Me(L)&&(g.hasMcpSignal=!0)}}const C={},v={};for(const i of U)C[i.bucket.rangeKey]=i.skillSet.size,v[i.bucket.rangeKey]=i.mcpSet.size>0?i.mcpSet.size:i.hasMcpSignal?1:0;return{skillUsage:C,mcpUsage:v}}function H(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?0:e>=1?1:e}function it(e,s){const l=new Map;for(const v of e){const i=Date.parse(v.start),m=Date.parse(v.end);!Number.isFinite(i)||!Number.isFinite(m)||l.set(v.rangeKey,{startMs:i,endMs:m})}const n=l.get("today")??null,A=l.get("last_week")??null;function D(v){const i=l.get(v.rangeKey),m=Date.parse(v.start),y=Date.parse(v.end),M={startMs:Number.isFinite(m)?m:Number.NEGATIVE_INFINITY,endMs:Number.isFinite(y)?y:Number.POSITIVE_INFINITY};if(!i)return M;const L=i.startMs;let g=i.endMs;return v.rangeKey==="last_week"&&n?g=Math.min(g,n.startMs-1):v.rangeKey==="one_month"&&(A?g=Math.min(g,A.startMs-1):n&&(g=Math.min(g,n.startMs-1))),g<L?M:{startMs:L,endMs:g}}const U=e.map(v=>{const i=D(v);return{bucket:v,startMs:i.startMs,endMs:i.endMs,candidates:[]}});for(const v of s){const i=Date.parse(v.created_at);if(Number.isFinite(i))for(const m of U){if(i<m.startMs||i>m.endMs)continue;const y=Math.max(1,m.endMs-m.startMs),M=Math.max(0,Math.min(1,(i-m.startMs)/y)),L=H(v.importance)*100+(v.pinned?24:0)+M*8;m.candidates.push({memory:v,score:L,createdAt:i})}}const C={};for(const v of U)v.candidates.sort((i,m)=>{if(m.score!==i.score)return m.score-i.score;const y=H(i.memory.importance),M=H(m.memory.importance);return M!==y?M-y:m.createdAt!==i.createdAt?m.createdAt-i.createdAt:i.memory.id.localeCompare(m.memory.id)}),C[v.bucket.rangeKey]=v.candidates.slice(0,4).map(i=>i.memory);return C}function q(e=1){t(N).length!==0&&b(S,Math.min(t(N).length-1,t(S)+e),!0)}function W(e=1){t(N).length!==0&&b(S,Math.max(0,t(S)-e),!0)}function ae(e){V.ontimelinegeneratedforchange&&V.ontimelinegeneratedforchange(e)}async function nt(){b(X,!0),b(z,null);try{const e=ra(5e3,0),[s,l,n,A]=await Promise.all([sa({fallbackMemories:e.then(U=>U.memories)}),ia(),na(),e]);b(N,s.buckets,!0),ae(s.generatedFor);const D=st(s.buckets,A.memories,l,n.servers);b(Q,D.skillUsage,!0),b(ee,D.mcpUsage,!0),b(te,it(s.buckets,A.memories),!0),b(S,0),s.error&&b(z,s.error,!0)}catch{b(z,"Failed to load timeline."),b(N,[],!0),ae(""),b(Q,{},!0),b(ee,{},!0),b(te,{},!0)}finally{b(X,!1)}}function ot(e,s){const l={month:"short",day:"numeric",timeZone:"UTC"},n=new Date(e).toLocaleDateString("en-US",l),A=new Date(s).toLocaleDateString("en-US",{...l,year:"numeric"});return`${n} - ${A}`}function lt(e,s){const l=Date.parse(e);if(!Number.isFinite(l))return"Unknown";const n=new Date(l);return s==="today"?n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",timeZone:"UTC"}):n.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"})}function ct(e){return`${Math.round(H(e)*100)}%`}function re(e,s,l){return e===1?s:l}function dt(e){const s=e.split(/[-_.\s]+/).map(l=>l.trim()).filter(l=>l.length>0);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():e.slice(0,2).toUpperCase()||"M"}function vt(e){return e.rangeKey==="last_week"?"Week":e.rangeKey==="one_month"?"Month":"Today"}function mt(e){if(Qe.activeTab!=="timeline")return;const s=e.target;if(s instanceof HTMLElement){const n=s.tagName;if(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||s.isContentEditable)return}if(s instanceof HTMLElement&&s.hasAttribute("data-memory-tab")){if(e.key==="ArrowDown"){e.preventDefault();const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus()}return}if(s instanceof HTMLElement&&s.closest('.timeline-era-controls [role="tablist"]')){if(e.key==="ArrowUp"){e.preventDefault(),W(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowDown"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowLeft"){e.preventDefault(),W(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);return}if(e.key==="ArrowLeft"){e.preventDefault(),W(e.shiftKey?3:1);return}if(e.key==="PageDown"){e.preventDefault(),q(3);return}if(e.key==="PageUp"){e.preventDefault(),W(3);return}}Ot(()=>(nt(),()=>{ae("")}));var J=Sa();Jt("keydown",Yt,mt);var Se=r(J);oa(Se,{title:"Timeline",children:(e,s)=>{la(e,{group:"memory",get tabs(){return aa},get activeTab(){return Qe.activeTab},onselect:(l,n)=>ta(n)})}});var Ae=c(Se,2),Ee=r(Ae);{var pt=e=>{var s=ma();_(e,s)},ut=e=>{var s=pa();_(e,s)},ft=e=>{var s=ka(),l=r(s),n=r(l),A=c(r(n),2),D=r(A),U=c(r(D),2),C=r(U);a(U),a(D);var v=c(D,2),i=c(r(v),2),m=r(i);a(i),a(v);var y=c(v,2),M=c(r(y),2),L=r(M);a(M),a(y);var g=c(y,2),G=c(r(g),2),K=r(G);a(G),a(g),a(A),a(n),a(l);var De=c(l,2),se=r(De),ie=r(se),Ue=r(ie),ne=r(Ue),Ne=r(ne),Be=c(Ne),xt=r(Be,!0);a(Be),a(ne);var Le=c(ne,2),$e=r(Le);{let o=P(()=>t(S)<=0);he($e,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>W(),get disabled(){return t(o)},title:"Move to newer era",children:(d,x)=>{ca(d,{class:"size-3.5"})},$$slots:{default:!0}})}var oe=c($e,2);O(oe,23,()=>t(N),o=>o.eraIndex,(o,d,x)=>{var f=ua(),w=r(f,!0);a(f),R(h=>{Xt(f,1,`${tt} ${t(x)===t(S)?"border-[var(--sig-accent)] bg-[color-mix(in_srgb,var(--sig-surface-raised)_76%,transparent)] text-[var(--sig-text-bright)]":"border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"}`,"svelte-1acbaf"),Xe(f,"aria-selected",t(x)===t(S)),Xe(f,"tabindex",t(x)===t(S)?0:-1),u(w,h)},[()=>vt(t(d))]),Qt("click",f,()=>{b(S,t(x),!0)}),_(o,f)}),a(oe);var Ie=c(oe,2);{let o=P(()=>t(S)>=t(N).length-1);he(Ie,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>q(),get disabled(){return t(o)},title:"Move to older era",children:(d,x)=>{da(d,{class:"size-3.5"})},$$slots:{default:!0}})}var _t=c(Ie,2);he(_t,{variant:"ghost",size:"sm",class:"h-8 px-2 sig-label",onclick:()=>{b(S,0)},title:"Jump to today",children:(o,d)=>{va(o,{class:"size-3.5"})},$$slots:{default:!0}}),a(Le),a(Ue),a(ie);var le=c(ie,2),ce=r(le),Ce=r(ce),Ke=r(Ce),ht=r(Ke,!0);a(Ke),Z(2),a(Ce),a(ce);var de=c(ce,2),je=r(de),Re=r(je),yt=r(Re,!0);a(Re),Z(2),a(je),a(de);var ve=c(de,2),Fe=r(ve),Pe=r(Fe),Mt=r(Pe,!0);a(Pe),Z(2),a(Fe),a(ve);var ze=c(ve,2),He=r(ze),qe=r(He),wt=r(qe,!0);a(qe),Z(2),a(He),a(ze),a(le);var We=c(le,2),me=r(We),kt=c(r(me),2);{var Tt=o=>{var d=fa();_(o,d)},St=o=>{var d=be(),x=xe(d);O(x,17,()=>t(p).typeBreakdown,_e,(f,w)=>{var h=ga(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),R(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};F(kt,o=>{t(p).typeBreakdown.length===0?o(Tt):o(St,-1)})}a(me);var pe=c(me,2),At=c(r(pe),2);{var Et=o=>{var d=ba();_(o,d)},Dt=o=>{var d=be(),x=xe(d);O(x,17,()=>t(p).sourceBreakdown,_e,(f,w)=>{var h=xa(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),R(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};F(At,o=>{t(p).sourceBreakdown.length===0?o(Et):o(Dt,-1)})}a(pe);var Ge=c(pe,2),Ut=c(r(Ge),2);{var Nt=o=>{var d=_a();_(o,d)},Bt=o=>{var d=be(),x=xe(d);O(x,17,()=>t(p).topTags,_e,(f,w)=>{var h=ha(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),R(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};F(Ut,o=>{t(p).topTags.length===0?o(Nt):o(Bt,-1)})}a(Ge),a(We),a(se);var Oe=c(se,2),ue=r(Oe),Je=c(r(ue),2),Lt=r(Je,!0);a(Je),a(ue);var $t=c(ue,2);{var It=o=>{var d=ya();_(o,d)},Ct=o=>{var d=wa();O(d,21,()=>t(ke),x=>x.id,(x,f)=>{var w=Ma(),h=r(w),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E),Kt=r(B,!0);a(B);var Ye=c(B,2),jt=r(Ye,!0);a(Ye),a(E),a(h);var fe=c(h,2),Rt=r(fe,!0);a(fe);var Ze=c(fe,2),ge=r(Ze),Ft=r(ge);a(ge);var Ve=c(ge,2),Pt=r(Ve,!0);a(Ve),a(Ze),a(w),R((zt,Ht,qt,Wt)=>{u(j,zt),u(Kt,t(f).who||"Unknown source"),u(jt,Ht),u(Rt,t(f).content),u(Ft,`imp ${qt??""}`),u(Pt,Wt)},[()=>dt(t(f).who||t(f).type||"memory"),()=>t(f).type?.trim()||"memory",()=>ct(t(f).importance),()=>lt(t(f).created_at,t(p).rangeKey)]),_(x,w)}),a(d),_(o,d)};F($t,o=>{t(ke).length===0?o(It):o(Ct,-1)})}a(Oe),a(De),a(s),R((o,d,x,f,w)=>{u(C,`${t(ye)??""} ${o??""}`),u(m,`${t(we)??""} ${d??""}`),u(L,`${x??""}% avg`),u(K,`${t(p).pinned??""} ${f??""}`),u(Ne,`${t(p).label??""}: `),u(xt,w),u(ht,t(p).memoriesAdded),u(yt,t(p).trackedEvents),u(Mt,t(p).evolved),u(wt,t(p).strengthened),u(Lt,t(p).label)},[()=>re(t(ye),"skill","skills"),()=>re(t(we),"server","servers"),()=>Math.round(H(t(p).avgImportance)*100),()=>re(t(p).pinned,"card","cards"),()=>ot(t(p).start,t(p).end)]),_(e,s)};F(Ee,e=>{t(X)?e(pt):t(N).length===0?e(ut,1):t(p)&&e(ft,2)})}var gt=c(Ee,2);{var bt=e=>{var s=Ta(),l=r(s,!0);a(s),R(()=>u(l,t(z))),_(e,s)};F(gt,e=>{t(z)&&e(bt)})}a(Ae),a(J),Zt(J,e=>b(I,e),()=>t(I)),_(et,J),Vt()}ea(["click"]);export{$a as default};
1
+ import{p as Gt,o as $,e as Y,q as Ot,L as Jt,$ as Yt,j as r,t as c,k as F,i as t,l as a,G as Zt,v as b,b as _,d as Vt,u as P,A as O,y as R,B as Xt,D as Xe,z as u,M as Qt,w as Z,m as T,c as be,f as xe,J as _e,N as ea}from"./ByWF7pVd.js";import{h as ta,n as Qe,i as aa,j as ra,k as sa,l as ia,m as na,B as he}from"./CbJNabjP.js";import{P as oa}from"./BLfsll1n.js";import{T as la}from"./F2BE-qZF.js";import{C as ca}from"./V5J0tK-S.js";import{C as da}from"./CQHfxPVm.js";import{R as va}from"./C30D9Qbv.js";var ma=T('<div class="flex flex-1 items-center justify-center sig-label">Loading timeline...</div>'),pa=T('<div class="flex flex-1 items-center justify-center sig-label text-[var(--sig-text-muted)]">No timeline data yet.</div>'),ua=T('<button role="tab"> </button>'),fa=T('<p class="sig-label text-[var(--sig-text-muted)]">No type signals</p>'),ga=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ba=T('<p class="sig-label text-[var(--sig-text-muted)]">No source signals</p>'),xa=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),_a=T('<p class="sig-label text-[var(--sig-text-muted)]">No tags this era</p>'),ha=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ya=T('<p class="mt-2 sig-label text-[var(--sig-text-muted)]">No memories saved in this era yet.</p>'),Ma=T('<article class="timeline-top-card rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-2 svelte-1acbaf"><div class="timeline-top-card-head svelte-1acbaf"><div class="timeline-top-card-icon svelte-1acbaf"> </div> <div class="timeline-top-card-title-wrap svelte-1acbaf"><p class="timeline-top-card-title svelte-1acbaf"> </p> <p class="timeline-top-card-subtitle svelte-1acbaf"> </p></div></div> <p class="timeline-top-card-content mt-1 text-[11px] leading-relaxed text-[var(--sig-text)] line-clamp-4 svelte-1acbaf"> </p> <div class="timeline-top-card-meta mt-auto flex items-center justify-between gap-2 pt-2 text-[11px] text-[var(--sig-text-muted)] svelte-1acbaf"><p class="timeline-top-card-badge svelte-1acbaf"> </p> <p> </p></div></article>'),wa=T('<div class="timeline-top-card-grid mt-2 svelte-1acbaf"></div>'),ka=T('<div class="timeline-stack flex flex-1 min-h-0 flex-col gap-3 svelte-1acbaf"><section class="timeline-hero rounded-xl border border-[var(--sig-border)] p-3 overflow-hidden svelte-1acbaf"><div class="timeline-hero-grid svelte-1acbaf"><div class="min-w-0"><h2 class="timeline-hero-title svelte-1acbaf">Signet Evolution Timeline</h2> <p class="timeline-hero-subtitle svelte-1acbaf">Track added, evolved, and pinned memories across recap eras.</p></div> <div class="timeline-hero-metrics svelte-1acbaf"><div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Agent skills used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">MCP servers used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Average importance</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Pinned</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div></div></div></section> <div class="timeline-content-split flex-1 min-h-0 gap-3 svelte-1acbaf"><section class="timeline-detail-panel flex min-h-0 flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-[10.5px] border-2 border-[var(--sig-border-strong)] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="--panel-pad: 0.75rem;"><div class="timeline-era-head svelte-1acbaf"><div class="timeline-era-title-row svelte-1acbaf"><p class="sig-heading timeline-era-title svelte-1acbaf"> <span class="timeline-era-title-range svelte-1acbaf"> </span></p> <div class="timeline-era-controls flex items-center gap-1 svelte-1acbaf"><!> <div role="tablist" aria-orientation="horizontal" class="flex items-center gap-1"></div> <!> <!></div></div></div> <div class="timeline-summary-grid svelte-1acbaf"><div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Added</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Tracked events captured</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Evolved</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Strengthened</span></p></div></div> <div class="timeline-mix-grid svelte-1acbaf"><div class="timeline-mix-card timeline-mix-card--type p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Type mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--source p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Source mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--tags p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Top tags</p> <!></div></div></section> <section class="timeline-top-panel rounded-[10.5px] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="border: 0.87px solid var(--sig-border);"><div class="flex items-center justify-between gap-2"><p class="sig-label text-[var(--sig-text-bright)]">Top Four Memories</p> <p class="text-[11px] text-[var(--sig-text-bright)]"> </p></div> <!></section></div></div>'),Ta=T('<p class="sig-label text-[var(--sig-danger)]"> </p>'),Sa=T('<div class="timeline-shell flex flex-col flex-1 min-h-0 overflow-hidden bg-[var(--sig-bg)] svelte-1acbaf" role="region" aria-label="Memory timeline. Use left and right arrows to move through eras."><!> <div class="flex flex-1 min-h-0 flex-col gap-3 p-3 bg-[var(--sig-bg)]"><!> <!></div></div>');function $a(et,V){Gt(V,!0);const tt="h-8 px-3 rounded-lg border text-[10px] uppercase tracking-[0.08em] font-mono transition-colors";let X=$(!1),z=$(null),N=$(Y([])),S=$(0),Q=$(Y({})),ee=$(Y({})),te=$(Y({})),I=$(null);const p=P(()=>t(N)[t(S)]??null),ye=P(()=>t(p)?t(Q)[t(p).rangeKey]??0:0);function at(e){return e.sourceBreakdown.filter(l=>Me(l.key)).length}function Me(e){const s=e.trim().toLowerCase();return s?!!(/\bmcp\b/.test(s)||/\btool[-\s]?servers?\b/.test(s)||s.includes("model context protocol")||s.includes("model-context-protocol")||s.includes("modelcontextprotocol")):!1}const we=P(()=>t(p)?Math.max(t(ee)[t(p).rangeKey]??0,at(t(p))):0),ke=P(()=>t(p)?t(te)[t(p).rangeKey]??[]:[]);function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rt(e){if(Array.isArray(e))return e.filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>s.length>0);if(typeof e=="string"){const s=e.trim();if(!s)return[];if(s.startsWith("[")&&s.endsWith("]"))try{const l=JSON.parse(s);if(Array.isArray(l))return l.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0)}catch{}return s.split(",").map(l=>l.trim()).filter(l=>l.length>0)}return[]}function st(e,s,l,n){const A=l.map(i=>i.name.trim().toLowerCase()).filter(i=>i.length>0).map(i=>({name:i,pattern:new RegExp(`\\b${Te(i)}\\b`,"i")})),D=n.flatMap(i=>{const m=[];for(const y of[i.name,i.id]){const M=y.trim().toLowerCase();M.length>0&&m.push({serverId:i.id,pattern:new RegExp(`\\b${Te(M)}\\b`,"i")})}return m}),U=e.map(i=>({bucket:i,skillSet:new Set,mcpSet:new Set,hasMcpSignal:!1,startMs:Date.parse(i.start),endMs:Date.parse(i.end)}));for(const i of s){const m=Date.parse(i.created_at);if(!Number.isFinite(m))continue;const y=rt(i.tags).join(" "),M=[i.content,i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase(),L=[i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase();for(const g of U){if(m<g.startMs||m>g.endMs)continue;for(const K of A)K.pattern.test(M)&&g.skillSet.add(K.name);let G=!1;for(const K of D)K.pattern.test(M)&&(g.mcpSet.add(K.serverId),G=!0);!G&&Me(L)&&(g.hasMcpSignal=!0)}}const C={},v={};for(const i of U)C[i.bucket.rangeKey]=i.skillSet.size,v[i.bucket.rangeKey]=i.mcpSet.size>0?i.mcpSet.size:i.hasMcpSignal?1:0;return{skillUsage:C,mcpUsage:v}}function H(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?0:e>=1?1:e}function it(e,s){const l=new Map;for(const v of e){const i=Date.parse(v.start),m=Date.parse(v.end);!Number.isFinite(i)||!Number.isFinite(m)||l.set(v.rangeKey,{startMs:i,endMs:m})}const n=l.get("today")??null,A=l.get("last_week")??null;function D(v){const i=l.get(v.rangeKey),m=Date.parse(v.start),y=Date.parse(v.end),M={startMs:Number.isFinite(m)?m:Number.NEGATIVE_INFINITY,endMs:Number.isFinite(y)?y:Number.POSITIVE_INFINITY};if(!i)return M;const L=i.startMs;let g=i.endMs;return v.rangeKey==="last_week"&&n?g=Math.min(g,n.startMs-1):v.rangeKey==="one_month"&&(A?g=Math.min(g,A.startMs-1):n&&(g=Math.min(g,n.startMs-1))),g<L?M:{startMs:L,endMs:g}}const U=e.map(v=>{const i=D(v);return{bucket:v,startMs:i.startMs,endMs:i.endMs,candidates:[]}});for(const v of s){const i=Date.parse(v.created_at);if(Number.isFinite(i))for(const m of U){if(i<m.startMs||i>m.endMs)continue;const y=Math.max(1,m.endMs-m.startMs),M=Math.max(0,Math.min(1,(i-m.startMs)/y)),L=H(v.importance)*100+(v.pinned?24:0)+M*8;m.candidates.push({memory:v,score:L,createdAt:i})}}const C={};for(const v of U)v.candidates.sort((i,m)=>{if(m.score!==i.score)return m.score-i.score;const y=H(i.memory.importance),M=H(m.memory.importance);return M!==y?M-y:m.createdAt!==i.createdAt?m.createdAt-i.createdAt:i.memory.id.localeCompare(m.memory.id)}),C[v.bucket.rangeKey]=v.candidates.slice(0,4).map(i=>i.memory);return C}function q(e=1){t(N).length!==0&&b(S,Math.min(t(N).length-1,t(S)+e),!0)}function W(e=1){t(N).length!==0&&b(S,Math.max(0,t(S)-e),!0)}function ae(e){V.ontimelinegeneratedforchange&&V.ontimelinegeneratedforchange(e)}async function nt(){b(X,!0),b(z,null);try{const e=ra(5e3,0),[s,l,n,A]=await Promise.all([sa({fallbackMemories:e.then(U=>U.memories)}),ia(),na(),e]);b(N,s.buckets,!0),ae(s.generatedFor);const D=st(s.buckets,A.memories,l,n.servers);b(Q,D.skillUsage,!0),b(ee,D.mcpUsage,!0),b(te,it(s.buckets,A.memories),!0),b(S,0),s.error&&b(z,s.error,!0)}catch{b(z,"Failed to load timeline."),b(N,[],!0),ae(""),b(Q,{},!0),b(ee,{},!0),b(te,{},!0)}finally{b(X,!1)}}function ot(e,s){const l={month:"short",day:"numeric",timeZone:"UTC"},n=new Date(e).toLocaleDateString("en-US",l),A=new Date(s).toLocaleDateString("en-US",{...l,year:"numeric"});return`${n} - ${A}`}function lt(e,s){const l=Date.parse(e);if(!Number.isFinite(l))return"Unknown";const n=new Date(l);return s==="today"?n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",timeZone:"UTC"}):n.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"})}function ct(e){return`${Math.round(H(e)*100)}%`}function re(e,s,l){return e===1?s:l}function dt(e){const s=e.split(/[-_.\s]+/).map(l=>l.trim()).filter(l=>l.length>0);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():e.slice(0,2).toUpperCase()||"M"}function vt(e){return e.rangeKey==="last_week"?"Week":e.rangeKey==="one_month"?"Month":"Today"}function mt(e){if(Qe.activeTab!=="timeline")return;const s=e.target;if(s instanceof HTMLElement){const n=s.tagName;if(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||s.isContentEditable)return}if(s instanceof HTMLElement&&s.hasAttribute("data-memory-tab")){if(e.key==="ArrowDown"){e.preventDefault();const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus()}return}if(s instanceof HTMLElement&&s.closest('.timeline-era-controls [role="tablist"]')){if(e.key==="ArrowUp"){e.preventDefault(),W(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowDown"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowLeft"){e.preventDefault(),W(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);return}if(e.key==="ArrowLeft"){e.preventDefault(),W(e.shiftKey?3:1);return}if(e.key==="PageDown"){e.preventDefault(),q(3);return}if(e.key==="PageUp"){e.preventDefault(),W(3);return}}Ot(()=>(nt(),()=>{ae("")}));var J=Sa();Jt("keydown",Yt,mt);var Se=r(J);oa(Se,{title:"Timeline",children:(e,s)=>{la(e,{group:"memory",get tabs(){return aa},get activeTab(){return Qe.activeTab},onselect:(l,n)=>ta(n)})}});var Ae=c(Se,2),Ee=r(Ae);{var pt=e=>{var s=ma();_(e,s)},ut=e=>{var s=pa();_(e,s)},ft=e=>{var s=ka(),l=r(s),n=r(l),A=c(r(n),2),D=r(A),U=c(r(D),2),C=r(U);a(U),a(D);var v=c(D,2),i=c(r(v),2),m=r(i);a(i),a(v);var y=c(v,2),M=c(r(y),2),L=r(M);a(M),a(y);var g=c(y,2),G=c(r(g),2),K=r(G);a(G),a(g),a(A),a(n),a(l);var De=c(l,2),se=r(De),ie=r(se),Ue=r(ie),ne=r(Ue),Ne=r(ne),Be=c(Ne),xt=r(Be,!0);a(Be),a(ne);var Le=c(ne,2),$e=r(Le);{let o=P(()=>t(S)<=0);he($e,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>W(),get disabled(){return t(o)},title:"Move to newer era",children:(d,x)=>{ca(d,{class:"size-3.5"})},$$slots:{default:!0}})}var oe=c($e,2);O(oe,23,()=>t(N),o=>o.eraIndex,(o,d,x)=>{var f=ua(),w=r(f,!0);a(f),R(h=>{Xt(f,1,`${tt} ${t(x)===t(S)?"border-[var(--sig-accent)] bg-[color-mix(in_srgb,var(--sig-surface-raised)_76%,transparent)] text-[var(--sig-text-bright)]":"border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"}`,"svelte-1acbaf"),Xe(f,"aria-selected",t(x)===t(S)),Xe(f,"tabindex",t(x)===t(S)?0:-1),u(w,h)},[()=>vt(t(d))]),Qt("click",f,()=>{b(S,t(x),!0)}),_(o,f)}),a(oe);var Ie=c(oe,2);{let o=P(()=>t(S)>=t(N).length-1);he(Ie,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>q(),get disabled(){return t(o)},title:"Move to older era",children:(d,x)=>{da(d,{class:"size-3.5"})},$$slots:{default:!0}})}var _t=c(Ie,2);he(_t,{variant:"ghost",size:"sm",class:"h-8 px-2 sig-label",onclick:()=>{b(S,0)},title:"Jump to today",children:(o,d)=>{va(o,{class:"size-3.5"})},$$slots:{default:!0}}),a(Le),a(Ue),a(ie);var le=c(ie,2),ce=r(le),Ce=r(ce),Ke=r(Ce),ht=r(Ke,!0);a(Ke),Z(2),a(Ce),a(ce);var de=c(ce,2),je=r(de),Re=r(je),yt=r(Re,!0);a(Re),Z(2),a(je),a(de);var ve=c(de,2),Fe=r(ve),Pe=r(Fe),Mt=r(Pe,!0);a(Pe),Z(2),a(Fe),a(ve);var ze=c(ve,2),He=r(ze),qe=r(He),wt=r(qe,!0);a(qe),Z(2),a(He),a(ze),a(le);var We=c(le,2),me=r(We),kt=c(r(me),2);{var Tt=o=>{var d=fa();_(o,d)},St=o=>{var d=be(),x=xe(d);O(x,17,()=>t(p).typeBreakdown,_e,(f,w)=>{var h=ga(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),R(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};F(kt,o=>{t(p).typeBreakdown.length===0?o(Tt):o(St,-1)})}a(me);var pe=c(me,2),At=c(r(pe),2);{var Et=o=>{var d=ba();_(o,d)},Dt=o=>{var d=be(),x=xe(d);O(x,17,()=>t(p).sourceBreakdown,_e,(f,w)=>{var h=xa(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),R(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};F(At,o=>{t(p).sourceBreakdown.length===0?o(Et):o(Dt,-1)})}a(pe);var Ge=c(pe,2),Ut=c(r(Ge),2);{var Nt=o=>{var d=_a();_(o,d)},Bt=o=>{var d=be(),x=xe(d);O(x,17,()=>t(p).topTags,_e,(f,w)=>{var h=ha(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),R(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};F(Ut,o=>{t(p).topTags.length===0?o(Nt):o(Bt,-1)})}a(Ge),a(We),a(se);var Oe=c(se,2),ue=r(Oe),Je=c(r(ue),2),Lt=r(Je,!0);a(Je),a(ue);var $t=c(ue,2);{var It=o=>{var d=ya();_(o,d)},Ct=o=>{var d=wa();O(d,21,()=>t(ke),x=>x.id,(x,f)=>{var w=Ma(),h=r(w),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E),Kt=r(B,!0);a(B);var Ye=c(B,2),jt=r(Ye,!0);a(Ye),a(E),a(h);var fe=c(h,2),Rt=r(fe,!0);a(fe);var Ze=c(fe,2),ge=r(Ze),Ft=r(ge);a(ge);var Ve=c(ge,2),Pt=r(Ve,!0);a(Ve),a(Ze),a(w),R((zt,Ht,qt,Wt)=>{u(j,zt),u(Kt,t(f).who||"Unknown source"),u(jt,Ht),u(Rt,t(f).content),u(Ft,`imp ${qt??""}`),u(Pt,Wt)},[()=>dt(t(f).who||t(f).type||"memory"),()=>t(f).type?.trim()||"memory",()=>ct(t(f).importance),()=>lt(t(f).created_at,t(p).rangeKey)]),_(x,w)}),a(d),_(o,d)};F($t,o=>{t(ke).length===0?o(It):o(Ct,-1)})}a(Oe),a(De),a(s),R((o,d,x,f,w)=>{u(C,`${t(ye)??""} ${o??""}`),u(m,`${t(we)??""} ${d??""}`),u(L,`${x??""}% avg`),u(K,`${t(p).pinned??""} ${f??""}`),u(Ne,`${t(p).label??""}: `),u(xt,w),u(ht,t(p).memoriesAdded),u(yt,t(p).trackedEvents),u(Mt,t(p).evolved),u(wt,t(p).strengthened),u(Lt,t(p).label)},[()=>re(t(ye),"skill","skills"),()=>re(t(we),"server","servers"),()=>Math.round(H(t(p).avgImportance)*100),()=>re(t(p).pinned,"card","cards"),()=>ot(t(p).start,t(p).end)]),_(e,s)};F(Ee,e=>{t(X)?e(pt):t(N).length===0?e(ut,1):t(p)&&e(ft,2)})}var gt=c(Ee,2);{var bt=e=>{var s=Ta(),l=r(s,!0);a(s),R(()=>u(l,t(z))),_(e,s)};F(gt,e=>{t(z)&&e(bt)})}a(Ae),a(J),Zt(J,e=>b(I,e),()=>t(I)),_(et,J),Vt()}ea(["click"]);export{$a as default};
@@ -1 +1 @@
1
- import{p as n,s as d,c,f as h,a as i,n as f,b as l,d as m,r as u}from"./ByWF7pVd.js";import{I as $}from"./CthgYI5N.js";function g(e,s){n(s,!0);let t=u(s,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];$(e,d({name:"refresh-cw"},()=>t,{get iconNode(){return r},children:(o,v)=>{var a=c(),p=h(a);i(p,()=>s.children??f),l(o,a)},$$slots:{default:!0}})),m()}export{g as R};
1
+ import{p as n,s as d,c,f as h,a as i,n as f,b as l,d as m,r as u}from"./ByWF7pVd.js";import{I as $}from"./CbJNabjP.js";function g(e,s){n(s,!0);let t=u(s,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];$(e,d({name:"refresh-cw"},()=>t,{get iconNode(){return r},children:(o,v)=>{var a=c(),p=h(a);i(p,()=>s.children??f),l(o,a)},$$slots:{default:!0}})),m()}export{g as R};
@@ -1,4 +1,4 @@
1
- import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as _,y as h,z as m,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./ByWF7pVd.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./CthgYI5N.js";import{P as er}from"./BLfsll1n.js";import{T as rr}from"./F2BE-qZF.js";import{B as sr}from"./BBvZ6iYI.js";import{P as tr,a as ar,b as nr}from"./BVvl59fd.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
1
+ import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as _,y as h,z as m,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./ByWF7pVd.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./CbJNabjP.js";import{P as er}from"./BLfsll1n.js";import{T as rr}from"./F2BE-qZF.js";import{B as sr}from"./DAyPju4W.js";import{P as tr,a as ar,b as nr}from"./Bpa6cHRK.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
2
2
  border border-[var(--sig-border)]
3
3
  bg-[var(--sig-surface-raised)]"><span></span> <div class="flex flex-col gap-0.5 min-w-0 flex-1"><span class="text-[12px] font-medium text-[var(--sig-text-bright)]
4
4
  font-display tracking-[0.04em]"> </span> <span class="sig-eyebrow truncate"> </span></div> <div class="flex flex-col items-end gap-0.5 shrink-0"><span> </span> <span class="sig-eyebrow"><!></span></div></div>`),lr=x(`<div class="flex items-center justify-center py-8
@@ -1 +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,L as oe,$ as Vt,j as n,t as i,l as r,w as Fe,k as M,i as e,y as K,z as N,D as et,O as zt,M as $,v as s,ai as U,u as le,A as tt,B as qt,J as st,m as b,N as Kt,x as at}from"./ByWF7pVd.js";import{I as Se,aj as Gt,ak as Bt,al as jt,n as Xt,am as G,an as Jt,t as S,ao as Wt,ap as Qt,aq as Yt,ar as Zt}from"./CthgYI5N.js";import{C as rt}from"./CL9vUgKT.js";import{I as be}from"./BEOXbd-S.js";import{P as es}from"./CkX4TlnC.js";import{R as ts}from"./Cq-DShaa.js";import{T as ss}from"./D2TpJv7L.js";import{C as as}from"./CBAbYi2A.js";import{C as rs}from"./DlZLRiuv.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([])),B=h("");const j=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 Bt(),!0),e(p).connected){const a=await jt();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 Jt(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 Wt(t)?(S(`Secret ${t} deleted`,"success"),await me()):S("Failed to delete secret","error"),s(E,null)}async function it(){if(!e(B).trim()){S("Service account token is required","error");return}s(pe,!0);const t=await Qt(e(B).trim());if(s(pe,!1),!t.success){S(t.error??"Failed to connect 1Password","error");return}s(B,""),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:j.prefix.trim()||"OP",overwrite:j.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),K(A=>{P.disabled=A,N(x,e(_)?"ADDING...":"ADD")},[()=>e(_)||!e(w).trim()||!e(O).trim()]),$("click",P,ot),v(t,a)};M(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 J=i(H,2),ge=n(J,!0);r(J);var q=i(J,4),te=n(q);{var se=T=>{var Re=us();v(T,Re)},Le=T=>{ss(T,{class:"size-3"})};M(te,T=>{e(E)===e(y)?T(se):T(Le,-1)})}r(q),r(x),K(()=>{A=qt(x,1,"secret-item svelte-k8hi4h",null,A,{"secret-item--focused":e(f)==="list"&&e(l)===P}),N(ge,e(y)),q.disabled=e(E)===e(y),et(q,"aria-label",`Delete secret ${e(y)}`)}),$("keydown",x,T=>ft(T,P)),oe("focus",x,()=>pt(P)),$("click",q,()=>lt(e(y))),v(g,x)}),v(t,a)};M(bt,t=>{e(D)?t(yt):e(d).length===0?t(Et,1):t(Pt,-1)})}r(ze),r(Ne);var qe=i(Ne,2),Me=n(qe),ee=n(Me),Ke=n(ee);{var xt=t=>{as(t,{class:"secrets-panel-chevron"})},St=t=>{rs(t,{class:"secrets-panel-chevron"})};M(Ke,t=>{e(X)?t(xt):t(St,-1)})}var $e=i(Ke,4),Dt=n($e,!0);r($e),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(Me);var At=i(Me,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();K(()=>N(F,`· ${e(p).vaultCount??""} vaults`)),v(I,F)};M(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();K(()=>N(F,`· ${e(p).error??""}`)),v(I,F)};M(Q,I=>{e(p).error&&I(re)})}r(k),v(c,k)},P=c=>{var k=ms();v(c,k)};M(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(B)},set value(k){s(B,k,!0)}})}var H=i(A,2),J=n(H);ls(J,{class:"size-3"});var ge=i(J,2),q=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 j.prefix},set value(c){j.prefix=c}}),r(se);var T=i(se,2),Re=n(T);rt(Re,{id:"op-overwrite",class:"secrets-op-checkbox",get checked(){return j.overwrite},set checked(c){j.overwrite=c}}),Fe(2),r(T),r(te);var Be=i(te,2);{var Mt=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),K(()=>N(Ft,e(I).name)),v(re,F)}),r(Q),r(k),v(c,k)},$t=c=>{var k=ws();v(c,k)};M(Be,c=>{e(p).connected&&e(Y).length>0?c(Mt):e(p).connected&&c($t,1)})}var je=i(Be,2),W=n(je),Xe=n(W);ns(Xe,{class:"size-3"});var Je=i(Xe,2),Lt=n(Je,!0);r(Je),r(W);var ae=i(W,2),We=n(ae);is(We,{class:"size-3"});var Qe=i(We,2),Rt=n(Qe,!0);r(Qe),r(ae),r(je),Fe(2),r(a),K(c=>{H.disabled=c,N(q,e(pe)?"...":e(p).connected?"UPDATE":"CONNECT"),W.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(B).trim()]),$("keydown",a,ut),$("click",H,it),oe("focus",H,()=>Z(2)),$("click",W,dt),oe("focus",W,()=>Z(3)),$("click",ae,ct),oe("focus",ae,()=>Z(4)),v(t,a)};M(At,t=>{e(X)&&t(Tt)})}r(qe),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)};M(It,t=>{e(R)?t(Ot,-1):t(Nt)})}r(Ge),r(De),K(()=>{N(kt,`${e(d).length??""} STORED`),N(gt,e(d).length),et(ee,"aria-expanded",e(X)),zt($e,`color: ${e(mt)??""}`),N(Dt,e(ht)),we.disabled=e(ue)}),$("click",Te,()=>{s(R,!e(R))}),$("click",ee,()=>{s(X,!e(X)),e(X)||(s(o,-1),s(f,"list"))}),$("click",we,()=>ke()),v(L,De),ve()}Kt(["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,L as oe,$ as Vt,j as n,t as i,l as r,w as Fe,k as M,i as e,y as K,z as N,D as et,O as zt,M as $,v as s,ai as U,u as le,A as tt,B as qt,J as st,m as b,N as Kt,x as at}from"./ByWF7pVd.js";import{I as Se,aj as Gt,ak as Bt,al as jt,n as Xt,am as G,an as Jt,t as S,ao as Wt,ap as Qt,aq as Yt,ar as Zt}from"./CbJNabjP.js";import{C as rt}from"./B0YcO9dg.js";import{I as be}from"./DUMKUsLr.js";import{P as es}from"./z_eJ2qhK.js";import{R as ts}from"./B6met90I.js";import{T as ss}from"./DfU_VCv_.js";import{C as as}from"./jvq5-tRR.js";import{C as rs}from"./CQHfxPVm.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([])),B=h("");const j=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 Bt(),!0),e(p).connected){const a=await jt();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 Jt(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 Wt(t)?(S(`Secret ${t} deleted`,"success"),await me()):S("Failed to delete secret","error"),s(E,null)}async function it(){if(!e(B).trim()){S("Service account token is required","error");return}s(pe,!0);const t=await Qt(e(B).trim());if(s(pe,!1),!t.success){S(t.error??"Failed to connect 1Password","error");return}s(B,""),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:j.prefix.trim()||"OP",overwrite:j.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),K(A=>{P.disabled=A,N(x,e(_)?"ADDING...":"ADD")},[()=>e(_)||!e(w).trim()||!e(O).trim()]),$("click",P,ot),v(t,a)};M(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 J=i(H,2),ge=n(J,!0);r(J);var q=i(J,4),te=n(q);{var se=T=>{var Re=us();v(T,Re)},Le=T=>{ss(T,{class:"size-3"})};M(te,T=>{e(E)===e(y)?T(se):T(Le,-1)})}r(q),r(x),K(()=>{A=qt(x,1,"secret-item svelte-k8hi4h",null,A,{"secret-item--focused":e(f)==="list"&&e(l)===P}),N(ge,e(y)),q.disabled=e(E)===e(y),et(q,"aria-label",`Delete secret ${e(y)}`)}),$("keydown",x,T=>ft(T,P)),oe("focus",x,()=>pt(P)),$("click",q,()=>lt(e(y))),v(g,x)}),v(t,a)};M(bt,t=>{e(D)?t(yt):e(d).length===0?t(Et,1):t(Pt,-1)})}r(ze),r(Ne);var qe=i(Ne,2),Me=n(qe),ee=n(Me),Ke=n(ee);{var xt=t=>{as(t,{class:"secrets-panel-chevron"})},St=t=>{rs(t,{class:"secrets-panel-chevron"})};M(Ke,t=>{e(X)?t(xt):t(St,-1)})}var $e=i(Ke,4),Dt=n($e,!0);r($e),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(Me);var At=i(Me,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();K(()=>N(F,`· ${e(p).vaultCount??""} vaults`)),v(I,F)};M(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();K(()=>N(F,`· ${e(p).error??""}`)),v(I,F)};M(Q,I=>{e(p).error&&I(re)})}r(k),v(c,k)},P=c=>{var k=ms();v(c,k)};M(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(B)},set value(k){s(B,k,!0)}})}var H=i(A,2),J=n(H);ls(J,{class:"size-3"});var ge=i(J,2),q=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 j.prefix},set value(c){j.prefix=c}}),r(se);var T=i(se,2),Re=n(T);rt(Re,{id:"op-overwrite",class:"secrets-op-checkbox",get checked(){return j.overwrite},set checked(c){j.overwrite=c}}),Fe(2),r(T),r(te);var Be=i(te,2);{var Mt=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),K(()=>N(Ft,e(I).name)),v(re,F)}),r(Q),r(k),v(c,k)},$t=c=>{var k=ws();v(c,k)};M(Be,c=>{e(p).connected&&e(Y).length>0?c(Mt):e(p).connected&&c($t,1)})}var je=i(Be,2),W=n(je),Xe=n(W);ns(Xe,{class:"size-3"});var Je=i(Xe,2),Lt=n(Je,!0);r(Je),r(W);var ae=i(W,2),We=n(ae);is(We,{class:"size-3"});var Qe=i(We,2),Rt=n(Qe,!0);r(Qe),r(ae),r(je),Fe(2),r(a),K(c=>{H.disabled=c,N(q,e(pe)?"...":e(p).connected?"UPDATE":"CONNECT"),W.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(B).trim()]),$("keydown",a,ut),$("click",H,it),oe("focus",H,()=>Z(2)),$("click",W,dt),oe("focus",W,()=>Z(3)),$("click",ae,ct),oe("focus",ae,()=>Z(4)),v(t,a)};M(At,t=>{e(X)&&t(Tt)})}r(qe),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)};M(It,t=>{e(R)?t(Ot,-1):t(Nt)})}r(Ge),r(De),K(()=>{N(kt,`${e(d).length??""} STORED`),N(gt,e(d).length),et(ee,"aria-expanded",e(X)),zt($e,`color: ${e(mt)??""}`),N(Dt,e(ht)),we.disabled=e(ue)}),$("click",Te,()=>{s(R,!e(R))}),$("click",ee,()=>{s(X,!e(X)),e(X)||(s(o,-1),s(f,"list"))}),$("click",we,()=>ke()),v(L,De),ve()}Kt(["click","keydown"]);export{Os as default};
@@ -1 +1 @@
1
- import{p,s as d,c as i,f as c,a as l,n as m,b as f,d as h,r as u}from"./ByWF7pVd.js";import{I as $}from"./CthgYI5N.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M12 17v5"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"}]];$(e,d({name:"pin"},()=>o,{get iconNode(){return t},children:(n,v)=>{var s=i(),r=c(s);l(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
1
+ import{p,s as d,c as i,f as c,a as l,n as m,b as f,d as h,r as u}from"./ByWF7pVd.js";import{I as $}from"./CbJNabjP.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M12 17v5"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"}]];$(e,d({name:"pin"},()=>o,{get iconNode(){return t},children:(n,v)=>{var s=i(),r=c(s);l(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
@@ -1 +1 @@
1
- import{p,s as d,c,f as l,a as i,n as f,b as m,d as h,r as u}from"./ByWF7pVd.js";import{I as $}from"./CthgYI5N.js";function F(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];$(e,d({name:"folder"},()=>o,{get iconNode(){return r},children:(t,v)=>{var s=c(),n=l(s);i(n,()=>a.children??f),m(t,s)},$$slots:{default:!0}})),h()}export{F};
1
+ import{p,s as d,c,f as l,a as i,n as f,b as m,d as h,r as u}from"./ByWF7pVd.js";import{I as $}from"./CbJNabjP.js";function F(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];$(e,d({name:"folder"},()=>o,{get iconNode(){return r},children:(t,v)=>{var s=c(),n=l(s);i(n,()=>a.children??f),m(t,s)},$$slots:{default:!0}})),h()}export{F};
@@ -1,4 +1,4 @@
1
- import{p as Fe,g as Ue,F as We,j as v,a as Ke,n as Xe,l as s,G as Ye,b as t,d as Le,r as Ze,m as c,q as ea,t as e,k as I,i as a,M as te,o as Y,v as M,y as p,z as y,u as Me,f as P,A as ce,J as fe,w as G,x as H,D as ue,c as pe,a5 as ge,B as me,N as aa}from"./ByWF7pVd.js";import{c as ra,N as ta,O as sa,P as oa,S as x,Q as _e,R as he}from"./CthgYI5N.js";import{P as la}from"./BLfsll1n.js";import{a as xe,C as be}from"./DFwxeRz4.js";import{C as $e,a as we}from"./CMGgymFV.js";import{C as ye}from"./B4P9133g.js";import{R as ia}from"./Cq-DShaa.js";var da=c("<div><!></div>");function Pe(Ae,q){Fe(q,!0);let z=Ue(q,"ref",15,null),S=Ze(q,["$$slots","$$events","$$legacy","ref","class","children"]);var k=da();We(k,V=>({"data-slot":"card-action",class:V,...S}),[()=>ra("col-start-2 row-span-2 row-start-1 self-start justify-self-end",q.class)]);var _=v(k);Ke(_,()=>q.children??Xe),s(k),Ye(k,V=>z(V),()=>z()),t(Ae,k),Le()}var na=c('<span class="sig-meta whitespace-nowrap text-[var(--sig-text-muted)]"> </span>'),va=c('<div class="hidden h-full min-h-0 gap-4 2xl:flex"><div class="w-[21rem] min-w-[21rem] border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div> <div class="min-w-0 flex-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div> <div class="min-w-0 flex-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div></div> <div class="flex h-full min-h-0 flex-col gap-3 2xl:hidden"><div class="flex gap-2 border-b border-[var(--sig-border)] pb-3"><!> <!> <!></div> <div class="border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div></div>',1),ca=c(`<div class="flex h-full min-h-0 items-center justify-center"><div class="border border-[var(--sig-border-strong)] bg-[var(--sig-surface)]
1
+ import{p as Fe,g as Ue,F as We,j as v,a as Ke,n as Xe,l as s,G as Ye,b as t,d as Le,r as Ze,m as c,q as ea,t as e,k as I,i as a,M as te,o as Y,v as M,y as p,z as y,u as Me,f as P,A as ce,J as fe,w as G,x as H,D as ue,c as pe,a5 as ge,B as me,N as aa}from"./ByWF7pVd.js";import{c as ra,N as ta,O as sa,P as oa,S as x,Q as _e,R as he}from"./CbJNabjP.js";import{P as la}from"./BLfsll1n.js";import{a as xe,C as be}from"./CQTju_4O.js";import{C as $e,a as we}from"./CnEMwX_E.js";import{C as ye}from"./DvlgnPle.js";import{R as ia}from"./B6met90I.js";var da=c("<div><!></div>");function Pe(Ae,q){Fe(q,!0);let z=Ue(q,"ref",15,null),S=Ze(q,["$$slots","$$events","$$legacy","ref","class","children"]);var k=da();We(k,V=>({"data-slot":"card-action",class:V,...S}),[()=>ra("col-start-2 row-span-2 row-start-1 self-start justify-self-end",q.class)]);var _=v(k);Ke(_,()=>q.children??Xe),s(k),Ye(k,V=>z(V),()=>z()),t(Ae,k),Le()}var na=c('<span class="sig-meta whitespace-nowrap text-[var(--sig-text-muted)]"> </span>'),va=c('<div class="hidden h-full min-h-0 gap-4 2xl:flex"><div class="w-[21rem] min-w-[21rem] border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div> <div class="min-w-0 flex-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div> <div class="min-w-0 flex-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div></div> <div class="flex h-full min-h-0 flex-col gap-3 2xl:hidden"><div class="flex gap-2 border-b border-[var(--sig-border)] pb-3"><!> <!> <!></div> <div class="border border-[var(--sig-border)] bg-[var(--sig-surface)] p-4"><!> <!> <!> <div class="space-y-2"></div></div></div>',1),ca=c(`<div class="flex h-full min-h-0 items-center justify-center"><div class="border border-[var(--sig-border-strong)] bg-[var(--sig-surface)]
2
2
  px-6 py-5 text-center"><div class="sig-heading text-[var(--sig-text-bright)]">Project Unavailable</div> <p class="mt-2 max-w-md font-mono text-[11px]
3
3
  leading-5 text-[var(--sig-text-muted)]">Couldn&apos;t load README, roadmap, or changelog.</p> <button class="mt-4 text-[11px] uppercase tracking-[0.08em]
4
4
  font-mono text-[var(--sig-accent)]
@@ -1 +1 @@
1
- import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,E as z,i as l,b as u,u as h,d as E,r as j}from"./ByWF7pVd.js";import{c as f}from"./CthgYI5N.js";function C(g,e){$(e,!0);let a=c(e,"ref",15,null),r=c(e,"checked",15,!1),p=j(e,["$$slots","$$events","$$legacy","ref","class","checked"]);var s=d(),b=o(s);{let k=h(()=>f("data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));i(b,()=>y,(m,v)=>{v(m,P({"data-slot":"switch",get class(){return l(k)}},()=>p,{get ref(){return a()},set ref(t){a(t)},get checked(){return r()},set checked(t){r(t)},children:(t,q)=>{var n=d(),w=o(n);{let x=h(()=>f("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"));i(w,()=>z,(_,S)=>{S(_,{"data-slot":"switch-thumb",get class(){return l(x)}})})}u(t,n)},$$slots:{default:!0}}))})}u(g,s),E()}export{C as S};
1
+ import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,E as z,i as l,b as u,u as h,d as E,r as j}from"./ByWF7pVd.js";import{c as f}from"./CbJNabjP.js";function C(g,e){$(e,!0);let a=c(e,"ref",15,null),r=c(e,"checked",15,!1),p=j(e,["$$slots","$$events","$$legacy","ref","class","checked"]);var s=d(),b=o(s);{let k=h(()=>f("data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));i(b,()=>y,(m,v)=>{v(m,P({"data-slot":"switch",get class(){return l(k)}},()=>p,{get ref(){return a()},set ref(t){a(t)},get checked(){return r()},set checked(t){r(t)},children:(t,q)=>{var n=d(),w=o(n);{let x=h(()=>f("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"));i(w,()=>z,(_,S)=>{S(_,{"data-slot":"switch-thumb",get class(){return l(x)}})})}u(t,n)},$$slots:{default:!0}}))})}u(g,s),E()}export{C as S};
@@ -1,4 +1,4 @@
1
- import{p as oa,g as Kt,o as Q,e as ma,Q as _a,v as n,c as Rt,f as E,h as I,j as r,l as t,t as a,k as $,y as m,z as u,b as l,i as e,w as D,x as H,B as Ut,M as dt,d as va,u as p,D as de,A as $t,m as c,N as xa,aO as Kr,aP as Wr,J as ba,q as tr,am as ar,O as mr,aQ as Is,s as zr,r as qr,aR as Cs,aS as Ls,aT as Yr,X as Fa,ad as jr,L as Oa,aU as Rr,n as Ka,I as ss,a5 as Ts,$ as ls,ai as cr,al as Ms}from"./ByWF7pVd.js";import{ba as Br,a3 as Ur,B as vt,a7 as Fr,t as Dt,bb as is,m as Rs,bc as As,bd as Es,be as Ns,bf as Ds,bg as zs,aj as qs,bh as js,bi as Bs,c as Or,bj as Us,bk as Fs,bl as Os,bm as Vs,bn as Gs,bo as Hs,bp as Ks,bq as Ws,br as Ys,l as Qs,bs as ns,bt as Zs,bu as Xs,bv as Js,bw as el,bx as tl,by as al,bz as rl,n as sl,am as Ir}from"./CthgYI5N.js";import{b as Qa,C as Za,a as Xa}from"./D-pdjKQP.js";import{I as pa}from"./BEOXbd-S.js";import{S as $a,a as Sa,b as Pa,c as pt}from"./CqLiu9zC.js";import{T as Vr,L as Ra}from"./BWGC1Do4.js";import{C as Da}from"./CBAbYi2A.js";import{R as Qr}from"./Cq-DShaa.js";import{B as Wa}from"./BBvZ6iYI.js";import{g as ll}from"./CppT_YPm.js";const Cr=["var(--sig-icon-bg-1)","var(--sig-icon-bg-2)","var(--sig-icon-bg-3)","var(--sig-icon-bg-4)","var(--sig-icon-bg-5)","var(--sig-icon-bg-6)"];function il(i){let s=0;for(const o of i)s=s*31+o.charCodeAt(0)&65535;return s}function Ar(i){const s=i.split(/[-_.\s]+/).filter(Boolean);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():i.slice(0,2).toUpperCase()}function Er(i){return Cr[Math.abs(il(i))%Cr.length]??Cr[0]}function nl(i){if(!i)return null;const s=i.match(/^https?:\/\/(?:www\.)?github\.com\/([a-zA-Z0-9._-]+)/);return s?.[1]?`https://github.com/${s[1]}.png?size=40`:null}function ol(i,s){return i?i==="modelcontextprotocol/servers"?"https://github.com/modelcontextprotocol.png?size=40":i==="github"&&s?.includes("/")?`https://github.com/${s.split("/")[0]}.png?size=40`:null:null}var vl=c('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),dl=c('<span class="detail-rank svelte-4mjdk4"> </span>'),cl=c('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),ul=c('<div class="detail-action svelte-4mjdk4"><!></div>'),fl=c('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),gl=c("<span>Signet Reviews</span> <!>",1),pl=c("<!> <!> <!> <!> <!>",1),ml=c("<!> <!>",1),_l=c('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),hl=c('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),yl=c('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),bl=c('<div class="review-list svelte-4mjdk4"></div>'),xl=c('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),wl=c("<!> <!>",1),kl=c('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),$l=c('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),Sl=c('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function Pl(i,s){oa(s,!0);const o="signet:marketplace:reviews:display-name";let x=Kt(s,"canInstall",3,!0),w=Kt(s,"installBusy",3,!1),X=Kt(s,"removeBusy",3,!1),M=Q("top"),U=Q(!1),L=Q(ma([])),ie=Q(!0),J=Q(ma(we())),Z=Q(5),ue=Q(""),z=Q(""),ee=Q(!1);const F=p(()=>`${e(Z)}/5`),ve=p(()=>{const ae=[...e(L)];return e(M)==="top"?ae.sort((ke,ge)=>ge.rating===ke.rating?ge.updatedAt.localeCompare(ke.updatedAt):ge.rating-ke.rating):e(M)==="good"?ae.filter(ke=>ke.rating>=4).sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt)):e(M)==="bad"?ae.filter(ke=>ke.rating<=2).sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt)):ae.sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt))});_a(()=>{if(!s.open||!s.item?.targetId){n(L,[],!0);return}n(M,"top"),Ke(s.item.targetId)});function we(){try{return localStorage.getItem(o)??""}catch{return""}}function fe(ae){try{localStorage.setItem(o,ae)}catch{}}function Me(ae){return ae==="1"?1:ae==="2"?2:ae==="3"?3:ae==="4"?4:5}async function Ke(ae){n(U,!0);try{const ke=await Br({targetType:"mcp",targetId:ae,limit:100});n(L,ke.reviews,!0)}finally{n(U,!1)}}async function Ze(){if(!s.item?.targetId)return;if(!s.canReview){Dt("Install or use this app before leaving a review.","error");return}const ae=e(J).trim(),ke=e(ue).trim(),ge=e(z).trim();if(!ae||!ke||!ge){Dt("Display name, title, and review are required","error");return}n(ee,!0);try{const je=await is({targetType:"mcp",targetId:s.item.targetId,displayName:ae,rating:e(Z),title:ke,body:ge});if(!je.success){Dt(je.error??"Failed to submit review","error");return}fe(ae),n(ue,""),n(z,""),Dt("Review posted","success"),await Ke(s.item.targetId)}finally{n(ee,!1)}}var De=Rt(),ze=E(De);I(ze,()=>Fr,(ae,ke)=>{ke(ae,{get open(){return s.open},onOpenChange:ge=>{ge||s.onclose()},children:(ge,je)=>{var Ce=Rt(),nt=E(Ce);I(nt,()=>Ur,(Lt,Ft)=>{Ft(Lt,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
1
+ import{p as oa,g as Kt,o as Q,e as ma,Q as _a,v as n,c as Rt,f as E,h as I,j as r,l as t,t as a,k as $,y as m,z as u,b as l,i as e,w as D,x as H,B as Ut,M as dt,d as va,u as p,D as de,A as $t,m as c,N as xa,aO as Kr,aP as Wr,J as ba,q as tr,am as ar,O as mr,aQ as Is,s as zr,r as qr,aR as Cs,aS as Ls,aT as Yr,X as Fa,ad as jr,L as Oa,aU as Rr,n as Ka,I as ss,a5 as Ts,$ as ls,ai as cr,al as Ms}from"./ByWF7pVd.js";import{ba as Br,a3 as Ur,B as vt,a7 as Fr,t as Dt,bb as is,m as Rs,bc as As,bd as Es,be as Ns,bf as Ds,bg as zs,aj as qs,bh as js,bi as Bs,c as Or,bj as Us,bk as Fs,bl as Os,bm as Vs,bn as Gs,bo as Hs,bp as Ks,bq as Ws,br as Ys,l as Qs,bs as ns,bt as Zs,bu as Xs,bv as Js,bw as el,bx as tl,by as al,bz as rl,n as sl,am as Ir}from"./CbJNabjP.js";import{b as Qa,C as Za,a as Xa}from"./D-pdjKQP.js";import{I as pa}from"./DUMKUsLr.js";import{S as $a,a as Sa,b as Pa,c as pt}from"./zW9h9Jix.js";import{T as Vr,L as Ra}from"./DZCny-Go.js";import{C as Da}from"./jvq5-tRR.js";import{R as Qr}from"./B6met90I.js";import{B as Wa}from"./DAyPju4W.js";import{g as ll}from"./CppT_YPm.js";const Cr=["var(--sig-icon-bg-1)","var(--sig-icon-bg-2)","var(--sig-icon-bg-3)","var(--sig-icon-bg-4)","var(--sig-icon-bg-5)","var(--sig-icon-bg-6)"];function il(i){let s=0;for(const o of i)s=s*31+o.charCodeAt(0)&65535;return s}function Ar(i){const s=i.split(/[-_.\s]+/).filter(Boolean);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():i.slice(0,2).toUpperCase()}function Er(i){return Cr[Math.abs(il(i))%Cr.length]??Cr[0]}function nl(i){if(!i)return null;const s=i.match(/^https?:\/\/(?:www\.)?github\.com\/([a-zA-Z0-9._-]+)/);return s?.[1]?`https://github.com/${s[1]}.png?size=40`:null}function ol(i,s){return i?i==="modelcontextprotocol/servers"?"https://github.com/modelcontextprotocol.png?size=40":i==="github"&&s?.includes("/")?`https://github.com/${s.split("/")[0]}.png?size=40`:null:null}var vl=c('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),dl=c('<span class="detail-rank svelte-4mjdk4"> </span>'),cl=c('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),ul=c('<div class="detail-action svelte-4mjdk4"><!></div>'),fl=c('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),gl=c("<span>Signet Reviews</span> <!>",1),pl=c("<!> <!> <!> <!> <!>",1),ml=c("<!> <!>",1),_l=c('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),hl=c('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),yl=c('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),bl=c('<div class="review-list svelte-4mjdk4"></div>'),xl=c('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),wl=c("<!> <!>",1),kl=c('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),$l=c('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),Sl=c('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function Pl(i,s){oa(s,!0);const o="signet:marketplace:reviews:display-name";let x=Kt(s,"canInstall",3,!0),w=Kt(s,"installBusy",3,!1),X=Kt(s,"removeBusy",3,!1),M=Q("top"),U=Q(!1),L=Q(ma([])),ie=Q(!0),J=Q(ma(we())),Z=Q(5),ue=Q(""),z=Q(""),ee=Q(!1);const F=p(()=>`${e(Z)}/5`),ve=p(()=>{const ae=[...e(L)];return e(M)==="top"?ae.sort((ke,ge)=>ge.rating===ke.rating?ge.updatedAt.localeCompare(ke.updatedAt):ge.rating-ke.rating):e(M)==="good"?ae.filter(ke=>ke.rating>=4).sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt)):e(M)==="bad"?ae.filter(ke=>ke.rating<=2).sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt)):ae.sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt))});_a(()=>{if(!s.open||!s.item?.targetId){n(L,[],!0);return}n(M,"top"),Ke(s.item.targetId)});function we(){try{return localStorage.getItem(o)??""}catch{return""}}function fe(ae){try{localStorage.setItem(o,ae)}catch{}}function Me(ae){return ae==="1"?1:ae==="2"?2:ae==="3"?3:ae==="4"?4:5}async function Ke(ae){n(U,!0);try{const ke=await Br({targetType:"mcp",targetId:ae,limit:100});n(L,ke.reviews,!0)}finally{n(U,!1)}}async function Ze(){if(!s.item?.targetId)return;if(!s.canReview){Dt("Install or use this app before leaving a review.","error");return}const ae=e(J).trim(),ke=e(ue).trim(),ge=e(z).trim();if(!ae||!ke||!ge){Dt("Display name, title, and review are required","error");return}n(ee,!0);try{const je=await is({targetType:"mcp",targetId:s.item.targetId,displayName:ae,rating:e(Z),title:ke,body:ge});if(!je.success){Dt(je.error??"Failed to submit review","error");return}fe(ae),n(ue,""),n(z,""),Dt("Review posted","success"),await Ke(s.item.targetId)}finally{n(ee,!1)}}var De=Rt(),ze=E(De);I(ze,()=>Fr,(ae,ke)=>{ke(ae,{get open(){return s.open},onOpenChange:ge=>{ge||s.onclose()},children:(ge,je)=>{var Ce=Rt(),nt=E(Ce);I(nt,()=>Ur,(Lt,Ft)=>{Ft(Lt,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
2
2
  !border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(h,O)=>{var Oe=Sl(),_t=E(Oe),zt=r(_t),Qt=r(zt),bt=r(Qt,!0);t(Qt);var qe=a(Qt,2);{var ht=Y=>{var pe=cl(),me=r(pe),Je=r(me,!0);t(me);var Ve=a(me,2),We=r(Ve,!0);t(Ve);var Re=a(Ve,2);{var $e=N=>{var _e=vl();l(N,_e)};$(Re,N=>{s.item.official&&N($e)})}var tt=a(Re,2);{var k=N=>{var _e=dl(),g=r(_e);t(_e),m(()=>u(g,`#${s.item.popularityRank??""}`)),l(N,_e)};$(tt,N=>{s.item.popularityRank!==null&&N(k)})}t(pe),m(()=>{u(Je,s.item.sourceLabel),u(We,s.item.category)}),l(Y,pe)};$(qe,Y=>{s.item&&Y(ht)})}t(zt);var Zt=a(zt,2);{var St=Y=>{var pe=ul(),me=r(pe);{var Je=Re=>{vt(Re,{variant:"outline",size:"sm",class:"rounded-lg font-mono text-[10px] uppercase tracking-[0.08em] border-[var(--sig-danger)] text-[var(--sig-danger)] hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)]",onclick:()=>s.item.serverId&&s.onuninstall?.(s.item.serverId),get disabled(){return X()},children:($e,tt)=>{D();var k=H();m(()=>u(k,X()?"...":"Remove")),l($e,k)},$$slots:{default:!0}})},Ve=Re=>{vt(Re,{variant:"outline",size:"sm",class:"rounded-lg font-mono text-[10px] uppercase tracking-[0.08em] border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]",onclick:()=>s.item.catalogEntry&&s.oninstall?.(s.item.catalogEntry),get disabled(){return w()},children:($e,tt)=>{D();var k=H();m(()=>u(k,w()?"...":"Install")),l($e,k)},$$slots:{default:!0}})},We=Re=>{vt(Re,{variant:"outline",size:"sm",class:"rounded-lg font-mono text-[10px] uppercase tracking-[0.08em] border-[var(--sig-border-strong)] text-[var(--sig-text-muted)]",disabled:!0,title:"MCP installs are temporarily disabled",children:($e,tt)=>{D();var k=H("Install disabled");l($e,k)},$$slots:{default:!0}})};$(me,Re=>{s.item.serverId?Re(Je):s.item.catalogEntry&&x()?Re(Ve,1):s.item.catalogEntry&&Re(We,2)})}t(pe),l(Y,pe)};$(Zt,Y=>{s.item&&Y(St)})}t(_t);var it=a(_t,2),te=r(it);{var S=Y=>{var pe=kl(),me=E(pe),Je=r(me,!0);t(me);var Ve=a(me,2);{var We=$e=>{var tt=fl();m(()=>de(tt,"href",s.item.sourceUrl)),l($e,tt)};$(Ve,$e=>{s.item.sourceUrl&&$e(We)})}var Re=a(Ve,2);I(Re,()=>Qa,($e,tt)=>{tt($e,{class:"reviews-section",get open(){return e(ie)},set open(k){n(ie,k,!0)},children:(k,N)=>{var _e=wl(),g=E(_e);I(g,()=>Za,(be,Xe)=>{Xe(be,{class:"reviews-trigger",children:(Le,f)=>{var _=gl(),B=a(E(_),2);{let V=p(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ie)?"rotate-180":""}`);Da(B,{get class(){return e(V)}})}l(Le,_)},$$slots:{default:!0}})});var A=a(g,2);I(A,()=>Xa,(be,Xe)=>{Xe(be,{children:(Le,f)=>{var _=xl(),B=r(_),V=r(B);pa(V,{class:"review-input",placeholder:"Display name",get value(){return e(J)},oninput:P=>{n(J,P.currentTarget.value,!0)}});var Ae=a(V,2),Se=r(Ae);{let P=p(()=>String(e(Z)));I(Se,()=>$a,(re,Ue)=>{Ue(re,{type:"single",get value(){return e(P)},onValueChange:ct=>{n(Z,Me(ct??"5"),!0)},children:(ct,At)=>{var Pe=ml(),oe=E(Pe);I(oe,()=>Sa,(Pt,mt)=>{mt(Pt,{class:"review-rating",children:(Et,Wt)=>{D();var ut=H();m(()=>u(ut,e(F))),l(Et,ut)},$$slots:{default:!0}})});var se=a(oe,2);I(se,()=>Pa,(Pt,mt)=>{mt(Pt,{class:"review-rating-content",children:(Et,Wt)=>{var ut=pl(),yt=E(ut);I(yt,()=>pt,(Gt,ce)=>{ce(Gt,{value:"5",label:"5/5",class:"review-rating-item"})});var rt=a(yt,2);I(rt,()=>pt,(Gt,ce)=>{ce(Gt,{value:"4",label:"4/5",class:"review-rating-item"})});var G=a(rt,2);I(G,()=>pt,(Gt,ce)=>{ce(Gt,{value:"3",label:"3/5",class:"review-rating-item"})});var ot=a(G,2);I(ot,()=>pt,(Gt,ce)=>{ce(Gt,{value:"2",label:"2/5",class:"review-rating-item"})});var ft=a(ot,2);I(ft,()=>pt,(Gt,ce)=>{ce(Gt,{value:"1",label:"1/5",class:"review-rating-item"})}),l(Et,ut)},$$slots:{default:!0}})}),l(ct,Pe)},$$slots:{default:!0}})})}var et=a(Se,2);pa(et,{class:"review-input",placeholder:"Review title",get value(){return e(ue)},oninput:P=>{n(ue,P.currentTarget.value,!0)}}),t(Ae);var at=a(Ae,2);Vr(at,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e(z)},oninput:P=>{n(z,P.currentTarget.value,!0)}});var d=a(at,2),R=a(r(d),2);{let P=p(()=>e(ee)||!s.canReview);vt(R,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{Ze()},get disabled(){return e(P)},children:(re,Ue)=>{D();var ct=H();m(()=>u(ct,e(ee)?"Posting...":"Post review")),l(re,ct)},$$slots:{default:!0}})}t(d),t(B);var q=a(B,2),j=r(q);let y;var C=a(j,2);let T;var K=a(C,2);let le;var Ie=a(K,2);let Ge;t(q);var Ee=a(q,2);{var xe=P=>{var re=_l();l(P,re)},He=P=>{var re=hl();l(P,re)},Be=P=>{var re=bl();$t(re,21,()=>e(ve),Ue=>Ue.id,(Ue,ct)=>{var At=yl(),Pe=r(At),oe=r(Pe,!0);t(Pe);var se=a(Pe,2),Pt=r(se);t(se);var mt=a(se,2),Et=r(mt,!0);t(mt),t(At),m(()=>{u(oe,e(ct).title),u(Pt,`${e(ct).displayName??""} · ${e(ct).rating??""}/5`),u(Et,e(ct).body)}),l(Ue,At)}),t(re),l(P,re)};$(Ee,P=>{e(U)?P(xe):e(ve).length===0?P(He,1):P(Be,-1)})}t(_),m(()=>{y=Ut(j,1,"review-filter svelte-4mjdk4",null,y,{active:e(M)==="top"}),T=Ut(C,1,"review-filter svelte-4mjdk4",null,T,{active:e(M)==="good"}),le=Ut(K,1,"review-filter svelte-4mjdk4",null,le,{active:e(M)==="bad"}),Ge=Ut(Ie,1,"review-filter svelte-4mjdk4",null,Ge,{active:e(M)==="all"})}),dt("click",j,()=>n(M,"top")),dt("click",C,()=>n(M,"good")),dt("click",K,()=>n(M,"bad")),dt("click",Ie,()=>n(M,"all")),l(Le,_)},$$slots:{default:!0}})}),l(k,_e)},$$slots:{default:!0}})}),m(()=>u(Je,s.item.description||"No description available.")),l(Y,pe)},W=Y=>{var pe=$l();l(Y,pe)};$(te,Y=>{s.item?Y(S):Y(W,-1)})}t(it),m(()=>u(bt,s.item?.name??"Tool Server")),l(h,Oe)},$$slots:{default:!0}})}),l(ge,Ce)},$$slots:{default:!0}})}),l(i,De),va()}xa(["click"]);const b=ma({installed:[],loadingInstalled:!1,catalog:[],catalogTotal:0,catalogLoaded:!1,catalogLoading:!1,catalogDetail:!1,query:"",view:"browse",category:"all",source:"all",sortBy:"popularity",tools:[],serverHealth:[],toolsLoading:!1,installingId:null,togglingId:null,removingId:null,installedError:null,catalogError:null,toolsError:null});function rr(i){return i instanceof Error&&i.message?i.message:String(i)}function Il(i,s){const o=[...i];switch(s){case"name":return o.sort((x,w)=>x.name.localeCompare(w.name));case"official":return o.sort((x,w)=>x.official&&!w.official?-1:!x.official&&w.official?1:x.popularityRank-w.popularityRank);default:return o.sort((x,w)=>x.popularityRank-w.popularityRank)}}function Cl(i){const s=b.query.trim().toLowerCase();return i.filter(o=>b.category!=="all"&&o.category!==b.category||b.source!=="all"&&o.source!==b.source?!1:s?o.name.toLowerCase().includes(s)||o.description.toLowerCase().includes(s)||o.id.toLowerCase().includes(s):!0)}function Ll(){const i=new Set(["all"]);for(const s of b.catalog)i.add(s.category);return Array.from(i)}function Tl(){return["all","mcpservers.org","modelcontextprotocol/servers","github"]}function Ml(){return Il(Cl(b.catalog),b.sortBy)}async function _r(){b.loadingInstalled=!0,b.installedError=null;try{const i=await Rs();b.installed=i.servers}catch(i){b.installed=[],b.installedError=rr(i)}finally{b.loadingInstalled=!1}}async function Nr(i=5){if(!b.catalogLoaded){b.catalogLoading=!0,b.catalogError=null;try{const s=await As(i);b.catalog=s.results,b.catalogTotal=s.total,b.catalogLoaded=!0}catch(s){b.catalogError=rr(s)}finally{b.catalogLoading=!1}}}async function Ja(i=!1){b.toolsLoading=!0,b.toolsError=null;try{const s=await Es(i);b.tools=s.tools,b.serverHealth=s.servers}catch(s){b.tools=[],b.serverHealth=[],b.toolsError=rr(s)}finally{b.toolsLoading=!1}}async function Rl(i,s){b.installingId=i.id;try{const o=await Ds({id:i.catalogId,source:i.source,alias:s?.alias,config:s?.config});return o.success?(Dt("Tool Server installed","success"),await Promise.all([_r(),Ja(!0)]),b.catalog=b.catalog.map(x=>x.id===i.id?{...x,installed:!0}:x),!0):(Dt(o.error??"Install failed","error"),!1)}catch(o){return Dt(rr(o),"error"),!1}finally{b.installingId=null}}async function Lr(i){b.removingId=i;try{const s=b.installed.find(x=>x.id===i),o=await Ns(i);if(o.success){Dt("Tool Server removed","success"),b.installed=b.installed.filter(w=>w.id!==i),await Ja(!0);const x=s?.catalogId&&s.source!=="manual"?`${s.source}:${s.catalogId}`:null;x&&(b.catalog=b.catalog.map(w=>w.id===x?{...w,installed:!1}:w))}else Dt(o.error??"Remove failed","error")}catch(s){Dt(rr(s),"error")}finally{b.removingId=null}}var Al=c('<p class="sheet-subtitle svelte-1n2gzyy"> </p>'),El=c('<p class="muted svelte-1n2gzyy">Select a server to configure.</p>'),Nl=c('<p class="muted svelte-1n2gzyy">Loading recommended configuration...</p>'),Dl=c('<a class="source-link svelte-1n2gzyy" target="_blank" rel="noopener">View source README</a>'),zl=c('<div class="inline-alert svelte-1n2gzyy"> </div>'),ql=c("<!> <!>",1),jl=c("<!> <!>",1),Bl=c("<option> </option>"),Ul=c('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),Fl=c('<div class="inline-hint svelte-1n2gzyy">No secrets found. Add secrets in the Secrets tab to map sensitive values.</div>'),Ol=c('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div> <!></div>',1),Vl=c("<option> </option>"),Gl=c('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),Hl=c('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div></div>',1),Kl=c('<div class="inline-alert svelte-1n2gzyy"> </div>'),Wl=c('<div class="test-tools svelte-1n2gzyy"> </div>'),Yl=c('<p class="server-description svelte-1n2gzyy"> </p> <!> <!> <div class="config-card svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-row two-col svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div></div> <!></div> <!> <div class="test-panel svelte-1n2gzyy"><div class="test-head svelte-1n2gzyy">Connection test</div> <p class="test-message svelte-1n2gzyy"> </p> <!></div>',1),Ql=c('<div class="sheet-header svelte-1n2gzyy"><div><h2 class="sheet-title svelte-1n2gzyy">Install Tool Server</h2> <!></div></div> <div class="sheet-body svelte-1n2gzyy"><!></div> <div class="sheet-footer svelte-1n2gzyy"><div class="footer-hint svelte-1n2gzyy"><!></div> <div class="footer-actions svelte-1n2gzyy"><!> <!></div></div>',1);function Zl(i,s){oa(s,!0);const o="secret://";let x=Q(!1),w=Q(null),X=Q(""),M=Q(""),U=Q(""),L=Q(!1),ie=Q(""),J=Q("stdio"),Z=Q("20000"),ue=Q(""),z=Q(""),ee=Q(""),F=Q(ma([])),ve=Q(""),we=Q(ma([])),fe=Q(ma([])),Me=Q(!1),Ke=Q("idle"),Ze=Q(""),De=Q(ma([])),ze=Q(!1),ae=Q(null);const ke=p(()=>e(J)==="http"?"http":"stdio"),ge=p(()=>s.entry?s.entry.source==="modelcontextprotocol/servers"?"MCP GitHub":"MCP Registry":"");_a(()=>{!s.open||!s.entry||e(X)!==s.entry.id&&(n(X,s.entry.id,!0),h(s.entry))}),_a(()=>{s.open||(n(X,""),n(x,!1),n(w,null),n(Ke,"idle"),n(Ze,""),n(De,[],!0),n(ae,null))});function je(S){return S.startsWith(o)?S.slice(o.length).trim():""}function Ce(S,W){const Y=je(W);return Y?{key:S,value:"",secretName:Y}:{key:S,value:W,secretName:""}}function nt(S){return S.secretName.trim().length>0?`${o}${S.secretName.trim()}`:S.value}function Lt(S){const W=Object.entries(S).map(([Y,pe])=>Ce(Y,pe));return W.length>0?W:[{key:"",value:"",secretName:""}]}function Ft(S){if(n(J,S.transport,!0),n(Z,String(S.timeoutMs),!0),S.transport==="stdio"){n(ue,S.command,!0),n(z,S.args.join(`
3
3
  `),!0),n(ee,S.cwd??"",!0),n(F,Lt(S.env),!0),n(ve,""),n(we,[{key:"",value:"",secretName:""}],!0);return}n(ve,S.url,!0),n(we,Lt(S.headers),!0),n(ue,""),n(z,""),n(ee,""),n(F,[{key:"",value:"",secretName:""}],!0)}async function h(S){n(x,!0),n(w,null),n(ae,null),n(Ke,"idle"),n(Ze,""),n(De,[],!0),n(ie,S.name,!0),n(M,S.description,!0),n(U,""),n(L,!1),n(J,"stdio"),n(Z,"20000"),n(ue,""),n(z,""),n(ee,""),n(F,[{key:"",value:"",secretName:""}],!0),n(ve,""),n(we,[{key:"",value:"",secretName:""}],!0),n(Me,!0);const[W,Y]=await Promise.all([zs(S.catalogId,S.source),qs()]);if(n(fe,Y,!0),n(Me,!1),!W){n(w,"Failed to load recommended config for this server."),n(x,!1);return}n(M,W.description||S.description,!0),n(U,W.githubUrl??"",!0),W.defaultConfig?(n(L,!0),Ft(W.defaultConfig)):n(w,"No standard config was found. You can still set one manually below."),n(x,!1)}function O(S){const W={};for(const Y of S){const pe=Y.key.trim();if(pe.length===0)continue;const me=nt(Y).trim();me.length!==0&&(W[pe]=me)}return W}function Oe(){const S=Number(e(Z));if(!Number.isFinite(S)||S<=0)return{config:null,error:"Timeout must be a positive number."};if(e(J)==="stdio"){const Y=e(ue).trim();if(Y.length===0)return{config:null,error:"Command is required for stdio transport."};const pe=e(z).split(`
4
4
  `).map(me=>me.trim()).filter(me=>me.length>0);return{config:{transport:"stdio",command:Y,args:pe,env:O(e(F)),cwd:e(ee).trim()||void 0,timeoutMs:S}}}const W=e(ve).trim();if(W.length===0)return{config:null,error:"URL is required for HTTP transport."};try{new URL(W)}catch{return{config:null,error:"URL must be a valid absolute URL."}}return{config:{transport:"http",url:W,headers:O(e(we)),timeoutMs:S}}}function _t(S){return S==="http"?"http":"stdio"}function zt(S,W,Y){const pe=S[W];pe&&(pe.value=Y,Y.trim().length>0&&(pe.secretName=""))}function Qt(){n(F,[...e(F),{key:"",value:"",secretName:""}],!0)}function bt(S){n(F,e(F).filter((W,Y)=>Y!==S),!0),e(F).length===0&&n(F,[{key:"",value:"",secretName:""}],!0)}function qe(){n(we,[...e(we),{key:"",value:"",secretName:""}],!0)}function ht(S){n(we,e(we).filter((W,Y)=>Y!==S),!0),e(we).length===0&&n(we,[{key:"",value:"",secretName:""}],!0)}async function Zt(){n(ae,null),n(Ke,"running"),n(Ze,"Testing MCP server connection..."),n(De,[],!0);const S=Oe();if(!S.config){n(Ke,"error"),n(Ze,S.error??"Invalid config.",!0),n(ae,S.error??"Invalid config.",!0);return}const W=await js({config:S.config});if(W.success){n(Ke,"success"),n(De,W.tools??[],!0),n(Ze,`Connection succeeded${typeof W.toolCount=="number"?` (${W.toolCount} tools)`:""}.`);return}n(Ke,"error"),n(Ze,W.error??"Connection test failed.",!0)}async function St(){if(!s.entry)return;n(ae,null);const S=Oe();if(!S.config){n(ae,S.error??"Invalid config.",!0);return}n(ze,!0);const W=await Rl(s.entry,{alias:e(ie).trim()||void 0,config:S.config});n(ze,!1),W&&s.onclose()}var it=Rt(),te=E(it);I(te,()=>Fr,(S,W)=>{W(S,{get open(){return s.open},onOpenChange:Y=>{Y||s.onclose()},children:(Y,pe)=>{var me=Rt(),Je=E(me);I(Je,()=>Ur,(Ve,We)=>{We(Ve,{side:"right",class:`!w-[560px] !max-w-[96vw] !bg-[var(--sig-surface)]
@@ -1 +1 @@
1
- import{c as p,f as g,h as c,a8 as x,s as i,b as u,r as v,p as P,g as l,a9 as j,i as _,u as b,d as $,aa as k,ab as q}from"./ByWF7pVd.js";import{c as h}from"./CthgYI5N.js";function A(r,e){let t=v(e,["$$slots","$$events","$$legacy"]);var o=p(),a=g(o);c(a,()=>x,(s,n)=>{n(s,i(()=>t))}),u(r,o)}function D(r,e){P(e,!0);let t=l(e,"ref",15,null),o=l(e,"sideOffset",3,4),a=l(e,"align",3,"center"),s=v(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);A(r,i(()=>e.portalProps,{children:(n,f)=>{var d=p(),m=g(d);{let y=b(()=>h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e.class));c(m,()=>j,(O,z)=>{z(O,i({"data-slot":"popover-content",get sideOffset(){return o()},get align(){return a()},get class(){return _(y)}},()=>s,{get ref(){return t()},set ref(w){t(w)}}))})}u(n,d)},$$slots:{default:!0}})),$()}function E(r,e){P(e,!0);let t=l(e,"ref",15,null),o=v(e,["$$slots","$$events","$$legacy","ref","class"]);var a=p(),s=g(a);{let n=b(()=>h("",e.class));c(s,()=>k,(f,d)=>{d(f,i({"data-slot":"popover-trigger",get class(){return _(n)}},()=>o,{get ref(){return t()},set ref(m){t(m)}}))})}u(r,a),$()}function F(r,e){P(e,!0);let t=l(e,"open",15,!1),o=v(e,["$$slots","$$events","$$legacy","open"]);var a=p(),s=g(a);c(s,()=>q,(n,f)=>{f(n,i(()=>o,{get open(){return t()},set open(d){t(d)}}))}),u(r,a),$()}export{E as P,D as a,F as b};
1
+ import{c as p,f as g,h as c,a8 as x,s as i,b as u,r as v,p as P,g as l,a9 as j,i as _,u as b,d as $,aa as k,ab as q}from"./ByWF7pVd.js";import{c as h}from"./CbJNabjP.js";function A(r,e){let t=v(e,["$$slots","$$events","$$legacy"]);var o=p(),a=g(o);c(a,()=>x,(s,n)=>{n(s,i(()=>t))}),u(r,o)}function D(r,e){P(e,!0);let t=l(e,"ref",15,null),o=l(e,"sideOffset",3,4),a=l(e,"align",3,"center"),s=v(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);A(r,i(()=>e.portalProps,{children:(n,f)=>{var d=p(),m=g(d);{let y=b(()=>h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e.class));c(m,()=>j,(O,z)=>{z(O,i({"data-slot":"popover-content",get sideOffset(){return o()},get align(){return a()},get class(){return _(y)}},()=>s,{get ref(){return t()},set ref(w){t(w)}}))})}u(n,d)},$$slots:{default:!0}})),$()}function E(r,e){P(e,!0);let t=l(e,"ref",15,null),o=v(e,["$$slots","$$events","$$legacy","ref","class"]);var a=p(),s=g(a);{let n=b(()=>h("",e.class));c(s,()=>k,(f,d)=>{d(f,i({"data-slot":"popover-trigger",get class(){return _(n)}},()=>o,{get ref(){return t()},set ref(m){t(m)}}))})}u(r,a),$()}function F(r,e){P(e,!0);let t=l(e,"open",15,!1),o=v(e,["$$slots","$$events","$$legacy","open"]);var a=p(),s=g(a);c(s,()=>q,(n,f)=>{f(n,i(()=>o,{get open(){return t()},set open(d){t(d)}}))}),u(r,a),$()}export{E as P,D as a,F as b};
@@ -1,4 +1,4 @@
1
- import{p as et,s as Ht,c as ge,f as b,a as Wt,n as Ft,b as a,d as tt,r as Ut,g as kt,j as n,l as s,t as r,k as H,i as e,y as w,B as Dt,D as wt,z as x,M as Fe,u as B,m as o,N as xt,A as Oe,O as Et,Q as Nt,h as p,w as h,x as N,v as d,o as ue,U as qt,G as Vt,a5 as yt,J as Pt,e as Gt,L as Jt,q as Qt}from"./ByWF7pVd.js";import{I as Xt,a3 as It,a4 as $t,a5 as Lt,a6 as Mt,B as ot,a7 as Ot,l as Yt,au as Zt,aa as ea,aI as zt,aJ as ta,aK as Ct,aL as St,aM as aa,aN as xe,aO as sa,aP as jt,aQ as Tt,aR as ra}from"./CthgYI5N.js";import{S as na}from"./T9nOrDjO.js";import{B as _t}from"./BBvZ6iYI.js";import{S as la,a as oa}from"./Dph1ZiNM.js";import{a as ia,C as da}from"./DFwxeRz4.js";import{P as va}from"./7hPbKmHi.js";import{T as ca}from"./D2TpJv7L.js";import{I as bt}from"./BEOXbd-S.js";import{L as Ze,T as ua}from"./BWGC1Do4.js";import{S as ct,a as ut,b as gt,c as Me}from"./CqLiu9zC.js";import{P as ga}from"./CkX4TlnC.js";function At(be,t){et(t,!0);let I=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Xt(be,Ht({name:"play"},()=>I,{get iconNode(){return y},children:(J,T)=>{var P=ge(),E=b(P);Wt(E,()=>t.children??Ft),a(J,P)},$$slots:{default:!0}})),tt()}var _a=o("<span> </span>"),xa=o('<span class="task-status-running svelte-1lta2hw">running</span>'),fa=o("<span> </span>"),ma=o('<span class="task-status-failed svelte-1lta2hw"> </span>'),pa=o('<div tabindex="0" role="button"><div class="task-top svelte-1lta2hw"><span class="task-name svelte-1lta2hw"> </span> <span class="task-harness svelte-1lta2hw"> </span></div> <div class="task-meta svelte-1lta2hw"><span> </span> <!></div> <div class="task-actions svelte-1lta2hw"><div><!></div> <button class="trigger-btn svelte-1lta2hw"><!></button></div></div>');function Rt(be,t){et(t,!0);let I=kt(t,"isSelected",3,!1);function y(i){if(!i)return"--";const c=new Date(i).getTime()-Date.now(),O=Math.abs(c);if(O<6e4)return c>0?"< 1m":"just now";if(O<36e5){const pe=Math.round(O/6e4);return c>0?`${pe}m`:`${pe}m ago`}if(O<864e5){const pe=Math.round(O/36e5);return c>0?`${pe}h`:`${pe}h ago`}const me=Math.round(O/864e5);return c>0?`${me}d`:`${me}d ago`}const J=B(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),T=B(()=>y(t.task.next_run_at)),P=B(()=>y(t.task.last_run_at));var E=pa();let R;var ne=n(E),$=n(ne),ae=n($,!0);s($);var oe=r($,2),ie=n(oe,!0);s(oe),s(ne);var L=r(ne,2),A=n(L),u=n(A,!0);s(A);var M=r(A,2);{var se=i=>{var c=_a(),O=n(c);s(c),w(()=>x(O,`next: ${e(T)??""}`)),a(i,c)},fe=i=>{var c=xa();a(i,c)},ke=i=>{var c=fa(),O=n(c);s(c),w(()=>x(O,`exit 0 · ${e(P)??""}`)),a(i,c)},Q=i=>{var c=ma(),O=n(c);s(c),w(()=>x(O,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(P)??""}`)),a(i,c)};H(M,i=>{t.columnKey==="scheduled"?i(se):t.columnKey==="running"?i(fe,1):t.columnKey==="completed"?i(ke,2):t.columnKey==="failed"&&i(Q,3)})}s(L);var k=r(L,2),v=n(k),D=n(v);{let i=B(()=>!!t.task.enabled);na(D,{get checked(){return e(i)},onCheckedChange:c=>t.ontoggle(c===!0),class:"scale-75 origin-left"})}s(v);var W=r(v,2),f=n(W);At(f,{class:"size-3"}),s(W),s(k),s(E),w(()=>{R=Dt(E,1,"task-card svelte-1lta2hw",null,R,{"task-card--selected":I(),"task-card--disabled":!t.task.enabled}),wt(E,"data-task-id",t.task.id),wt(E,"data-column",t.columnKey),x(ae,t.task.name),x(ie,e(J)),x(u,t.task.cron_expression)}),Fe("click",E,function(...i){t.onclick?.apply(this,i)}),Fe("keydown",E,i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),t.onclick())}),Fe("click",v,i=>i.stopPropagation()),Fe("click",W,i=>{i.stopPropagation(),t.ontrigger()}),a(be,E),tt()}xt(["click","keydown"]);var ha=o('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ba=o('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),ka=o('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),wa=o('<div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi"></span> <span class="column-label svelte-10pk3oi"> </span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="column-body svelte-10pk3oi"><!> <!></div></div>'),ya=o('<div class="disabled-section svelte-10pk3oi"><div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi" style="background: var(--sig-text-muted)"></span> <span class="column-label svelte-10pk3oi">Disabled</span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="disabled-cards svelte-10pk3oi"></div></div></div>'),Pa=o('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function Ca(be,t){et(t,!0);let I=kt(t,"selectedColumn",3,0),y=kt(t,"selectedTaskInColumn",3,0);const J=B(()=>t.tasks.filter(u=>u.enabled&&u.last_run_status!=="running")),T=B(()=>t.tasks.filter(u=>u.last_run_status==="running")),P=B(()=>t.tasks.filter(u=>u.last_run_status==="completed"&&!e(T).some(M=>M.id===u.id))),E=B(()=>t.tasks.filter(u=>u.last_run_status==="failed"&&!e(T).some(M=>M.id===u.id))),R=B(()=>t.tasks.filter(u=>!u.enabled)),ne=[{key:"scheduled",label:"Scheduled",color:"var(--sig-highlight)"},{key:"running",label:"Running",color:"var(--sig-warning)"},{key:"completed",label:"Completed",color:"var(--sig-success)"},{key:"failed",label:"Failed",color:"var(--sig-danger)"}];function $(u){switch(u){case"scheduled":return e(J);case"running":return e(T);case"completed":return e(P);case"failed":return e(E);default:return[]}}var ae=ge(),oe=b(ae);{var ie=u=>{var M=ha();a(u,M)},L=u=>{var M=ba();a(u,M)},A=u=>{var M=Pa(),se=b(M);Oe(se,23,()=>ne,Q=>Q.key,(Q,k,v)=>{const D=B(()=>$(e(k).key));var W=wa(),f=n(W),i=n(f),c=r(i,2),O=n(c,!0);s(c);var me=r(c,2),pe=n(me,!0);s(me),s(f);var Ie=r(f,2),$e=n(Ie);Oe($e,19,()=>e(D),_e=>_e.id,(_e,we,K)=>{{let Y=B(()=>e(v)===I()&&e(K)===y());Rt(_e,{get task(){return e(we)},get columnKey(){return e(k).key},get isSelected(){return e(Y)},onclick:()=>t.onopendetail(e(we).id,e(v),e(K)),ontrigger:()=>t.ontrigger(e(we).id),ontoggle:he=>t.ontoggle(e(we).id,he)})}});var ze=r($e,2);{var Ae=_e=>{var we=ka();a(_e,we)};H(ze,_e=>{e(D).length===0&&_e(Ae)})}s(Ie),s(W),w(()=>{wt(W,"data-column-idx",e(v)),Et(i,`background: ${e(k).color??""}`),x(O,e(k).label),x(pe,e(D).length)}),a(Q,W)}),s(se);var fe=r(se,2);{var ke=Q=>{var k=ya(),v=n(k),D=n(v),W=r(n(D),4),f=n(W,!0);s(W),s(D);var i=r(D,2);Oe(i,21,()=>e(R),c=>c.id,(c,O)=>{Rt(c,{get task(){return e(O)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(O).id,-1,-1),ontrigger:()=>t.ontrigger(e(O).id),ontoggle:me=>t.ontoggle(e(O).id,me)})}),s(i),s(v),s(k),w(()=>x(f,e(R).length)),a(Q,k)};H(fe,Q=>{e(R).length>0&&Q(ke)})}a(u,M)};H(oe,u=>{t.loading&&t.tasks.length===0?u(ie):t.tasks.length===0?u(L,1):u(A,-1)})}a(be,ae),tt()}var Sa=o('<span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span>'),ja=o('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Ta=o('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Ra=o('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),Da=o('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ea=o(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
1
+ import{p as et,s as Ht,c as ge,f as b,a as Wt,n as Ft,b as a,d as tt,r as Ut,g as kt,j as n,l as s,t as r,k as H,i as e,y as w,B as Dt,D as wt,z as x,M as Fe,u as B,m as o,N as xt,A as Oe,O as Et,Q as Nt,h as p,w as h,x as N,v as d,o as ue,U as qt,G as Vt,a5 as yt,J as Pt,e as Gt,L as Jt,q as Qt}from"./ByWF7pVd.js";import{I as Xt,a3 as It,a4 as $t,a5 as Lt,a6 as Mt,B as ot,a7 as Ot,l as Yt,au as Zt,aa as ea,aI as zt,aJ as ta,aK as Ct,aL as St,aM as aa,aN as xe,aO as sa,aP as jt,aQ as Tt,aR as ra}from"./CbJNabjP.js";import{S as na}from"./BhMl_mmg.js";import{B as _t}from"./DAyPju4W.js";import{S as la,a as oa}from"./D6TQixG0.js";import{a as ia,C as da}from"./CQTju_4O.js";import{P as va}from"./9xPuaG2g.js";import{T as ca}from"./DfU_VCv_.js";import{I as bt}from"./DUMKUsLr.js";import{L as Ze,T as ua}from"./DZCny-Go.js";import{S as ct,a as ut,b as gt,c as Me}from"./zW9h9Jix.js";import{P as ga}from"./z_eJ2qhK.js";function At(be,t){et(t,!0);let I=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Xt(be,Ht({name:"play"},()=>I,{get iconNode(){return y},children:(J,T)=>{var P=ge(),E=b(P);Wt(E,()=>t.children??Ft),a(J,P)},$$slots:{default:!0}})),tt()}var _a=o("<span> </span>"),xa=o('<span class="task-status-running svelte-1lta2hw">running</span>'),fa=o("<span> </span>"),ma=o('<span class="task-status-failed svelte-1lta2hw"> </span>'),pa=o('<div tabindex="0" role="button"><div class="task-top svelte-1lta2hw"><span class="task-name svelte-1lta2hw"> </span> <span class="task-harness svelte-1lta2hw"> </span></div> <div class="task-meta svelte-1lta2hw"><span> </span> <!></div> <div class="task-actions svelte-1lta2hw"><div><!></div> <button class="trigger-btn svelte-1lta2hw"><!></button></div></div>');function Rt(be,t){et(t,!0);let I=kt(t,"isSelected",3,!1);function y(i){if(!i)return"--";const c=new Date(i).getTime()-Date.now(),O=Math.abs(c);if(O<6e4)return c>0?"< 1m":"just now";if(O<36e5){const pe=Math.round(O/6e4);return c>0?`${pe}m`:`${pe}m ago`}if(O<864e5){const pe=Math.round(O/36e5);return c>0?`${pe}h`:`${pe}h ago`}const me=Math.round(O/864e5);return c>0?`${me}d`:`${me}d ago`}const J=B(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),T=B(()=>y(t.task.next_run_at)),P=B(()=>y(t.task.last_run_at));var E=pa();let R;var ne=n(E),$=n(ne),ae=n($,!0);s($);var oe=r($,2),ie=n(oe,!0);s(oe),s(ne);var L=r(ne,2),A=n(L),u=n(A,!0);s(A);var M=r(A,2);{var se=i=>{var c=_a(),O=n(c);s(c),w(()=>x(O,`next: ${e(T)??""}`)),a(i,c)},fe=i=>{var c=xa();a(i,c)},ke=i=>{var c=fa(),O=n(c);s(c),w(()=>x(O,`exit 0 · ${e(P)??""}`)),a(i,c)},Q=i=>{var c=ma(),O=n(c);s(c),w(()=>x(O,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(P)??""}`)),a(i,c)};H(M,i=>{t.columnKey==="scheduled"?i(se):t.columnKey==="running"?i(fe,1):t.columnKey==="completed"?i(ke,2):t.columnKey==="failed"&&i(Q,3)})}s(L);var k=r(L,2),v=n(k),D=n(v);{let i=B(()=>!!t.task.enabled);na(D,{get checked(){return e(i)},onCheckedChange:c=>t.ontoggle(c===!0),class:"scale-75 origin-left"})}s(v);var W=r(v,2),f=n(W);At(f,{class:"size-3"}),s(W),s(k),s(E),w(()=>{R=Dt(E,1,"task-card svelte-1lta2hw",null,R,{"task-card--selected":I(),"task-card--disabled":!t.task.enabled}),wt(E,"data-task-id",t.task.id),wt(E,"data-column",t.columnKey),x(ae,t.task.name),x(ie,e(J)),x(u,t.task.cron_expression)}),Fe("click",E,function(...i){t.onclick?.apply(this,i)}),Fe("keydown",E,i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),t.onclick())}),Fe("click",v,i=>i.stopPropagation()),Fe("click",W,i=>{i.stopPropagation(),t.ontrigger()}),a(be,E),tt()}xt(["click","keydown"]);var ha=o('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ba=o('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),ka=o('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),wa=o('<div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi"></span> <span class="column-label svelte-10pk3oi"> </span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="column-body svelte-10pk3oi"><!> <!></div></div>'),ya=o('<div class="disabled-section svelte-10pk3oi"><div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi" style="background: var(--sig-text-muted)"></span> <span class="column-label svelte-10pk3oi">Disabled</span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="disabled-cards svelte-10pk3oi"></div></div></div>'),Pa=o('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function Ca(be,t){et(t,!0);let I=kt(t,"selectedColumn",3,0),y=kt(t,"selectedTaskInColumn",3,0);const J=B(()=>t.tasks.filter(u=>u.enabled&&u.last_run_status!=="running")),T=B(()=>t.tasks.filter(u=>u.last_run_status==="running")),P=B(()=>t.tasks.filter(u=>u.last_run_status==="completed"&&!e(T).some(M=>M.id===u.id))),E=B(()=>t.tasks.filter(u=>u.last_run_status==="failed"&&!e(T).some(M=>M.id===u.id))),R=B(()=>t.tasks.filter(u=>!u.enabled)),ne=[{key:"scheduled",label:"Scheduled",color:"var(--sig-highlight)"},{key:"running",label:"Running",color:"var(--sig-warning)"},{key:"completed",label:"Completed",color:"var(--sig-success)"},{key:"failed",label:"Failed",color:"var(--sig-danger)"}];function $(u){switch(u){case"scheduled":return e(J);case"running":return e(T);case"completed":return e(P);case"failed":return e(E);default:return[]}}var ae=ge(),oe=b(ae);{var ie=u=>{var M=ha();a(u,M)},L=u=>{var M=ba();a(u,M)},A=u=>{var M=Pa(),se=b(M);Oe(se,23,()=>ne,Q=>Q.key,(Q,k,v)=>{const D=B(()=>$(e(k).key));var W=wa(),f=n(W),i=n(f),c=r(i,2),O=n(c,!0);s(c);var me=r(c,2),pe=n(me,!0);s(me),s(f);var Ie=r(f,2),$e=n(Ie);Oe($e,19,()=>e(D),_e=>_e.id,(_e,we,K)=>{{let Y=B(()=>e(v)===I()&&e(K)===y());Rt(_e,{get task(){return e(we)},get columnKey(){return e(k).key},get isSelected(){return e(Y)},onclick:()=>t.onopendetail(e(we).id,e(v),e(K)),ontrigger:()=>t.ontrigger(e(we).id),ontoggle:he=>t.ontoggle(e(we).id,he)})}});var ze=r($e,2);{var Ae=_e=>{var we=ka();a(_e,we)};H(ze,_e=>{e(D).length===0&&_e(Ae)})}s(Ie),s(W),w(()=>{wt(W,"data-column-idx",e(v)),Et(i,`background: ${e(k).color??""}`),x(O,e(k).label),x(pe,e(D).length)}),a(Q,W)}),s(se);var fe=r(se,2);{var ke=Q=>{var k=ya(),v=n(k),D=n(v),W=r(n(D),4),f=n(W,!0);s(W),s(D);var i=r(D,2);Oe(i,21,()=>e(R),c=>c.id,(c,O)=>{Rt(c,{get task(){return e(O)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(O).id,-1,-1),ontrigger:()=>t.ontrigger(e(O).id),ontoggle:me=>t.ontoggle(e(O).id,me)})}),s(i),s(v),s(k),w(()=>x(f,e(R).length)),a(Q,k)};H(fe,Q=>{e(R).length>0&&Q(ke)})}a(u,M)};H(oe,u=>{t.loading&&t.tasks.length===0?u(ie):t.tasks.length===0?u(L,1):u(A,-1)})}a(be,ae),tt()}var Sa=o('<span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span>'),ja=o('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Ta=o('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Ra=o('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),Da=o('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ea=o(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
2
2
  rounded max-h-[280px] overflow-y-auto
3
3
  font-mono text-[10px] leading-[1.55]
4
4
  text-[var(--sig-text)] p-2.5" role="log"><!> <!> <!></div>`),Na=o('<span class="text-[10px] text-[var(--sig-accent)] mt-0.5 block">Click to expand output</span>'),Ia=o('<div class="flex items-center justify-between gap-2"><div class="flex items-center gap-2"><span class="inline-block w-1.5 h-1.5"></span> <!> <!></div> <span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span></div> <div class="text-[10px] text-[var(--sig-text-muted)] font-mono"> </div> <!>',1),$a=o('<button class="w-full text-left cursor-pointer bg-transparent border-none p-0"><!></button>');function La(be,t){et(t,!0);let I=ue(!1),y=ue(void 0);function J(L){return L?new Date(L).toLocaleString():"—"}function T(L,A){if(!A)return"running...";const u=new Date(A).getTime()-new Date(L).getTime();if(u<1e3)return`${u}ms`;if(u<6e4)return`${(u/1e3).toFixed(1)}s`;const M=Math.floor(u/6e4),se=Math.round(u%6e4/1e3);return`${M}m ${se}s`}const P={pending:"var(--sig-text-muted)",running:"var(--sig-warning, #f59e0b)",completed:"var(--sig-success)",failed:"var(--sig-error, #ef4444)"};function E(L){return L.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const R={31:"var(--sig-error, #ef4444)",32:"var(--sig-success)",33:"var(--sig-warning, #e8a832)",90:"var(--sig-text-muted)",36:"var(--sig-accent)",34:"var(--sig-highlight)",35:"var(--sig-accent)"};function ne(L){let A=E(L);return A=A.replace(/\x1b\[(\d+(?:;\d+)*)m([\s\S]*?)\x1b\[0m/g,(u,M,se)=>{const fe=M.split(";"),ke=fe.includes("1"),Q=fe.map(v=>R[v]).find(Boolean);let k=se;return Q&&(k=`<span style="color:${Q}">${k}</span>`),ke&&(k=`<strong>${k}</strong>`),k}),A.replace(/\x1b\[\d+(?:;\d+)*m/g,"")}function $(L){return L?L.split(`
@@ -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"./ByWF7pVd.js";import{I as $}from"./CthgYI5N.js";function w(a,s){p(s,!0);let e=u(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];$(a,c({name:"rotate-ccw"},()=>e,{get iconNode(){return o},children:(r,_)=>{var t=d(),n=i(t);l(n,()=>s.children??m),f(r,t)},$$slots:{default:!0}})),h()}export{w as R};
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"./ByWF7pVd.js";import{I as $}from"./CbJNabjP.js";function w(a,s){p(s,!0);let e=u(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];$(a,c({name:"rotate-ccw"},()=>e,{get iconNode(){return o},children:(r,_)=>{var t=d(),n=i(t);l(n,()=>s.children??m),f(r,t)},$$slots:{default:!0}})),h()}export{w as R};
@@ -1 +1 @@
1
- import{p as o,g as i,F as b,j as c,a as h,n as f,l as n,G as v,b as u,d as g,r as m,m as y}from"./ByWF7pVd.js";import{c as _}from"./CthgYI5N.js";var x=y("<tbody><!></tbody>");function z(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=x();b(a,t=>({"data-slot":"table-body",class:t,...d}),[()=>_("[&_tr:last-child]:border-0",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var T=y("<td><!></td>");function A(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=T();b(a,t=>({"data-slot":"table-cell",class:t,...d}),[()=>_("bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var P=y("<th><!></th>");function B(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=P();b(a,t=>({"data-slot":"table-head",class:t,...d}),[()=>_("text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var k=y("<thead><!></thead>");function C(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=k();b(a,t=>({"data-slot":"table-header",class:t,...d}),[()=>_("[&_tr]:border-b",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var j=y("<tr><!></tr>");function D(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=j();b(a,t=>({"data-slot":"table-row",class:t,...d}),[()=>_("hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var F=y('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function E(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=F(),r=c(a);b(r,w=>({"data-slot":"table",class:w,...d}),[()=>_("w-full caption-bottom text-sm",e.class)]);var t=c(r);h(t,()=>e.children??f),n(r),v(r,w=>l(w),()=>l()),n(a),u(s,a),g()}export{E as T,C as a,D as b,B as c,z as d,A as e};
1
+ import{p as o,g as i,F as b,j as c,a as h,n as f,l as n,G as v,b as u,d as g,r as m,m as y}from"./ByWF7pVd.js";import{c as _}from"./CbJNabjP.js";var x=y("<tbody><!></tbody>");function z(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=x();b(a,t=>({"data-slot":"table-body",class:t,...d}),[()=>_("[&_tr:last-child]:border-0",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var T=y("<td><!></td>");function A(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=T();b(a,t=>({"data-slot":"table-cell",class:t,...d}),[()=>_("bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var P=y("<th><!></th>");function B(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=P();b(a,t=>({"data-slot":"table-head",class:t,...d}),[()=>_("text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var k=y("<thead><!></thead>");function C(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=k();b(a,t=>({"data-slot":"table-header",class:t,...d}),[()=>_("[&_tr]:border-b",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var j=y("<tr><!></tr>");function D(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=j();b(a,t=>({"data-slot":"table-row",class:t,...d}),[()=>_("hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e.class)]);var r=c(a);h(r,()=>e.children??f),n(a),v(a,t=>l(t),()=>l()),u(s,a),g()}var F=y('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function E(s,e){o(e,!0);let l=i(e,"ref",15,null),d=m(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=F(),r=c(a);b(r,w=>({"data-slot":"table",class:w,...d}),[()=>_("w-full caption-bottom text-sm",e.class)]);var t=c(r);h(t,()=>e.children??f),n(r),v(r,w=>l(w),()=>l()),n(a),u(s,a),g()}export{E as T,C as a,D as b,B as c,z as d,A as e};
@@ -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 q,y as R,z as u,b as i,A as we,c as $e,J as Me,u as J,l as o,k as U,B as ge,M as gr,d as ur,U as yt,m as x,N as fr}from"./ByWF7pVd.js";import{f as mr,n as pr,E as xr,B as Ve,G as Lt,H as wt}from"./CthgYI5N.js";import{P as _r}from"./BLfsll1n.js";import{T as br}from"./F2BE-qZF.js";import{C as hr}from"./CL9vUgKT.js";import{S as yr}from"./Dph1ZiNM.js";import{a as qe,b as Ge,c as le,S as He}from"./CqLiu9zC.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-display text-[length:var(--font-size-base)]">Loading logs...</div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-display text-[length:var(--font-size-base)]"> </div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] 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-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),Mr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),Vr=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-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",Ue="List order",Ke={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),K=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 Rt(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 Ot(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)=>Ot(a,c,r))}function Re(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?Ue:ke[t(Y)]}function Oe(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=Re(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Re(t(I),t(ae))?.key??null,!0)}function zt(){const e=Re(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&&yt().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 he(){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),yt().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(K,!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(Rt(r)){ee=0,s(W,!1),s(K,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(K)&&(s(K,!1),s(ie,!0));const c=Ke[a.level],f=We(t(Q))?Ke[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(K,!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(K,!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 Mt(e){return e.split("T")[1]?.slice(0,8)||""}function Vt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function V(e){return typeof e=="string"&&e.length>0?e:null}function qt(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=V(r.inject)??V(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=V(r.prompt)??V(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=V(r.summaryPrompt)??V(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=V(r.summary)??V(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=V(r.transcript)??V(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=qt(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 q,y as R,z as u,b as i,A as we,c as $e,J as Me,u as J,l as o,k as U,B as ge,M as gr,d as ur,U as yt,m as x,N as fr}from"./ByWF7pVd.js";import{f as mr,n as pr,E as xr,B as Ve,G as Lt,H as wt}from"./CbJNabjP.js";import{P as _r}from"./BLfsll1n.js";import{T as br}from"./F2BE-qZF.js";import{C as hr}from"./B0YcO9dg.js";import{S as yr}from"./D6TQixG0.js";import{a as qe,b as Ge,c as le,S as He}from"./zW9h9Jix.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-display text-[length:var(--font-size-base)]">Loading logs...</div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-display text-[length:var(--font-size-base)]"> </div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] 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-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),Mr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),Vr=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-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",Ue="List order",Ke={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),K=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 Rt(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 Ot(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)=>Ot(a,c,r))}function Re(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?Ue:ke[t(Y)]}function Oe(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=Re(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Re(t(I),t(ae))?.key??null,!0)}function zt(){const e=Re(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&&yt().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 he(){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),yt().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(K,!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(Rt(r)){ee=0,s(W,!1),s(K,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(K)&&(s(K,!1),s(ie,!0));const c=Ke[a.level],f=We(t(Q))?Ke[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(K,!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(K,!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 Mt(e){return e.split("T")[1]?.slice(0,8)||""}function Vt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function V(e){return typeof e=="string"&&e.length>0?e:null}function qt(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=V(r.inject)??V(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=V(r.prompt)??V(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=V(r.summaryPrompt)??V(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=V(r.summary)??V(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=V(r.transcript)??V(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=qt(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),he(),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=Vr(),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),he()},children:(a,c)=>{var f=wr(),v=z(f);T(v,()=>qe,(k,d)=>{d(k,{class:"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 _=q();R(()=>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(),O=z(_);T(O,()=>le,(h,b)=>{b(h,{value:"",label:"All levels"})});var m=l(O,2);we(m,17,()=>Tt,Me,(h,b)=>{var y=$e(),w=z(y);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(h,y)}),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),he()},children:(a,c)=>{var f=Sr(),v=z(f);T(v,()=>qe,(k,d)=>{d(k,{class:"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 _=q();R(()=>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(),O=z(_);T(O,()=>le,(h,b)=>{b(h,{value:"",label:"All categories"})});var m=l(O,2);we(m,17,()=>Pt,Me,(h,b)=>{var y=$e(),w=z(y);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(h,y)}),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,()=>qe,(g,L)=>{L(g,{get"data-placeholder"(){return t(d)},class:"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:(_,O)=>{oe();var m=q();R(h=>u(m,h),[()=>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 O=kr(),m=z(O);T(m,()=>le,(y,w)=>{w(y,{value:"",label:Ue})});var h=l(m,2);T(h,()=>le,(y,w)=>{w(y,{value:"desc",get label(){return ke.desc}})});var b=l(h,2);T(b,()=>le,(y,w)=>{w(y,{value:"asc",get label(){return ke.asc}})}),i(L,O)},$$slots:{default:!0}})}),i(c,v)},$$slots:{default:!0}})})}var ze=l(ft,2),Ht=n(ze);hr(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),R(()=>u(a,t(Z))),i(e,r)};U(pt,e=>{t(Z)&&e(Jt)})}var ye=l(pt,2),Ut=n(ye);{var Kt=e=>{var r=q("● Live");i(e,r)},Xt=e=>{var r=q("↺ Reconnecting");i(e,r)},Qt=e=>{var r=q("◌ Connecting");i(e,r)},Yt=e=>{var r=q("● Offline");i(e,r)};U(Ut,e=>{t(ie)?e(Kt):t(W)?e(Xt,1):t(K)?e(Qt,2):e(Yt,-1)})}o(ye);var xt=l(ye,2);{let e=J(()=>t(X)?"Disconnect stream":"Reconnect stream");Ve(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=q();R(()=>u(c,t(X)?"Disconnect":"Reconnect")),i(r,c)},$$slots:{default:!0}})}var Wt=l(xt,2);Ve(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:he,title:"Reload logs",children:(e,r)=>{oe();var a=q();R(()=>u(a,Lt.Refresh)),i(e,a)},$$slots:{default:!0}}),o(mt),o(De);var Zt=l(De,2);yr(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=Rr(),L=n(g,!0);o(g),R(()=>u(L,t(me))),i(d,g)},p=d=>{var g=Or();i(d,g)},k=d=>{var g=$e(),L=z(g);we(L,17,()=>t(I),_=>_.key,(_,O)=>{const m=J(()=>t(O).entry),h=J(()=>t(O).key);var b=Nr(),y=n(b),w=n(y),se=n(w,!0);o(w);var F=l(w,2),Ie=n(F,!0);o(F);var E=l(F,2),M=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($),R(()=>u(N,`(${t(m).duration??""}ms)`)),i(P,$)};U(G,P=>{t(m).duration!==void 0&&P(Le)})}o(y);var je=l(y,2);{var Be=P=>{var $=Cr(),N=n($,!0);o($),R(H=>u(N,H),[()=>it(t(m))]),i(P,$)},Fe=J(()=>it(t(m)));U(je,P=>{t(Fe)&&P(Be)})}o(b),R((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(M,`[${t(m).category??""}]`),u(ne,t(m).message)},[()=>`log-row ${Oe(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(h)?"bg-[var(--sig-surface)] border-[var(--sig-border-strong)]":""}`,()=>Mt(t(m).timestamp),()=>`font-semibold shrink-0 min-w-[40px] ${Oe(t(m).level)}`,()=>t(m).level.toUpperCase(),()=>`log-category ${tt(t(m).category)} shrink-0`]),gr("click",b,()=>{s(re,t(h),!0)}),i(_,b)}),i(d,g)};U(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 O=l(L,2);{var m=E=>{var M=zr(),C=l(z(M),2),ne=n(C);o(C),R(()=>u(ne,`${t(A).duration??""}ms`)),i(E,M)};U(O,E=>{t(A).duration!==void 0&&E(m)})}o(c);var h=l(c,2);{var b=E=>{var M=Br(),C=l(n(M),2);we(C,17,()=>t(r),Me,(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 ht=l(N,2),nr=n(ht,!0);o(ht),o($),R((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($),R(()=>{u(H,t(G).label),u(fe,t(G).content)}),i(P,$)};U(je,P=>{t(G).content.length>500?P(Be):P(Fe,-1)})}i(ne,Le)}),o(M),i(E,M)};U(h,E=>{t(r).length>0&&E(b)})}var y=l(h,2),w=n(y),se=l(n(w),2);Ve(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,M)=>{oe();var C=q();R(()=>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(y),R((E,M,C,ne)=>{u(v,E),ge(p,1,M,"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)},[()=>Vt(t(A).timestamp),()=>`uppercase ${Oe(t(A).level)}`,()=>`log-category ${tt(t(A).category)}`,()=>ot(t(A))]),i(e,a)},rr=e=>{var r=Mr();i(e,r)};U(er,e=>{t(A)?e(tr):e(rr,-1)})}o(_t),o(vt),o(dt),o(Ce),R(()=>ge(ye,1,`sig-label font-medium ${t(ie)?"text-[var(--sig-success)] [animation:pulse_2s_infinite]":t(W)||t(K)?"text-[var(--sig-accent)] [animation:pulse_2s_infinite]":"text-[var(--sig-danger)]"}`,"svelte-q4aevr")),i($t,Ce),ur()}fr(["click"]);export{Qr as default};