signetai 0.71.2 → 0.71.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/chunks/{Bu_-BFVf.js → B4tFTFc1.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Dp7Iy9rl.js → B9aSSfN6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BfNkbo1j.js → BKHGbrYj.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B-ISwmV-.js → BN7JYXR-.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DQuD_zeF.js → BRtBM-Zc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DMlnxRRq.js → BhQABdNj.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CQd25M5y.js → BskbZPwi.js} +1 -1
- package/dashboard/_app/immutable/chunks/{PCAhrXWZ.js → ByeDL_xr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Ca06Juvi.js → C06Cn2mY.js} +1 -1
- package/dashboard/_app/immutable/chunks/{EZcaz71F.js → C0bmSyyj.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D5rqJUoA.js → C2EXe1LZ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CmTT2eNw.js → C4t1NdgG.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D5GKnpaJ.js → C7tzIqaE.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BV2XTssS.js → CGvOs4yt.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CJukW-oQ.js → CY7gkqs8.js} +1 -1
- package/dashboard/_app/immutable/chunks/{hBKehNPu.js → CeQISUbR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DoNTmMkM.js → CfeIAbji.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DlWN7kuG.js → Cj02Ol5o.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BqeITXNx.js → Ck3jngXP.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CXR7pwwW.js → Cvln_T5r.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DIQYi3U-.js → D4Xf7T8-.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B1l47Ou8.js → D5S7yRXn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{3Kw8-f_u.js → D896pLcn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B3bCvdU5.js → D98iOGZR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C2iPw2MW.js → DAeCExXR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C35C4SjK.js → DCUchj77.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D1siKm52.js → DFtLEfQH.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CCBcHNbe.js → DIpye-cT.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Ditr8Vi0.js → DRJRDoJp.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Dp5EerCV.js → DSX3kp7Y.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C-KZDxBx.js → DU-1F0zC.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BLGeP9Ct.js → DXNs1nY6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{gsT4PRp4.js → DglZ7Mt0.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BaBViwS3.js → DnKGuVCx.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Ce5zCIG5.js → DoEk4DBx.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BVJRlrvQ.js → Ds0To84D.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DmxyOFs8.js → HI7Wfr8l.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DidDVNFp.js → IrcItGTO.js} +1 -1
- package/dashboard/_app/immutable/chunks/{4rQ6z_w0.js → LWfMc8lQ.js} +2 -2
- package/dashboard/_app/immutable/chunks/{WufCVo_n.js → RssXZxod.js} +3 -3
- package/dashboard/_app/immutable/chunks/{neQRXSPg.js → UhywIwgI.js} +1 -1
- package/dashboard/_app/immutable/chunks/{rKI2BQU9.js → aYYCUiGA.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CW4R_2cJ.js → jj_Q-sE_.js} +1 -1
- package/dashboard/_app/immutable/chunks/{eWLyKQon.js → nwe2N4Lz.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CHijgd0t.js → rIj1gLy8.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Ag5pRllT.js → te95mKDy.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BPeeDkmf.js → u6TVHHLj.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.BMpScJca.js → app.Bd_auWSn.js} +2 -2
- package/dashboard/_app/immutable/entry/start.Bcd5hGPn.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.BLQZxS1g.js → 1.D-rBtFE7.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.CZGHAfSO.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/package.json +1 -1
- package/dashboard/_app/immutable/entry/start.BXcU3P2K.js +0 -1
- package/dashboard/_app/immutable/nodes/2.UJtcWoPn.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{e as We,p as F,s as ne,c as ie,f as te,a as se,n as oe,b as h,d as K,r as le,j as s,k as Y,t as M,l as n,y as V,z as ee,D as Q,A as pe,i as a,m as G,g as Ue,q as Ge,aQ as ke,F as Ie,v as b,B as fe,o as X,u as $,O,P as ge,ad as ze,N as ce,af as xe,w as he,J as _e,x as He}from"./p8zwC1au.js";import{H as ue,I as de,aN as Ve,b3 as Ye,b4 as Be}from"./
|
|
1
|
+
import{e as We,p as F,s as ne,c as ie,f as te,a as se,n as oe,b as h,d as K,r as le,j as s,k as Y,t as M,l as n,y as V,z as ee,D as Q,A as pe,i as a,m as G,g as Ue,q as Ge,aQ as ke,F as Ie,v as b,B as fe,o as X,u as $,O,P as ge,ad as ze,N as ce,af as xe,w as he,J as _e,x as He}from"./p8zwC1au.js";import{H as ue,I as de,aN as Ve,b3 as Ye,b4 as Be}from"./RssXZxod.js";import{W as Xe,L as Je}from"./IrcItGTO.js";import{R as Ne}from"./B9aSSfN6.js";import{P as je}from"./DSX3kp7Y.js";import{P as Fe}from"./D5S7yRXn.js";import{T as Ke}from"./DCUchj77.js";const g=We({entries:[],loading:!1,error:null,groups:[],activeGroup:null,draggingId:null,focusedId:null,widgetCacheVersion:0}),ve=new Map,we=new Set;function Ze(){return g.entries.filter(t=>t.state==="tray")}function Qe(){const t=g.entries.filter(e=>e.state==="grid");if(g.activeGroup){const e=g.groups.find(r=>r.id===g.activeGroup);if(e)return t.filter(r=>e.items.includes(r.id))}return t}function $e(){return g.entries.filter(t=>t.state==="dock")}const Ee=12;function Ae(t,e,r){const l=r?.x??0,c=r?.y??0;function v(m,S,E,w){for(const _ of t)if(m<_.x+_.w&&m+E>_.x&&S<_.y+_.h&&S+w>_.y)return!0;return!1}const o=Math.max(0,Math.min(Ee-e.w,l)),p=Math.max(0,c);if(!v(o,p,e.w,e.h))return{x:o,y:p,w:e.w,h:e.h};for(let m=1;m<=20;m++)for(let S=-m;S<=m;S++)for(let E=-m;E<=m;E++){if(Math.abs(E)!==m&&Math.abs(S)!==m)continue;const w=Math.max(0,Math.min(Ee-e.w,l+E)),_=Math.max(0,c+S);if(!v(w,_,e.w,e.h))return{x:w,y:_,w:e.w,h:e.h}}return{x:0,y:t.reduce((m,S)=>Math.max(m,S.y+S.h),0),w:e.w,h:e.h}}async function Se(){g.loading=!0,g.error=null;try{const t=await fetch(`${ue}/api/os/tray`);if(!t.ok)throw new Error(`HTTP ${t.status}`);const e=await t.json();g.entries=e.entries??[]}catch(t){g.error=t instanceof Error?t.message:String(t)}finally{g.loading=!1}}async function me(t,e,r){try{const l={state:e};r&&(l.gridPosition=r);const c=await fetch(`${ue}/api/os/tray/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!c.ok)return!1;const v=await c.json();if(v.success&&v.entry){const o=g.entries.findIndex(p=>p.id===t);o>=0&&(g.entries[o]=v.entry)}return!0}catch{return!1}}async function et(t,e){return me(t,"grid",e)}async function qe(t,e){const r=g.entries.find(o=>o.id===t);if(!r)return!1;if(e)return me(t,"grid",e);const l=r.manifest?.defaultSize??{w:4,h:3},c=g.entries.flatMap(o=>o.id!==t&&o.state==="grid"&&o.gridPosition?[o.gridPosition]:[]),v=Ae(c,l);return me(t,"grid",v)}async function tt(t){return me(t,"dock")}async function Oe(t){return me(t,"tray")}const Re="signet-os-sidebar-groups";function at(){try{const t=localStorage.getItem(Re);t&&(g.groups=JSON.parse(t))}catch{g.groups=[]}}function Pe(){localStorage.setItem(Re,JSON.stringify(g.groups))}function rt(t){const e={id:`group_${Date.now()}`,name:t,items:[]};return g.groups=[...g.groups,e],Pe(),e}function it(t){g.groups=g.groups.filter(e=>e.id!==t),g.activeGroup===t&&(g.activeGroup=null),Pe()}function nt(t,e){g.groups=g.groups.map(r=>r.id===t?{...r,name:e}:r),Pe()}function st(t,e){g.groups=g.groups.map(r=>r.id!==t||r.items.includes(e)?r:{...r,items:[...r.items,e]}),Pe()}function Me(t){g.activeGroup=t}function ot(t){g.focusedId=t}function be(){g.focusedId=null}async function Ce(t){if(ve.has(t))return ve.get(t)??null;try{const e=await fetch(`${ue}/api/os/widget/${encodeURIComponent(t)}`);if(!e.ok)return null;const r=await e.json();return r.html?(ve.set(t,r.html),g.widgetCacheVersion++,r.html):null}catch{return null}}async function Le(t){if(!we.has(t)){we.add(t),g.widgetCacheVersion++;try{const r=await(await fetch(`${ue}/api/os/widget/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverId:t,force:!1})})).json();r.status==="cached"&&r.html&&ve.set(t,r.html)}catch{}finally{ve.has(t)&&we.delete(t),g.widgetCacheVersion++}}}function Te(t,e){F(e,!0);let r=le(e,["$$slots","$$events","$$legacy"]);const l=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"}],["path",{d:"m3.3 7 8.7 5 8.7-5"}],["path",{d:"M12 22V12"}]];de(t,ne({name:"box"},()=>r,{get iconNode(){return l},children:(c,v)=>{var o=ie(),p=te(o);se(p,()=>e.children??oe),h(c,o)},$$slots:{default:!0}})),K()}var lt=G('<img class="auto-card-icon svelte-1y09vim" referrerpolicy="no-referrer"/>'),dt=G('<div class="auto-card-icon-placeholder svelte-1y09vim"><!></div>'),ct=G('<button class="auto-card-tool-btn sig-switch svelte-1y09vim" disabled=""><!> <span class="truncate"> </span></button>'),vt=G('<div class="auto-card-tools svelte-1y09vim"></div>'),ut=G('<div class="auto-card-empty svelte-1y09vim"><span class="sig-label">No tools exposed</span></div>'),gt=G('<div class="auto-card svelte-1y09vim"><div class="auto-card-header svelte-1y09vim"><!> <span class="auto-card-name svelte-1y09vim"> </span> <span class="sig-meta ml-auto"> </span></div> <!></div>');function pt(t,e){F(e,!0);var r=gt(),l=s(r),c=s(l);{var v=A=>{var u=lt();V(()=>{Q(u,"src",e.icon),Q(u,"alt",e.name)}),h(A,u)},o=A=>{var u=dt(),y=s(u);Te(y,{class:"size-4"}),n(u),h(A,u)};Y(c,A=>{e.icon?A(v):A(o,-1)})}var p=M(c,2),L=s(p,!0);n(p);var m=M(p,2),S=s(m);n(m),n(l);var E=M(l,2);{var w=A=>{var u=vt();pe(u,21,()=>e.autoCard.tools,y=>y.name,(y,z)=>{var q=ct(),U=s(q);Xe(U,{class:"size-3 shrink-0 opacity-50"});var J=M(U,2),j=s(J,!0);n(J),n(q),V(()=>{Q(q,"title",a(z).description||a(z).name),ee(j,a(z).name)}),h(y,q)}),n(u),h(A,u)},_=A=>{var u=ut();h(A,u)};Y(E,A=>{e.autoCard.tools.length>0?A(w):A(_,-1)})}n(r),V(()=>{ee(L,e.name),ee(S,`${e.autoCard.tools.length??""} tools`)}),h(t,r),K()}const ft=`
|
|
2
2
|
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
3
3
|
html { font-family: 'Geist Mono', 'IBM Plex Mono', monospace; font-size: 13px; line-height: 1.5; color: var(--sig-text); background: var(--sig-bg); -webkit-font-smoothing: antialiased; }
|
|
4
4
|
body { margin: 0; padding: 8px; min-height: 100%; }
|
|
@@ -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"./p8zwC1au.js";import{I as $}from"./
|
|
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"./p8zwC1au.js";import{I as $}from"./RssXZxod.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 +1 @@
|
|
|
1
|
-
import{p as y,g as a,c as C,f as i,h as c,W as K,s as W,i as Z,a as j,n as q,t as b,X as L,b as d,d as A,r as B,u as D,m as E,Y as M,k as R,Z as N,_ as O}from"./p8zwC1au.js";import{c as F}from"./
|
|
1
|
+
import{p as y,g as a,c as C,f as i,h as c,W as K,s as W,i as Z,a as j,n as q,t as b,X as L,b as d,d as A,r as B,u as D,m as E,Y as M,k as R,Z as N,_ as O}from"./p8zwC1au.js";import{c as F}from"./RssXZxod.js";var Q=E("<!> <!>",1);function $(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"orientation",3,"vertical"),l=B(r,["$$slots","$$events","$$legacy","ref","class","orientation","children"]);var f=C(),m=i(f);{let p=D(()=>F("flex touch-none p-px transition-colors select-none",t()==="vertical"&&"h-full w-2.5 border-s border-s-transparent",t()==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",r.class));c(m,()=>K,(u,S)=>{S(u,W({"data-slot":"scroll-area-scrollbar",get orientation(){return t()},get class(){return Z(p)}},()=>l,{get ref(){return o()},set ref(n){o(n)},children:(n,P)=>{var v=Q(),s=i(v);j(s,()=>r.children??q);var k=b(s,2);c(k,()=>L,(_,g)=>{g(_,{"data-slot":"scroll-area-thumb",class:"bg-border relative flex-1 rounded-full"})}),d(n,v)},$$slots:{default:!0}}))})}d(h,f),A()}var T=E("<!> <!> <!> <!>",1);function er(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"viewportRef",15,null),l=a(r,"orientation",3,"vertical"),f=a(r,"scrollbarXClasses",3,""),m=a(r,"scrollbarYClasses",3,""),p=B(r,["$$slots","$$events","$$legacy","ref","viewportRef","class","orientation","scrollbarXClasses","scrollbarYClasses","children"]);var u=C(),S=i(u);{let n=D(()=>F("relative",r.class));c(S,()=>O,(P,v)=>{v(P,W({"data-slot":"scroll-area",get class(){return Z(n)}},()=>p,{get ref(){return o()},set ref(s){o(s)},children:(s,k)=>{var _=T(),g=i(_);c(g,()=>M,(e,w)=>{w(e,{"data-slot":"scroll-area-viewport",class:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1",get ref(){return t()},set ref(x){t(x)},children:(x,U)=>{var Y=C(),J=i(Y);j(J,()=>r.children??q),d(x,Y)},$$slots:{default:!0}})});var z=b(g,2);{var G=e=>{$(e,{orientation:"vertical",get class(){return m()}})};R(z,e=>{(l()==="vertical"||l()==="both")&&e(G)})}var X=b(z,2);{var H=e=>{$(e,{orientation:"horizontal",get class(){return f()}})};R(X,e=>{(l()==="horizontal"||l()==="both")&&e(H)})}var I=b(X,2);c(I,()=>N,(e,w)=>{w(e,{})}),d(s,_)},$$slots:{default:!0}}))})}d(h,u),A()}export{er as S,$ as a};
|
|
@@ -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"./p8zwC1au.js";import{c as G,M as H}from"./
|
|
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"./p8zwC1au.js";import{c as G,M as H}from"./RssXZxod.js";import{C as I}from"./CfeIAbji.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 i,g as c,c as u,f,h as m,L as g,s as b,i as v,b as L,d as _,r as h,u as x}from"./p8zwC1au.js";import{c as y}from"./
|
|
1
|
+
import{p as i,g as c,c as u,f,h as m,L as g,s as b,i as v,b as L,d as _,r as h,u as x}from"./p8zwC1au.js";import{c as y}from"./RssXZxod.js";function P(t,e){i(e,!0);let a=c(e,"ref",15,null),r=h(e,["$$slots","$$events","$$legacy","ref","class"]);var s=u(),o=f(s);{let n=x(()=>y("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e.class));m(o,()=>g,(l,d)=>{d(l,b({"data-slot":"label",get class(){return v(n)}},()=>r,{get ref(){return a()},set ref(p){a(p)}}))})}L(t,s),_()}export{P as L};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as Pt,Q as Mt,i as r,v as d,c as Be,f as R,h as C,w as x,x as m,y,z as _,b as a,t as n,k as D,j as g,l as f,N as Tt,d as It,u as Y,o as X,A as Je,m as h,$ as Nt,G as at,E as Ft,B as _t,U as yt,O as Ge,a1 as qt,a2 as zt,P as Rt}from"./p8zwC1au.js";import{P as Bt}from"./DMl5tKJw.js";import{T as Lt}from"./Di3hX6WA.js";import{S as Ut,J as Ot,K as Wt,L as jt,B as ve,N as Vt,O as Kt,P as Gt,T as Jt,h as Qt,n as bt,i as Xt,Q as l,R as $t,U as Yt,V as Ht,W as Zt,A as wt,X as er,Y as st,Z as kt,_ as tr}from"./
|
|
1
|
+
import{p as Pt,Q as Mt,i as r,v as d,c as Be,f as R,h as C,w as x,x as m,y,z as _,b as a,t as n,k as D,j as g,l as f,N as Tt,d as It,u as Y,o as X,A as Je,m as h,$ as Nt,G as at,E as Ft,B as _t,U as yt,O as Ge,a1 as qt,a2 as zt,P as Rt}from"./p8zwC1au.js";import{P as Bt}from"./DMl5tKJw.js";import{T as Lt}from"./Di3hX6WA.js";import{S as Ut,J as Ot,K as Wt,L as jt,B as ve,N as Vt,O as Kt,P as Gt,T as Jt,h as Qt,n as bt,i as Xt,Q as l,R as $t,U as Yt,V as Ht,W as Zt,A as wt,X as er,Y as st,Z as kt,_ as tr}from"./RssXZxod.js";import{I as Le}from"./DU-1F0zC.js";import{L as ue}from"./BRtBM-Zc.js";import{T as ht}from"./DFtLEfQH.js";import{c as Dt,S as At,a as Ct,b as Qe}from"./D98iOGZR.js";import{S as St}from"./C0bmSyyj.js";import{B as Re}from"./ByeDL_xr.js";import{P as rr,a as ar,b as sr}from"./jj_Q-sE_.js";import{C as or,a as nr}from"./D4Xf7T8-.js";var ir=h("<!> <!>",1),lr=h("<!> <!> <!>",1),dr=h("<!> <!>",1),cr=h('<div class="flex flex-col gap-1"><!> <!></div>'),ur=h('Reason for change <span class="text-[var(--sig-accent)]">*</span>',1),vr=h('<div class="flex flex-col gap-1"><!> <!></div> <div class="grid grid-cols-2 gap-3"><div class="flex flex-col gap-1"><!> <!></div> <div class="flex flex-col gap-1"><!> <!></div></div> <!> <div class="flex flex-col gap-1"><!> <!></div> <div class="flex items-center justify-between"><!> <!></div> <div class="flex flex-col gap-1"><!> <!></div>',1),fr=h('<span class="px-1.5 py-px border border-[var(--sig-border-strong)]"> </span>'),gr=h(`This memory is <strong>pinned</strong>. Deleting it requires
|
|
2
2
|
force, which removes it permanently from search results.`,1),pr=h('<div class="flex items-center gap-2"><!> <!></div>'),mr=h('Reason for deletion <span class="text-[var(--sig-accent)]">*</span>',1),xr=h(`<div class="flex flex-col gap-2 p-3 border border-[var(--sig-border-strong)]
|
|
3
3
|
bg-[var(--sig-surface-raised)]"><p class="m-0 text-[var(--sig-text-bright)] text-[11px]
|
|
4
4
|
leading-[1.5] whitespace-pre-wrap break-words"> </p> <div class="flex flex-wrap gap-1 text-[9px]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as qt,o as b,e as Dt,q as Ft,v as a,Q as Vt,i as e,j as n,t as l,h as D,f as F,w as ie,x as G,y as w,z as c,b as i,A as be,c as he,G as ye,l as o,k as J,B as ve,O as Ht,u as we,d as Gt,R as tt,m as f,P as Jt}from"./p8zwC1au.js";import{f as It,n as Kt,E as Ut,B as Be,A as rt}from"./
|
|
1
|
+
import{p as qt,o as b,e as Dt,q as Ft,v as a,Q as Vt,i as e,j as n,t as l,h as D,f as F,w as ie,x as G,y as w,z as c,b as i,A as be,c as he,G as ye,l as o,k as J,B as ve,O as Ht,u as we,d as Gt,R as tt,m as f,P as Jt}from"./p8zwC1au.js";import{f as It,n as Kt,E as Ut,B as Be,A as rt}from"./RssXZxod.js";import{C as Xt}from"./BN7JYXR-.js";import{S as Qt}from"./BKHGbrYj.js";import{S as at,a as st,b as $e,c as nt}from"./D98iOGZR.js";import{P as Wt}from"./DMl5tKJw.js";import{T as Yt}from"./Di3hX6WA.js";var Zt=f("<!> <!>",1),er=f("<!> <!>",1),tr=f("<!> <!>",1),rr=f("<!> <!>",1),ar=f('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),sr=f('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),nr=f('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),or=f('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),lr=f('<span class="text-[var(--sig-text-muted)]"> </span>'),ir=f('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),vr=f('<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>'),cr=f('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),dr=f('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),ur=f('<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>'),gr=f('<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>'),fr=f('<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>'),mr=f('<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),pr=f('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),xr=f('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Sr(ot,lt){qt(lt,!0);const it=2e3,vt=3e4,ze={debug:0,info:1,warn:2,error:3};let m=b(Dt([])),Le=b(!1),ue=b(""),se=b(!1),W=b(!1),I=b(!1),Y=b(""),E=null,K=b(!0),Z=0,B=null,ee=b(""),te=b(""),M=b(!1),ge=b(!1),Ne=b(!1),ne=b(null),U=b(null),fe=b(!1),oe=null;const ct=24,dt=["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"],ut=["debug","info","warn","error"];function Se(t){switch(t){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function Oe(t){switch(t.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 ce(t,r){return`${t.timestamp}-${t.level}-${t.category}-${r}`}function gt(){return e(m).length===0||!e(U)?!0:e(U)===ce(e(m)[e(m).length-1],e(m).length-1)}function Me(){if(e(m).length===0){a(U,null);return}a(U,ce(e(m)[e(m).length-1],e(m).length-1),!0)}function ft(){if(!e(U))return e(m).at(-1)??null;for(let t=0;t<e(m).length;t+=1)if(ce(e(m)[t],t)===e(U))return e(m)[t];return e(m).at(-1)??null}const L=we(ft);function je(t="smooth"){e(ne)&&e(ne).scrollTo({top:e(ne).scrollHeight,behavior:t})}function ke(t="auto"){oe===null&&tt().then(()=>{oe===null&&(oe=requestAnimationFrame(()=>{oe=null,e(M)&&je(t)}))})}function mt(t){return t?t.scrollTop+t.clientHeight>=t.scrollHeight-ct:!0}async function me(){a(Le,!0),a(ue,"");try{const t=new URLSearchParams({limit:"200"});e(ee)&&t.set("level",e(ee)),e(te)&&t.set("category",e(te));const s=await(await fetch(`/api/logs?${t}`)).json();a(m,s.logs||[],!0),Me(),e(Ne)?e(M)&&ke("auto"):(a(Ne,!0),tt().then(()=>je("auto")))}catch{a(ue,"Failed to fetch logs")}finally{a(Le,!1)}}function qe(){e(K)&&(B!==null&&(clearTimeout(B),B=null),E&&E.close(),a(I,!0),Z===0&&(a(W,!1),a(Y,"")),E=new EventSource("/api/logs/stream"),E.onmessage=t=>{try{const r=JSON.parse(t.data);if(r.type==="connected"){Z=0,a(W,!1),a(I,!1),a(se,!0),a(Y,"");return}e(I)&&(a(I,!1),a(se,!0));const s=typeof r.level=="string"?ze[r.level]:void 0,g=ze[e(ee)];if(e(ee)&&(s??-1)<(g??-1)||e(te)&&r.category!==e(te))return;const p=gt();a(m,[...e(m).slice(-499),r],!0),p&&Me(),e(M)&&ke("auto")}catch{}},E.onerror=()=>{if(!e(K)||(a(se,!1),a(I,!1),E?.close(),E=null,B!==null))return;const t=Math.min(it*2**Math.min(Z,10),vt);Z=Math.min(Z+1,10),a(W,!0),a(Y,`Stream lost — reconnecting in ${t/1e3}s`),B=setTimeout(()=>{B=null,qe()},t)})}function pt(){a(K,!1),a(se,!1),a(I,!1),a(W,!1),a(Y,""),Z=0,B!==null&&(clearTimeout(B),B=null),E&&(E.close(),E=null)}function De(){a(K,!0),Z=0,a(W,!1),a(Y,""),qe()}function xt(){if(e(K)){pt();return}De()}function _t(t){return t.split("T")[1]?.slice(0,8)||""}function bt(t){try{return new Date(t).toLocaleString()}catch{return t}}function Fe(t){return JSON.stringify(t,null,2)}function j(t){return typeof t=="string"&&t.length>0?t:null}function ht(t){return Array.isArray(t)?t.filter(r=>typeof r=="string"&&r.length>0):[]}function Ve(t){const r=t.data;if(!r)return[];const s=[],g=j(r.inject)??j(r.injectPreview);g&&s.push({label:"Inject",content:g});const p=j(r.prompt)??j(r.promptPreview);p&&s.push({label:"Prompt",content:p});const A=j(r.summaryPrompt)??j(r.summaryPromptPreview);A&&s.push({label:"Summary Prompt",content:A});const S=j(r.summary)??j(r.summaryPreview);S&&s.push({label:"Summary",content:S});const $=j(r.transcript)??j(r.transcriptPreview);$&&s.push({label:"Transcript",content:$});const v=ht(r.factsPreview);if(v.length>0){const d=v.map(k=>`- ${k}`).join(`
|
|
2
2
|
`);s.push({label:"Facts",content:d})}return s}function He(t){const r=Ve(t);if(r.length===0)return"";const s=r.map(g=>g.content).join(`
|
|
3
3
|
|
|
4
4
|
`).trim();return s.length<=220?s:`${s.slice(0,220)}...`}async function yt(){if(e(L))try{await navigator.clipboard.writeText(Fe(e(L))),a(fe,!0),setTimeout(()=>{a(fe,!1)},1200)}catch{a(fe,!1)}}Ft(()=>(me(),De(),()=>{a(K,!1),oe!==null&&cancelAnimationFrame(oe),B!==null&&clearTimeout(B),E&&E.close()})),Vt(()=>{const t=e(ne);if(!t)return;const r=()=>{const s=mt(t);if(e(M)&&!s){a(M,!1),a(ge,!0);return}!e(M)&&e(ge)&&s&&(a(M,!0),a(ge,!1))};return t.addEventListener("scroll",r,{passive:!0}),r(),()=>{t.removeEventListener("scroll",r)}});var Pe=xr(),Ge=n(Pe);Wt(Ge,{title:"Logs",children:(t,r)=>{Yt(t,{group:"engine",get tabs(){return Ut},get activeTab(){return Kt.activeTab},onselect:(s,g)=>It(g)})}});var Je=l(Ge,2),Ie=n(Je),Te=n(Ie),Ce=n(Te),Ke=n(Ce);D(Ke,()=>nt,(t,r)=>{r(t,{type:"single",get value(){return e(ee)},onValueChange:s=>{a(ee,s??"",!0),me()},children:(s,g)=>{var p=er(),A=F(p);D(A,()=>at,($,v)=>{v($,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(d,k)=>{ie();var h=G();w(()=>c(h,e(ee)||"All levels")),i(d,h)},$$slots:{default:!0}})});var S=l(A,2);D(S,()=>st,($,v)=>{v($,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(d,k)=>{var h=Zt(),u=F(h);D(u,()=>$e,(x,y)=>{y(x,{value:"",label:"All levels"})});var X=l(u,2);be(X,17,()=>ut,ye,(x,y)=>{var R=he(),V=F(R);D(V,()=>$e,(q,Q)=>{Q(q,{get value(){return e(y)},get label(){return e(y)}})}),i(x,R)}),i(d,h)},$$slots:{default:!0}})}),i(s,p)},$$slots:{default:!0}})});var Ue=l(Ke,2);D(Ue,()=>nt,(t,r)=>{r(t,{type:"single",get value(){return e(te)},onValueChange:s=>{a(te,s??"",!0),me()},children:(s,g)=>{var p=rr(),A=F(p);D(A,()=>at,($,v)=>{v($,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(d,k)=>{ie();var h=G();w(()=>c(h,e(te)||"All categories")),i(d,h)},$$slots:{default:!0}})});var S=l(A,2);D(S,()=>st,($,v)=>{v($,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(d,k)=>{var h=tr(),u=F(h);D(u,()=>$e,(x,y)=>{y(x,{value:"",label:"All categories"})});var X=l(u,2);be(X,17,()=>dt,ye,(x,y)=>{var R=he(),V=F(R);D(V,()=>$e,(q,Q)=>{Q(q,{get value(){return e(y)},get label(){return e(y)}})}),i(x,R)}),i(d,h)},$$slots:{default:!0}})}),i(s,p)},$$slots:{default:!0}})});var Ee=l(Ue,2),wt=n(Ee);Xt(wt,{get checked(){return e(M)},onCheckedChange:t=>{a(M,t===!0),a(ge,!1),e(M)&&ke("auto")},class:"rounded-lg"}),ie(),o(Ee);var Xe=l(Ee,2),Qe=n(Xe);{var $t=t=>{var r=ar(),s=n(r,!0);o(r),w(()=>c(s,e(Y))),i(t,r)};J(Qe,t=>{e(Y)&&t($t)})}var pe=l(Qe,2),Lt=n(pe);{var St=t=>{var r=G("● Live");i(t,r)},kt=t=>{var r=G("↺ Reconnecting");i(t,r)},Pt=t=>{var r=G("◌ Connecting");i(t,r)},Tt=t=>{var r=G("● Offline");i(t,r)};J(Lt,t=>{e(se)?t(St):e(W)?t(kt,1):e(I)?t(Pt,2):t(Tt,-1)})}o(pe);var We=l(pe,2);{let t=we(()=>e(K)?"Disconnect stream":"Reconnect stream");Be(We,{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:xt,get title(){return e(t)},children:(r,s)=>{ie();var g=G();w(()=>c(g,e(K)?"Disconnect":"Reconnect")),i(r,g)},$$slots:{default:!0}})}var Ct=l(We,2);Be(Ct,{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:me,title:"Reload logs",children:(t,r)=>{ie();var s=G();w(()=>c(s,rt.Refresh)),i(t,s)},$$slots:{default:!0}}),o(Xe),o(Ce);var Et=l(Ce,2);Qt(Et,{class:"min-h-0 flex-1",get viewportRef(){return e(ne)},set viewportRef(t){a(ne,t,!0)},children:(t,r)=>{var s=cr(),g=n(s);{var p=v=>{var d=sr();i(v,d)},A=v=>{var d=nr(),k=n(d,!0);o(d),w(()=>c(k,e(ue))),i(v,d)},S=v=>{var d=or();i(v,d)},$=v=>{var d=he(),k=F(d);be(k,17,()=>e(m),ye,(h,u,X)=>{var x=vr(),y=n(x),R=n(y),V=n(R,!0);o(R);var q=l(R,2),Q=n(q,!0);o(q);var le=l(q,2),P=n(le);o(le);var T=l(le,2),z=n(T,!0);o(T);var re=l(T,2);{var H=N=>{var _=lr(),C=n(_);o(_),w(()=>c(C,`(${e(u).duration??""}ms)`)),i(N,_)};J(re,N=>{e(u).duration!==void 0&&N(H)})}o(y);var xe=l(y,2);{var Ae=N=>{var _=ir(),C=n(_,!0);o(_),w(O=>c(C,O),[()=>He(e(u))]),i(N,_)},Re=we(()=>He(e(u)));J(xe,N=>{e(Re)&&N(Ae)})}o(x),w((N,_,C,O,ae)=>{ve(x,1,N,"svelte-q4aevr"),c(V,_),ve(q,1,C,"svelte-q4aevr"),c(Q,O),ve(le,1,ae,"svelte-q4aevr"),c(P,`[${e(u).category??""}]`),c(z,e(u).message)},[()=>`log-row ${Se(e(u).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 ${e(U)===ce(e(u),X)?"bg-[var(--sig-surface)] border-[var(--sig-border-strong)]":""}`,()=>_t(e(u).timestamp),()=>`font-semibold shrink-0 min-w-[40px] ${Se(e(u).level)}`,()=>e(u).level.toUpperCase(),()=>`log-category ${Oe(e(u).category)} shrink-0`]),Ht("click",x,()=>{a(U,ce(e(u),X),!0)}),i(h,x)}),i(v,d)};J(g,v=>{e(Le)?v(p):e(ue)?v(A,1):e(m).length===0?v(S,2):v($,-1)})}o(s),i(t,s)},$$slots:{default:!0}}),o(Te);var Ye=l(Te,2),At=n(Ye);{var Rt=t=>{const r=we(()=>Ve(e(L)));var s=mr(),g=F(s),p=l(n(g),2),A=n(p,!0);o(p);var S=l(p,4),$=n(S,!0);o(S);var v=l(S,4),d=n(v,!0);o(v);var k=l(v,4),h=n(k,!0);o(k);var u=l(k,2);{var X=P=>{var T=dr(),z=l(F(T),2),re=n(z);o(z),w(()=>c(re,`${e(L).duration??""}ms`)),i(P,T)};J(u,P=>{e(L).duration!==void 0&&P(X)})}o(g);var x=l(g,2);{var y=P=>{var T=fr(),z=l(n(T),2);be(z,17,()=>e(r),ye,(re,H)=>{var xe=he(),Ae=F(xe);{var Re=_=>{var C=ur(),O=n(C),ae=n(O),_e=n(ae,!0);o(ae);var de=l(ae,2),zt=n(de);o(de);var Ze=l(de,2),Nt=n(Ze);o(Ze),o(O);var et=l(O,2),Ot=n(et,!0);o(et),o(C),w((Mt,jt)=>{c(_e,e(H).label),c(zt,`(${Mt??""} chars)`),c(Nt,`${jt??""}...`),c(Ot,e(H).content)},[()=>e(H).content.length.toLocaleString(),()=>e(H).content.slice(0,100).replace(/\n/g," ")]),i(_,C)},N=_=>{var C=gr(),O=n(C),ae=n(O,!0);o(O);var _e=l(O,2),de=n(_e,!0);o(_e),o(C),w(()=>{c(ae,e(H).label),c(de,e(H).content)}),i(_,C)};J(Ae,_=>{e(H).content.length>500?_(Re):_(N,-1)})}i(re,xe)}),o(T),i(P,T)};J(x,P=>{e(r).length>0&&P(y)})}var R=l(x,2),V=n(R),q=l(n(V),2);Be(q,{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:yt,children:(P,T)=>{ie();var z=G();w(()=>c(z,e(fe)?"Copied":rt.CopyJson)),i(P,z)},$$slots:{default:!0}}),o(V);var Q=l(V,2),le=n(Q,!0);o(Q),o(R),w((P,T,z,re)=>{c(A,P),ve(S,1,T,"svelte-q4aevr"),c($,e(L).level),ve(v,1,z,"svelte-q4aevr"),c(d,e(L).category),c(h,e(L).message),c(le,re)},[()=>bt(e(L).timestamp),()=>`uppercase ${Se(e(L).level)}`,()=>`log-category ${Oe(e(L).category)}`,()=>Fe(e(L))]),i(t,s)},Bt=t=>{var r=pr();i(t,r)};J(At,t=>{e(L)?t(Rt):t(Bt,-1)})}o(Ye),o(Ie),o(Je),o(Pe),w(()=>ve(pe,1,`sig-label font-medium ${e(se)?"text-[var(--sig-success)] [animation:pulse_2s_infinite]":e(W)||e(I)?"text-[var(--sig-accent)] [animation:pulse_2s_infinite]":"text-[var(--sig-danger)]"}`,"svelte-q4aevr")),i(ot,Pe),Gt()}Jt(["click"]);export{Sr as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as h,g as s,c as o,f as d,M as p,F as m,E as x,a as y,n as w,b as c,d as _,r as k}from"./p8zwC1au.js";import{c as B,e as V}from"./
|
|
1
|
+
import{p as h,g as s,c as o,f as d,M as p,F as m,E as x,a as y,n as w,b as c,d as _,r as k}from"./p8zwC1au.js";import{c as B,e as V}from"./RssXZxod.js";const j=V({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent",destructive:"bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function F(v,e){h(e,!0);let a=s(e,"ref",15,null),f=s(e,"variant",3,"default"),l=k(e,["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);var t=o(),u=d(t);p(u,()=>e.href?"a":"span",!1,(i,g)=>{m(i,r=>a(r),()=>a()),x(i,r=>({"data-slot":"badge",href:e.href,class:r,...l}),[()=>B(j({variant:f()}),e.class)]);var n=o(),b=d(n);y(b,()=>e.children??w),c(g,n)}),c(v,t),_()}export{F as B};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as We,s as $t,c as pe,f as b,a as jt,n as Mt,b as a,d as Fe,r as Lt,g as ht,j as n,l as s,t as r,k as q,i as t,y as p,B as wt,D as bt,z as u,O as Be,u as U,m as i,P as kt,A as qe,ad as Pt,o as xe,e as zt,Q as Ot,v as d,h as _,w as m,x as R,N as Kt}from"./p8zwC1au.js";import{S as At}from"./
|
|
1
|
+
import{p as We,s as $t,c as pe,f as b,a as jt,n as Mt,b as a,d as Fe,r as Lt,g as ht,j as n,l as s,t as r,k as q,i as t,y as p,B as wt,D as bt,z as u,O as Be,u as U,m as i,P as kt,A as qe,ad as Pt,o as xe,e as zt,Q as Ot,v as d,h as _,w as m,x as R,N as Kt}from"./p8zwC1au.js";import{S as At}from"./C0bmSyyj.js";import{I as Bt,l as qt,S as Ct,J as St,K as Dt,L as Rt,B as et,aN as Ht,T as Vt,N as Tt,q as Wt,aO as Ft}from"./RssXZxod.js";import{I as pt}from"./DU-1F0zC.js";import{L as Ae}from"./BRtBM-Zc.js";import{T as Ut}from"./DFtLEfQH.js";import{c as it,S as dt,a as vt,b as $e}from"./D98iOGZR.js";import{B as ct}from"./ByeDL_xr.js";import{S as Gt,a as Jt}from"./BKHGbrYj.js";import{C as Qt,a as Xt}from"./Cj02Ol5o.js";import{P as Yt}from"./CeQISUbR.js";import{T as Zt}from"./DCUchj77.js";function Nt(we,e){We(e,!0);let L=Lt(e,["$$slots","$$events","$$legacy"]);const E=[["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"}]];Bt(we,$t({name:"play"},()=>L,{get iconNode(){return E},children:(G,S)=>{var T=pe(),j=b(T);jt(j,()=>e.children??Mt),a(G,T)},$$slots:{default:!0}})),Fe()}var ea=i("<span> </span>"),ta=i('<span class="task-status-running svelte-1lta2hw">running</span>'),aa=i("<span> </span>"),ra=i('<span class="task-status-failed svelte-1lta2hw"> </span>'),sa=i('<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 yt(we,e){We(e,!0);let L=ht(e,"isSelected",3,!1);function E(l){if(!l)return"--";const v=new Date(l).getTime()-Date.now(),I=Math.abs(v);if(I<6e4)return v>0?"< 1m":"just now";if(I<36e5){const _e=Math.round(I/6e4);return v>0?`${_e}m`:`${_e}m ago`}if(I<864e5){const _e=Math.round(I/36e5);return v>0?`${_e}h`:`${_e}h ago`}const ue=Math.round(I/864e5);return v>0?`${ue}d`:`${ue}d ago`}let G=U(()=>e.task.harness==="claude-code"?"claude":e.task.harness==="codex"?"codex":"opencode"),S=U(()=>E(e.task.next_run_at)),T=U(()=>E(e.task.last_run_at));var j=sa();let y;var te=n(j),w=n(te),le=n(w,!0);s(w);var de=r(w,2),ge=n(de,!0);s(de),s(te);var Pe=r(te,2),ce=n(Pe),h=n(ce,!0);s(ce);var J=r(ce,2);{var fe=l=>{var v=ea(),I=n(v);s(v),p(()=>u(I,`next: ${t(S)??""}`)),a(l,v)},Ce=l=>{var v=ta();a(l,v)},Se=l=>{var v=aa(),I=n(v);s(v),p(()=>u(I,`exit 0 · ${t(T)??""}`)),a(l,v)},oe=l=>{var v=ra(),I=n(v);s(v),p(()=>u(I,`exit ${e.task.last_run_exit_code??"?"??""} · ${t(T)??""}`)),a(l,v)};q(J,l=>{e.columnKey==="scheduled"?l(fe):e.columnKey==="running"?l(Ce,1):e.columnKey==="completed"?l(Se,2):e.columnKey==="failed"&&l(oe,3)})}s(Pe);var N=r(Pe,2),D=n(N),ae=n(D);{let l=U(()=>!!e.task.enabled);At(ae,{get checked(){return t(l)},onCheckedChange:v=>e.ontoggle(v===!0),class:"scale-75 origin-left"})}s(D);var Q=r(D,2),g=n(Q);Nt(g,{class:"size-3"}),s(Q),s(N),s(j),p(()=>{y=wt(j,1,"task-card svelte-1lta2hw",null,y,{"task-card--selected":L(),"task-card--disabled":!e.task.enabled}),bt(j,"data-task-id",e.task.id),bt(j,"data-column",e.columnKey),u(le,e.task.name),u(ge,t(G)),u(h,e.task.cron_expression)}),Be("click",j,function(...l){e.onclick?.apply(this,l)}),Be("keydown",j,l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),e.onclick())}),Be("click",D,l=>l.stopPropagation()),Be("click",Q,l=>{l.stopPropagation(),e.ontrigger()}),a(we,j),Fe()}kt(["click","keydown"]);var na=i('<div class="empty-state svelte-10pk3oi">LOADING</div>'),la=i('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),oa=i('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),ia=i('<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>'),da=i('<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>'),va=i('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function dr(we,e){We(e,!0);let L=ht(e,"selectedColumn",3,0),E=ht(e,"selectedTaskInColumn",3,0),G=U(()=>e.tasks.filter(h=>h.enabled&&h.last_run_status!=="running")),S=U(()=>e.tasks.filter(h=>h.last_run_status==="running")),T=U(()=>e.tasks.filter(h=>h.last_run_status==="completed"&&!t(S).some(J=>J.id===h.id))),j=U(()=>e.tasks.filter(h=>h.last_run_status==="failed"&&!t(S).some(J=>J.id===h.id))),y=U(()=>e.tasks.filter(h=>!h.enabled));const te=[{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 w(h){switch(h){case"scheduled":return t(G);case"running":return t(S);case"completed":return t(T);case"failed":return t(j);default:return[]}}var le=pe(),de=b(le);{var ge=h=>{var J=na();a(h,J)},Pe=h=>{var J=la();a(h,J)},ce=h=>{var J=va(),fe=b(J);qe(fe,23,()=>te,oe=>oe.key,(oe,N,D)=>{const ae=U(()=>w(t(N).key));var Q=ia(),g=n(Q),l=n(g),v=r(l,2),I=n(v,!0);s(v);var ue=r(v,2),_e=n(ue,!0);s(ue),s(g);var M=r(g,2),X=n(M);qe(X,19,()=>t(ae),ie=>ie.id,(ie,me,be)=>{{let je=U(()=>t(D)===L()&&t(be)===E());yt(ie,{get task(){return t(me)},get columnKey(){return t(N).key},get isSelected(){return t(je)},onclick:()=>e.onopendetail(t(me).id,t(D),t(be)),ontrigger:()=>e.ontrigger(t(me).id),ontoggle:Ee=>e.ontoggle(t(me).id,Ee)})}});var he=r(X,2);{var De=ie=>{var me=oa();a(ie,me)};q(he,ie=>{t(ae).length===0&&ie(De)})}s(M),s(Q),p(()=>{bt(Q,"data-column-idx",t(D)),Pt(l,`background: ${t(N).color??""}`),u(I,t(N).label),u(_e,t(ae).length)}),a(oe,Q)}),s(fe);var Ce=r(fe,2);{var Se=oe=>{var N=da(),D=n(N),ae=n(D),Q=r(n(ae),4),g=n(Q,!0);s(Q),s(ae);var l=r(ae,2);qe(l,21,()=>t(y),v=>v.id,(v,I)=>{yt(v,{get task(){return t(I)},columnKey:"disabled",isSelected:!1,onclick:()=>e.onopendetail(t(I).id,-1,-1),ontrigger:()=>e.ontrigger(t(I).id),ontoggle:ue=>e.ontoggle(t(I).id,ue)})}),s(l),s(D),s(N),p(()=>u(g,t(y).length)),a(oe,N)};q(Ce,oe=>{t(y).length>0&&oe(Se)})}a(h,J)};q(de,h=>{e.loading&&e.tasks.length===0?h(ge):e.tasks.length===0?h(Pe,1):h(ce,-1)})}a(we,le),Fe()}const ca=[{label:"PR Review",description:"Review open pull requests daily",name:"Review open PRs",prompt:"Review all open pull requests. Summarize changes, flag potential issues, and note any that need urgent attention.",harness:"claude-code",cronExpression:"0 9 * * *"},{label:"Test Suite",description:"Run tests and report failures",name:"Run test suite",prompt:"Run the full test suite. Report any failures with context about what broke and likely causes.",harness:"claude-code",cronExpression:"0 * * * *"},{label:"Memory Maintenance",description:"Clean up and deduplicate memories",name:"Memory maintenance",prompt:"Review recent memories for duplicates, outdated information, and low-quality entries. Suggest cleanup actions.",harness:"claude-code",cronExpression:"0 9 * * 0",skillName:"memory-debug",skillMode:"inject"},{label:"Code Review",description:"Review recent commits for issues",name:"Review recent commits",prompt:"Review commits from the last 24 hours. Look for bugs, style issues, missing tests, and security concerns.",harness:"claude-code",cronExpression:"0 17 * * *"},{label:"Docs Audit",description:"Check documentation is up to date",name:"Documentation audit",prompt:"Audit the project documentation. Check for outdated references, missing docs for new features, and broken links.",harness:"claude-code",cronExpression:"0 9 * * 1"}];var ua=i("<!> <!>",1),xa=i(`<button class="flex flex-col gap-0.5 p-2 rounded text-left
|
|
2
2
|
bg-[var(--sig-surface-raised)] border border-[var(--sig-border)]
|
|
3
3
|
hover:border-[var(--sig-text-muted)] transition-colors cursor-pointer"><span class="text-[11px] text-[var(--sig-text-bright)]"> </span> <span class="text-[9px] text-[var(--sig-text-muted)] leading-[1.4]"> </span></button>`),ga=i(`<div class="flex flex-col gap-2 px-4 pb-3"><div class="flex items-center justify-between"><span class="text-[10px] font-bold uppercase tracking-[0.1em]
|
|
4
4
|
text-[var(--sig-text-muted)] font-[family-name:var(--font-display)]">Start from a template</span> <button class="text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,H as z,i as l,b as u,u as h,d as H,r as j}from"./p8zwC1au.js";import{c as f}from"./
|
|
1
|
+
import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,H as z,i as l,b as u,u as h,d as H,r as j}from"./p8zwC1au.js";import{c as f}from"./RssXZxod.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),H()}export{C as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,s as l,c,f as d,a as i,n as m,b as f,d as h,r as u}from"./p8zwC1au.js";import{I as $}from"./
|
|
1
|
+
import{p as n,s as l,c,f as d,a as i,n as m,b as f,d as h,r as u}from"./p8zwC1au.js";import{I as $}from"./RssXZxod.js";function z(e,a){n(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}]];$(e,l({name:"zap"},()=>o,{get iconNode(){return t},children:(r,_)=>{var s=c(),p=d(s);i(p,()=>a.children??m),f(r,s)},$$slots:{default:!0}})),h()}export{z as Z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as c,g as d,E as i,j as l,a as p,n as f,l as m,F as u,b as h,d as _,r as v,m as b}from"./p8zwC1au.js";import{c as g}from"./
|
|
1
|
+
import{p as c,g as d,E as i,j as l,a as p,n as f,l as m,F as u,b as h,d as _,r as v,m as b}from"./p8zwC1au.js";import{c as g}from"./RssXZxod.js";var x=b("<p><!></p>");function y(r,s){c(s,!0);let e=d(s,"ref",15,null),o=v(s,["$$slots","$$events","$$legacy","ref","class","children"]);var a=x();i(a,t=>({"data-slot":"card-description",class:t,...o}),[()=>g("text-muted-foreground text-sm",s.class)]);var n=l(a);p(n,()=>s.children??f),m(a),u(a,t=>e(t),()=>e()),h(r,a),_()}export{y as C};
|
|
@@ -1 +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"./p8zwC1au.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./p8zwC1au.js";import{I as $}from"./RssXZxod.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,3 +1,3 @@
|
|
|
1
|
-
import{e as Rt,p as tt,Q as Ft,i as e,v as x,j as r,k as I,t as s,l as t,y as _,B as Fe,D as v,z as f,O as mt,b as l,d as rt,u as E,o as V,aj as de,P as Ut,f as Z,A as Oe,G as pt,N as $t,ai as jt,c as Ve,h as ke,w as he,x as Ee,m as D,q as nr,s as ir,ad as Bt,F as lr}from"./p8zwC1au.js";import{B as Tt}from"./PCAhrXWZ.js";import{aP as dr,S as cr,J as vr,K as ur,N as fr,L as gr,aQ as mr,t as zt,aR as pr,f as hr,n as xr,E as br,B as gt}from"./WufCVo_n.js";import{S as Wt}from"./EZcaz71F.js";import{P as _r,a as yr,b as wr}from"./CW4R_2cJ.js";import{w as Pt,s as Yt}from"./D97W6bYo.js";import{P as kr}from"./DMl5tKJw.js";import{T as Sr}from"./Di3hX6WA.js";const Te={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Ge={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},Cr={harness:{x:20,y:20,w:240,h:120,label:Ge.harness,color:Te.harness},daemon:{x:300,y:20,w:340,h:280,label:Ge.daemon,color:Te.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Ge.pipeline,color:Te.pipeline},db:{x:680,y:160,w:200,h:200,label:Ge.db,color:Te.db},search:{x:920,y:160,w:200,h:140,label:Ge.search,color:Te.search},files:{x:680,y:400,w:200,h:100,label:Ge.files,color:Te.files},configs:{x:920,y:400,w:200,h:100,label:Ge.configs,color:Te.configs},llm:{x:680,y:540,w:200,h:80,label:Ge.llm,color:Te.llm}},at=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"Ollama qwen3:4b (or configured provider)"}],qt=new Map(at.map(g=>[g.id,g])),Pr=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function $r(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const Gt=new Map;for(const g of at)for(const o of g.logCategories){const i=Gt.get(o);i?i.push(g.id):Gt.set(o,[g.id])}const Xt=20;function Tr(){const g={};for(const o of at)g[o.id]=$r();return g}const Vt=50,S=Rt({nodes:Tr(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let pe=null;function Zt(){pe&&(pe.close(),pe=null);const g="";pe=new EventSource(`${g}/api/logs/stream`),pe.onopen=()=>{S.connected=!0},pe.onmessage=o=>{try{const i=JSON.parse(o.data);if(i.type==="connected"){S.connected=!0;return}const d=[...S.feed,i];S.feed=d.length>Vt?d.slice(-Vt):d;const c=Gt.get(i.category);if(!c)return;for(const N of c){const M=S.nodes[N];if(!M)continue;M.pulseCount+=1,M.lastActivity=i.timestamp;const A=[...M.recentLogs,i];M.recentLogs=A.length>Xt?A.slice(-Xt):A,i.level==="error"&&(M.errorCount+=1)}}catch{}},pe.onerror=()=>{S.connected=!1,pe?.close(),pe=null,setTimeout(()=>{pe||Zt()},3e3)}}function Er(){S.connected=!1,pe?.close(),pe=null}let ht=null;function Mr(g){return g>=.8?"healthy":g>=.5?"degraded":g>0?"unhealthy":"unknown"}function Dr(g){for(const o of at){if(!o.diagnosticDomain)continue;const i=g[o.diagnosticDomain];if(!i)continue;const d=S.nodes[o.id];if(!d)continue;const c=typeof i.score=="number"?i.score:0;d.score=c,d.health=Mr(c),d.metrics=i}}function Lr(g){const o=S.nodes.queue;if(o){const c=g.memory,N=g.summary;o.queueDepth=c.pending+c.leased+N.pending+N.leased,o.metrics={memory:c,summary:N}}const i=S.nodes.extraction;i&&(i.queueDepth=g.memory.pending);const d=S.nodes.summary;d&&(d.queueDepth=g.summary.pending)}async function Qt(){try{const g=await dr();if(!g)return;if(S.mode=g.mode,S.lastPoll=new Date().toISOString(),g.diagnostics&&Dr(g.diagnostics),g.queues&&Lr(g.queues),g.workers)for(const[o,i]of Object.entries(g.workers)){const d=S.nodes[o];d&&i.running&&d.health==="unknown"&&(d.health="healthy",d.score=1)}if(g.errorSummary)for(const[o,i]of Object.entries(g.errorSummary)){const d=o==="extraction"||o==="decision"?"extraction":o==="embedding"||o==="mutation"?"database":o==="connector"?"sync":null;if(d){const c=S.nodes[d];c&&(c.errorCount=i)}}}catch{}}function Or(g=5e3){ht||(Qt(),ht=setInterval(Qt,g))}function Nr(){ht&&(clearInterval(ht),ht=null)}function Jt(g){S.selectedNodeId=g}var Ar=de('<rect class="glow-bg svelte-1tib701" x="-6" y="-6" rx="10" ry="10" opacity="0.12"></rect>'),Ir=de('<rect class="pulse-ring svelte-1tib701" x="-4" y="-4" rx="10" ry="10" fill="none"></rect>'),Rr=de('<rect class="flash-overlay svelte-1tib701" rx="6" ry="6"></rect>'),jr=de('<animate attributeName="opacity" values="1;0.4;1" dur="1.5s" repeatCount="indefinite" class="svelte-1tib701"></animate>'),qr=de('<g class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Gr=de('<g transform="translate(8, -6)" class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" fill="#ef4444" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Fr=de('<g style="cursor: pointer"><!><!><rect class="node-rect svelte-1tib701" rx="6" ry="6"></rect><!><circle cx="10" class="svelte-1tib701"><!></circle><text text-anchor="middle" dominant-baseline="middle" font-size="11" font-family="var(--font-mono)" class="svelte-1tib701"> </text><!><!></g>');function Hr(g,o){tt(o,!0);let i=E(()=>Te[o.def.group]);const d={healthy:"#4ade80",degraded:"#fbbf24",unhealthy:"#f87171",unknown:"#6b6b76"};let c=E(()=>d[o.nodeState.health]),N=E(()=>o.nodeState.health==="unknown"?e(i)+"88":e(c)),M=V(0),A=V(!1),y=V(!1),C=null;Ft(()=>{if(o.nodeState.pulseCount>e(M)){x(M,o.nodeState.pulseCount,!0),x(A,!0);const h=setTimeout(()=>{x(A,!1)},1200);return x(y,!0),C&&clearTimeout(C),C=setTimeout(()=>{x(y,!1)},3e3),()=>{clearTimeout(h),C&&clearTimeout(C)}}});function ee(){o.onselectnode(o.def.id)}var P=Fr();let $;var L=r(P);{var H=h=>{var p=Ar();_(()=>{v(p,"width",o.def.w+12),v(p,"height",o.def.h+12),v(p,"fill",e(i))}),l(h,p)};I(L,h=>{e(y)&&h(H)})}var B=s(L);{var Q=h=>{var p=Ir();_(()=>{v(p,"width",o.def.w+8),v(p,"height",o.def.h+8),v(p,"stroke",e(i))}),l(h,p)};I(B,h=>{e(A)&&h(Q)})}var b=s(B),w=s(b);{var T=h=>{var p=Rr();_(()=>{v(p,"width",o.def.w),v(p,"height",o.def.h),v(p,"fill",e(i))}),l(h,p)};I(w,h=>{e(A)&&h(T)})}var O=s(w),J=r(O);{var F=h=>{var p=jr();l(h,p)};I(J,h=>{e(y)&&h(F)})}t(O);var R=s(O),u=r(R,!0);t(R);var k=s(R);{var q=h=>{var p=qr(),Y=r(p),te=s(Y),Ne=r(te,!0);t(te),t(p),_(()=>{v(p,"transform",`translate(${o.def.w-8}, -6)`),v(Y,"fill",e(i)),f(Ne,o.nodeState.queueDepth)}),l(h,p)};I(k,h=>{o.nodeState.queueDepth>0&&h(q)})}var j=s(k);{var K=h=>{var p=Gr(),Y=s(r(p)),te=r(Y,!0);t(Y),t(p),_(()=>f(te,o.nodeState.errorCount)),l(h,p)};I(j,h=>{o.nodeState.errorCount>0&&h(K)})}t(P),_(()=>{$=Fe(P,0,"pipeline-node svelte-1tib701",null,$,{"pipeline-node--selected":o.selected,"pipeline-node--active":e(y)}),v(P,"transform",`translate(${o.def.x??""}, ${o.def.y??""})`),v(b,"width",o.def.w),v(b,"height",o.def.h),v(b,"fill",e(y)?e(i)+"18":"var(--sig-surface-raised)"),v(b,"stroke",e(y)?e(i):e(N)),v(b,"stroke-width",o.selected?2.5:e(y)?1.5:1),v(O,"cy",o.def.h/2),v(O,"r",e(y)?4:3),v(O,"fill",e(y)?e(i):e(c)),v(O,"opacity",e(y)?1:.7),v(R,"x",o.def.w/2),v(R,"y",o.def.h/2+1),v(R,"fill",e(y)?e(i):"var(--sig-text-bright)"),v(R,"font-weight",e(y)?"600":"400"),f(u,o.def.label)}),mt("click",P,ee),l(g,P),rt()}Ut(["click"]);var Br=de('<path fill="none" stroke-width="4" opacity="0.15" class="edge-glow svelte-kl8ook"></path>'),zr=de('<circle r="2" opacity="0.6" class="svelte-kl8ook"><animateMotion repeatCount="indefinite" begin="0.5s" class="svelte-kl8ook"></animateMotion></circle>'),Yr=de('<circle class="svelte-kl8ook"><animateMotion repeatCount="indefinite" class="svelte-kl8ook"></animateMotion></circle><!>',1),Xr=de('<text text-anchor="middle" font-size="9" font-family="var(--font-mono)" class="svelte-kl8ook"> </text>'),Vr=de('<g class="pipeline-edge svelte-kl8ook"><path fill="none"></path><!><!><!></g>');function Qr(g,o){tt(o,!0);let i=E(()=>qt.get(o.edge.from)),d=E(()=>qt.get(o.edge.to)),c=E(()=>e(i)?Te[e(i).group]:"#6b6b76"),N=E(()=>{if(!e(i)||!e(d))return"";const b=e(i).x+e(i).w/2,w=e(i).y+e(i).h/2,T=e(d).x+e(d).w/2,O=e(d).y+e(d).h/2,J=(b+T)/2,F=(w+O)/2,R=Math.abs(T-b),u=Math.abs(O-w);return R>u?`M ${b} ${w} Q ${J} ${w}, ${J} ${F} Q ${J} ${O}, ${T} ${O}`:`M ${b} ${w} Q ${b} ${F}, ${J} ${F} Q ${T} ${F}, ${T} ${O}`}),M=E(()=>!e(i)||!e(d)?{x:0,y:0}:{x:(e(i).x+e(i).w/2+e(d).x+e(d).w/2)/2,y:(e(i).y+e(i).h/2+e(d).y+e(d).h/2)/2-8}),A=E(()=>o.active?"1s":"3s");var y=Vr(),C=r(y);let ee;var P=s(C);{var $=b=>{var w=Br();_(()=>{v(w,"d",e(N)),v(w,"stroke",e(c))}),l(b,w)};I(P,b=>{o.active&&!o.edge.dashed&&b($)})}var L=s(P);{var H=b=>{var w=Yr(),T=Z(w),O=r(T);t(T);var J=s(T);{var F=R=>{var u=zr(),k=r(u);t(u),_(()=>{v(u,"fill",e(c)),v(k,"dur",e(A)),v(k,"path",e(N))}),l(R,u)};I(J,R=>{o.active&&R(F)})}_(()=>{v(T,"r",o.active?3.5:2),v(T,"fill",o.active?e(c):"var(--sig-border)"),v(T,"opacity",o.active?1:.3),v(O,"dur",e(A)),v(O,"path",e(N))}),l(b,w)};I(L,b=>{o.edge.dashed||b(H)})}var B=s(L);{var Q=b=>{var w=Xr(),T=r(w,!0);t(w),_(()=>{v(w,"x",e(M).x),v(w,"y",e(M).y),v(w,"fill",o.active?e(c):"var(--sig-text-muted)"),v(w,"opacity",o.active?.9:.45),f(T,o.edge.label)}),l(b,w)};I(B,b=>{o.edge.label&&b(Q)})}t(y),_(()=>{v(C,"d",e(N)),v(C,"stroke",o.active?e(c):"var(--sig-border)"),v(C,"stroke-width",o.active?1.5:.8),v(C,"stroke-dasharray",o.edge.dashed?"6 4":"none"),v(C,"opacity",o.active?.8:.25),ee=Fe(C,0,"svelte-kl8ook",null,ee,{"edge-active":o.active})}),l(g,y),rt()}var Ur=de('<g><rect rx="8" ry="8" fill-opacity="0.06" stroke-opacity="0.25" stroke-width="1" stroke-dasharray="4 3"></rect><text font-size="9" font-family="var(--font-mono)" opacity="0.6" letter-spacing="0.08em"> </text></g>'),Wr=de('<svg viewBox="0 0 1160 650" preserveAspectRatio="xMidYMid meet" class="w-full h-full select-none" xmlns="http://www.w3.org/2000/svg" role="application" aria-label="Pipeline graph. Use mouse wheel to zoom, drag background to pan, double-click to reset."><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter><marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sig-border-strong)"></path></marker></defs><g><!><!><!></g></svg>');function Zr(g,o){tt(o,!0);const i=Object.entries(Cr),d=.7,c=2.4,N=.12;let M=V(1),A=V(0),y=V(0),C=V(!1),ee=V(0),P=V(0);function $(u){const k=S.nodes[u];return k?.lastActivity?Date.now()-new Date(k.lastActivity).getTime()<5e3:!1}function L(u){return Math.min(c,Math.max(d,u))}function H(){x(M,1),x(A,0),x(y,0)}function B(u){u.preventDefault();const k=u.currentTarget;if(!(k instanceof SVGSVGElement))return;const q=k.getBoundingClientRect(),j=u.clientX-q.left,K=u.clientY-q.top,h=u.deltaY<0?1:-1,p=L(e(M)+h*N);if(p===e(M))return;const Y=(j-e(A))/e(M),te=(K-e(y))/e(M);x(M,p,!0),x(A,j-Y*p),x(y,K-te*p)}function Q(u){if(u.button!==0||u.target!==u.currentTarget)return;const k=u.currentTarget;k instanceof SVGSVGElement&&k.setPointerCapture(u.pointerId),x(C,!0),x(ee,u.clientX,!0),x(P,u.clientY,!0)}function b(u){if(!e(C))return;const k=u.clientX-e(ee),q=u.clientY-e(P);x(ee,u.clientX,!0),x(P,u.clientY,!0),x(A,e(A)+k),x(y,e(y)+q)}function w(u){if(!e(C))return;const k=u.currentTarget;k instanceof SVGSVGElement&&k.releasePointerCapture(u.pointerId),x(C,!1)}var T=Wr(),O=s(r(T)),J=r(O);Oe(J,17,()=>i,pt,(u,k)=>{var q=E(()=>jt(e(k),2));let j=()=>e(q)[1];var K=Ur(),h=r(K),p=s(h),Y=r(p,!0);t(p),t(K),_(te=>{v(h,"x",j().x),v(h,"y",j().y),v(h,"width",j().w),v(h,"height",j().h),v(h,"fill",j().color),v(h,"stroke",j().color),v(p,"x",j().x+8),v(p,"y",j().y+14),v(p,"fill",j().color),f(Y,te)},[()=>j().label.toUpperCase()]),l(u,K)});var F=s(J);Oe(F,17,()=>Pr,u=>u.from+"-"+u.to,(u,k)=>{{let q=E(()=>$(e(k).from));Qr(u,{get edge(){return e(k)},get active(){return e(q)}})}});var R=s(F);Oe(R,17,()=>at,u=>u.id,(u,k)=>{{let q=E(()=>S.selectedNodeId===e(k).id);Hr(u,{get def(){return e(k)},get nodeState(){return S.nodes[e(k).id]},get selected(){return e(q)},get onselectnode(){return o.onselectnode}})}}),t(O),t(T),_(()=>v(O,"transform",`translate(${e(A)} ${e(y)}) scale(${e(M)})`)),$t("wheel",T,B),mt("pointerdown",T,Q),mt("pointermove",T,b),mt("pointerup",T,w),$t("pointercancel",T,w),$t("pointerleave",T,w),mt("dblclick",T,H),l(g,T),rt()}Ut(["pointerdown","pointermove","pointerup","dblclick"]);var Jr=D(" <!>",1),Kr=D("<!> <!>",1),ea=D('<div class="flex justify-between px-2"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),ta=D('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),ra=D('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),aa=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Queue Details</h4> <div class="space-y-1 text-[11px] font-[family-name:var(--font-mono)]"></div></section>'),oa=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-[family-name:var(--font-display)]">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-[family-name:var(--font-mono)]"> </span></section>'),sa=D('<div class="flex gap-2 py-1 px-1 text-[10px] font-[family-name:var(--font-mono)] hover:bg-[var(--sig-surface-raised)] rounded"><span class="text-[var(--sig-text-muted)] shrink-0 w-[52px]"> </span> <span> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),na=D('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),ia=D('<!> <div class="mt-4 space-y-4 overflow-y-auto pr-2" style="max-height: calc(100vh - 140px);"><section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Metrics</h4> <div class="grid grid-cols-3 gap-2"><div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Score</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Queue</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Errors</div> <div> </div></div></div></section> <!> <!> <section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function la(g,o){tt(o,!0);let i=E(()=>S.selectedNodeId),d=E(()=>e(i)?qt.get(e(i))??null:null),c=E(()=>e(i)?S.nodes[e(i)]??null:null),N=E(()=>e(i)!==null);function M($){$||Jt(null)}function A($){try{return new Date($).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return $}}function y($){switch($){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}let C=E(()=>{if(!e(c)?.metrics)return null;const $=e(c).metrics;return $.memory||$.summary||typeof $.depth=="number"?$:null});var ee=Ve(),P=Z(ee);ke(P,()=>fr,($,L)=>{L($,{get open(){return e(N)},onOpenChange:M,children:(H,B)=>{var Q=Ve(),b=Z(Q);ke(b,()=>cr,(w,T)=>{T(w,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(O,J)=>{var F=Ve(),R=Z(F);{var u=k=>{var q=ia(),j=Z(q);ke(j,()=>vr,(G,X)=>{X(G,{children:(re,ge)=>{var me=Kr(),ce=Z(me);ke(ce,()=>ur,(se,be)=>{be(se,{class:"flex items-center gap-2 font-[family-name:var(--font-display)] text-[var(--sig-text-bright)]",children:(Me,Be)=>{he();var ae=Jr(),ve=Z(ae),ne=s(ve);{let _e=E(()=>e(c).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(c).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(c).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");Tt(ne,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)]
|
|
1
|
+
import{e as Rt,p as tt,Q as Ft,i as e,v as x,j as r,k as I,t as s,l as t,y as _,B as Fe,D as v,z as f,O as mt,b as l,d as rt,u as E,o as V,aj as de,P as Ut,f as Z,A as Oe,G as pt,N as $t,ai as jt,c as Ve,h as ke,w as he,x as Ee,m as D,q as nr,s as ir,ad as Bt,F as lr}from"./p8zwC1au.js";import{B as Tt}from"./ByeDL_xr.js";import{aP as dr,S as cr,J as vr,K as ur,N as fr,L as gr,aQ as mr,t as zt,aR as pr,f as hr,n as xr,E as br,B as gt}from"./RssXZxod.js";import{S as Wt}from"./C0bmSyyj.js";import{P as _r,a as yr,b as wr}from"./jj_Q-sE_.js";import{w as Pt,s as Yt}from"./D97W6bYo.js";import{P as kr}from"./DMl5tKJw.js";import{T as Sr}from"./Di3hX6WA.js";const Te={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Ge={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},Cr={harness:{x:20,y:20,w:240,h:120,label:Ge.harness,color:Te.harness},daemon:{x:300,y:20,w:340,h:280,label:Ge.daemon,color:Te.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Ge.pipeline,color:Te.pipeline},db:{x:680,y:160,w:200,h:200,label:Ge.db,color:Te.db},search:{x:920,y:160,w:200,h:140,label:Ge.search,color:Te.search},files:{x:680,y:400,w:200,h:100,label:Ge.files,color:Te.files},configs:{x:920,y:400,w:200,h:100,label:Ge.configs,color:Te.configs},llm:{x:680,y:540,w:200,h:80,label:Ge.llm,color:Te.llm}},at=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"Ollama qwen3:4b (or configured provider)"}],qt=new Map(at.map(g=>[g.id,g])),Pr=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function $r(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const Gt=new Map;for(const g of at)for(const o of g.logCategories){const i=Gt.get(o);i?i.push(g.id):Gt.set(o,[g.id])}const Xt=20;function Tr(){const g={};for(const o of at)g[o.id]=$r();return g}const Vt=50,S=Rt({nodes:Tr(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let pe=null;function Zt(){pe&&(pe.close(),pe=null);const g="";pe=new EventSource(`${g}/api/logs/stream`),pe.onopen=()=>{S.connected=!0},pe.onmessage=o=>{try{const i=JSON.parse(o.data);if(i.type==="connected"){S.connected=!0;return}const d=[...S.feed,i];S.feed=d.length>Vt?d.slice(-Vt):d;const c=Gt.get(i.category);if(!c)return;for(const N of c){const M=S.nodes[N];if(!M)continue;M.pulseCount+=1,M.lastActivity=i.timestamp;const A=[...M.recentLogs,i];M.recentLogs=A.length>Xt?A.slice(-Xt):A,i.level==="error"&&(M.errorCount+=1)}}catch{}},pe.onerror=()=>{S.connected=!1,pe?.close(),pe=null,setTimeout(()=>{pe||Zt()},3e3)}}function Er(){S.connected=!1,pe?.close(),pe=null}let ht=null;function Mr(g){return g>=.8?"healthy":g>=.5?"degraded":g>0?"unhealthy":"unknown"}function Dr(g){for(const o of at){if(!o.diagnosticDomain)continue;const i=g[o.diagnosticDomain];if(!i)continue;const d=S.nodes[o.id];if(!d)continue;const c=typeof i.score=="number"?i.score:0;d.score=c,d.health=Mr(c),d.metrics=i}}function Lr(g){const o=S.nodes.queue;if(o){const c=g.memory,N=g.summary;o.queueDepth=c.pending+c.leased+N.pending+N.leased,o.metrics={memory:c,summary:N}}const i=S.nodes.extraction;i&&(i.queueDepth=g.memory.pending);const d=S.nodes.summary;d&&(d.queueDepth=g.summary.pending)}async function Qt(){try{const g=await dr();if(!g)return;if(S.mode=g.mode,S.lastPoll=new Date().toISOString(),g.diagnostics&&Dr(g.diagnostics),g.queues&&Lr(g.queues),g.workers)for(const[o,i]of Object.entries(g.workers)){const d=S.nodes[o];d&&i.running&&d.health==="unknown"&&(d.health="healthy",d.score=1)}if(g.errorSummary)for(const[o,i]of Object.entries(g.errorSummary)){const d=o==="extraction"||o==="decision"?"extraction":o==="embedding"||o==="mutation"?"database":o==="connector"?"sync":null;if(d){const c=S.nodes[d];c&&(c.errorCount=i)}}}catch{}}function Or(g=5e3){ht||(Qt(),ht=setInterval(Qt,g))}function Nr(){ht&&(clearInterval(ht),ht=null)}function Jt(g){S.selectedNodeId=g}var Ar=de('<rect class="glow-bg svelte-1tib701" x="-6" y="-6" rx="10" ry="10" opacity="0.12"></rect>'),Ir=de('<rect class="pulse-ring svelte-1tib701" x="-4" y="-4" rx="10" ry="10" fill="none"></rect>'),Rr=de('<rect class="flash-overlay svelte-1tib701" rx="6" ry="6"></rect>'),jr=de('<animate attributeName="opacity" values="1;0.4;1" dur="1.5s" repeatCount="indefinite" class="svelte-1tib701"></animate>'),qr=de('<g class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Gr=de('<g transform="translate(8, -6)" class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" fill="#ef4444" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Fr=de('<g style="cursor: pointer"><!><!><rect class="node-rect svelte-1tib701" rx="6" ry="6"></rect><!><circle cx="10" class="svelte-1tib701"><!></circle><text text-anchor="middle" dominant-baseline="middle" font-size="11" font-family="var(--font-mono)" class="svelte-1tib701"> </text><!><!></g>');function Hr(g,o){tt(o,!0);let i=E(()=>Te[o.def.group]);const d={healthy:"#4ade80",degraded:"#fbbf24",unhealthy:"#f87171",unknown:"#6b6b76"};let c=E(()=>d[o.nodeState.health]),N=E(()=>o.nodeState.health==="unknown"?e(i)+"88":e(c)),M=V(0),A=V(!1),y=V(!1),C=null;Ft(()=>{if(o.nodeState.pulseCount>e(M)){x(M,o.nodeState.pulseCount,!0),x(A,!0);const h=setTimeout(()=>{x(A,!1)},1200);return x(y,!0),C&&clearTimeout(C),C=setTimeout(()=>{x(y,!1)},3e3),()=>{clearTimeout(h),C&&clearTimeout(C)}}});function ee(){o.onselectnode(o.def.id)}var P=Fr();let $;var L=r(P);{var H=h=>{var p=Ar();_(()=>{v(p,"width",o.def.w+12),v(p,"height",o.def.h+12),v(p,"fill",e(i))}),l(h,p)};I(L,h=>{e(y)&&h(H)})}var B=s(L);{var Q=h=>{var p=Ir();_(()=>{v(p,"width",o.def.w+8),v(p,"height",o.def.h+8),v(p,"stroke",e(i))}),l(h,p)};I(B,h=>{e(A)&&h(Q)})}var b=s(B),w=s(b);{var T=h=>{var p=Rr();_(()=>{v(p,"width",o.def.w),v(p,"height",o.def.h),v(p,"fill",e(i))}),l(h,p)};I(w,h=>{e(A)&&h(T)})}var O=s(w),J=r(O);{var F=h=>{var p=jr();l(h,p)};I(J,h=>{e(y)&&h(F)})}t(O);var R=s(O),u=r(R,!0);t(R);var k=s(R);{var q=h=>{var p=qr(),Y=r(p),te=s(Y),Ne=r(te,!0);t(te),t(p),_(()=>{v(p,"transform",`translate(${o.def.w-8}, -6)`),v(Y,"fill",e(i)),f(Ne,o.nodeState.queueDepth)}),l(h,p)};I(k,h=>{o.nodeState.queueDepth>0&&h(q)})}var j=s(k);{var K=h=>{var p=Gr(),Y=s(r(p)),te=r(Y,!0);t(Y),t(p),_(()=>f(te,o.nodeState.errorCount)),l(h,p)};I(j,h=>{o.nodeState.errorCount>0&&h(K)})}t(P),_(()=>{$=Fe(P,0,"pipeline-node svelte-1tib701",null,$,{"pipeline-node--selected":o.selected,"pipeline-node--active":e(y)}),v(P,"transform",`translate(${o.def.x??""}, ${o.def.y??""})`),v(b,"width",o.def.w),v(b,"height",o.def.h),v(b,"fill",e(y)?e(i)+"18":"var(--sig-surface-raised)"),v(b,"stroke",e(y)?e(i):e(N)),v(b,"stroke-width",o.selected?2.5:e(y)?1.5:1),v(O,"cy",o.def.h/2),v(O,"r",e(y)?4:3),v(O,"fill",e(y)?e(i):e(c)),v(O,"opacity",e(y)?1:.7),v(R,"x",o.def.w/2),v(R,"y",o.def.h/2+1),v(R,"fill",e(y)?e(i):"var(--sig-text-bright)"),v(R,"font-weight",e(y)?"600":"400"),f(u,o.def.label)}),mt("click",P,ee),l(g,P),rt()}Ut(["click"]);var Br=de('<path fill="none" stroke-width="4" opacity="0.15" class="edge-glow svelte-kl8ook"></path>'),zr=de('<circle r="2" opacity="0.6" class="svelte-kl8ook"><animateMotion repeatCount="indefinite" begin="0.5s" class="svelte-kl8ook"></animateMotion></circle>'),Yr=de('<circle class="svelte-kl8ook"><animateMotion repeatCount="indefinite" class="svelte-kl8ook"></animateMotion></circle><!>',1),Xr=de('<text text-anchor="middle" font-size="9" font-family="var(--font-mono)" class="svelte-kl8ook"> </text>'),Vr=de('<g class="pipeline-edge svelte-kl8ook"><path fill="none"></path><!><!><!></g>');function Qr(g,o){tt(o,!0);let i=E(()=>qt.get(o.edge.from)),d=E(()=>qt.get(o.edge.to)),c=E(()=>e(i)?Te[e(i).group]:"#6b6b76"),N=E(()=>{if(!e(i)||!e(d))return"";const b=e(i).x+e(i).w/2,w=e(i).y+e(i).h/2,T=e(d).x+e(d).w/2,O=e(d).y+e(d).h/2,J=(b+T)/2,F=(w+O)/2,R=Math.abs(T-b),u=Math.abs(O-w);return R>u?`M ${b} ${w} Q ${J} ${w}, ${J} ${F} Q ${J} ${O}, ${T} ${O}`:`M ${b} ${w} Q ${b} ${F}, ${J} ${F} Q ${T} ${F}, ${T} ${O}`}),M=E(()=>!e(i)||!e(d)?{x:0,y:0}:{x:(e(i).x+e(i).w/2+e(d).x+e(d).w/2)/2,y:(e(i).y+e(i).h/2+e(d).y+e(d).h/2)/2-8}),A=E(()=>o.active?"1s":"3s");var y=Vr(),C=r(y);let ee;var P=s(C);{var $=b=>{var w=Br();_(()=>{v(w,"d",e(N)),v(w,"stroke",e(c))}),l(b,w)};I(P,b=>{o.active&&!o.edge.dashed&&b($)})}var L=s(P);{var H=b=>{var w=Yr(),T=Z(w),O=r(T);t(T);var J=s(T);{var F=R=>{var u=zr(),k=r(u);t(u),_(()=>{v(u,"fill",e(c)),v(k,"dur",e(A)),v(k,"path",e(N))}),l(R,u)};I(J,R=>{o.active&&R(F)})}_(()=>{v(T,"r",o.active?3.5:2),v(T,"fill",o.active?e(c):"var(--sig-border)"),v(T,"opacity",o.active?1:.3),v(O,"dur",e(A)),v(O,"path",e(N))}),l(b,w)};I(L,b=>{o.edge.dashed||b(H)})}var B=s(L);{var Q=b=>{var w=Xr(),T=r(w,!0);t(w),_(()=>{v(w,"x",e(M).x),v(w,"y",e(M).y),v(w,"fill",o.active?e(c):"var(--sig-text-muted)"),v(w,"opacity",o.active?.9:.45),f(T,o.edge.label)}),l(b,w)};I(B,b=>{o.edge.label&&b(Q)})}t(y),_(()=>{v(C,"d",e(N)),v(C,"stroke",o.active?e(c):"var(--sig-border)"),v(C,"stroke-width",o.active?1.5:.8),v(C,"stroke-dasharray",o.edge.dashed?"6 4":"none"),v(C,"opacity",o.active?.8:.25),ee=Fe(C,0,"svelte-kl8ook",null,ee,{"edge-active":o.active})}),l(g,y),rt()}var Ur=de('<g><rect rx="8" ry="8" fill-opacity="0.06" stroke-opacity="0.25" stroke-width="1" stroke-dasharray="4 3"></rect><text font-size="9" font-family="var(--font-mono)" opacity="0.6" letter-spacing="0.08em"> </text></g>'),Wr=de('<svg viewBox="0 0 1160 650" preserveAspectRatio="xMidYMid meet" class="w-full h-full select-none" xmlns="http://www.w3.org/2000/svg" role="application" aria-label="Pipeline graph. Use mouse wheel to zoom, drag background to pan, double-click to reset."><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter><marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sig-border-strong)"></path></marker></defs><g><!><!><!></g></svg>');function Zr(g,o){tt(o,!0);const i=Object.entries(Cr),d=.7,c=2.4,N=.12;let M=V(1),A=V(0),y=V(0),C=V(!1),ee=V(0),P=V(0);function $(u){const k=S.nodes[u];return k?.lastActivity?Date.now()-new Date(k.lastActivity).getTime()<5e3:!1}function L(u){return Math.min(c,Math.max(d,u))}function H(){x(M,1),x(A,0),x(y,0)}function B(u){u.preventDefault();const k=u.currentTarget;if(!(k instanceof SVGSVGElement))return;const q=k.getBoundingClientRect(),j=u.clientX-q.left,K=u.clientY-q.top,h=u.deltaY<0?1:-1,p=L(e(M)+h*N);if(p===e(M))return;const Y=(j-e(A))/e(M),te=(K-e(y))/e(M);x(M,p,!0),x(A,j-Y*p),x(y,K-te*p)}function Q(u){if(u.button!==0||u.target!==u.currentTarget)return;const k=u.currentTarget;k instanceof SVGSVGElement&&k.setPointerCapture(u.pointerId),x(C,!0),x(ee,u.clientX,!0),x(P,u.clientY,!0)}function b(u){if(!e(C))return;const k=u.clientX-e(ee),q=u.clientY-e(P);x(ee,u.clientX,!0),x(P,u.clientY,!0),x(A,e(A)+k),x(y,e(y)+q)}function w(u){if(!e(C))return;const k=u.currentTarget;k instanceof SVGSVGElement&&k.releasePointerCapture(u.pointerId),x(C,!1)}var T=Wr(),O=s(r(T)),J=r(O);Oe(J,17,()=>i,pt,(u,k)=>{var q=E(()=>jt(e(k),2));let j=()=>e(q)[1];var K=Ur(),h=r(K),p=s(h),Y=r(p,!0);t(p),t(K),_(te=>{v(h,"x",j().x),v(h,"y",j().y),v(h,"width",j().w),v(h,"height",j().h),v(h,"fill",j().color),v(h,"stroke",j().color),v(p,"x",j().x+8),v(p,"y",j().y+14),v(p,"fill",j().color),f(Y,te)},[()=>j().label.toUpperCase()]),l(u,K)});var F=s(J);Oe(F,17,()=>Pr,u=>u.from+"-"+u.to,(u,k)=>{{let q=E(()=>$(e(k).from));Qr(u,{get edge(){return e(k)},get active(){return e(q)}})}});var R=s(F);Oe(R,17,()=>at,u=>u.id,(u,k)=>{{let q=E(()=>S.selectedNodeId===e(k).id);Hr(u,{get def(){return e(k)},get nodeState(){return S.nodes[e(k).id]},get selected(){return e(q)},get onselectnode(){return o.onselectnode}})}}),t(O),t(T),_(()=>v(O,"transform",`translate(${e(A)} ${e(y)}) scale(${e(M)})`)),$t("wheel",T,B),mt("pointerdown",T,Q),mt("pointermove",T,b),mt("pointerup",T,w),$t("pointercancel",T,w),$t("pointerleave",T,w),mt("dblclick",T,H),l(g,T),rt()}Ut(["pointerdown","pointermove","pointerup","dblclick"]);var Jr=D(" <!>",1),Kr=D("<!> <!>",1),ea=D('<div class="flex justify-between px-2"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),ta=D('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),ra=D('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),aa=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Queue Details</h4> <div class="space-y-1 text-[11px] font-[family-name:var(--font-mono)]"></div></section>'),oa=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-[family-name:var(--font-display)]">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-[family-name:var(--font-mono)]"> </span></section>'),sa=D('<div class="flex gap-2 py-1 px-1 text-[10px] font-[family-name:var(--font-mono)] hover:bg-[var(--sig-surface-raised)] rounded"><span class="text-[var(--sig-text-muted)] shrink-0 w-[52px]"> </span> <span> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),na=D('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),ia=D('<!> <div class="mt-4 space-y-4 overflow-y-auto pr-2" style="max-height: calc(100vh - 140px);"><section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Metrics</h4> <div class="grid grid-cols-3 gap-2"><div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Score</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Queue</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Errors</div> <div> </div></div></div></section> <!> <!> <section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function la(g,o){tt(o,!0);let i=E(()=>S.selectedNodeId),d=E(()=>e(i)?qt.get(e(i))??null:null),c=E(()=>e(i)?S.nodes[e(i)]??null:null),N=E(()=>e(i)!==null);function M($){$||Jt(null)}function A($){try{return new Date($).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return $}}function y($){switch($){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}let C=E(()=>{if(!e(c)?.metrics)return null;const $=e(c).metrics;return $.memory||$.summary||typeof $.depth=="number"?$:null});var ee=Ve(),P=Z(ee);ke(P,()=>fr,($,L)=>{L($,{get open(){return e(N)},onOpenChange:M,children:(H,B)=>{var Q=Ve(),b=Z(Q);ke(b,()=>cr,(w,T)=>{T(w,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(O,J)=>{var F=Ve(),R=Z(F);{var u=k=>{var q=ia(),j=Z(q);ke(j,()=>vr,(G,X)=>{X(G,{children:(re,ge)=>{var me=Kr(),ce=Z(me);ke(ce,()=>ur,(se,be)=>{be(se,{class:"flex items-center gap-2 font-[family-name:var(--font-display)] text-[var(--sig-text-bright)]",children:(Me,Be)=>{he();var ae=Jr(),ve=Z(ae),ne=s(ve);{let _e=E(()=>e(c).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(c).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(c).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");Tt(ne,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)]
|
|
2
2
|
${e(_e)??""}`},children:(Re,ze)=>{he();var Ze=Ee();_(()=>f(Ze,e(c).health)),l(Re,Ze)},$$slots:{default:!0}})}_(()=>f(ve,`${e(d).label??""} `)),l(Me,ae)},$$slots:{default:!0}})});var Pe=s(ce,2);{var xe=se=>{var be=Ve(),Me=Z(be);ke(Me,()=>gr,(Be,ae)=>{ae(Be,{class:"text-[11px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]",children:(ve,ne)=>{he();var _e=Ee();_(()=>f(_e,e(d).description)),l(ve,_e)},$$slots:{default:!0}})}),l(se,be)};I(Pe,se=>{e(d).description&&se(xe)})}l(re,me)},$$slots:{default:!0}})});var K=s(j,2),h=r(K),p=s(r(h),2),Y=r(p),te=s(r(Y),2),Ne=r(te,!0);t(te),t(Y);var U=s(Y,2),fe=s(r(U),2),Se=r(fe,!0);t(fe),t(U);var Ce=s(U,2),Ae=s(r(Ce),2);let Ie;var Qe=r(Ae,!0);t(Ae),t(Ce),t(p),t(h);var He=s(h,2);{var ot=G=>{var X=aa(),re=s(r(X),2);Oe(re,21,()=>Object.entries(e(C)),pt,(ge,me)=>{var ce=E(()=>jt(e(me),2));let Pe=()=>e(ce)[0],xe=()=>e(ce)[1];var se=Ve(),be=Z(se);{var Me=ae=>{var ve=ta(),ne=Z(ve),_e=r(ne,!0);t(ne);var Re=s(ne,2);Oe(Re,17,()=>Object.entries(xe()),pt,(ze,Ze)=>{var Ye=E(()=>jt(e(Ze),2));let yt=()=>e(Ye)[0],Lt=()=>e(Ye)[1];var nt=ea(),it=r(nt),a=r(it,!0);t(it);var n=s(it,2),m=r(n,!0);t(n),t(nt),_(()=>{f(a,yt()),f(m,Lt())}),l(ze,nt)}),_(()=>f(_e,Pe())),l(ae,ve)},Be=ae=>{var ve=ra(),ne=r(ve),_e=r(ne,!0);t(ne);var Re=s(ne,2),ze=r(Re,!0);t(Re),t(ve),_(()=>{f(_e,Pe()),f(ze,xe())}),l(ae,ve)};I(be,ae=>{typeof xe()=="object"&&xe()!==null?ae(Me):ae(Be,-1)})}l(ge,se)}),t(re),t(X),l(G,X)};I(He,G=>{e(C)&&G(ot)})}var st=s(He,2);{var Et=G=>{var X=oa(),re=s(r(X),2),ge=r(re,!0);t(re),t(X),_(me=>f(ge,me),[()=>A(e(c).lastActivity)]),l(G,X)};I(st,G=>{e(c).lastActivity&&G(Et)})}var xt=s(st,2),Ue=r(xt),Mt=r(Ue);t(Ue);var bt=s(Ue,2),We=r(bt);Oe(We,17,()=>e(c).recentLogs,pt,(G,X)=>{var re=sa(),ge=r(re),me=r(ge,!0);t(ge);var ce=s(ge,2),Pe=r(ce,!0);t(ce);var xe=s(ce,2),se=r(xe,!0);t(xe),t(re),_((be,Me)=>{f(me,be),Fe(ce,1,`${Me??""} shrink-0 w-[34px] uppercase`),f(Pe,e(X).level),f(se,e(X).message)},[()=>A(e(X).timestamp),()=>y(e(X).level)]),l(G,re)});var Dt=s(We,2);{var _t=G=>{var X=na();l(G,X)};I(Dt,G=>{e(c).recentLogs.length===0&&G(_t)})}t(bt),t(xt),t(K),_(G=>{f(Ne,G),f(Se,e(c).queueDepth),Ie=Fe(Ae,1,"text-[15px] font-[family-name:var(--font-mono)]",null,Ie,{"text-[#8a4a48]":e(c).errorCount>0,"text-[var(--sig-text-bright)]":e(c).errorCount===0}),f(Qe,e(c).errorCount),f(Mt,`Recent Logs (${e(c).recentLogs.length??""})`)},[()=>e(c).score>0?(e(c).score*100).toFixed(0)+"%":"--"]),l(k,q)};I(R,k=>{e(d)&&e(c)&&k(u)})}l(O,F)},$$slots:{default:!0}})}),l(H,Q)},$$slots:{default:!0}})}),l(g,ee),rt()}var da=D('<div class="border-t border-[var(--sig-border)]"></div>'),ca=D('<!> <div class="flex items-center justify-between px-3 py-2 gap-3"><div class="flex items-center gap-3 min-w-0"><span class="font-mono text-[var(--font-size-sm)] text-[var(--sig-text)] truncate"> </span> <!> <span class="sig-meta text-[var(--sig-text-muted)] shrink-0"> </span></div> <div class="flex items-center gap-2 shrink-0"><span> </span> <!></div></div>',1),va=D('<div class="mb-4"><div class="flex items-center gap-2 mb-2"><span class="sig-heading">ACTIVE SESSIONS</span> <!></div> <div class="rounded-md border border-[var(--sig-border)]" style="background: var(--sig-surface)"></div></div>');function ua(g,o){tt(o,!0);let i=V(Rt([])),d=V(!0),c=V(Rt(new Set));async function N(){try{const P=await mr();x(i,[...P.sessions],!0)}catch{zt("Failed to load sessions","error")}finally{x(d,!1)}}async function M(P,$){if(!e(c).has(P.key)){x(c,new Set([...e(c),P.key]),!0);try{const L=await pr(P.key,$);L?x(i,e(i).map(H=>H.key===P.key?{...H,bypassed:L.bypassed}:H),!0):zt("Failed to toggle bypass","error")}finally{const L=new Set(e(c));L.delete(P.key),x(c,L,!0)}}}function A(P){const $=Date.now()-new Date(P).getTime();if(!Number.isFinite($)||$<0)return"just now";const L=Math.floor($/1e3);if(L<60)return`${L}s ago`;const H=Math.floor(L/60);if(H<60)return`${H}m ago`;const B=Math.floor(H/60);return B<24?`${B}h ago`:`${Math.floor(B/24)}d ago`}Ft(()=>{N();const P=setInterval(N,3e4);return()=>clearInterval(P)});var y=Ve(),C=Z(y);{var ee=P=>{var $=va(),L=r($),H=s(r(L),2);Tt(H,{variant:"outline",class:"sig-badge px-1.5 py-0",children:(Q,b)=>{he();var w=Ee();_(()=>f(w,e(i).length)),l(Q,w)},$$slots:{default:!0}}),t(L);var B=s(L,2);Oe(B,23,()=>e(i),Q=>Q.key,(Q,b,w)=>{var T=ca(),O=Z(T);{var J=U=>{var fe=da();l(U,fe)};I(O,U=>{e(w)>0&&U(J)})}var F=s(O,2),R=r(F),u=r(R),k=r(u,!0);t(u);var q=s(u,2);Tt(q,{variant:"outline",class:"sig-badge px-1.5 py-0 shrink-0",children:(U,fe)=>{he();var Se=Ee();_(()=>f(Se,e(b).runtimePath)),l(U,Se)},$$slots:{default:!0}});var j=s(q,2),K=r(j,!0);t(j),t(R);var h=s(R,2),p=r(h);let Y;var te=r(p,!0);t(p);var Ne=s(p,2);{let U=E(()=>e(c).has(e(b).key));ke(Ne,()=>Wt,(fe,Se)=>{Se(fe,{get checked(){return e(b).bypassed},get disabled(){return e(U)},onCheckedChange:Ce=>M(e(b),Ce),get"aria-label"(){return`Bypass session ${e(b).key??""}`},children:(Ce,Ae)=>{var Ie=Ve(),Qe=Z(Ie);ke(Qe,()=>{},(He,ot)=>{ot(He,{})}),l(Ce,Ie)},$$slots:{default:!0}})})}t(h),t(F),_((U,fe)=>{v(u,"title",e(b).key),f(k,U),f(K,fe),Y=Fe(p,1,"sig-meta",null,Y,{"text-[var(--sig-text-muted)]":!e(b).bypassed,"text-[var(--sig-accent)]":e(b).bypassed}),f(te,e(b).bypassed?"bypassed":"active")},[()=>e(b).key.slice(0,12),()=>A(e(b).claimedAt)]),l(Q,T)}),t(B),t($),l(P,$)};I(C,P=>{!e(d)&&e(i).length>0&&P(ee)})}l(g,y),rt()}var fa=D('<span class="sig-eyebrow text-[#4ade80]"> </span>'),ga=D('<span class="sig-meta"> </span>'),ma=D('<div class="flex flex-col gap-1"><!> <!></div>'),pa=D("<!> <!>",1),ha=D('<div class="flex items-start justify-between gap-2 border-b border-[var(--sig-border)]/30 pb-[1px]"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)] break-all text-right normal-case"> </span></div>'),xa=D('<div class="mt-1 pl-[56px] sig-micro"> </div>'),ba=D('<div class="mt-1 pl-[56px] sig-meta text-[#f87171] whitespace-pre-wrap break-words"> </div>'),_a=D('<details class="mt-1 pl-[56px]"><summary class="cursor-pointer sig-micro">Raw payload</summary> <pre class="mt-1 p-2 border border-[var(--sig-border)] bg-[var(--sig-surface)] sig-micro text-[var(--sig-text)] whitespace-pre-wrap break-words normal-case"> </pre></details>'),ya=D('<div class="mt-1 pl-[56px] inline-flex items-center gap-2 sig-micro"><span class="px-1 py-[1px] border border-[var(--sig-border)]"> </span> <span> </span></div> <div class="sig-eyebrow text-[var(--sig-text)] mt-0.5 pl-[56px] whitespace-pre-wrap break-words normal-case tracking-normal"> </div> <div class="mt-1 pl-[56px] grid grid-cols-1 md:grid-cols-2 gap-x-3 gap-y-1 sig-micro"></div> <!> <!> <!>',1),wa=D('<details class="mt-0.5 pl-[56px] group"><summary class="list-none cursor-pointer sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal line-clamp-2 break-words [&::-webkit-details-marker]:hidden"> </summary> <div class="mt-1 sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal whitespace-pre-wrap break-words"> </div></details>'),ka=D('<div class="sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal mt-0.5 pl-[56px] whitespace-pre-wrap break-words"> </div>'),Sa=D('<span class="sig-micro pl-[56px]"> </span>'),Ca=D("<!> <!>",1),Pa=D('<div class="feed-entry px-2 py-1.5 rounded hover:bg-[var(--sig-surface-raised)] transition-colors svelte-1kgvdra"><div class="flex items-center gap-1.5"><span class="sig-meta shrink-0 w-[48px]"> </span> <span class="inline-block w-1.5 h-1.5 rounded-full shrink-0"></span> <span class="sig-meta shrink-0"> </span></div> <!></div>'),$a=D('<div class="flex items-center justify-center h-full sig-label italic">Waiting for events...</div>'),Ta=D('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex items-center justify-between px-4 py-2 border-b border-[var(--sig-border)] shrink-0"><div class="flex items-center gap-3"><div class="flex items-center gap-1.5"><span></span> <span class="sig-eyebrow"> </span></div> <!> <!></div> <div class="flex items-center gap-3"><!></div></div> <div class="px-4 pt-2"><!></div> <div class="flex flex-1 min-h-0 flex-col lg:flex-row"><div class="flex-1 min-w-0 min-h-[46vh] lg:min-h-0 p-4 overflow-auto"><!></div> <div><div class="px-3 py-2 border-b border-[var(--sig-border)] space-y-2"><div class="flex items-center justify-between gap-2"><span class="sig-heading text-[10px]">Live Feed</span> <div class="flex items-center gap-2"><span class="sig-meta"> </span> <span> </span></div></div> <div class="flex items-center justify-between gap-2 min-w-0"><label class="inline-flex items-center gap-1.5 sig-eyebrow text-[var(--sig-text)] cursor-pointer min-w-0"><!> <span>Auto-scroll</span></label> <div class="hidden lg:flex items-center gap-1.5 shrink-0"><!> <!></div> <div class="lg:hidden shrink-0"><!></div></div></div> <div class="flex-1 overflow-y-auto px-1 py-1"><!> <!></div></div></div></div> <!>',1);function Ra(g,o){tt(o,!0);function i(a){Jt(S.selectedNodeId===a?null:a)}let d=V(null),c=V(!0),N=V(!1),M=V(!1);const A=24;let y=V(!0),C=V(!0),ee=E(()=>e(N)?"lg:w-[420px]":"lg:w-[320px]"),P=E(()=>e(y)?"Latest":"Oldest"),$=E(()=>e(N)?"Expanded":"Compact");function L(a="smooth"){e(d)&&e(d).scrollTo({top:e(d).scrollHeight,behavior:a})}function H(){return e(d)?e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<=A:!0}function B(){if(!(!e(d)||(x(C,H(),!0),!(e(d).scrollHeight-e(d).clientHeight>A)))){if(e(C)){x(y,!0);return}e(d).scrollTop<=A&&x(y,!1)}}function Q(a){e(d)&&(e(y)?(x(c,!1),x(C,!1),x(y,!1),e(d).scrollTo({top:0,behavior:"smooth"})):(x(c,!0),x(C,!0),x(y,!0),L("auto")),a?.currentTarget instanceof HTMLElement&&a.currentTarget.blur(),x(M,!1))}function b(a){x(c,a,!0),Pt.pipeline.autoScroll=a,Yt(),a&&(x(C,!0),x(y,!0),requestAnimationFrame(()=>{L("auto"),B()}))}function w(a){x(N,!e(N)),Pt.pipeline.feedExpanded=e(N),Yt(),a?.currentTarget instanceof HTMLElement&&a.currentTarget.blur(),x(M,!1)}function T(a){if(!a)return"";const n=Object.keys(a);if(n.length===0)return"";const m=n.slice(0,4).join(", ");return n.length>4?`${m} +${n.length-4}`:m}Ft(()=>{if(S.feed.length,B(),e(c)&&e(d)){if(!e(C))return;requestAnimationFrame(()=>{L("auto"),x(C,!0),x(y,!0),B()})}}),nr(()=>(Zt(),Or(),x(c,Pt.pipeline.autoScroll,!0),x(N,Pt.pipeline.feedExpanded,!0),()=>{Er(),Nr()}));const O={"controlled-write":"border-[#4ade80] text-[#4ade80]",shadow:"border-[#fbbf24] text-[#fbbf24]",frozen:"border-[#94a3b8] text-[#94a3b8]",disabled:"border-[#f87171] text-[#f87171]",unknown:"border-[var(--sig-border)] text-[var(--sig-text-muted)]"};let J=E(()=>O[S.mode]??O.unknown),F=E(()=>at.filter(a=>{const n=S.nodes[a.id];return n?.lastActivity?Date.now()-new Date(n.lastActivity).getTime()<5e3:!1}).length);function R(a){try{return new Date(a).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return a}}const u={error:"#f87171",warn:"#fbbf24",info:"#4ade80",debug:"#6b6b76"},k={hooks:"#4dabf7","session-tracker":"#4dabf7",pipeline:"#da77f2","summary-worker":"#da77f2","document-worker":"#da77f2",retention:"#da77f2",maintenance:"#da77f2",memory:"#ffd43b",embedding:"#ffd43b",sync:"#ff922b",watcher:"#ff922b",harness:"#4dabf7",llm:"#fcc419"},q=["jobId","memoryId","sessionKey","project","attempt","maxRetries","mode","provider","model","facts","entities","proposals","added","updated","deleted","deduped","skippedLowConfidence","blockedDestructive","runId","taskId","path","port","pid","error"];function j(a){const n=Date.now()-new Date(a).getTime();if(!Number.isFinite(n)||n<0)return"just now";const m=Math.floor(n/1e3);if(m<60)return`${m}s ago`;const z=Math.floor(m/60);if(z<60)return`${z}m ago`;const W=Math.floor(z/60);return W<24?`${W}h ago`:`${Math.floor(W/24)}d ago`}function K(a){return a.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/^./,n=>n.toUpperCase())}function h(a){return a===null?"null":a===void 0?"undefined":typeof a=="string"?a:typeof a=="number"||typeof a=="boolean"?String(a):Array.isArray(a)?`[${a.length} items]`:typeof a=="object"?"{object}":String(a)}function p(a){const n=a.message.toLowerCase(),m=a.category.replace(/-/g," ");if(n.includes("job failed")){const z=a.data?.attempt;return typeof z=="number"?`${m} failed (attempt ${z})`:`${m} failed`}return n.includes("completed")?`${m} completed`:n.includes("started")||n.includes("starting")?`${m} started`:n.includes("enqueued")?`${m} queued`:n.includes("failed")?`${m} warning`:n.includes("file changed")?"watcher detected file change":`${m} event`}function Y(a){const n=[{label:"Level",value:a.level},{label:"Category",value:a.category}];a.duration!==void 0&&n.push({label:"Duration",value:`${a.duration} ms`});const m=a.data;if(!m)return n;const z=new Set;for(const W of q)W in m&&(n.push({label:K(W),value:h(m[W])}),z.add(W));for(const W of Object.keys(m).sort())z.has(W)||n.push({label:K(W),value:h(m[W])});return n}function te(a){const n={};if(a.data&&(n.data=a.data),a.error&&(n.error=a.error),Object.keys(n).length===0)return"";const m=JSON.stringify(n,null,2);if(!m)return"";const z=3200;return m.length<=z?m:`${m.slice(0,z)}
|
|
3
3
|
...truncated`}var Ne=Ta(),U=Z(Ne),fe=r(U);kr(fe,{title:"Pipeline",children:(a,n)=>{Sr(a,{group:"engine",get tabs(){return br},get activeTab(){return xr.activeTab},onselect:(m,z)=>hr(z)})}});var Se=s(fe,2),Ce=r(Se),Ae=r(Ce),Ie=r(Ae);let Qe;var He=s(Ie,2),ot=r(He,!0);t(He),t(Ae);var st=s(Ae,2);Tt(st,{variant:"outline",get class(){return`sig-badge px-1.5 py-0 ${e(J)??""}`},children:(a,n)=>{he();var m=Ee();_(()=>f(m,S.mode)),l(a,m)},$$slots:{default:!0}});var Et=s(st,2);{var xt=a=>{var n=fa(),m=r(n);t(n),_(()=>f(m,`${e(F)??""} active`)),l(a,n)};I(Et,a=>{e(F)>0&&a(xt)})}t(Ce);var Ue=s(Ce,2),Mt=r(Ue);{var bt=a=>{var n=ga(),m=r(n);t(n),_(z=>f(m,`polled ${z??""}`),[()=>R(S.lastPoll)]),l(a,n)};I(Mt,a=>{S.lastPoll&&a(bt)})}t(Ue),t(Se);var We=s(Se,2),Dt=r(We);ua(Dt,{}),t(We);var _t=s(We,2),G=r(_t),X=r(G);Zr(X,{onselectnode:i}),t(G);var re=s(G,2),ge=r(re),me=r(ge),ce=s(r(me),2),Pe=r(ce),xe=r(Pe);t(Pe);var se=s(Pe,2);let be;var Me=r(se,!0);t(se),t(ce),t(me);var Be=s(me,2),ae=r(Be),ve=r(ae);ke(ve,()=>Wt,(a,n)=>{n(a,{get checked(){return e(c)},onCheckedChange:m=>b(m),class:"scale-90"})}),he(2),t(ae);var ne=s(ae,2),_e=r(ne);gt(_e,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:a=>Q(a),children:(a,n)=>{he();var m=Ee();_(()=>f(m,e(P))),l(a,m)},$$slots:{default:!0}});var Re=s(_e,2);gt(Re,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:a=>w(a),children:(a,n)=>{he();var m=Ee();_(()=>f(m,e($))),l(a,m)},$$slots:{default:!0}}),t(ne);var ze=s(ne,2),Ze=r(ze);ke(Ze,()=>wr,(a,n)=>{n(a,{get open(){return e(M)},set open(m){x(M,m,!0)},children:(m,z)=>{var W=pa(),Je=Z(W);{const lt=(je,De)=>{gt(je,ir(()=>De?.().props,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",children:(Le,ct)=>{he();var Ke=Ee("Feed actions");l(Le,Ke)},$$slots:{default:!0}}))};ke(Je,()=>_r,(je,De)=>{De(je,{child:lt,$$slots:{child:!0}})})}var Ot=s(Je,2);ke(Ot,()=>yr,(lt,je)=>{je(lt,{align:"end",side:"bottom",class:"w-[170px] p-1 bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(De,dt)=>{var Le=ma(),ct=r(Le);gt(ct,{variant:"outline",size:"sm",class:"w-full justify-start sig-eyebrow tracking-[0.08em] px-2 py-1 h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:ye=>Q(ye),children:(ye,Nt)=>{he();var Xe=Ee();_(()=>f(Xe,e(P))),l(ye,Xe)},$$slots:{default:!0}});var Ke=s(ct,2);gt(Ke,{variant:"outline",size:"sm",class:"w-full justify-start sig-eyebrow tracking-[0.08em] px-2 py-1 h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:ye=>w(ye),children:(ye,Nt)=>{he();var Xe=Ee();_(()=>f(Xe,e($))),l(ye,Xe)},$$slots:{default:!0}}),t(Le),l(De,Le)},$$slots:{default:!0}})}),l(m,W)},$$slots:{default:!0}})}),t(ze),t(Be),t(ge);var Ye=s(ge,2),yt=r(Ye);Oe(yt,19,()=>S.feed,(a,n)=>a.timestamp+"-"+n,(a,n)=>{const m=E(()=>k[e(n).category]??"var(--sig-text-muted)"),z=E(()=>u[e(n).level]??"#6b6b76"),W=E(()=>e(n).message.length>72),Je=E(()=>T(e(n).data)),Ot=E(()=>p(e(n))),lt=E(()=>Y(e(n))),je=E(()=>te(e(n)));var De=Pa(),dt=r(De),Le=r(dt),ct=r(Le,!0);t(Le);var Ke=s(Le,2),ye=s(Ke,2),Nt=r(ye,!0);t(ye),t(dt);var Xe=s(dt,2);{var Kt=qe=>{var vt=ya(),et=Z(vt),ut=r(et),At=r(ut,!0);t(ut);var wt=s(ut,2),It=r(wt,!0);t(wt),t(et);var ie=s(et,2),ue=r(ie,!0);t(ie);var we=s(ie,2);Oe(we,21,()=>e(lt),pt,(oe,le)=>{var $e=ha(),ft=r($e),or=r(ft,!0);t(ft);var Ht=s(ft,2),sr=r(Ht,!0);t(Ht),t($e),_(()=>{f(or,e(le).label),f(sr,e(le).value)}),l(oe,$e)}),t(we);var kt=s(we,2);{var St=oe=>{var le=xa(),$e=r(le);t(le),_(()=>f($e,`Data keys: ${e(Je)??""}`)),l(oe,le)};I(kt,oe=>{e(Je)&&oe(St)})}var Ct=s(kt,2);{var tr=oe=>{var le=ba(),$e=r(le);t(le),_(()=>f($e,`${e(n).error.name??""}: ${e(n).error.message??""}`)),l(oe,le)};I(Ct,oe=>{e(n).error&&oe(tr)})}var rr=s(Ct,2);{var ar=oe=>{var le=_a(),$e=s(r(le),2),ft=r($e,!0);t($e),t(le),_(()=>f(ft,e(je))),l(oe,le)};I(rr,oe=>{e(je)&&oe(ar)})}_(oe=>{f(At,e(Ot)),f(It,oe),f(ue,e(n).message)},[()=>j(e(n).timestamp)]),l(qe,vt)},er=qe=>{var vt=Ca(),et=Z(vt);{var ut=ie=>{var ue=wa(),we=r(ue),kt=r(we,!0);t(we);var St=s(we,2),Ct=r(St,!0);t(St),t(ue),_(()=>{f(kt,e(n).message),f(Ct,e(n).message)}),l(ie,ue)},At=ie=>{var ue=ka(),we=r(ue,!0);t(ue),_(()=>f(we,e(n).message)),l(ie,ue)};I(et,ie=>{e(W)?ie(ut):ie(At,-1)})}var wt=s(et,2);{var It=ie=>{var ue=Sa(),we=r(ue);t(ue),_(()=>f(we,`${e(n).duration??""}ms`)),l(ie,ue)};I(wt,ie=>{e(n).duration&&ie(It)})}l(qe,vt)};I(Xe,qe=>{e(N)?qe(Kt):qe(er,-1)})}t(De),_(qe=>{f(ct,qe),Bt(Ke,`background-color: ${e(z)??""}`),Bt(ye,`color: ${e(m)??""}`),f(Nt,e(n).category)},[()=>R(e(n).timestamp)]),l(a,De)});var Lt=s(yt,2);{var nt=a=>{var n=$a();l(a,n)};I(Lt,a=>{S.feed.length===0&&a(nt)})}t(Ye),lr(Ye,a=>x(d,a),()=>e(d)),t(re),t(_t),t(U);var it=s(U,2);la(it,{}),_(()=>{Qe=Fe(Ie,1,"inline-block w-2 h-2 rounded-full",null,Qe,{"bg-[#4ade80]":S.connected,"bg-[#f87171]":!S.connected,"animate-pulse":S.connected}),f(ot,S.connected?"LIVE":"DISCONNECTED"),Fe(re,1,`w-full shrink-0 border-t lg:border-t-0 border-[var(--sig-border)] flex flex-col bg-[var(--sig-bg)] min-h-[220px] max-h-[40vh] lg:max-h-none ${e(ee)}`,"svelte-1kgvdra"),f(xe,`${S.feed.length??""} events`),be=Fe(se,1,"sig-meta",null,be,{"text-[#4ade80]":e(c)&&e(C),"text-[var(--sig-text-muted)]":!e(c)||!e(C)}),f(Me,e(c)&&e(C)?"following":"paused")}),$t("scroll",Ye,B),l(g,Ne),rt()}export{Ra as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as Wt,g as St,o as M,e as ia,Q as Xt,v as s,c as ut,f as S,h as u,j as l,l as r,t,k as P,y as g,z as c,b as a,i as e,w as F,x as A,B as Nt,O as We,d as Yt,u as f,D as Gt,A as Ft,m as v,P as la,aK as Ka,aL as Ha,G as ua,aM as vr,s as Na,r as Ea,aN as dr,aO as cr,as as Ga,q as Da,af as ga,ag as za,ad as Sa,N as pa,at as Pa,a6 as ur,$ as Qa,aP as fr,J as gr,T as xa}from"./p8zwC1au.js";import{i as mr,m as I,e as Ca,a as Ia,r as Ra,h as pr,j as ka,g as Ta,d as _r,b as La,k as yr,c as hr,s as d,l as Xa,n as Ja,o as er,p as br,q as Ma,f as va,t as ma,u as xr,v as Wa,w as wr,x as kr,y as $r,z as Sr,A as Pr,B as Cr}from"./
|
|
1
|
+
import{p as Wt,g as St,o as M,e as ia,Q as Xt,v as s,c as ut,f as S,h as u,j as l,l as r,t,k as P,y as g,z as c,b as a,i as e,w as F,x as A,B as Nt,O as We,d as Yt,u as f,D as Gt,A as Ft,m as v,P as la,aK as Ka,aL as Ha,G as ua,aM as vr,s as Na,r as Ea,aN as dr,aO as cr,as as Ga,q as Da,af as ga,ag as za,ad as Sa,N as pa,at as Pa,a6 as ur,$ as Qa,aP as fr,J as gr,T as xa}from"./p8zwC1au.js";import{i as mr,m as I,e as Ca,a as Ia,r as Ra,h as pr,j as ka,g as Ta,d as _r,b as La,k as yr,c as hr,s as d,l as Xa,n as Ja,o as er,p as br,q as Ma,f as va,t as ma,u as xr,v as Wa,w as wr,x as kr,y as $r,z as Sr,A as Pr,B as Cr}from"./DnKGuVCx.js";import{aY as ja,S as Ba,B as ct,N as Fa,t as Bt,aZ as tr,a_ as Ir,as as Rr,a$ as Tr,c as qa,b0 as Lr,b1 as Mr,b2 as Ar,n as Nr,D as $a}from"./RssXZxod.js";import{b as _a,C as ya,a as ha}from"./DsZ0VWxu.js";import{I as Ht}from"./DU-1F0zC.js";import{c as ta,S as aa,a as ra,b as Fe}from"./D98iOGZR.js";import{T as Ua}from"./DFtLEfQH.js";import{C as ba}from"./u6TVHHLj.js";import{L as sa}from"./BRtBM-Zc.js";import{g as Er}from"./Cik1Y8bQ.js";import{B as fa}from"./ByeDL_xr.js";var Dr=v('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),zr=v('<span class="detail-rank svelte-4mjdk4"> </span>'),jr=v('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),Br=v('<div class="detail-action svelte-4mjdk4"><!></div>'),Fr=v('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),qr=v("<span>Signet Reviews</span> <!>",1),Ur=v("<!> <!> <!> <!> <!>",1),Or=v("<!> <!>",1),Vr=v('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),Kr=v('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),Hr=v('<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>'),Gr=v('<div class="review-list svelte-4mjdk4"></div>'),Wr=v('<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>'),Yr=v("<!> <!>",1),Zr=v('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),Qr=v('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),Xr=v('<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 Jr(h,i){Wt(i,!0);const x="signet:marketplace:reviews:display-name",G=St(i,"installBusy",3,!1),K=St(i,"removeBusy",3,!1);let D=M("top"),re=M(!1),U=M(ia([])),le=M(!0),Ne=M(ia(Ye())),he=M(5),ue=M(""),ke=M(""),$e=M(!1);const X=f(()=>`${e(he)}/5`),se=f(()=>{const J=[...e(U)];return e(D)==="top"?J.sort((z,O)=>O.rating===z.rating?O.updatedAt.localeCompare(z.updatedAt):O.rating-z.rating):e(D)==="good"?J.filter(z=>z.rating>=4).sort((z,O)=>O.updatedAt.localeCompare(z.updatedAt)):e(D)==="bad"?J.filter(z=>z.rating<=2).sort((z,O)=>O.updatedAt.localeCompare(z.updatedAt)):J.sort((z,O)=>O.updatedAt.localeCompare(z.updatedAt))});Xt(()=>{if(!i.open||!i.item?.targetId){s(U,[],!0);return}s(D,"top"),te(i.item.targetId)});function Ye(){try{return localStorage.getItem(x)??""}catch{return""}}function Ie(J){try{localStorage.setItem(x,J)}catch{}}function oe(J){return J==="1"?1:J==="2"?2:J==="3"?3:J==="4"?4:5}async function te(J){s(re,!0);try{const z=await ja({targetType:"mcp",targetId:J,limit:100});s(U,z.reviews,!0)}finally{s(re,!1)}}async function Me(){if(!i.item?.targetId)return;if(!i.canReview){Bt("Install or use this app before leaving a review.","error");return}const J=e(Ne).trim(),z=e(ue).trim(),O=e(ke).trim();if(!J||!z||!O){Bt("Display name, title, and review are required","error");return}s($e,!0);try{const yt=await tr({targetType:"mcp",targetId:i.item.targetId,displayName:J,rating:e(he),title:z,body:O});if(!yt.success){Bt(yt.error??"Failed to submit review","error");return}Ie(J),s(ue,""),s(ke,""),Bt("Review posted","success"),await te(i.item.targetId)}finally{s($e,!1)}}var qe=ut(),lt=S(qe);u(lt,()=>Fa,(J,z)=>{z(J,{get open(){return i.open},onOpenChange:O=>{O||i.onclose()},children:(O,yt)=>{var ht=ut(),Pt=S(ht);u(Pt,()=>Ba,(It,N)=>{N(It,{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:(de,T)=>{var ve=Xr(),Ee=S(ve),$t=l(Ee),Lt=l($t),Je=l(Lt,!0);r(Lt);var Se=t(Lt,2);{var ft=C=>{var V=jr(),be=l(V),Re=l(be,!0);r(be);var ot=t(be,2),Ke=l(ot,!0);r(ot);var Ue=t(ot,2);{var st=_=>{var n=Dr();a(_,n)};P(Ue,_=>{i.item.official&&_(st)})}var Oe=t(Ue,2);{var vt=_=>{var n=zr(),y=l(n);r(n),g(()=>c(y,`#${i.item.popularityRank??""}`)),a(_,n)};P(Oe,_=>{i.item.popularityRank!==null&&_(vt)})}r(V),g(()=>{c(Re,i.item.sourceLabel),c(Ke,i.item.category)}),a(C,V)};P(Se,C=>{i.item&&C(ft)})}r($t);var Mt=t($t,2);{var bt=C=>{var V=Br(),be=l(V);{var Re=Ke=>{ct(Ke,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--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:()=>i.item.serverId&&i.onuninstall?.(i.item.serverId),get disabled(){return K()},children:(Ue,st)=>{F();var Oe=A();g(()=>c(Oe,K()?"...":"Remove")),a(Ue,Oe)},$$slots:{default:!0}})},ot=Ke=>{ct(Ke,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--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:()=>i.item.catalogEntry&&i.oninstall?.(i.item.catalogEntry),get disabled(){return G()},children:(Ue,st)=>{F();var Oe=A();g(()=>c(Oe,G()?"...":"Install")),a(Ue,Oe)},$$slots:{default:!0}})};P(be,Ke=>{i.item.serverId?Ke(Re):i.item.catalogEntry&&Ke(ot,1)})}r(V),a(C,V)};P(Mt,C=>{i.item&&C(bt)})}r(Ee);var wt=t(Ee,2),et=l(wt);{var Et=C=>{var V=Zr(),be=S(V),Re=l(be,!0);r(be);var ot=t(be,2);{var Ke=st=>{var Oe=Fr();g(()=>Gt(Oe,"href",i.item.sourceUrl)),a(st,Oe)};P(ot,st=>{i.item.sourceUrl&&st(Ke)})}var Ue=t(ot,2);u(Ue,()=>_a,(st,Oe)=>{Oe(st,{class:"reviews-section",get open(){return e(le)},set open(vt){s(le,vt,!0)},children:(vt,_)=>{var n=Yr(),y=S(n);u(y,()=>ya,(ge,Te)=>{Te(ge,{class:"reviews-trigger",children:(B,k)=>{var ie=qr(),R=t(S(ie),2);{let He=f(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(le)?"rotate-180":""}`);ba(R,{get class(){return e(He)}})}a(B,ie)},$$slots:{default:!0}})});var W=t(y,2);u(W,()=>ha,(ge,Te)=>{Te(ge,{children:(B,k)=>{var ie=Wr(),R=l(ie),He=l(R);Ht(He,{class:"review-input",placeholder:"Display name",get value(){return e(Ne)},oninput:L=>{s(Ne,L.currentTarget.value,!0)}});var Ge=t(He,2),gt=l(Ge);{let L=f(()=>String(e(he)));u(gt,()=>ta,(E,xe)=>{xe(E,{type:"single",get value(){return e(L)},onValueChange:pe=>{s(he,oe(pe??"5"),!0)},children:(pe,Z)=>{var H=Or(),Ve=S(H);u(Ve,()=>aa,(me,it)=>{it(me,{class:"review-rating",children:(at,Xe)=>{F();var ze=A();g(()=>c(ze,e(X))),a(at,ze)},$$slots:{default:!0}})});var _e=t(Ve,2);u(_e,()=>ra,(me,it)=>{it(me,{class:"review-rating-content",children:(at,Xe)=>{var ze=Ur(),$=S(ze);u($,()=>Fe,(Ze,nt)=>{nt(Ze,{value:"5",label:"5/5",class:"review-rating-item"})});var je=t($,2);u(je,()=>Fe,(Ze,nt)=>{nt(Ze,{value:"4",label:"4/5",class:"review-rating-item"})});var Le=t(je,2);u(Le,()=>Fe,(Ze,nt)=>{nt(Ze,{value:"3",label:"3/5",class:"review-rating-item"})});var At=t(Le,2);u(At,()=>Fe,(Ze,nt)=>{nt(Ze,{value:"2",label:"2/5",class:"review-rating-item"})});var Vt=t(At,2);u(Vt,()=>Fe,(Ze,nt)=>{nt(Ze,{value:"1",label:"1/5",class:"review-rating-item"})}),a(at,ze)},$$slots:{default:!0}})}),a(pe,H)},$$slots:{default:!0}})})}var mt=t(gt,2);Ht(mt,{class:"review-input",placeholder:"Review title",get value(){return e(ue)},oninput:L=>{s(ue,L.currentTarget.value,!0)}}),r(Ge);var pt=t(Ge,2);Ua(pt,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e(ke)},oninput:L=>{s(ke,L.currentTarget.value,!0)}});var Ct=t(pt,2),ce=t(l(Ct),2);{let L=f(()=>e($e)||!i.canReview);ct(ce,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{Me()},get disabled(){return e(L)},children:(E,xe)=>{F();var pe=A();g(()=>c(pe,e($e)?"Posting...":"Post review")),a(E,pe)},$$slots:{default:!0}})}r(Ct),r(R);var o=t(R,2),j=l(o);let Y;var p=t(j,2);let m;var b=t(p,2);let ae;var ne=t(b,2);let Ae;r(o);var tt=t(o,2);{var Pe=L=>{var E=Vr();a(L,E)},q=L=>{var E=Kr();a(L,E)},ye=L=>{var E=Gr();Ft(E,21,()=>e(se),xe=>xe.id,(xe,pe)=>{var Z=Hr(),H=l(Z),Ve=l(H,!0);r(H);var _e=t(H,2),me=l(_e);r(_e);var it=t(_e,2),at=l(it,!0);r(it),r(Z),g(()=>{c(Ve,e(pe).title),c(me,`${e(pe).displayName??""} · ${e(pe).rating??""}/5`),c(at,e(pe).body)}),a(xe,Z)}),r(E),a(L,E)};P(tt,L=>{e(re)?L(Pe):e(se).length===0?L(q,1):L(ye,-1)})}r(ie),g(()=>{Y=Nt(j,1,"review-filter svelte-4mjdk4",null,Y,{active:e(D)==="top"}),m=Nt(p,1,"review-filter svelte-4mjdk4",null,m,{active:e(D)==="good"}),ae=Nt(b,1,"review-filter svelte-4mjdk4",null,ae,{active:e(D)==="bad"}),Ae=Nt(ne,1,"review-filter svelte-4mjdk4",null,Ae,{active:e(D)==="all"})}),We("click",j,()=>s(D,"top")),We("click",p,()=>s(D,"good")),We("click",b,()=>s(D,"bad")),We("click",ne,()=>s(D,"all")),a(B,ie)},$$slots:{default:!0}})}),a(vt,n)},$$slots:{default:!0}})}),g(()=>c(Re,i.item.description||"No description available.")),a(C,V)},w=C=>{var V=Qr();a(C,V)};P(et,C=>{i.item?C(Et):C(w,-1)})}r(wt),g(()=>c(Je,i.item?.name??"Tool Server")),a(de,ve)},$$slots:{default:!0}})}),a(O,ht)},$$slots:{default:!0}})}),a(h,qe),Yt()}la(["click"]);var el=v('<p class="sheet-subtitle svelte-1n2gzyy"> </p>'),tl=v('<p class="muted svelte-1n2gzyy">Select a server to configure.</p>'),al=v('<p class="muted svelte-1n2gzyy">Loading recommended configuration...</p>'),rl=v('<a class="source-link svelte-1n2gzyy" target="_blank" rel="noopener">View source README</a>'),ll=v('<div class="inline-alert svelte-1n2gzyy"> </div>'),sl=v("<!> <!>",1),il=v("<!> <!>",1),nl=v("<option> </option>"),ol=v('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),vl=v('<div class="inline-hint svelte-1n2gzyy">No secrets found. Add secrets in the Secrets tab to map sensitive values.</div>'),dl=v('<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),cl=v("<option> </option>"),ul=v('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),fl=v('<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),gl=v('<div class="inline-alert svelte-1n2gzyy"> </div>'),ml=v('<div class="test-tools svelte-1n2gzyy"> </div>'),pl=v('<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),_l=v('<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 yl(h,i){Wt(i,!0);const x="secret://";let G=M(!1),K=M(null),D=M(""),re=M(""),U=M(""),le=M(!1),Ne=M(""),he=M("stdio"),ue=M("20000"),ke=M(""),$e=M(""),X=M(""),se=M(ia([])),Ye=M(""),Ie=M(ia([])),oe=M(ia([])),te=M(!1),Me=M("idle"),qe=M(""),lt=M(ia([])),J=M(!1),z=M(null);const O=f(()=>e(he)==="http"?"http":"stdio"),yt=f(()=>i.entry?i.entry.source==="modelcontextprotocol/servers"?"MCP GitHub":"MCP Registry":"");Xt(()=>{!i.open||!i.entry||e(D)!==i.entry.id&&(s(D,i.entry.id,!0),T(i.entry))}),Xt(()=>{i.open||(s(D,""),s(G,!1),s(K,null),s(Me,"idle"),s(qe,""),s(lt,[],!0),s(z,null))});function ht(w){return w.startsWith(x)?w.slice(x.length).trim():""}function Pt(w,C){const V=ht(C);return V?{key:w,value:"",secretName:V}:{key:w,value:C,secretName:""}}function It(w){return w.secretName.trim().length>0?`${x}${w.secretName.trim()}`:w.value}function N(w){const C=Object.entries(w).map(([V,be])=>Pt(V,be));return C.length>0?C:[{key:"",value:"",secretName:""}]}function de(w){if(s(he,w.transport,!0),s(ue,String(w.timeoutMs),!0),w.transport==="stdio"){s(ke,w.command,!0),s($e,w.args.join(`
|
|
3
3
|
`),!0),s(X,w.cwd??"",!0),s(se,N(w.env),!0),s(Ye,""),s(Ie,[{key:"",value:"",secretName:""}],!0);return}s(Ye,w.url,!0),s(Ie,N(w.headers),!0),s(ke,""),s($e,""),s(X,""),s(se,[{key:"",value:"",secretName:""}],!0)}async function T(w){s(G,!0),s(K,null),s(z,null),s(Me,"idle"),s(qe,""),s(lt,[],!0),s(Ne,w.name,!0),s(re,w.description,!0),s(U,""),s(le,!1),s(he,"stdio"),s(ue,"20000"),s(ke,""),s($e,""),s(X,""),s(se,[{key:"",value:"",secretName:""}],!0),s(Ye,""),s(Ie,[{key:"",value:"",secretName:""}],!0),s(te,!0);const[C,V]=await Promise.all([Ir(w.catalogId,w.source),Rr()]);if(s(oe,V,!0),s(te,!1),!C){s(K,"Failed to load recommended config for this server."),s(G,!1);return}s(re,C.description||w.description,!0),s(U,C.githubUrl??"",!0),C.defaultConfig?(s(le,!0),de(C.defaultConfig)):s(K,"No standard config was found. You can still set one manually below."),s(G,!1)}function ve(w){const C={};for(const V of w){const be=V.key.trim();if(be.length===0)continue;const Re=It(V).trim();Re.length!==0&&(C[be]=Re)}return C}function Ee(){const w=Number(e(ue));if(!Number.isFinite(w)||w<=0)return{config:null,error:"Timeout must be a positive number."};if(e(he)==="stdio"){const V=e(ke).trim();if(V.length===0)return{config:null,error:"Command is required for stdio transport."};const be=e($e).split(`
|
|
4
4
|
`).map(Re=>Re.trim()).filter(Re=>Re.length>0);return{config:{transport:"stdio",command:V,args:be,env:ve(e(se)),cwd:e(X).trim()||void 0,timeoutMs:w}}}const C=e(Ye).trim();if(C.length===0)return{config:null,error:"URL is required for HTTP transport."};try{new URL(C)}catch{return{config:null,error:"URL must be a valid absolute URL."}}return{config:{transport:"http",url:C,headers:ve(e(Ie)),timeoutMs:w}}}function $t(w){return w==="http"?"http":"stdio"}function Lt(w,C,V){const be=w[C];be&&(be.value=V,V.trim().length>0&&(be.secretName=""))}function Je(){s(se,[...e(se),{key:"",value:"",secretName:""}],!0)}function Se(w){s(se,e(se).filter((C,V)=>V!==w),!0),e(se).length===0&&s(se,[{key:"",value:"",secretName:""}],!0)}function ft(){s(Ie,[...e(Ie),{key:"",value:"",secretName:""}],!0)}function Mt(w){s(Ie,e(Ie).filter((C,V)=>V!==w),!0),e(Ie).length===0&&s(Ie,[{key:"",value:"",secretName:""}],!0)}async function bt(){s(z,null),s(Me,"running"),s(qe,"Testing MCP server connection..."),s(lt,[],!0);const w=Ee();if(!w.config){s(Me,"error"),s(qe,w.error??"Invalid config.",!0),s(z,w.error??"Invalid config.",!0);return}const C=await Tr({config:w.config});if(C.success){s(Me,"success"),s(lt,C.tools??[],!0),s(qe,`Connection succeeded${typeof C.toolCount=="number"?` (${C.toolCount} tools)`:""}.`);return}s(Me,"error"),s(qe,C.error??"Connection test failed.",!0)}async function wt(){if(!i.entry)return;s(z,null);const w=Ee();if(!w.config){s(z,w.error??"Invalid config.",!0);return}s(J,!0);const C=await mr(i.entry,{alias:e(Ne).trim()||void 0,config:w.config});s(J,!1),C&&i.onclose()}var et=ut(),Et=S(et);u(Et,()=>Fa,(w,C)=>{C(w,{get open(){return i.open},onOpenChange:V=>{V||i.onclose()},children:(V,be)=>{var Re=ut(),ot=S(Re);u(ot,()=>Ba,(Ke,Ue)=>{Ue(Ke,{side:"right",class:`!w-[560px] !max-w-[96vw] !bg-[var(--sig-surface)]
|
|
@@ -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"./p8zwC1au.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as l,f as d,a as i,n as m,b as f,d as h,r as u}from"./p8zwC1au.js";import{I as $}from"./RssXZxod.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,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"./p8zwC1au.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./p8zwC1au.js";import{I as $}from"./RssXZxod.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,g as c,E as o,j as i,a as f,n as v,l as u,F as h,b as m,d as g,r as x,m as b}from"./p8zwC1au.js";import{c as p}from"./
|
|
1
|
+
import{p as n,g as c,E as o,j as i,a as f,n as v,l as u,F as h,b as m,d as g,r as x,m as b}from"./p8zwC1au.js";import{c as p}from"./RssXZxod.js";var _=b("<div><!></div>");function j(t,a){n(a,!0);let s=c(a,"ref",15,null),d=x(a,["$$slots","$$events","$$legacy","ref","class","children"]);var e=_();o(e,r=>({"data-slot":"card",class:r,...d}),[()=>p("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a.class)]);var l=i(e);f(l,()=>a.children??v),u(e),h(e,r=>s(r),()=>s()),m(t,e),g()}var y=b("<div><!></div>");function w(t,a){n(a,!0);let s=c(a,"ref",15,null),d=x(a,["$$slots","$$events","$$legacy","ref","class","children"]);var e=y();o(e,r=>({"data-slot":"card-content",class:r,...d}),[()=>p("px-6",a.class)]);var l=i(e);f(l,()=>a.children??v),u(e),h(e,r=>s(r),()=>s()),m(t,e),g()}export{j as C,w as a};
|