signetai 0.109.4 → 0.109.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/chunks/{DYSudhdl.js → 7_SUPpMH.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DT8MvroM.js → 9qQuPHFn.js} +1 -1
- package/dashboard/_app/immutable/chunks/{x2BJM2YU.js → AfWQoUE8.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CXfi1V9g.js → B37yoGd7.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DrbvWhR7.js → B4lhu6fp.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DxVbe6xm.js → BNlqIqSW.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BbDSmBFw.js → BR_-IrD2.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DjV3mynX.js → BW36llce.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DvFn8o-l.js → Bet1gv3Q.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BJjvkBA6.js → Bm-WUuvQ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{COiyl2bP.js → BuMdvLzL.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DkPIfor4.js → BxZQ1Vkc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CkCHoVBx.js → CI0vE-Ej.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D_Tbdc7W.js → CKED4qz4.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DQ6NN03u.js → CQ5SfJ_B.js} +2 -2
- package/dashboard/_app/immutable/chunks/{Dc-lT-on.js → CSgLxtnP.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BvCNR9cw.js → CWI5yItQ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D0zRlr8u.js → ClMVGLRb.js} +1 -1
- package/dashboard/_app/immutable/chunks/CooEk_ft.js +1 -0
- package/dashboard/_app/immutable/chunks/{DeHOiSx9.js → CxU8fkqR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BiM6N9Na.js → CyKvO7lF.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Vm4BQLRS.js → D-k6G1la.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CNXIA3Xw.js → D6eWFo2V.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BWCLTz9A.js → D9srAjdy.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DckTwCZX.js → DFbRwdnE.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BUiRPKJL.js → DIA23n0a.js} +3 -3
- package/dashboard/_app/immutable/chunks/{BKTiLL3i.js → DJKBjnDd.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B2B3NDKs.js → DMXlfqSc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CJgwgIL3.js → DRivLlfT.js} +1 -1
- package/dashboard/_app/immutable/chunks/{aN3H9Kwp.js → DTGTXMsP.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CEHnd9lN.js → DX6lSzSO.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CHrEUf25.js → D_5sbx3x.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DWcjuS0f.js → DaTAkA6v.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CIt78sFa.js → DiTm5Saa.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CYRIHUl-.js → DkjyKpGx.js} +1 -1
- package/dashboard/_app/immutable/chunks/{LE_Lrglo.js → DlhKLiQE.js} +1 -1
- package/dashboard/_app/immutable/chunks/{kIRkTTxG.js → DqHb5j0W.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DGPNxnlG.js → Dv0KXWtS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{xKLZQPJI.js → FFZqBGeO.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B0CUoDmm.js → HmAkYp0t.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BEnbHapw.js → NfLbONdE.js} +2 -2
- package/dashboard/_app/immutable/chunks/{DmtfuCF0.js → SDBCglNN.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BQS8fcEf.js → VYe6FewO.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CI2GyS_w.js → WlRWa7Ns.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BB-FheLA.js → YGwRROBb.js} +1 -1
- package/dashboard/_app/immutable/chunks/{4ATg_zdA.js → nNOSYlFs.js} +1 -1
- package/dashboard/_app/immutable/chunks/{LidVRvNL.js → vUrylwwg.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C2mvAyn4.js → w_ACb_j-.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.B11pPTvx.js → app.CGgOi0r6.js} +2 -2
- package/dashboard/_app/immutable/entry/start.CIRYcdxY.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.Ci4pOGyu.js → 1.DewMlvrK.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.V4rXh_Re.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/package.json +1 -1
- package/dashboard/_app/immutable/chunks/TBgfvN4S.js +0 -1
- package/dashboard/_app/immutable/entry/start.BVaQvu3G.js +0 -1
- package/dashboard/_app/immutable/nodes/2.C1z2vzWB.js +0 -1
|
@@ -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"./KKQFryJf.js";import{c as g}from"./
|
|
1
|
+
import{p as c,g as d,E as i,j as l,a as p,n as f,l as m,F as u,b as h,d as _,r as v,m as b}from"./KKQFryJf.js";import{c as g}from"./DIA23n0a.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 ie,s as ye,c as ce,f as de,a as Ee,n as Pe,b as v,d as ve,r as xe,o as h,e as ne,q as Ut,N as oe,$ as Vt,j as n,t as i,l as r,w as Fe,k as $,i as e,y as q,z as N,D as et,a9 as zt,O as M,v as s,aj as U,u as le,A as tt,B as Kt,K as st,m as b,P as qt,x as at}from"./KKQFryJf.js";import{I as Se,af as Gt,ag as jt,ah as Bt,n as Xt,ai as G,aj as Wt,t as S,ak as Jt,al as Qt,am as Yt,an as Zt}from"./BUiRPKJL.js";import{C as rt}from"./x2BJM2YU.js";import{I as be}from"./COiyl2bP.js";import{P as es}from"./aN3H9Kwp.js";import{R as ts}from"./BiM6N9Na.js";import{T as ss}from"./BB-FheLA.js";import{C as as}from"./BQS8fcEf.js";import{C as rs}from"./DjV3mynX.js";function ns(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M12 3v12"}],["path",{d:"m8 11 4 4 4-4"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"}]];Se(L,ye({name:"import"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function os(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];Se(L,ye({name:"key-round"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function ls(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];Se(L,ye({name:"link"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function is(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16"}]];Se(L,ye({name:"unlink"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}var cs=b('<div class="add-form svelte-k8hi4h"><div class="add-form-row svelte-k8hi4h"><!> <!> <button class="add-submit svelte-k8hi4h"> </button></div></div>'),ds=b('<div class="panel-empty svelte-k8hi4h">LOADING</div>'),vs=b('<div class="panel-empty svelte-k8hi4h"><span>NO SECRETS STORED</span> <span class="panel-empty-hint svelte-k8hi4h">PRESS N TO ADD ONE</span></div>'),us=b('<span class="secret-delete-text svelte-k8hi4h">...</span>'),ps=b('<div tabindex="0" role="listitem"><!> <span class="secret-name svelte-k8hi4h"> </span> <span class="secret-mask svelte-k8hi4h">········</span> <button class="secret-delete svelte-k8hi4h"><!></button></div>'),fs=b('<div class="op-status op-status--ok svelte-k8hi4h">Connected<!></div>'),hs=b('<div class="op-status op-status--warn svelte-k8hi4h">Token saved but unreachable<!></div>'),ms=b('<div class="op-status svelte-k8hi4h">Connect a 1Password service account to import secrets</div>'),ks=b('<label class="op-vault svelte-k8hi4h"><!> <span class="op-vault-name svelte-k8hi4h"> </span></label>'),_s=b('<div class="op-vaults svelte-k8hi4h"><span class="op-vaults-label svelte-k8hi4h">VAULTS</span> <div class="op-vault-list svelte-k8hi4h"></div></div>'),ws=b('<div class="op-vaults-empty svelte-k8hi4h">NO ACCESSIBLE VAULTS</div>'),gs=b('<div class="onepassword-panel svelte-k8hi4h"><!> <div class="op-row svelte-k8hi4h"><!> <button class="op-btn svelte-k8hi4h" data-focus-index="2"><!> <span> </span></button></div> <div class="op-options svelte-k8hi4h"><div class="op-option svelte-k8hi4h"><span class="op-option-label svelte-k8hi4h">PREFIX</span> <!></div> <label class="op-option op-option--check svelte-k8hi4h" for="op-overwrite"><!> <span class="op-option-label svelte-k8hi4h">OVERWRITE</span></label></div> <!> <div class="op-actions svelte-k8hi4h"><button class="op-btn svelte-k8hi4h" data-focus-index="3"><!> <span> </span></button> <button class="op-btn op-btn--danger svelte-k8hi4h" data-focus-index="4"><!> <span> </span></button></div> <div class="op-tip svelte-k8hi4h">TIP: MAP DIRECT REFS AS <code class="svelte-k8hi4h">op://vault/item/field</code></div></div>'),bs=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">N</kbd> ADD</span>'),ys=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">ESC</kbd> CANCEL</span>'),Es=b('<div class="secrets-page svelte-k8hi4h"><div class="tab-header svelte-k8hi4h"><div class="tab-header-left svelte-k8hi4h"><span class="tab-header-title svelte-k8hi4h">SECRETS</span> <span class="tab-header-count svelte-k8hi4h"> </span></div> <button class="new-secret-btn svelte-k8hi4h"><!> <span>ADD SECRET</span></button></div> <!> <div class="secrets-content svelte-k8hi4h"><div class="panel svelte-k8hi4h"><div class="panel-header svelte-k8hi4h"><span class="panel-pip svelte-k8hi4h" style="background: var(--sig-highlight)"></span> <span class="panel-label svelte-k8hi4h">Stored Secrets</span> <span class="panel-count svelte-k8hi4h"> </span></div> <div class="panel-body svelte-k8hi4h"><!></div></div> <div class="panel svelte-k8hi4h" role="group" aria-label="1Password integration"><div class="panel-header-row svelte-k8hi4h"><button class="panel-header panel-header--toggle svelte-k8hi4h"><!> <span class="panel-label svelte-k8hi4h">1Password</span> <span class="panel-status svelte-k8hi4h"> </span></button> <button class="panel-action svelte-k8hi4h" aria-label="Refresh 1Password status"><!></button></div> <!></div></div> <div class="shortcut-bar svelte-k8hi4h"><!></div></div>');function Os(L,m){ie(m,!0);let d=h(ne([])),D=h(!1),w=h(""),O=h(""),_=h(!1),E=h(null),R=h(!1),ue=h(!1),p=h(ne({configured:!1,connected:!1,vaults:[]})),Y=h(ne([])),j=h("");const B=ne({prefix:"OP",overwrite:!1});let pe=h(!1),fe=h(!1),he=h(!1),C=h(ne([])),X=h(!1),l=h(-1),f=h("list"),o=h(-1);async function me(){s(D,!0),s(d,await Gt(),!0),s(D,!1)}function nt(t){if(e(C).includes(t)){s(C,e(C).filter(a=>a!==t),!0);return}s(C,[...e(C),t],!0)}async function ke(){s(ue,!0);try{if(s(p,await jt(),!0),e(p).connected){const a=await Bt();s(Y,a.length>0?a:e(p).vaults,!0)}else s(Y,[],!0),s(C,[],!0);const t=new Set(e(Y).map(a=>a.id));s(C,e(C).filter(a=>t.has(a)),!0)}finally{s(ue,!1)}}async function ot(){if(!e(w).trim()||!e(O).trim())return;s(_,!0),await Wt(e(w).trim(),e(O))?(S(`Secret ${e(w).trim()} added`,"success"),s(w,""),s(O,""),s(R,!1),await me()):S("Failed to add secret","error"),s(_,!1)}async function lt(t){s(E,t,!0),await Jt(t)?(S(`Secret ${t} deleted`,"success"),await me()):S("Failed to delete secret","error"),s(E,null)}async function it(){if(!e(j).trim()){S("Service account token is required","error");return}s(pe,!0);const t=await Qt(e(j).trim());if(s(pe,!1),!t.success){S(t.error??"Failed to connect 1Password","error");return}s(j,""),await ke(),S("Connected to 1Password","success")}async function ct(){s(fe,!0);const t=await Zt();if(s(fe,!1),!t.success){S(t.error??"Failed to disconnect 1Password","error");return}await ke(),S("Disconnected 1Password","success")}async function dt(){if(!e(p).connected){S("Connect 1Password first","error");return}s(he,!0);const t=await Yt({vaults:e(C).length>0?e(C):void 0,prefix:B.prefix.trim()||"OP",overwrite:B.overwrite});if(s(he,!1),!t.success){S(t.error??"Failed to import from 1Password","error");return}await me();const a=t.importedCount??0,u=t.skippedCount??0,g=t.errorCount??0;S(`Imported ${a} secrets (skipped ${u}, errors ${g})`,"success")}function vt(t){if(Xt.activeTab!=="secrets"||t.defaultPrevented)return;const a=t.target,u=a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable;if(t.key==="Escape"){if(e(R)){t.preventDefault(),s(R,!1);return}if(e(f)==="1password"){t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1);return}t.preventDefault(),G();return}if(!u){if((t.key==="n"||t.key==="N")&&!e(R)){t.preventDefault(),s(R,!0);return}if(t.key==="ArrowRight"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),e(d).length>0?(s(l,0),V(0)):(s(f,"1password"),s(o,0),z(0))),t.key==="ArrowUp"&&e(f)==="list"&&e(l)>=0&&(t.preventDefault(),e(l)>0?(U(l,-1),V(e(l))):(s(l,-1),G())),t.key==="ArrowDown"&&e(f)==="list"){if(t.preventDefault(),e(l)<e(d).length-1)U(l),V(e(l));else if(e(l)===e(d).length-1){const g=document.querySelectorAll(".secret-item");g[e(l)]instanceof HTMLElement&&g[e(l)].blur(),s(f,"1password"),s(l,-1),s(o,0),z(0)}}if(t.key==="ArrowUp"&&e(f)==="1password"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"&&e(f)==="1password"){t.preventDefault();const g=_e(),y=Math.max(0,g.length-1);e(o)<y&&(U(o),z(e(o)))}t.key==="ArrowLeft"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),G())}}function V(t){const a=document.querySelectorAll(".secret-item");a[t]instanceof HTMLElement&&a[t].focus()}function _e(){const t=document.querySelector(".onepassword-panel");if(!t)return[];const a=t.querySelectorAll("[data-focus-index]");return Array.from(a).filter(u=>!u.disabled).sort((u,g)=>{const y=Number.parseInt(u.getAttribute("data-focus-index")??"0",10),P=Number.parseInt(g.getAttribute("data-focus-index")??"0",10);return y-P})}function z(t){const a=_e();if(a.length===0)return;const u=Math.min(t,a.length-1);a[u]?.focus()}function ut(t){if(t.key==="ArrowUp"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"){t.preventDefault();const a=_e(),u=Math.max(0,a.length-1);e(o)<u&&(U(o),z(e(o)))}if(t.key==="Escape"&&(t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1)),t.key==="Tab"){const a=_e(),u=Math.max(0,a.length-1);t.shiftKey&&e(o)>0?U(o,-1):!t.shiftKey&&e(o)<u&&U(o)}}function Z(t){s(o,t,!0),s(f,"1password")}function pt(t){s(l,t,!0),s(f,"list")}function ft(t,a){t.key==="ArrowDown"?(t.preventDefault(),t.stopPropagation(),a<e(d).length-1?(s(l,a+1),V(e(l))):(t.target.blur(),s(f,"1password"),s(l,-1),s(o,0),z(0))):t.key==="ArrowUp"?(t.preventDefault(),t.stopPropagation(),a>0?(s(l,a-1),V(e(l))):a===0&&(s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())):t.key==="ArrowLeft"&&(t.preventDefault(),t.stopPropagation(),s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())}const ht=le(()=>e(p).connected?"CONNECTED":e(p).configured?"UNREACHABLE":"NOT CONFIGURED"),mt=le(()=>e(p).connected?"var(--sig-success)":e(p).configured?"var(--sig-warning)":"var(--sig-text-muted)");Ut(()=>{me(),ke()});var De=Es();oe("keydown",Vt,vt);var Ce=n(De),Ae=n(Ce),He=i(n(Ae),2),kt=n(He);r(He),r(Ae);var Te=i(Ae,2),_t=n(Te);es(_t,{class:"size-3"}),Fe(2),r(Te),r(Ce);var Ue=i(Ce,2);{var wt=t=>{var a=cs(),u=n(a),g=n(u);be(g,{type:"text",class:"secrets-add-input",placeholder:"SECRET_NAME",get value(){return e(w)},set value(A){s(w,A,!0)}});var y=i(g,2);be(y,{type:"password",class:"secrets-add-input",placeholder:"value",get value(){return e(O)},set value(A){s(O,A,!0)}});var P=i(y,2),x=n(P,!0);r(P),r(u),r(a),q(A=>{P.disabled=A,N(x,e(_)?"ADDING...":"ADD")},[()=>e(_)||!e(w).trim()||!e(O).trim()]),M("click",P,ot),v(t,a)};$(Ue,t=>{e(R)&&t(wt)})}var Ie=i(Ue,2),Ne=n(Ie),Oe=n(Ne),Ve=i(n(Oe),4),gt=n(Ve,!0);r(Ve),r(Oe);var ze=i(Oe,2),bt=n(ze);{var yt=t=>{var a=ds();v(t,a)},Et=t=>{var a=vs();v(t,a)},Pt=t=>{var a=ce(),u=de(a);tt(u,17,()=>e(d),st,(g,y,P)=>{var x=ps();let A;var H=n(x);os(H,{class:"secrets-secret-icon"});var W=i(H,2),ge=n(W,!0);r(W);var K=i(W,4),te=n(K);{var se=T=>{var Re=us();v(T,Re)},Le=T=>{ss(T,{class:"size-3"})};$(te,T=>{e(E)===e(y)?T(se):T(Le,-1)})}r(K),r(x),q(()=>{A=Kt(x,1,"secret-item svelte-k8hi4h",null,A,{"secret-item--focused":e(f)==="list"&&e(l)===P}),N(ge,e(y)),K.disabled=e(E)===e(y),et(K,"aria-label",`Delete secret ${e(y)}`)}),M("keydown",x,T=>ft(T,P)),oe("focus",x,()=>pt(P)),M("click",K,()=>lt(e(y))),v(g,x)}),v(t,a)};$(bt,t=>{e(D)?t(yt):e(d).length===0?t(Et,1):t(Pt,-1)})}r(ze),r(Ne);var Ke=i(Ne,2),$e=n(Ke),ee=n($e),qe=n(ee);{var xt=t=>{as(t,{class:"secrets-panel-chevron"})},St=t=>{rs(t,{class:"secrets-panel-chevron"})};$(qe,t=>{e(X)?t(xt):t(St,-1)})}var Me=i(qe,4),Dt=n(Me,!0);r(Me),r(ee);var we=i(ee,2),Ct=n(we);{let t=le(()=>`size-3${e(ue)?" op-spin":""}`);ts(Ct,{get class(){return e(t)}})}r(we),r($e);var At=i($e,2);{var Tt=t=>{var a=gs(),u=n(a);{var g=c=>{var k=fs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).vaultCount??""} vaults`)),v(I,F)};$(Q,I=>{typeof e(p).vaultCount=="number"&&I(re)})}r(k),v(c,k)},y=c=>{var k=hs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).error??""}`)),v(I,F)};$(Q,I=>{e(p).error&&I(re)})}r(k),v(c,k)},P=c=>{var k=ms();v(c,k)};$(u,c=>{e(p).connected?c(g):e(p).configured?c(y,1):c(P,-1)})}var x=i(u,2),A=n(x);{let c=le(()=>e(p).connected?"Replace service account token":"Service account token");be(A,{type:"password","data-focus-index":"0",class:"secrets-op-input",get placeholder(){return e(c)},onfocus:()=>Z(0),get value(){return e(j)},set value(k){s(j,k,!0)}})}var H=i(A,2),W=n(H);ls(W,{class:"size-3"});var ge=i(W,2),K=n(ge,!0);r(ge),r(H),r(x);var te=i(x,2),se=n(te),Le=i(n(se),2);be(Le,{type:"text","data-focus-index":"1",class:"secrets-op-input-sm",placeholder:"OP",onfocus:()=>Z(1),get value(){return B.prefix},set value(c){B.prefix=c}}),r(se);var T=i(se,2),Re=n(T);rt(Re,{id:"op-overwrite",class:"secrets-op-checkbox",get checked(){return B.overwrite},set checked(c){B.overwrite=c}}),Fe(2),r(T),r(te);var je=i(te,2);{var $t=c=>{var k=_s(),Q=i(n(k),2);tt(Q,21,()=>e(Y),st,(re,I)=>{var F=ks(),Ye=n(F);{let Ht=le(()=>e(C).includes(e(I).id));rt(Ye,{get checked(){return e(Ht)},onCheckedChange:()=>nt(e(I).id),class:"secrets-op-checkbox"})}var Ze=i(Ye,2),Ft=n(Ze,!0);r(Ze),r(F),q(()=>N(Ft,e(I).name)),v(re,F)}),r(Q),r(k),v(c,k)},Mt=c=>{var k=ws();v(c,k)};$(je,c=>{e(p).connected&&e(Y).length>0?c($t):e(p).connected&&c(Mt,1)})}var Be=i(je,2),J=n(Be),Xe=n(J);ns(Xe,{class:"size-3"});var We=i(Xe,2),Lt=n(We,!0);r(We),r(J);var ae=i(J,2),Je=n(ae);is(Je,{class:"size-3"});var Qe=i(Je,2),Rt=n(Qe,!0);r(Qe),r(ae),r(Be),Fe(2),r(a),q(c=>{H.disabled=c,N(K,e(pe)?"...":e(p).connected?"UPDATE":"CONNECT"),J.disabled=e(he)||!e(p).connected,N(Lt,e(he)?"IMPORTING...":"IMPORT"),ae.disabled=e(fe)||!e(p).configured,N(Rt,e(fe)?"...":"DISCONNECT")},[()=>e(pe)||!e(j).trim()]),M("keydown",a,ut),M("click",H,it),oe("focus",H,()=>Z(2)),M("click",J,dt),oe("focus",J,()=>Z(3)),M("click",ae,ct),oe("focus",ae,()=>Z(4)),v(t,a)};$(At,t=>{e(X)&&t(Tt)})}r(Ke),r(Ie);var Ge=i(Ie,2),It=n(Ge);{var Nt=t=>{var a=bs();v(t,a)},Ot=t=>{var a=ys();v(t,a)};$(It,t=>{e(R)?t(Ot,-1):t(Nt)})}r(Ge),r(De),q(()=>{N(kt,`${e(d).length??""} STORED`),N(gt,e(d).length),et(ee,"aria-expanded",e(X)),zt(Me,`color: ${e(mt)??""}`),N(Dt,e(ht)),we.disabled=e(ue)}),M("click",Te,()=>{s(R,!e(R))}),M("click",ee,()=>{s(X,!e(X)),e(X)||(s(o,-1),s(f,"list"))}),M("click",we,()=>ke()),v(L,De),ve()}qt(["click","keydown"]);export{Os as default};
|
|
1
|
+
import{p as ie,s as ye,c as ce,f as de,a as Ee,n as Pe,b as v,d as ve,r as xe,o as h,e as ne,q as Ut,N as oe,$ as Vt,j as n,t as i,l as r,w as Fe,k as $,i as e,y as q,z as N,D as et,a9 as zt,O as M,v as s,aj as U,u as le,A as tt,B as Kt,K as st,m as b,P as qt,x as at}from"./KKQFryJf.js";import{I as Se,af as Gt,ag as jt,ah as Bt,n as Xt,ai as G,aj as Wt,t as S,ak as Jt,al as Qt,am as Yt,an as Zt}from"./DIA23n0a.js";import{C as rt}from"./AfWQoUE8.js";import{I as be}from"./BuMdvLzL.js";import{P as es}from"./DTGTXMsP.js";import{R as ts}from"./CyKvO7lF.js";import{T as ss}from"./YGwRROBb.js";import{C as as}from"./VYe6FewO.js";import{C as rs}from"./BW36llce.js";function ns(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M12 3v12"}],["path",{d:"m8 11 4 4 4-4"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"}]];Se(L,ye({name:"import"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function os(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];Se(L,ye({name:"key-round"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function ls(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];Se(L,ye({name:"link"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}function is(L,m){ie(m,!0);let d=xe(m,["$$slots","$$events","$$legacy"]);const D=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16"}]];Se(L,ye({name:"unlink"},()=>d,{get iconNode(){return D},children:(w,O)=>{var _=ce(),E=de(_);Ee(E,()=>m.children??Pe),v(w,_)},$$slots:{default:!0}})),ve()}var cs=b('<div class="add-form svelte-k8hi4h"><div class="add-form-row svelte-k8hi4h"><!> <!> <button class="add-submit svelte-k8hi4h"> </button></div></div>'),ds=b('<div class="panel-empty svelte-k8hi4h">LOADING</div>'),vs=b('<div class="panel-empty svelte-k8hi4h"><span>NO SECRETS STORED</span> <span class="panel-empty-hint svelte-k8hi4h">PRESS N TO ADD ONE</span></div>'),us=b('<span class="secret-delete-text svelte-k8hi4h">...</span>'),ps=b('<div tabindex="0" role="listitem"><!> <span class="secret-name svelte-k8hi4h"> </span> <span class="secret-mask svelte-k8hi4h">········</span> <button class="secret-delete svelte-k8hi4h"><!></button></div>'),fs=b('<div class="op-status op-status--ok svelte-k8hi4h">Connected<!></div>'),hs=b('<div class="op-status op-status--warn svelte-k8hi4h">Token saved but unreachable<!></div>'),ms=b('<div class="op-status svelte-k8hi4h">Connect a 1Password service account to import secrets</div>'),ks=b('<label class="op-vault svelte-k8hi4h"><!> <span class="op-vault-name svelte-k8hi4h"> </span></label>'),_s=b('<div class="op-vaults svelte-k8hi4h"><span class="op-vaults-label svelte-k8hi4h">VAULTS</span> <div class="op-vault-list svelte-k8hi4h"></div></div>'),ws=b('<div class="op-vaults-empty svelte-k8hi4h">NO ACCESSIBLE VAULTS</div>'),gs=b('<div class="onepassword-panel svelte-k8hi4h"><!> <div class="op-row svelte-k8hi4h"><!> <button class="op-btn svelte-k8hi4h" data-focus-index="2"><!> <span> </span></button></div> <div class="op-options svelte-k8hi4h"><div class="op-option svelte-k8hi4h"><span class="op-option-label svelte-k8hi4h">PREFIX</span> <!></div> <label class="op-option op-option--check svelte-k8hi4h" for="op-overwrite"><!> <span class="op-option-label svelte-k8hi4h">OVERWRITE</span></label></div> <!> <div class="op-actions svelte-k8hi4h"><button class="op-btn svelte-k8hi4h" data-focus-index="3"><!> <span> </span></button> <button class="op-btn op-btn--danger svelte-k8hi4h" data-focus-index="4"><!> <span> </span></button></div> <div class="op-tip svelte-k8hi4h">TIP: MAP DIRECT REFS AS <code class="svelte-k8hi4h">op://vault/item/field</code></div></div>'),bs=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">N</kbd> ADD</span>'),ys=b('<span class="shortcut svelte-k8hi4h"><kbd class="svelte-k8hi4h">ESC</kbd> CANCEL</span>'),Es=b('<div class="secrets-page svelte-k8hi4h"><div class="tab-header svelte-k8hi4h"><div class="tab-header-left svelte-k8hi4h"><span class="tab-header-title svelte-k8hi4h">SECRETS</span> <span class="tab-header-count svelte-k8hi4h"> </span></div> <button class="new-secret-btn svelte-k8hi4h"><!> <span>ADD SECRET</span></button></div> <!> <div class="secrets-content svelte-k8hi4h"><div class="panel svelte-k8hi4h"><div class="panel-header svelte-k8hi4h"><span class="panel-pip svelte-k8hi4h" style="background: var(--sig-highlight)"></span> <span class="panel-label svelte-k8hi4h">Stored Secrets</span> <span class="panel-count svelte-k8hi4h"> </span></div> <div class="panel-body svelte-k8hi4h"><!></div></div> <div class="panel svelte-k8hi4h" role="group" aria-label="1Password integration"><div class="panel-header-row svelte-k8hi4h"><button class="panel-header panel-header--toggle svelte-k8hi4h"><!> <span class="panel-label svelte-k8hi4h">1Password</span> <span class="panel-status svelte-k8hi4h"> </span></button> <button class="panel-action svelte-k8hi4h" aria-label="Refresh 1Password status"><!></button></div> <!></div></div> <div class="shortcut-bar svelte-k8hi4h"><!></div></div>');function Os(L,m){ie(m,!0);let d=h(ne([])),D=h(!1),w=h(""),O=h(""),_=h(!1),E=h(null),R=h(!1),ue=h(!1),p=h(ne({configured:!1,connected:!1,vaults:[]})),Y=h(ne([])),j=h("");const B=ne({prefix:"OP",overwrite:!1});let pe=h(!1),fe=h(!1),he=h(!1),C=h(ne([])),X=h(!1),l=h(-1),f=h("list"),o=h(-1);async function me(){s(D,!0),s(d,await Gt(),!0),s(D,!1)}function nt(t){if(e(C).includes(t)){s(C,e(C).filter(a=>a!==t),!0);return}s(C,[...e(C),t],!0)}async function ke(){s(ue,!0);try{if(s(p,await jt(),!0),e(p).connected){const a=await Bt();s(Y,a.length>0?a:e(p).vaults,!0)}else s(Y,[],!0),s(C,[],!0);const t=new Set(e(Y).map(a=>a.id));s(C,e(C).filter(a=>t.has(a)),!0)}finally{s(ue,!1)}}async function ot(){if(!e(w).trim()||!e(O).trim())return;s(_,!0),await Wt(e(w).trim(),e(O))?(S(`Secret ${e(w).trim()} added`,"success"),s(w,""),s(O,""),s(R,!1),await me()):S("Failed to add secret","error"),s(_,!1)}async function lt(t){s(E,t,!0),await Jt(t)?(S(`Secret ${t} deleted`,"success"),await me()):S("Failed to delete secret","error"),s(E,null)}async function it(){if(!e(j).trim()){S("Service account token is required","error");return}s(pe,!0);const t=await Qt(e(j).trim());if(s(pe,!1),!t.success){S(t.error??"Failed to connect 1Password","error");return}s(j,""),await ke(),S("Connected to 1Password","success")}async function ct(){s(fe,!0);const t=await Zt();if(s(fe,!1),!t.success){S(t.error??"Failed to disconnect 1Password","error");return}await ke(),S("Disconnected 1Password","success")}async function dt(){if(!e(p).connected){S("Connect 1Password first","error");return}s(he,!0);const t=await Yt({vaults:e(C).length>0?e(C):void 0,prefix:B.prefix.trim()||"OP",overwrite:B.overwrite});if(s(he,!1),!t.success){S(t.error??"Failed to import from 1Password","error");return}await me();const a=t.importedCount??0,u=t.skippedCount??0,g=t.errorCount??0;S(`Imported ${a} secrets (skipped ${u}, errors ${g})`,"success")}function vt(t){if(Xt.activeTab!=="secrets"||t.defaultPrevented)return;const a=t.target,u=a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable;if(t.key==="Escape"){if(e(R)){t.preventDefault(),s(R,!1);return}if(e(f)==="1password"){t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1);return}t.preventDefault(),G();return}if(!u){if((t.key==="n"||t.key==="N")&&!e(R)){t.preventDefault(),s(R,!0);return}if(t.key==="ArrowRight"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),e(d).length>0?(s(l,0),V(0)):(s(f,"1password"),s(o,0),z(0))),t.key==="ArrowUp"&&e(f)==="list"&&e(l)>=0&&(t.preventDefault(),e(l)>0?(U(l,-1),V(e(l))):(s(l,-1),G())),t.key==="ArrowDown"&&e(f)==="list"){if(t.preventDefault(),e(l)<e(d).length-1)U(l),V(e(l));else if(e(l)===e(d).length-1){const g=document.querySelectorAll(".secret-item");g[e(l)]instanceof HTMLElement&&g[e(l)].blur(),s(f,"1password"),s(l,-1),s(o,0),z(0)}}if(t.key==="ArrowUp"&&e(f)==="1password"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"&&e(f)==="1password"){t.preventDefault();const g=_e(),y=Math.max(0,g.length-1);e(o)<y&&(U(o),z(e(o)))}t.key==="ArrowLeft"&&e(f)==="list"&&e(l)===-1&&(t.preventDefault(),G())}}function V(t){const a=document.querySelectorAll(".secret-item");a[t]instanceof HTMLElement&&a[t].focus()}function _e(){const t=document.querySelector(".onepassword-panel");if(!t)return[];const a=t.querySelectorAll("[data-focus-index]");return Array.from(a).filter(u=>!u.disabled).sort((u,g)=>{const y=Number.parseInt(u.getAttribute("data-focus-index")??"0",10),P=Number.parseInt(g.getAttribute("data-focus-index")??"0",10);return y-P})}function z(t){const a=_e();if(a.length===0)return;const u=Math.min(t,a.length-1);a[u]?.focus()}function ut(t){if(t.key==="ArrowUp"&&(t.preventDefault(),e(o)>0?(U(o,-1),z(e(o))):e(o)===0&&e(d).length>0?(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,e(d).length-1),s(o,-1),V(e(l))):e(o)===0&&e(d).length===0&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(o,-1),G())),t.key==="ArrowDown"){t.preventDefault();const a=_e(),u=Math.max(0,a.length-1);e(o)<u&&(U(o),z(e(o)))}if(t.key==="Escape"&&(t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s(f,"list"),s(l,-1),s(o,-1)),t.key==="Tab"){const a=_e(),u=Math.max(0,a.length-1);t.shiftKey&&e(o)>0?U(o,-1):!t.shiftKey&&e(o)<u&&U(o)}}function Z(t){s(o,t,!0),s(f,"1password")}function pt(t){s(l,t,!0),s(f,"list")}function ft(t,a){t.key==="ArrowDown"?(t.preventDefault(),t.stopPropagation(),a<e(d).length-1?(s(l,a+1),V(e(l))):(t.target.blur(),s(f,"1password"),s(l,-1),s(o,0),z(0))):t.key==="ArrowUp"?(t.preventDefault(),t.stopPropagation(),a>0?(s(l,a-1),V(e(l))):a===0&&(s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())):t.key==="ArrowLeft"&&(t.preventDefault(),t.stopPropagation(),s(l,-1),t.target instanceof HTMLElement&&t.target.blur(),G())}const ht=le(()=>e(p).connected?"CONNECTED":e(p).configured?"UNREACHABLE":"NOT CONFIGURED"),mt=le(()=>e(p).connected?"var(--sig-success)":e(p).configured?"var(--sig-warning)":"var(--sig-text-muted)");Ut(()=>{me(),ke()});var De=Es();oe("keydown",Vt,vt);var Ce=n(De),Ae=n(Ce),He=i(n(Ae),2),kt=n(He);r(He),r(Ae);var Te=i(Ae,2),_t=n(Te);es(_t,{class:"size-3"}),Fe(2),r(Te),r(Ce);var Ue=i(Ce,2);{var wt=t=>{var a=cs(),u=n(a),g=n(u);be(g,{type:"text",class:"secrets-add-input",placeholder:"SECRET_NAME",get value(){return e(w)},set value(A){s(w,A,!0)}});var y=i(g,2);be(y,{type:"password",class:"secrets-add-input",placeholder:"value",get value(){return e(O)},set value(A){s(O,A,!0)}});var P=i(y,2),x=n(P,!0);r(P),r(u),r(a),q(A=>{P.disabled=A,N(x,e(_)?"ADDING...":"ADD")},[()=>e(_)||!e(w).trim()||!e(O).trim()]),M("click",P,ot),v(t,a)};$(Ue,t=>{e(R)&&t(wt)})}var Ie=i(Ue,2),Ne=n(Ie),Oe=n(Ne),Ve=i(n(Oe),4),gt=n(Ve,!0);r(Ve),r(Oe);var ze=i(Oe,2),bt=n(ze);{var yt=t=>{var a=ds();v(t,a)},Et=t=>{var a=vs();v(t,a)},Pt=t=>{var a=ce(),u=de(a);tt(u,17,()=>e(d),st,(g,y,P)=>{var x=ps();let A;var H=n(x);os(H,{class:"secrets-secret-icon"});var W=i(H,2),ge=n(W,!0);r(W);var K=i(W,4),te=n(K);{var se=T=>{var Re=us();v(T,Re)},Le=T=>{ss(T,{class:"size-3"})};$(te,T=>{e(E)===e(y)?T(se):T(Le,-1)})}r(K),r(x),q(()=>{A=Kt(x,1,"secret-item svelte-k8hi4h",null,A,{"secret-item--focused":e(f)==="list"&&e(l)===P}),N(ge,e(y)),K.disabled=e(E)===e(y),et(K,"aria-label",`Delete secret ${e(y)}`)}),M("keydown",x,T=>ft(T,P)),oe("focus",x,()=>pt(P)),M("click",K,()=>lt(e(y))),v(g,x)}),v(t,a)};$(bt,t=>{e(D)?t(yt):e(d).length===0?t(Et,1):t(Pt,-1)})}r(ze),r(Ne);var Ke=i(Ne,2),$e=n(Ke),ee=n($e),qe=n(ee);{var xt=t=>{as(t,{class:"secrets-panel-chevron"})},St=t=>{rs(t,{class:"secrets-panel-chevron"})};$(qe,t=>{e(X)?t(xt):t(St,-1)})}var Me=i(qe,4),Dt=n(Me,!0);r(Me),r(ee);var we=i(ee,2),Ct=n(we);{let t=le(()=>`size-3${e(ue)?" op-spin":""}`);ts(Ct,{get class(){return e(t)}})}r(we),r($e);var At=i($e,2);{var Tt=t=>{var a=gs(),u=n(a);{var g=c=>{var k=fs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).vaultCount??""} vaults`)),v(I,F)};$(Q,I=>{typeof e(p).vaultCount=="number"&&I(re)})}r(k),v(c,k)},y=c=>{var k=hs(),Q=i(n(k));{var re=I=>{var F=at();q(()=>N(F,`· ${e(p).error??""}`)),v(I,F)};$(Q,I=>{e(p).error&&I(re)})}r(k),v(c,k)},P=c=>{var k=ms();v(c,k)};$(u,c=>{e(p).connected?c(g):e(p).configured?c(y,1):c(P,-1)})}var x=i(u,2),A=n(x);{let c=le(()=>e(p).connected?"Replace service account token":"Service account token");be(A,{type:"password","data-focus-index":"0",class:"secrets-op-input",get placeholder(){return e(c)},onfocus:()=>Z(0),get value(){return e(j)},set value(k){s(j,k,!0)}})}var H=i(A,2),W=n(H);ls(W,{class:"size-3"});var ge=i(W,2),K=n(ge,!0);r(ge),r(H),r(x);var te=i(x,2),se=n(te),Le=i(n(se),2);be(Le,{type:"text","data-focus-index":"1",class:"secrets-op-input-sm",placeholder:"OP",onfocus:()=>Z(1),get value(){return B.prefix},set value(c){B.prefix=c}}),r(se);var T=i(se,2),Re=n(T);rt(Re,{id:"op-overwrite",class:"secrets-op-checkbox",get checked(){return B.overwrite},set checked(c){B.overwrite=c}}),Fe(2),r(T),r(te);var je=i(te,2);{var $t=c=>{var k=_s(),Q=i(n(k),2);tt(Q,21,()=>e(Y),st,(re,I)=>{var F=ks(),Ye=n(F);{let Ht=le(()=>e(C).includes(e(I).id));rt(Ye,{get checked(){return e(Ht)},onCheckedChange:()=>nt(e(I).id),class:"secrets-op-checkbox"})}var Ze=i(Ye,2),Ft=n(Ze,!0);r(Ze),r(F),q(()=>N(Ft,e(I).name)),v(re,F)}),r(Q),r(k),v(c,k)},Mt=c=>{var k=ws();v(c,k)};$(je,c=>{e(p).connected&&e(Y).length>0?c($t):e(p).connected&&c(Mt,1)})}var Be=i(je,2),J=n(Be),Xe=n(J);ns(Xe,{class:"size-3"});var We=i(Xe,2),Lt=n(We,!0);r(We),r(J);var ae=i(J,2),Je=n(ae);is(Je,{class:"size-3"});var Qe=i(Je,2),Rt=n(Qe,!0);r(Qe),r(ae),r(Be),Fe(2),r(a),q(c=>{H.disabled=c,N(K,e(pe)?"...":e(p).connected?"UPDATE":"CONNECT"),J.disabled=e(he)||!e(p).connected,N(Lt,e(he)?"IMPORTING...":"IMPORT"),ae.disabled=e(fe)||!e(p).configured,N(Rt,e(fe)?"...":"DISCONNECT")},[()=>e(pe)||!e(j).trim()]),M("keydown",a,ut),M("click",H,it),oe("focus",H,()=>Z(2)),M("click",J,dt),oe("focus",J,()=>Z(3)),M("click",ae,ct),oe("focus",ae,()=>Z(4)),v(t,a)};$(At,t=>{e(X)&&t(Tt)})}r(Ke),r(Ie);var Ge=i(Ie,2),It=n(Ge);{var Nt=t=>{var a=bs();v(t,a)},Ot=t=>{var a=ys();v(t,a)};$(It,t=>{e(R)?t(Ot,-1):t(Nt)})}r(Ge),r(De),q(()=>{N(kt,`${e(d).length??""} STORED`),N(gt,e(d).length),et(ee,"aria-expanded",e(X)),zt(Me,`color: ${e(mt)??""}`),N(Dt,e(ht)),we.disabled=e(ue)}),M("click",Te,()=>{s(R,!e(R))}),M("click",ee,()=>{s(X,!e(X)),e(X)||(s(o,-1),s(f,"list"))}),M("click",we,()=>ke()),v(L,De),ve()}qt(["click","keydown"]);export{Os as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as _,g as d,c as y,f as C,h as w,s as z,i as j,C as M,b as u,d as P,r as q,j as A,k as B,l as D,u as E,m as F}from"./KKQFryJf.js";import{c as G,M as H}from"./
|
|
1
|
+
import{p as _,g as d,c as y,f as C,h as w,s as z,i as j,C as M,b as u,d as P,r as q,j as A,k as B,l as D,u as E,m as F}from"./KKQFryJf.js";import{c as G,M as H}from"./DIA23n0a.js";import{C as I}from"./DiTm5Saa.js";var J=F('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function O(f,t){_(t,!0);let n=d(t,"ref",15,null),c=d(t,"checked",15,!1),o=d(t,"indeterminate",15,!1),h=q(t,["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]);var l=y(),m=C(l);{const k=(s,a)=>{let e=()=>a?.().checked,b=()=>a?.().indeterminate;var i=J(),p=A(i);{var g=r=>{I(r,{class:"size-3.5"})},x=r=>{H(r,{class:"size-3.5"})};B(p,r=>{e()?r(g):b()&&r(x,1)})}D(i),u(s,i)};let v=E(()=>G("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t.class));w(m,()=>M,(s,a)=>{a(s,z({"data-slot":"checkbox",get class(){return j(v)}},()=>h,{get ref(){return n()},set ref(e){n(e)},get checked(){return c()},set checked(e){c(e)},get indeterminate(){return o()},set indeterminate(e){o(e)},children:k,$$slots:{default:!0}}))})}u(f,l),P()}export{O as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as i,g as c,c as u,f,h as m,L as g,s as b,i as v,b as L,d as _,r as h,u as x}from"./KKQFryJf.js";import{c as y}from"./
|
|
1
|
+
import{p as i,g as c,c as u,f,h as m,L as g,s as b,i as v,b as L,d as _,r as h,u as x}from"./KKQFryJf.js";import{c as y}from"./DIA23n0a.js";function P(t,e){i(e,!0);let a=c(e,"ref",15,null),r=h(e,["$$slots","$$events","$$legacy","ref","class"]);var s=u(),o=f(s);{let n=x(()=>y("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e.class));m(o,()=>g,(l,d)=>{d(l,b({"data-slot":"label",get class(){return v(n)}},()=>r,{get ref(){return a()},set ref(p){a(p)}}))})}L(t,s),_()}export{P as L};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as ve,g as Ae,t as n,j as s,l as t,w as Ce,A as _e,y as Q,z as y,i as e,a9 as ie,b as m,K as De,d as ce,u as _,m as x,o as P,e as le,ar as nt,q as Re,v as A,k as oe,O as he,D as Oe,N as it,as as lt,x as We,P as Ne,s as ze,c as Ke,f as qe,a as ot,n as vt,r as Je,Q as Qe,h as we,at as ct,E as He,F as dt}from"./KKQFryJf.js";import{l as ut,m as pt,aR as ft,aS as gt,n as mt,I as ht,aT as Xe,o as ke,B as _t,aU as Be,t as me,R as yt,aV as St,aW as xt,aB as bt,a as wt}from"./BUiRPKJL.js";import{f as Mt,a as Et,s as Fe,m as Ve,g as Tt,b as It,c as Ye,d as At}from"./C2mvAyn4.js";import{P as Ct,a as kt,b as Nt}from"./kIRkTTxG.js";import{T as jt}from"./BvCNR9cw.js";import{R as Dt}from"./BiM6N9Na.js";function Ze(I){return I.trim()||"default"}function Ot(I,i,o){const d=new URLSearchParams({agent_id:Ze(o),include_self:"true",limit:String(i)});return`${I}/api/cross-agent/presence?${d.toString()}`}function et(I,i){const o=Ze(i);return I.filter(d=>d.agentId===o)}function Rt(I,i){const o=et(I,i).filter(d=>!Number.isNaN(new Date(d.lastSeenAt).getTime()));return o.length===0?null:[...o].sort((d,S)=>new Date(S.lastSeenAt).getTime()-new Date(d.lastSeenAt).getTime())[0]??null}async function qt(I,i,o){try{const d=await fetch(Ot(I,i,o));if(!d.ok)return[];const S=await d.json();return et(S.sessions??[],o)}catch{return[]}}var Pt=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>'),Lt=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>'),Ut=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 $t(I,i){ve(i,!0);const o=Ae(i,"diagnostics",3,null),d=Ae(i,"pipelineStatus",3,null),S=Ae(i,"memoryStats",3,null),D=_(()=>{const b=i.daemonStatus?.agentCreatedAt;if(!b)return null;const M=new Date(b).getTime();return Number.isNaN(M)?null:Math.max(0,Math.floor((Date.now()-M)/864e5))}),j=_(()=>e(D)===null?"--":e(D)===0?"TODAY":e(D)===1?"1 DAY":`${e(D)} DAYS`),L=_(()=>i.daemonStatus?.activeSessions??0),k=_(()=>i.daemonStatus?.version??"--"),O=_(()=>Rt(i.presence,i.agentId)),$=_(()=>{if(i.continuity.length===0)return null;const b=i.continuity.filter(T=>!Number.isNaN(new Date(T.created_at).getTime()));return b.length===0?null:[...b].sort((T,C)=>new Date(C.created_at).getTime()-new Date(T.created_at).getTime())[0]});function W(b){const M=Date.now()-new Date(b).getTime(),T=Math.floor(M/6e4);if(T<1)return"JUST NOW";if(T<60)return`${T}M AGO`;const C=Math.floor(T/60);return C<24?`${C}H AGO`:`${Math.floor(C/24)}D AGO`}const X=_(()=>e(O)?.project??e($)?.project??null),ee=_(()=>e(O)?.lastSeenAt??e($)?.created_at??null),z=_(()=>e(X)?.replace(/\/$/,"").split("/").pop()??"--"),V=_(()=>e(ee)?W(e(ee)):"--"),K=_(()=>i.identity.name?.trim()||"SIGNET AGENT"),Z=_(()=>o()?.composite?.score??null),g=_(()=>o()?.composite?.status??"UNKNOWN"),u=_(()=>o()?.index?.embeddingCoverage!==void 0?Math.round(o().index.embeddingCoverage*100):!S()||S().total===0?null:Math.round(S().withEmbeddings/S().total*100)),q=_(()=>d()?typeof d().mode=="string"?d().mode.toUpperCase():"ACTIVE":"UNKNOWN"),l=_(()=>{if(!o())return 0;let b=0;const M=["queue","storage","index","provider","connector","predictor"];for(const T of M){const C=o()[T];if(C&&typeof C=="object"&&"status"in C){const R=C.status;(R==="degraded"||R==="unhealthy")&&b++}}return b});function h(b){return b===null?"var(--sig-text-muted)":b>=.8?"var(--sig-success)":b>=.5?"var(--sig-warning)":"var(--sig-danger)"}const B=_(()=>[{idx:"01",label:"UPTIME",value:e(j)},{idx:"02",label:"PROJECT",value:e(z)},{idx:"03",label:"LAST SEEN",value:e(V)},{idx:"04",label:"CONNECTORS",value:String(i.connectorCount)},{idx:"05",label:"SESSIONS",value:String(e(L))}]),E=_(()=>[{idx:"06",label:"HEALTH",value:e(Z)!==null?`${e(Z).toFixed(2)} ${e(g).toUpperCase()}`:"--",color:h(e(Z))},{idx:"07",label:"EMBEDDED",value:e(u)!==null?`${e(u)}%`:"--"},{idx:"08",label:"PIPELINE",value:e(q)},{idx:"09",label:"WARNINGS",value:String(e(l)),color:e(l)>0?"var(--sig-danger)":void 0}]);var a=Ut(),v=n(s(a),2),w=s(v),U=n(s(w),2),r=s(U);t(U),t(w);var c=n(w,2),p=s(c),f=s(p,!0);t(p);var F=n(p,2),G=s(F),J=s(G,!0);t(G),Ce(2),t(F),t(c);var Y=n(c,4),H=s(Y);_e(H,21,()=>e(B),De,(b,M)=>{var T=Pt(),C=s(T),R=s(C,!0);t(C);var N=n(C,2),se=s(N,!0);t(N);var ae=n(N,4),re=s(ae,!0);t(ae),t(T),Q(()=>{y(R,e(M).idx),y(se,e(M).label),ie(ae,e(M).color?`color: ${e(M).color}`:""),y(re,e(M).value)}),m(b,T)}),t(H);var te=n(H,2);_e(te,21,()=>e(E),De,(b,M)=>{var T=Lt(),C=s(T),R=s(C,!0);t(C);var N=n(C,2),se=s(N,!0);t(N);var ae=n(N,4),re=s(ae,!0);t(ae),t(T),Q(()=>{y(R,e(M).idx),y(se,e(M).label),ie(ae,e(M).color?`color: ${e(M).color}`:""),y(re,e(M).value)}),m(b,T)}),t(te),t(Y),t(v),t(a),Q(b=>{y(r,`v${e(k)??""}`),y(f,e(K)),y(J,b)},[()=>i.memoryCount.toLocaleString()]),m(I,a),ce()}var Gt=x('<div class="empty-state svelte-6whpsi">LOADING USAGE...</div>'),Ht=x('<div class="empty-state svelte-6whpsi">NO TRACKED USAGE YET</div>'),Bt=x('<img class="spotlight-avatar svelte-6whpsi"/>'),Ft=x('<button type="button" class="spotlight-card svelte-6whpsi"><div class="spotlight-top svelte-6whpsi"><div class="spotlight-icon svelte-6whpsi"><!></div> <div class="spotlight-meta svelte-6whpsi"><span class="spotlight-name svelte-6whpsi"> </span> <span class="spotlight-badge svelte-6whpsi"> </span></div></div> <p class="spotlight-desc svelte-6whpsi"> </p> <p class="spotlight-usage svelte-6whpsi"> </p></button>'),Vt=x('<div class="spotlights-grid svelte-6whpsi"></div>'),Yt=x('<div class="spotlights-panel sig-panel svelte-6whpsi"><div class="spotlights-header sig-panel-header svelte-6whpsi"><span class="spotlights-title svelte-6whpsi">MOST USED SKILLS & SERVERS</span> <span class="spotlights-count svelte-6whpsi">LAST 30 DAYS</span></div> <!></div>');function Wt(I,i){ve(i,!0);const o=6,d=3,S=new Date(Date.now()-30*864e5).toISOString();let D=P(!1),j=P(le([])),L=P(le([])),k=P(null),O=P(null);const $=new nt;Re(async()=>{const l=await Promise.allSettled([Mt(),Et(5),ut(),pt(),ft({since:S,limit:d}),gt({since:S,limit:d})]);l[2]?.status==="fulfilled"&&A(j,l[2].value,!0),l[3]?.status==="fulfilled"&&A(L,l[3].value.servers,!0),l[4]?.status==="fulfilled"&&A(k,l[4].value,!0),l[5]?.status==="fulfilled"&&A(O,l[5].value,!0),A(D,!0)});const W=_(()=>{const l=new Map;for(const a of e(j))l.set(a.name.toLowerCase(),{name:a.name,description:a.description});for(const a of Fe.catalog){const v=a.name.toLowerCase();l.has(v)||l.set(v,{name:a.name,description:a.description})}const h=new Map;for(const a of e(L))h.set(a.id,{name:a.name,description:a.description});for(const a of Ve.catalog)h.has(a.id)||h.set(a.id,{name:a.name,description:a.description});const B=(e(k)?.topSkills??[]).slice(0,d).map(a=>{const v=l.get(a.skillName.toLowerCase());return{kind:"skill",id:a.skillName,name:v?.name??a.skillName,description:v?.description??"Tracked from real skill invocation history.",count:a.count}}),E=(e(O)?.topServers??[]).slice(0,d).map(a=>{const v=h.get(a.serverId);return{kind:"mcp",id:a.serverId,name:v?.name??a.serverId,description:v?.description??"Tracked from real MCP server invocation history.",count:a.count}});return[...B,...E].slice(0,o)});function X(l){return l.kind==="skill"?`sk:${l.id}`:`mcp:${l.id}`}function ee(l){return l.kind==="skill"?"SKILL":"MCP"}function z(l){if(l.kind==="mcp"){const a=e(L).find(w=>w.id===l.id);if(a?.source!=="manual"&&a?.catalogId)return Ye(a.source,a.catalogId);const v=Ve.catalog.find(w=>w.id===l.id);return v?Ye(v.source,v.catalogId)??At(v.sourceUrl):null}const h=e(j).find(a=>a.name.toLowerCase()===l.id.toLowerCase());if(h?.maintainer)return`https://github.com/${h.maintainer.split("/")[0]}.png?size=40`;const E=Fe.catalog.find(a=>a.name.toLowerCase()===l.id.toLowerCase())?.maintainer;return E?`https://github.com/${E.split("/")[0]}.png?size=40`:null}function V(){mt.activeTab="skills"}var K=Yt(),Z=n(s(K),2);{var g=l=>{var h=Gt();m(l,h)},u=l=>{var h=Ht();m(l,h)},q=l=>{var h=Vt();_e(h,21,()=>e(W),B=>X(B),(B,E)=>{const a=_(()=>z(e(E))),v=_(()=>X(e(E)));var w=Ft(),U=s(w),r=s(U),c=s(r);{var p=R=>{var N=Bt();Q(()=>{Oe(N,"src",e(a)),Oe(N,"alt",e(E).name)}),it("error",N,()=>{$.add(e(v))}),lt(N),m(R,N)},f=_(()=>e(a)&&!$.has(e(v))),F=R=>{var N=We();Q(se=>y(N,se),[()=>It(e(E).name)]),m(R,N)};oe(c,R=>{e(f)?R(p):R(F,-1)})}t(r);var G=n(r,2),J=s(G),Y=s(J,!0);t(J);var H=n(J,2),te=s(H,!0);t(H),t(G),t(U);var b=n(U,2),M=s(b,!0);t(b);var T=n(b,2),C=s(T);t(T),t(w),Q((R,N)=>{ie(r,`background: ${R??""};`),y(Y,e(E).name),y(te,N),y(M,e(E).description),y(C,`${e(E).count??""} uses`)},[()=>e(a)&&!$.has(e(v))?"transparent":Tt(e(E).name),()=>ee(e(E))]),he("click",w,V),m(B,w)}),t(h),m(l,h)};oe(Z,l=>{!e(D)&&e(W).length===0?l(g):e(W).length===0?l(u,1):l(q,-1)})}t(K),m(I,K),ce()}Ne(["click"]);function zt(I,i){ve(i,!0);let o=Je(i,["$$slots","$$events","$$legacy"]);const d=[["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"}]];ht(I,ze({name:"brain"},()=>o,{get iconNode(){return d},children:(S,D)=>{var j=Ke(),L=qe(j);ot(L,()=>i.children??vt),m(S,j)},$$slots:{default:!0}})),ce()}var Kt=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Jt=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Qt=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),Xt=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>'),Zt=x('<div class="entity-list svelte-1qexx7n"></div>'),es=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 ts(I,i){ve(i,!0);let o=P(le([])),d=P(!1);async function S(){try{const g=await fetch(`${ke}/api/memories/most-used?limit=50`);if(g.ok){const l=((await g.json()).memories??[]).filter(h=>typeof h.id=="string"&&h.id.length>0&&typeof h.content=="string").map(h=>({id:h.id,content:h.content??"",access_count:h.access_count??0,importance:h.importance??.5}));if(l.length>0){A(o,l,!0),A(d,!0);return}}}catch{}A(o,i.memories.map(g=>({id:g.id,content:g.content,access_count:0,importance:g.importance??.5})).sort((g,u)=>u.importance-g.importance).slice(0,50),!0),A(d,!0)}Re(()=>{S()});function D(g){const u=g.content.trim(),q=u.split(`
|
|
1
|
+
import{p as ve,g as Ae,t as n,j as s,l as t,w as Ce,A as _e,y as Q,z as y,i as e,a9 as ie,b as m,K as De,d as ce,u as _,m as x,o as P,e as le,ar as nt,q as Re,v as A,k as oe,O as he,D as Oe,N as it,as as lt,x as We,P as Ne,s as ze,c as Ke,f as qe,a as ot,n as vt,r as Je,Q as Qe,h as we,at as ct,E as He,F as dt}from"./KKQFryJf.js";import{l as ut,m as pt,aR as ft,aS as gt,n as mt,I as ht,aT as Xe,o as ke,B as _t,aU as Be,t as me,R as yt,aV as St,aW as xt,aB as bt,a as wt}from"./DIA23n0a.js";import{f as Mt,a as Et,s as Fe,m as Ve,g as Tt,b as It,c as Ye,d as At}from"./w_ACb_j-.js";import{P as Ct,a as kt,b as Nt}from"./DqHb5j0W.js";import{T as jt}from"./CWI5yItQ.js";import{R as Dt}from"./CyKvO7lF.js";function Ze(I){return I.trim()||"default"}function Ot(I,i,o){const d=new URLSearchParams({agent_id:Ze(o),include_self:"true",limit:String(i)});return`${I}/api/cross-agent/presence?${d.toString()}`}function et(I,i){const o=Ze(i);return I.filter(d=>d.agentId===o)}function Rt(I,i){const o=et(I,i).filter(d=>!Number.isNaN(new Date(d.lastSeenAt).getTime()));return o.length===0?null:[...o].sort((d,S)=>new Date(S.lastSeenAt).getTime()-new Date(d.lastSeenAt).getTime())[0]??null}async function qt(I,i,o){try{const d=await fetch(Ot(I,i,o));if(!d.ok)return[];const S=await d.json();return et(S.sessions??[],o)}catch{return[]}}var Pt=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>'),Lt=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>'),Ut=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 $t(I,i){ve(i,!0);const o=Ae(i,"diagnostics",3,null),d=Ae(i,"pipelineStatus",3,null),S=Ae(i,"memoryStats",3,null),D=_(()=>{const b=i.daemonStatus?.agentCreatedAt;if(!b)return null;const M=new Date(b).getTime();return Number.isNaN(M)?null:Math.max(0,Math.floor((Date.now()-M)/864e5))}),j=_(()=>e(D)===null?"--":e(D)===0?"TODAY":e(D)===1?"1 DAY":`${e(D)} DAYS`),L=_(()=>i.daemonStatus?.activeSessions??0),k=_(()=>i.daemonStatus?.version??"--"),O=_(()=>Rt(i.presence,i.agentId)),$=_(()=>{if(i.continuity.length===0)return null;const b=i.continuity.filter(T=>!Number.isNaN(new Date(T.created_at).getTime()));return b.length===0?null:[...b].sort((T,C)=>new Date(C.created_at).getTime()-new Date(T.created_at).getTime())[0]});function W(b){const M=Date.now()-new Date(b).getTime(),T=Math.floor(M/6e4);if(T<1)return"JUST NOW";if(T<60)return`${T}M AGO`;const C=Math.floor(T/60);return C<24?`${C}H AGO`:`${Math.floor(C/24)}D AGO`}const X=_(()=>e(O)?.project??e($)?.project??null),ee=_(()=>e(O)?.lastSeenAt??e($)?.created_at??null),z=_(()=>e(X)?.replace(/\/$/,"").split("/").pop()??"--"),V=_(()=>e(ee)?W(e(ee)):"--"),K=_(()=>i.identity.name?.trim()||"SIGNET AGENT"),Z=_(()=>o()?.composite?.score??null),g=_(()=>o()?.composite?.status??"UNKNOWN"),u=_(()=>o()?.index?.embeddingCoverage!==void 0?Math.round(o().index.embeddingCoverage*100):!S()||S().total===0?null:Math.round(S().withEmbeddings/S().total*100)),q=_(()=>d()?typeof d().mode=="string"?d().mode.toUpperCase():"ACTIVE":"UNKNOWN"),l=_(()=>{if(!o())return 0;let b=0;const M=["queue","storage","index","provider","connector","predictor"];for(const T of M){const C=o()[T];if(C&&typeof C=="object"&&"status"in C){const R=C.status;(R==="degraded"||R==="unhealthy")&&b++}}return b});function h(b){return b===null?"var(--sig-text-muted)":b>=.8?"var(--sig-success)":b>=.5?"var(--sig-warning)":"var(--sig-danger)"}const B=_(()=>[{idx:"01",label:"UPTIME",value:e(j)},{idx:"02",label:"PROJECT",value:e(z)},{idx:"03",label:"LAST SEEN",value:e(V)},{idx:"04",label:"CONNECTORS",value:String(i.connectorCount)},{idx:"05",label:"SESSIONS",value:String(e(L))}]),E=_(()=>[{idx:"06",label:"HEALTH",value:e(Z)!==null?`${e(Z).toFixed(2)} ${e(g).toUpperCase()}`:"--",color:h(e(Z))},{idx:"07",label:"EMBEDDED",value:e(u)!==null?`${e(u)}%`:"--"},{idx:"08",label:"PIPELINE",value:e(q)},{idx:"09",label:"WARNINGS",value:String(e(l)),color:e(l)>0?"var(--sig-danger)":void 0}]);var a=Ut(),v=n(s(a),2),w=s(v),U=n(s(w),2),r=s(U);t(U),t(w);var c=n(w,2),p=s(c),f=s(p,!0);t(p);var F=n(p,2),G=s(F),J=s(G,!0);t(G),Ce(2),t(F),t(c);var Y=n(c,4),H=s(Y);_e(H,21,()=>e(B),De,(b,M)=>{var T=Pt(),C=s(T),R=s(C,!0);t(C);var N=n(C,2),se=s(N,!0);t(N);var ae=n(N,4),re=s(ae,!0);t(ae),t(T),Q(()=>{y(R,e(M).idx),y(se,e(M).label),ie(ae,e(M).color?`color: ${e(M).color}`:""),y(re,e(M).value)}),m(b,T)}),t(H);var te=n(H,2);_e(te,21,()=>e(E),De,(b,M)=>{var T=Lt(),C=s(T),R=s(C,!0);t(C);var N=n(C,2),se=s(N,!0);t(N);var ae=n(N,4),re=s(ae,!0);t(ae),t(T),Q(()=>{y(R,e(M).idx),y(se,e(M).label),ie(ae,e(M).color?`color: ${e(M).color}`:""),y(re,e(M).value)}),m(b,T)}),t(te),t(Y),t(v),t(a),Q(b=>{y(r,`v${e(k)??""}`),y(f,e(K)),y(J,b)},[()=>i.memoryCount.toLocaleString()]),m(I,a),ce()}var Gt=x('<div class="empty-state svelte-6whpsi">LOADING USAGE...</div>'),Ht=x('<div class="empty-state svelte-6whpsi">NO TRACKED USAGE YET</div>'),Bt=x('<img class="spotlight-avatar svelte-6whpsi"/>'),Ft=x('<button type="button" class="spotlight-card svelte-6whpsi"><div class="spotlight-top svelte-6whpsi"><div class="spotlight-icon svelte-6whpsi"><!></div> <div class="spotlight-meta svelte-6whpsi"><span class="spotlight-name svelte-6whpsi"> </span> <span class="spotlight-badge svelte-6whpsi"> </span></div></div> <p class="spotlight-desc svelte-6whpsi"> </p> <p class="spotlight-usage svelte-6whpsi"> </p></button>'),Vt=x('<div class="spotlights-grid svelte-6whpsi"></div>'),Yt=x('<div class="spotlights-panel sig-panel svelte-6whpsi"><div class="spotlights-header sig-panel-header svelte-6whpsi"><span class="spotlights-title svelte-6whpsi">MOST USED SKILLS & SERVERS</span> <span class="spotlights-count svelte-6whpsi">LAST 30 DAYS</span></div> <!></div>');function Wt(I,i){ve(i,!0);const o=6,d=3,S=new Date(Date.now()-30*864e5).toISOString();let D=P(!1),j=P(le([])),L=P(le([])),k=P(null),O=P(null);const $=new nt;Re(async()=>{const l=await Promise.allSettled([Mt(),Et(5),ut(),pt(),ft({since:S,limit:d}),gt({since:S,limit:d})]);l[2]?.status==="fulfilled"&&A(j,l[2].value,!0),l[3]?.status==="fulfilled"&&A(L,l[3].value.servers,!0),l[4]?.status==="fulfilled"&&A(k,l[4].value,!0),l[5]?.status==="fulfilled"&&A(O,l[5].value,!0),A(D,!0)});const W=_(()=>{const l=new Map;for(const a of e(j))l.set(a.name.toLowerCase(),{name:a.name,description:a.description});for(const a of Fe.catalog){const v=a.name.toLowerCase();l.has(v)||l.set(v,{name:a.name,description:a.description})}const h=new Map;for(const a of e(L))h.set(a.id,{name:a.name,description:a.description});for(const a of Ve.catalog)h.has(a.id)||h.set(a.id,{name:a.name,description:a.description});const B=(e(k)?.topSkills??[]).slice(0,d).map(a=>{const v=l.get(a.skillName.toLowerCase());return{kind:"skill",id:a.skillName,name:v?.name??a.skillName,description:v?.description??"Tracked from real skill invocation history.",count:a.count}}),E=(e(O)?.topServers??[]).slice(0,d).map(a=>{const v=h.get(a.serverId);return{kind:"mcp",id:a.serverId,name:v?.name??a.serverId,description:v?.description??"Tracked from real MCP server invocation history.",count:a.count}});return[...B,...E].slice(0,o)});function X(l){return l.kind==="skill"?`sk:${l.id}`:`mcp:${l.id}`}function ee(l){return l.kind==="skill"?"SKILL":"MCP"}function z(l){if(l.kind==="mcp"){const a=e(L).find(w=>w.id===l.id);if(a?.source!=="manual"&&a?.catalogId)return Ye(a.source,a.catalogId);const v=Ve.catalog.find(w=>w.id===l.id);return v?Ye(v.source,v.catalogId)??At(v.sourceUrl):null}const h=e(j).find(a=>a.name.toLowerCase()===l.id.toLowerCase());if(h?.maintainer)return`https://github.com/${h.maintainer.split("/")[0]}.png?size=40`;const E=Fe.catalog.find(a=>a.name.toLowerCase()===l.id.toLowerCase())?.maintainer;return E?`https://github.com/${E.split("/")[0]}.png?size=40`:null}function V(){mt.activeTab="skills"}var K=Yt(),Z=n(s(K),2);{var g=l=>{var h=Gt();m(l,h)},u=l=>{var h=Ht();m(l,h)},q=l=>{var h=Vt();_e(h,21,()=>e(W),B=>X(B),(B,E)=>{const a=_(()=>z(e(E))),v=_(()=>X(e(E)));var w=Ft(),U=s(w),r=s(U),c=s(r);{var p=R=>{var N=Bt();Q(()=>{Oe(N,"src",e(a)),Oe(N,"alt",e(E).name)}),it("error",N,()=>{$.add(e(v))}),lt(N),m(R,N)},f=_(()=>e(a)&&!$.has(e(v))),F=R=>{var N=We();Q(se=>y(N,se),[()=>It(e(E).name)]),m(R,N)};oe(c,R=>{e(f)?R(p):R(F,-1)})}t(r);var G=n(r,2),J=s(G),Y=s(J,!0);t(J);var H=n(J,2),te=s(H,!0);t(H),t(G),t(U);var b=n(U,2),M=s(b,!0);t(b);var T=n(b,2),C=s(T);t(T),t(w),Q((R,N)=>{ie(r,`background: ${R??""};`),y(Y,e(E).name),y(te,N),y(M,e(E).description),y(C,`${e(E).count??""} uses`)},[()=>e(a)&&!$.has(e(v))?"transparent":Tt(e(E).name),()=>ee(e(E))]),he("click",w,V),m(B,w)}),t(h),m(l,h)};oe(Z,l=>{!e(D)&&e(W).length===0?l(g):e(W).length===0?l(u,1):l(q,-1)})}t(K),m(I,K),ce()}Ne(["click"]);function zt(I,i){ve(i,!0);let o=Je(i,["$$slots","$$events","$$legacy"]);const d=[["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"}]];ht(I,ze({name:"brain"},()=>o,{get iconNode(){return d},children:(S,D)=>{var j=Ke(),L=qe(j);ot(L,()=>i.children??vt),m(S,j)},$$slots:{default:!0}})),ce()}var Kt=x('<div class="empty-state svelte-1qexx7n">LOADING</div>'),Jt=x('<div class="empty-state svelte-1qexx7n"><!> <span>NO MEMORIES YET</span></div>'),Qt=x('<span class="entity-count svelte-1qexx7n" title="times recalled"> </span>'),Xt=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>'),Zt=x('<div class="entity-list svelte-1qexx7n"></div>'),es=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 ts(I,i){ve(i,!0);let o=P(le([])),d=P(!1);async function S(){try{const g=await fetch(`${ke}/api/memories/most-used?limit=50`);if(g.ok){const l=((await g.json()).memories??[]).filter(h=>typeof h.id=="string"&&h.id.length>0&&typeof h.content=="string").map(h=>({id:h.id,content:h.content??"",access_count:h.access_count??0,importance:h.importance??.5}));if(l.length>0){A(o,l,!0),A(d,!0);return}}}catch{}A(o,i.memories.map(g=>({id:g.id,content:g.content,access_count:0,importance:g.importance??.5})).sort((g,u)=>u.importance-g.importance).slice(0,50),!0),A(d,!0)}Re(()=>{S()});function D(g){const u=g.content.trim(),q=u.split(`
|
|
2
2
|
`)[0]??u;return q.length>60?`${q.slice(0,57)}...`:q}function j(g){return g>=.8?"var(--sig-danger)":g>=.5?"var(--sig-warning)":"var(--sig-success)"}var L=es(),k=s(L),O=n(s(k),2),$=s(O);t(O),t(k);var W=n(k,2),X=s(W);{var ee=g=>{var u=Kt();m(g,u)},z=g=>{var u=Jt(),q=s(u);zt(q,{class:"empty-icon"}),Ce(2),t(u),m(g,u)},V=g=>{var u=Zt();_e(u,23,()=>e(o),q=>q.id,(q,l,h)=>{var B=Xt(),E=s(B),a=s(E,!0);t(E);var v=n(E,2),w=n(v,2),U=s(w,!0);t(w);var r=n(w,2);{var c=p=>{var f=Qt(),F=s(f,!0);t(f),Q(()=>y(F,e(l).access_count)),m(p,f)};oe(r,p=>{e(l).access_count>0&&p(c)})}t(B),Q((p,f,F)=>{y(a,p),ie(v,`background: ${f??""}`),y(U,F)},[()=>String(e(h)+1).padStart(2,"0"),()=>j(e(l).importance),()=>D(e(l))]),m(q,B)}),t(u),m(g,u)};oe(X,g=>{e(d)?e(o).length===0?g(z,1):g(V,-1):g(ee)})}t(W);var K=n(W,2),Z=s(K);t(K),t(L),Q(()=>y($,`${e(o).length??""} RECALLED`)),he("click",Z,()=>Xe("cortex-memory")),m(I,L),ce()}Ne(["click"]);var ss=x('<span class="status-indicator svelte-ym2fyr"> </span>'),as=x('<div class="empty-state svelte-ym2fyr">LOADING</div>'),rs=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>'),ns=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>'),is=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 ls(I,i){ve(i,!0);let o=P(null),d=P(null),S=P(!1);const D=_(()=>e(o)?.sidecarAlive),j=_(()=>e(o)?.alpha??.6),L=_(()=>e(o)?.successRate??0),k=_(()=>{if(e(d)?.composite){const a=e(d).composite.score;return a>=.7?"healthy":a>=.4?"degraded":"unhealthy"}return e(o)?.status??"unknown"}),O=_(()=>e(d)?.index?.embeddingCoverage??0),$=_(()=>e(d)?.storage?.totalMemories??0),W=_(()=>e(d)?.composite?.score??0);function X(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 ee(){try{const[a,v]=await Promise.allSettled([fetch(`${ke}/api/diagnostics/predictor`),fetch(`${ke}/api/diagnostics`)]);a.status==="fulfilled"&&a.value.ok&&A(o,await a.value.json(),!0),v.status==="fulfilled"&&v.value.ok&&A(d,await v.value.json(),!0)}catch{}A(S,!0)}Qe(()=>{i.daemonStatus?ee():A(S,!0)});var z=is(),V=s(z),K=n(s(V),2);{var Z=a=>{var v=ss(),w=s(v,!0);t(v),Q((U,r)=>{ie(v,`color: ${U??""}`),y(w,r)},[()=>X(e(k)),()=>e(k).toUpperCase()]),m(a,v)};oe(K,a=>{e(S)&&a(Z)})}t(V);var g=n(V,2),u=s(g);{var q=a=>{var v=as();m(a,v)},l=a=>{var v=rs(),w=s(v),U=s(w),r=s(U),c=n(r,2);t(U);var p=n(U,2),f=s(p),F=s(f);t(f);var G=n(f,2),J=s(G);t(G),t(p),t(w);var Y=n(w,2),H=s(Y),te=n(s(H),4),b=s(te);t(te),t(H);var M=n(H,2),T=n(s(M),4),C=s(T);t(T),t(M);var R=n(M,2),N=n(s(R),4),se=s(N,!0);t(N),t(R),t(Y),t(v),Q((ae,re,Me)=>{ie(r,`width: ${e(j)*100}%`),ie(c,`width: ${(1-e(j))*100}%`),y(F,`BASELINE ${ae??""}%`),y(J,`PREDICTOR ${re??""}%`),y(b,`${Me??""}%`),y(C,`v${e(o)?.modelVersion??"--"??""}`),y(se,e(o)?.trainingSessions??"--")},[()=>Math.round(e(j)*100),()=>Math.round((1-e(j))*100),()=>Math.round(e(L)*100)]),m(a,v)},h=a=>{var v=ns(),w=s(v),U=n(s(w),4),r=s(U);t(U),t(w);var c=n(w,2),p=n(s(c),4),f=s(p,!0);t(p),t(c);var F=n(c,2),G=n(s(F),4),J=s(G);t(G),t(F),t(v),Q((Y,H,te)=>{y(r,`${Y??""}%`),y(f,H),y(J,`${te??""}%`)},[()=>Math.round(e(O)*100),()=>e($).toLocaleString(),()=>Math.round(e(W)*100)]),m(a,v)};oe(u,a=>{e(S)?e(D)?a(l,1):a(h,-1):a(q)})}t(g);var B=n(g,2),E=s(B);t(B),t(z),he("click",E,()=>Xe("predictor")),m(I,z),ce()}Ne(["click"]);function os(I,i){ve(i,!0);let o=Ae(i,"ref",15,null),d=Je(i,["$$slots","$$events","$$legacy","ref"]);var S=Ke(),D=qe(S);we(D,()=>ct,(j,L)=>{L(j,ze({"data-slot":"popover-close"},()=>d,{get ref(){return o()},set ref(k){o(k)}}))}),m(I,S),ce()}var vs=x('<div class="empty-state svelte-7r7fq6"><span>NO INSIGHTS TO CURATE</span></div>'),cs=x('<span class="entry-tag svelte-7r7fq6"> </span>'),ds=x('<div class="entry-tags svelte-7r7fq6"></div>'),us=x("<button>EDIT</button>"),ps=x("<button>Cancel</button>"),fs=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>'),gs=x("<!> <!>",1),ms=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>'),hs=x('<div class="insights-list svelte-7r7fq6"></div>'),_s=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 ys(I,i){ve(i,!0);let o=P(le(new Set)),d=P(0),S=P(void 0),D=P(3);const j=90;function L(r){const p=Date.now()-new Date(r.created_at).getTime(),f=864e5,F=p<7*f?1:p<30*f?.5:.2,G=k(r.tags),J=G.length===0?1:G.length<3?.6:.2,Y=r.importance??.5,H=Y>=.3&&Y<=.7?1:.3;return F+J+H}function k(r){return r?Array.isArray(r)?r.filter(Boolean):r.split(",").map(c=>c.trim()).filter(Boolean):[]}const O=_(()=>i.memories.filter(r=>!(e(o).has(r.id)||r.pinned||k(r.tags).includes("rejected-insight"))).map(r=>({memory:r,score:L(r)})).sort((r,c)=>c.score-r.score)),$=_(()=>{if(e(O).length===0)return[];const r=Math.min(e(D),e(O).length),c=e(d)%e(O).length;return Array.from({length:r},(p,f)=>e(O)[(c+f)%e(O).length].memory)});Qe(()=>{if(!e(S))return;const r=new ResizeObserver(c=>{const p=c[0]?.contentRect.height??0;A(D,Math.max(1,Math.floor(p/j)),!0)});return r.observe(e(S)),()=>r.disconnect()});function W(r){return r>=.8?"var(--sig-danger)":r>=.5?"var(--sig-warning)":"var(--sig-success)"}function X(r){const c=new Date(r),p=c.toLocaleDateString("en-US",{month:"short"}).toUpperCase(),f=String(c.getDate()).padStart(2,"0");return`${p} ${f}`}async function ee(r){const c=await yt(r.id,!0);c.success?(A(o,new Set([...e(o),r.id]),!0),me("Memory pinned","success")):me(c.error??"Failed to pin","error")}async function z(r){const c=k(r.tags);c.push("rejected-insight");const p=await Be(r.id,{tags:c.join(",")},"dashboard: rejected insight");p.success?(A(o,new Set([...e(o),r.id]),!0),me("Memory dismissed","success")):me(p.error??"Failed to dismiss","error")}const V=le({});function K(r){V[r.id]=r.content}async function Z(r){const c=V[r.id];if(!c||c===r.content)return;const p=await Be(r.id,{content:c},"dashboard: corrected insight");p.success?(A(o,new Set([...e(o),r.id]),!0),me("Memory corrected","success")):me(p.error??"Failed to save","error")}function g(){A(d,(e(d)+e(D))%Math.max(1,e(O).length))}var u=_s(),q=s(u),l=n(s(q),2),h=s(l),B=s(h);t(h);var E=n(h,2),a=s(E);Dt(a,{class:"refresh-icon"}),Ce(2),t(E),t(l),t(q);var v=n(q,2);{var w=r=>{var c=vs();m(r,c)},U=r=>{var c=hs();_e(c,23,()=>e($),p=>p.id,(p,f,F)=>{var G=ms(),J=s(G),Y=s(J),H=s(Y),te=s(H,!0);t(H);var b=n(H,2),M=n(b,2),T=s(M,!0);t(M),t(Y);var C=n(Y,2);{var R=de=>{var ue=ds();_e(ue,21,()=>k(e(f).tags).slice(0,3),De,(ye,Ee)=>{var pe=cs(),Te=s(pe,!0);t(pe),Q(()=>y(Te,e(Ee))),m(ye,pe)}),t(ue),m(de,ue)},N=_(()=>k(e(f).tags).length>0);oe(C,de=>{e(N)&&de(R)})}t(J);var se=n(J,2),ae=s(se,!0);t(se);var re=n(se,2),Me=s(re),Pe=n(Me,2),tt=n(Pe,2);we(tt,()=>Nt,(de,ue)=>{ue(de,{children:(ye,Ee)=>{var pe=gs(),Te=qe(pe);{const je=(Se,xe)=>{let Le=()=>xe?.().props;var fe=us(),Ie=()=>K(e(f));He(fe,()=>({...Le(),class:"action-btn edit sig-switch",onclick:Ie}),void 0,void 0,void 0,"svelte-7r7fq6"),m(Se,fe)};we(Te,()=>Ct,(Se,xe)=>{xe(Se,{child:je,$$slots:{child:!0}})})}var st=n(Te,2);we(st,()=>kt,(je,Se)=>{Se(je,{class:"w-72 !bg-[var(--sig-surface-raised)] !border-[var(--sig-border-strong)]",side:"bottom",align:"start",children:(xe,Le)=>{var fe=fs(),Ie=n(s(fe),2);{let be=_(()=>V[e(f).id]??e(f).content);jt(Ie,{class:`mt-2 min-h-[60px] text-[11px] font-[family-name:var(--font-mono)]
|
|
3
3
|
bg-[var(--sig-bg)] border-[var(--sig-border)]
|
|
4
4
|
text-[var(--sig-text)]`,get value(){return e(be)},oninput:ge=>{const ne=ge.currentTarget;ne instanceof HTMLTextAreaElement&&(V[e(f).id]=ne.value)}})}var Ue=n(Ie,2),$e=s(Ue);{const be=(ge,ne)=>{let rt=()=>ne?.().props;var Ge=ps();He(Ge,()=>({...rt(),class:"text-[10px] px-2 py-1 text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]"}),void 0,void 0,void 0,"svelte-7r7fq6"),m(ge,Ge)};we($e,()=>os,(ge,ne)=>{ne(ge,{child:be,$$slots:{child:!0}})})}var at=n($e,2);_t(at,{variant:"default",size:"sm",class:"text-[10px] h-6",onclick:()=>Z(e(f)),children:(be,ge)=>{Ce();var ne=We("Save");m(be,ne)},$$slots:{default:!0}}),t(Ue),t(fe),m(xe,fe)},$$slots:{default:!0}})}),m(ye,pe)},$$slots:{default:!0}})}),t(re),t(G),Q((de,ue,ye,Ee)=>{y(te,de),ie(b,`background: ${ue??""}`),Oe(b,"title",`importance: ${ye??""}`),y(T,Ee),y(ae,e(f).content)},[()=>String(e(F)+1).padStart(2,"0"),()=>W(e(f).importance??.5),()=>(e(f).importance??.5).toFixed(2),()=>X(e(f).created_at)]),he("click",Me,()=>ee(e(f))),he("click",Pe,()=>z(e(f))),m(p,G)}),t(c),dt(c,p=>A(S,p),()=>e(S)),m(r,c)};oe(v,r=>{e($).length===0?r(w):r(U,-1)})}t(u),Q(()=>y(B,`${e($).length??""} OF ${e(O).length??""}`)),he("click",E,g),m(I,u),ce()}Ne(["click"]);var Ss=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 Is(I,i){ve(i,!0);let o=P(null),d=P(le([])),S=P(le([])),D=P(null),j=P(le([])),L=P(!1);Re(async()=>{const u=await Promise.allSettled([St(),xt(),qt(ke,10,i.agentId),bt(),wt()]);u[0].status==="fulfilled"&&u[0].value&&A(o,u[0].value,!0),u[1].status==="fulfilled"&&A(d,u[1].value,!0),u[2].status==="fulfilled"&&A(S,u[2].value,!0),u[3].status==="fulfilled"&&A(D,u[3].value,!0),u[4].status==="fulfilled"&&A(j,u[4].value,!0),A(L,!0)});var k=Ss(),O=s(k),$=s(O),W=s($);{let u=_(()=>i.memoryStats?.total??0);$t(W,{get identity(){return i.identity},get daemonStatus(){return i.daemonStatus},get connectorCount(){return e(j).length},get continuity(){return e(d)},get presence(){return e(S)},get agentId(){return i.agentId},get memoryCount(){return e(u)},get diagnostics(){return e(o)},get pipelineStatus(){return e(D)},get memoryStats(){return i.memoryStats}})}t($);var X=n($,2),ee=s(X);Wt(ee,{}),t(X);var z=n(X,2),V=s(z);ys(V,{get memories(){return i.memories}}),t(z);var K=n(z,2),Z=s(K);ts(Z,{get memories(){return i.memories}});var g=n(Z,2);ls(g,{get daemonStatus(){return i.daemonStatus}}),t(K),t(O),t(k),m(I,k),ce()}export{Is as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
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 yt,z as f,O as We,u as B,m as i,P as ft,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 wt,K as Pt,e as Gt,N as Qt,q as Zt}from"./KKQFryJf.js";import{I as Jt,$ as It,a0 as Nt,a1 as Lt,a2 as Ot,B as ot,a3 as Mt,l as Xt,aG as Yt,a6 as ea,aH as zt,aI as ta,aJ as Ct,o as aa,aK as St,aL as sa,aM as xe,aN as ra,aO as jt,aP as Tt,aQ as na}from"./
|
|
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 yt,z as f,O as We,u as B,m as i,P as ft,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 wt,K as Pt,e as Gt,N as Qt,q as Zt}from"./KKQFryJf.js";import{I as Jt,$ as It,a0 as Nt,a1 as Lt,a2 as Ot,B as ot,a3 as Mt,l as Xt,aG as Yt,a6 as ea,aH as zt,aI as ta,aJ as Ct,o as aa,aK as St,aL as sa,aM as xe,aN as ra,aO as jt,aP as Tt,aQ as na}from"./DIA23n0a.js";import{S as la}from"./Bet1gv3Q.js";import{B as _t}from"./CSgLxtnP.js";import{S as oa,a as ia}from"./WlRWa7Ns.js";import{C as da,a as va}from"./D6eWFo2V.js";import{P as ca}from"./DRivLlfT.js";import{T as ua}from"./YGwRROBb.js";import{I as bt}from"./BuMdvLzL.js";import{L as Ye}from"./B37yoGd7.js";import{c as ct,S as ut,a as gt,b as Oe}from"./nNOSYlFs.js";import{T as ga}from"./CWI5yItQ.js";import{P as _a}from"./DTGTXMsP.js";import{Z as fa}from"./Bm-WUuvQ.js";function At(ke,t){et(t,!0);let N=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Jt(ke,Ht({name:"play"},()=>N,{get iconNode(){return y},children:(H,D)=>{var T=ue(),L=h(T);Ft(L,()=>t.children??Wt),a(H,T)},$$slots:{default:!0}})),tt()}var xa=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 y(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(()=>y(t.task.next_run_at)),T=B(()=>y(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=xa(),C=l(o);s(o),k(()=>f(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(()=>f(C,`exit 0 · ${e(T)??""}`)),a(n,o)},Z=n=>{var o=ha(),C=l(o);s(o),k(()=>f(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(Z,3)})}s(O);var b=r(O,2),w=l(b),J=l(w);{let n=B(()=>!!t.task.enabled);la(J,{get checked(){return e(n)},onCheckedChange:o=>t.ontoggle(o===!0),class:"scale-75 origin-left"})}s(w);var F=r(w,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}),yt(L,"data-task-id",t.task.id),yt(L,"data-column",t.columnKey),f(se,t.task.name),f(ge,e(H)),f(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",w,n=>n.stopPropagation()),We("click",F,n=>{n.stopPropagation(),t.ontrigger()}),a(ke,L),tt()}ft(["click","keydown"]);var ka=i('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ya=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>'),wa=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),y=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 $=ya();a(c,$)},M=c=>{var $=Sa(),re=h($);Me(re,23,()=>ae,Z=>Z.key,(Z,b,w)=>{const J=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(J),fe=>fe.id,(fe,ye,K)=>{{let X=B(()=>e(w)===N()&&e(K)===y());Rt(fe,{get task(){return e(ye)},get columnKey(){return e(b).key},get isSelected(){return e(X)},onclick:()=>t.onopendetail(e(ye).id,e(w),e(K)),ontrigger:()=>t.ontrigger(e(ye).id),ontoggle:be=>t.ontoggle(e(ye).id,be)})}});var ze=r(Ne,2);{var Ae=fe=>{var ye=wa();a(fe,ye)};A(ze,fe=>{e(J).length===0&&fe(Ae)})}s(Ie),s(F),k(()=>{yt(F,"data-column-idx",e(w)),Et(n,`background: ${e(b).color??""}`),f(C,e(b).label),f(he,e(J).length)}),a(Z,F)}),s(re);var _e=r(re,2);{var me=Z=>{var b=Ca(),w=l(b),J=l(w),F=r(l(J),4),u=l(F,!0);s(F),s(J);var n=r(J,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(w),s(b),k(()=>f(u,e(R).length)),a(Z,b)};A(_e,Z=>{e(R).length>0&&Z(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-[family-name:var(--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
2
|
rounded max-h-[280px] overflow-y-auto
|
|
3
3
|
font-[family-name:var(--font-mono)] text-[10px] leading-[1.55]
|
|
4
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-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </span></div> <div class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--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),y=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"),Z=_e.map(w=>R[w]).find(Boolean);let b=re;return Z&&(b=`<span style="color:${Z}">${b}</span>`),me&&(b=`<strong>${b}</strong>`),b}),M.replace(/\x1b\[\d+(?:;\d+)*m/g,"")}function E(O){return O?O.split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as oa,g as Ht,o as Y,e as xa,Q as ma,v as i,c as At,f as R,h as $,j as r,l as t,t as a,k as b,y as p,z as v,b as s,i as e,w as E,x as O,B as Ut,O as dt,d as va,u as g,D as de,A as $t,m as o,P as ba,aP as Or,aQ as Vr,K as ha,q as Ja,af as er,a9 as fr,aR as ys,s as Mr,r as Nr,aS as hs,aT as xs,ar as Gr,ab as Fa,ac as Dr,N as Oa,as as Sr,n as Ka,I as es,a2 as bs,$ as ts,aj as or,aU as ws}from"./KKQFryJf.js";import{i as ks,m as Z,e as Ir,a as Cr,r as Lr,h as $s,j as kr,g as Tr,d as Ps,b as Rr,k as Ss,c as Is,s as m,l as as,n as rs,o as ss,p as Cs,q as Ar,f as Ua,t as Ya,u as Ls,v as Hr,w as Ts,x as Rs,y as $r,z as As,A as Es,B as Ms}from"./
|
|
1
|
+
import{p as oa,g as Ht,o as Y,e as xa,Q as ma,v as i,c as At,f as R,h as $,j as r,l as t,t as a,k as b,y as p,z as v,b as s,i as e,w as E,x as O,B as Ut,O as dt,d as va,u as g,D as de,A as $t,m as o,P as ba,aP as Or,aQ as Vr,K as ha,q as Ja,af as er,a9 as fr,aR as ys,s as Mr,r as Nr,aS as hs,aT as xs,ar as Gr,ab as Fa,ac as Dr,N as Oa,as as Sr,n as Ka,I as es,a2 as bs,$ as ts,aj as or,aU as ws}from"./KKQFryJf.js";import{i as ks,m as Z,e as Ir,a as Cr,r as Lr,h as $s,j as kr,g as Tr,d as Ps,b as Rr,k as Ss,c as Is,s as m,l as as,n as rs,o as ss,p as Cs,q as Ar,f as Ua,t as Ya,u as Ls,v as Hr,w as Ts,x as Rs,y as $r,z as As,A as Es,B as Ms}from"./w_ACb_j-.js";import{bc as zr,$ as jr,B as vt,a3 as qr,t as la,bd as ls,be as Ns,af as Ds,bf as zs,aS as js,c as Ur,bg as qs,bh as Us,bi as Bs,bj as Fs,bk as Os,bl as Vs,bm as Gs,bn as Hs,bo as Ks,bp as Ws,bq as Ys,br as Qs,n as Zs,ai as Pr}from"./DIA23n0a.js";import{b as Qa,C as Za,a as Xa}from"./DNGDC21S.js";import{I as pa}from"./BuMdvLzL.js";import{c as $a,S as Pa,a as Sa,b as pt}from"./nNOSYlFs.js";import{T as Br}from"./CWI5yItQ.js";import{C as Da}from"./VYe6FewO.js";import{L as Aa}from"./B37yoGd7.js";import{R as Kr}from"./CyKvO7lF.js";import{B as Wa}from"./CSgLxtnP.js";import{g as Xs}from"./CppT_YPm.js";var Js=o('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),el=o('<span class="detail-rank svelte-4mjdk4"> </span>'),tl=o('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),al=o('<div class="detail-action svelte-4mjdk4"><!></div>'),rl=o('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),sl=o("<span>Signet Reviews</span> <!>",1),ll=o("<!> <!> <!> <!> <!>",1),il=o("<!> <!>",1),nl=o('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),ol=o('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),vl=o('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),dl=o('<div class="review-list svelte-4mjdk4"></div>'),cl=o('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),ul=o("<!> <!>",1),fl=o('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),gl=o('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),pl=o('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function ml(d,l){oa(l,!0);const u="signet:marketplace:reviews:display-name";let G=Ht(l,"canInstall",3,!0),H=Ht(l,"installBusy",3,!1),ae=Ht(l,"removeBusy",3,!1),C=Y("top"),j=Y(!1),S=Y(xa([])),ie=Y(!0),X=Y(xa(we())),Q=Y(5),ue=Y(""),M=Y(""),J=Y(!1);const q=g(()=>`${e(Q)}/5`),ve=g(()=>{const te=[...e(S)];return e(C)==="top"?te.sort((ke,ge)=>ge.rating===ke.rating?ge.updatedAt.localeCompare(ke.updatedAt):ge.rating-ke.rating):e(C)==="good"?te.filter(ke=>ke.rating>=4).sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt)):e(C)==="bad"?te.filter(ke=>ke.rating<=2).sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt)):te.sort((ke,ge)=>ge.updatedAt.localeCompare(ke.updatedAt))});ma(()=>{if(!l.open||!l.item?.targetId){i(S,[],!0);return}i(C,"top"),Ke(l.item.targetId)});function we(){try{return localStorage.getItem(u)??""}catch{return""}}function fe(te){try{localStorage.setItem(u,te)}catch{}}function Re(te){return te==="1"?1:te==="2"?2:te==="3"?3:te==="4"?4:5}async function Ke(te){i(j,!0);try{const ke=await zr({targetType:"mcp",targetId:te,limit:100});i(S,ke.reviews,!0)}finally{i(j,!1)}}async function Ze(){if(!l.item?.targetId)return;if(!l.canReview){la("Install or use this app before leaving a review.","error");return}const te=e(X).trim(),ke=e(ue).trim(),ge=e(M).trim();if(!te||!ke||!ge){la("Display name, title, and review are required","error");return}i(J,!0);try{const qe=await ls({targetType:"mcp",targetId:l.item.targetId,displayName:te,rating:e(Q),title:ke,body:ge});if(!qe.success){la(qe.error??"Failed to submit review","error");return}fe(te),i(ue,""),i(M,""),la("Review posted","success"),await Ke(l.item.targetId)}finally{i(J,!1)}}var De=At(),ze=R(De);$(ze,()=>qr,(te,ke)=>{ke(te,{get open(){return l.open},onOpenChange:ge=>{ge||l.onclose()},children:(ge,qe)=>{var Ce=At(),nt=R(Ce);$(nt,()=>jr,(Lt,Bt)=>{Bt(Lt,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
|
|
2
2
|
!border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(y,U)=>{var Oe=pl(),_t=R(Oe),Dt=r(_t),Yt=r(Dt),xt=r(Yt,!0);t(Yt);var je=a(Yt,2);{var yt=W=>{var pe=tl(),me=r(pe),Je=r(me,!0);t(me);var Ve=a(me,2),We=r(Ve,!0);t(Ve);var Ae=a(Ve,2);{var $e=A=>{var _e=Js();s(A,_e)};b(Ae,A=>{l.item.official&&A($e)})}var tt=a(Ae,2);{var x=A=>{var _e=el(),f=r(_e);t(_e),p(()=>v(f,`#${l.item.popularityRank??""}`)),s(A,_e)};b(tt,A=>{l.item.popularityRank!==null&&A(x)})}t(pe),p(()=>{v(Je,l.item.sourceLabel),v(We,l.item.category)}),s(W,pe)};b(je,W=>{l.item&&W(yt)})}t(Dt);var Qt=a(Dt,2);{var Pt=W=>{var pe=al(),me=r(pe);{var Je=Ae=>{vt(Ae,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-danger)] text-[var(--sig-danger)] hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)]",onclick:()=>l.item.serverId&&l.onuninstall?.(l.item.serverId),get disabled(){return ae()},children:($e,tt)=>{E();var x=O();p(()=>v(x,ae()?"...":"Remove")),s($e,x)},$$slots:{default:!0}})},Ve=Ae=>{vt(Ae,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]",onclick:()=>l.item.catalogEntry&&l.oninstall?.(l.item.catalogEntry),get disabled(){return H()},children:($e,tt)=>{E();var x=O();p(()=>v(x,H()?"...":"Install")),s($e,x)},$$slots:{default:!0}})},We=Ae=>{vt(Ae,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-border-strong)] text-[var(--sig-text-muted)]",disabled:!0,title:"MCP installs are temporarily disabled",children:($e,tt)=>{E();var x=O("Install disabled");s($e,x)},$$slots:{default:!0}})};b(me,Ae=>{l.item.serverId?Ae(Je):l.item.catalogEntry&&G()?Ae(Ve,1):l.item.catalogEntry&&Ae(We,2)})}t(pe),s(W,pe)};b(Qt,W=>{l.item&&W(Pt)})}t(_t);var it=a(_t,2),ee=r(it);{var w=W=>{var pe=fl(),me=R(pe),Je=r(me,!0);t(me);var Ve=a(me,2);{var We=$e=>{var tt=rl();p(()=>de(tt,"href",l.item.sourceUrl)),s($e,tt)};b(Ve,$e=>{l.item.sourceUrl&&$e(We)})}var Ae=a(Ve,2);$(Ae,()=>Qa,($e,tt)=>{tt($e,{class:"reviews-section",get open(){return e(ie)},set open(x){i(ie,x,!0)},children:(x,A)=>{var _e=ul(),f=R(_e);$(f,()=>Za,(xe,Xe)=>{Xe(xe,{class:"reviews-trigger",children:(Le,c)=>{var _=sl(),z=a(R(_),2);{let B=g(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ie)?"rotate-180":""}`);Da(z,{get class(){return e(B)}})}s(Le,_)},$$slots:{default:!0}})});var T=a(f,2);$(T,()=>Xa,(xe,Xe)=>{Xe(xe,{children:(Le,c)=>{var _=cl(),z=r(_),B=r(z);pa(B,{class:"review-input",placeholder:"Display name",get value(){return e(X)},oninput:k=>{i(X,k.currentTarget.value,!0)}});var Ee=a(B,2),Pe=r(Ee);{let k=g(()=>String(e(Q)));$(Pe,()=>$a,(re,Be)=>{Be(re,{type:"single",get value(){return e(k)},onValueChange:ct=>{i(Q,Re(ct??"5"),!0)},children:(ct,Et)=>{var Se=il(),oe=R(Se);$(oe,()=>Pa,(St,mt)=>{mt(St,{class:"review-rating",children:(Mt,Kt)=>{E();var ut=O();p(()=>v(ut,e(q))),s(Mt,ut)},$$slots:{default:!0}})});var se=a(oe,2);$(se,()=>Sa,(St,mt)=>{mt(St,{class:"review-rating-content",children:(Mt,Kt)=>{var ut=ll(),ht=R(ut);$(ht,()=>pt,(Vt,ce)=>{ce(Vt,{value:"5",label:"5/5",class:"review-rating-item"})});var rt=a(ht,2);$(rt,()=>pt,(Vt,ce)=>{ce(Vt,{value:"4",label:"4/5",class:"review-rating-item"})});var F=a(rt,2);$(F,()=>pt,(Vt,ce)=>{ce(Vt,{value:"3",label:"3/5",class:"review-rating-item"})});var ot=a(F,2);$(ot,()=>pt,(Vt,ce)=>{ce(Vt,{value:"2",label:"2/5",class:"review-rating-item"})});var ft=a(ot,2);$(ft,()=>pt,(Vt,ce)=>{ce(Vt,{value:"1",label:"1/5",class:"review-rating-item"})}),s(Mt,ut)},$$slots:{default:!0}})}),s(ct,Se)},$$slots:{default:!0}})})}var et=a(Pe,2);pa(et,{class:"review-input",placeholder:"Review title",get value(){return e(ue)},oninput:k=>{i(ue,k.currentTarget.value,!0)}}),t(Ee);var at=a(Ee,2);Br(at,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e(M)},oninput:k=>{i(M,k.currentTarget.value,!0)}});var n=a(at,2),L=a(r(n),2);{let k=g(()=>e(J)||!l.canReview);vt(L,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{Ze()},get disabled(){return e(k)},children:(re,Be)=>{E();var ct=O();p(()=>v(ct,e(J)?"Posting...":"Post review")),s(re,ct)},$$slots:{default:!0}})}t(n),t(z);var N=a(z,2),D=r(N);let h;var P=a(D,2);let I;var V=a(P,2);let le;var Ie=a(V,2);let Ge;t(N);var Me=a(N,2);{var be=k=>{var re=nl();s(k,re)},He=k=>{var re=ol();s(k,re)},Ue=k=>{var re=dl();$t(re,21,()=>e(ve),Be=>Be.id,(Be,ct)=>{var Et=vl(),Se=r(Et),oe=r(Se,!0);t(Se);var se=a(Se,2),St=r(se);t(se);var mt=a(se,2),Mt=r(mt,!0);t(mt),t(Et),p(()=>{v(oe,e(ct).title),v(St,`${e(ct).displayName??""} · ${e(ct).rating??""}/5`),v(Mt,e(ct).body)}),s(Be,Et)}),t(re),s(k,re)};b(Me,k=>{e(j)?k(be):e(ve).length===0?k(He,1):k(Ue,-1)})}t(_),p(()=>{h=Ut(D,1,"review-filter svelte-4mjdk4",null,h,{active:e(C)==="top"}),I=Ut(P,1,"review-filter svelte-4mjdk4",null,I,{active:e(C)==="good"}),le=Ut(V,1,"review-filter svelte-4mjdk4",null,le,{active:e(C)==="bad"}),Ge=Ut(Ie,1,"review-filter svelte-4mjdk4",null,Ge,{active:e(C)==="all"})}),dt("click",D,()=>i(C,"top")),dt("click",P,()=>i(C,"good")),dt("click",V,()=>i(C,"bad")),dt("click",Ie,()=>i(C,"all")),s(Le,_)},$$slots:{default:!0}})}),s(x,_e)},$$slots:{default:!0}})}),p(()=>v(Je,l.item.description||"No description available.")),s(W,pe)},K=W=>{var pe=gl();s(W,pe)};b(ee,W=>{l.item?W(w):W(K,-1)})}t(it),p(()=>v(xt,l.item?.name??"Tool Server")),s(y,Oe)},$$slots:{default:!0}})}),s(ge,Ce)},$$slots:{default:!0}})}),s(d,De),va()}ba(["click"]);var _l=o('<p class="sheet-subtitle svelte-1n2gzyy"> </p>'),yl=o('<p class="muted svelte-1n2gzyy">Select a server to configure.</p>'),hl=o('<p class="muted svelte-1n2gzyy">Loading recommended configuration...</p>'),xl=o('<a class="source-link svelte-1n2gzyy" target="_blank" rel="noopener">View source README</a>'),bl=o('<div class="inline-alert svelte-1n2gzyy"> </div>'),wl=o("<!> <!>",1),kl=o("<!> <!>",1),$l=o("<option> </option>"),Pl=o('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),Sl=o('<div class="inline-hint svelte-1n2gzyy">No secrets found. Add secrets in the Secrets tab to map sensitive values.</div>'),Il=o('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div> <!></div>',1),Cl=o("<option> </option>"),Ll=o('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),Tl=o('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div></div>',1),Rl=o('<div class="inline-alert svelte-1n2gzyy"> </div>'),Al=o('<div class="test-tools svelte-1n2gzyy"> </div>'),El=o('<p class="server-description svelte-1n2gzyy"> </p> <!> <!> <div class="config-card svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-row two-col svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div></div> <!></div> <!> <div class="test-panel svelte-1n2gzyy"><div class="test-head svelte-1n2gzyy">Connection test</div> <p class="test-message svelte-1n2gzyy"> </p> <!></div>',1),Ml=o('<div class="sheet-header svelte-1n2gzyy"><div><h2 class="sheet-title svelte-1n2gzyy">Install Tool Server</h2> <!></div></div> <div class="sheet-body svelte-1n2gzyy"><!></div> <div class="sheet-footer svelte-1n2gzyy"><div class="footer-hint svelte-1n2gzyy"><!></div> <div class="footer-actions svelte-1n2gzyy"><!> <!></div></div>',1);function Nl(d,l){oa(l,!0);const u="secret://";let G=Y(!1),H=Y(null),ae=Y(""),C=Y(""),j=Y(""),S=Y(!1),ie=Y(""),X=Y("stdio"),Q=Y("20000"),ue=Y(""),M=Y(""),J=Y(""),q=Y(xa([])),ve=Y(""),we=Y(xa([])),fe=Y(xa([])),Re=Y(!1),Ke=Y("idle"),Ze=Y(""),De=Y(xa([])),ze=Y(!1),te=Y(null);const ke=g(()=>e(X)==="http"?"http":"stdio"),ge=g(()=>l.entry?l.entry.source==="modelcontextprotocol/servers"?"MCP GitHub":"MCP Registry":"");ma(()=>{!l.open||!l.entry||e(ae)!==l.entry.id&&(i(ae,l.entry.id,!0),y(l.entry))}),ma(()=>{l.open||(i(ae,""),i(G,!1),i(H,null),i(Ke,"idle"),i(Ze,""),i(De,[],!0),i(te,null))});function qe(w){return w.startsWith(u)?w.slice(u.length).trim():""}function Ce(w,K){const W=qe(K);return W?{key:w,value:"",secretName:W}:{key:w,value:K,secretName:""}}function nt(w){return w.secretName.trim().length>0?`${u}${w.secretName.trim()}`:w.value}function Lt(w){const K=Object.entries(w).map(([W,pe])=>Ce(W,pe));return K.length>0?K:[{key:"",value:"",secretName:""}]}function Bt(w){if(i(X,w.transport,!0),i(Q,String(w.timeoutMs),!0),w.transport==="stdio"){i(ue,w.command,!0),i(M,w.args.join(`
|
|
3
3
|
`),!0),i(J,w.cwd??"",!0),i(q,Lt(w.env),!0),i(ve,""),i(we,[{key:"",value:"",secretName:""}],!0);return}i(ve,w.url,!0),i(we,Lt(w.headers),!0),i(ue,""),i(M,""),i(J,""),i(q,[{key:"",value:"",secretName:""}],!0)}async function y(w){i(G,!0),i(H,null),i(te,null),i(Ke,"idle"),i(Ze,""),i(De,[],!0),i(ie,w.name,!0),i(C,w.description,!0),i(j,""),i(S,!1),i(X,"stdio"),i(Q,"20000"),i(ue,""),i(M,""),i(J,""),i(q,[{key:"",value:"",secretName:""}],!0),i(ve,""),i(we,[{key:"",value:"",secretName:""}],!0),i(Re,!0);const[K,W]=await Promise.all([Ns(w.catalogId,w.source),Ds()]);if(i(fe,W,!0),i(Re,!1),!K){i(H,"Failed to load recommended config for this server."),i(G,!1);return}i(C,K.description||w.description,!0),i(j,K.githubUrl??"",!0),K.defaultConfig?(i(S,!0),Bt(K.defaultConfig)):i(H,"No standard config was found. You can still set one manually below."),i(G,!1)}function U(w){const K={};for(const W of w){const pe=W.key.trim();if(pe.length===0)continue;const me=nt(W).trim();me.length!==0&&(K[pe]=me)}return K}function Oe(){const w=Number(e(Q));if(!Number.isFinite(w)||w<=0)return{config:null,error:"Timeout must be a positive number."};if(e(X)==="stdio"){const W=e(ue).trim();if(W.length===0)return{config:null,error:"Command is required for stdio transport."};const pe=e(M).split(`
|
|
4
4
|
`).map(me=>me.trim()).filter(me=>me.length>0);return{config:{transport:"stdio",command:W,args:pe,env:U(e(q)),cwd:e(J).trim()||void 0,timeoutMs:w}}}const K=e(ve).trim();if(K.length===0)return{config:null,error:"URL is required for HTTP transport."};try{new URL(K)}catch{return{config:null,error:"URL must be a valid absolute URL."}}return{config:{transport:"http",url:K,headers:U(e(we)),timeoutMs:w}}}function _t(w){return w==="http"?"http":"stdio"}function Dt(w,K,W){const pe=w[K];pe&&(pe.value=W,W.trim().length>0&&(pe.secretName=""))}function Yt(){i(q,[...e(q),{key:"",value:"",secretName:""}],!0)}function xt(w){i(q,e(q).filter((K,W)=>W!==w),!0),e(q).length===0&&i(q,[{key:"",value:"",secretName:""}],!0)}function je(){i(we,[...e(we),{key:"",value:"",secretName:""}],!0)}function yt(w){i(we,e(we).filter((K,W)=>W!==w),!0),e(we).length===0&&i(we,[{key:"",value:"",secretName:""}],!0)}async function Qt(){i(te,null),i(Ke,"running"),i(Ze,"Testing MCP server connection..."),i(De,[],!0);const w=Oe();if(!w.config){i(Ke,"error"),i(Ze,w.error??"Invalid config.",!0),i(te,w.error??"Invalid config.",!0);return}const K=await zs({config:w.config});if(K.success){i(Ke,"success"),i(De,K.tools??[],!0),i(Ze,`Connection succeeded${typeof K.toolCount=="number"?` (${K.toolCount} tools)`:""}.`);return}i(Ke,"error"),i(Ze,K.error??"Connection test failed.",!0)}async function Pt(){if(!l.entry)return;i(te,null);const w=Oe();if(!w.config){i(te,w.error??"Invalid config.",!0);return}i(ze,!0);const K=await ks(l.entry,{alias:e(ie).trim()||void 0,config:w.config});i(ze,!1),K&&l.onclose()}var it=At(),ee=R(it);$(ee,()=>qr,(w,K)=>{K(w,{get open(){return l.open},onOpenChange:W=>{W||l.onclose()},children:(W,pe)=>{var me=At(),Je=R(me);$(Je,()=>jr,(Ve,We)=>{We(Ve,{side:"right",class:`!w-[560px] !max-w-[96vw] !bg-[var(--sig-surface)]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./KKQFryJf.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./KKQFryJf.js";import{I as $}from"./DIA23n0a.js";function C(o,s){p(s,!0);let r=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"m9 18 6-6-6-6"}]];$(o,c({name:"chevron-right"},()=>r,{get iconNode(){return t},children:(a,g)=>{var e=i(),n=d(e);h(n,()=>s.children??l),m(a,e)},$$slots:{default:!0}})),f()}export{C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,G as z,i as l,b as u,u as h,d as G,r as j}from"./KKQFryJf.js";import{c as f}from"./
|
|
1
|
+
import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,G as z,i as l,b as u,u as h,d as G,r as j}from"./KKQFryJf.js";import{c as f}from"./DIA23n0a.js";function C(g,e){$(e,!0);let a=c(e,"ref",15,null),r=c(e,"checked",15,!1),p=j(e,["$$slots","$$events","$$legacy","ref","class","checked"]);var s=d(),b=o(s);{let k=h(()=>f("data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));i(b,()=>y,(m,v)=>{v(m,P({"data-slot":"switch",get class(){return l(k)}},()=>p,{get ref(){return a()},set ref(t){a(t)},get checked(){return r()},set checked(t){r(t)},children:(t,q)=>{var n=d(),w=o(n);{let x=h(()=>f("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"));i(w,()=>z,(_,S)=>{S(_,{"data-slot":"switch-thumb",get class(){return l(x)}})})}u(t,n)},$$slots:{default:!0}}))})}u(g,s),G()}export{C as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,s as l,c,f as d,a as i,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./
|
|
1
|
+
import{p as n,s as l,c,f as d,a as i,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./DIA23n0a.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 _,g as o,c as w,f as k,k as I,b as s,d as E,E as c,F as f,J as F,I as v,m as g,r as J}from"./KKQFryJf.js";import{c as b}from"./
|
|
1
|
+
import{p as _,g as o,c as w,f as k,k as I,b as s,d as E,E as c,F as f,J as F,I as v,m as g,r as J}from"./KKQFryJf.js";import{c as b}from"./DIA23n0a.js";var P=g("<input/>"),S=g("<input/>");function z(p,i){_(i,!0);let a=o(i,"ref",15,null),d=o(i,"value",15),m=o(i,"files",15),n=o(i,"data-slot",3,"input"),l=J(i,["$$slots","$$events","$$legacy","ref","value","type","files","class","data-slot"]);var u=w(),x=k(u);{var y=t=>{var e=P();c(e,r=>({"data-slot":n(),class:r,type:"file",...l}),[()=>b("selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i.class)],void 0,void 0,void 0,!0),f(e,r=>a(r),()=>a()),F(e,m),v(e,d),s(t,e)},h=t=>{var e=S();c(e,r=>({"data-slot":n(),class:r,type:i.type,...l}),[()=>b("border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i.class)],void 0,void 0,void 0,!0),f(e,r=>a(r),()=>a()),v(e,d),s(t,e)};I(x,t=>{i.type==="file"?t(y):t(h,-1)})}s(p,u),E()}export{z as I};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as wt,g as $t,c as Fe,f as M,h as T,ag as Jt,s as Ht,i as e,b as r,d as kt,r as Rt,u as V,Q as jt,v,w as x,x as m,y as b,z as p,t as o,k as E,j as c,l as d,N as Bt,o as ve,A as Ge,m as f,E as Ut,a as Qt,n as Xt,F as Yt,$ as Zt,K as at,ah as er,ai as tr}from"./KKQFryJf.js";import{c as Wt,$ as rr,a0 as ar,a1 as sr,a2 as or,B as Me,a3 as nr,a4 as ir,a5 as lr,a6 as dr,T as l,a7 as Ft,a8 as ft,A as qt,a9 as cr,aa as vr,ab as ur,n as Dt,ac as gr,h as fr,i as pr,ad as Lt,ae as mr,P as xr}from"./
|
|
1
|
+
import{p as wt,g as $t,c as Fe,f as M,h as T,ag as Jt,s as Ht,i as e,b as r,d as kt,r as Rt,u as V,Q as jt,v,w as x,x as m,y as b,z as p,t as o,k as E,j as c,l as d,N as Bt,o as ve,A as Ge,m as f,E as Ut,a as Qt,n as Xt,F as Yt,$ as Zt,K as at,ah as er,ai as tr}from"./KKQFryJf.js";import{c as Wt,$ as rr,a0 as ar,a1 as sr,a2 as or,B as Me,a3 as nr,a4 as ir,a5 as lr,a6 as dr,T as l,a7 as Ft,a8 as ft,A as qt,a9 as cr,aa as vr,ab as ur,n as Dt,ac as gr,h as fr,i as pr,ad as Lt,ae as mr,P as xr}from"./DIA23n0a.js";import{P as _r}from"./DK3bAoxY.js";import{T as hr}from"./CyB1_UBK.js";import{I as st}from"./BuMdvLzL.js";import{L as Be}from"./B37yoGd7.js";import{c as Vt,S as Kt,a as Gt,b as pt}from"./nNOSYlFs.js";import{S as Ot}from"./Bet1gv3Q.js";import{T as Et}from"./CWI5yItQ.js";import{B as Te}from"./CSgLxtnP.js";import{C as br,a as yr}from"./DFbRwdnE.js";import{a as Mt,C as Nt}from"./D6eWFo2V.js";import{C as zt}from"./FFZqBGeO.js";import{b as $r,P as wr,a as kr}from"./DqHb5j0W.js";function Pr(Je,_){wt(_,!0);let D=$t(_,"ref",15,null),be=$t(_,"data-slot",3,"separator"),B=Rt(_,["$$slots","$$events","$$legacy","ref","class","data-slot"]);var X=Fe(),ee=M(X);{let ke=V(()=>Wt("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:min-h-full data-[orientation=vertical]:w-px",_.class));T(ee,()=>Jt,(se,oe)=>{oe(se,Ht({get"data-slot"(){return be()},get class(){return e(ke)}},()=>B,{get ref(){return D()},set ref(Ae){D(Ae)}}))})}r(Je,X),kt()}var Sr=f("<!> <!>",1),Ir=f("<!> <!> <!>",1),Cr=f("<!> <!>",1),Tr=f('<div class="flex flex-col gap-1"><!> <!></div>'),Ar=f('Reason for change <span class="text-[var(--sig-accent)]">*</span>',1),Dr=f('<div class="flex flex-col gap-1"><!> <!></div> <div class="grid grid-cols-2 gap-3"><div class="flex flex-col gap-1"><!> <!></div> <div class="flex flex-col gap-1"><!> <!></div></div> <!> <div class="flex flex-col gap-1"><!> <!></div> <div class="flex items-center justify-between"><!> <!></div> <div class="flex flex-col gap-1"><!> <!></div>',1),Er=f('<span class="px-1.5 py-px border border-[var(--sig-border-strong)]"> </span>'),Mr=f(`This memory is <strong>pinned</strong>. Deleting it requires
|
|
2
2
|
force, which removes it permanently from search results.`,1),Nr=f('<div class="flex items-center gap-2"><!> <!></div>'),zr=f('Reason for deletion <span class="text-[var(--sig-accent)]">*</span>',1),Fr=f(`<div class="flex flex-col gap-2 p-3 border border-[var(--sig-border-strong)]
|
|
3
3
|
bg-[var(--sig-surface-raised)]"><p class="m-0 text-[var(--sig-text-bright)] text-[11px]
|
|
4
4
|
leading-[1.5] whitespace-pre-wrap break-words"> </p> <div class="flex flex-wrap gap-1 text-[9px]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as Wt,o as $,e as Z,q as Gt,N as Yt,$ as Zt,j as r,t as c,k as R,i as t,l as a,F as Jt,v as b,b as _,d as Vt,u as P,A as G,y as F,B as Xt,D as Xe,z as u,O as Qt,w as J,m as T,c as be,f as xe,K as _e,P as ea}from"./KKQFryJf.js";import{h as ta,n as Qe,i as aa,j as ra,k as sa,l as ia,m as na,B as he}from"./BUiRPKJL.js";import{P as oa}from"./DK3bAoxY.js";import{T as la}from"./CyB1_UBK.js";import{C as ca}from"./CHrEUf25.js";import{C as da}from"./DjV3mynX.js";import{R as va}from"./LE_Lrglo.js";var ma=T('<div class="flex flex-1 items-center justify-center sig-label">Loading timeline...</div>'),pa=T('<div class="flex flex-1 items-center justify-center sig-label text-[var(--sig-text-muted)]">No timeline data yet.</div>'),ua=T('<button role="tab"> </button>'),fa=T('<p class="sig-label text-[var(--sig-text-muted)]">No type signals</p>'),ga=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ba=T('<p class="sig-label text-[var(--sig-text-muted)]">No source signals</p>'),xa=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),_a=T('<p class="sig-label text-[var(--sig-text-muted)]">No tags this era</p>'),ha=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ya=T('<p class="mt-2 sig-label text-[var(--sig-text-muted)]">No memories saved in this era yet.</p>'),Ma=T('<article class="timeline-top-card rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-2 svelte-1acbaf"><div class="timeline-top-card-head svelte-1acbaf"><div class="timeline-top-card-icon svelte-1acbaf"> </div> <div class="timeline-top-card-title-wrap svelte-1acbaf"><p class="timeline-top-card-title svelte-1acbaf"> </p> <p class="timeline-top-card-subtitle svelte-1acbaf"> </p></div></div> <p class="timeline-top-card-content mt-1 text-[11px] leading-relaxed text-[var(--sig-text)] line-clamp-4 svelte-1acbaf"> </p> <div class="timeline-top-card-meta mt-auto flex items-center justify-between gap-2 pt-2 text-[11px] text-[var(--sig-text-muted)] svelte-1acbaf"><p class="timeline-top-card-badge svelte-1acbaf"> </p> <p> </p></div></article>'),wa=T('<div class="timeline-top-card-grid mt-2 svelte-1acbaf"></div>'),ka=T('<div class="timeline-stack flex flex-1 min-h-0 flex-col gap-3 svelte-1acbaf"><section class="timeline-hero rounded-xl border border-[var(--sig-border)] p-3 overflow-hidden svelte-1acbaf"><div class="timeline-hero-grid svelte-1acbaf"><div class="min-w-0"><h2 class="timeline-hero-title svelte-1acbaf">Signet Evolution Timeline</h2> <p class="timeline-hero-subtitle svelte-1acbaf">Track added, evolved, and pinned memories across recap eras.</p></div> <div class="timeline-hero-metrics svelte-1acbaf"><div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Agent skills used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">MCP servers used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Average importance</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Pinned</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div></div></div></section> <div class="timeline-content-split flex-1 min-h-0 gap-3 svelte-1acbaf"><section class="timeline-detail-panel flex min-h-0 flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-[10.5px] border-2 border-[var(--sig-border-strong)] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="--panel-pad: 0.75rem;"><div class="timeline-era-head svelte-1acbaf"><div class="timeline-era-title-row svelte-1acbaf"><p class="sig-heading timeline-era-title svelte-1acbaf"> <span class="timeline-era-title-range svelte-1acbaf"> </span></p> <div class="timeline-era-controls flex items-center gap-1 svelte-1acbaf"><!> <div role="tablist" aria-orientation="horizontal" class="flex items-center gap-1"></div> <!> <!></div></div></div> <div class="timeline-summary-grid svelte-1acbaf"><div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Added</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Tracked events captured</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Evolved</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Strengthened</span></p></div></div> <div class="timeline-mix-grid svelte-1acbaf"><div class="timeline-mix-card timeline-mix-card--type p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Type mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--source p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Source mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--tags p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Top tags</p> <!></div></div></section> <section class="timeline-top-panel rounded-[10.5px] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="border: 0.87px solid var(--sig-border);"><div class="flex items-center justify-between gap-2"><p class="sig-label text-[var(--sig-text-bright)]">Top Four Memories</p> <p class="text-[11px] text-[var(--sig-text-bright)]"> </p></div> <!></section></div></div>'),Ta=T('<p class="sig-label text-[var(--sig-danger)]"> </p>'),Sa=T('<div class="timeline-shell flex flex-col flex-1 min-h-0 overflow-hidden bg-[var(--sig-bg)] svelte-1acbaf" role="region" aria-label="Memory timeline. Use left and right arrows to move through eras."><!> <div class="flex flex-1 min-h-0 flex-col gap-3 p-3 bg-[var(--sig-bg)]"><!> <!></div></div>');function $a(et,V){Wt(V,!0);const tt="h-8 px-3 rounded-lg border text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] transition-colors";let X=$(!1),z=$(null),N=$(Z([])),S=$(0),Q=$(Z({})),ee=$(Z({})),te=$(Z({})),I=$(null);const p=P(()=>t(N)[t(S)]??null),ye=P(()=>t(p)?t(Q)[t(p).rangeKey]??0:0);function at(e){return e.sourceBreakdown.filter(l=>Me(l.key)).length}function Me(e){const s=e.trim().toLowerCase();return s?!!(/\bmcp\b/.test(s)||/\btool[-\s]?servers?\b/.test(s)||s.includes("model context protocol")||s.includes("model-context-protocol")||s.includes("modelcontextprotocol")):!1}const we=P(()=>t(p)?Math.max(t(ee)[t(p).rangeKey]??0,at(t(p))):0),ke=P(()=>t(p)?t(te)[t(p).rangeKey]??[]:[]);function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rt(e){if(Array.isArray(e))return e.filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>s.length>0);if(typeof e=="string"){const s=e.trim();if(!s)return[];if(s.startsWith("[")&&s.endsWith("]"))try{const l=JSON.parse(s);if(Array.isArray(l))return l.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0)}catch{}return s.split(",").map(l=>l.trim()).filter(l=>l.length>0)}return[]}function st(e,s,l,n){const A=l.map(i=>i.name.trim().toLowerCase()).filter(i=>i.length>0).map(i=>({name:i,pattern:new RegExp(`\\b${Te(i)}\\b`,"i")})),D=n.flatMap(i=>{const m=[];for(const y of[i.name,i.id]){const M=y.trim().toLowerCase();M.length>0&&m.push({serverId:i.id,pattern:new RegExp(`\\b${Te(M)}\\b`,"i")})}return m}),U=e.map(i=>({bucket:i,skillSet:new Set,mcpSet:new Set,hasMcpSignal:!1,startMs:Date.parse(i.start),endMs:Date.parse(i.end)}));for(const i of s){const m=Date.parse(i.created_at);if(!Number.isFinite(m))continue;const y=rt(i.tags).join(" "),M=[i.content,i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase(),L=[i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase();for(const g of U){if(m<g.startMs||m>g.endMs)continue;for(const C of A)C.pattern.test(M)&&g.skillSet.add(C.name);let W=!1;for(const C of D)C.pattern.test(M)&&(g.mcpSet.add(C.serverId),W=!0);!W&&Me(L)&&(g.hasMcpSignal=!0)}}const K={},v={};for(const i of U)K[i.bucket.rangeKey]=i.skillSet.size,v[i.bucket.rangeKey]=i.mcpSet.size>0?i.mcpSet.size:i.hasMcpSignal?1:0;return{skillUsage:K,mcpUsage:v}}function H(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?0:e>=1?1:e}function it(e,s){const l=new Map;for(const v of e){const i=Date.parse(v.start),m=Date.parse(v.end);!Number.isFinite(i)||!Number.isFinite(m)||l.set(v.rangeKey,{startMs:i,endMs:m})}const n=l.get("today")??null,A=l.get("last_week")??null;function D(v){const i=l.get(v.rangeKey),m=Date.parse(v.start),y=Date.parse(v.end),M={startMs:Number.isFinite(m)?m:Number.NEGATIVE_INFINITY,endMs:Number.isFinite(y)?y:Number.POSITIVE_INFINITY};if(!i)return M;const L=i.startMs;let g=i.endMs;return v.rangeKey==="last_week"&&n?g=Math.min(g,n.startMs-1):v.rangeKey==="one_month"&&(A?g=Math.min(g,A.startMs-1):n&&(g=Math.min(g,n.startMs-1))),g<L?M:{startMs:L,endMs:g}}const U=e.map(v=>{const i=D(v);return{bucket:v,startMs:i.startMs,endMs:i.endMs,candidates:[]}});for(const v of s){const i=Date.parse(v.created_at);if(Number.isFinite(i))for(const m of U){if(i<m.startMs||i>m.endMs)continue;const y=Math.max(1,m.endMs-m.startMs),M=Math.max(0,Math.min(1,(i-m.startMs)/y)),L=H(v.importance)*100+(v.pinned?24:0)+M*8;m.candidates.push({memory:v,score:L,createdAt:i})}}const K={};for(const v of U)v.candidates.sort((i,m)=>{if(m.score!==i.score)return m.score-i.score;const y=H(i.memory.importance),M=H(m.memory.importance);return M!==y?M-y:m.createdAt!==i.createdAt?m.createdAt-i.createdAt:i.memory.id.localeCompare(m.memory.id)}),K[v.bucket.rangeKey]=v.candidates.slice(0,4).map(i=>i.memory);return K}function q(e=1){t(N).length!==0&&b(S,Math.min(t(N).length-1,t(S)+e),!0)}function O(e=1){t(N).length!==0&&b(S,Math.max(0,t(S)-e),!0)}function ae(e){V.ontimelinegeneratedforchange&&V.ontimelinegeneratedforchange(e)}async function nt(){b(X,!0),b(z,null);try{const e=ra(5e3,0),[s,l,n,A]=await Promise.all([sa({fallbackMemories:e.then(U=>U.memories)}),ia(),na(),e]);b(N,s.buckets,!0),ae(s.generatedFor);const D=st(s.buckets,A.memories,l,n.servers);b(Q,D.skillUsage,!0),b(ee,D.mcpUsage,!0),b(te,it(s.buckets,A.memories),!0),b(S,0),s.error&&b(z,s.error,!0)}catch{b(z,"Failed to load timeline."),b(N,[],!0),ae(""),b(Q,{},!0),b(ee,{},!0),b(te,{},!0)}finally{b(X,!1)}}function ot(e,s){const l={month:"short",day:"numeric",timeZone:"UTC"},n=new Date(e).toLocaleDateString("en-US",l),A=new Date(s).toLocaleDateString("en-US",{...l,year:"numeric"});return`${n} - ${A}`}function lt(e,s){const l=Date.parse(e);if(!Number.isFinite(l))return"Unknown";const n=new Date(l);return s==="today"?n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",timeZone:"UTC"}):n.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"})}function ct(e){return`${Math.round(H(e)*100)}%`}function re(e,s,l){return e===1?s:l}function dt(e){const s=e.split(/[-_.\s]+/).map(l=>l.trim()).filter(l=>l.length>0);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():e.slice(0,2).toUpperCase()||"M"}function vt(e){return e.rangeKey==="last_week"?"Week":e.rangeKey==="one_month"?"Month":"Today"}function mt(e){if(Qe.activeTab!=="timeline")return;const s=e.target;if(s instanceof HTMLElement){const n=s.tagName;if(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||s.isContentEditable)return}if(s instanceof HTMLElement&&s.hasAttribute("data-memory-tab")){if(e.key==="ArrowDown"){e.preventDefault();const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus()}return}if(s instanceof HTMLElement&&s.closest('.timeline-era-controls [role="tablist"]')){if(e.key==="ArrowUp"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowDown"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);return}if(e.key==="PageDown"){e.preventDefault(),q(3);return}if(e.key==="PageUp"){e.preventDefault(),O(3);return}}Gt(()=>(nt(),()=>{ae("")}));var Y=Sa();Yt("keydown",Zt,mt);var Se=r(Y);oa(Se,{title:"Timeline",children:(e,s)=>{la(e,{group:"memory",get tabs(){return aa},get activeTab(){return Qe.activeTab},onselect:(l,n)=>ta(n)})}});var Ae=c(Se,2),Ee=r(Ae);{var pt=e=>{var s=ma();_(e,s)},ut=e=>{var s=pa();_(e,s)},ft=e=>{var s=ka(),l=r(s),n=r(l),A=c(r(n),2),D=r(A),U=c(r(D),2),K=r(U);a(U),a(D);var v=c(D,2),i=c(r(v),2),m=r(i);a(i),a(v);var y=c(v,2),M=c(r(y),2),L=r(M);a(M),a(y);var g=c(y,2),W=c(r(g),2),C=r(W);a(W),a(g),a(A),a(n),a(l);var De=c(l,2),se=r(De),ie=r(se),Ue=r(ie),ne=r(Ue),Ne=r(ne),Be=c(Ne),xt=r(Be,!0);a(Be),a(ne);var Le=c(ne,2),$e=r(Le);{let o=P(()=>t(S)<=0);he($e,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>O(),get disabled(){return t(o)},title:"Move to newer era",children:(d,x)=>{ca(d,{class:"size-3.5"})},$$slots:{default:!0}})}var oe=c($e,2);G(oe,23,()=>t(N),o=>o.eraIndex,(o,d,x)=>{var f=ua(),w=r(f,!0);a(f),F(h=>{Xt(f,1,`${tt} ${t(x)===t(S)?"border-[var(--sig-accent)] bg-[color-mix(in_srgb,var(--sig-surface-raised)_76%,transparent)] text-[var(--sig-text-bright)]":"border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"}`,"svelte-1acbaf"),Xe(f,"aria-selected",t(x)===t(S)),Xe(f,"tabindex",t(x)===t(S)?0:-1),u(w,h)},[()=>vt(t(d))]),Qt("click",f,()=>{b(S,t(x),!0)}),_(o,f)}),a(oe);var Ie=c(oe,2);{let o=P(()=>t(S)>=t(N).length-1);he(Ie,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>q(),get disabled(){return t(o)},title:"Move to older era",children:(d,x)=>{da(d,{class:"size-3.5"})},$$slots:{default:!0}})}var _t=c(Ie,2);he(_t,{variant:"ghost",size:"sm",class:"h-8 px-2 sig-label",onclick:()=>{b(S,0)},title:"Jump to today",children:(o,d)=>{va(o,{class:"size-3.5"})},$$slots:{default:!0}}),a(Le),a(Ue),a(ie);var le=c(ie,2),ce=r(le),Ke=r(ce),Ce=r(Ke),ht=r(Ce,!0);a(Ce),J(2),a(Ke),a(ce);var de=c(ce,2),je=r(de),Fe=r(je),yt=r(Fe,!0);a(Fe),J(2),a(je),a(de);var ve=c(de,2),Re=r(ve),Pe=r(Re),Mt=r(Pe,!0);a(Pe),J(2),a(Re),a(ve);var ze=c(ve,2),He=r(ze),qe=r(He),wt=r(qe,!0);a(qe),J(2),a(He),a(ze),a(le);var Oe=c(le,2),me=r(Oe),kt=c(r(me),2);{var Tt=o=>{var d=fa();_(o,d)},St=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).typeBreakdown,_e,(f,w)=>{var h=ga(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(kt,o=>{t(p).typeBreakdown.length===0?o(Tt):o(St,-1)})}a(me);var pe=c(me,2),At=c(r(pe),2);{var Et=o=>{var d=ba();_(o,d)},Dt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).sourceBreakdown,_e,(f,w)=>{var h=xa(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(At,o=>{t(p).sourceBreakdown.length===0?o(Et):o(Dt,-1)})}a(pe);var We=c(pe,2),Ut=c(r(We),2);{var Nt=o=>{var d=_a();_(o,d)},Bt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).topTags,_e,(f,w)=>{var h=ha(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(Ut,o=>{t(p).topTags.length===0?o(Nt):o(Bt,-1)})}a(We),a(Oe),a(se);var Ge=c(se,2),ue=r(Ge),Ye=c(r(ue),2),Lt=r(Ye,!0);a(Ye),a(ue);var $t=c(ue,2);{var It=o=>{var d=ya();_(o,d)},Kt=o=>{var d=wa();G(d,21,()=>t(ke),x=>x.id,(x,f)=>{var w=Ma(),h=r(w),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E),Ct=r(B,!0);a(B);var Ze=c(B,2),jt=r(Ze,!0);a(Ze),a(E),a(h);var fe=c(h,2),Ft=r(fe,!0);a(fe);var Je=c(fe,2),ge=r(Je),Rt=r(ge);a(ge);var Ve=c(ge,2),Pt=r(Ve,!0);a(Ve),a(Je),a(w),F((zt,Ht,qt,Ot)=>{u(j,zt),u(Ct,t(f).who||"Unknown source"),u(jt,Ht),u(Ft,t(f).content),u(Rt,`imp ${qt??""}`),u(Pt,Ot)},[()=>dt(t(f).who||t(f).type||"memory"),()=>t(f).type?.trim()||"memory",()=>ct(t(f).importance),()=>lt(t(f).created_at,t(p).rangeKey)]),_(x,w)}),a(d),_(o,d)};R($t,o=>{t(ke).length===0?o(It):o(Kt,-1)})}a(Ge),a(De),a(s),F((o,d,x,f,w)=>{u(K,`${t(ye)??""} ${o??""}`),u(m,`${t(we)??""} ${d??""}`),u(L,`${x??""}% avg`),u(C,`${t(p).pinned??""} ${f??""}`),u(Ne,`${t(p).label??""}: `),u(xt,w),u(ht,t(p).memoriesAdded),u(yt,t(p).trackedEvents),u(Mt,t(p).evolved),u(wt,t(p).strengthened),u(Lt,t(p).label)},[()=>re(t(ye),"skill","skills"),()=>re(t(we),"server","servers"),()=>Math.round(H(t(p).avgImportance)*100),()=>re(t(p).pinned,"card","cards"),()=>ot(t(p).start,t(p).end)]),_(e,s)};R(Ee,e=>{t(X)?e(pt):t(N).length===0?e(ut,1):t(p)&&e(ft,2)})}var gt=c(Ee,2);{var bt=e=>{var s=Ta(),l=r(s,!0);a(s),F(()=>u(l,t(z))),_(e,s)};R(gt,e=>{t(z)&&e(bt)})}a(Ae),a(Y),Jt(Y,e=>b(I,e),()=>t(I)),_(et,Y),Vt()}ea(["click"]);export{$a as default};
|
|
1
|
+
import{p as Wt,o as $,e as Z,q as Gt,N as Yt,$ as Zt,j as r,t as c,k as R,i as t,l as a,F as Jt,v as b,b as _,d as Vt,u as P,A as G,y as F,B as Xt,D as Xe,z as u,O as Qt,w as J,m as T,c as be,f as xe,K as _e,P as ea}from"./KKQFryJf.js";import{h as ta,n as Qe,i as aa,j as ra,k as sa,l as ia,m as na,B as he}from"./DIA23n0a.js";import{P as oa}from"./DK3bAoxY.js";import{T as la}from"./CyB1_UBK.js";import{C as ca}from"./D_5sbx3x.js";import{C as da}from"./BW36llce.js";import{R as va}from"./DlhKLiQE.js";var ma=T('<div class="flex flex-1 items-center justify-center sig-label">Loading timeline...</div>'),pa=T('<div class="flex flex-1 items-center justify-center sig-label text-[var(--sig-text-muted)]">No timeline data yet.</div>'),ua=T('<button role="tab"> </button>'),fa=T('<p class="sig-label text-[var(--sig-text-muted)]">No type signals</p>'),ga=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ba=T('<p class="sig-label text-[var(--sig-text-muted)]">No source signals</p>'),xa=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),_a=T('<p class="sig-label text-[var(--sig-text-muted)]">No tags this era</p>'),ha=T('<div class="flex w-full items-center justify-between text-[11px] text-[var(--sig-text)]"><span> </span> <span class="text-[var(--sig-text-muted)]"> </span></div>'),ya=T('<p class="mt-2 sig-label text-[var(--sig-text-muted)]">No memories saved in this era yet.</p>'),Ma=T('<article class="timeline-top-card rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] p-2 svelte-1acbaf"><div class="timeline-top-card-head svelte-1acbaf"><div class="timeline-top-card-icon svelte-1acbaf"> </div> <div class="timeline-top-card-title-wrap svelte-1acbaf"><p class="timeline-top-card-title svelte-1acbaf"> </p> <p class="timeline-top-card-subtitle svelte-1acbaf"> </p></div></div> <p class="timeline-top-card-content mt-1 text-[11px] leading-relaxed text-[var(--sig-text)] line-clamp-4 svelte-1acbaf"> </p> <div class="timeline-top-card-meta mt-auto flex items-center justify-between gap-2 pt-2 text-[11px] text-[var(--sig-text-muted)] svelte-1acbaf"><p class="timeline-top-card-badge svelte-1acbaf"> </p> <p> </p></div></article>'),wa=T('<div class="timeline-top-card-grid mt-2 svelte-1acbaf"></div>'),ka=T('<div class="timeline-stack flex flex-1 min-h-0 flex-col gap-3 svelte-1acbaf"><section class="timeline-hero rounded-xl border border-[var(--sig-border)] p-3 overflow-hidden svelte-1acbaf"><div class="timeline-hero-grid svelte-1acbaf"><div class="min-w-0"><h2 class="timeline-hero-title svelte-1acbaf">Signet Evolution Timeline</h2> <p class="timeline-hero-subtitle svelte-1acbaf">Track added, evolved, and pinned memories across recap eras.</p></div> <div class="timeline-hero-metrics svelte-1acbaf"><div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Agent skills used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">MCP servers used</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Average importance</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div> <div class="timeline-hero-metric svelte-1acbaf"><span class="timeline-hero-metric-label svelte-1acbaf">Pinned</span> <strong class="timeline-hero-metric-display svelte-1acbaf"> </strong></div></div></div></section> <div class="timeline-content-split flex-1 min-h-0 gap-3 svelte-1acbaf"><section class="timeline-detail-panel flex min-h-0 flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-[10.5px] border-2 border-[var(--sig-border-strong)] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="--panel-pad: 0.75rem;"><div class="timeline-era-head svelte-1acbaf"><div class="timeline-era-title-row svelte-1acbaf"><p class="sig-heading timeline-era-title svelte-1acbaf"> <span class="timeline-era-title-range svelte-1acbaf"> </span></p> <div class="timeline-era-controls flex items-center gap-1 svelte-1acbaf"><!> <div role="tablist" aria-orientation="horizontal" class="flex items-center gap-1"></div> <!> <!></div></div></div> <div class="timeline-summary-grid svelte-1acbaf"><div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Added</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Tracked events captured</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Evolved</span></p></div> <div class="flex min-h-[56px] items-center justify-center rounded-[6.5px] p-2" style="border: 0.87px solid var(--sig-border-strong); background: var(--sig-surface)"><p class="timeline-summary-line svelte-1acbaf"><span class="sig-heading leading-none"> </span> <span class="timeline-summary-copy svelte-1acbaf">- Strengthened</span></p></div></div> <div class="timeline-mix-grid svelte-1acbaf"><div class="timeline-mix-card timeline-mix-card--type p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Type mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--source p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Source mix</p> <!></div> <div class="timeline-mix-card timeline-mix-card--tags p-2 svelte-1acbaf"><p class="timeline-mix-header mb-1 svelte-1acbaf">Top tags</p> <!></div></div></section> <section class="timeline-top-panel rounded-[10.5px] bg-[var(--sig-surface)] p-3 svelte-1acbaf" style="border: 0.87px solid var(--sig-border);"><div class="flex items-center justify-between gap-2"><p class="sig-label text-[var(--sig-text-bright)]">Top Four Memories</p> <p class="text-[11px] text-[var(--sig-text-bright)]"> </p></div> <!></section></div></div>'),Ta=T('<p class="sig-label text-[var(--sig-danger)]"> </p>'),Sa=T('<div class="timeline-shell flex flex-col flex-1 min-h-0 overflow-hidden bg-[var(--sig-bg)] svelte-1acbaf" role="region" aria-label="Memory timeline. Use left and right arrows to move through eras."><!> <div class="flex flex-1 min-h-0 flex-col gap-3 p-3 bg-[var(--sig-bg)]"><!> <!></div></div>');function $a(et,V){Wt(V,!0);const tt="h-8 px-3 rounded-lg border text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] transition-colors";let X=$(!1),z=$(null),N=$(Z([])),S=$(0),Q=$(Z({})),ee=$(Z({})),te=$(Z({})),I=$(null);const p=P(()=>t(N)[t(S)]??null),ye=P(()=>t(p)?t(Q)[t(p).rangeKey]??0:0);function at(e){return e.sourceBreakdown.filter(l=>Me(l.key)).length}function Me(e){const s=e.trim().toLowerCase();return s?!!(/\bmcp\b/.test(s)||/\btool[-\s]?servers?\b/.test(s)||s.includes("model context protocol")||s.includes("model-context-protocol")||s.includes("modelcontextprotocol")):!1}const we=P(()=>t(p)?Math.max(t(ee)[t(p).rangeKey]??0,at(t(p))):0),ke=P(()=>t(p)?t(te)[t(p).rangeKey]??[]:[]);function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rt(e){if(Array.isArray(e))return e.filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>s.length>0);if(typeof e=="string"){const s=e.trim();if(!s)return[];if(s.startsWith("[")&&s.endsWith("]"))try{const l=JSON.parse(s);if(Array.isArray(l))return l.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0)}catch{}return s.split(",").map(l=>l.trim()).filter(l=>l.length>0)}return[]}function st(e,s,l,n){const A=l.map(i=>i.name.trim().toLowerCase()).filter(i=>i.length>0).map(i=>({name:i,pattern:new RegExp(`\\b${Te(i)}\\b`,"i")})),D=n.flatMap(i=>{const m=[];for(const y of[i.name,i.id]){const M=y.trim().toLowerCase();M.length>0&&m.push({serverId:i.id,pattern:new RegExp(`\\b${Te(M)}\\b`,"i")})}return m}),U=e.map(i=>({bucket:i,skillSet:new Set,mcpSet:new Set,hasMcpSignal:!1,startMs:Date.parse(i.start),endMs:Date.parse(i.end)}));for(const i of s){const m=Date.parse(i.created_at);if(!Number.isFinite(m))continue;const y=rt(i.tags).join(" "),M=[i.content,i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase(),L=[i.who,i.type,y].filter(g=>typeof g=="string").join(" ").toLowerCase();for(const g of U){if(m<g.startMs||m>g.endMs)continue;for(const C of A)C.pattern.test(M)&&g.skillSet.add(C.name);let W=!1;for(const C of D)C.pattern.test(M)&&(g.mcpSet.add(C.serverId),W=!0);!W&&Me(L)&&(g.hasMcpSignal=!0)}}const K={},v={};for(const i of U)K[i.bucket.rangeKey]=i.skillSet.size,v[i.bucket.rangeKey]=i.mcpSet.size>0?i.mcpSet.size:i.hasMcpSignal?1:0;return{skillUsage:K,mcpUsage:v}}function H(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?0:e>=1?1:e}function it(e,s){const l=new Map;for(const v of e){const i=Date.parse(v.start),m=Date.parse(v.end);!Number.isFinite(i)||!Number.isFinite(m)||l.set(v.rangeKey,{startMs:i,endMs:m})}const n=l.get("today")??null,A=l.get("last_week")??null;function D(v){const i=l.get(v.rangeKey),m=Date.parse(v.start),y=Date.parse(v.end),M={startMs:Number.isFinite(m)?m:Number.NEGATIVE_INFINITY,endMs:Number.isFinite(y)?y:Number.POSITIVE_INFINITY};if(!i)return M;const L=i.startMs;let g=i.endMs;return v.rangeKey==="last_week"&&n?g=Math.min(g,n.startMs-1):v.rangeKey==="one_month"&&(A?g=Math.min(g,A.startMs-1):n&&(g=Math.min(g,n.startMs-1))),g<L?M:{startMs:L,endMs:g}}const U=e.map(v=>{const i=D(v);return{bucket:v,startMs:i.startMs,endMs:i.endMs,candidates:[]}});for(const v of s){const i=Date.parse(v.created_at);if(Number.isFinite(i))for(const m of U){if(i<m.startMs||i>m.endMs)continue;const y=Math.max(1,m.endMs-m.startMs),M=Math.max(0,Math.min(1,(i-m.startMs)/y)),L=H(v.importance)*100+(v.pinned?24:0)+M*8;m.candidates.push({memory:v,score:L,createdAt:i})}}const K={};for(const v of U)v.candidates.sort((i,m)=>{if(m.score!==i.score)return m.score-i.score;const y=H(i.memory.importance),M=H(m.memory.importance);return M!==y?M-y:m.createdAt!==i.createdAt?m.createdAt-i.createdAt:i.memory.id.localeCompare(m.memory.id)}),K[v.bucket.rangeKey]=v.candidates.slice(0,4).map(i=>i.memory);return K}function q(e=1){t(N).length!==0&&b(S,Math.min(t(N).length-1,t(S)+e),!0)}function O(e=1){t(N).length!==0&&b(S,Math.max(0,t(S)-e),!0)}function ae(e){V.ontimelinegeneratedforchange&&V.ontimelinegeneratedforchange(e)}async function nt(){b(X,!0),b(z,null);try{const e=ra(5e3,0),[s,l,n,A]=await Promise.all([sa({fallbackMemories:e.then(U=>U.memories)}),ia(),na(),e]);b(N,s.buckets,!0),ae(s.generatedFor);const D=st(s.buckets,A.memories,l,n.servers);b(Q,D.skillUsage,!0),b(ee,D.mcpUsage,!0),b(te,it(s.buckets,A.memories),!0),b(S,0),s.error&&b(z,s.error,!0)}catch{b(z,"Failed to load timeline."),b(N,[],!0),ae(""),b(Q,{},!0),b(ee,{},!0),b(te,{},!0)}finally{b(X,!1)}}function ot(e,s){const l={month:"short",day:"numeric",timeZone:"UTC"},n=new Date(e).toLocaleDateString("en-US",l),A=new Date(s).toLocaleDateString("en-US",{...l,year:"numeric"});return`${n} - ${A}`}function lt(e,s){const l=Date.parse(e);if(!Number.isFinite(l))return"Unknown";const n=new Date(l);return s==="today"?n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",timeZone:"UTC"}):n.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"})}function ct(e){return`${Math.round(H(e)*100)}%`}function re(e,s,l){return e===1?s:l}function dt(e){const s=e.split(/[-_.\s]+/).map(l=>l.trim()).filter(l=>l.length>0);return s.length>=2?`${s[0]?.[0]??""}${s[1]?.[0]??""}`.toUpperCase():e.slice(0,2).toUpperCase()||"M"}function vt(e){return e.rangeKey==="last_week"?"Week":e.rangeKey==="one_month"?"Month":"Today"}function mt(e){if(Qe.activeTab!=="timeline")return;const s=e.target;if(s instanceof HTMLElement){const n=s.tagName;if(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||s.isContentEditable)return}if(s instanceof HTMLElement&&s.hasAttribute("data-memory-tab")){if(e.key==="ArrowDown"){e.preventDefault();const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus()}return}if(s instanceof HTMLElement&&s.closest('.timeline-era-controls [role="tablist"]')){if(e.key==="ArrowUp"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowDown"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);const n=t(I)?.querySelector('.timeline-era-controls [role="tablist"] button[aria-selected="true"]');n instanceof HTMLElement&&n.focus();return}return}if(e.key==="ArrowRight"){e.preventDefault(),q(e.shiftKey?3:1);return}if(e.key==="ArrowLeft"){e.preventDefault(),O(e.shiftKey?3:1);return}if(e.key==="PageDown"){e.preventDefault(),q(3);return}if(e.key==="PageUp"){e.preventDefault(),O(3);return}}Gt(()=>(nt(),()=>{ae("")}));var Y=Sa();Yt("keydown",Zt,mt);var Se=r(Y);oa(Se,{title:"Timeline",children:(e,s)=>{la(e,{group:"memory",get tabs(){return aa},get activeTab(){return Qe.activeTab},onselect:(l,n)=>ta(n)})}});var Ae=c(Se,2),Ee=r(Ae);{var pt=e=>{var s=ma();_(e,s)},ut=e=>{var s=pa();_(e,s)},ft=e=>{var s=ka(),l=r(s),n=r(l),A=c(r(n),2),D=r(A),U=c(r(D),2),K=r(U);a(U),a(D);var v=c(D,2),i=c(r(v),2),m=r(i);a(i),a(v);var y=c(v,2),M=c(r(y),2),L=r(M);a(M),a(y);var g=c(y,2),W=c(r(g),2),C=r(W);a(W),a(g),a(A),a(n),a(l);var De=c(l,2),se=r(De),ie=r(se),Ue=r(ie),ne=r(Ue),Ne=r(ne),Be=c(Ne),xt=r(Be,!0);a(Be),a(ne);var Le=c(ne,2),$e=r(Le);{let o=P(()=>t(S)<=0);he($e,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>O(),get disabled(){return t(o)},title:"Move to newer era",children:(d,x)=>{ca(d,{class:"size-3.5"})},$$slots:{default:!0}})}var oe=c($e,2);G(oe,23,()=>t(N),o=>o.eraIndex,(o,d,x)=>{var f=ua(),w=r(f,!0);a(f),F(h=>{Xt(f,1,`${tt} ${t(x)===t(S)?"border-[var(--sig-accent)] bg-[color-mix(in_srgb,var(--sig-surface-raised)_76%,transparent)] text-[var(--sig-text-bright)]":"border-[var(--sig-border-strong)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text-bright)]"}`,"svelte-1acbaf"),Xe(f,"aria-selected",t(x)===t(S)),Xe(f,"tabindex",t(x)===t(S)?0:-1),u(w,h)},[()=>vt(t(d))]),Qt("click",f,()=>{b(S,t(x),!0)}),_(o,f)}),a(oe);var Ie=c(oe,2);{let o=P(()=>t(S)>=t(N).length-1);he(Ie,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>q(),get disabled(){return t(o)},title:"Move to older era",children:(d,x)=>{da(d,{class:"size-3.5"})},$$slots:{default:!0}})}var _t=c(Ie,2);he(_t,{variant:"ghost",size:"sm",class:"h-8 px-2 sig-label",onclick:()=>{b(S,0)},title:"Jump to today",children:(o,d)=>{va(o,{class:"size-3.5"})},$$slots:{default:!0}}),a(Le),a(Ue),a(ie);var le=c(ie,2),ce=r(le),Ke=r(ce),Ce=r(Ke),ht=r(Ce,!0);a(Ce),J(2),a(Ke),a(ce);var de=c(ce,2),je=r(de),Fe=r(je),yt=r(Fe,!0);a(Fe),J(2),a(je),a(de);var ve=c(de,2),Re=r(ve),Pe=r(Re),Mt=r(Pe,!0);a(Pe),J(2),a(Re),a(ve);var ze=c(ve,2),He=r(ze),qe=r(He),wt=r(qe,!0);a(qe),J(2),a(He),a(ze),a(le);var Oe=c(le,2),me=r(Oe),kt=c(r(me),2);{var Tt=o=>{var d=fa();_(o,d)},St=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).typeBreakdown,_e,(f,w)=>{var h=ga(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(kt,o=>{t(p).typeBreakdown.length===0?o(Tt):o(St,-1)})}a(me);var pe=c(me,2),At=c(r(pe),2);{var Et=o=>{var d=ba();_(o,d)},Dt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).sourceBreakdown,_e,(f,w)=>{var h=xa(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(At,o=>{t(p).sourceBreakdown.length===0?o(Et):o(Dt,-1)})}a(pe);var We=c(pe,2),Ut=c(r(We),2);{var Nt=o=>{var d=_a();_(o,d)},Bt=o=>{var d=be(),x=xe(d);G(x,17,()=>t(p).topTags,_e,(f,w)=>{var h=ha(),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E,!0);a(E),a(h),F(()=>{u(j,t(w).key),u(B,t(w).count)}),_(f,h)}),_(o,d)};R(Ut,o=>{t(p).topTags.length===0?o(Nt):o(Bt,-1)})}a(We),a(Oe),a(se);var Ge=c(se,2),ue=r(Ge),Ye=c(r(ue),2),Lt=r(Ye,!0);a(Ye),a(ue);var $t=c(ue,2);{var It=o=>{var d=ya();_(o,d)},Kt=o=>{var d=wa();G(d,21,()=>t(ke),x=>x.id,(x,f)=>{var w=Ma(),h=r(w),k=r(h),j=r(k,!0);a(k);var E=c(k,2),B=r(E),Ct=r(B,!0);a(B);var Ze=c(B,2),jt=r(Ze,!0);a(Ze),a(E),a(h);var fe=c(h,2),Ft=r(fe,!0);a(fe);var Je=c(fe,2),ge=r(Je),Rt=r(ge);a(ge);var Ve=c(ge,2),Pt=r(Ve,!0);a(Ve),a(Je),a(w),F((zt,Ht,qt,Ot)=>{u(j,zt),u(Ct,t(f).who||"Unknown source"),u(jt,Ht),u(Ft,t(f).content),u(Rt,`imp ${qt??""}`),u(Pt,Ot)},[()=>dt(t(f).who||t(f).type||"memory"),()=>t(f).type?.trim()||"memory",()=>ct(t(f).importance),()=>lt(t(f).created_at,t(p).rangeKey)]),_(x,w)}),a(d),_(o,d)};R($t,o=>{t(ke).length===0?o(It):o(Kt,-1)})}a(Ge),a(De),a(s),F((o,d,x,f,w)=>{u(K,`${t(ye)??""} ${o??""}`),u(m,`${t(we)??""} ${d??""}`),u(L,`${x??""}% avg`),u(C,`${t(p).pinned??""} ${f??""}`),u(Ne,`${t(p).label??""}: `),u(xt,w),u(ht,t(p).memoriesAdded),u(yt,t(p).trackedEvents),u(Mt,t(p).evolved),u(wt,t(p).strengthened),u(Lt,t(p).label)},[()=>re(t(ye),"skill","skills"),()=>re(t(we),"server","servers"),()=>Math.round(H(t(p).avgImportance)*100),()=>re(t(p).pinned,"card","cards"),()=>ot(t(p).start,t(p).end)]),_(e,s)};R(Ee,e=>{t(X)?e(pt):t(N).length===0?e(ut,1):t(p)&&e(ft,2)})}var gt=c(Ee,2);{var bt=e=>{var s=Ta(),l=r(s,!0);a(s),F(()=>u(l,t(z))),_(e,s)};R(gt,e=>{t(z)&&e(bt)})}a(Ae),a(Y),Jt(Y,e=>b(I,e),()=>t(I)),_(et,Y),Vt()}ea(["click"]);export{$a as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,a9 as Je,O as he,aa as We,a2 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./KKQFryJf.js";import{I as ye,K as Xe,o as ae}from"./
|
|
1
|
+
import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,a9 as Je,O as he,aa as We,a2 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./KKQFryJf.js";import{I as ye,K as Xe,o as ae}from"./DIA23n0a.js";import{S as Ye,a as Ze,b as et,c as tt}from"./nNOSYlFs.js";import{W as at,L as ve}from"./vUrylwwg.js";import{T as st}from"./YGwRROBb.js";function rt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];ye(P,be({name:"activity"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}function nt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];ye(P,be({name:"terminal"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}var it=T('<span class="ts-panel-count svelte-c36e65"> </span>'),lt=T("<!> <!>",1),ot=T('<div class="ts-control svelte-c36e65"><div class="ts-control-head svelte-c36e65"><div class="ts-control-title-wrap svelte-c36e65"><!> <span class="ts-control-title svelte-c36e65"> </span> <!></div> <!></div> <div class="ts-action-bar svelte-c36e65"><!> <button class="ts-run svelte-c36e65"><!></button></div></div>'),ct=T('<button class="ts-clear svelte-c36e65" title="Clear output"><!></button>'),dt=T('<div class="ts-empty svelte-c36e65">no output yet</div>'),pt=T('<div class="ts-line svelte-c36e65"></div>'),mt=T('<div class="ts-root svelte-c36e65"><div class="ts-controls svelte-c36e65"></div> <div class="ts-terminal-wrap svelte-c36e65"><div class="ts-terminal-head svelte-c36e65"><span class="ts-control-title svelte-c36e65">Terminal</span> <!></div> <div class="ts-term svelte-c36e65" role="log"><!></div></div></div>');function yt(P,f){se(f,!0);const _=[{id:"cli",title:"CLI",icon:nt,color:"var(--sig-highlight)",commands:[{label:"Status",kind:"cli",key:"status"},{label:"Daemon Status",kind:"cli",key:"daemon-status"},{label:"Daemon Logs",kind:"cli",key:"daemon-logs"},{label:"Sync",kind:"cli",key:"sync"},{label:"Embed Audit",kind:"cli",key:"embed-audit"},{label:"Skill List",kind:"cli",key:"skill-list"},{label:"Secret List",kind:"cli",key:"secret-list"},{label:"Recall Test",kind:"cli",key:"recall-test"}]},{id:"status",title:"Status",icon:rt,color:"var(--sig-highlight)",commands:[{label:"Health",kind:"api",method:"GET",path:"/health"},{label:"Diagnostics",kind:"api",method:"GET",path:"/api/diagnostics"},{label:"Pipeline",kind:"api",method:"GET",path:"/api/pipeline/status"},{label:"Predictor",kind:"api",method:"GET",path:"/api/predictor/status"},{label:"Git",kind:"api",method:"GET",path:"/api/git/status"},{label:"Embeddings",kind:"api",method:"GET",path:"/api/embeddings/health"}]},{id:"info",title:"Info",icon:Xe,color:"var(--sig-highlight)",commands:[{label:"Embed Gaps",kind:"api",method:"GET",path:"/api/repair/embedding-gaps"},{label:"Dedup Stats",kind:"api",method:"GET",path:"/api/repair/dedup-stats"},{label:"Cold Stats",kind:"api",method:"GET",path:"/api/repair/cold-stats"}]},{id:"repair",title:"Repair",icon:at,color:"var(--sig-highlight)",commands:[{label:"Check FTS",kind:"api",method:"POST",path:"/api/repair/check-fts"},{label:"Re-embed",kind:"api",method:"POST",path:"/api/repair/re-embed"},{label:"Resync Vec",kind:"api",method:"POST",path:"/api/repair/resync-vec"},{label:"Clean Orphans",kind:"api",method:"POST",path:"/api/repair/clean-orphans"},{label:"Deduplicate",kind:"api",method:"POST",path:"/api/repair/deduplicate"},{label:"Retention",kind:"api",method:"POST",path:"/api/repair/retention-sweep"},{label:"Requeue Dead",kind:"api",method:"POST",path:"/api/repair/requeue-dead"},{label:"Release Leases",kind:"api",method:"POST",path:"/api/repair/release-leases"},{label:"Backfill Skipped",kind:"api",method:"POST",path:"/api/repair/backfill-skipped"},{label:"Reclassify",kind:"api",method:"POST",path:"/api/repair/reclassify-entities"},{label:"Prune Chunks",kind:"api",method:"POST",path:"/api/repair/prune-chunk-groups"},{label:"Prune Singletons",kind:"api",method:"POST",path:"/api/repair/prune-singleton-entities"},{label:"Stop Daemon",kind:"cli",key:"daemon-stop"},{label:"Restart Daemon",kind:"cli",key:"daemon-restart"},{label:"Update Signet",kind:"cli",key:"update"}]}],g=pe(Object.fromEntries(_.map(e=>[e.id,{lines:[],running:!1,selected:0}])));let h=me(pe([])),O=me(void 0);const x=Object.fromEntries(_.map(e=>[e.id,e]));function E(e){te(O,e,!0)}async function v(e){await Ve(),s(O)?.scrollTo({top:s(O).scrollHeight,behavior:"smooth"})}function o(e,t){const a=g[e];if(!a)return;a.lines=[...a.lines,t];const i=x[e]?.title??e;te(h,[...s(h),t?`[${i}] ${t}`:""],!0)}function _e(){te(h,[],!0);for(const e of _)g[e.id].lines=[]}async function xe(e,t){const a=g[e];if(!a||a.running||!t.key)return;a.running=!0,o(e,`\x1B[32m$\x1B[0m signet ${t.key.replace(/-/g," ")}`),await v();const i=new AbortController;let r=!1;try{const n=await fetch(`${ae}/api/troubleshoot/exec`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:t.key}),signal:i.signal});if(!n.ok){const D=await n.json().catch(()=>({error:"request failed"}));o(e,`\x1B[31merror:\x1B[0m ${D.error??n.statusText}`),a.running=!1,await v(e);return}const d=n.body?.getReader();if(!d){o(e,"\x1B[31merror:\x1B[0m no stream"),a.running=!1;return}t.key==="daemon-restart"&&(r=!0);const b=new TextDecoder;let $="";try{for(;;){const{done:D,value:W}=await d.read();if(D)break;$+=b.decode(W,{stream:!0});const N=$.split(`
|
|
2
2
|
|
|
3
3
|
`);$=N.pop()??"";for(const F of N){const R=F.match(/^data:\s*(.+)$/m);if(R)try{const m=JSON.parse(R[1]);if(m.type==="started"&&(r=!0),m.type==="stdout"||m.type==="stderr"){const S=String(m.data).replace(/\n$/,"");if(S){for(const I of S.split(`
|
|
4
4
|
`))o(e,m.type==="stderr"?`\x1B[33m${I}\x1B[0m`:I);await v(e)}}else m.type==="exit"?(o(e,m.code===0?"\x1B[32m✓ exit 0\x1B[0m":`\x1B[31m✗ exit ${m.code}\x1B[0m`),await v(e)):m.type==="error"&&(o(e,`\x1B[31merror:\x1B[0m ${m.message}`),await v(e))}catch{}}}}finally{d.releaseLock()}}catch(n){i.signal.aborted||(t.key==="daemon-stop"||t.key==="daemon-restart"?o(e,"\x1B[33mDaemon process ended\x1B[0m"):o(e,`\x1B[31merror:\x1B[0m ${n instanceof Error?n.message:"fetch failed"}`))}if(t.key==="daemon-restart"&&r){o(e,"\x1B[90mWaiting for daemon to restart...\x1B[0m"),await v();let n=!1;for(let d=0;d<15;d++){await new Promise(b=>setTimeout(b,1e3));try{if((await fetch(`${ae}/health`)).ok){n=!0;break}}catch{}}o(e,n?"\x1B[32m✓ Daemon restarted\x1B[0m":"\x1B[31m✗ Daemon did not restart within 15s\x1B[0m"),await v()}o(e,""),a.running=!1,await v()}async function $e(e,t){const a=g[e];if(!a||a.running||!t.path||!t.method)return;a.running=!0;const i=performance.now();o(e,`\x1B[32m$\x1B[0m ${t.method} ${t.path}`),await v();try{const r=await fetch(`${ae}${t.path}`,{method:t.method}),n=Math.round(performance.now()-i),b=(r.headers.get("content-type")??"").includes("json")?JSON.stringify(await r.json(),null,2):await r.text();o(e,r.ok?`\x1B[32m${r.status} OK\x1B[0m \x1B[90m${n}ms\x1B[0m`:`\x1B[31m${r.status} FAILED\x1B[0m \x1B[90m${n}ms\x1B[0m`);for(const $ of b.split(`
|