signetai 0.109.21 → 0.110.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/assets/0.DyI51DwC.css +1 -0
- package/dashboard/_app/immutable/assets/2.BZxc-RrJ.css +1 -0
- package/dashboard/_app/immutable/assets/{AuditTab.DfUZSCcu.css → AuditTab.Hc64_Jqx.css} +1 -1
- package/dashboard/_app/immutable/assets/{ChangelogTab.8iCG0PUY.css → ChangelogTab.DPMB6GBV.css} +1 -1
- package/dashboard/_app/immutable/assets/{CortexTab.DLYwEPvJ.css → CortexTab.3C3a8KlW.css} +1 -1
- package/dashboard/_app/immutable/assets/{CortexTasksPanel.C4153GOT.css → CortexTasksPanel.BfHb49Cs.css} +1 -1
- package/dashboard/_app/immutable/assets/HomeTab.DnDpEIrk.css +1 -0
- package/dashboard/_app/immutable/assets/{MarketplaceTab.D-PeLdJA.css → MarketplaceTab.BfahzuSs.css} +1 -1
- package/dashboard/_app/immutable/assets/{OsTab.BABNhat-.css → OsTab.D_wVYC7y.css} +1 -1
- package/dashboard/_app/immutable/assets/{PageBanner.BodUOjhn.css → PageBanner.BY6Ub6Kn.css} +1 -1
- package/dashboard/_app/immutable/assets/{SecretsTab.DEoZs2Z_.css → SecretsTab.ZE-D0CIi.css} +1 -1
- package/dashboard/_app/immutable/assets/{SettingsTab.B1PZQtAW.css → SettingsTab.Lj9vR6l3.css} +1 -1
- package/dashboard/_app/immutable/assets/SourcesTab.BR4pyfYb.css +1 -0
- package/dashboard/_app/immutable/assets/{TroubleshooterPanel.Bj27xjMc.css → TroubleshooterPanel.CS4J0zfS.css} +1 -1
- package/dashboard/_app/immutable/chunks/{BiAb5cst.js → 6hALFWxe.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BfoUO9DF.js → 8jfrEnwZ.js} +1 -1
- package/dashboard/_app/immutable/chunks/9UFGYsgU.js +1 -0
- package/dashboard/_app/immutable/chunks/{DCGZzQhv.js → B4MV25Cw.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CzPN5M7F.js → B75W1jKu.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DtHU_KyL.js → B8FOX1OE.js} +11 -11
- package/dashboard/_app/immutable/chunks/{CyB1_UBK.js → B9q9Ge2R.js} +1 -1
- package/dashboard/_app/immutable/chunks/{By_N1VYQ.js → BUrbURB6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{sPXpc0N5.js → BX3ohALu.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B8H0-1W-.js → BZDosIrh.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DPZ6SyF-.js → B_FilWeQ.js} +1 -1
- package/dashboard/_app/immutable/chunks/BcWwjGf6.js +262 -0
- package/dashboard/_app/immutable/chunks/{DNGDC21S.js → BiBX3uai.js} +1 -1
- package/dashboard/_app/immutable/chunks/{EOE2EklU.js → BjckOom6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{T-ShU8zN.js → Bmj_guSY.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BSy63mmK.js → Bqh2yyHq.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Dj7lwzP_.js → Bt_5fpG6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CuhH2hEa.js → Bw9cJchw.js} +1 -1
- package/dashboard/_app/immutable/chunks/ByGbV-Ik.js +32 -0
- package/dashboard/_app/immutable/chunks/C57S4WwD.js +16 -0
- package/dashboard/_app/immutable/chunks/CAqbdsRf.js +1 -0
- package/dashboard/_app/immutable/chunks/CBEN-ChP.js +4 -0
- package/dashboard/_app/immutable/chunks/{DztUtVIN.js → CEcPoaRJ.js} +1 -1
- package/dashboard/_app/immutable/chunks/CKVqiaWK.js +2 -0
- package/dashboard/_app/immutable/chunks/{DtdJ80sh.js → CTru9r3k.js} +1 -1
- package/dashboard/_app/immutable/chunks/CUNvCZVi.js +1 -0
- package/dashboard/_app/immutable/chunks/{KKQFryJf.js → C__P7n-d.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D8So1UBc.js → CdpckCxA.js} +1 -1
- package/dashboard/_app/immutable/chunks/CmNyRv9_.js +3 -0
- package/dashboard/_app/immutable/chunks/{CwfMbyo9.js → Cnu2Gy6H.js} +1 -1
- package/dashboard/_app/immutable/chunks/CoBEMRYx.js +27 -0
- package/dashboard/_app/immutable/chunks/{aSrCnYtQ.js → CtP16pip.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B0LCqdOS.js → CtffxXur.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CoewuoXd.js → D2hKtolS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{ql8Es_E1.js → DDBGvgR1.js} +1 -1
- package/dashboard/_app/immutable/chunks/DE4e4GZP.js +3 -0
- package/dashboard/_app/immutable/chunks/DQidaz0T.js +4 -0
- package/dashboard/_app/immutable/chunks/DQycX93q.js +31 -0
- package/dashboard/_app/immutable/chunks/{CD494UvJ.js → DWOk1mMF.js} +1 -1
- package/dashboard/_app/immutable/chunks/{OaTG8fit.js → DXr5J1T5.js} +2 -2
- package/dashboard/_app/immutable/chunks/{Bc-tUO5p.js → DcHgi7Cc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{AqBnhsD5.js → DdMf_Qgk.js} +1 -1
- package/dashboard/_app/immutable/chunks/{SA9_q96K.js → DjQJhaws.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BfkEASdS.js → DlEHdTiv.js} +1 -1
- package/dashboard/_app/immutable/chunks/DlaWiL1c.js +1 -0
- package/dashboard/_app/immutable/chunks/{C73w3ldq.js → DqvbULwl.js} +2 -2
- package/dashboard/_app/immutable/chunks/{BiDzZsdZ.js → DrHj0jJA.js} +1 -1
- package/dashboard/_app/immutable/chunks/E8aDzCah.js +64 -0
- package/dashboard/_app/immutable/chunks/{rdAZcnWE.js → Gx2iNUl2.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BWFOfv6z.js → WOdSatfk.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DvMqwpw_.js → e2kluLpm.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BS1btvRn.js → fNoP8D6S.js} +3 -3
- package/dashboard/_app/immutable/chunks/{BykyFGyF.js → gdh5sBCP.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DK3bAoxY.js → nI8gUPgM.js} +1 -1
- package/dashboard/_app/immutable/chunks/ptf-RpEv.js +15 -0
- package/dashboard/_app/immutable/entry/{app.D5uuC30L.js → app.BLkOA8b7.js} +2 -2
- package/dashboard/_app/immutable/entry/start.DWeeSVup.js +1 -0
- package/dashboard/_app/immutable/nodes/{0.CZy1mb1E.js → 0.C3a2CrM0.js} +1 -1
- package/dashboard/_app/immutable/nodes/{1.CaBl0no1.js → 1.Bv-vjpsu.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.DA545kOI.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/fonts/NectoMono-Regular.otf +0 -0
- package/dashboard/fonts/PixelifySans-Regular.woff2 +0 -0
- package/dashboard/fonts/Silkscreen-Bold.woff2 +0 -0
- package/dashboard/fonts/Silkscreen-Regular.woff2 +0 -0
- package/dashboard/fonts/Tiny5-Regular.woff2 +0 -0
- package/dashboard/fonts/VT323-Regular.woff2 +0 -0
- package/dashboard/index.html +11 -10
- package/dashboard/source-logos/highlevel-favicon.ico +0 -0
- package/dashboard/source-logos/highlevel-official-help-logo.png +0 -0
- package/dist/cli.js +2864 -1520
- package/dist/daemon.js +2369 -1122
- package/dist/mcp-stdio.js +60 -2
- package/dist/synthesis-render-worker.js +60 -2
- package/package.json +1 -1
- package/dashboard/_app/immutable/assets/0.fVSjfxN5.css +0 -1
- package/dashboard/_app/immutable/assets/2.DA3KZL1j.css +0 -1
- package/dashboard/_app/immutable/assets/HomeTab.Dl5L71iA.css +0 -1
- package/dashboard/_app/immutable/chunks/B9jE78TQ.js +0 -27
- package/dashboard/_app/immutable/chunks/BPP5Agft.js +0 -64
- package/dashboard/_app/immutable/chunks/Bhn2wIIa.js +0 -264
- package/dashboard/_app/immutable/chunks/BmDss2Lk.js +0 -1
- package/dashboard/_app/immutable/chunks/BnXfOKea.js +0 -1
- package/dashboard/_app/immutable/chunks/C6OK3hJs.js +0 -1
- package/dashboard/_app/immutable/chunks/CVA40-SC.js +0 -15
- package/dashboard/_app/immutable/chunks/CfqYG94h.js +0 -16
- package/dashboard/_app/immutable/chunks/CidL-rbF.js +0 -4
- package/dashboard/_app/immutable/chunks/CsmFKXf6.js +0 -4
- package/dashboard/_app/immutable/chunks/CtKZ1_IS.js +0 -32
- package/dashboard/_app/immutable/chunks/DIaDWJbV.js +0 -31
- package/dashboard/_app/immutable/chunks/DU0PzCMp.js +0 -2
- package/dashboard/_app/immutable/chunks/DuNSmCyM.js +0 -3
- package/dashboard/_app/immutable/entry/start.6jrH-2n0.js +0 -1
- package/dashboard/_app/immutable/nodes/2.D4vLhsbS.js +0 -1
|
@@ -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"./
|
|
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"./C__P7n-d.js";import{c as y}from"./E8aDzCah.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};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{p as qe,s as na,c as ke,f as ye,a as ia,n as Me,b as d,d as Ce,r as da,o as f,e as ss,q as ts,v as i,j as t,t as r,l as s,ab as la,A as ra,y as H,B as G,i as e,z as h,O as ie,k as B,D as Ma,u as U,N as Ca,I as oa,m as x,af as u,P as ls}from"./C__P7n-d.js";import{I as ca,O as rs,P as os,w as ns,X as Sa,Q as is,R as ds,T as cs,U as vs,V as ps}from"./E8aDzCah.js";import{C as us}from"./Cnu2Gy6H.js";import{P as gs}from"./DDBGvgR1.js";import{F as hs}from"./CUNvCZVi.js";import{R as za}from"./WOdSatfk.js";import{F as ms}from"./CAqbdsRf.js";function xs(D,c){qe(c,!0);let C=da(c,["$$slots","$$events","$$legacy"]);const k=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M8 12h8"}],["path",{d:"M12 8v8"}]];ca(D,na({name:"circle-plus"},()=>C,{get iconNode(){return k},children:(b,L)=>{var w=ke(),S=ye(w);ia(S,()=>c.children??Me),d(b,w)},$$slots:{default:!0}})),Ce()}function ws(D,c){qe(c,!0);let C=da(c,["$$slots","$$events","$$legacy"]);const k=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}],["path",{d:"M3 12A9 3 0 0 0 21 12"}]];ca(D,na({name:"database"},()=>C,{get iconNode(){return k},children:(b,L)=>{var w=ke(),S=ye(w);ia(S,()=>c.children??Me),d(b,w)},$$slots:{default:!0}})),Ce()}function fs(D,c){qe(c,!0);let C=da(c,["$$slots","$$events","$$legacy"]);const k=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12"}]];ca(D,na({name:"link-2"},()=>C,{get iconNode(){return k},children:(b,L)=>{var w=ke(),S=ye(w);ia(S,()=>c.children??Me),d(b,w)},$$slots:{default:!0}})),Ce()}const M=(D,c=Me)=>{var C=ke(),k=ye(C);{var b=a=>{var o=bs();d(a,o)},L=a=>{var o=_s();d(a,o)},w=a=>{ms(a,{})},S=a=>{var o=qs();d(a,o)},Q=a=>{var o=ks();d(a,o)},W=a=>{var o=ys();d(a,o)},Z=a=>{var o=Ms();d(a,o)},F=a=>{var o=Cs();d(a,o)},ee=a=>{var o=Ss();d(a,o)},A=a=>{var o=zs();d(a,o)},_=a=>{var o=Bs();d(a,o)},V=a=>{var o=Ls();d(a,o)},E=a=>{var o=As();d(a,o)},ae=a=>{var o=Ps();d(a,o)},Se=a=>{var o=Is();d(a,o)},X=a=>{var o=Ds();d(a,o)},ze=a=>{var o=Fs();d(a,o)},Be=a=>{var o=Vs();d(a,o)},de=a=>{var o=Rs();d(a,o)},ce=a=>{var o=Ns();d(a,o)},Le=a=>{var o=Ts();d(a,o)},se=a=>{var o=Hs();d(a,o)},Ae=a=>{var o=Zs();d(a,o)},Pe=a=>{var o=Es();d(a,o)};B(k,a=>{c()==="obsidian"?a(b):c()==="github"?a(L,1):c()==="folder"?a(w,2):c()==="csv"?a(S,3):c()==="postgres"?a(Q,4):c()==="supabase"?a(W,5):c()==="globe"?a(Z,6):c()==="drive"?a(F,7):c()==="gmail"?a(ee,8):c()==="nextcloud"?a(A,9):c()==="notion"?a(_,10):c()==="x-bookmarks"?a(V,11):c()==="discord"?a(E,12):c()==="telegram"?a(ae,13):c()==="quickbooks"?a(Se,14):c()==="polymarket"?a(X,15):c()==="airtable"?a(ze,16):c()==="go-high-level"?a(Be,17):c()==="clickup"?a(de,18):c()==="stripe"?a(ce,19):c()==="imap-email"?a(Le,20):c()==="proton-mail"?a(se,21):c()==="history"?a(Ae,22):a(Pe,-1)})}d(D,C)};var bs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo obsidian-logo svelte-xqw5vs"><path fill="#7C3AED" d="M19.355 18.538a68.967 68.959 0 0 0 1.858-2.954.81.81 0 0 0-.062-.9c-.516-.685-1.504-2.075-2.042-3.362-.553-1.321-.636-3.375-.64-4.377a1.707 1.707 0 0 0-.358-1.05l-3.198-4.064a3.744 3.744 0 0 1-.076.543c-.106.503-.307 1.004-.536 1.5-.134.29-.29.6-.446.914l-.31.626c-.516 1.068-.997 2.227-1.132 3.59-.124 1.26.046 2.73.815 4.481.128.011.257.025.386.044a6.363 6.363 0 0 1 3.326 1.505c.916.79 1.744 1.922 2.415 3.5zM8.199 22.569c.073.012.146.02.22.02.78.024 2.095.092 3.16.29.87.16 2.593.64 4.01 1.055 1.083.316 2.198-.548 2.355-1.664.114-.814.33-1.735.725-2.58l-.01.005c-.67-1.87-1.522-3.078-2.416-3.849a5.295 5.295 0 0 0-2.778-1.257c-1.54-.216-2.952.19-3.84.45.532 2.218.368 4.829-1.425 7.531zM5.533 9.938c-.023.1-.056.197-.098.29L2.82 16.059a1.602 1.602 0 0 0 .313 1.772l4.116 4.24c2.103-3.101 1.796-6.02.836-8.3-.728-1.73-1.832-3.081-2.55-3.831zM9.32 14.01c.615-.183 1.606-.465 2.74-.546-.705-1.79-.844-3.322-.71-4.565.157-1.46.686-2.69 1.214-3.756l.32-.633c.153-.303.3-.592.428-.867.266-.57.448-1.077.468-1.556.014-.343-.053-.69-.25-1.075L6.561 8.982c.713.753 1.901 2.196 2.757 4.044.145.313.279.642.4.985z" class="svelte-xqw5vs"></path></svg>'),_s=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo github-logo svelte-xqw5vs"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" class="svelte-xqw5vs"></path></svg>'),qs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo csv-logo svelte-xqw5vs"><path fill="currentColor" d="M4 2h12l4 4v16H4z" opacity="0.18" class="svelte-xqw5vs"></path><path fill="none" stroke="currentColor" stroke-width="1.4" stroke-linejoin="miter" d="M4 2h12l4 4v16H4zM16 2v5h4M7 11h10M7 15h10M10 9v10M14 9v10" class="svelte-xqw5vs"></path></svg>'),ks=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo postgres-logo svelte-xqw5vs"><path fill="#4169E1" d="M12 2C8.2 2 5.1 3.3 5.1 5v10.2c0 1.7 3.1 3 6.9 3s6.9-1.3 6.9-3V5c0-1.7-3.1-3-6.9-3Zm0 1.9c3 0 4.9.8 4.9 1.1S15 6.1 12 6.1 7.1 5.3 7.1 5 9 3.9 12 3.9Zm4.9 11.1c0 .4-1.9 1.2-4.9 1.2s-4.9-.8-4.9-1.2v-2.1c1.2.7 2.9 1.1 4.9 1.1s3.7-.4 4.9-1.1Zm0-4c0 .4-1.9 1.2-4.9 1.2S7.1 11.4 7.1 11V8.9C8.3 9.6 10 10 12 10s3.7-.4 4.9-1.1Z" class="svelte-xqw5vs"></path></svg>'),ys=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo supabase-logo svelte-xqw5vs"><path fill="#3FCF8E" d="M11.9 1.036c-.015-.986-1.26-1.41-1.874-.637L.764 12.05C-.33 13.427.65 15.455 2.409 15.455h9.579l.113 7.51c.014.985 1.259 1.408 1.873.636l9.262-11.653c1.093-1.375.113-3.403-1.645-3.403h-9.642z" class="svelte-xqw5vs"></path></svg>'),Ms=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo mdn-logo svelte-xqw5vs"><path fill="#000000" d="m21.538 1.1-6.745 21.8h-2.77L18.77 1.1ZM24 1.1v21.8h-2.462V1.1Zm-12 0v21.8H9.538V1.1Zm-2.462 0L2.77 22.9H0L6.746 1.1Z" class="svelte-xqw5vs"></path></svg>'),Cs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo drive-logo svelte-xqw5vs"><path fill="#4285F4" d="M12.01 1.485c-2.082 0-3.754.02-3.743.047.01.02 1.708 3.001 3.774 6.62l3.76 6.574h3.76c2.081 0 3.753-.02 3.742-.047-.005-.02-1.708-3.001-3.775-6.62l-3.76-6.574zm-4.76 1.73a789.828 789.861 0 0 0-3.63 6.319L0 15.868l1.89 3.298 1.885 3.297 3.62-6.335 3.618-6.33-1.88-3.287C8.1 4.704 7.255 3.22 7.25 3.214zm2.259 12.653-.203.348c-.114.198-.96 1.672-1.88 3.287a423.93 423.948 0 0 1-1.698 2.97c-.01.026 3.24.042 7.222.042h7.244l1.796-3.157c.992-1.734 1.85-3.23 1.906-3.323l.104-.167h-7.249z" class="svelte-xqw5vs"></path></svg>'),Ss=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo gmail-logo svelte-xqw5vs"><path fill="#EA4335" d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z" class="svelte-xqw5vs"></path></svg>'),zs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo nextcloud-logo svelte-xqw5vs"><path fill="#0082C9" d="M12.018 6.537c-2.5 0-4.6 1.712-5.241 4.015-.56-1.232-1.793-2.105-3.225-2.105A3.569 3.569 0 0 0 0 12a3.569 3.569 0 0 0 3.552 3.553c1.432 0 2.664-.874 3.224-2.106.641 2.304 2.742 4.016 5.242 4.016 2.487 0 4.576-1.693 5.231-3.977.569 1.21 1.783 2.067 3.198 2.067A3.568 3.568 0 0 0 24 12a3.569 3.569 0 0 0-3.553-3.553c-1.416 0-2.63.858-3.199 2.067-.654-2.284-2.743-3.978-5.23-3.977zm0 2.085c1.878 0 3.378 1.5 3.378 3.378 0 1.878-1.5 3.378-3.378 3.378A3.362 3.362 0 0 1 8.641 12c0-1.878 1.5-3.378 3.377-3.378zm-8.466 1.91c.822 0 1.467.645 1.467 1.468s-.644 1.467-1.467 1.468A1.452 1.452 0 0 1 2.085 12c0-.823.644-1.467 1.467-1.467zm16.895 0c.823 0 1.468.645 1.468 1.468s-.645 1.468-1.468 1.468A1.452 1.452 0 0 1 18.98 12c0-.823.644-1.467 1.467-1.467z" class="svelte-xqw5vs"></path></svg>'),Bs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo notion-logo svelte-xqw5vs"><path fill="#000000" d="M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z" class="svelte-xqw5vs"></path></svg>'),Ls=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo x-logo svelte-xqw5vs"><path fill="currentColor" d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z" class="svelte-xqw5vs"></path></svg>'),As=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo discord-logo svelte-xqw5vs"><path fill="#5865F2" d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" class="svelte-xqw5vs"></path></svg>'),Ps=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo telegram-logo svelte-xqw5vs"><path fill="#26A5E4" d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z" class="svelte-xqw5vs"></path></svg>'),Is=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo quickbooks-logo svelte-xqw5vs"><path fill="#2CA01C" d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm.642 4.1335c.9554 0 1.7296.776 1.7296 1.7332v9.0667h1.6c1.614 0 2.9275-1.3156 2.9275-2.933 0-1.6173-1.3136-2.9333-2.9276-2.9333h-.6654V7.3334h.6654c2.5722 0 4.6577 2.0897 4.6577 4.667 0 2.5774-2.0855 4.6666-4.6577 4.6666H12.642zM7.9837 7.333h3.3291v12.533c-.9555 0-1.73-.7759-1.73-1.7332V9.0662H7.9837c-1.6146 0-2.9277 1.316-2.9277 2.9334 0 1.6175 1.3131 2.9333 2.9277 2.9333h.6654v1.7332h-.6654c-2.5725 0-4.6577-2.0892-4.6577-4.6665 0-2.5771 2.0852-4.6666 4.6577-4.6666Z" class="svelte-xqw5vs"></path></svg>'),Ds=u('<svg viewBox="0 0 2184 2184" role="img" aria-hidden="true" class="brand-logo polymarket-logo svelte-xqw5vs"><g transform="translate(0 2184) scale(0.1 -0.1)" class="svelte-xqw5vs"><path fill="currentColor" d="M10445 15709 c-2667 -764 -4860 -1391 -4872 -1394 l-23 -5 0 -3345 0 -3344 23 -7 c79 -25 9722 -2782 9724 -2780 2 1 2 2761 1 6133 l-3 6129 -4850 -1387z m3915 -1910 c0 -1939 -1 -2041 -17 -2037 -160 43 -7100 2032 -7105 2037 -7 6 7068 2037 7105 2040 16 1 17 -102 17 -2040z m-4263 -1806 c1976 -565 3591 -1028 3590 -1029 -4 -4 -7141 -2045 -7169 -2051 l-28 -5 0 2056 c0 1131 3 2056 8 2056 4 0 1623 -462 3599 -1027z m4263 -3864 l0 -2041 -27 5 c-16 3 -1617 460 -3560 1016 -1942 556 -3535 1011 -3539 1011 -4 0 -4 3 0 7 5 6 7095 2040 7119 2042 4 1 7 -918 7 -2040z" class="svelte-xqw5vs"></path></g></svg>'),Fs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo airtable-logo svelte-xqw5vs"><path fill="#18BFFF" d="M11.992 1.966c-.434 0-.87.086-1.28.257L1.779 5.917c-.503.208-.49.908.012 1.116l8.982 3.558a3.266 3.266 0 0 0 2.454 0l8.982-3.558c.503-.196.503-.908.012-1.116l-8.957-3.694a3.255 3.255 0 0 0-1.272-.257zM23.4 8.056a.589.589 0 0 0-.222.045l-10.012 3.877a.612.612 0 0 0-.38.564v8.896a.6.6 0 0 0 .821.552L23.62 18.1a.583.583 0 0 0 .38-.551V8.653a.6.6 0 0 0-.6-.596zM.676 8.095a.644.644 0 0 0-.48.19C.086 8.396 0 8.53 0 8.69v8.355c0 .442.515.737.908.54l6.27-3.006.307-.147 2.969-1.436c.466-.22.43-.908-.061-1.092L.883 8.138a.57.57 0 0 0-.207-.044z" class="svelte-xqw5vs"></path></svg>'),Vs=x('<img src="/source-logos/highlevel-official-help-logo.png" alt="" aria-hidden="true" class="brand-logo ghl-logo svelte-xqw5vs"/>'),Rs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo clickup-logo svelte-xqw5vs"><path fill="#7B68EE" d="M2 18.439l3.69-2.828c1.961 2.56 4.044 3.739 6.363 3.739 2.307 0 4.33-1.166 6.203-3.704L22 18.405C19.298 22.065 15.941 24 12.053 24 8.178 24 4.788 22.078 2 18.439zM12.04 6.15l-6.568 5.66-3.036-3.52L12.055 0l9.543 8.296-3.05 3.509z" class="svelte-xqw5vs"></path></svg>'),Ns=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo stripe-logo svelte-xqw5vs"><path fill="#635BFF" d="M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z" class="svelte-xqw5vs"></path></svg>'),Ts=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo imap-logo svelte-xqw5vs"><path fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="miter" d="M3 6h18v12H3zM3 7l9 6 9-6" class="svelte-xqw5vs"></path><path fill="currentColor" d="M6 15h2v1.5H6zm3.5 0h2v1.5h-2zm3.5 0h2v1.5h-2zm3.5 0h2v1.5h-2z" class="svelte-xqw5vs"></path></svg>'),Hs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo proton-logo svelte-xqw5vs"><path fill="#6D4AFF" d="m15.24 8.998 3.656-3.073v15.81H2.482C1.11 21.735 0 20.609 0 19.223V6.944l7.58 6.38a2.186 2.186 0 0 0 2.871-.042l4.792-4.284h-.003zm-5.456 3.538 1.809-1.616a2.438 2.438 0 0 1-1.178-.533L.905 2.395A.552.552 0 0 0 0 2.826v2.811l8.226 6.923a1.186 1.186 0 0 0 1.558-.024zM23.871 2.463a.551.551 0 0 0-.776-.068l-3.199 2.688v16.653h1.623c1.371 0 2.481-1.127 2.481-2.513V2.824a.551.551 0 0 0-.129-.36z" class="svelte-xqw5vs"></path></svg>'),Zs=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo chrome-logo svelte-xqw5vs"><path fill="#4285F4" d="M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z" class="svelte-xqw5vs"></path></svg>'),Es=u('<svg viewBox="0 0 24 24" role="img" aria-hidden="true" class="brand-logo linear-logo svelte-xqw5vs"><path fill="#5E6AD2" d="M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z" class="svelte-xqw5vs"></path></svg>'),Os=x('<button type="button"> </button>'),js=x('<em class="svelte-xqw5vs">Planned</em>'),Gs=x('<button class="connect-button svelte-xqw5vs" type="button"><!> </button>'),Us=x('<p class="field-error svelte-xqw5vs">Vault folder is required.</p>'),Qs=x('<span class="spin svelte-xqw5vs"><!></span>'),Ws=x('<form class="connect-form svelte-xqw5vs"><label class="svelte-xqw5vs"><span class="svelte-xqw5vs">Display name</span> <input placeholder="Obsidian Vault" class="svelte-xqw5vs"/></label> <label class="svelte-xqw5vs"><span class="svelte-xqw5vs">Vault folder</span> <div class="path-row svelte-xqw5vs"><input placeholder="Choose your vault folder..." class="svelte-xqw5vs"/> <button type="button" class="svelte-xqw5vs"><!> </button></div></label> <!> <button class="connect-button svelte-xqw5vs" type="submit"><!> </button></form>'),Xs=x('<p class="form-status form-status--info svelte-xqw5vs"> </p>'),Ks=x('<p class="form-status form-status--error svelte-xqw5vs"> </p>'),Js=x('<article><button type="button"><span><!></span> <span class="connector-copy svelte-xqw5vs"><strong class="svelte-xqw5vs"> </strong> <small class="svelte-xqw5vs"> </small></span> <span><!></span></button> <div><p class="connector-description svelte-xqw5vs"> </p> <!> <!> <!> <!></div></article>'),Ys=x('<p class="connected-loading svelte-xqw5vs">Checking source registry...</p>'),$s=x('<span class="spin svelte-xqw5vs"><!></span>'),et=x('<article class="connected-row svelte-xqw5vs"><div class="svelte-xqw5vs"><strong class="svelte-xqw5vs"> </strong> <code class="svelte-xqw5vs"> </code></div> <ul class="svelte-xqw5vs"><li class="svelte-xqw5vs"><!> </li> <li class="svelte-xqw5vs"><!> </li></ul> <button class="disconnect-button svelte-xqw5vs" type="button"><!> </button></article>'),at=x('<div class="connected-list svelte-xqw5vs"><p class="removal-note svelte-xqw5vs">Remove any knowledge base here. Signet purges its indexed artifacts, graph rows, and source chunks; the original files stay untouched.</p> <!></div>'),st=x('<section class="connected-panel sig-panel svelte-xqw5vs"><header class="section-label svelte-xqw5vs">Connected locally</header> <!></section>'),tt=x('<div class="sources-tab svelte-xqw5vs"><div class="sources-shell svelte-xqw5vs"><main class="sources-main svelte-xqw5vs"><header class="sources-masthead svelte-xqw5vs"><span class="eyebrow svelte-xqw5vs">Sources</span> <h1 class="svelte-xqw5vs">Connect knowledge bases</h1> <p class="svelte-xqw5vs">Bring external context into Signet while preserving the original source of truth.</p></header> <section class="source-toolbar svelte-xqw5vs" aria-label="Source filters"><label class="search-box svelte-xqw5vs" for="source-search"><span class="svelte-xqw5vs"><!></span> <input id="source-search" placeholder="Search sources" class="svelte-xqw5vs"/></label> <div class="filter-tabs svelte-xqw5vs" role="group" aria-label="Source type filters"></div> <div class="read-first svelte-xqw5vs"><span class="svelte-xqw5vs">Read-only first</span> <span class="switch svelte-xqw5vs" aria-hidden="true"><span class="svelte-xqw5vs"></span></span> <!></div></section> <section class="recall-map svelte-xqw5vs" aria-label="Source recall diagram"><div class="map-grid svelte-xqw5vs" aria-hidden="true"></div> <div class="map-left map-stack svelte-xqw5vs"><div class="map-node node-obsidian svelte-xqw5vs"><!></div> <div class="map-node node-github svelte-xqw5vs"><!></div> <div class="map-node node-folder svelte-xqw5vs"><!></div> <div class="map-node node-csv svelte-xqw5vs"><!></div> <div class="map-node node-web svelte-xqw5vs"><!></div></div> <svg class="map-connections svelte-xqw5vs" viewBox="0 0 620 240" preserveAspectRatio="none" aria-hidden="true"><defs class="svelte-xqw5vs"><filter id="wire-glow" x="-20%" y="-20%" width="140%" height="140%" class="svelte-xqw5vs"><feGaussianBlur stdDeviation="1.5" result="blur" class="svelte-xqw5vs"></feGaussianBlur><feMerge class="svelte-xqw5vs"><feMergeNode in="blur" class="svelte-xqw5vs"></feMergeNode><feMergeNode in="SourceGraphic" class="svelte-xqw5vs"></feMergeNode></feMerge></filter></defs><path d="M 76 38 C 160 38, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 84 C 160 84, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 130 C 160 130, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 176 C 160 176, 250 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 38 C 460 38, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 84 C 460 84, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 130 C 460 130, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 176 C 460 176, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 544 222 C 460 222, 370 120, 310 120" class="map-wire svelte-xqw5vs"></path><path d="M 76 38 C 160 38, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: 0s;"></path><path d="M 76 84 C 160 84, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -0.6s;"></path><path d="M 76 130 C 160 130, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -1.2s;"></path><path d="M 76 176 C 160 176, 250 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -1.8s;"></path><path d="M 544 38 C 460 38, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -0.3s;"></path><path d="M 544 84 C 460 84, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -0.9s;"></path><path d="M 544 130 C 460 130, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -1.5s;"></path><path d="M 544 176 C 460 176, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -2.1s;"></path><path d="M 544 222 C 460 222, 370 120, 310 120" class="map-packet svelte-xqw5vs" style="animation-delay: -2.7s;"></path></svg> <div class="map-center svelte-xqw5vs"><img src="/logo-dark.png" alt="Signet" class="map-logo svelte-xqw5vs"/> <span class="map-tagline svelte-xqw5vs">Bring context to your agent</span></div> <div class="map-right map-stack svelte-xqw5vs"><div class="map-node node-drive svelte-xqw5vs"><!></div> <div class="map-node node-notion svelte-xqw5vs"><!></div> <div class="map-node node-nextcloud svelte-xqw5vs"><!></div> <div class="map-node node-postgres svelte-xqw5vs"><!></div> <div class="map-node node-supabase svelte-xqw5vs"><!></div> <div class="map-node node-x-bookmarks svelte-xqw5vs"><!></div></div> <div class="map-counts svelte-xqw5vs"><span class="svelte-xqw5vs"> </span><span class="svelte-xqw5vs"> </span></div></section> <section id="featured-sources" class="featured-panel svelte-xqw5vs" aria-label="Featured sources"><header class="section-label svelte-xqw5vs">Featured sources</header> <div></div> <footer class="svelte-xqw5vs"> </footer></section> <!></main></div></div>');function vt(D,c){qe(c,!0);let C=f(ss([])),k=f(!0),b=f(!1),L=f(null),w=f(!1),S=f(""),Q=f("all"),W=f("obsidian"),Z=f(!1),F=f(""),ee=f("Obsidian Vault"),A=f(null),_=f(null),V=f(!1),E=f(null);const ae=[{kind:"obsidian",name:"Obsidian Vault",detail:"Markdown vaults, folders, links",description:"Index Markdown files, folder structure, and links from your Obsidian vault. Signet reads locally and never writes back to your vault.",icon:"obsidian",category:"local",tags:["local","markdown","read-only"],status:"available",indexes:["Markdown files (*.md)","Links and wikilinks","Folder paths and structure"],never:["Write back to your vault"],learnMore:[{label:"Obsidian integration guide",href:"https://github.com/Signet-AI/signetai"},{label:"Supported features",href:"https://github.com/Signet-AI/signetai"}]},{kind:"github",name:"GitHub Repositories",detail:"Issues, PRs, code, docs",description:"Bring repository context, issues, pull requests, and project docs into recall.",icon:"github",category:"code",tags:["code","cloud"],status:"planned",indexes:["Repository files","Issues and PRs","Project documentation"],never:["Push changes without an explicit action"],learnMore:[]},{kind:"clickup",name:"ClickUp",detail:"Tasks, docs, spaces",description:"Connect ClickUp spaces, lists, tasks, docs, and comments as project context with workspace/list provenance attached.",icon:"clickup",category:"code",tags:["code","project-management","tasks","clickup","planned"],status:"planned",indexes:["Tasks and subtasks","Docs","Spaces and lists"],never:["Change task status or assign owners from indexing"],learnMore:[]},{kind:"csv",name:"CSV Imports",detail:"Tables, exports, structured rows",description:"Index CSV exports and structured tables as provenance-labeled source context without turning every row into ordinary memory.",icon:"csv",category:"data",tags:["data","csv","tables","planned"],status:"planned",indexes:["CSV rows","Column names","Original file path"],never:["Overwrite the source spreadsheet or export"],learnMore:[]},{kind:"postgres",name:"PostgreSQL",detail:"Read-only tables and views",description:"Connect selected PostgreSQL tables or views for read-only recall with query/source provenance kept intact.",icon:"postgres",category:"data",tags:["data","postgres","database","planned"],status:"planned",indexes:["Selected tables","Views","Schema metadata"],never:["Run mutating SQL during indexing"],learnMore:[]},{kind:"supabase",name:"Supabase",detail:"Projects, tables, edge data",description:"Connect Supabase projects as a managed Postgres source with read-only indexing and table-level provenance.",icon:"supabase",category:"data",tags:["data","supabase","postgres","planned"],status:"planned",indexes:["Selected tables","Project metadata","Row provenance"],never:["Write records back from recall"],learnMore:[]},{kind:"web-docs",name:"Web Docs",detail:"Crawl documentation sites",description:"Crawl public documentation pages and keep their provenance attached to recall hits.",icon:"globe",category:"docs",tags:["docs","web"],status:"planned",indexes:["Documentation pages","Page titles","Source URLs"],never:["Bypass private access controls"],learnMore:[]},{kind:"notion",name:"Notion",detail:"Pages and databases",description:"Index selected Notion pages and databases as source context.",icon:"notion",category:"docs",tags:["docs","cloud"],status:"planned",indexes:["Pages","Databases","Linked blocks"],never:["Edit workspace content from recall"],learnMore:[]},{kind:"google-drive",name:"Google Drive",detail:"Docs, sheets, shared folders",description:"Connect selected Drive folders and Google Workspace documents.",icon:"drive",category:"cloud",tags:["cloud","docs"],status:"planned",indexes:["Docs and sheets","Shared folders","File metadata"],never:["Modify Drive files during indexing"],learnMore:[]},{kind:"gmail",name:"Gmail",detail:"Mail threads and attachments",description:"Bring searchable mail-thread context into Signet recall with clear mail provenance.",icon:"gmail",category:"cloud",tags:["cloud","mail"],status:"planned",indexes:["Mail threads","Participants","Attachment metadata"],never:["Send mail without a separate action"],learnMore:[]},{kind:"nextcloud",name:"Nextcloud",detail:"Self-hosted files and notes",description:"Index files and notes from a self-hosted Nextcloud instance.",icon:"nextcloud",category:"cloud",tags:["cloud","self-hosted"],status:"planned",indexes:["Files","Notes","Folder metadata"],never:["Write changes back by default"],learnMore:[]},{kind:"x-bookmarks",name:"X Bookmarks",detail:"Saved posts and research trails",description:"Index opted-in X bookmarks so saved posts, threads, and source URLs can be recalled later with clear X provenance.",icon:"x-bookmarks",category:"social",tags:["social","x","bookmarks","twitter","planned"],status:"planned",indexes:["Bookmarked posts","Thread URLs","Author handles"],never:["Post, like, or follow accounts"],learnMore:[]},{kind:"discord",name:"Discord",detail:"Servers, channels, threads",description:"Index opted-in Discord servers, channels, and threads as source-labeled conversation context with server/channel provenance.",icon:"discord",category:"social",tags:["social","discord","chat","planned"],status:"planned",indexes:["Selected channels","Threads","Message authors and timestamps"],never:["Send messages without an explicit action"],learnMore:[]},{kind:"telegram",name:"Telegram",detail:"Chats, groups, channels",description:"Bring opted-in Telegram chats and channels into recall while preserving chat/source boundaries.",icon:"telegram",category:"social",tags:["social","telegram","chat","planned"],status:"planned",indexes:["Selected chats","Groups and channels","Message metadata"],never:["Reply or forward messages from indexing"],learnMore:[]},{kind:"quickbooks",name:"QuickBooks",detail:"Invoices, customers, accounting",description:"Connect QuickBooks as a read-only business source for invoice, customer, vendor, and transaction context.",icon:"quickbooks",category:"data",tags:["data","accounting","finance","quickbooks","planned"],status:"planned",indexes:["Invoices and estimates","Customers and vendors","Account metadata"],never:["Create transactions or mutate books"],learnMore:[]},{kind:"polymarket",name:"Polymarket",detail:"Markets, odds, research signals",description:"Index watched Polymarket markets, prices, and market metadata as provenance-backed research context.",icon:"polymarket",category:"data",tags:["data","markets","prediction","polymarket","planned"],status:"planned",indexes:["Watched markets","Prices and outcomes","Market metadata"],never:["Place trades or manage funds"],learnMore:[]},{kind:"airtable",name:"Airtable",detail:"Bases, tables, records",description:"Connect selected Airtable bases and tables for structured recall with base/table provenance attached.",icon:"airtable",category:"data",tags:["data","airtable","tables","planned"],status:"planned",indexes:["Selected bases","Tables and records","Field metadata"],never:["Edit records during indexing"],learnMore:[]},{kind:"go-high-level",name:"Go High Level",detail:"CRM, contacts, pipelines",description:"Connect Go High Level CRM data as read-only source context for contacts, opportunities, and client workflows.",icon:"go-high-level",category:"cloud",tags:["cloud","crm","marketing","go high level","ghl","planned"],status:"planned",indexes:["Contacts","Opportunities","Pipeline metadata"],never:["Trigger automations or message contacts"],learnMore:[]},{kind:"stripe",name:"Stripe",detail:"Payments, customers, invoices",description:"Index Stripe customers, payments, subscriptions, invoices, and dispute metadata as read-only business context.",icon:"stripe",category:"data",tags:["data","payments","finance","stripe","planned"],status:"planned",indexes:["Customers","Invoices and subscriptions","Payment and dispute metadata"],never:["Create charges, refunds, or payouts"],learnMore:[]},{kind:"imap-email",name:"IMAP Email",detail:"Generic mailboxes and folders",description:"Connect a standards-based IMAP mailbox for read-only thread, sender, folder, and attachment-metadata recall.",icon:"imap-email",category:"cloud",tags:["cloud","mail","email","imap","planned"],status:"planned",indexes:["Mail folders","Threads and senders","Attachment metadata"],never:["Send, delete, or move mail during indexing"],learnMore:[]},{kind:"proton-mail",name:"Proton Mail",detail:"Encrypted mail via Bridge",description:"Connect Proton Mail through Bridge/IMAP so mailbox context can be recalled without Signet becoming the source of truth.",icon:"proton-mail",category:"cloud",tags:["cloud","mail","email","proton","protonmail","planned"],status:"planned",indexes:["Mail folders","Threads","Sender and timestamp metadata"],never:["Bypass Proton encryption or send mail from indexing"],learnMore:[]},{kind:"browser-history",name:"Browser History",detail:"Research trails and pages",description:"Index opted-in browsing trails so research context can be recalled later.",icon:"history",category:"local",tags:["local","research"],status:"planned",indexes:["Visited pages","Titles","Research trails"],never:["Index private history without opt-in"],learnMore:[]},{kind:"linear",name:"Linear",detail:"Issues and project context",description:"Connect project issues, teams, and status context from Linear.",icon:"linear",category:"code",tags:["code","cloud"],status:"planned",indexes:["Issues","Projects","Teams"],never:["Change issue state from recall"],learnMore:[]}],Se=[{id:"all",label:"All"},{id:"local",label:"Local"},{id:"cloud",label:"Cloud"},{id:"data",label:"Data"},{id:"social",label:"Social"},{id:"code",label:"Code"},{id:"docs",label:"Docs"}],X=U(()=>e(C).filter(l=>l.kind==="obsidian")),ze=U(()=>e(X).length),Be=U(()=>e(X).filter(l=>l.lastIndexedAt).length),de=U(()=>e(F).trim().length===0),ce=U(()=>!e(de)&&!e(b)&&e(W)==="obsidian"),Le=U(()=>{const l=e(S).trim().toLowerCase();return ae.filter(n=>{const p=e(Q)==="all"||n.category===e(Q),z=l.length===0||n.name.toLowerCase().includes(l)||n.detail.toLowerCase().includes(l)||n.tags.some(R=>R.includes(l));return p&&z})});ts(()=>{se()});async function se(){i(k,!0),i(_,null);try{i(C,await rs(),!0)}finally{i(k,!1)}}function Ae(l){const n=e(E)===l;i(W,l,!0),i(E,n?null:l,!0),i(Z,!1),i(A,null),i(_,null),i(V,!1)}async function Pe(){const l=cs();i(w,!0),i(_,null),i(A,null);try{if(l?.pickDirectory){const p=await l.pickDirectory({title:"Choose Obsidian vault"});p&&(i(F,p,!0),i(V,!0));return}const n=await is("Choose Obsidian vault");if(n.path){i(F,n.path,!0),i(V,!0);return}n.error&&i(_,n.error,!0)}catch(n){i(_,n instanceof Error?n.message:"Could not open folder picker.",!0)}finally{i(w,!1)}}async function a(){if(i(V,!0),!!e(ce)){i(b,!0),i(A,null),i(_,null);try{const l=await ds(e(F).trim(),e(ee).trim()||void 0);if(l.error){i(_,l.error,!0);return}i(A,`${l.created?"Connected":"Updated"} ${l.source.name}. Indexed ${l.indexed} changed notes.`),i(F,""),i(V,!1),i(Z,!1),await se()}finally{i(b,!1)}}}async function o(l){if(window.confirm(`Remove ${l.name} from Signet?
|
|
2
|
+
|
|
3
|
+
This purges Signet's indexed source rows and chunks, but leaves the original vault files untouched.`)){i(L,l.id,!0),i(A,null),i(_,null);try{const p=await ps(l.id);if(p.error){i(_,p.error,!0);return}i(A,`Removed ${l.name}. Purged ${p.purged??0} Signet-owned source rows; vault files were not touched.`),await se()}finally{i(L,null)}}}function Ba(l){if(!l)return"Not scanned yet";const n=new Date(l);return Number.isNaN(n.getTime())?l:n.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var Ie=tt(),va=t(Ie),pa=t(va),De=r(t(pa),2),Fe=t(De),Ve=t(Fe),La=t(Ve);os(La,{}),s(Ve);var ua=r(Ve,2);la(ua),s(Fe);var Re=r(Fe,2);ra(Re,21,()=>Se,l=>l.id,(l,n)=>{var p=Os();let z;var R=t(p,!0);s(p),H(()=>{z=G(p,1,"svelte-xqw5vs",null,z,{active:e(Q)===e(n).id}),h(R,e(n).label)}),ie("click",p,()=>i(Q,e(n).id,!0)),d(l,p)}),s(Re);var ga=r(Re,2),Aa=r(t(ga),4);ns(Aa,{}),s(ga),s(De);var Ne=r(De,2),Te=r(t(Ne),2),He=t(Te),Pa=t(He);M(Pa,()=>"obsidian"),s(He);var Ze=r(He,2),Ia=t(Ze);M(Ia,()=>"github"),s(Ze);var Ee=r(Ze,2),Da=t(Ee);M(Da,()=>"folder"),s(Ee);var Oe=r(Ee,2),Fa=t(Oe);M(Fa,()=>"csv"),s(Oe);var ha=r(Oe,2),Va=t(ha);M(Va,()=>"globe"),s(ha),s(Te);var je=r(Te,6),Ge=t(je),Ra=t(Ge);M(Ra,()=>"drive"),s(Ge);var Ue=r(Ge,2),Na=t(Ue);M(Na,()=>"notion"),s(Ue);var Qe=r(Ue,2),Ta=t(Qe);M(Ta,()=>"nextcloud"),s(Qe);var We=r(Qe,2),Ha=t(We);M(Ha,()=>"postgres"),s(We);var Xe=r(We,2),Za=t(Xe);M(Za,()=>"supabase"),s(Xe);var ma=r(Xe,2),Ea=t(ma);M(Ea,()=>"x-bookmarks"),s(ma),s(je);var xa=r(je,2),Ke=t(xa),Oa=t(Ke);s(Ke);var wa=r(Ke),ja=t(wa);s(wa),s(xa),s(Ne);var Je=r(Ne,2),ve=r(t(Je),2);let fa;ra(ve,21,()=>e(Le),l=>l.kind,(l,n)=>{const p=U(()=>e(E)===e(n).kind);var z=Js();let R;var q=t(z);let N;var K=t(q),te=t(K);M(te,()=>e(n).icon),s(K);var y=r(K,2),O=t(y),le=t(O,!0);s(O);var J=r(O,2),Ye=t(J,!0);s(J),s(y);var Y=r(y,2);let pe;var re=t(Y);{var oe=v=>{Sa(v,{})},ue=v=>{us(v,{})},$e=v=>{var g=js();d(v,g)},ge=v=>{gs(v,{})};B(re,v=>{e(p)?v(oe):e(n).status==="available"?v(ue,1):e(n).status==="planned"?v($e,2):v(ge,-1)})}s(Y),s(q);var j=r(q,2);let he;var T=t(j),me=t(T,!0);s(T);var xe=r(T,2);{var ea=v=>{var g=Gs(),I=t(g);fs(I,{});var fe=r(I);s(g),H(()=>{g.disabled=e(n).status!=="available"||!e(p),h(fe,` ${e(n).status==="available"?"Connect":"Planned source"}`)}),ie("click",g,()=>i(Z,!0)),d(v,g)};B(xe,v=>{(!e(Z)||!e(p))&&v(ea)})}var we=r(xe,2);{var P=v=>{var g=Ws(),I=t(g),fe=r(t(I),2);la(fe),s(I);var sa=r(I,2),_a=r(t(sa),2),be=t(_a);la(be);var _e=r(be,2),qa=t(_e);hs(qa,{});var Ka=r(qa);s(_e),s(_a),s(sa);var ka=r(sa,2);{var Ja=m=>{var ne=Us();d(m,ne)};B(ka,m=>{e(V)&&e(de)&&m(Ja)})}var ta=r(ka,2),ya=t(ta);{var Ya=m=>{var ne=Qs(),as=t(ne);za(as,{}),s(ne),d(m,ne)},$a=m=>{xs(m,{})};B(ya,m=>{e(b)?m(Ya):m($a,-1)})}var es=r(ya);s(ta),s(g),H(()=>{_e.disabled=e(w),h(Ka,` ${e(w)?"Opening":"Browse"}`),ta.disabled=!e(ce),h(es,` ${e(b)?"Indexing":"Add source"}`)}),Ca("submit",g,m=>{m.preventDefault(),a()}),oa(fe,()=>e(ee),m=>i(ee,m)),Ca("blur",be,()=>i(V,!0)),oa(be,()=>e(F),m=>i(F,m)),ie("click",_e,()=>{Pe()}),d(v,g)};B(we,v=>{e(Z)&&e(p)&&e(n).kind==="obsidian"&&v(P)})}var $=r(we,2);{var aa=v=>{var g=Xs(),I=t(g,!0);s(g),H(()=>h(I,e(A))),d(v,g)};B($,v=>{e(W)===e(n).kind&&e(A)&&v(aa)})}var Wa=r($,2);{var Xa=v=>{var g=Ks(),I=t(g,!0);s(g),H(()=>h(I,e(_))),d(v,g)};B(Wa,v=>{e(W)===e(n).kind&&e(_)&&v(Xa)})}s(j),s(z),H(()=>{R=G(z,1,"connector-card svelte-xqw5vs",null,R,{expanded:e(p),compressed:e(E)!==null&&!e(p)}),N=G(q,1,"connector-row svelte-xqw5vs",null,N,{selected:e(p)}),Ma(q,"aria-expanded",e(p)),G(K,1,`connector-icon icon-${e(n).icon}`,"svelte-xqw5vs"),h(le,e(n).name),h(Ye,e(n).detail),pe=G(Y,1,"connector-action svelte-xqw5vs",null,pe,{available:e(n).status==="available"}),he=G(j,1,"connector-expand svelte-xqw5vs",null,he,{open:e(p)}),Ma(j,"aria-hidden",!e(p)),h(me,e(n).description)}),ie("click",q,()=>Ae(e(n).kind)),d(l,z)}),s(ve);var ba=r(ve,2),Ga=t(ba);s(ba),s(Je);var Ua=r(Je,2);{var Qa=l=>{var n=st(),p=r(t(n),2);{var z=q=>{var N=Ys();d(q,N)},R=q=>{var N=at(),K=r(t(N),2);ra(K,17,()=>e(X),te=>te.id,(te,y)=>{var O=et(),le=t(O),J=t(le),Ye=t(J,!0);s(J);var Y=r(J,2),pe=t(Y,!0);s(Y),s(le);var re=r(le,2),oe=t(re),ue=t(oe);vs(ue,{});var $e=r(ue);s(oe);var ge=r(oe,2),j=t(ge);ws(j,{});var he=r(j);s(ge),s(re);var T=r(re,2),me=t(T);{var xe=P=>{var $=$s(),aa=t($);za(aa,{}),s($),d(P,$)},ea=P=>{Sa(P,{})};B(me,P=>{e(L)===e(y).id?P(xe):P(ea,-1)})}var we=r(me);s(T),s(O),H(P=>{h(Ye,e(y).name),h(pe,e(y).root),h($e,` ${e(y).enabled?"Enabled":"Disabled"}`),h(he,` ${P??""}`),T.disabled=e(L)===e(y).id,h(we,` ${e(L)===e(y).id?"Removing":"Remove knowledge base"}`)},[()=>Ba(e(y).lastIndexedAt)]),ie("click",T,()=>{o(e(y))}),d(te,O)}),s(N),d(q,N)};B(p,q=>{e(k)?q(z):q(R,-1)})}s(n),d(l,n)};B(Ua,l=>{(e(k)||e(X).length>0)&&l(Qa)})}s(pa),s(va),s(Ie),H((l,n)=>{h(Oa,`${e(ze)??""} connected`),h(ja,`${e(Be)??""} indexed`),fa=G(ve,1,"connector-grid svelte-xqw5vs",null,fa,{"has-expanded":e(E)!==null}),h(Ga,`${l??""} live / ${n??""} planned sources`)},[()=>ae.filter(l=>l.status==="available").length,()=>ae.filter(l=>l.status==="planned").length]),oa(ua,()=>e(S),l=>i(S,l)),d(D,Ie),Ce()}ls(["click"]);export{vt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./
|
|
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"./C__P7n-d.js";import{I as $}from"./E8aDzCah.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};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import{p as et,s as Ht,c as ue,f as h,a as Ft,n as Wt,b as a,d as tt,r as Ut,g as kt,j as l,l as s,t as r,k as A,i as e,y as k,B as Dt,D as wt,z as x,O as We,u as B,m as i,P as xt,A as Me,a9 as Et,Q as $t,h as p,w as m,x as I,v,o as oe,U as qt,F as Vt,a2 as yt,K as Pt,e as Gt,N as Zt,q as Jt}from"./C__P7n-d.js";import{I as Qt,_ as It,$ as Nt,a0 as Lt,a1 as Ot,B as ot,a2 as Mt,l as Xt,X as Yt,a5 as ea,aF as zt,aG as ta,aH as Ct,o as aa,aI as St,aJ as sa,aK as fe,aL as ra,aM as jt,aN as Tt,aO as na}from"./E8aDzCah.js";import{S as la}from"./DlEHdTiv.js";import{B as _t}from"./BZDosIrh.js";import{S as oa,a as ia}from"./6hALFWxe.js";import{C as da,a as va}from"./CEcPoaRJ.js";import{P as ca}from"./gdh5sBCP.js";import{T as ua}from"./Bw9cJchw.js";import{I as bt}from"./Bt_5fpG6.js";import{L as Ye}from"./CdpckCxA.js";import{c as ct,S as ut,a as gt,b as Oe}from"./CTru9r3k.js";import{T as ga}from"./B_FilWeQ.js";import{P as _a}from"./DDBGvgR1.js";import{Z as xa}from"./D2hKtolS.js";function At(ke,t){et(t,!0);let N=Ut(t,["$$slots","$$events","$$legacy"]);const w=[["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"}]];Qt(ke,Ht({name:"play"},()=>N,{get iconNode(){return w},children:(H,D)=>{var T=ue(),L=h(T);Ft(L,()=>t.children??Wt),a(H,T)},$$slots:{default:!0}})),tt()}var fa=i("<span> </span>"),ma=i('<span class="task-status-running svelte-1lta2hw">running</span>'),pa=i("<span> </span>"),ha=i('<span class="task-status-failed svelte-1lta2hw"> </span>'),ba=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 Rt(ke,t){et(t,!0);let N=kt(t,"isSelected",3,!1);function w(n){if(!n)return"--";const o=new Date(n).getTime()-Date.now(),C=Math.abs(o);if(C<6e4)return o>0?"< 1m":"just now";if(C<36e5){const he=Math.round(C/6e4);return o>0?`${he}m`:`${he}m ago`}if(C<864e5){const he=Math.round(C/36e5);return o>0?`${he}h`:`${he}h ago`}const pe=Math.round(C/864e5);return o>0?`${pe}d`:`${pe}d ago`}const H=B(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),D=B(()=>w(t.task.next_run_at)),T=B(()=>w(t.task.last_run_at));var L=ba();let R;var ae=l(L),E=l(ae),se=l(E,!0);s(E);var ie=r(E,2),ge=l(ie,!0);s(ie),s(ae);var O=r(ae,2),M=l(O),c=l(M,!0);s(M);var $=r(M,2);{var re=n=>{var o=fa(),C=l(o);s(o),k(()=>x(C,`next: ${e(D)??""}`)),a(n,o)},_e=n=>{var o=ma();a(n,o)},me=n=>{var o=pa(),C=l(o);s(o),k(()=>x(C,`exit 0 · ${e(T)??""}`)),a(n,o)},J=n=>{var o=ha(),C=l(o);s(o),k(()=>x(C,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(T)??""}`)),a(n,o)};A($,n=>{t.columnKey==="scheduled"?n(re):t.columnKey==="running"?n(_e,1):t.columnKey==="completed"?n(me,2):t.columnKey==="failed"&&n(J,3)})}s(O);var b=r(O,2),y=l(b),Q=l(y);{let n=B(()=>!!t.task.enabled);la(Q,{get checked(){return e(n)},onCheckedChange:o=>t.ontoggle(o===!0),class:"scale-75 origin-left"})}s(y);var F=r(y,2),u=l(F);At(u,{class:"size-3"}),s(F),s(b),s(L),k(()=>{R=Dt(L,1,"task-card svelte-1lta2hw",null,R,{"task-card--selected":N(),"task-card--disabled":!t.task.enabled}),wt(L,"data-task-id",t.task.id),wt(L,"data-column",t.columnKey),x(se,t.task.name),x(ge,e(H)),x(c,t.task.cron_expression)}),We("click",L,function(...n){t.onclick?.apply(this,n)}),We("keydown",L,n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t.onclick())}),We("click",y,n=>n.stopPropagation()),We("click",F,n=>{n.stopPropagation(),t.ontrigger()}),a(ke,L),tt()}xt(["click","keydown"]);var ka=i('<div class="empty-state svelte-10pk3oi">LOADING</div>'),wa=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>'),ya=i('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),Pa=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>'),Ca=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>'),Sa=i('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function ja(ke,t){et(t,!0);let N=kt(t,"selectedColumn",3,0),w=kt(t,"selectedTaskInColumn",3,0);const H=B(()=>t.tasks.filter(c=>c.enabled&&c.last_run_status!=="running")),D=B(()=>t.tasks.filter(c=>c.last_run_status==="running")),T=B(()=>t.tasks.filter(c=>c.last_run_status==="completed"&&!e(D).some($=>$.id===c.id))),L=B(()=>t.tasks.filter(c=>c.last_run_status==="failed"&&!e(D).some($=>$.id===c.id))),R=B(()=>t.tasks.filter(c=>!c.enabled)),ae=[{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 E(c){switch(c){case"scheduled":return e(H);case"running":return e(D);case"completed":return e(T);case"failed":return e(L);default:return[]}}var se=ue(),ie=h(se);{var ge=c=>{var $=ka();a(c,$)},O=c=>{var $=wa();a(c,$)},M=c=>{var $=Sa(),re=h($);Me(re,23,()=>ae,J=>J.key,(J,b,y)=>{const Q=B(()=>E(e(b).key));var F=Pa(),u=l(F),n=l(u),o=r(n,2),C=l(o,!0);s(o);var pe=r(o,2),he=l(pe,!0);s(pe),s(u);var Ie=r(u,2),Ne=l(Ie);Me(Ne,19,()=>e(Q),xe=>xe.id,(xe,we,K)=>{{let X=B(()=>e(y)===N()&&e(K)===w());Rt(xe,{get task(){return e(we)},get columnKey(){return e(b).key},get isSelected(){return e(X)},onclick:()=>t.onopendetail(e(we).id,e(y),e(K)),ontrigger:()=>t.ontrigger(e(we).id),ontoggle:be=>t.ontoggle(e(we).id,be)})}});var ze=r(Ne,2);{var Ae=xe=>{var we=ya();a(xe,we)};A(ze,xe=>{e(Q).length===0&&xe(Ae)})}s(Ie),s(F),k(()=>{wt(F,"data-column-idx",e(y)),Et(n,`background: ${e(b).color??""}`),x(C,e(b).label),x(he,e(Q).length)}),a(J,F)}),s(re);var _e=r(re,2);{var me=J=>{var b=Ca(),y=l(b),Q=l(y),F=r(l(Q),4),u=l(F,!0);s(F),s(Q);var n=r(Q,2);Me(n,21,()=>e(R),o=>o.id,(o,C)=>{Rt(o,{get task(){return e(C)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(C).id,-1,-1),ontrigger:()=>t.ontrigger(e(C).id),ontoggle:pe=>t.ontoggle(e(C).id,pe)})}),s(n),s(y),s(b),k(()=>x(u,e(R).length)),a(J,b)};A(_e,J=>{e(R).length>0&&J(me)})}a(c,$)};A(ie,c=>{t.loading&&t.tasks.length===0?c(ge):t.tasks.length===0?c(O,1):c(M,-1)})}a(ke,se),tt()}var Ta=i('<span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span>'),Ra=i('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Da=i('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Ea=i('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),$a=i('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ia=i(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
|
|
2
|
+
rounded max-h-[280px] overflow-y-auto
|
|
3
|
+
font-mono text-[10px] leading-[1.55]
|
|
4
|
+
text-[var(--sig-text)] p-2.5" role="log"><!> <!> <!></div>`),Na=i('<span class="text-[10px] text-[var(--sig-accent)] mt-0.5 block">Click to expand output</span>'),La=i('<div class="flex items-center justify-between gap-2"><div class="flex items-center gap-2"><span class="inline-block w-1.5 h-1.5"></span> <!> <!></div> <span class="text-[10px] font-mono text-[var(--sig-text-muted)]"> </span></div> <div class="text-[10px] text-[var(--sig-text-muted)] font-mono"> </div> <!>',1),Oa=i('<button class="w-full text-left cursor-pointer bg-transparent border-none p-0"><!></button>');function Ma(ke,t){et(t,!0);let N=oe(!1),w=oe(void 0);function H(O){return O?new Date(O).toLocaleString():"—"}function D(O,M){if(!M)return"running...";const c=new Date(M).getTime()-new Date(O).getTime();if(c<1e3)return`${c}ms`;if(c<6e4)return`${(c/1e3).toFixed(1)}s`;const $=Math.floor(c/6e4),re=Math.round(c%6e4/1e3);return`${$}m ${re}s`}const T={pending:"var(--sig-text-muted)",running:"var(--sig-warning, #f59e0b)",completed:"var(--sig-success)",failed:"var(--sig-error, #ef4444)"};function L(O){return O.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}const R={31:"var(--sig-error, #ef4444)",32:"var(--sig-success)",33:"var(--sig-warning, #e8a832)",90:"var(--sig-text-muted)",36:"var(--sig-accent)",34:"var(--sig-highlight)",35:"var(--sig-accent)"};function ae(O){let M=L(O);return M=M.replace(/\x1b\[(\d+(?:;\d+)*)m([\s\S]*?)\x1b\[0m/g,(c,$,re)=>{const _e=$.split(";"),me=_e.includes("1"),J=_e.map(y=>R[y]).find(Boolean);let b=re;return J&&(b=`<span style="color:${J}">${b}</span>`),me&&(b=`<strong>${b}</strong>`),b}),M.replace(/\x1b\[\d+(?:;\d+)*m/g,"")}function E(O){return O?O.split(`
|
|
5
|
+
`):[]}async function se(){await qt(),e(w)?.scrollTo({top:e(w).scrollHeight,behavior:"smooth"})}$t(()=>{e(N)&&(t.run.stdout||t.run.stderr||t.run.error)&&se()});var ie=Oa(),ge=l(ie);p(ge,()=>da,(O,M)=>{M(O,{class:`bg-[var(--sig-surface-raised)] border-[var(--sig-border)]
|
|
6
|
+
hover:border-[var(--sig-border-strong)] transition-colors`,children:(c,$)=>{var re=ue(),_e=h(re);p(_e,()=>va,(me,J)=>{J(me,{class:"p-2.5 space-y-1.5",children:(b,y)=>{var Q=La(),F=h(Q),u=l(F),n=l(u),o=r(n,2);{let K=B(()=>T[t.run.status]??T.pending);_t(o,{variant:"outline",class:"text-[9px] px-1.5 py-0 border-[var(--sig-border)]",get style(){return`color: ${e(K)??""}`},children:(X,be)=>{m();var Re=I();k(()=>x(Re,t.run.status)),a(X,Re)},$$slots:{default:!0}})}var C=r(o,2);{var pe=K=>{var X=Ta(),be=l(X);s(X),k(()=>x(be,`exit ${t.run.exit_code??""}`)),a(K,X)};A(C,K=>{t.run.exit_code!==null&&K(pe)})}s(u);var he=r(u,2),Ie=l(he,!0);s(he),s(F);var Ne=r(F,2),ze=l(Ne,!0);s(Ne);var Ae=r(Ne,2);{var xe=K=>{const X=B(()=>E(t.run.stdout)),be=B(()=>E(t.run.stderr)),Re=B(()=>t.run.error||e(X).length>0||e(be).length>0);var Ue=ue(),at=h(Ue);{var Ke=Se=>{var ye=Ra();a(Se,ye)},st=Se=>{var ye=Ia(),Be=l(ye);{var rt=Y=>{var Pe=Da(),De=l(Pe);s(Pe),k(()=>x(De,`error: ${t.run.error??""}`)),a(Y,Pe)};A(Be,Y=>{t.run.error&&Y(rt)})}var qe=r(Be,2);{var nt=Y=>{var Pe=ue(),De=h(Pe);Me(De,17,()=>e(be),Pt,(He,Ze)=>{var Ce=Ea();yt(Ce,()=>ae(e(Ze))||" ",!0),s(Ce),a(He,Ce)}),a(Y,Pe)};A(qe,Y=>{e(be).length>0&&Y(nt)})}var Ve=r(qe,2);{var Ge=Y=>{var Pe=ue(),De=h(Pe);Me(De,17,()=>e(X),Pt,(He,Ze)=>{var Ce=$a();yt(Ce,()=>ae(e(Ze))||" ",!0),s(Ce),a(He,Ce)}),a(Y,Pe)};A(Ve,Y=>{e(X).length>0&&Y(Ge)})}s(ye),Vt(ye,Y=>v(w,Y),()=>e(w)),a(Se,ye)};A(at,Se=>{e(Re)?Se(st,-1):Se(Ke)})}a(K,Ue)},we=K=>{var X=Na();a(K,X)};A(Ae,K=>{e(N)?K(xe):(t.run.stdout||t.run.stderr||t.run.error)&&K(we,1)})}k((K,X)=>{Et(n,`background: ${T[t.run.status]??T.pending??""}`),x(Ie,K),x(ze,X)},[()=>D(t.run.started_at,t.run.completed_at),()=>H(t.run.started_at)]),a(b,Q)},$$slots:{default:!0}})}),a(c,re)},$$slots:{default:!0}})}),s(ie),We("click",ie,()=>{v(N,!e(N))}),a(ke,ie),tt()}xt(["click"]);var za=i('<div class="flex items-center justify-center h-32 text-[var(--sig-text-muted)] text-[12px]">Loading...</div>'),Aa=i("<!> <!>",1),Ka=i('<div class="col-span-2"><span class="text-[var(--sig-text-muted)]">CWD:</span> <span class="text-[var(--sig-text)]"> </span></div>'),Ba=i("<!> Run Now",1),Ha=i("<!> Edit",1),Fa=i("<!> ",1),Wa=i(`<span class="text-[9px] text-[var(--sig-success)]
|
|
7
|
+
font-mono">Live</span>`),Ua=i('<span class="text-[11px] text-[var(--sig-text-muted)]">No runs yet</span>'),qa=i('<div class="flex flex-col gap-2 w-full"></div> <!>',1),Va=i(`<!> <div class="flex flex-col gap-4 py-4"><div class="flex flex-col gap-2"><div class="flex items-center gap-2"><!> <!> <!></div> <div class="text-[11px] text-[var(--sig-text)] leading-[1.6]
|
|
8
|
+
bg-[var(--sig-surface-raised)] p-3 rounded
|
|
9
|
+
border border-[var(--sig-border)]
|
|
10
|
+
font-mono
|
|
11
|
+
whitespace-pre-wrap"> </div> <div class="grid grid-cols-2 gap-2 text-[10px]
|
|
12
|
+
text-[var(--sig-text-muted)]
|
|
13
|
+
font-mono"><div><span class="text-[var(--sig-text-muted)]">Next run:</span> <span class="text-[var(--sig-text)]"> </span></div> <div><span class="text-[var(--sig-text-muted)]">Last run:</span> <span class="text-[var(--sig-text)]"> </span></div> <!> <div><span class="text-[var(--sig-text-muted)]">Created:</span> <span class="text-[var(--sig-text)]"> </span></div></div></div> <div class="flex gap-2"><!> <!> <!></div> <div class="flex flex-col gap-2 min-h-0"><div class="flex items-center gap-2"><span class="text-[10px] font-bold uppercase tracking-[0.1em]
|
|
14
|
+
text-[var(--sig-text-muted)]
|
|
15
|
+
font-display"> </span> <!></div> <!></div></div>`,1);function Ga(ke,t){et(t,!0);function N(R){return R?new Date(R).toLocaleString():"—"}let w=oe(!1);const H=B(()=>t.runs.some(R=>R.status==="running"));function D(){if(t.task){if(!e(w)){v(w,!0),setTimeout(()=>{v(w,!1)},3e3);return}t.ondelete(t.task.id),v(w,!1)}}var T=ue(),L=h(T);p(L,()=>Mt,(R,ae)=>{ae(R,{get open(){return t.open},onOpenChange:E=>{E||t.onclose()},children:(E,se)=>{var ie=ue(),ge=h(ie);p(ge,()=>It,(O,M)=>{M(O,{class:`bg-[var(--sig-surface)] border-[var(--sig-border)]
|
|
16
|
+
text-[var(--sig-text)] w-[520px] sm:max-w-[520px]`,children:(c,$)=>{var re=ue(),_e=h(re);{var me=b=>{var y=za();a(b,y)},J=b=>{var y=Va(),Q=h(y);p(Q,()=>Nt,(_,S)=>{S(_,{children:(W,U)=>{var Ee=Aa(),Le=h(Ee);p(Le,()=>Lt,(Fe,d)=>{d(Fe,{class:"text-[var(--sig-text-bright)] text-[14px]",children:(f,g)=>{m();var P=I();k(()=>x(P,t.task.name)),a(f,P)},$$slots:{default:!0}})});var dt=r(Le,2);p(dt,()=>Ot,(Fe,d)=>{d(Fe,{class:"text-[var(--sig-text-muted)] text-[11px]",children:(f,g)=>{m();var P=I();k(()=>x(P,`${t.task.cron_expression??""} · ${t.task.harness??""}`)),a(f,P)},$$slots:{default:!0}})}),a(W,Ee)},$$slots:{default:!0}})});var F=r(Q,2),u=l(F),n=l(u),o=l(n);{let _=B(()=>t.task.enabled?"default":"outline");_t(o,{get variant(){return e(_)},class:"text-[9px]",children:(S,W)=>{m();var U=I();k(()=>x(U,t.task.enabled?"Enabled":"Disabled")),a(S,U)},$$slots:{default:!0}})}var C=r(o,2);_t(C,{variant:"outline",class:"text-[9px]",children:(_,S)=>{m();var W=I();k(()=>x(W,t.task.harness)),a(_,W)},$$slots:{default:!0}});var pe=r(C,2);{var he=_=>{_t(_,{variant:"outline",class:"text-[9px]",children:(S,W)=>{m();var U=I();k(()=>x(U,`${t.task.skill_name??""} (${t.task.skill_mode??"inject"??""})`)),a(S,U)},$$slots:{default:!0}})};A(pe,_=>{t.task.skill_name&&_(he)})}s(n);var Ie=r(n,2),Ne=l(Ie,!0);s(Ie);var ze=r(Ie,2),Ae=l(ze),xe=r(l(Ae),2),we=l(xe,!0);s(xe),s(Ae);var K=r(Ae,2),X=r(l(K),2),be=l(X,!0);s(X),s(K);var Re=r(K,2);{var Ue=_=>{var S=Ka(),W=r(l(S),2),U=l(W,!0);s(W),s(S),k(()=>x(U,t.task.working_directory)),a(_,S)};A(Re,_=>{t.task.working_directory&&_(Ue)})}var at=r(Re,2),Ke=r(l(at),2),st=l(Ke,!0);s(Ke),s(at),s(ze),s(u);var Se=r(u,2),ye=l(Se);{var Be=_=>{ot(_,{variant:"outline",size:"sm",class:"h-7 gap-1.5 text-[11px]",disabled:!0,children:(S,W)=>{m();var U=I("Running...");a(S,U)},$$slots:{default:!0}})},rt=_=>{ot(_,{variant:"outline",size:"sm",class:"h-7 gap-1.5 text-[11px]",onclick:()=>t.task&&t.ontrigger(t.task.id),children:(S,W)=>{var U=Ba(),Ee=h(U);At(Ee,{class:"size-3"}),m(),a(S,U)},$$slots:{default:!0}})};A(ye,_=>{e(H)?_(Be):_(rt,-1)})}var qe=r(ye,2);ot(qe,{variant:"outline",size:"sm",class:"h-7 gap-1.5 text-[11px]",onclick:()=>t.task&&t.onedit(t.task.id),children:(_,S)=>{var W=Ha(),U=h(W);ca(U,{class:"size-3"}),m(),a(_,W)},$$slots:{default:!0}});var nt=r(qe,2);{let _=B(()=>e(w)?"destructive":"outline");ot(nt,{get variant(){return e(_)},size:"sm",class:"h-7 gap-1.5 text-[11px] ml-auto",onclick:D,children:(S,W)=>{var U=Fa(),Ee=h(U);ua(Ee,{class:"size-3"});var Le=r(Ee);k(()=>x(Le,` ${e(w)?"Confirm Delete":"Delete"}`)),a(S,U)},$$slots:{default:!0}})}s(Se);var Ve=r(Se,2),Ge=l(Ve),Y=l(Ge),Pe=l(Y);s(Y);var De=r(Y,2);{var He=_=>{var S=Wa();a(_,S)};A(De,_=>{t.liveConnected&&_(He)})}s(Ge);var Ze=r(Ge,2);{var Ce=_=>{var S=Ua();a(_,S)},it=_=>{var S=ue(),W=h(S);p(W,()=>oa,(U,Ee)=>{Ee(U,{class:"max-h-[400px]",children:(Le,dt)=>{var Fe=qa(),d=h(Fe);Me(d,21,()=>t.runs,g=>g.id,(g,P)=>{Ma(g,{get run(){return e(P)}})}),s(d);var f=r(d,2);p(f,()=>ia,(g,P)=>{P(g,{orientation:"vertical"})}),a(Le,Fe)},$$slots:{default:!0}})}),a(_,S)};A(Ze,_=>{t.runs.length===0?_(Ce):_(it,-1)})}s(Ve),s(F),k((_,S,W)=>{x(Ne,t.task.prompt),x(we,_),x(be,S),x(st,W),x(Pe,`Run History (${t.runs.length??""})`)},[()=>N(t.task.next_run_at),()=>N(t.task.last_run_at),()=>N(t.task.created_at)]),a(b,y)};A(_e,b=>{t.loading?b(me):t.task&&b(J,1)})}a(c,re)},$$slots:{default:!0}})}),a(E,ie)},$$slots:{default:!0}})}),a(ke,T),tt()}const Za=[{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 Ja=i("<!> <!>",1),Qa=i(`<button class="flex flex-col gap-0.5 p-2 rounded text-left
|
|
17
|
+
bg-[var(--sig-surface-raised)] border border-[var(--sig-border)]
|
|
18
|
+
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>`),Xa=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]
|
|
19
|
+
text-[var(--sig-text-muted)] font-display">Start from a template</span> <button class="text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]
|
|
20
|
+
transition-colors p-0.5"><!></button></div> <div class="grid grid-cols-2 gap-1.5"></div></div>`),Ya=i("<!> <!> <!>",1),es=i("<!> <!>",1),ts=i(`<span class="flex items-center justify-between w-full gap-2"><span> </span> <span class="text-[10px] text-[var(--sig-text-muted)]
|
|
21
|
+
font-mono opacity-60"> </span></span>`),as=i("<!> <!>",1),ss=i("<!> <!>",1),rs=i('<div class="flex flex-col gap-1"><!> <!> <span class="text-[10px] text-[var(--sig-text-muted)] opacity-60">minute hour day-of-month month day-of-week</span></div>'),ns=i('Working directory <span class="opacity-50">(optional)</span>',1),ls=i('Skill <span class="opacity-50">(optional)</span>',1),os=i(`<span class="text-[9px] text-[var(--sig-text-muted)]
|
|
22
|
+
truncate max-w-[140px]"> </span>`),is=i('<span class="flex items-center justify-between w-full gap-2"><span> </span> <!></span>'),ds=i("<!> <!>",1),vs=i("<!> <!>",1),cs=i("<!> <!>",1),us=i("<!> <!>",1),gs=i(`<div class="flex gap-2 p-2 rounded
|
|
23
|
+
bg-[var(--sig-warning,#f59e0b)]/8
|
|
24
|
+
border border-[var(--sig-warning,#f59e0b)]/20"><!> <span class="text-[10px] text-[var(--sig-text-muted)] leading-[1.6]">Runs with <code class="text-[10px] font-mono
|
|
25
|
+
text-[var(--sig-text)] bg-[var(--sig-surface-raised)] px-1 py-px">--dangerously-skip-permissions</code> — no approval gates.</span></div>`),_s=i('<!> <!> <form class="flex flex-col gap-3 px-4"><div class="flex flex-col gap-1"><!> <!></div> <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 flex-col gap-1"><!> <div><!> <!></div></div> <!> <!></form>',1);function xs(ke,t){et(t,!0);const N=B(()=>t.editingId?t.tasks.find(u=>u.id===t.editingId):null);let w=oe(""),H=oe(""),D=oe("0 9 * * *"),T=oe("claude-code"),L=oe(""),R=oe("preset"),ae=oe(!1),E=oe(""),se=oe("inject"),ie=oe(Gt([])),ge=oe(!0);const O=[{label:"Every 15 min",expression:"*/15 * * * *"},{label:"Hourly",expression:"0 * * * *"},{label:"Daily 9am",expression:"0 9 * * *"},{label:"Weekly Mon 9am",expression:"0 9 * * 1"}],M=B(()=>t.presets.length>0?t.presets:O);function c(u){const n=e(M).find(o=>o.expression===u);return n?n.label:u}let $=oe(void 0);$t(()=>{if(t.open&&(e($)===void 0||t.editingId!==e($))){if(e(N)){v(w,e(N).name,!0),v(H,e(N).prompt,!0),v(D,e(N).cron_expression,!0),v(T,e(N).harness,!0),v(L,e(N).working_directory??"",!0),v(E,e(N).skill_name??"",!0),v(se,e(N).skill_mode??"inject",!0);const u=e(M).some(n=>n.expression===e(D));v(R,u?"preset":"custom",!0),v(ge,!1)}else v(w,""),v(H,""),v(D,"0 9 * * *"),v(T,"claude-code"),v(L,""),v(E,""),v(se,"inject"),v(R,"preset"),v(ge,!0);v($,t.editingId,!0),Xt().then(u=>{v(ie,u,!0)})}t.open||v($,void 0)});function re(u){v(w,u.name,!0),v(H,u.prompt,!0),v(T,u.harness,!0),v(D,u.cronExpression,!0),v(E,u.skillName??"",!0),v(se,u.skillMode??"inject",!0);const n=e(M).some(o=>o.expression===e(D));v(R,n?"preset":"custom",!0),v(ge,!1)}function _e(u){u==="__custom__"?(v(R,"custom"),v(D,"")):(v(R,"preset"),v(D,u,!0))}async function me(){if(!e(w).trim()||!e(H).trim()||!e(D).trim())return;v(ae,!0);const u=e(E)||void 0,n=u?e(se):void 0;t.editingId?await zt(t.editingId,{name:e(w).trim(),prompt:e(H).trim(),cronExpression:e(D).trim(),harness:e(T),workingDirectory:e(L).trim()||null,skillName:u??null,skillMode:n??null})&&t.onclose():await ta({name:e(w).trim(),prompt:e(H).trim(),cronExpression:e(D).trim(),harness:e(T),workingDirectory:e(L).trim()||void 0,skillName:u,skillMode:n})&&t.onclose(),v(ae,!1)}const J="bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8",b="bg-[var(--sig-surface-raised)] border-[var(--sig-border)]",y="text-[12px] text-[var(--sig-text)]";var Q=ue(),F=h(Q);p(F,()=>Mt,(u,n)=>{n(u,{get open(){return t.open},onOpenChange:o=>{o||t.onclose()},children:(o,C)=>{var pe=ue(),he=h(pe);p(he,()=>It,(Ie,Ne)=>{Ne(Ie,{class:`bg-[var(--sig-surface)] border-[var(--sig-border)]
|
|
26
|
+
text-[var(--sig-text)] w-[420px] sm:max-w-[420px]`,children:(ze,Ae)=>{var xe=_s(),we=h(xe);p(we,()=>Nt,(d,f)=>{f(d,{class:"pb-2",children:(g,P)=>{var de=Ja(),q=h(de);p(q,()=>Lt,(z,j)=>{j(z,{class:"text-[var(--sig-text-bright)] text-[14px]",children:(Z,ve)=>{m();var V=I();k(()=>x(V,t.editingId?"Edit Task":"New Scheduled Task")),a(Z,V)},$$slots:{default:!0}})});var le=r(q,2);p(le,()=>Ot,(z,j)=>{j(z,{class:"text-[var(--sig-text-muted)] text-[11px]",children:(Z,ve)=>{m();var V=I();k(()=>x(V,t.editingId?"Modify this scheduled task.":"Schedule a recurring prompt to run automatically.")),a(Z,V)},$$slots:{default:!0}})}),a(g,de)},$$slots:{default:!0}})});var K=r(we,2);{var X=d=>{var f=Xa(),g=l(f),P=r(l(g),2),de=l(P);Yt(de,{class:"size-3"}),s(P),s(g);var q=r(g,2);Me(q,21,()=>Za,le=>le.label,(le,z)=>{var j=Qa(),Z=l(j),ve=l(Z,!0);s(Z);var V=r(Z,2),ee=l(V,!0);s(V),s(j),k(()=>{x(ve,e(z).label),x(ee,e(z).description)}),We("click",j,()=>re(e(z))),a(le,j)}),s(q),s(f),We("click",P,()=>{v(ge,!1)}),a(d,f)};A(K,d=>{!t.editingId&&e(ge)&&d(X)})}var be=r(K,2),Re=l(be),Ue=l(Re);Ye(Ue,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,f)=>{m();var g=I("Name");a(d,g)},$$slots:{default:!0}});var at=r(Ue,2);bt(at,{placeholder:"e.g. Review open PRs",class:J,get value(){return e(w)},set value(d){v(w,d,!0)}}),s(Re);var Ke=r(Re,2),st=l(Ke);Ye(st,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,f)=>{m();var g=I("Prompt");a(d,g)},$$slots:{default:!0}});var Se=r(st,2);ga(Se,{placeholder:"What should the agent do?",rows:3,class:`bg-[var(--sig-surface-raised)] border-[var(--sig-border)]
|
|
27
|
+
text-[var(--sig-text-bright)] text-[12px] resize-none`,get value(){return e(H)},set value(d){v(H,d,!0)}}),s(Ke);var ye=r(Ke,2),Be=l(ye),rt=l(Be);Ye(rt,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,f)=>{m();var g=I("Harness");a(d,g)},$$slots:{default:!0}});var qe=r(rt,2);p(qe,()=>ct,(d,f)=>{f(d,{type:"single",get value(){return e(T)},onValueChange:g=>{g&&v(T,g,!0)},children:(g,P)=>{var de=es(),q=h(de);p(q,()=>ut,(z,j)=>{j(z,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(Z,ve)=>{m();var V=I();k(()=>x(V,e(T)==="claude-code"?"Claude Code":e(T)==="codex"?"Codex":"OpenCode")),a(Z,V)},$$slots:{default:!0}})});var le=r(q,2);p(le,()=>gt,(z,j)=>{j(z,{class:b,children:(Z,ve)=>{var V=Ya(),ee=h(V);p(ee,()=>Oe,(te,G)=>{G(te,{value:"claude-code",label:"Claude Code",class:y,children:(ne,Te)=>{m();var ce=I("Claude Code");a(ne,ce)},$$slots:{default:!0}})});var je=r(ee,2);p(je,()=>Oe,(te,G)=>{G(te,{value:"codex",label:"Codex",class:y,children:(ne,Te)=>{m();var ce=I("Codex");a(ne,ce)},$$slots:{default:!0}})});var $e=r(je,2);p($e,()=>Oe,(te,G)=>{G(te,{value:"opencode",label:"OpenCode",class:y,children:(ne,Te)=>{m();var ce=I("OpenCode");a(ne,ce)},$$slots:{default:!0}})}),a(Z,V)},$$slots:{default:!0}})}),a(g,de)},$$slots:{default:!0}})}),s(Be);var nt=r(Be,2),Ve=l(nt);Ye(Ve,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,f)=>{m();var g=I("Schedule");a(d,g)},$$slots:{default:!0}});var Ge=r(Ve,2);{let d=B(()=>e(R)==="custom"?"__custom__":e(D));p(Ge,()=>ct,(f,g)=>{g(f,{type:"single",get value(){return e(d)},onValueChange:_e,children:(P,de)=>{var q=ss(),le=h(q);p(le,()=>ut,(j,Z)=>{Z(j,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(ve,V)=>{m();var ee=I();k(je=>x(ee,je),[()=>e(R)==="custom"?"Custom...":c(e(D))]),a(ve,ee)},$$slots:{default:!0}})});var z=r(le,2);p(z,()=>gt,(j,Z)=>{Z(j,{class:b,children:(ve,V)=>{var ee=as(),je=h(ee);Me(je,17,()=>e(M),te=>te.expression,(te,G)=>{var ne=ue(),Te=h(ne);p(Te,()=>Oe,(ce,lt)=>{lt(ce,{get value(){return e(G).expression},get label(){return e(G).label},class:y,children:(Je,Kt)=>{var Qe=ts(),Xe=l(Qe),ft=l(Xe,!0);s(Xe);var vt=r(Xe,2),mt=l(vt,!0);s(vt),s(Qe),k(()=>{x(ft,e(G).label),x(mt,e(G).expression)}),a(Je,Qe)},$$slots:{default:!0}})}),a(te,ne)});var $e=r(je,2);p($e,()=>Oe,(te,G)=>{G(te,{value:"__custom__",label:"Custom...",class:y,children:(ne,Te)=>{m();var ce=I("Custom...");a(ne,ce)},$$slots:{default:!0}})}),a(ve,ee)},$$slots:{default:!0}})}),a(P,q)},$$slots:{default:!0}})})}s(nt),s(ye);var Y=r(ye,2);{var Pe=d=>{var f=rs(),g=l(f);Ye(g,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(de,q)=>{m();var le=I("Cron expression");a(de,le)},$$slots:{default:!0}});var P=r(g,2);bt(P,{placeholder:"*/15 * * * *",class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 font-mono",get value(){return e(D)},set value(de){v(D,de,!0)}}),m(2),s(f),a(d,f)};A(Y,d=>{e(R)==="custom"&&d(Pe)})}var De=r(Y,2),He=l(De);Ye(He,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,f)=>{m();var g=ns();m(),a(d,g)},$$slots:{default:!0}});var Ze=r(He,2);bt(Ze,{placeholder:"/path/to/project",class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 font-mono",get value(){return e(L)},set value(d){v(L,d,!0)}}),s(De);var Ce=r(De,2),it=l(Ce);Ye(it,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,f)=>{m();var g=ls();m(),a(d,g)},$$slots:{default:!0}});var _=r(it,2);let S;var W=l(_);{let d=B(()=>e(E)||"__none__");p(W,()=>ct,(f,g)=>{g(f,{type:"single",get value(){return e(d)},onValueChange:P=>{P==="__none__"?v(E,""):P&&v(E,P,!0)},children:(P,de)=>{var q=vs(),le=h(q);p(le,()=>ut,(j,Z)=>{Z(j,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(ve,V)=>{m();var ee=I();k(()=>x(ee,e(E)||"None")),a(ve,ee)},$$slots:{default:!0}})});var z=r(le,2);p(z,()=>gt,(j,Z)=>{Z(j,{class:b,children:(ve,V)=>{var ee=ds(),je=h(ee);p(je,()=>Oe,(te,G)=>{G(te,{value:"__none__",label:"None",class:y,children:(ne,Te)=>{m();var ce=I("None");a(ne,ce)},$$slots:{default:!0}})});var $e=r(je,2);Me($e,17,()=>e(ie),te=>te.name,(te,G)=>{var ne=ue(),Te=h(ne);p(Te,()=>Oe,(ce,lt)=>{lt(ce,{get value(){return e(G).name},get label(){return e(G).name},class:y,children:(Je,Kt)=>{var Qe=is(),Xe=l(Qe),ft=l(Xe,!0);s(Xe);var vt=r(Xe,2);{var mt=pt=>{var ht=os(),Bt=l(ht,!0);s(ht),k(()=>x(Bt,e(G).description)),a(pt,ht)};A(vt,pt=>{e(G).description&&pt(mt)})}s(Qe),k(()=>x(ft,e(G).name)),a(Je,Qe)},$$slots:{default:!0}})}),a(te,ne)}),a(ve,ee)},$$slots:{default:!0}})}),a(P,q)},$$slots:{default:!0}})})}var U=r(W,2);{var Ee=d=>{var f=ue(),g=h(f);p(g,()=>ct,(P,de)=>{de(P,{type:"single",get value(){return e(se)},onValueChange:q=>{q&&v(se,q,!0)},children:(q,le)=>{var z=us(),j=h(z);p(j,()=>ut,(ve,V)=>{V(ve,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(ee,je)=>{m();var $e=I();k(()=>x($e,e(se)==="inject"?"Inject content":"Slash command")),a(ee,$e)},$$slots:{default:!0}})});var Z=r(j,2);p(Z,()=>gt,(ve,V)=>{V(ve,{class:b,children:(ee,je)=>{var $e=cs(),te=h($e);p(te,()=>Oe,(ne,Te)=>{Te(ne,{value:"inject",label:"Inject content",class:y,children:(ce,lt)=>{m();var Je=I("Inject content");a(ce,Je)},$$slots:{default:!0}})});var G=r(te,2);p(G,()=>Oe,(ne,Te)=>{Te(ne,{value:"slash",label:"Slash command",class:y,children:(ce,lt)=>{m();var Je=I("Slash command");a(ce,Je)},$$slots:{default:!0}})}),a(ee,$e)},$$slots:{default:!0}})}),a(q,z)},$$slots:{default:!0}})}),a(d,f)};A(U,d=>{e(E)&&d(Ee)})}s(_),s(Ce);var Le=r(Ce,2);{var dt=d=>{var f=gs(),g=l(f);ea(g,{class:"size-3.5 shrink-0 mt-px text-[var(--sig-warning,#f59e0b)]"}),m(2),s(f),a(d,f)};A(Le,d=>{e(T)==="claude-code"&&d(dt)})}var Fe=r(Le,2);{let d=B(()=>e(ae)||!e(w).trim()||!e(H).trim());ot(Fe,{type:"submit",get disabled(){return e(d)},class:"h-8 text-[11px] w-full mt-1",children:(f,g)=>{var P=ue(),de=h(P);{var q=z=>{var j=I();k(()=>x(j,t.editingId?"Saving...":"Creating...")),a(z,j)},le=z=>{var j=I();k(()=>x(j,t.editingId?"Save Changes":"Create Task")),a(z,j)};A(de,z=>{e(ae)?z(q):z(le,-1)})}a(f,P)},$$slots:{default:!0}})}s(be),k(()=>S=Dt(_,1,"grid gap-2",null,S,{"grid-cols-2":e(E)})),Zt("submit",be,d=>{d.preventDefault(),me()}),a(ze,xe)},$$slots:{default:!0}})}),a(o,pe)},$$slots:{default:!0}})}),a(ke,Q),tt()}xt(["click"]);var fs=i('<span class="predictor-badge svelte-1jxe0jv"><!> PREDICTOR</span>'),ms=i('<span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">N</kbd> NEW</span>'),ps=i('<span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">R</kbd> RUN</span> <span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">D</kbd> DELETE</span> <span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">ESC</kbd> CLOSE</span>',1),hs=i('<span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">ESC</kbd> CANCEL</span>'),bs=i('<div class="tasks-panel svelte-1jxe0jv"><div class="tasks-header svelte-1jxe0jv"><div class="tasks-header-left svelte-1jxe0jv"><span class="tasks-title svelte-1jxe0jv">SCHEDULER</span> <span class="tasks-count svelte-1jxe0jv"> </span> <!></div> <button class="new-task-btn svelte-1jxe0jv"><!> <span>NEW TASK</span></button></div> <div class="tasks-content svelte-1jxe0jv"><!></div> <div class="shortcut-bar svelte-1jxe0jv"><!> <!></div></div> <!> <!>',1);function Ls(ke,t){et(t,!0);let N=oe(0),w=oe(0),H=oe(!1);const D=B(()=>fe.tasks.length);Jt(()=>{Ct(),T();const n=setInterval(Ct,15e3);return()=>clearInterval(n)});async function T(){try{const n=await fetch(`${aa}/api/predictor/status`);if(n.ok){const o=await n.json();v(H,o.enabled===!0)}}catch{v(H,!1)}}var L=bs(),R=h(L),ae=l(R),E=l(ae),se=r(l(E),2),ie=l(se);s(se);var ge=r(se,2);{var O=n=>{var o=fs(),C=l(o);xa(C,{class:"size-2.5"}),m(),s(o),a(n,o)};A(ge,n=>{e(H)&&n(O)})}s(E);var M=r(E,2),c=l(M);_a(c,{class:"size-3"}),m(2),s(M),s(ae);var $=r(ae,2),re=l($);ja(re,{get tasks(){return fe.tasks},get loading(){return fe.loading},get selectedColumn(){return e(N)},get selectedTaskInColumn(){return e(w)},onopendetail:(n,o,C)=>{v(N,o,!0),v(w,C,!0),sa(n)},get ontrigger(){return St},ontoggle:(n,o)=>zt(n,{enabled:o})}),s($);var _e=r($,2),me=l(_e);{var J=n=>{var o=ms();a(n,o)};A(me,n=>{fe.formOpen||n(J)})}var b=r(me,2);{var y=n=>{var o=ps();m(4),a(n,o)},Q=n=>{var o=hs();a(n,o)};A(b,n=>{fe.detailOpen?n(y):fe.formOpen&&n(Q,1)})}s(_e),s(R);var F=r(R,2);xs(F,{get open(){return fe.formOpen},get editingId(){return fe.editingId},get tasks(){return fe.tasks},get presets(){return fe.presets},get onclose(){return ra}});var u=r(F,2);Ga(u,{get open(){return fe.detailOpen},get task(){return fe.detailTask},get runs(){return fe.detailRuns},get loading(){return fe.detailLoading},get liveConnected(){return fe.detailStreamConnected},get onclose(){return jt},get ontrigger(){return St},get ondelete(){return na},onedit:n=>{jt(),Tt(n)}}),k(()=>x(ie,`${e(D)??""} TASKS`)),We("click",M,()=>Tt()),a(ke,L),tt()}xt(["click"]);export{Ls as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./
|
|
1
|
+
import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./C__P7n-d.js";import{I as f}from"./E8aDzCah.js";function _(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]];f(t,p({name:"wrench"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}function N(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M12 2v4"}],["path",{d:"m16.2 7.8 2.9-2.9"}],["path",{d:"M18 12h4"}],["path",{d:"m16.2 16.2 2.9 2.9"}],["path",{d:"M12 18v4"}],["path",{d:"m4.9 19.1 2.9-2.9"}],["path",{d:"M2 12h4"}],["path",{d:"m4.9 4.9 2.9 2.9"}]];f(t,p({name:"loader"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}export{N as L,_ as W};
|
|
@@ -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"./
|
|
1
|
+
import{p as c,g as d,E as i,j as l,a as p,n as f,l as m,F as u,b as h,d as _,r as v,m as b}from"./C__P7n-d.js";import{c as g}from"./E8aDzCah.js";var x=b("<p><!></p>");function y(r,s){c(s,!0);let e=d(s,"ref",15,null),o=v(s,["$$slots","$$events","$$legacy","ref","class","children"]);var a=x();i(a,t=>({"data-slot":"card-description",class:t,...o}),[()=>g("text-muted-foreground text-sm",s.class)]);var n=l(a);p(n,()=>s.children??f),m(a),u(a,t=>e(t),()=>e()),h(r,a),_()}export{y as C};
|
|
@@ -1 +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"./
|
|
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"./C__P7n-d.js";import{I as $}from"./E8aDzCah.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 n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./
|
|
1
|
+
import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./C__P7n-d.js";import{I as $}from"./E8aDzCah.js";function P(e,s){n(s,!0);let o=h(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];$(e,d({name:"plus"},()=>o,{get iconNode(){return t},children:(r,v)=>{var a=c(),p=l(a);i(p,()=>s.children??m),u(r,a)},$$slots:{default:!0}})),f()}export{P};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{e as Ft,p as rt,c as Xe,f as K,h as Oe,k as O,i as e,b as l,w as _e,t as n,x as ue,y as _,z as f,j as a,l as r,A as Ae,B as Fe,K as yt,d as at,u as C,ae as Gt,m as D,D as u,af as ve,Q as Xt,v as x,O as _t,o as U,P as Kt,N as Mt,q as ur,s as vr,a9 as Ut,F as fr}from"./C__P7n-d.js";import{o as gr,aA as pr,_ as mr,$ as xr,a0 as hr,a2 as br,a1 as _r,aB as yr,t as Ve,aC as wr,f as kr,n as Sr,E as Cr,B as tt,aD as Pr,aE as $r}from"./E8aDzCah.js";import{P as Er}from"./nI8gUPgM.js";import{T as Tr}from"./B9q9Ge2R.js";import{B as Dt}from"./BZDosIrh.js";import{S as Jt}from"./DlEHdTiv.js";import{P as Mr,a as Dr,b as Lr}from"./B4MV25Cw.js";import{w as Tt,s as Qt}from"./DcHgi7Cc.js";const De={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Be={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},Or={harness:{x:20,y:20,w:240,h:120,label:Be.harness,color:De.harness},daemon:{x:300,y:20,w:340,h:280,label:Be.daemon,color:De.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Be.pipeline,color:De.pipeline},db:{x:680,y:160,w:200,h:200,label:Be.db,color:De.db},search:{x:920,y:160,w:200,h:140,label:Be.search,color:De.search},files:{x:680,y:400,w:200,h:100,label:Be.files,color:De.files},configs:{x:920,y:400,w:200,h:100,label:Be.configs,color:De.configs},llm:{x:680,y:540,w:200,h:80,label:Be.llm,color:De.llm}},st=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"llama.cpp qwen3.5:4b (or configured provider)"}],Ht=new Map(st.map(g=>[g.id,g])),Ar=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function Nr(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const zt=new Map;for(const g of st)for(const s of g.logCategories){const d=zt.get(s);d?d.push(g.id):zt.set(s,[g.id])}const Wt=20;function Ir(){const g={};for(const s of st)g[s.id]=Nr();return g}const Zt=50,y=Ft({nodes:Ir(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let be=null;function er(){be&&(be.close(),be=null),be=new EventSource(`${gr}/api/logs/stream`),be.onopen=()=>{y.connected=!0},be.onmessage=g=>{try{const s=JSON.parse(g.data);if(s.type==="connected"){y.connected=!0;return}const d=[...y.feed,s];y.feed=d.length>Zt?d.slice(-Zt):d;const p=zt.get(s.category);if(!p)return;for(const i of p){const P=y.nodes[i];if(!P)continue;P.pulseCount+=1,P.lastActivity=s.timestamp;const L=[...P.recentLogs,s];P.recentLogs=L.length>Wt?L.slice(-Wt):L,s.level==="error"&&(P.errorCount+=1)}}catch{}},be.onerror=()=>{y.connected=!1,be?.close(),be=null,setTimeout(()=>{be||er()},3e3)}}function Rr(){y.connected=!1,be?.close(),be=null}let wt=null;function jr(g){return g>=.8?"healthy":g>=.5?"degraded":g>0?"unhealthy":"unknown"}function qr(g){for(const s of st){if(!s.diagnosticDomain)continue;const d=g[s.diagnosticDomain];if(!d)continue;const p=y.nodes[s.id];if(!p)continue;const i=typeof d.score=="number"?d.score:0;p.score=i,p.health=jr(i),p.metrics=d}}function Br(g){const s=y.nodes.queue;if(s){const i=g.memory,P=g.summary;s.queueDepth=i.pending+i.leased+P.pending+P.leased,s.metrics={memory:i,summary:P}}const d=y.nodes.extraction;d&&(d.queueDepth=g.memory.pending);const p=y.nodes.summary;p&&(p.queueDepth=g.summary.pending)}async function Yt(){try{const g=await pr();if(!g)return!1;if(y.mode=g.mode,y.lastPoll=new Date().toISOString(),g.diagnostics&&qr(g.diagnostics),g.queues&&Br(g.queues),g.workers)for(const[s,d]of Object.entries(g.workers)){const p=y.nodes[s];p&&d.running&&p.health==="unknown"&&(p.health="healthy",p.score=1)}if(g.errorSummary)for(const[s,d]of Object.entries(g.errorSummary)){const p=s==="extraction"||s==="decision"?"extraction":s==="embedding"||s==="mutation"?"database":s==="connector"?"sync":null;if(p){const i=y.nodes[p];i&&(i.errorCount=d)}}return!0}catch{return!1}}function Fr(g=5e3){wt||(Yt(),wt=setInterval(()=>{Yt()},g))}function Gr(){wt&&(clearInterval(wt),wt=null)}function tr(g){y.selectedNodeId=g}var Hr=D(" <!>",1),zr=D("<!> <!>",1),Yr=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>'),Xr=D('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),Vr=D('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Ur=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-display">Queue Details</h4> <div class="space-y-1 text-[11px] font-mono"></div></section>'),Qr=D('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-display">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-mono"> </span></section>'),Wr=D('<div class="flex gap-2 py-1 px-1 text-[10px] 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>'),Zr=D('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),Kr=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-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-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-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-display"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function Jr(g,s){rt(s,!0);const d=C(()=>y.selectedNodeId),p=C(()=>e(d)?Ht.get(e(d))??null:null),i=C(()=>e(d)?y.nodes[e(d)]??null:null),P=C(()=>e(d)!==null);function L($){$||tr(null)}function I($){try{return new Date($).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return $}}function E($){switch($){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}const M=C(()=>{if(!e(i)?.metrics)return null;const $=e(i).metrics;return $.memory||$.summary||typeof $.depth=="number"?$:null});var R=Xe(),T=K(R);Oe(T,()=>br,($,A)=>{A($,{get open(){return e(P)},onOpenChange:L,children:(B,J)=>{var Y=Xe(),h=K(Y);Oe(h,()=>mr,(k,S)=>{S(k,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(N,ee)=>{var G=Xe(),j=K(G);{var c=w=>{var F=Kr(),q=K(F);Oe(q,()=>xr,(V,Q)=>{Q(V,{children:(se,Pe)=>{var ye=zr(),ie=K(ye);Oe(ie,()=>hr,(le,he)=>{he(le,{class:"flex items-center gap-2 font-display text-[var(--sig-text-bright)]",children:($e,Ie)=>{_e();var ge=Hr(),oe=K(ge),pe=n(oe);{let Ee=C(()=>e(i).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(i).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(i).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");Dt(pe,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-mono
|
|
2
|
+
${e(Ee)??""}`},children:(Le,Re)=>{_e();var Qe=ue();_(()=>f(Qe,e(i).health)),l(Le,Qe)},$$slots:{default:!0}})}_(()=>f(oe,`${e(p).label??""} `)),l($e,ge)},$$slots:{default:!0}})});var Ne=n(ie,2);{var fe=le=>{var he=Xe(),$e=K(he);Oe($e,()=>_r,(Ie,ge)=>{ge(Ie,{class:"text-[11px] text-[var(--sig-text-muted)] font-mono",children:(oe,pe)=>{_e();var Ee=ue();_(()=>f(Ee,e(p).description)),l(oe,Ee)},$$slots:{default:!0}})}),l(le,he)};O(Ne,le=>{e(p).description&&le(fe)})}l(se,ye)},$$slots:{default:!0}})});var te=n(q,2),b=a(te),m=n(a(b),2),X=a(m),re=n(a(X),2),Ge=a(re,!0);r(re),r(X);var ae=n(X,2),xe=n(a(ae),2),Ce=a(xe,!0);r(xe),r(ae);var ot=n(ae,2),He=n(a(ot),2);let Ue;var nt=a(He,!0);r(He),r(ot),r(m),r(b);var it=n(b,2);{var kt=V=>{var Q=Ur(),se=n(a(Q),2);Ae(se,21,()=>Object.entries(e(M)),yt,(Pe,ye)=>{var ie=C(()=>Gt(e(ye),2));let Ne=()=>e(ie)[0],fe=()=>e(ie)[1];var le=Xe(),he=K(le);{var $e=ge=>{var oe=Xr(),pe=K(oe),Ee=a(pe,!0);r(pe);var Le=n(pe,2);Ae(Le,17,()=>Object.entries(fe()),yt,(Re,Qe)=>{var We=C(()=>Gt(e(Qe),2));let St=()=>e(We)[0],It=()=>e(We)[1];var Ze=Yr(),ft=a(Ze),Ke=a(ft,!0);r(ft);var gt=n(ft,2),Rt=a(gt,!0);r(gt),r(Ze),_(()=>{f(Ke,St()),f(Rt,It())}),l(Re,Ze)}),_(()=>f(Ee,Ne())),l(ge,oe)},Ie=ge=>{var oe=Vr(),pe=a(oe),Ee=a(pe,!0);r(pe);var Le=n(pe,2),Re=a(Le,!0);r(Le),r(oe),_(()=>{f(Ee,Ne()),f(Re,fe())}),l(ge,oe)};O(he,ge=>{typeof fe()=="object"&&fe()!==null?ge($e):ge(Ie,-1)})}l(Pe,le)}),r(se),r(Q),l(V,Q)};O(it,V=>{e(M)&&V(kt)})}var lt=n(it,2);{var Lt=V=>{var Q=Qr(),se=n(a(Q),2),Pe=a(se,!0);r(se),r(Q),_(ye=>f(Pe,ye),[()=>I(e(i).lastActivity)]),l(V,Q)};O(lt,V=>{e(i).lastActivity&&V(Lt)})}var dt=n(lt,2),ct=a(dt),Ot=a(ct);r(ct);var ut=n(ct,2),vt=a(ut);Ae(vt,17,()=>e(i).recentLogs,yt,(V,Q)=>{var se=Wr(),Pe=a(se),ye=a(Pe,!0);r(Pe);var ie=n(Pe,2),Ne=a(ie,!0);r(ie);var fe=n(ie,2),le=a(fe,!0);r(fe),r(se),_((he,$e)=>{f(ye,he),Fe(ie,1,`${$e??""} shrink-0 w-[34px] uppercase`),f(Ne,e(Q).level),f(le,e(Q).message)},[()=>I(e(Q).timestamp),()=>E(e(Q).level)]),l(V,se)});var At=n(vt,2);{var Nt=V=>{var Q=Zr();l(V,Q)};O(At,V=>{e(i).recentLogs.length===0&&V(Nt)})}r(ut),r(dt),r(te),_(V=>{f(Ge,V),f(Ce,e(i).queueDepth),Ue=Fe(He,1,"text-[15px] font-mono",null,Ue,{"text-[#8a4a48]":e(i).errorCount>0,"text-[var(--sig-text-bright)]":e(i).errorCount===0}),f(nt,e(i).errorCount),f(Ot,`Recent Logs (${e(i).recentLogs.length??""})`)},[()=>e(i).score>0?(e(i).score*100).toFixed(0)+"%":"--"]),l(w,F)};O(j,w=>{e(p)&&e(i)&&w(c)})}l(N,G)},$$slots:{default:!0}})}),l(B,Y)},$$slots:{default:!0}})}),l(g,R),at()}var ea=ve('<path fill="none" stroke-width="4" opacity="0.15" class="edge-glow svelte-kl8ook"></path>'),ta=ve('<circle r="2" opacity="0.6" class="svelte-kl8ook"><animateMotion repeatCount="indefinite" begin="0.5s" class="svelte-kl8ook"></animateMotion></circle>'),ra=ve('<circle class="svelte-kl8ook"><animateMotion repeatCount="indefinite" class="svelte-kl8ook"></animateMotion></circle><!>',1),aa=ve('<text text-anchor="middle" font-size="9" font-family="var(--font-mono)" class="svelte-kl8ook"> </text>'),sa=ve('<g class="pipeline-edge svelte-kl8ook"><path fill="none"></path><!><!><!></g>');function oa(g,s){rt(s,!0);const d=C(()=>Ht.get(s.edge.from)),p=C(()=>Ht.get(s.edge.to)),i=C(()=>e(d)?De[e(d).group]:"#6b6b76"),P=C(()=>{if(!e(d)||!e(p))return"";const h=e(d).x+e(d).w/2,k=e(d).y+e(d).h/2,S=e(p).x+e(p).w/2,N=e(p).y+e(p).h/2,ee=(h+S)/2,G=(k+N)/2,j=Math.abs(S-h),c=Math.abs(N-k);return j>c?`M ${h} ${k} Q ${ee} ${k}, ${ee} ${G} Q ${ee} ${N}, ${S} ${N}`:`M ${h} ${k} Q ${h} ${G}, ${ee} ${G} Q ${S} ${G}, ${S} ${N}`}),L=C(()=>!e(d)||!e(p)?{x:0,y:0}:{x:(e(d).x+e(d).w/2+e(p).x+e(p).w/2)/2,y:(e(d).y+e(d).h/2+e(p).y+e(p).h/2)/2-8}),I=C(()=>s.active?"1s":"3s");var E=sa(),M=a(E);let R;var T=n(M);{var $=h=>{var k=ea();_(()=>{u(k,"d",e(P)),u(k,"stroke",e(i))}),l(h,k)};O(T,h=>{s.active&&!s.edge.dashed&&h($)})}var A=n(T);{var B=h=>{var k=ra(),S=K(k),N=a(S);r(S);var ee=n(S);{var G=j=>{var c=ta(),w=a(c);r(c),_(()=>{u(c,"fill",e(i)),u(w,"dur",e(I)),u(w,"path",e(P))}),l(j,c)};O(ee,j=>{s.active&&j(G)})}_(()=>{u(S,"r",s.active?3.5:2),u(S,"fill",s.active?e(i):"var(--sig-border)"),u(S,"opacity",s.active?1:.3),u(N,"dur",e(I)),u(N,"path",e(P))}),l(h,k)};O(A,h=>{s.edge.dashed||h(B)})}var J=n(A);{var Y=h=>{var k=aa(),S=a(k,!0);r(k),_(()=>{u(k,"x",e(L).x),u(k,"y",e(L).y),u(k,"fill",s.active?e(i):"var(--sig-text-muted)"),u(k,"opacity",s.active?.9:.45),f(S,s.edge.label)}),l(h,k)};O(J,h=>{s.edge.label&&h(Y)})}r(E),_(()=>{u(M,"d",e(P)),u(M,"stroke",s.active?e(i):"var(--sig-border)"),u(M,"stroke-width",s.active?1.5:.8),u(M,"stroke-dasharray",s.edge.dashed?"6 4":"none"),u(M,"opacity",s.active?.8:.25),R=Fe(M,0,"svelte-kl8ook",null,R,{"edge-active":s.active})}),l(g,E),at()}var na=ve('<rect class="glow-bg svelte-1tib701" x="-6" y="-6" rx="10" ry="10" opacity="0.12"></rect>'),ia=ve('<rect class="pulse-ring svelte-1tib701" x="-4" y="-4" rx="10" ry="10" fill="none"></rect>'),la=ve('<rect class="flash-overlay svelte-1tib701" rx="6" ry="6"></rect>'),da=ve('<animate attributeName="opacity" values="1;0.4;1" dur="1.5s" repeatCount="indefinite" class="svelte-1tib701"></animate>'),ca=ve('<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>'),ua=ve('<g transform="translate(8, -6)" class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" fill="#ef4444" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),va=ve('<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 fa(g,s){rt(s,!0);const d=C(()=>De[s.def.group]),p={healthy:"#4ade80",degraded:"#fbbf24",unhealthy:"#f87171",unknown:"#6b6b76"},i=C(()=>p[s.nodeState.health]),P=C(()=>s.nodeState.health==="unknown"?`${e(d)}88`:e(i));let L=U(0),I=U(!1),E=U(!1),M=null;Xt(()=>{if(s.nodeState.pulseCount>e(L)){x(L,s.nodeState.pulseCount,!0),x(I,!0);const b=setTimeout(()=>{x(I,!1)},1200);return x(E,!0),M&&clearTimeout(M),M=setTimeout(()=>{x(E,!1)},3e3),()=>{clearTimeout(b),M&&clearTimeout(M)}}});function R(){s.onselectnode(s.def.id)}var T=va();let $;var A=a(T);{var B=b=>{var m=na();_(()=>{u(m,"width",s.def.w+12),u(m,"height",s.def.h+12),u(m,"fill",e(d))}),l(b,m)};O(A,b=>{e(E)&&b(B)})}var J=n(A);{var Y=b=>{var m=ia();_(()=>{u(m,"width",s.def.w+8),u(m,"height",s.def.h+8),u(m,"stroke",e(d))}),l(b,m)};O(J,b=>{e(I)&&b(Y)})}var h=n(J),k=n(h);{var S=b=>{var m=la();_(()=>{u(m,"width",s.def.w),u(m,"height",s.def.h),u(m,"fill",e(d))}),l(b,m)};O(k,b=>{e(I)&&b(S)})}var N=n(k),ee=a(N);{var G=b=>{var m=da();l(b,m)};O(ee,b=>{e(E)&&b(G)})}r(N);var j=n(N),c=a(j,!0);r(j);var w=n(j);{var F=b=>{var m=ca(),X=a(m),re=n(X),Ge=a(re,!0);r(re),r(m),_(()=>{u(m,"transform",`translate(${s.def.w-8}, -6)`),u(X,"fill",e(d)),f(Ge,s.nodeState.queueDepth)}),l(b,m)};O(w,b=>{s.nodeState.queueDepth>0&&b(F)})}var q=n(w);{var te=b=>{var m=ua(),X=n(a(m)),re=a(X,!0);r(X),r(m),_(()=>f(re,s.nodeState.errorCount)),l(b,m)};O(q,b=>{s.nodeState.errorCount>0&&b(te)})}r(T),_(()=>{$=Fe(T,0,"pipeline-node svelte-1tib701",null,$,{"pipeline-node--selected":s.selected,"pipeline-node--active":e(E)}),u(T,"transform",`translate(${s.def.x??""}, ${s.def.y??""})`),u(h,"width",s.def.w),u(h,"height",s.def.h),u(h,"fill",e(E)?e(d)+"18":"var(--sig-surface-raised)"),u(h,"stroke",e(E)?e(d):e(P)),u(h,"stroke-width",s.selected?2.5:e(E)?1.5:1),u(N,"cy",s.def.h/2),u(N,"r",e(E)?4:3),u(N,"fill",e(E)?e(d):e(i)),u(N,"opacity",e(E)?1:.7),u(j,"x",s.def.w/2),u(j,"y",s.def.h/2+1),u(j,"fill",e(E)?e(d):"var(--sig-text-bright)"),u(j,"font-weight",e(E)?"600":"400"),f(c,s.def.label)}),_t("click",T,R),l(g,T),at()}Kt(["click"]);var ga=ve('<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>'),pa=ve('<svg viewBox="0 0 1160 650" preserveAspectRatio="xMidYMid meet" class="w-full h-full select-none" xmlns="http://www.w3.org/2000/svg" role="application" aria-label="Pipeline graph. Use mouse wheel to zoom, drag background to pan, double-click to reset."><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter><marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sig-border-strong)"></path></marker></defs><g><!><!><!></g></svg>');function ma(g,s){rt(s,!0);const d=Object.entries(Or),p=.7,i=2.4,P=.12;let L=U(1),I=U(0),E=U(0),M=U(!1),R=U(0),T=U(0);function $(c){const w=y.nodes[c];return w?.lastActivity?Date.now()-new Date(w.lastActivity).getTime()<5e3:!1}function A(c){return Math.min(i,Math.max(p,c))}function B(){x(L,1),x(I,0),x(E,0)}function J(c){c.preventDefault();const w=c.currentTarget;if(!(w instanceof SVGSVGElement))return;const F=w.getBoundingClientRect(),q=c.clientX-F.left,te=c.clientY-F.top,b=c.deltaY<0?1:-1,m=A(e(L)+b*P);if(m===e(L))return;const X=(q-e(I))/e(L),re=(te-e(E))/e(L);x(L,m,!0),x(I,q-X*m),x(E,te-re*m)}function Y(c){if(c.button!==0||c.target!==c.currentTarget)return;const w=c.currentTarget;w instanceof SVGSVGElement&&w.setPointerCapture(c.pointerId),x(M,!0),x(R,c.clientX,!0),x(T,c.clientY,!0)}function h(c){if(!e(M))return;const w=c.clientX-e(R),F=c.clientY-e(T);x(R,c.clientX,!0),x(T,c.clientY,!0),x(I,e(I)+w),x(E,e(E)+F)}function k(c){if(!e(M))return;const w=c.currentTarget;w instanceof SVGSVGElement&&w.releasePointerCapture(c.pointerId),x(M,!1)}var S=pa(),N=n(a(S)),ee=a(N);Ae(ee,17,()=>d,yt,(c,w)=>{var F=C(()=>Gt(e(w),2));let q=()=>e(F)[1];var te=ga(),b=a(te),m=n(b),X=a(m,!0);r(m),r(te),_(re=>{u(b,"x",q().x),u(b,"y",q().y),u(b,"width",q().w),u(b,"height",q().h),u(b,"fill",q().color),u(b,"stroke",q().color),u(m,"x",q().x+8),u(m,"y",q().y+14),u(m,"fill",q().color),f(X,re)},[()=>q().label.toUpperCase()]),l(c,te)});var G=n(ee);Ae(G,17,()=>Ar,c=>c.from+"-"+c.to,(c,w)=>{{let F=C(()=>$(e(w).from));oa(c,{get edge(){return e(w)},get active(){return e(F)}})}});var j=n(G);Ae(j,17,()=>st,c=>c.id,(c,w)=>{{let F=C(()=>y.selectedNodeId===e(w).id);fa(c,{get def(){return e(w)},get nodeState(){return y.nodes[e(w).id]},get selected(){return e(F)},get onselectnode(){return s.onselectnode}})}}),r(N),r(S),_(()=>u(N,"transform",`translate(${e(I)} ${e(E)}) scale(${e(L)})`)),Mt("wheel",S,J),_t("pointerdown",S,Y),_t("pointermove",S,h),_t("pointerup",S,k),Mt("pointercancel",S,k),Mt("pointerleave",S,k),_t("dblclick",S,B),l(g,S),at()}Kt(["pointerdown","pointermove","pointerup","dblclick"]);var xa=D('<div class="border-t border-[var(--sig-border)]"></div>'),ha=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),ba=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 _a(g,s){rt(s,!0);let d=U(Ft([])),p=U(!0),i=U(Ft(new Set));async function P(){try{const T=await yr();x(d,[...T.sessions],!0)}catch{Ve("Failed to load sessions","error")}finally{x(p,!1)}}async function L(T,$){if(!e(i).has(T.key)){x(i,new Set([...e(i),T.key]),!0);try{const A=await wr(T.key,$);A?x(d,e(d).map(B=>B.key===T.key?{...B,bypassed:A.bypassed}:B),!0):Ve("Failed to toggle bypass","error")}finally{const A=new Set(e(i));A.delete(T.key),x(i,A,!0)}}}function I(T){const $=Date.now()-new Date(T).getTime();if(!Number.isFinite($)||$<0)return"just now";const A=Math.floor($/1e3);if(A<60)return`${A}s ago`;const B=Math.floor(A/60);if(B<60)return`${B}m ago`;const J=Math.floor(B/60);return J<24?`${J}h ago`:`${Math.floor(J/24)}d ago`}Xt(()=>{P();const T=setInterval(P,3e4);return()=>clearInterval(T)});var E=Xe(),M=K(E);{var R=T=>{var $=ba(),A=a($),B=n(a(A),2);Dt(B,{variant:"outline",class:"sig-badge px-1.5 py-0",children:(Y,h)=>{_e();var k=ue();_(()=>f(k,e(d).length)),l(Y,k)},$$slots:{default:!0}}),r(A);var J=n(A,2);Ae(J,23,()=>e(d),Y=>Y.key,(Y,h,k)=>{var S=ha(),N=K(S);{var ee=ae=>{var xe=xa();l(ae,xe)};O(N,ae=>{e(k)>0&&ae(ee)})}var G=n(N,2),j=a(G),c=a(j),w=a(c,!0);r(c);var F=n(c,2);Dt(F,{variant:"outline",class:"sig-badge px-1.5 py-0 shrink-0",children:(ae,xe)=>{_e();var Ce=ue();_(()=>f(Ce,e(h).runtimePath)),l(ae,Ce)},$$slots:{default:!0}});var q=n(F,2),te=a(q,!0);r(q),r(j);var b=n(j,2),m=a(b);let X;var re=a(m,!0);r(m);var Ge=n(m,2);{let ae=C(()=>e(i).has(e(h).key)),xe=C(()=>`Bypass session ${e(h).key}`);Jt(Ge,{get checked(){return e(h).bypassed},get disabled(){return e(ae)},onCheckedChange:Ce=>L(e(h),Ce),get"aria-label"(){return e(xe)}})}r(b),r(G),_((ae,xe)=>{u(c,"title",e(h).key),f(w,ae),f(te,xe),X=Fe(m,1,"sig-meta",null,X,{"text-[var(--sig-text-muted)]":!e(h).bypassed,"text-[var(--sig-accent)]":e(h).bypassed}),f(re,e(h).bypassed?"bypassed":"active")},[()=>e(h).key.slice(0,12),()=>I(e(h).claimedAt)]),l(Y,S)}),r(J),r($),l(T,$)};O(M,T=>{!e(p)&&e(d).length>0&&T(R)})}l(g,E),at()}var ya=D('<span class="sig-eyebrow text-[#4ade80]"> </span>'),wa=D('<span class="sig-meta"> </span>'),ka=D('<span class="sig-meta text-[var(--sig-text-muted)]">pipeline disabled in config</span>'),Sa=D('<div class="flex flex-col gap-1"><!> <!></div>'),Ca=D("<!> <!>",1),Pa=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>'),$a=D('<div class="mt-1 pl-[56px] sig-micro"> </div>'),Ea=D('<div class="mt-1 pl-[56px] sig-meta text-[#f87171] whitespace-pre-wrap break-words"> </div>'),Ta=D('<details class="mt-1 pl-[56px]"><summary class="cursor-pointer sig-micro">Raw payload</summary> <pre class="mt-1 p-2 border border-[var(--sig-border)] bg-[var(--sig-surface)] sig-micro text-[var(--sig-text)] whitespace-pre-wrap break-words normal-case"> </pre></details>'),Ma=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),Da=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>'),La=D('<div class="sig-eyebrow text-[var(--sig-text)] normal-case tracking-normal mt-0.5 pl-[56px] whitespace-pre-wrap break-words"> </div>'),Oa=D('<span class="sig-micro pl-[56px]"> </span>'),Aa=D("<!> <!>",1),Na=D('<div class="feed-entry px-2 py-1.5 rounded hover:bg-[var(--sig-surface-raised)] transition-colors svelte-1kgvdra"><div class="flex items-center gap-1.5"><span class="sig-meta shrink-0 w-[48px]"> </span> <span class="inline-block w-1.5 h-1.5 rounded-full shrink-0"></span> <span class="sig-meta shrink-0"> </span></div> <!></div>'),Ia=D('<div class="flex items-center justify-center h-full sig-label italic">Waiting for events...</div>'),Ra=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 Xa(g,s){rt(s,!0);function d(t){tr(y.selectedNodeId===t?null:t)}let p=U(null),i=U(null),P=U(!0),L=U(!1),I=U(!1);const E=24;let M=U(!0),R=U(!0);const T=C(()=>e(L)?"lg:w-[420px]":"lg:w-[320px]"),$=C(()=>e(M)?"Latest":"Oldest"),A=C(()=>e(L)?"Expanded":"Compact");function B(t="smooth"){e(i)&&e(i).scrollTo({top:e(i).scrollHeight,behavior:t})}function J(){return e(i)?e(i).scrollHeight-e(i).scrollTop-e(i).clientHeight<=E:!0}function Y(){if(!(!e(i)||(x(R,J(),!0),!(e(i).scrollHeight-e(i).clientHeight>E)))){if(e(R)){x(M,!0);return}e(i).scrollTop<=E&&x(M,!1)}}function h(t){e(i)&&(e(M)?(x(P,!1),x(R,!1),x(M,!1),e(i).scrollTo({top:0,behavior:"smooth"})):(x(P,!0),x(R,!0),x(M,!0),B("auto")),t?.currentTarget instanceof HTMLElement&&t.currentTarget.blur(),x(I,!1))}function k(t){x(P,t,!0),Tt.pipeline.autoScroll=t,Qt(),t&&(x(R,!0),x(M,!0),requestAnimationFrame(()=>{B("auto"),Y()}))}function S(t){x(L,!e(L)),Tt.pipeline.feedExpanded=e(L),Qt(),t?.currentTarget instanceof HTMLElement&&t.currentTarget.blur(),x(I,!1)}async function N(){if(e(p))return;if(y.mode==="disabled"){Ve("Pipeline is disabled in config","warning");return}const t=y.mode==="paused"?"resume":"pause";x(p,t,!0);try{const o=t==="pause"?await Pr():await $r();if(!o.success){Ve(o.error??`Failed to ${t} pipeline`,"error");return}o.mode&&(y.mode=o.mode,y.lastPoll=new Date().toISOString());const v=await Yt();if(o.changed===!1){Ve(t==="pause"?"Pipeline already paused":"Pipeline already running");return}if(!v){Ve(`${t==="pause"?"Pipeline paused":"Pipeline resumed"}, but live status refresh failed`,"warning");return}Ve(t==="pause"?"Pipeline paused":"Pipeline resumed","success")}finally{x(p,null)}}function ee(t){if(!t)return"";const o=Object.keys(t);if(o.length===0)return"";const v=o.slice(0,4).join(", ");return o.length>4?`${v} +${o.length-4}`:v}Xt(()=>{if(y.feed.length,Y(),e(P)&&e(i)){if(!e(R))return;requestAnimationFrame(()=>{B("auto"),x(R,!0),x(M,!0),Y()})}}),ur(()=>(er(),Fr(),x(P,Tt.pipeline.autoScroll,!0),x(L,Tt.pipeline.feedExpanded,!0),()=>{Rr(),Gr()}));const G={"controlled-write":"border-[#4ade80] text-[#4ade80]",shadow:"border-[#fbbf24] text-[#fbbf24]",frozen:"border-[#94a3b8] text-[#94a3b8]",paused:"border-[#60a5fa] text-[#60a5fa]",disabled:"border-[#f87171] text-[#f87171]",unknown:"border-[var(--sig-border)] text-[var(--sig-text-muted)]"},j=C(()=>G[y.mode]??G.unknown),c=C(()=>st.filter(t=>{const o=y.nodes[t.id];return o?.lastActivity?Date.now()-new Date(o.lastActivity).getTime()<5e3:!1}).length);function w(t){try{return new Date(t).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return t}}const F={error:"#f87171",warn:"#fbbf24",info:"#4ade80",debug:"#6b6b76"},q={hooks:"#4dabf7","session-tracker":"#4dabf7",pipeline:"#da77f2","summary-worker":"#da77f2","document-worker":"#da77f2",retention:"#da77f2",maintenance:"#da77f2",memory:"#ffd43b",embedding:"#ffd43b",sync:"#ff922b",watcher:"#ff922b",harness:"#4dabf7",llm:"#fcc419"},te=["jobId","memoryId","sessionKey","project","attempt","maxRetries","mode","provider","model","facts","entities","proposals","added","updated","deleted","deduped","skippedLowConfidence","blockedDestructive","runId","taskId","path","port","pid","error"];function b(t){const o=Date.now()-new Date(t).getTime();if(!Number.isFinite(o)||o<0)return"just now";const v=Math.floor(o/1e3);if(v<60)return`${v}s ago`;const H=Math.floor(v/60);if(H<60)return`${H}m ago`;const z=Math.floor(H/60);return z<24?`${z}h ago`:`${Math.floor(z/24)}d ago`}function m(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/^./,o=>o.toUpperCase())}function X(t){return t===null?"null":t===void 0?"undefined":typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):Array.isArray(t)?`[${t.length} items]`:typeof t=="object"?"{object}":String(t)}function re(t){const o=t.message.toLowerCase(),v=t.category.replace(/-/g," ");if(o.includes("job failed")){const H=t.data?.attempt;return typeof H=="number"?`${v} failed (attempt ${H})`:`${v} failed`}return o.includes("completed")?`${v} completed`:o.includes("started")||o.includes("starting")?`${v} started`:o.includes("enqueued")?`${v} queued`:o.includes("failed")?`${v} warning`:o.includes("file changed")?"watcher detected file change":`${v} event`}function Ge(t){const o=[{label:"Level",value:t.level},{label:"Category",value:t.category}];t.duration!==void 0&&o.push({label:"Duration",value:`${t.duration} ms`});const v=t.data;if(!v)return o;const H=new Set;for(const z of te)z in v&&(o.push({label:m(z),value:X(v[z])}),H.add(z));for(const z of Object.keys(v).sort())H.has(z)||o.push({label:m(z),value:X(v[z])});return o}function ae(t){const o={};if(t.data&&(o.data=t.data),t.error&&(o.error=t.error),Object.keys(o).length===0)return"";const v=JSON.stringify(o,null,2);if(!v)return"";const H=3200;return v.length<=H?v:`${v.slice(0,H)}
|
|
3
|
+
...truncated`}var xe=Ra(),Ce=K(xe),ot=a(Ce);Er(ot,{title:"Pipeline",children:(t,o)=>{Tr(t,{group:"engine",get tabs(){return Cr},get activeTab(){return Sr.activeTab},onselect:(v,H)=>kr(H)})}});var He=n(ot,2),Ue=a(He),nt=a(Ue),it=a(nt);let kt;var lt=n(it,2),Lt=a(lt,!0);r(lt),r(nt);var dt=n(nt,2);Dt(dt,{variant:"outline",get class(){return`sig-badge px-1.5 py-0 ${e(j)??""}`},children:(t,o)=>{_e();var v=ue();_(()=>f(v,y.mode)),l(t,v)},$$slots:{default:!0}});var ct=n(dt,2);{var Ot=t=>{var o=ya(),v=a(o);r(o),_(()=>f(v,`${e(c)??""} active`)),l(t,o)};O(ct,t=>{e(c)>0&&t(Ot)})}r(Ue);var ut=n(Ue,2),vt=a(ut);{var At=t=>{var o=wa(),v=a(o);r(o),_(H=>f(v,`polled ${H??""}`),[()=>w(y.lastPoll)]),l(t,o)};O(vt,t=>{y.lastPoll&&t(At)})}var Nt=n(vt,2);{var V=t=>{var o=ka();l(t,o)},Q=t=>{{let o=C(()=>e(p)!==null);tt(t,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2.5 py-[5px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",get disabled(){return e(o)},onclick:N,children:(v,H)=>{var z=Xe(),je=K(z);{var pt=W=>{var Z=ue("Pausing...");l(W,Z)},ze=W=>{var Z=ue("Resuming...");l(W,Z)},Te=W=>{var Z=ue("Resume");l(W,Z)},we=W=>{var Z=ue("Pause");l(W,Z)};O(je,W=>{e(p)==="pause"?W(pt):e(p)==="resume"?W(ze,1):y.mode==="paused"?W(Te,2):W(we,-1)})}l(v,z)},$$slots:{default:!0}})}};O(Nt,t=>{y.mode==="disabled"?t(V):t(Q,-1)})}r(ut),r(He);var se=n(He,2),Pe=a(se);_a(Pe,{}),r(se);var ye=n(se,2),ie=a(ye),Ne=a(ie);ma(Ne,{onselectnode:d}),r(ie);var fe=n(ie,2),le=a(fe),he=a(le),$e=n(a(he),2),Ie=a($e),ge=a(Ie);r(Ie);var oe=n(Ie,2);let pe;var Ee=a(oe,!0);r(oe),r($e),r(he);var Le=n(he,2),Re=a(Le),Qe=a(Re);Oe(Qe,()=>Jt,(t,o)=>{o(t,{get checked(){return e(P)},onCheckedChange:v=>k(v),class:"scale-90"})}),_e(2),r(Re);var We=n(Re,2),St=a(We);tt(St,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:t=>h(t),children:(t,o)=>{_e();var v=ue();_(()=>f(v,e($))),l(t,v)},$$slots:{default:!0}});var It=n(St,2);tt(It,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:t=>S(t),children:(t,o)=>{_e();var v=ue();_(()=>f(v,e(A))),l(t,v)},$$slots:{default:!0}}),r(We);var Ze=n(We,2),ft=a(Ze);Oe(ft,()=>Lr,(t,o)=>{o(t,{get open(){return e(I)},set open(v){x(I,v,!0)},children:(v,H)=>{var z=Ca(),je=K(z);{const ze=(Te,we)=>{tt(Te,vr(()=>we?.().props,{variant:"outline",size:"sm",class:"sig-meta uppercase tracking-[0.08em] px-2 py-[3px] h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",children:(Z,mt)=>{_e();var Je=ue("Feed actions");l(Z,Je)},$$slots:{default:!0}}))};Oe(je,()=>Mr,(Te,we)=>{we(Te,{child:ze,$$slots:{child:!0}})})}var pt=n(je,2);Oe(pt,()=>Dr,(ze,Te)=>{Te(ze,{align:"end",side:"bottom",class:"w-[170px] p-1 bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(we,W)=>{var Z=Sa(),mt=a(Z);tt(mt,{variant:"outline",size:"sm",class:"w-full justify-start sig-eyebrow tracking-[0.08em] px-2 py-1 h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:ke=>h(ke),children:(ke,jt)=>{_e();var Ye=ue();_(()=>f(Ye,e($))),l(ke,Ye)},$$slots:{default:!0}});var Je=n(mt,2);tt(Je,{variant:"outline",size:"sm",class:"w-full justify-start sig-eyebrow tracking-[0.08em] px-2 py-1 h-auto hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]",onclick:ke=>S(ke),children:(ke,jt)=>{_e();var Ye=ue();_(()=>f(Ye,e(A))),l(ke,Ye)},$$slots:{default:!0}}),r(Z),l(we,Z)},$$slots:{default:!0}})}),l(v,z)},$$slots:{default:!0}})}),r(Ze),r(Le),r(le);var Ke=n(le,2),gt=a(Ke);Ae(gt,19,()=>y.feed,(t,o)=>t.timestamp+"-"+o,(t,o)=>{const v=C(()=>q[e(o).category]??"var(--sig-text-muted)"),H=C(()=>F[e(o).level]??"#6b6b76"),z=C(()=>e(o).message.length>72),je=C(()=>ee(e(o).data)),pt=C(()=>re(e(o))),ze=C(()=>Ge(e(o))),Te=C(()=>ae(e(o)));var we=Na(),W=a(we),Z=a(W),mt=a(Z,!0);r(Z);var Je=n(Z,2),ke=n(Je,2),jt=a(ke,!0);r(ke),r(W);var Ye=n(W,2);{var sr=qe=>{var xt=Ma(),et=K(xt),ht=a(et),qt=a(ht,!0);r(ht);var Ct=n(ht,2),Bt=a(Ct,!0);r(Ct),r(et);var de=n(et,2),me=a(de,!0);r(de);var Se=n(de,2);Ae(Se,21,()=>e(ze),yt,(ne,ce)=>{var Me=Pa(),bt=a(Me),dr=a(bt,!0);r(bt);var Vt=n(bt,2),cr=a(Vt,!0);r(Vt),r(Me),_(()=>{f(dr,e(ce).label),f(cr,e(ce).value)}),l(ne,Me)}),r(Se);var Pt=n(Se,2);{var $t=ne=>{var ce=$a(),Me=a(ce);r(ce),_(()=>f(Me,`Data keys: ${e(je)??""}`)),l(ne,ce)};O(Pt,ne=>{e(je)&&ne($t)})}var Et=n(Pt,2);{var nr=ne=>{var ce=Ea(),Me=a(ce);r(ce),_(()=>f(Me,`${e(o).error.name??""}: ${e(o).error.message??""}`)),l(ne,ce)};O(Et,ne=>{e(o).error&&ne(nr)})}var ir=n(Et,2);{var lr=ne=>{var ce=Ta(),Me=n(a(ce),2),bt=a(Me,!0);r(Me),r(ce),_(()=>f(bt,e(Te))),l(ne,ce)};O(ir,ne=>{e(Te)&&ne(lr)})}_(ne=>{f(qt,e(pt)),f(Bt,ne),f(me,e(o).message)},[()=>b(e(o).timestamp)]),l(qe,xt)},or=qe=>{var xt=Aa(),et=K(xt);{var ht=de=>{var me=Da(),Se=a(me),Pt=a(Se,!0);r(Se);var $t=n(Se,2),Et=a($t,!0);r($t),r(me),_(()=>{f(Pt,e(o).message),f(Et,e(o).message)}),l(de,me)},qt=de=>{var me=La(),Se=a(me,!0);r(me),_(()=>f(Se,e(o).message)),l(de,me)};O(et,de=>{e(z)?de(ht):de(qt,-1)})}var Ct=n(et,2);{var Bt=de=>{var me=Oa(),Se=a(me);r(me),_(()=>f(Se,`${e(o).duration??""}ms`)),l(de,me)};O(Ct,de=>{e(o).duration&&de(Bt)})}l(qe,xt)};O(Ye,qe=>{e(L)?qe(sr):qe(or,-1)})}r(we),_(qe=>{f(mt,qe),Ut(Je,`background-color: ${e(H)??""}`),Ut(ke,`color: ${e(v)??""}`),f(jt,e(o).category)},[()=>w(e(o).timestamp)]),l(t,we)});var Rt=n(gt,2);{var rr=t=>{var o=Ia();l(t,o)};O(Rt,t=>{y.feed.length===0&&t(rr)})}r(Ke),fr(Ke,t=>x(i,t),()=>e(i)),r(fe),r(ye),r(Ce);var ar=n(Ce,2);Jr(ar,{}),_(()=>{kt=Fe(it,1,"inline-block w-2 h-2 rounded-full",null,kt,{"bg-[#4ade80]":y.connected,"bg-[#f87171]":!y.connected,"animate-pulse":y.connected}),f(Lt,y.connected?"LIVE":"DISCONNECTED"),Fe(fe,1,`w-full shrink-0 border-t lg:border-t-0 border-[var(--sig-border)] flex flex-col bg-[var(--sig-bg)] min-h-[220px] max-h-[40vh] lg:max-h-none ${e(T)}`,"svelte-1kgvdra"),f(ge,`${y.feed.length??""} events`),pe=Fe(oe,1,"sig-meta",null,pe,{"text-[#4ade80]":e(P)&&e(R),"text-[var(--sig-text-muted)]":!e(P)||!e(R)}),f(Ee,e(P)&&e(R)?"following":"paused")}),Mt("scroll",Ke,Y),l(g,xe),at()}export{Xa as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{p as ue,g as De,t as r,j as s,l as t,w as he,A as Ne,y as Y,z as y,i as e,a9 as _e,b as h,K as Le,d as pe,u as m,m as x,s as Ue,c as Be,f as Ie,a as Xe,n as Je,r as He,o as $,e as ye,q as Fe,v as O,k as ce,O as xe,D as Ge,B as $e,af as it,P as qe,Q as Qe,h as je,ar as lt,x as ot,E as We,F as vt}from"./C__P7n-d.js";import{I as Ze,O as dt,a as et,aP as ct,n as ut,aQ as tt,o as Pe,B as pt,aR as Ye,t as Me,F as ft,aS as gt,aT as mt,aA as ht}from"./E8aDzCah.js";import{F as _t}from"./CUNvCZVi.js";import{P as yt,a as xt,b as bt}from"./B4MV25Cw.js";import{T as St}from"./B_FilWeQ.js";import{R as Et}from"./WOdSatfk.js";function st(w){return w.trim()||"default"}function wt(w,i,l){const c=new URLSearchParams({agent_id:st(l),include_self:"true",limit:String(i)});return`${w}/api/cross-agent/presence?${c.toString()}`}function at(w,i){const l=st(i);return w.filter(c=>c.agentId===l)}function Nt(w,i){const l=at(w,i).filter(c=>!Number.isNaN(new Date(c.lastSeenAt).getTime()));return l.length===0?null:[...l].sort((c,_)=>new Date(_.lastSeenAt).getTime()-new Date(c.lastSeenAt).getTime())[0]??null}async function kt(w,i,l){try{const c=await fetch(wt(w,i,l));if(!c.ok)return[];const _=await c.json();return at(_.sessions??[],l)}catch{return[]}}var At=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Mt=x('<div class="data-row svelte-1j3peig"><span class="data-idx svelte-1j3peig"> </span> <span class="data-label svelte-1j3peig"> </span> <span class="data-fill svelte-1j3peig"></span> <span class="data-value svelte-1j3peig"> </span></div>'),Tt=x('<div class="readout sig-panel svelte-1j3peig"><div class="readout-texture svelte-1j3peig" aria-hidden="true"></div> <div class="readout-content svelte-1j3peig"><div class="readout-eyebrow svelte-1j3peig"><span class="eyebrow-left svelte-1j3peig">SIGNET AGENT READOUT</span> <span class="eyebrow-right svelte-1j3peig"> </span></div> <div class="readout-hero svelte-1j3peig"><h1 class="agent-name svelte-1j3peig"> </h1> <div class="hero-stat svelte-1j3peig"><span class="hero-number svelte-1j3peig"> </span> <span class="hero-unit svelte-1j3peig">MEMORIES<br/>STORED</span></div></div> <div class="readout-divider sig-groove svelte-1j3peig" aria-hidden="true"></div> <div class="readout-grid svelte-1j3peig"><div class="readout-col svelte-1j3peig"></div> <div class="readout-col svelte-1j3peig"></div></div></div></div>');function Ct(w,i){ue(i,!0);const l=De(i,"diagnostics",3,null),c=De(i,"pipelineStatus",3,null),_=De(i,"memoryStats",3,null),M=m(()=>{const S=i.daemonStatus?.agentCreatedAt;if(!S)return null;const E=new Date(S).getTime();return Number.isNaN(E)?null:Math.max(0,Math.floor((Date.now()-E)/864e5))}),b=m(()=>e(M)===null?"--":e(M)===0?"TODAY":e(M)===1?"1 DAY":`${e(M)} DAYS`),P=m(()=>i.daemonStatus?.activeSessions??0),T=m(()=>i.daemonStatus?.version??"--"),R=m(()=>Nt(i.presence,i.agentId)),L=m(()=>{if(i.continuity.length===0)return null;const S=i.continuity.filter(N=>!Number.isNaN(new Date(N.created_at).getTime()));return S.length===0?null:[...S].sort((N,k)=>new Date(k.created_at).getTime()-new Date(N.created_at).getTime())[0]});function Z(S){const E=Date.now()-new Date(S).getTime(),N=Math.floor(E/6e4);if(N<1)return"JUST NOW";if(N<60)return`${N}M AGO`;const k=Math.floor(N/60);return k<24?`${k}H AGO`:`${Math.floor(k/24)}D AGO`}const ee=m(()=>e(R)?.project??e(L)?.project??null),ne=m(()=>e(R)?.lastSeenAt??e(L)?.created_at??null),z=m(()=>e(ee)?.replace(/\/$/,"").split("/").pop()??"--"),F=m(()=>e(ne)?Z(e(ne)):"--"),te=m(()=>i.identity.name?.trim()||"SIGNET AGENT"),V=m(()=>l()?.composite?.score??null),f=m(()=>l()?.composite?.status??"UNKNOWN"),d=m(()=>l()?.index?.embeddingCoverage!==void 0?Math.round(l().index.embeddingCoverage*100):!_()||_().total===0?null:Math.round(_().withEmbeddings/_().total*100)),j=m(()=>c()?typeof c().mode=="string"?c().mode.toUpperCase():"ACTIVE":"UNKNOWN"),G=m(()=>{if(!l())return 0;let S=0;const E=["queue","storage","index","provider","connector","predictor"];for(const N of E){const k=l()[N];if(k&&typeof k=="object"&&"status"in k){const X=k.status;(X==="degraded"||X==="unhealthy")&&S++}}return S});function D(S){return S===null?"var(--sig-text-muted)":S>=.8?"var(--sig-success)":S>=.5?"var(--sig-warning)":"var(--sig-danger)"}const ie=m(()=>[{idx:"01",label:"UPTIME",value:e(b)},{idx:"02",label:"PROJECT",value:e(z)},{idx:"03",label:"LAST SEEN",value:e(F)},{idx:"04",label:"CONNECTORS",value:String(i.connectorCount)},{idx:"05",label:"SESSIONS",value:String(e(P))}]),se=m(()=>[{idx:"06",label:"HEALTH",value:e(V)!==null?`${e(V).toFixed(2)} ${e(f).toUpperCase()}`:"--",color:D(e(V))},{idx:"07",label:"EMBEDDED",value:e(d)!==null?`${e(d)}%`:"--"},{idx:"08",label:"PIPELINE",value:e(j)},{idx:"09",label:"WARNINGS",value:String(e(G)),color:e(G)>0?"var(--sig-danger)":void 0}]);var a=Tt(),u=r(s(a),2),v=s(u),I=r(s(v),2),n=s(I);t(I),t(v);var o=r(v,2),p=s(o),g=s(p,!0);t(p);var U=r(p,2),q=s(U),K=s(q,!0);t(q),he(2),t(U),t(o);var B=r(o,4),H=s(B);Ne(H,21,()=>e(ie),Le,(S,E)=>{var N=At(),k=s(N),X=s(k,!0);t(k);var W=r(k,2),le=s(W,!0);t(W);var re=r(W,4),A=s(re,!0);t(re),t(N),Y(()=>{y(X,e(E).idx),y(le,e(E).label),_e(re,e(E).color?`color: ${e(E).color}`:""),y(A,e(E).value)}),h(S,N)}),t(H);var ae=r(H,2);Ne(ae,21,()=>e(se),Le,(S,E)=>{var N=Mt(),k=s(N),X=s(k,!0);t(k);var W=r(k,2),le=s(W,!0);t(W);var re=r(W,4),A=s(re,!0);t(re),t(N),Y(()=>{y(X,e(E).idx),y(le,e(E).label),_e(re,e(E).color?`color: ${e(E).color}`:""),y(A,e(E).value)}),h(S,N)}),t(ae),t(B),t(u),t(a),Y(S=>{y(n,`v${e(T)??""}`),y(g,e(te)),y(K,S)},[()=>i.memoryCount.toLocaleString()]),h(w,a),pe()}function Ot(w,i){ue(i,!0);let l=He(i,["$$slots","$$events","$$legacy"]);const c=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M10 9H8"}],["path",{d:"M16 13H8"}],["path",{d:"M16 17H8"}]];Ze(w,Ue({name:"file-text"},()=>l,{get iconNode(){return c},children:(_,M)=>{var b=Be(),P=Ie(b);Xe(P,()=>i.children??Je),h(_,b)},$$slots:{default:!0}})),pe()}var jt=x('<div class="empty-state svelte-18r587h">SCANNING SOURCE MANIFEST...</div>'),It=it('<line x1="50" y1="50"></line>'),Rt=x('<div class="kb-solo-note svelte-18r587h"><span class="svelte-18r587h">NO EXTERNAL SOURCES CONNECTED</span> <small class="svelte-18r587h">Connect Obsidian or documents to extend recall provenance.</small></div>'),Dt=x('<img src="/logo-dark.png" alt="" class="kb-signet-logo svelte-18r587h" aria-hidden="true"/>'),Pt=x('<button type="button"><span class="kb-node-icon svelte-18r587h"><!></span> <span class="kb-node-copy svelte-18r587h"><strong class="svelte-18r587h"> </strong> <small class="svelte-18r587h"> </small></span></button>'),qt=x('<div><div class="kb-origin-ring svelte-18r587h" aria-hidden="true"></div> <button type="button" class="kb-core svelte-18r587h"><span class="kb-core-mark svelte-18r587h"><img src="/logo-dark.png" alt="" class="kb-signet-logo svelte-18r587h" aria-hidden="true"/></span> <span class="kb-core-copy svelte-18r587h"><strong class="svelte-18r587h">Signet Memory</strong> <small class="svelte-18r587h">native identity graph · always on</small></span></button> <svg class="kb-links svelte-18r587h" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true"></svg> <!> <!></div> <div class="kb-footer svelte-18r587h"><div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">ACTIVE</small></div> <div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">EXTERNAL</small></div> <div class="kb-stat svelte-18r587h"><span class="svelte-18r587h"> </span> <small class="svelte-18r587h">CONNECTORS</small></div> <div class="kb-last svelte-18r587h"><span class="svelte-18r587h">LAST EXTERNAL INDEX</span> <small class="svelte-18r587h"> </small></div></div>',1),$t=x('<div class="kb-panel sig-panel svelte-18r587h"><div class="kb-header sig-panel-header svelte-18r587h"><div><span class="kb-title svelte-18r587h">CONNECTED KNOWLEDGE BASES</span> <span class="kb-subtitle svelte-18r587h">PROVENANCE GRAPH / LIVE SOURCES</span></div> <button type="button" class="kb-open svelte-18r587h"><!> <span>MANAGE</span></button></div> <!></div>');function Lt(w,i){ue(i,!0);const l=[{x:33,y:68},{x:54,y:24},{x:74,y:62},{x:86,y:32},{x:18,y:76}];let c=$(!1),_=$(ye([])),M=$(ye([]));Fe(async()=>{const a=await Promise.allSettled([dt(),et()]);a[0].status==="fulfilled"&&O(_,a[0].value,!0),a[1].status==="fulfilled"&&O(M,a[1].value,!0),O(c,!0)});const b=m(()=>{const a=e(_).map((v,I)=>({id:`source:${v.id}`,name:v.name||ne(v.root),kind:"source",provider:v.kind,detail:v.root,status:v.enabled?v.lastIndexedAt?"online":"syncing":"offline",updatedAt:v.lastIndexedAt??v.updatedAt??null,...l[I%l.length]})),u=e(M).map((v,I)=>({id:`connector:${v.id}`,name:v.display_name||v.provider,kind:"connector",provider:v.provider,detail:v.last_error??`${v.provider} document connector`,status:ee(v),updatedAt:v.last_sync_at??v.updated_at??null,...l[(a.length+I)%l.length]}));return[...a,...u].slice(0,l.length)}),P=m(()=>1+e(b).filter(a=>a.status==="online").length),T=m(()=>1+e(b).length),R=m(()=>e(_).length),L=m(()=>e(M).length),Z=m(()=>e(R)+e(L));function ee(a){return a.last_error?"warning":a.status==="syncing"?"syncing":a.status==="connected"||a.status==="active"||a.status==="ok"||a.status?"online":"offline"}function ne(a){return a.split(/[\\/]/).filter(Boolean).at(-1)??"Knowledge base"}function z(a,u){return u?.kind==="memory"?"always on":a==="online"?"indexed":a==="syncing"?"syncing":a==="warning"?"attention":"offline"}function F(a){return a.kind==="memory"?"Signet":a.kind==="source"&&a.provider==="obsidian"?"Obsidian":a.provider.replace(/[-_]/g," ")}function te(a){if(!a)return"not indexed yet";const u=new Date(a);return Number.isNaN(u.getTime())?"unknown":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(u)}function V(){ut.activeTab="sources"}var f=$t(),d=s(f),j=r(s(d),2),G=s(j);ct(G,{class:"size-3"}),he(2),t(j),t(d);var D=r(d,2);{var ie=a=>{var u=jt();h(a,u)},se=a=>{var u=qt(),v=Ie(u);let I;var n=r(s(v),2),o=r(n,2);Ne(o,21,()=>e(b),A=>A.id,(A,C)=>{var J=It();let be;Y(()=>{Ge(J,"x2",e(C).x),Ge(J,"y2",e(C).y),be=$e(J,0,"svelte-18r587h",null,be,{"link-muted":e(C).status!=="online"})}),h(A,J)}),t(o);var p=r(o,2);{var g=A=>{var C=Rt();h(A,C)};ce(p,A=>{e(b).length===0&&A(g)})}var U=r(p,2);Ne(U,17,()=>e(b),A=>A.id,(A,C)=>{var J=Pt();let be;var oe=s(J),de=s(oe);{var Se=Q=>{var ve=Dt();h(Q,ve)},ke=Q=>{_t(Q,{class:"size-3.5"})},fe=Q=>{Ot(Q,{class:"size-3.5"})};ce(de,Q=>{e(C).kind==="memory"?Q(Se):e(C).kind==="source"?Q(ke,1):Q(fe,-1)})}t(oe);var Ee=r(oe,2),Te=s(Ee),Ce=s(Te,!0);t(Te);var ge=r(Te,2),we=s(ge);t(ge),t(Ee),t(J),Y((Q,ve)=>{be=$e(J,1,"kb-node svelte-18r587h",null,be,{"kb-node--memory":e(C).kind==="memory","kb-node--source":e(C).kind==="source","kb-node--warning":e(C).status==="warning","kb-node--offline":e(C).status==="offline"}),_e(J,`left: ${e(C).x??""}%; top: ${e(C).y??""}%;`),y(Ce,e(C).name),y(we,`${Q??""} · ${ve??""}`)},[()=>F(e(C)),()=>z(e(C).status,e(C))]),xe("click",J,V),h(A,J)}),t(v);var q=r(v,2),K=s(q),B=s(K),H=s(B);t(B),he(2),t(K);var ae=r(K,2),S=s(ae),E=s(S,!0);t(S),he(2),t(ae);var N=r(ae,2),k=s(N),X=s(k,!0);t(k),he(2),t(N);var W=r(N,2),le=r(s(W),2),re=s(le,!0);t(le),t(W),t(q),Y(A=>{I=$e(v,1,"kb-visual svelte-18r587h",null,I,{"kb-visual--solo":e(b).length===0}),y(H,`${e(P)??""}/${e(T)??""}`),y(E,e(Z)),y(X,e(L)),y(re,A)},[()=>te(e(b).find(A=>A.updatedAt)?.updatedAt??null)]),xe("click",n,V),h(a,u)};ce(D,a=>{!e(c)&&e(T)===0?a(ie):a(se,-1)})}t(f),xe("click",j,V),h(w,f),pe()}qe(["click"]);function Gt(w,i){ue(i,!0);let l=He(i,["$$slots","$$events","$$legacy"]);const c=[["path",{d:"M12 18V5"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77"}]];Ze(w,Ue({name:"brain"},()=>l,{get iconNode(){return c},children:(_,M)=>{var b=Be(),P=Ie(b);Xe(P,()=>i.children??Je),h(_,b)},$$slots:{default:!0}})),pe()}var Ut=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Bt=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Ht=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),Ft=x('<div class="entity-row svelte-1qexx7n"><span class="entity-idx svelte-1qexx7n"> </span> <span class="entity-dot svelte-1qexx7n"></span> <span class="entity-name svelte-1qexx7n"> </span> <!></div>'),Vt=x('<div class="entity-list svelte-1qexx7n"></div>'),zt=x('<div class="panel sig-panel svelte-1qexx7n"><div class="panel-header sig-panel-header svelte-1qexx7n"><span class="panel-title svelte-1qexx7n">SPOTLIGHT</span> <span class="panel-count svelte-1qexx7n"> </span></div> <div class="panel-body svelte-1qexx7n"><!></div> <div class="panel-footer sig-panel-footer svelte-1qexx7n"><button class="panel-link svelte-1qexx7n">VIEW IN MEMORY</button></div></div>');function Kt(w,i){ue(i,!0);let l=$(ye([])),c=$(!1);async function _(){try{const f=await fetch(`${Pe}/api/memories/most-used?limit=50`);if(f.ok){const G=((await f.json()).memories??[]).filter(D=>typeof D.id=="string"&&D.id.length>0&&typeof D.content=="string").map(D=>({id:D.id,content:D.content??"",access_count:D.access_count??0,importance:D.importance??.5}));if(G.length>0){O(l,G,!0),O(c,!0);return}}}catch{}O(l,i.memories.map(f=>({id:f.id,content:f.content,access_count:0,importance:f.importance??.5})).sort((f,d)=>d.importance-f.importance).slice(0,50),!0),O(c,!0)}Fe(()=>{_()});function M(f){const d=f.content.trim(),j=d.split(`
|
|
2
|
+
`)[0]??d;return j.length>60?`${j.slice(0,57)}...`:j}function b(f){return f>=.8?"var(--sig-danger)":f>=.5?"var(--sig-warning)":"var(--sig-success)"}var P=zt(),T=s(P),R=r(s(T),2),L=s(R);t(R),t(T);var Z=r(T,2),ee=s(Z);{var ne=f=>{var d=Ut();h(f,d)},z=f=>{var d=Bt(),j=s(d);Gt(j,{class:"empty-icon"}),he(2),t(d),h(f,d)},F=f=>{var d=Vt();Ne(d,23,()=>e(l),j=>j.id,(j,G,D)=>{var ie=Ft(),se=s(ie),a=s(se,!0);t(se);var u=r(se,2),v=r(u,2),I=s(v,!0);t(v);var n=r(v,2);{var o=p=>{var g=Ht(),U=s(g,!0);t(g),Y(()=>y(U,e(G).access_count)),h(p,g)};ce(n,p=>{e(G).access_count>0&&p(o)})}t(ie),Y((p,g,U)=>{y(a,p),_e(u,`background: ${g??""}`),y(I,U)},[()=>String(e(D)+1).padStart(2,"0"),()=>b(e(G).importance),()=>M(e(G))]),h(j,ie)}),t(d),h(f,d)};ce(ee,f=>{e(c)?e(l).length===0?f(z,1):f(F,-1):f(ne)})}t(Z);var te=r(Z,2),V=s(te);t(te),t(P),Y(()=>y(L,`${e(l).length??""} RECALLED`)),xe("click",V,()=>tt("cortex-memory")),h(w,P),pe()}qe(["click"]);var Wt=x('<span class="status-indicator svelte-ym2fyr"> </span>'),Yt=x('<div class="empty-state svelte-ym2fyr">LOADING</div>'),Xt=x('<div class="scoring-data svelte-ym2fyr"><div class="split-bar-container svelte-ym2fyr"><div class="split-bar sig-track svelte-ym2fyr"><div class="split-segment baseline svelte-ym2fyr"></div> <div class="split-segment predictor svelte-ym2fyr"></div></div> <div class="split-labels svelte-ym2fyr"><span class="split-label svelte-ym2fyr"> </span> <span class="split-label accent svelte-ym2fyr"> </span></div></div> <div class="stat-rows svelte-ym2fyr"><div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">SUCCESS RATE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">MODEL VERSION</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">TRAINING SESSIONS</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div></div></div>'),Jt=x('<div class="stat-rows svelte-ym2fyr"><div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">EMBEDDING COVERAGE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">TOTAL MEMORIES</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div> <div class="stat-row svelte-ym2fyr"><span class="stat-label svelte-ym2fyr">HEALTH SCORE</span> <span class="stat-fill svelte-ym2fyr"></span> <span class="stat-value svelte-ym2fyr"> </span></div></div>'),Qt=x('<div class="panel sig-panel svelte-ym2fyr"><div class="panel-header sig-panel-header svelte-ym2fyr"><span class="panel-title svelte-ym2fyr">MEMORY SCORING</span> <!></div> <div class="panel-body svelte-ym2fyr"><!></div> <div class="panel-footer sig-panel-footer svelte-ym2fyr"><button class="panel-link svelte-ym2fyr">VIEW PREDICTOR</button></div></div>');function Zt(w,i){ue(i,!0);let l=$(null),c=$(null),_=$(!1);const M=m(()=>e(l)?.sidecarAlive),b=m(()=>e(l)?.alpha??.6),P=m(()=>e(l)?.successRate??0),T=m(()=>{if(e(c)?.composite){const a=e(c).composite.score;return a>=.7?"healthy":a>=.4?"degraded":"unhealthy"}return e(l)?.status??"unknown"}),R=m(()=>e(c)?.index?.embeddingCoverage??0),L=m(()=>e(c)?.storage?.totalMemories??0),Z=m(()=>e(c)?.composite?.score??0);function ee(a){return a==="healthy"?"var(--sig-success)":a==="degraded"||a==="cold_start"?"var(--sig-warning)":a==="unhealthy"?"var(--sig-danger)":"var(--sig-text-muted)"}async function ne(){try{const[a,u]=await Promise.allSettled([fetch(`${Pe}/api/diagnostics/predictor`),fetch(`${Pe}/api/diagnostics`)]);a.status==="fulfilled"&&a.value.ok&&O(l,await a.value.json(),!0),u.status==="fulfilled"&&u.value.ok&&O(c,await u.value.json(),!0)}catch{}O(_,!0)}Qe(()=>{i.daemonStatus?ne():O(_,!0)});var z=Qt(),F=s(z),te=r(s(F),2);{var V=a=>{var u=Wt(),v=s(u,!0);t(u),Y((I,n)=>{_e(u,`color: ${I??""}`),y(v,n)},[()=>ee(e(T)),()=>e(T).toUpperCase()]),h(a,u)};ce(te,a=>{e(_)&&a(V)})}t(F);var f=r(F,2),d=s(f);{var j=a=>{var u=Yt();h(a,u)},G=a=>{var u=Xt(),v=s(u),I=s(v),n=s(I),o=r(n,2);t(I);var p=r(I,2),g=s(p),U=s(g);t(g);var q=r(g,2),K=s(q);t(q),t(p),t(v);var B=r(v,2),H=s(B),ae=r(s(H),4),S=s(ae);t(ae),t(H);var E=r(H,2),N=r(s(E),4),k=s(N);t(N),t(E);var X=r(E,2),W=r(s(X),4),le=s(W,!0);t(W),t(X),t(B),t(u),Y((re,A,C)=>{_e(n,`width: ${e(b)*100}%`),_e(o,`width: ${(1-e(b))*100}%`),y(U,`BASELINE ${re??""}%`),y(K,`PREDICTOR ${A??""}%`),y(S,`${C??""}%`),y(k,`v${e(l)?.modelVersion??"--"??""}`),y(le,e(l)?.trainingSessions??"--")},[()=>Math.round(e(b)*100),()=>Math.round((1-e(b))*100),()=>Math.round(e(P)*100)]),h(a,u)},D=a=>{var u=Jt(),v=s(u),I=r(s(v),4),n=s(I);t(I),t(v);var o=r(v,2),p=r(s(o),4),g=s(p,!0);t(p),t(o);var U=r(o,2),q=r(s(U),4),K=s(q);t(q),t(U),t(u),Y((B,H,ae)=>{y(n,`${B??""}%`),y(g,H),y(K,`${ae??""}%`)},[()=>Math.round(e(R)*100),()=>e(L).toLocaleString(),()=>Math.round(e(Z)*100)]),h(a,u)};ce(d,a=>{e(_)?e(M)?a(G,1):a(D,-1):a(j)})}t(f);var ie=r(f,2),se=s(ie);t(ie),t(z),xe("click",se,()=>tt("predictor")),h(w,z),pe()}qe(["click"]);function es(w,i){ue(i,!0);let l=De(i,"ref",15,null),c=He(i,["$$slots","$$events","$$legacy","ref"]);var _=Be(),M=Ie(_);je(M,()=>lt,(b,P)=>{P(b,Ue({"data-slot":"popover-close"},()=>c,{get ref(){return l()},set ref(T){l(T)}}))}),h(w,_),pe()}var ts=x('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),ss=x('<span class="entry-tag svelte-7r7fq6"> </span>'),as=x('<div class="entry-tags svelte-7r7fq6"></div>'),rs=x("<button>EDIT</button>"),ns=x("<button>Cancel</button>"),is=x('<div class="edit-popover svelte-7r7fq6"><span class="sig-eyebrow">Correct memory</span> <!> <div class="flex justify-end gap-1 mt-1"><!> <!></div></div>'),ls=x("<!> <!>",1),os=x('<div class="insight-entry svelte-7r7fq6"><div class="entry-top svelte-7r7fq6"><div class="entry-top-left svelte-7r7fq6"><span class="entry-idx svelte-7r7fq6"> </span> <span class="entry-dot svelte-7r7fq6"></span> <span class="entry-date svelte-7r7fq6"> </span></div> <!></div> <p class="entry-content svelte-7r7fq6"> </p> <div class="entry-actions svelte-7r7fq6"><button class="action-btn accept sig-switch svelte-7r7fq6">PIN</button> <button class="action-btn reject sig-switch svelte-7r7fq6">DISMISS</button> <!></div></div>'),vs=x('<div class="insights-list svelte-7r7fq6"></div>'),ds=x('<div class="insights-panel sig-panel svelte-7r7fq6"><div class="insights-header sig-panel-header svelte-7r7fq6"><span class="insights-title svelte-7r7fq6">SUGGESTED INSIGHTS</span> <div class="insights-header-right svelte-7r7fq6"><span class="insights-count svelte-7r7fq6"> </span> <button class="refresh-btn sig-switch svelte-7r7fq6" title="Refresh suggestions"><!> <span>REFRESH</span></button></div></div> <!></div>');function cs(w,i){ue(i,!0);let l=$(ye(new Set)),c=$(0),_=$(void 0),M=$(3);const b=90;function P(n){const p=Date.now()-new Date(n.created_at).getTime(),g=864e5,U=p<7*g?1:p<30*g?.5:.2,q=T(n.tags),K=q.length===0?1:q.length<3?.6:.2,B=n.importance??.5,H=B>=.3&&B<=.7?1:.3;return U+K+H}function T(n){return n?Array.isArray(n)?n.filter(Boolean):n.split(",").map(o=>o.trim()).filter(Boolean):[]}const R=m(()=>i.memories.filter(n=>!(e(l).has(n.id)||n.pinned||T(n.tags).includes("rejected-insight"))).map(n=>({memory:n,score:P(n)})).sort((n,o)=>o.score-n.score)),L=m(()=>{if(e(R).length===0)return[];const n=Math.min(e(M),e(R).length),o=e(c)%e(R).length;return Array.from({length:n},(p,g)=>e(R)[(o+g)%e(R).length].memory)});Qe(()=>{if(!e(_))return;const n=new ResizeObserver(o=>{const p=o[0]?.contentRect.height??0;O(M,Math.max(1,Math.floor(p/b)),!0)});return n.observe(e(_)),()=>n.disconnect()});function Z(n){return n>=.8?"var(--sig-danger)":n>=.5?"var(--sig-warning)":"var(--sig-success)"}function ee(n){const o=new Date(n),p=o.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),g=String(o.getDate()).padStart(2,"0");return`${p} ${g}`}async function ne(n){const o=await ft(n.id,!0);o.success?(O(l,new Set([...e(l),n.id]),!0),Me("Memory pinned","success")):Me(o.error??"Failed to pin","error")}async function z(n){const o=T(n.tags);o.push("rejected-insight");const p=await Ye(n.id,{tags:o.join(",")},"dashboard: rejected insight");p.success?(O(l,new Set([...e(l),n.id]),!0),Me("Memory dismissed","success")):Me(p.error??"Failed to dismiss","error")}const F=ye({});function te(n){F[n.id]=n.content}async function V(n){const o=F[n.id];if(!o||o===n.content)return;const p=await Ye(n.id,{content:o},"dashboard: corrected insight");p.success?(O(l,new Set([...e(l),n.id]),!0),Me("Memory corrected","success")):Me(p.error??"Failed to save","error")}function f(){O(c,(e(c)+e(M))%Math.max(1,e(R).length))}var d=ds(),j=s(d),G=r(s(j),2),D=s(G),ie=s(D);t(D);var se=r(D,2),a=s(se);Et(a,{class:"refresh-icon"}),he(2),t(se),t(G),t(j);var u=r(j,2);{var v=n=>{var o=ts();h(n,o)},I=n=>{var o=vs();Ne(o,23,()=>e(L),p=>p.id,(p,g,U)=>{var q=os(),K=s(q),B=s(K),H=s(B),ae=s(H,!0);t(H);var S=r(H,2),E=r(S,2),N=s(E,!0);t(E),t(B);var k=r(B,2);{var X=oe=>{var de=as();Ne(de,21,()=>T(e(g).tags).slice(0,3),Le,(Se,ke)=>{var fe=ss(),Ee=s(fe,!0);t(fe),Y(()=>y(Ee,e(ke))),h(Se,fe)}),t(de),h(oe,de)},W=m(()=>T(e(g).tags).length>0);ce(k,oe=>{e(W)&&oe(X)})}t(K);var le=r(K,2),re=s(le,!0);t(le);var A=r(le,2),C=s(A),J=r(C,2),be=r(J,2);je(be,()=>bt,(oe,de)=>{de(oe,{children:(Se,ke)=>{var fe=ls(),Ee=Ie(fe);{const Ce=(ge,we)=>{let Q=()=>we?.().props;var ve=rs(),Re=()=>te(e(g));We(ve,()=>({...Q(),class:"action-btn edit sig-switch",onclick:Re}),void 0,void 0,void 0,"svelte-7r7fq6"),h(ge,ve)};je(Ee,()=>yt,(ge,we)=>{we(ge,{child:Ce,$$slots:{child:!0}})})}var Te=r(Ee,2);je(Te,()=>xt,(Ce,ge)=>{ge(Ce,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(we,Q)=>{var ve=is(),Re=r(s(ve),2);{let Oe=m(()=>F[e(g).id]??e(g).content);St(Re,{class:`mt-2 min-h-[60px] text-[11px] font-mono
|
|
3
|
+
bg-[var(--sig-bg)] border-[var(--sig-border)]
|
|
4
|
+
text-[var(--sig-text)]`,get value(){return e(Oe)},oninput:Ae=>{const me=Ae.currentTarget;me instanceof HTMLTextAreaElement&&(F[e(g).id]=me.value)}})}var Ve=r(Re,2),ze=s(Ve);{const Oe=(Ae,me)=>{let nt=()=>me?.().props;var Ke=ns();We(Ke,()=>({...nt(),class:"text-[10px] px-2 py-1 text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]"}),void 0,void 0,void 0,"svelte-7r7fq6"),h(Ae,Ke)};je(ze,()=>es,(Ae,me)=>{me(Ae,{child:Oe,$$slots:{child:!0}})})}var rt=r(ze,2);pt(rt,{variant:"default",size:"sm",class:"text-[10px] h-6",onclick:()=>V(e(g)),children:(Oe,Ae)=>{he();var me=ot("Save");h(Oe,me)},$$slots:{default:!0}}),t(Ve),t(ve),h(we,ve)},$$slots:{default:!0}})}),h(Se,fe)},$$slots:{default:!0}})}),t(A),t(q),Y((oe,de,Se,ke)=>{y(ae,oe),_e(S,`background: ${de??""}`),Ge(S,"title",`importance: ${Se??""}`),y(N,ke),y(re,e(g).content)},[()=>String(e(U)+1).padStart(2,"0"),()=>Z(e(g).importance??.5),()=>(e(g).importance??.5).toFixed(2),()=>ee(e(g).created_at)]),xe("click",C,()=>ne(e(g))),xe("click",J,()=>z(e(g))),h(p,q)}),t(o),vt(o,p=>O(_,p),()=>e(_)),h(n,o)};ce(u,n=>{e(L).length===0?n(v):n(I,-1)})}t(d),Y(()=>y(ie,`${e(L).length??""} OF ${e(R).length??""}`)),xe("click",se,f),h(w,d),pe()}qe(["click"]);var us=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><div class="home-grid svelte-12c0jaj"><div class="area-banner svelte-12c0jaj"><!></div> <div class="area-spotlights svelte-12c0jaj"><!></div> <div class="area-insights svelte-12c0jaj"><!></div> <div class="area-sidebar svelte-12c0jaj"><!> <!></div></div></div>');function ys(w,i){ue(i,!0);let l=$(null),c=$(ye([])),_=$(ye([])),M=$(null),b=$(ye([])),P=$(!1);Fe(async()=>{const d=await Promise.allSettled([gt(),mt(),kt(Pe,10,i.agentId),ht(),et()]);d[0].status==="fulfilled"&&d[0].value&&O(l,d[0].value,!0),d[1].status==="fulfilled"&&O(c,d[1].value,!0),d[2].status==="fulfilled"&&O(_,d[2].value,!0),d[3].status==="fulfilled"&&O(M,d[3].value,!0),d[4].status==="fulfilled"&&O(b,d[4].value,!0),O(P,!0)});var T=us(),R=s(T),L=s(R),Z=s(L);{let d=m(()=>i.memoryStats?.total??0);Ct(Z,{get identity(){return i.identity},get daemonStatus(){return i.daemonStatus},get connectorCount(){return e(b).length},get continuity(){return e(c)},get presence(){return e(_)},get agentId(){return i.agentId},get memoryCount(){return e(d)},get diagnostics(){return e(l)},get pipelineStatus(){return e(M)},get memoryStats(){return i.memoryStats}})}t(L);var ee=r(L,2),ne=s(ee);Lt(ne,{}),t(ee);var z=r(ee,2),F=s(z);cs(F,{get memories(){return i.memories}}),t(z);var te=r(z,2),V=s(te);Kt(V,{get memories(){return i.memories}});var f=r(V,2);Zt(f,{get daemonStatus(){return i.daemonStatus}}),t(te),t(R),t(T),h(w,T),pe()}export{ys as default};
|