signetai 0.78.2 → 0.78.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/assets/0.CU0K3a5Q.css +1 -0
- package/dashboard/_app/immutable/assets/AuditTab.DfUZSCcu.css +1 -0
- package/dashboard/_app/immutable/assets/CortexTab.DM0MR2Ew.css +1 -0
- package/dashboard/_app/immutable/assets/{TaskDetail.YLB6Rg4e.css → CortexTasksPanel.C4153GOT.css} +1 -1
- package/dashboard/_app/immutable/assets/TroubleshooterPanel.Bj27xjMc.css +1 -0
- package/dashboard/_app/immutable/chunks/2sVhTPqV.js +5 -0
- package/dashboard/_app/immutable/chunks/{BMHg4p9s.js → 8I6zSz1_.js} +1 -1
- package/dashboard/_app/immutable/chunks/B1CG30Tk.js +1 -0
- package/dashboard/_app/immutable/chunks/B5EqjC58.js +2 -0
- package/dashboard/_app/immutable/chunks/B7Trm0Eb.js +1 -0
- package/dashboard/_app/immutable/chunks/{BX1Yz7rd.js → BDT3hrUw.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BjFLqtWT.js → BFQszhNF.js} +1 -1
- package/dashboard/_app/immutable/chunks/BFjTMOJT.js +1 -0
- package/dashboard/_app/immutable/chunks/BLxYnJFM.js +1 -0
- package/dashboard/_app/immutable/chunks/{ycjTzGx9.js → BU2RpiOd.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C6Ut0qMj.js → BUfNSShc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Sbdhs5rk.js → BfyKCXaY.js} +1 -1
- package/dashboard/_app/immutable/chunks/BlyEKFy6.js +1 -0
- package/dashboard/_app/immutable/chunks/{otBz_bAw.js → C1mzMGVK.js} +1 -1
- package/dashboard/_app/immutable/chunks/C3uL_G-6.js +3 -0
- package/dashboard/_app/immutable/chunks/CJKt8AUS.js +32 -0
- package/dashboard/_app/immutable/chunks/{D4fMMG5j.js → CKyI7_iw.js} +1 -1
- package/dashboard/_app/immutable/chunks/{TDeGgAzG.js → CQXEoRQp.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CYGmkkOT.js → CQm_y4uV.js} +1 -1
- package/dashboard/_app/immutable/chunks/CZ4IBYNe.js +1 -0
- package/dashboard/_app/immutable/chunks/{Dg17Auac.js → CeI7UBRO.js} +1 -1
- package/dashboard/_app/immutable/chunks/CjQstM_p.js +15 -0
- package/dashboard/_app/immutable/chunks/CwRhzb5g.js +1 -0
- package/dashboard/_app/immutable/chunks/CwqzNZZy.js +2 -0
- package/dashboard/_app/immutable/chunks/CziGSIXa.js +1 -0
- package/dashboard/_app/immutable/chunks/D4hiagJ4.js +3 -0
- package/dashboard/_app/immutable/chunks/{Bf45f0Vp.js → D5r8Pi79.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D7ozeA5b.js → D8vxVi1s.js} +1 -1
- package/dashboard/_app/immutable/chunks/DFBQgsWq.js +2 -0
- package/dashboard/_app/immutable/chunks/DJ34Ow8B.js +64 -0
- package/dashboard/_app/immutable/chunks/{CjrslgAi.js → DOaCXx_K.js} +1 -1
- package/dashboard/_app/immutable/chunks/{2MfvoDg1.js → DVXNr7Gr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BHvXyetp.js → DYIWBQCf.js} +1 -1
- package/dashboard/_app/immutable/chunks/DYOdoKxT.js +264 -0
- package/dashboard/_app/immutable/chunks/{DWi5AdTB.js → DZJZefYk.js} +2 -2
- package/dashboard/_app/immutable/chunks/Db1xOFju.js +1 -0
- package/dashboard/_app/immutable/chunks/DddEkaw0.js +1 -0
- package/dashboard/_app/immutable/chunks/Ddm7yfuh.js +7 -0
- package/dashboard/_app/immutable/chunks/{CH07uMzE.js → DlL5xNTX.js} +1 -1
- package/dashboard/_app/immutable/chunks/{8qq9odk9.js → Dnh29zl2.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CCS36Mqc.js → DyjGoGyT.js} +1 -1
- package/dashboard/_app/immutable/chunks/JGLyxup4.js +27 -0
- package/dashboard/_app/immutable/chunks/{DP3h6pcQ.js → LDm615q6.js} +1 -1
- package/dashboard/_app/immutable/chunks/{gnFq108l.js → NJkCFQbe.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BnRD8JUX.js → P0vgGLcV.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DP2Cqb23.js → QQITl5fF.js} +1 -1
- package/dashboard/_app/immutable/chunks/TyeR9VWg.js +26 -0
- package/dashboard/_app/immutable/chunks/{BLrn3yUI.js → altURCqx.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Bfse3fCo.js → anLJSqtR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DMYKaFD3.js → rn86Xwnc.js} +1 -1
- package/dashboard/_app/immutable/chunks/sCGNJapo.js +36 -0
- package/dashboard/_app/immutable/chunks/zWsBWM0e.js +4 -0
- package/dashboard/_app/immutable/entry/app.CRVX7NHY.js +2 -0
- package/dashboard/_app/immutable/entry/start.D6fHbnXJ.js +1 -0
- package/dashboard/_app/immutable/nodes/{0.jIuPfYNn.js → 0.B0A_vgr9.js} +1 -1
- package/dashboard/_app/immutable/nodes/1.B4ePHtXd.js +1 -0
- package/dashboard/_app/immutable/nodes/2.UCOJaFhi.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +7 -7
- package/dist/daemon.js +240 -216
- package/package.json +1 -1
- package/dashboard/_app/immutable/assets/0.CJqciL3X.css +0 -1
- package/dashboard/_app/immutable/assets/CortexTab.CbEfH7Fd.css +0 -1
- package/dashboard/_app/immutable/assets/CortexTasksPanel.Ds5n7IaC.css +0 -1
- package/dashboard/_app/immutable/assets/TasksTab.Bok2ZX0D.css +0 -1
- package/dashboard/_app/immutable/assets/TroubleshooterPanel.Dw-L2Im3.css +0 -1
- package/dashboard/_app/immutable/chunks/2MRzfVP3.js +0 -1
- package/dashboard/_app/immutable/chunks/3MTuhkkM.js +0 -1
- package/dashboard/_app/immutable/chunks/7pObTy5Z.js +0 -27
- package/dashboard/_app/immutable/chunks/B82MekTh.js +0 -4
- package/dashboard/_app/immutable/chunks/BXXcrVDk.js +0 -1
- package/dashboard/_app/immutable/chunks/Bh3nIh1p.js +0 -7
- package/dashboard/_app/immutable/chunks/Bo0KuYql.js +0 -26
- package/dashboard/_app/immutable/chunks/C2EsmaBq.js +0 -32
- package/dashboard/_app/immutable/chunks/CAzEUj7-.js +0 -3
- package/dashboard/_app/immutable/chunks/CQlsEtmr.js +0 -2
- package/dashboard/_app/immutable/chunks/CRs_2u26.js +0 -39
- package/dashboard/_app/immutable/chunks/Ca7ofCGO.js +0 -264
- package/dashboard/_app/immutable/chunks/CaQOFuOW.js +0 -1
- package/dashboard/_app/immutable/chunks/Cfzanl-M.js +0 -1
- package/dashboard/_app/immutable/chunks/Cvtb1Uv1.js +0 -5
- package/dashboard/_app/immutable/chunks/D2L-5-73.js +0 -61
- package/dashboard/_app/immutable/chunks/D4j6_yDm.js +0 -1
- package/dashboard/_app/immutable/chunks/D7-Y1GbH.js +0 -1
- package/dashboard/_app/immutable/chunks/D7kvLQQv.js +0 -1
- package/dashboard/_app/immutable/chunks/D9AMLR_o.js +0 -1
- package/dashboard/_app/immutable/chunks/DPqWqYTP.js +0 -15
- package/dashboard/_app/immutable/chunks/DW-0HYki.js +0 -3
- package/dashboard/_app/immutable/chunks/cLV2Mo98.js +0 -2
- package/dashboard/_app/immutable/chunks/pP_VsnEc.js +0 -1
- package/dashboard/_app/immutable/chunks/u_Tqmrjo.js +0 -1
- package/dashboard/_app/immutable/entry/app.D33Fg_EX.js +0 -2
- package/dashboard/_app/immutable/entry/start.CKfFW3OZ.js +0 -1
- package/dashboard/_app/immutable/nodes/1.CixhrL0r.js +0 -1
- package/dashboard/_app/immutable/nodes/2.BF93CE4w.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./
|
|
1
|
+
import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./Ddm7yfuh.js";import{I as $}from"./DJ34Ow8B.js";function P(e,s){n(s,!0);let o=h(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];$(e,d({name:"plus"},()=>o,{get iconNode(){return t},children:(r,v)=>{var a=c(),p=l(a);i(p,()=>s.children??m),u(r,a)},$$slots:{default:!0}})),f()}export{P};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./
|
|
1
|
+
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./Ddm7yfuh.js";import{I as $}from"./DJ34Ow8B.js";function k(o,s){p(s,!0);let a=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M20 6 9 17l-5-5"}]];$(o,c({name:"check"},()=>a,{get iconNode(){return t},children:(r,_)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(r,e)},$$slots:{default:!0}})),h()}export{k as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as h,
|
|
1
|
+
import{p as h,e as s,c as o,f as d,M as p,F as m,E as x,a as y,n as w,b as c,d as _,r as k}from"./Ddm7yfuh.js";import{c as B,e as V}from"./DJ34Ow8B.js";const j=V({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent",destructive:"bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function F(v,e){h(e,!0);let a=s(e,"ref",15,null),f=s(e,"variant",3,"default"),l=k(e,["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);var t=o(),u=d(t);p(u,()=>e.href?"a":"span",!1,(i,g)=>{m(i,r=>a(r),()=>a()),x(i,r=>({"data-slot":"badge",href:e.href,class:r,...l}),[()=>B(j({variant:f()}),e.class)]);var n=o(),b=d(n);y(b,()=>e.children??w),c(g,n)}),c(v,t),_()}export{F as B};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import{p as et,s as Ht,c as ue,f as h,a as Ft,n as Wt,b as a,d as tt,r as Ut,e as kt,i as l,k as s,t as r,j as A,h as e,y as k,B as Dt,D as yt,z as f,O as We,u as B,l as i,P as ft,A as Me,aa as Et,m as oe,o as qt,Q as $t,v,g as p,w as m,x as I,N as Vt,U as Gt,F as Qt,a0 as wt,K as Pt,q as Zt}from"./Ddm7yfuh.js";import{I as Jt,l as Xt,$ as It,a0 as Nt,a1 as Lt,a2 as Ot,B as ot,aG as Yt,a6 as ea,a3 as Mt,aH as zt,aI as ta,aJ as Ct,K as aa,aK as St,aL as sa,aM as xe,aN as ra,aO as jt,aP as Tt,aQ as na}from"./DJ34Ow8B.js";import{S as la}from"./C1mzMGVK.js";import{I as bt}from"./D8vxVi1s.js";import{L as Ye}from"./BU2RpiOd.js";import{T as oa}from"./rn86Xwnc.js";import{c as ct,S as ut,a as gt,b as Oe}from"./LDm615q6.js";import{B as _t}from"./DyjGoGyT.js";import{S as ia,a as da}from"./CwRhzb5g.js";import{C as va,a as ca}from"./Db1xOFju.js";import{P as ua}from"./BDT3hrUw.js";import{T as ga}from"./CeI7UBRO.js";import{P as _a}from"./DlL5xNTX.js";import{Z as fa}from"./BUfNSShc.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`}let 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),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));const 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()}const Ta=[{label:"PR Review",description:"Review open pull requests daily",name:"Review open PRs",prompt:"Review all open pull requests. Summarize changes, flag potential issues, and note any that need urgent attention.",harness:"claude-code",cronExpression:"0 9 * * *"},{label:"Test Suite",description:"Run tests and report failures",name:"Run test suite",prompt:"Run the full test suite. Report any failures with context about what broke and likely causes.",harness:"claude-code",cronExpression:"0 * * * *"},{label:"Memory Maintenance",description:"Clean up and deduplicate memories",name:"Memory maintenance",prompt:"Review recent memories for duplicates, outdated information, and low-quality entries. Suggest cleanup actions.",harness:"claude-code",cronExpression:"0 9 * * 0",skillName:"memory-debug",skillMode:"inject"},{label:"Code Review",description:"Review recent commits for issues",name:"Review recent commits",prompt:"Review commits from the last 24 hours. Look for bugs, style issues, missing tests, and security concerns.",harness:"claude-code",cronExpression:"0 17 * * *"},{label:"Docs Audit",description:"Check documentation is up to date",name:"Documentation audit",prompt:"Audit the project documentation. Check for outdated references, missing docs for new features, and broken links.",harness:"claude-code",cronExpression:"0 9 * * 1"}];var Ra=i("<!> <!>",1),Da=i(`<button class="flex flex-col gap-0.5 p-2 rounded text-left
|
|
2
|
+
bg-[var(--sig-surface-raised)] border border-[var(--sig-border)]
|
|
3
|
+
hover:border-[var(--sig-text-muted)] transition-colors cursor-pointer"><span class="text-[11px] text-[var(--sig-text-bright)]"> </span> <span class="text-[9px] text-[var(--sig-text-muted)] leading-[1.4]"> </span></button>`),Ea=i(`<div class="flex flex-col gap-2 px-4 pb-3"><div class="flex items-center justify-between"><span class="text-[10px] font-bold uppercase tracking-[0.1em]
|
|
4
|
+
text-[var(--sig-text-muted)] font-[family-name:var(--font-display)]">Start from a template</span> <button class="text-[var(--sig-text-muted)] hover:text-[var(--sig-text)]
|
|
5
|
+
transition-colors p-0.5"><!></button></div> <div class="grid grid-cols-2 gap-1.5"></div></div>`),$a=i("<!> <!> <!>",1),Ia=i("<!> <!>",1),Na=i(`<span class="flex items-center justify-between w-full gap-2"><span> </span> <span class="text-[10px] text-[var(--sig-text-muted)]
|
|
6
|
+
font-[family-name:var(--font-mono)] opacity-60"> </span></span>`),La=i("<!> <!>",1),Oa=i("<!> <!>",1),Ma=i('<div class="flex flex-col gap-1"><!> <!> <span class="text-[10px] text-[var(--sig-text-muted)] opacity-60">minute hour day-of-month month day-of-week</span></div>'),za=i('Working directory <span class="opacity-50">(optional)</span>',1),Aa=i('Skill <span class="opacity-50">(optional)</span>',1),Ka=i(`<span class="text-[9px] text-[var(--sig-text-muted)]
|
|
7
|
+
truncate max-w-[140px]"> </span>`),Ba=i('<span class="flex items-center justify-between w-full gap-2"><span> </span> <!></span>'),Ha=i("<!> <!>",1),Fa=i("<!> <!>",1),Wa=i("<!> <!>",1),Ua=i("<!> <!>",1),qa=i(`<div class="flex gap-2 p-2 rounded
|
|
8
|
+
bg-[var(--sig-warning,#f59e0b)]/8
|
|
9
|
+
border border-[var(--sig-warning,#f59e0b)]/20"><!> <span class="text-[10px] text-[var(--sig-text-muted)] leading-[1.6]">Runs with <code class="text-[10px] font-[family-name:var(--font-mono)]
|
|
10
|
+
text-[var(--sig-text)] bg-[var(--sig-surface-raised)] px-1 py-px">--dangerously-skip-permissions</code> — no approval gates.</span></div>`),Va=i('<!> <!> <form class="flex flex-col gap-3 px-4"><div class="flex flex-col gap-1"><!> <!></div> <div class="flex flex-col gap-1"><!> <!></div> <div class="grid grid-cols-2 gap-3"><div class="flex flex-col gap-1"><!> <!></div> <div class="flex flex-col gap-1"><!> <!></div></div> <!> <div class="flex flex-col gap-1"><!> <!></div> <div class="flex flex-col gap-1"><!> <div><!> <!></div></div> <!> <!></form>',1);function Ga(ke,t){et(t,!0);let N=B(()=>t.editingId?t.tasks.find(u=>u.id===t.editingId):null),y=oe(""),H=oe(""),D=oe("0 9 * * *"),T=oe("claude-code"),L=oe(""),R=oe("preset"),ae=oe(!1),E=oe(""),se=oe("inject"),ie=oe(qt([])),ge=oe(!0);const O=[{label:"Every 15 min",expression:"*/15 * * * *"},{label:"Hourly",expression:"0 * * * *"},{label:"Daily 9am",expression:"0 9 * * *"},{label:"Weekly Mon 9am",expression:"0 9 * * 1"}];let M=B(()=>t.presets.length>0?t.presets:O);function c(u){const n=e(M).find(o=>o.expression===u);return n?n.label:u}let $=oe(void 0);$t(()=>{if(t.open&&(e($)===void 0||t.editingId!==e($))){if(e(N)){v(y,e(N).name,!0),v(H,e(N).prompt,!0),v(D,e(N).cron_expression,!0),v(T,e(N).harness,!0),v(L,e(N).working_directory??"",!0),v(E,e(N).skill_name??"",!0),v(se,e(N).skill_mode??"inject",!0);const u=e(M).some(n=>n.expression===e(D));v(R,u?"preset":"custom",!0),v(ge,!1)}else v(y,""),v(H,""),v(D,"0 9 * * *"),v(T,"claude-code"),v(L,""),v(E,""),v(se,"inject"),v(R,"preset"),v(ge,!0);v($,t.editingId,!0),Xt().then(u=>{v(ie,u,!0)})}t.open||v($,void 0)});function re(u){v(y,u.name,!0),v(H,u.prompt,!0),v(T,u.harness,!0),v(D,u.cronExpression,!0),v(E,u.skillName??"",!0),v(se,u.skillMode??"inject",!0);const n=e(M).some(o=>o.expression===e(D));v(R,n?"preset":"custom",!0),v(ge,!1)}function _e(u){u==="__custom__"?(v(R,"custom"),v(D,"")):(v(R,"preset"),v(D,u,!0))}async function me(){if(!e(y).trim()||!e(H).trim()||!e(D).trim())return;v(ae,!0);const u=e(E)||void 0,n=u?e(se):void 0;t.editingId?await zt(t.editingId,{name:e(y).trim(),prompt:e(H).trim(),cronExpression:e(D).trim(),harness:e(T),workingDirectory:e(L).trim()||null,skillName:u??null,skillMode:n??null})&&t.onclose():await ta({name:e(y).trim(),prompt:e(H).trim(),cronExpression:e(D).trim(),harness:e(T),workingDirectory:e(L).trim()||void 0,skillName:u,skillMode:n})&&t.onclose(),v(ae,!1)}const Z="bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8",b="bg-[var(--sig-surface-raised)] border-[var(--sig-border)]",w="text-[12px] text-[var(--sig-text)]";var J=ue(),F=h(J);p(F,()=>Mt,(u,n)=>{n(u,{get open(){return t.open},onOpenChange:o=>{o||t.onclose()},children:(o,C)=>{var pe=ue(),he=h(pe);p(he,()=>It,(Ie,Ne)=>{Ne(Ie,{class:`bg-[var(--sig-surface)] border-[var(--sig-border)]
|
|
11
|
+
text-[var(--sig-text)] w-[420px] sm:max-w-[420px]`,children:(ze,Ae)=>{var fe=Va(),ye=h(fe);p(ye,()=>Nt,(d,x)=>{x(d,{class:"pb-2",children:(g,P)=>{var de=Ra(),q=h(de);p(q,()=>Lt,(z,j)=>{j(z,{class:"text-[var(--sig-text-bright)] text-[14px]",children:(Q,ve)=>{m();var V=I();k(()=>f(V,t.editingId?"Edit Task":"New Scheduled Task")),a(Q,V)},$$slots:{default:!0}})});var le=r(q,2);p(le,()=>Ot,(z,j)=>{j(z,{class:"text-[var(--sig-text-muted)] text-[11px]",children:(Q,ve)=>{m();var V=I();k(()=>f(V,t.editingId?"Modify this scheduled task.":"Schedule a recurring prompt to run automatically.")),a(Q,V)},$$slots:{default:!0}})}),a(g,de)},$$slots:{default:!0}})});var K=r(ye,2);{var X=d=>{var x=Ea(),g=l(x),P=r(l(g),2),de=l(P);Yt(de,{class:"size-3"}),s(P),s(g);var q=r(g,2);Me(q,21,()=>Ta,le=>le.label,(le,z)=>{var j=Da(),Q=l(j),ve=l(Q,!0);s(Q);var V=r(Q,2),ee=l(V,!0);s(V),s(j),k(()=>{f(ve,e(z).label),f(ee,e(z).description)}),We("click",j,()=>re(e(z))),a(le,j)}),s(q),s(x),We("click",P,()=>{v(ge,!1)}),a(d,x)};A(K,d=>{!t.editingId&&e(ge)&&d(X)})}var be=r(K,2),Re=l(be),Ue=l(Re);Ye(Ue,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,x)=>{m();var g=I("Name");a(d,g)},$$slots:{default:!0}});var at=r(Ue,2);bt(at,{placeholder:"e.g. Review open PRs",class:Z,get value(){return e(y)},set value(d){v(y,d,!0)}}),s(Re);var Ke=r(Re,2),st=l(Ke);Ye(st,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,x)=>{m();var g=I("Prompt");a(d,g)},$$slots:{default:!0}});var Se=r(st,2);oa(Se,{placeholder:"What should the agent do?",rows:3,class:`bg-[var(--sig-surface-raised)] border-[var(--sig-border)]
|
|
12
|
+
text-[var(--sig-text-bright)] text-[12px] resize-none`,get value(){return e(H)},set value(d){v(H,d,!0)}}),s(Ke);var we=r(Ke,2),Be=l(we),rt=l(Be);Ye(rt,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,x)=>{m();var g=I("Harness");a(d,g)},$$slots:{default:!0}});var qe=r(rt,2);p(qe,()=>ct,(d,x)=>{x(d,{type:"single",get value(){return e(T)},onValueChange:g=>{g&&v(T,g,!0)},children:(g,P)=>{var de=Ia(),q=h(de);p(q,()=>ut,(z,j)=>{j(z,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(Q,ve)=>{m();var V=I();k(()=>f(V,e(T)==="claude-code"?"Claude Code":e(T)==="codex"?"Codex":"OpenCode")),a(Q,V)},$$slots:{default:!0}})});var le=r(q,2);p(le,()=>gt,(z,j)=>{j(z,{class:b,children:(Q,ve)=>{var V=$a(),ee=h(V);p(ee,()=>Oe,(te,G)=>{G(te,{value:"claude-code",label:"Claude Code",class:w,children:(ne,Te)=>{m();var ce=I("Claude Code");a(ne,ce)},$$slots:{default:!0}})});var je=r(ee,2);p(je,()=>Oe,(te,G)=>{G(te,{value:"codex",label:"Codex",class:w,children:(ne,Te)=>{m();var ce=I("Codex");a(ne,ce)},$$slots:{default:!0}})});var $e=r(je,2);p($e,()=>Oe,(te,G)=>{G(te,{value:"opencode",label:"OpenCode",class:w,children:(ne,Te)=>{m();var ce=I("OpenCode");a(ne,ce)},$$slots:{default:!0}})}),a(Q,V)},$$slots:{default:!0}})}),a(g,de)},$$slots:{default:!0}})}),s(Be);var nt=r(Be,2),Ve=l(nt);Ye(Ve,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,x)=>{m();var g=I("Schedule");a(d,g)},$$slots:{default:!0}});var Ge=r(Ve,2);{let d=B(()=>e(R)==="custom"?"__custom__":e(D));p(Ge,()=>ct,(x,g)=>{g(x,{type:"single",get value(){return e(d)},onValueChange:_e,children:(P,de)=>{var q=Oa(),le=h(q);p(le,()=>ut,(j,Q)=>{Q(j,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(ve,V)=>{m();var ee=I();k(je=>f(ee,je),[()=>e(R)==="custom"?"Custom...":c(e(D))]),a(ve,ee)},$$slots:{default:!0}})});var z=r(le,2);p(z,()=>gt,(j,Q)=>{Q(j,{class:b,children:(ve,V)=>{var ee=La(),je=h(ee);Me(je,17,()=>e(M),te=>te.expression,(te,G)=>{var ne=ue(),Te=h(ne);p(Te,()=>Oe,(ce,lt)=>{lt(ce,{get value(){return e(G).expression},get label(){return e(G).label},class:w,children:(Ze,Kt)=>{var Je=Na(),Xe=l(Je),xt=l(Xe,!0);s(Xe);var vt=r(Xe,2),mt=l(vt,!0);s(vt),s(Je),k(()=>{f(xt,e(G).label),f(mt,e(G).expression)}),a(Ze,Je)},$$slots:{default:!0}})}),a(te,ne)});var $e=r(je,2);p($e,()=>Oe,(te,G)=>{G(te,{value:"__custom__",label:"Custom...",class:w,children:(ne,Te)=>{m();var ce=I("Custom...");a(ne,ce)},$$slots:{default:!0}})}),a(ve,ee)},$$slots:{default:!0}})}),a(P,q)},$$slots:{default:!0}})})}s(nt),s(we);var Y=r(we,2);{var Pe=d=>{var x=Ma(),g=l(x);Ye(g,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(de,q)=>{m();var le=I("Cron expression");a(de,le)},$$slots:{default:!0}});var P=r(g,2);bt(P,{placeholder:"*/15 * * * *",class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 font-[family-name:var(--font-mono)]",get value(){return e(D)},set value(de){v(D,de,!0)}}),m(2),s(x),a(d,x)};A(Y,d=>{e(R)==="custom"&&d(Pe)})}var De=r(Y,2),He=l(De);Ye(He,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,x)=>{m();var g=za();m(),a(d,g)},$$slots:{default:!0}});var Qe=r(He,2);bt(Qe,{placeholder:"/path/to/project",class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 font-[family-name:var(--font-mono)]",get value(){return e(L)},set value(d){v(L,d,!0)}}),s(De);var Ce=r(De,2),it=l(Ce);Ye(it,{class:"text-[11px] text-[var(--sig-text-muted)]",children:(d,x)=>{m();var g=Aa();m(),a(d,g)},$$slots:{default:!0}});var _=r(it,2);let S;var W=l(_);{let d=B(()=>e(E)||"__none__");p(W,()=>ct,(x,g)=>{g(x,{type:"single",get value(){return e(d)},onValueChange:P=>{P==="__none__"?v(E,""):P&&v(E,P,!0)},children:(P,de)=>{var q=Fa(),le=h(q);p(le,()=>ut,(j,Q)=>{Q(j,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(ve,V)=>{m();var ee=I();k(()=>f(ee,e(E)||"None")),a(ve,ee)},$$slots:{default:!0}})});var z=r(le,2);p(z,()=>gt,(j,Q)=>{Q(j,{class:b,children:(ve,V)=>{var ee=Ha(),je=h(ee);p(je,()=>Oe,(te,G)=>{G(te,{value:"__none__",label:"None",class:w,children:(ne,Te)=>{m();var ce=I("None");a(ne,ce)},$$slots:{default:!0}})});var $e=r(je,2);Me($e,17,()=>e(ie),te=>te.name,(te,G)=>{var ne=ue(),Te=h(ne);p(Te,()=>Oe,(ce,lt)=>{lt(ce,{get value(){return e(G).name},get label(){return e(G).name},class:w,children:(Ze,Kt)=>{var Je=Ba(),Xe=l(Je),xt=l(Xe,!0);s(Xe);var vt=r(Xe,2);{var mt=pt=>{var ht=Ka(),Bt=l(ht,!0);s(ht),k(()=>f(Bt,e(G).description)),a(pt,ht)};A(vt,pt=>{e(G).description&&pt(mt)})}s(Je),k(()=>f(xt,e(G).name)),a(Ze,Je)},$$slots:{default:!0}})}),a(te,ne)}),a(ve,ee)},$$slots:{default:!0}})}),a(P,q)},$$slots:{default:!0}})})}var U=r(W,2);{var Ee=d=>{var x=ue(),g=h(x);p(g,()=>ct,(P,de)=>{de(P,{type:"single",get value(){return e(se)},onValueChange:q=>{q&&v(se,q,!0)},children:(q,le)=>{var z=Ua(),j=h(z);p(j,()=>ut,(ve,V)=>{V(ve,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border)] text-[var(--sig-text-bright)] text-[12px] h-8 w-full",children:(ee,je)=>{m();var $e=I();k(()=>f($e,e(se)==="inject"?"Inject content":"Slash command")),a(ee,$e)},$$slots:{default:!0}})});var Q=r(j,2);p(Q,()=>gt,(ve,V)=>{V(ve,{class:b,children:(ee,je)=>{var $e=Wa(),te=h($e);p(te,()=>Oe,(ne,Te)=>{Te(ne,{value:"inject",label:"Inject content",class:w,children:(ce,lt)=>{m();var Ze=I("Inject content");a(ce,Ze)},$$slots:{default:!0}})});var G=r(te,2);p(G,()=>Oe,(ne,Te)=>{Te(ne,{value:"slash",label:"Slash command",class:w,children:(ce,lt)=>{m();var Ze=I("Slash command");a(ce,Ze)},$$slots:{default:!0}})}),a(ee,$e)},$$slots:{default:!0}})}),a(q,z)},$$slots:{default:!0}})}),a(d,x)};A(U,d=>{e(E)&&d(Ee)})}s(_),s(Ce);var Le=r(Ce,2);{var dt=d=>{var x=qa(),g=l(x);ea(g,{class:"size-3.5 shrink-0 mt-px text-[var(--sig-warning,#f59e0b)]"}),m(2),s(x),a(d,x)};A(Le,d=>{e(T)==="claude-code"&&d(dt)})}var Fe=r(Le,2);{let d=B(()=>e(ae)||!e(y).trim()||!e(H).trim());ot(Fe,{type:"submit",get disabled(){return e(d)},class:"h-8 text-[11px] w-full mt-1",children:(x,g)=>{var P=ue(),de=h(P);{var q=z=>{var j=I();k(()=>f(j,t.editingId?"Saving...":"Creating...")),a(z,j)},le=z=>{var j=I();k(()=>f(j,t.editingId?"Save Changes":"Create Task")),a(z,j)};A(de,z=>{e(ae)?z(q):z(le,-1)})}a(x,P)},$$slots:{default:!0}})}s(be),k(()=>S=Dt(_,1,"grid gap-2",null,S,{"grid-cols-2":e(E)})),Vt("submit",be,d=>{d.preventDefault(),me()}),a(ze,fe)},$$slots:{default:!0}})}),a(o,pe)},$$slots:{default:!0}})}),a(ke,J),tt()}ft(["click"]);var Qa=i('<span class="text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </span>'),Za=i('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Ja=i('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Xa=i('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),Ya=i('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),es=i(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
|
|
13
|
+
rounded max-h-[280px] overflow-y-auto
|
|
14
|
+
font-[family-name:var(--font-mono)] text-[10px] leading-[1.55]
|
|
15
|
+
text-[var(--sig-text)] p-2.5" role="log"><!> <!> <!></div>`),ts=i('<span class="text-[10px] text-[var(--sig-accent)] mt-0.5 block">Click to expand output</span>'),as=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),ss=i('<button class="w-full text-left cursor-pointer bg-transparent border-none p-0"><!></button>');function rs(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(`
|
|
16
|
+
`):[]}async function se(){await Gt(),e(y)?.scrollTo({top:e(y).scrollHeight,behavior:"smooth"})}$t(()=>{e(N)&&(t.run.stdout||t.run.stderr||t.run.error)&&se()});var ie=ss(),ge=l(ie);p(ge,()=>va,(O,M)=>{M(O,{class:`bg-[var(--sig-surface-raised)] border-[var(--sig-border)]
|
|
17
|
+
hover:border-[var(--sig-border-strong)] transition-colors`,children:(c,$)=>{var re=ue(),_e=h(re);p(_e,()=>ca,(me,Z)=>{Z(me,{class:"p-2.5 space-y-1.5",children:(b,w)=>{var J=as(),F=h(J),u=l(F),n=l(u),o=r(n,2);{let K=B(()=>T[t.run.status]??T.pending);_t(o,{variant:"outline",class:"text-[9px] px-1.5 py-0 border-[var(--sig-border)]",get style(){return`color: ${e(K)??""}`},children:(X,be)=>{m();var Re=I();k(()=>f(Re,t.run.status)),a(X,Re)},$$slots:{default:!0}})}var C=r(o,2);{var pe=K=>{var X=Qa(),be=l(X);s(X),k(()=>f(be,`exit ${t.run.exit_code??""}`)),a(K,X)};A(C,K=>{t.run.exit_code!==null&&K(pe)})}s(u);var he=r(u,2),Ie=l(he,!0);s(he),s(F);var Ne=r(F,2),ze=l(Ne,!0);s(Ne);var Ae=r(Ne,2);{var fe=K=>{const X=B(()=>E(t.run.stdout)),be=B(()=>E(t.run.stderr)),Re=B(()=>t.run.error||e(X).length>0||e(be).length>0);var Ue=ue(),at=h(Ue);{var Ke=Se=>{var we=Za();a(Se,we)},st=Se=>{var we=es(),Be=l(we);{var rt=Y=>{var Pe=Ja(),De=l(Pe);s(Pe),k(()=>f(De,`error: ${t.run.error??""}`)),a(Y,Pe)};A(Be,Y=>{t.run.error&&Y(rt)})}var qe=r(Be,2);{var nt=Y=>{var Pe=ue(),De=h(Pe);Me(De,17,()=>e(be),Pt,(He,Qe)=>{var Ce=Xa();wt(Ce,()=>ae(e(Qe))||" ",!0),s(Ce),a(He,Ce)}),a(Y,Pe)};A(qe,Y=>{e(be).length>0&&Y(nt)})}var Ve=r(qe,2);{var Ge=Y=>{var Pe=ue(),De=h(Pe);Me(De,17,()=>e(X),Pt,(He,Qe)=>{var Ce=Ya();wt(Ce,()=>ae(e(Qe))||" ",!0),s(Ce),a(He,Ce)}),a(Y,Pe)};A(Ve,Y=>{e(X).length>0&&Y(Ge)})}s(we),Qt(we,Y=>v(y,Y),()=>e(y)),a(Se,we)};A(at,Se=>{e(Re)?Se(st,-1):Se(Ke)})}a(K,Ue)},ye=K=>{var X=ts();a(K,X)};A(Ae,K=>{e(N)?K(fe):(t.run.stdout||t.run.stderr||t.run.error)&&K(ye,1)})}k((K,X)=>{Et(n,`background: ${T[t.run.status]??T.pending??""}`),f(Ie,K),f(ze,X)},[()=>D(t.run.started_at,t.run.completed_at),()=>H(t.run.started_at)]),a(b,J)},$$slots:{default:!0}})}),a(c,re)},$$slots:{default:!0}})}),s(ie),We("click",ie,()=>{v(N,!e(N))}),a(ke,ie),tt()}ft(["click"]);var ns=i('<div class="flex items-center justify-center h-32 text-[var(--sig-text-muted)] text-[12px]">Loading...</div>'),ls=i("<!> <!>",1),os=i('<div class="col-span-2"><span class="text-[var(--sig-text-muted)]">CWD:</span> <span class="text-[var(--sig-text)]"> </span></div>'),is=i("<!> Run Now",1),ds=i("<!> Edit",1),vs=i("<!> ",1),cs=i(`<span class="text-[9px] text-[var(--sig-success)]
|
|
18
|
+
font-[family-name:var(--font-mono)]">Live</span>`),us=i('<span class="text-[11px] text-[var(--sig-text-muted)]">No runs yet</span>'),gs=i('<div class="flex flex-col gap-2 w-full"></div> <!>',1),_s=i(`<!> <div class="flex flex-col gap-4 py-4"><div class="flex flex-col gap-2"><div class="flex items-center gap-2"><!> <!> <!></div> <div class="text-[11px] text-[var(--sig-text)] leading-[1.6]
|
|
19
|
+
bg-[var(--sig-surface-raised)] p-3 rounded
|
|
20
|
+
border border-[var(--sig-border)]
|
|
21
|
+
font-[family-name:var(--font-mono)]
|
|
22
|
+
whitespace-pre-wrap"> </div> <div class="grid grid-cols-2 gap-2 text-[10px]
|
|
23
|
+
text-[var(--sig-text-muted)]
|
|
24
|
+
font-[family-name:var(--font-mono)]"><div><span class="text-[var(--sig-text-muted)]">Next run:</span> <span class="text-[var(--sig-text)]"> </span></div> <div><span class="text-[var(--sig-text-muted)]">Last run:</span> <span class="text-[var(--sig-text)]"> </span></div> <!> <div><span class="text-[var(--sig-text-muted)]">Created:</span> <span class="text-[var(--sig-text)]"> </span></div></div></div> <div class="flex gap-2"><!> <!> <!></div> <div class="flex flex-col gap-2 min-h-0"><div class="flex items-center gap-2"><span class="text-[10px] font-bold uppercase tracking-[0.1em]
|
|
25
|
+
text-[var(--sig-text-muted)]
|
|
26
|
+
font-[family-name:var(--font-display)]"> </span> <!></div> <!></div></div>`,1);function fs(ke,t){et(t,!0);function N(R){return R?new Date(R).toLocaleString():"—"}let y=oe(!1),H=B(()=>t.runs.some(R=>R.status==="running"));function D(){if(t.task){if(!e(y)){v(y,!0),setTimeout(()=>{v(y,!1)},3e3);return}t.ondelete(t.task.id),v(y,!1)}}var T=ue(),L=h(T);p(L,()=>Mt,(R,ae)=>{ae(R,{get open(){return t.open},onOpenChange:E=>{E||t.onclose()},children:(E,se)=>{var ie=ue(),ge=h(ie);p(ge,()=>It,(O,M)=>{M(O,{class:`bg-[var(--sig-surface)] border-[var(--sig-border)]
|
|
27
|
+
text-[var(--sig-text)] w-[520px] sm:max-w-[520px]`,children:(c,$)=>{var re=ue(),_e=h(re);{var me=b=>{var w=ns();a(b,w)},Z=b=>{var w=_s(),J=h(w);p(J,()=>Nt,(_,S)=>{S(_,{children:(W,U)=>{var Ee=ls(),Le=h(Ee);p(Le,()=>Lt,(Fe,d)=>{d(Fe,{class:"text-[var(--sig-text-bright)] text-[14px]",children:(x,g)=>{m();var P=I();k(()=>f(P,t.task.name)),a(x,P)},$$slots:{default:!0}})});var dt=r(Le,2);p(dt,()=>Ot,(Fe,d)=>{d(Fe,{class:"text-[var(--sig-text-muted)] text-[11px]",children:(x,g)=>{m();var P=I();k(()=>f(P,`${t.task.cron_expression??""} · ${t.task.harness??""}`)),a(x,P)},$$slots:{default:!0}})}),a(W,Ee)},$$slots:{default:!0}})});var F=r(J,2),u=l(F),n=l(u),o=l(n);{let _=B(()=>t.task.enabled?"default":"outline");_t(o,{get variant(){return e(_)},class:"text-[9px]",children:(S,W)=>{m();var U=I();k(()=>f(U,t.task.enabled?"Enabled":"Disabled")),a(S,U)},$$slots:{default:!0}})}var C=r(o,2);_t(C,{variant:"outline",class:"text-[9px]",children:(_,S)=>{m();var W=I();k(()=>f(W,t.task.harness)),a(_,W)},$$slots:{default:!0}});var pe=r(C,2);{var he=_=>{_t(_,{variant:"outline",class:"text-[9px]",children:(S,W)=>{m();var U=I();k(()=>f(U,`${t.task.skill_name??""} (${t.task.skill_mode??"inject"??""})`)),a(S,U)},$$slots:{default:!0}})};A(pe,_=>{t.task.skill_name&&_(he)})}s(n);var Ie=r(n,2),Ne=l(Ie,!0);s(Ie);var ze=r(Ie,2),Ae=l(ze),fe=r(l(Ae),2),ye=l(fe,!0);s(fe),s(Ae);var K=r(Ae,2),X=r(l(K),2),be=l(X,!0);s(X),s(K);var Re=r(K,2);{var Ue=_=>{var S=os(),W=r(l(S),2),U=l(W,!0);s(W),s(S),k(()=>f(U,t.task.working_directory)),a(_,S)};A(Re,_=>{t.task.working_directory&&_(Ue)})}var at=r(Re,2),Ke=r(l(at),2),st=l(Ke,!0);s(Ke),s(at),s(ze),s(u);var Se=r(u,2),we=l(Se);{var Be=_=>{ot(_,{variant:"outline",size:"sm",class:"h-7 gap-1.5 text-[11px]",disabled:!0,children:(S,W)=>{m();var U=I("Running...");a(S,U)},$$slots:{default:!0}})},rt=_=>{ot(_,{variant:"outline",size:"sm",class:"h-7 gap-1.5 text-[11px]",onclick:()=>t.task&&t.ontrigger(t.task.id),children:(S,W)=>{var U=is(),Ee=h(U);At(Ee,{class:"size-3"}),m(),a(S,U)},$$slots:{default:!0}})};A(we,_=>{e(H)?_(Be):_(rt,-1)})}var qe=r(we,2);ot(qe,{variant:"outline",size:"sm",class:"h-7 gap-1.5 text-[11px]",onclick:()=>t.task&&t.onedit(t.task.id),children:(_,S)=>{var W=ds(),U=h(W);ua(U,{class:"size-3"}),m(),a(_,W)},$$slots:{default:!0}});var nt=r(qe,2);{let _=B(()=>e(y)?"destructive":"outline");ot(nt,{get variant(){return e(_)},size:"sm",class:"h-7 gap-1.5 text-[11px] ml-auto",onclick:D,children:(S,W)=>{var U=vs(),Ee=h(U);ga(Ee,{class:"size-3"});var Le=r(Ee);k(()=>f(Le,` ${e(y)?"Confirm Delete":"Delete"}`)),a(S,U)},$$slots:{default:!0}})}s(Se);var Ve=r(Se,2),Ge=l(Ve),Y=l(Ge),Pe=l(Y);s(Y);var De=r(Y,2);{var He=_=>{var S=cs();a(_,S)};A(De,_=>{t.liveConnected&&_(He)})}s(Ge);var Qe=r(Ge,2);{var Ce=_=>{var S=us();a(_,S)},it=_=>{var S=ue(),W=h(S);p(W,()=>ia,(U,Ee)=>{Ee(U,{class:"max-h-[400px]",children:(Le,dt)=>{var Fe=gs(),d=h(Fe);Me(d,21,()=>t.runs,g=>g.id,(g,P)=>{rs(g,{get run(){return e(P)}})}),s(d);var x=r(d,2);p(x,()=>da,(g,P)=>{P(g,{orientation:"vertical"})}),a(Le,Fe)},$$slots:{default:!0}})}),a(_,S)};A(Qe,_=>{t.runs.length===0?_(Ce):_(it,-1)})}s(Ve),s(F),k((_,S,W)=>{f(Ne,t.task.prompt),f(ye,_),f(be,S),f(st,W),f(Pe,`Run History (${t.runs.length??""})`)},[()=>N(t.task.next_run_at),()=>N(t.task.last_run_at),()=>N(t.task.created_at)]),a(b,w)};A(_e,b=>{t.loading?b(me):t.task&&b(Z,1)})}a(c,re)},$$slots:{default:!0}})}),a(E,ie)},$$slots:{default:!0}})}),a(ke,T),tt()}var xs=i('<span class="predictor-badge svelte-1jxe0jv"><!> PREDICTOR</span>'),ms=i('<span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">N</kbd> NEW</span>'),ps=i('<span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">R</kbd> RUN</span> <span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">D</kbd> DELETE</span> <span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">ESC</kbd> CLOSE</span>',1),hs=i('<span class="shortcut svelte-1jxe0jv"><kbd class="svelte-1jxe0jv">ESC</kbd> CANCEL</span>'),bs=i('<div class="tasks-panel svelte-1jxe0jv"><div class="tasks-header svelte-1jxe0jv"><div class="tasks-header-left svelte-1jxe0jv"><span class="tasks-title svelte-1jxe0jv">SCHEDULER</span> <span class="tasks-count svelte-1jxe0jv"> </span> <!></div> <button class="new-task-btn svelte-1jxe0jv"><!> <span>NEW TASK</span></button></div> <div class="tasks-content svelte-1jxe0jv"><!></div> <div class="shortcut-bar svelte-1jxe0jv"><!> <!></div></div> <!> <!>',1);function Ls(ke,t){et(t,!0);let N=oe(0),y=oe(0),H=oe(!1);const D=B(()=>xe.tasks.length);Zt(()=>{Ct(),T();const n=setInterval(Ct,15e3);return()=>clearInterval(n)});async function T(){try{const n=await fetch(`${aa}/api/predictor/status`);if(n.ok){const o=await n.json();v(H,o.enabled===!0)}}catch{v(H,!1)}}var L=bs(),R=h(L),ae=l(R),E=l(ae),se=r(l(E),2),ie=l(se);s(se);var ge=r(se,2);{var O=n=>{var o=xs(),C=l(o);fa(C,{class:"size-2.5"}),m(),s(o),a(n,o)};A(ge,n=>{e(H)&&n(O)})}s(E);var M=r(E,2),c=l(M);_a(c,{class:"size-3"}),m(2),s(M),s(ae);var $=r(ae,2),re=l($);ja(re,{get tasks(){return xe.tasks},get loading(){return xe.loading},get selectedColumn(){return e(N)},get selectedTaskInColumn(){return e(y)},onopendetail:(n,o,C)=>{v(N,o,!0),v(y,C,!0),sa(n)},get ontrigger(){return St},ontoggle:(n,o)=>zt(n,{enabled:o})}),s($);var _e=r($,2),me=l(_e);{var Z=n=>{var o=ms();a(n,o)};A(me,n=>{xe.formOpen||n(Z)})}var b=r(me,2);{var w=n=>{var o=ps();m(4),a(n,o)},J=n=>{var o=hs();a(n,o)};A(b,n=>{xe.detailOpen?n(w):xe.formOpen&&n(J,1)})}s(_e),s(R);var F=r(R,2);Ga(F,{get open(){return xe.formOpen},get editingId(){return xe.editingId},get tasks(){return xe.tasks},get presets(){return xe.presets},get onclose(){return ra}});var u=r(F,2);fs(u,{get open(){return xe.detailOpen},get task(){return xe.detailTask},get runs(){return xe.detailRuns},get loading(){return xe.detailLoading},get liveConnected(){return xe.detailStreamConnected},get onclose(){return jt},get ontrigger(){return St},get ondelete(){return na},onedit:n=>{jt(),Tt(n)}}),k(()=>f(ie,`${e(D)??""} TASKS`)),We("click",M,()=>Tt()),a(ke,L),tt()}ft(["click"]);export{Ls as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as y,
|
|
1
|
+
import{p as y,e as m,c as h,f as c,g as p,al as L,s as _,b as d,d as w,r as b,am as M,h as z,i as Q,j as G,k as R,t as N,u as S,a as q,x as T,y as U,z as V,l as D,a7 as W,n as E,an as X,ao as Y,ap as Z,aq as ee,ar as te}from"./Ddm7yfuh.js";import{c as P,I as ae}from"./DJ34Ow8B.js";import{C as se}from"./Dnh29zl2.js";import{C as H}from"./8I6zSz1_.js";function he(o,e){y(e,!0);let t=m(e,"open",15,!1),r=m(e,"value",15),s=b(e,["$$slots","$$events","$$legacy","open","value"]);var l=h(),n=c(l);p(n,()=>L,(u,i)=>{i(u,_(()=>s,{get open(){return t()},set open(a){t(a)},get value(){return r()},set value(a){r(a)}}))}),d(o,l),w()}var re=D('<span class="absolute end-2 flex size-3.5 items-center justify-center"><!></span> <!>',1);function _e(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class","value","label","children"]);var s=h(),l=c(s);{const n=(i,a)=>{let f=()=>a?.().selected,k=()=>a?.().highlighted;var x=re(),g=c(x),j=Q(g);{var C=v=>{se(v,{class:"size-4"})};G(j,v=>{f()&&v(C)})}R(g);var O=N(g,2);{var I=v=>{var $=h(),B=c($);q(B,()=>e.children,()=>({selected:f(),highlighted:k()})),d(v,$)},A=v=>{var $=T();U(()=>V($,e.label||e.value)),d(v,$)};G(O,v=>{e.children?v(I):v(A,-1)})}d(i,x)};let u=S(()=>P("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e.class));p(l,()=>M,(i,a)=>{a(i,_({get value(){return e.value},"data-slot":"select-item",get class(){return z(u)}},()=>r,{get ref(){return t()},set ref(f){t(f)},children:n,$$slots:{default:!0}}))})}d(o,s),w()}function le(o,e){let t=b(e,["$$slots","$$events","$$legacy"]);var r=h(),s=c(r);p(s,()=>W,(l,n)=>{n(l,_(()=>t))}),d(o,r)}function ne(o,e){y(e,!0);let t=b(e,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"m18 15-6-6-6 6"}]];ae(o,_({name:"chevron-up"},()=>t,{get iconNode(){return r},children:(s,l)=>{var n=h(),u=c(n);q(u,()=>e.children??E),d(s,n)},$$slots:{default:!0}})),w()}function oe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>X,(u,i)=>{i(u,_({"data-slot":"select-scroll-up-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{ne(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}function ie(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>Y,(u,i)=>{i(u,_({"data-slot":"select-scroll-down-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{H(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}var de=D("<!> <!> <!>",1);function pe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"sideOffset",3,4),s=m(e,"preventScroll",3,!0),l=b(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","portalProps","children","preventScroll"]);le(o,_(()=>e.portalProps,{children:(n,u)=>{var i=h(),a=c(i);{let f=S(()=>P("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e.class));p(a,()=>Z,(k,x)=>{x(k,_({get sideOffset(){return r()},get preventScroll(){return s()},"data-slot":"select-content",get class(){return z(f)}},()=>l,{get ref(){return t()},set ref(g){t(g)},children:(g,j)=>{var C=de(),O=c(C);oe(O,{});var I=N(O,2);{let v=S(()=>P("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1"));p(I,()=>ee,($,B)=>{B($,{get class(){return z(v)},children:(J,ue)=>{var F=h(),K=c(F);q(K,()=>e.children??E),d(J,F)},$$slots:{default:!0}})})}var A=N(I,2);ie(A,{}),d(g,C)},$$slots:{default:!0}}))})}d(n,i)},$$slots:{default:!0}})),w()}var ce=D("<!> <!>",1);function be(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"size",3,"default"),s=b(e,["$$slots","$$events","$$legacy","ref","class","children","size"]);var l=h(),n=c(l);{let u=S(()=>P("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class));p(n,()=>te,(i,a)=>{a(i,_({"data-slot":"select-trigger",get"data-size"(){return r()},get class(){return z(u)}},()=>s,{get ref(){return t()},set ref(f){t(f)},children:(f,k)=>{var x=ce(),g=c(x);q(g,()=>e.children??E);var j=N(g,2);H(j,{class:"size-4 opacity-50"}),d(f,x)},$$slots:{default:!0}}))})}d(o,l),w()}export{be as S,pe as a,_e as b,he as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as _,
|
|
1
|
+
import{p as _,e as d,c as y,f as C,g as w,s as z,h as j,C as M,b as u,d as P,r as q,i as A,j as B,k as D,u as E,l as F}from"./Ddm7yfuh.js";import{c as G,M as H}from"./DJ34Ow8B.js";import{C as I}from"./Dnh29zl2.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,s as d,c as i,f as c,a as l,n as m,b as f,d as h,r as u}from"./
|
|
1
|
+
import{p,s as d,c as i,f as c,a as l,n as m,b as f,d as h,r as u}from"./Ddm7yfuh.js";import{I as $}from"./DJ34Ow8B.js";function P(e,a){p(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M12 17v5"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"}]];$(e,d({name:"pin"},()=>o,{get iconNode(){return t},children:(n,v)=>{var s=i(),r=c(s);l(r,()=>a.children??m),f(n,s)},$$slots:{default:!0}})),h()}export{P};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as P,
|
|
1
|
+
import{p as P,e as l,c as p,f as g,g as c,a6 as x,s as i,b as u,d as $,r as v,a7 as j,a8 as k,h as _,u as b,a9 as q}from"./Ddm7yfuh.js";import{c as h}from"./DJ34Ow8B.js";function D(r,e){P(e,!0);let t=l(e,"open",15,!1),o=v(e,["$$slots","$$events","$$legacy","open"]);var a=p(),s=g(a);c(s,()=>x,(n,f)=>{f(n,i(()=>o,{get open(){return t()},set open(d){t(d)}}))}),u(r,a),$()}function A(r,e){let t=v(e,["$$slots","$$events","$$legacy"]);var o=p(),a=g(o);c(a,()=>j,(s,n)=>{n(s,i(()=>t))}),u(r,o)}function E(r,e){P(e,!0);let t=l(e,"ref",15,null),o=l(e,"sideOffset",3,4),a=l(e,"align",3,"center"),s=v(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);A(r,i(()=>e.portalProps,{children:(n,f)=>{var d=p(),m=g(d);{let y=b(()=>h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e.class));c(m,()=>k,(O,z)=>{z(O,i({"data-slot":"popover-content",get sideOffset(){return o()},get align(){return a()},get class(){return _(y)}},()=>s,{get ref(){return t()},set ref(w){t(w)}}))})}u(n,d)},$$slots:{default:!0}})),$()}function F(r,e){P(e,!0);let t=l(e,"ref",15,null),o=v(e,["$$slots","$$events","$$legacy","ref","class"]);var a=p(),s=g(a);{let n=b(()=>h("",e.class));c(s,()=>q,(f,d)=>{d(f,i({"data-slot":"popover-trigger",get class(){return _(n)}},()=>o,{get ref(){return t()},set ref(m){t(m)}}))})}u(r,a),$()}export{F as P,E as a,D as b};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{p as Wt,e as $t,m as L,o as ia,Q as Xt,v as s,c as dt,f as $,g as u,i as l,k as r,t,j as S,y as g,z as c,b as a,h as e,w as O,x as M,B as At,O as Qe,d as Yt,u as f,D as Gt,A as Ft,l as v,P as la,aL as Ka,aM as Ha,K as ua,aN as vr,s as Ea,r as Na,aO as dr,aP as cr,at as Ga,q as Da,ac as ga,ad as za,aa as Sa,N as pa,au as Pa,a0 as ur,$ as Za,aQ as fr,I as gr,ak as xa}from"./Ddm7yfuh.js";import{i as mr,m as R,e as Ca,a as Ia,r as Ra,h as pr,j as ka,g as Ma,d as _r,b as La,k as yr,c as hr,s as d,l as Xa,n as Ja,o as er,p as br,q as Ta,f as va,t as ma,u as xr,v as Wa,w as wr,x as kr,y as $r,z as Sr,A as Pr,B as Cr}from"./BFjTMOJT.js";import{aW as ja,$ as Ba,B as vt,a3 as Fa,t as Bt,aX as tr,aY as Ir,af as Rr,aZ as Mr,c as qa,a_ as Lr,a$ as Tr,b0 as Ar,n as Er,ai as $a}from"./DJ34Ow8B.js";import{b as _a,C as ya,a as ha}from"./DVXNr7Gr.js";import{I as Ht}from"./D8vxVi1s.js";import{c as ta,S as aa,a as ra,b as Oe}from"./LDm615q6.js";import{T as Ua}from"./rn86Xwnc.js";import{C as ba}from"./8I6zSz1_.js";import{L as sa}from"./BU2RpiOd.js";import{g as Nr}from"./Cik1Y8bQ.js";import{B as fa}from"./DyjGoGyT.js";var Dr=v('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),zr=v('<span class="detail-rank svelte-4mjdk4"> </span>'),jr=v('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),Br=v('<div class="detail-action svelte-4mjdk4"><!></div>'),Fr=v('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),qr=v("<span>Signet Reviews</span> <!>",1),Ur=v("<!> <!> <!> <!> <!>",1),Or=v("<!> <!>",1),Vr=v('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),Kr=v('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),Hr=v('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),Gr=v('<div class="review-list svelte-4mjdk4"></div>'),Wr=v('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),Yr=v("<!> <!>",1),Qr=v('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),Zr=v('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),Xr=v('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function Jr(h,i){Wt(i,!0);const w="signet:marketplace:reviews:display-name",te=$t(i,"canInstall",3,!0),X=$t(i,"installBusy",3,!1),ae=$t(i,"removeBusy",3,!1);let V=L("top"),W=L(!1),le=L(ia([])),ze=L(!0),he=L(ia(Ae())),de=L(5),ke=L(""),$e=L(""),Y=L(!1);const oe=f(()=>`${e(de)}/5`),Ze=f(()=>{const T=[...e(le)];return e(V)==="top"?T.sort((j,Ee)=>Ee.rating===j.rating?Ee.updatedAt.localeCompare(j.updatedAt):Ee.rating-j.rating):e(V)==="good"?T.filter(j=>j.rating>=4).sort((j,Ee)=>Ee.updatedAt.localeCompare(j.updatedAt)):e(V)==="bad"?T.filter(j=>j.rating<=2).sort((j,Ee)=>Ee.updatedAt.localeCompare(j.updatedAt)):T.sort((j,Ee)=>Ee.updatedAt.localeCompare(j.updatedAt))});Xt(()=>{if(!i.open||!i.item?.targetId){s(le,[],!0);return}s(V,"top"),Re(i.item.targetId)});function Ae(){try{return localStorage.getItem(w)??""}catch{return""}}function ie(T){try{localStorage.setItem(w,T)}catch{}}function se(T){return T==="1"?1:T==="2"?2:T==="3"?3:T==="4"?4:5}async function Re(T){s(W,!0);try{const j=await ja({targetType:"mcp",targetId:T,limit:100});s(le,j.reviews,!0)}finally{s(W,!1)}}async function Ke(){if(!i.item?.targetId)return;if(!i.canReview){Bt("Install or use this app before leaving a review.","error");return}const T=e(he).trim(),j=e(ke).trim(),Ee=e($e).trim();if(!T||!j||!Ee){Bt("Display name, title, and review are required","error");return}s(Y,!0);try{const St=await tr({targetType:"mcp",targetId:i.item.targetId,displayName:T,rating:e(de),title:j,body:Ee});if(!St.success){Bt(St.error??"Failed to submit review","error");return}ie(T),s(ke,""),s($e,""),Bt("Review posted","success"),await Re(i.item.targetId)}finally{s(Y,!1)}}var it=dt(),Xe=$(it);u(Xe,()=>Fa,(T,j)=>{j(T,{get open(){return i.open},onOpenChange:Ee=>{Ee||i.onclose()},children:(Ee,St)=>{var Pt=dt(),Ct=$(Pt);u(Ct,()=>Ba,(E,ve)=>{ve(E,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
|
|
2
|
+
!border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(I,ce)=>{var je=Xr(),It=$(je),Lt=l(It),Je=l(Lt),Se=l(Je,!0);r(Je);var _t=t(Je,2);{var Et=K=>{var me=jr(),ge=l(me),yt=l(ge,!0);r(ge);var rt=t(ge,2),tt=l(rt,!0);r(rt);var He=t(rt,2);{var Ve=P=>{var J=Dr();a(P,J)};S(He,P=>{i.item.official&&P(Ve)})}var lt=t(He,2);{var m=P=>{var J=zr(),Ye=l(J);r(J),g(()=>c(Ye,`#${i.item.popularityRank??""}`)),a(P,J)};S(lt,P=>{i.item.popularityRank!==null&&P(m)})}r(me),g(()=>{c(yt,i.item.sourceLabel),c(tt,i.item.category)}),a(K,me)};S(_t,K=>{i.item&&K(Et)})}r(Lt);var xt=t(Lt,2);{var ht=K=>{var me=Br(),ge=l(me);{var yt=He=>{vt(He,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-danger)] text-[var(--sig-danger)] hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)]",onclick:()=>i.item.serverId&&i.onuninstall?.(i.item.serverId),get disabled(){return ae()},children:(Ve,lt)=>{O();var m=M();g(()=>c(m,ae()?"...":"Remove")),a(Ve,m)},$$slots:{default:!0}})},rt=He=>{vt(He,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]",onclick:()=>i.item.catalogEntry&&i.oninstall?.(i.item.catalogEntry),get disabled(){return X()},children:(Ve,lt)=>{O();var m=M();g(()=>c(m,X()?"...":"Install")),a(Ve,m)},$$slots:{default:!0}})},tt=He=>{vt(He,{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:(Ve,lt)=>{O();var m=M("Install disabled");a(Ve,m)},$$slots:{default:!0}})};S(ge,He=>{i.item.serverId?He(yt):i.item.catalogEntry&&te()?He(rt,1):i.item.catalogEntry&&He(tt,2)})}r(me),a(K,me)};S(xt,K=>{i.item&&K(ht)})}r(It);var et=t(It,2),Nt=l(et);{var k=K=>{var me=Qr(),ge=$(me),yt=l(ge,!0);r(ge);var rt=t(ge,2);{var tt=Ve=>{var lt=Fr();g(()=>Gt(lt,"href",i.item.sourceUrl)),a(Ve,lt)};S(rt,Ve=>{i.item.sourceUrl&&Ve(tt)})}var He=t(rt,2);u(He,()=>_a,(Ve,lt)=>{lt(Ve,{class:"reviews-section",get open(){return e(ze)},set open(m){s(ze,m,!0)},children:(m,P)=>{var J=Yr(),Ye=$(J);u(Ye,()=>ya,(C,N)=>{N(C,{class:"reviews-trigger",children:(_e,Me)=>{var F=qr(),q=t($(F),2);{let Ge=f(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ze)?"rotate-180":""}`);ba(q,{get class(){return e(Ge)}})}a(_e,F)},$$slots:{default:!0}})});var o=t(Ye,2);u(o,()=>ha,(C,N)=>{N(C,{children:(_e,Me)=>{var F=Wr(),q=l(F),Ge=l(q);Ht(Ge,{class:"review-input",placeholder:"Display name",get value(){return e(he)},oninput:y=>{s(he,y.currentTarget.value,!0)}});var pe=t(Ge,2),ct=l(pe);{let y=f(()=>String(e(de)));u(ct,()=>ta,(re,ye)=>{ye(re,{type:"single",get value(){return e(y)},onValueChange:Pe=>{s(de,se(Pe??"5"),!0)},children:(Pe,Ne)=>{var ft=Or(),B=$(ft);u(B,()=>aa,(De,qe)=>{qe(De,{class:"review-rating",children:(Le,We)=>{O();var x=M();g(()=>c(x,e(oe))),a(Le,x)},$$slots:{default:!0}})});var G=t(B,2);u(G,()=>ra,(De,qe)=>{qe(De,{class:"review-rating-content",children:(Le,We)=>{var x=Ur(),Te=$(x);u(Te,()=>Oe,(ot,z)=>{z(ot,{value:"5",label:"5/5",class:"review-rating-item"})});var Ce=t(Te,2);u(Ce,()=>Oe,(ot,z)=>{z(ot,{value:"4",label:"4/5",class:"review-rating-item"})});var Tt=t(Ce,2);u(Tt,()=>Oe,(ot,z)=>{z(ot,{value:"3",label:"3/5",class:"review-rating-item"})});var qt=t(Tt,2);u(qt,()=>Oe,(ot,z)=>{z(ot,{value:"2",label:"2/5",class:"review-rating-item"})});var wt=t(qt,2);u(wt,()=>Oe,(ot,z)=>{z(ot,{value:"1",label:"1/5",class:"review-rating-item"})}),a(Le,x)},$$slots:{default:!0}})}),a(Pe,ft)},$$slots:{default:!0}})})}var ut=t(ct,2);Ht(ut,{class:"review-input",placeholder:"Review title",get value(){return e(ke)},oninput:y=>{s(ke,y.currentTarget.value,!0)}}),r(pe);var mt=t(pe,2);Ua(mt,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e($e)},oninput:y=>{s($e,y.currentTarget.value,!0)}});var fe=t(mt,2),n=t(l(fe),2);{let y=f(()=>e(Y)||!i.canReview);vt(n,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{Ke()},get disabled(){return e(y)},children:(re,ye)=>{O();var Pe=M();g(()=>c(Pe,e(Y)?"Posting...":"Post review")),a(re,Pe)},$$slots:{default:!0}})}r(fe),r(q);var Z=t(q,2),U=l(Z);let _;var p=t(U,2);let b;var D=t(p,2);let A;var be=t(D,2);let Fe;r(Z);var st=t(Z,2);{var ne=y=>{var re=Vr();a(y,re)},xe=y=>{var re=Kr();a(y,re)},H=y=>{var re=Gr();Ft(re,21,()=>e(Ze),ye=>ye.id,(ye,Pe)=>{var Ne=Hr(),ft=l(Ne),B=l(ft,!0);r(ft);var G=t(ft,2),De=l(G);r(G);var qe=t(G,2),Le=l(qe,!0);r(qe),r(Ne),g(()=>{c(B,e(Pe).title),c(De,`${e(Pe).displayName??""} · ${e(Pe).rating??""}/5`),c(Le,e(Pe).body)}),a(ye,Ne)}),r(re),a(y,re)};S(st,y=>{e(W)?y(ne):e(Ze).length===0?y(xe,1):y(H,-1)})}r(F),g(()=>{_=At(U,1,"review-filter svelte-4mjdk4",null,_,{active:e(V)==="top"}),b=At(p,1,"review-filter svelte-4mjdk4",null,b,{active:e(V)==="good"}),A=At(D,1,"review-filter svelte-4mjdk4",null,A,{active:e(V)==="bad"}),Fe=At(be,1,"review-filter svelte-4mjdk4",null,Fe,{active:e(V)==="all"})}),Qe("click",U,()=>s(V,"top")),Qe("click",p,()=>s(V,"good")),Qe("click",D,()=>s(V,"bad")),Qe("click",be,()=>s(V,"all")),a(_e,F)},$$slots:{default:!0}})}),a(m,J)},$$slots:{default:!0}})}),g(()=>c(yt,i.item.description||"No description available.")),a(K,me)},Q=K=>{var me=Zr();a(K,me)};S(Nt,K=>{i.item?K(k):K(Q,-1)})}r(et),g(()=>c(Se,i.item?.name??"Tool Server")),a(I,je)},$$slots:{default:!0}})}),a(Ee,Pt)},$$slots:{default:!0}})}),a(h,it),Yt()}la(["click"]);var el=v('<p class="sheet-subtitle svelte-1n2gzyy"> </p>'),tl=v('<p class="muted svelte-1n2gzyy">Select a server to configure.</p>'),al=v('<p class="muted svelte-1n2gzyy">Loading recommended configuration...</p>'),rl=v('<a class="source-link svelte-1n2gzyy" target="_blank" rel="noopener">View source README</a>'),ll=v('<div class="inline-alert svelte-1n2gzyy"> </div>'),sl=v("<!> <!>",1),il=v("<!> <!>",1),nl=v("<option> </option>"),ol=v('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),vl=v('<div class="inline-hint svelte-1n2gzyy">No secrets found. Add secrets in the Secrets tab to map sensitive values.</div>'),dl=v('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div> <!></div>',1),cl=v("<option> </option>"),ul=v('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),fl=v('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div></div>',1),gl=v('<div class="inline-alert svelte-1n2gzyy"> </div>'),ml=v('<div class="test-tools svelte-1n2gzyy"> </div>'),pl=v('<p class="server-description svelte-1n2gzyy"> </p> <!> <!> <div class="config-card svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-row two-col svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div></div> <!></div> <!> <div class="test-panel svelte-1n2gzyy"><div class="test-head svelte-1n2gzyy">Connection test</div> <p class="test-message svelte-1n2gzyy"> </p> <!></div>',1),_l=v('<div class="sheet-header svelte-1n2gzyy"><div><h2 class="sheet-title svelte-1n2gzyy">Install Tool Server</h2> <!></div></div> <div class="sheet-body svelte-1n2gzyy"><!></div> <div class="sheet-footer svelte-1n2gzyy"><div class="footer-hint svelte-1n2gzyy"><!></div> <div class="footer-actions svelte-1n2gzyy"><!> <!></div></div>',1);function yl(h,i){Wt(i,!0);const w="secret://";let te=L(!1),X=L(null),ae=L(""),V=L(""),W=L(""),le=L(!1),ze=L(""),he=L("stdio"),de=L("20000"),ke=L(""),$e=L(""),Y=L(""),oe=L(ia([])),Ze=L(""),Ae=L(ia([])),ie=L(ia([])),se=L(!1),Re=L("idle"),Ke=L(""),it=L(ia([])),Xe=L(!1),T=L(null);const j=f(()=>e(he)==="http"?"http":"stdio"),Ee=f(()=>i.entry?i.entry.source==="modelcontextprotocol/servers"?"MCP GitHub":"MCP Registry":"");Xt(()=>{!i.open||!i.entry||e(ae)!==i.entry.id&&(s(ae,i.entry.id,!0),I(i.entry))}),Xt(()=>{i.open||(s(ae,""),s(te,!1),s(X,null),s(Re,"idle"),s(Ke,""),s(it,[],!0),s(T,null))});function St(k){return k.startsWith(w)?k.slice(w.length).trim():""}function Pt(k,Q){const K=St(Q);return K?{key:k,value:"",secretName:K}:{key:k,value:Q,secretName:""}}function Ct(k){return k.secretName.trim().length>0?`${w}${k.secretName.trim()}`:k.value}function E(k){const Q=Object.entries(k).map(([K,me])=>Pt(K,me));return Q.length>0?Q:[{key:"",value:"",secretName:""}]}function ve(k){if(s(he,k.transport,!0),s(de,String(k.timeoutMs),!0),k.transport==="stdio"){s(ke,k.command,!0),s($e,k.args.join(`
|
|
3
|
+
`),!0),s(Y,k.cwd??"",!0),s(oe,E(k.env),!0),s(Ze,""),s(Ae,[{key:"",value:"",secretName:""}],!0);return}s(Ze,k.url,!0),s(Ae,E(k.headers),!0),s(ke,""),s($e,""),s(Y,""),s(oe,[{key:"",value:"",secretName:""}],!0)}async function I(k){s(te,!0),s(X,null),s(T,null),s(Re,"idle"),s(Ke,""),s(it,[],!0),s(ze,k.name,!0),s(V,k.description,!0),s(W,""),s(le,!1),s(he,"stdio"),s(de,"20000"),s(ke,""),s($e,""),s(Y,""),s(oe,[{key:"",value:"",secretName:""}],!0),s(Ze,""),s(Ae,[{key:"",value:"",secretName:""}],!0),s(se,!0);const[Q,K]=await Promise.all([Ir(k.catalogId,k.source),Rr()]);if(s(ie,K,!0),s(se,!1),!Q){s(X,"Failed to load recommended config for this server."),s(te,!1);return}s(V,Q.description||k.description,!0),s(W,Q.githubUrl??"",!0),Q.defaultConfig?(s(le,!0),ve(Q.defaultConfig)):s(X,"No standard config was found. You can still set one manually below."),s(te,!1)}function ce(k){const Q={};for(const K of k){const me=K.key.trim();if(me.length===0)continue;const ge=Ct(K).trim();ge.length!==0&&(Q[me]=ge)}return Q}function je(){const k=Number(e(de));if(!Number.isFinite(k)||k<=0)return{config:null,error:"Timeout must be a positive number."};if(e(he)==="stdio"){const K=e(ke).trim();if(K.length===0)return{config:null,error:"Command is required for stdio transport."};const me=e($e).split(`
|
|
4
|
+
`).map(ge=>ge.trim()).filter(ge=>ge.length>0);return{config:{transport:"stdio",command:K,args:me,env:ce(e(oe)),cwd:e(Y).trim()||void 0,timeoutMs:k}}}const Q=e(Ze).trim();if(Q.length===0)return{config:null,error:"URL is required for HTTP transport."};try{new URL(Q)}catch{return{config:null,error:"URL must be a valid absolute URL."}}return{config:{transport:"http",url:Q,headers:ce(e(Ae)),timeoutMs:k}}}function It(k){return k==="http"?"http":"stdio"}function Lt(k,Q,K){const me=k[Q];me&&(me.value=K,K.trim().length>0&&(me.secretName=""))}function Je(){s(oe,[...e(oe),{key:"",value:"",secretName:""}],!0)}function Se(k){s(oe,e(oe).filter((Q,K)=>K!==k),!0),e(oe).length===0&&s(oe,[{key:"",value:"",secretName:""}],!0)}function _t(){s(Ae,[...e(Ae),{key:"",value:"",secretName:""}],!0)}function Et(k){s(Ae,e(Ae).filter((Q,K)=>K!==k),!0),e(Ae).length===0&&s(Ae,[{key:"",value:"",secretName:""}],!0)}async function xt(){s(T,null),s(Re,"running"),s(Ke,"Testing MCP server connection..."),s(it,[],!0);const k=je();if(!k.config){s(Re,"error"),s(Ke,k.error??"Invalid config.",!0),s(T,k.error??"Invalid config.",!0);return}const Q=await Mr({config:k.config});if(Q.success){s(Re,"success"),s(it,Q.tools??[],!0),s(Ke,`Connection succeeded${typeof Q.toolCount=="number"?` (${Q.toolCount} tools)`:""}.`);return}s(Re,"error"),s(Ke,Q.error??"Connection test failed.",!0)}async function ht(){if(!i.entry)return;s(T,null);const k=je();if(!k.config){s(T,k.error??"Invalid config.",!0);return}s(Xe,!0);const Q=await mr(i.entry,{alias:e(ze).trim()||void 0,config:k.config});s(Xe,!1),Q&&i.onclose()}var et=dt(),Nt=$(et);u(Nt,()=>Fa,(k,Q)=>{Q(k,{get open(){return i.open},onOpenChange:K=>{K||i.onclose()},children:(K,me)=>{var ge=dt(),yt=$(ge);u(yt,()=>Ba,(rt,tt)=>{tt(rt,{side:"right",class:`!w-[560px] !max-w-[96vw] !bg-[var(--sig-surface)]
|
|
5
|
+
!border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(He,Ve)=>{var lt=_l(),m=$(lt),P=l(m),J=t(l(P),2);{var Ye=fe=>{var n=el(),Z=l(n);r(n),g(()=>c(Z,`${i.entry.name??""} · ${e(Ee)??""}`)),a(fe,n)};S(J,fe=>{i.entry&&fe(Ye)})}r(P),r(m);var o=t(m,2),C=l(o);{var N=fe=>{var n=tl();a(fe,n)},_e=fe=>{var n=dt(),Z=$(n);{var U=p=>{var b=al();a(p,b)},_=p=>{var b=pl(),D=$(b),A=l(D,!0);r(D);var be=t(D,2);{var Fe=z=>{var Ie=rl();g(()=>Gt(Ie,"href",e(W))),a(z,Ie)};S(be,z=>{e(W)&&z(Fe)})}var st=t(be,2);{var ne=z=>{var Ie=ll(),Be=l(Ie,!0);r(Ie),g(()=>c(Be,e(X))),a(z,Ie)};S(st,z=>{e(X)&&z(ne)})}var xe=t(st,2),H=l(xe),y=l(H);sa(y,{class:"field-label",children:(z,Ie)=>{O();var Be=M("Install alias");a(z,Be)},$$slots:{default:!0}});var re=t(y,2);Ht(re,{get value(){return e(ze)},oninput:z=>{s(ze,z.currentTarget.value,!0)},placeholder:"Server name",class:"field-input"}),r(H);var ye=t(H,2),Pe=l(ye),Ne=l(Pe);sa(Ne,{class:"field-label",children:(z,Ie)=>{O();var Be=M("Transport");a(z,Be)},$$slots:{default:!0}});var ft=t(Ne,2);u(ft,()=>ta,(z,Ie)=>{Ie(z,{type:"single",get value(){return e(he)},onValueChange:Be=>{s(he,It(Be??"stdio"),!0)},children:(Be,ue)=>{var we=il(),Ue=$(we);u(Ue,()=>aa,(Kt,Dt)=>{Dt(Kt,{class:"field-select",children:(Ut,Rt)=>{O();var nt=M();g(()=>c(nt,e(j))),a(Ut,nt)},$$slots:{default:!0}})});var at=t(Ue,2);u(at,()=>ra,(Kt,Dt)=>{Dt(Kt,{class:"field-select-content",children:(Ut,Rt)=>{var nt=sl(),kt=$(nt);u(kt,()=>Oe,(Jt,zt)=>{zt(Jt,{value:"stdio",label:"stdio",class:"field-select-item"})});var Ot=t(kt,2);u(Ot,()=>Oe,(Jt,zt)=>{zt(Jt,{value:"http",label:"http",class:"field-select-item"})}),a(Ut,nt)},$$slots:{default:!0}})}),a(Be,we)},$$slots:{default:!0}})}),r(Pe);var B=t(Pe,2),G=l(B);sa(G,{class:"field-label",children:(z,Ie)=>{O();var Be=M("Timeout (ms)");a(z,Be)},$$slots:{default:!0}});var De=t(G,2);Ht(De,{type:"number",get value(){return e(de)},oninput:z=>{s(de,z.currentTarget.value,!0)},class:"field-input font-[family-name:var(--font-mono)]"}),r(B),r(ye);var qe=t(ye,2);{var Le=z=>{var Ie=dl(),Be=$(Ie),ue=l(Be);sa(ue,{class:"field-label",children:(gt,bt)=>{O();var jt=M("Command");a(gt,jt)},$$slots:{default:!0}});var we=t(ue,2);Ht(we,{get value(){return e(ke)},oninput:gt=>{s(ke,gt.currentTarget.value,!0)},placeholder:"uvx",class:"field-input font-[family-name:var(--font-mono)]"}),r(Be);var Ue=t(Be,2),at=l(Ue);sa(at,{class:"field-label",children:(gt,bt)=>{O();var jt=M("Args (one per line)");a(gt,jt)},$$slots:{default:!0}});var Kt=t(at,2);Ua(Kt,{get value(){return e($e)},oninput:gt=>{s($e,gt.currentTarget.value,!0)},rows:3,class:"field-textarea font-[family-name:var(--font-mono)]"}),r(Ue);var Dt=t(Ue,2),Ut=l(Dt);sa(Ut,{class:"field-label",children:(gt,bt)=>{O();var jt=M("Working directory (optional)");a(gt,jt)},$$slots:{default:!0}});var Rt=t(Ut,2);Ht(Rt,{get value(){return e(Y)},oninput:gt=>{s(Y,gt.currentTarget.value,!0)},placeholder:"/path/to/project",class:"field-input font-[family-name:var(--font-mono)]"}),r(Dt);var nt=t(Dt,2),kt=l(nt),Ot=l(kt);sa(Ot,{class:"field-label",children:(gt,bt)=>{O();var jt=M("Environment variables");a(gt,jt)},$$slots:{default:!0}});var Jt=t(Ot,2);vt(Jt,{variant:"outline",size:"sm",class:"h-6 text-[9px]",onclick:Je,children:(gt,bt)=>{O();var jt=M("Add");a(gt,jt)},$$slots:{default:!0}}),r(kt);var zt=t(kt,2);Ft(zt,21,()=>e(oe),ua,(gt,bt,jt)=>{var pt=ol(),Mt=l(pt);Ht(Mt,{get value(){return e(bt).key},oninput:Zt=>{e(bt).key=Zt.currentTarget.value},placeholder:"ENV_NAME",class:"field-input row-key font-[family-name:var(--font-mono)]"});var ea=t(Mt,2);{let Zt=f(()=>e(bt).secretName.length>0);Ht(ea,{get value(){return e(bt).value},oninput:ca=>{Lt(e(oe),jt,ca.currentTarget.value)},placeholder:"value",class:"field-input row-value font-[family-name:var(--font-mono)]",get disabled(){return e(Zt)}})}var Qt=t(ea,2),da=l(Qt);da.value=da.__value="";var ir=t(da);Ft(ir,16,()=>e(ie),Zt=>Zt,(Zt,ca)=>{var oa=nl(),or=l(oa);r(oa);var Va={};g(()=>{c(or,`secret:${ca??""}`),Va!==(Va=ca)&&(oa.value=(oa.__value=ca)??"")}),a(Zt,oa)}),r(Qt);var Oa;Ka(Qt);var nr=t(Qt,2);vt(nr,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>Se(jt),children:(Zt,ca)=>{O();var oa=M("×");a(Zt,oa)},$$slots:{default:!0}}),r(pt),g(()=>{Qt.disabled=e(se)||e(ie).length===0,Oa!==(Oa=e(bt).secretName)&&(Qt.value=(Qt.__value=e(bt).secretName)??"",Ha(Qt,e(bt).secretName))}),Qe("change",Qt,Zt=>{e(bt).secretName=Zt.currentTarget.value,e(bt).secretName.length>0&&(e(bt).value="")}),a(gt,pt)}),r(zt);var Vt=t(zt,2);{var na=gt=>{var bt=vl();a(gt,bt)};S(Vt,gt=>{e(ie).length===0&>(na)})}r(nt),a(z,Ie)},We=z=>{var Ie=fl(),Be=$(Ie),ue=l(Be);sa(ue,{class:"field-label",children:(Rt,nt)=>{O();var kt=M("Server URL");a(Rt,kt)},$$slots:{default:!0}});var we=t(ue,2);Ht(we,{get value(){return e(Ze)},oninput:Rt=>{s(Ze,Rt.currentTarget.value,!0)},placeholder:"https://example.com/mcp",class:"field-input font-[family-name:var(--font-mono)]"}),r(Be);var Ue=t(Be,2),at=l(Ue),Kt=l(at);sa(Kt,{class:"field-label",children:(Rt,nt)=>{O();var kt=M("HTTP headers");a(Rt,kt)},$$slots:{default:!0}});var Dt=t(Kt,2);vt(Dt,{variant:"outline",size:"sm",class:"h-6 text-[9px]",onclick:_t,children:(Rt,nt)=>{O();var kt=M("Add");a(Rt,kt)},$$slots:{default:!0}}),r(at);var Ut=t(at,2);Ft(Ut,21,()=>e(Ae),ua,(Rt,nt,kt)=>{var Ot=ul(),Jt=l(Ot);Ht(Jt,{get value(){return e(nt).key},oninput:pt=>{e(nt).key=pt.currentTarget.value},placeholder:"Authorization",class:"field-input row-key font-[family-name:var(--font-mono)]"});var zt=t(Jt,2);{let pt=f(()=>e(nt).secretName.length>0);Ht(zt,{get value(){return e(nt).value},oninput:Mt=>{Lt(e(Ae),kt,Mt.currentTarget.value)},placeholder:"Bearer ...",class:"field-input row-value font-[family-name:var(--font-mono)]",get disabled(){return e(pt)}})}var Vt=t(zt,2),na=l(Vt);na.value=na.__value="";var gt=t(na);Ft(gt,16,()=>e(ie),pt=>pt,(pt,Mt)=>{var ea=cl(),Qt=l(ea);r(ea);var da={};g(()=>{c(Qt,`secret:${Mt??""}`),da!==(da=Mt)&&(ea.value=(ea.__value=Mt)??"")}),a(pt,ea)}),r(Vt);var bt;Ka(Vt);var jt=t(Vt,2);vt(jt,{variant:"outline",size:"sm",class:"h-8 px-2",onclick:()=>Et(kt),children:(pt,Mt)=>{O();var ea=M("×");a(pt,ea)},$$slots:{default:!0}}),r(Ot),g(()=>{Vt.disabled=e(se)||e(ie).length===0,bt!==(bt=e(nt).secretName)&&(Vt.value=(Vt.__value=e(nt).secretName)??"",Ha(Vt,e(nt).secretName))}),Qe("change",Vt,pt=>{e(nt).secretName=pt.currentTarget.value,e(nt).secretName.length>0&&(e(nt).value="")}),a(Rt,Ot)}),r(Ut),r(Ue),a(z,Ie)};S(qe,z=>{e(he)==="stdio"?z(Le):z(We,-1)})}r(xe);var x=t(xe,2);{var Te=z=>{var Ie=gl(),Be=l(Ie,!0);r(Ie),g(()=>c(Be,e(T))),a(z,Ie)};S(x,z=>{e(T)&&z(Te)})}var Ce=t(x,2),Tt=t(l(Ce),2),qt=l(Tt,!0);r(Tt);var wt=t(Tt,2);{var ot=z=>{var Ie=ml(),Be=l(Ie,!0);r(Ie),g(ue=>c(Be,ue),[()=>e(it).join(", ")]),a(z,Ie)};S(wt,z=>{e(it).length>0&&z(ot)})}r(Ce),g(()=>{c(A,e(V)),Gt(Ce,"data-state",e(Re)),c(qt,e(Ke)||"Run a test before installing to confirm this config works.")}),a(p,b)};S(Z,p=>{e(te)?p(U):p(_,-1)})}a(fe,n)};S(C,fe=>{i.entry?fe(_e,-1):fe(N)})}r(o);var Me=t(o,2),F=l(Me),q=l(F);{var Ge=fe=>{var n=M("Using recommended config as a starting point.");a(fe,n)},pe=fe=>{var n=M("No recommended config found; set command/URL manually.");a(fe,n)};S(q,fe=>{e(le)?fe(Ge):fe(pe,-1)})}r(F);var ct=t(F,2),ut=l(ct);{let fe=f(()=>e(te)||e(Re)==="running"||e(Xe)||!i.entry);vt(ut,{variant:"outline",size:"sm",class:"h-8 text-[10px]",onclick:()=>{xt()},get disabled(){return e(fe)},children:(n,Z)=>{O();var U=M();g(()=>c(U,e(Re)==="running"?"Testing...":"Test connection")),a(n,U)},$$slots:{default:!0}})}var mt=t(ut,2);{let fe=f(()=>e(te)||e(Xe)||!i.entry);vt(mt,{variant:"default",size:"sm",class:"h-8 text-[10px]",onclick:()=>{ht()},get disabled(){return e(fe)},children:(n,Z)=>{O();var U=M();g(()=>c(U,e(Xe)?"Installing...":"Install server")),a(n,U)},$$slots:{default:!0}})}r(ct),r(Me),a(He,lt)},$$slots:{default:!0}})}),a(K,ge)},$$slots:{default:!0}})}),a(h,et),Yt()}la(["change"]);function ar(h,i){Wt(i,!0);let w=$t(i,"ref",15,null),te=$t(i,"value",15,""),X=Na(i,["$$slots","$$events","$$legacy","ref","value","class"]);var ae=dt(),V=$(ae);{let W=f(()=>qa("flex flex-col gap-2",i.class));u(V,()=>vr,(le,ze)=>{ze(le,Ea({"data-slot":"tabs",get class(){return e(W)}},()=>X,{get ref(){return w()},set ref(he){w(he)},get value(){return te()},set value(he){te(he)}}))})}a(h,ae),Yt()}function rr(h,i){Wt(i,!0);let w=$t(i,"ref",15,null),te=Na(i,["$$slots","$$events","$$legacy","ref","class"]);var X=dt(),ae=$(X);{let V=f(()=>qa("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",i.class));u(ae,()=>dr,(W,le)=>{le(W,Ea({"data-slot":"tabs-list",get class(){return e(V)}},()=>te,{get ref(){return w()},set ref(ze){w(ze)}}))})}a(h,X),Yt()}function wa(h,i){Wt(i,!0);let w=$t(i,"ref",15,null),te=Na(i,["$$slots","$$events","$$legacy","ref","class"]);var X=dt(),ae=$(X);{let V=f(()=>qa("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",i.class));u(ae,()=>cr,(W,le)=>{le(W,Ea({"data-slot":"tabs-trigger",get class(){return e(V)}},()=>te,{get ref(){return w()},set ref(ze){w(ze)}}))})}a(h,X),Yt()}var hl=v('<input type="text" class="search-input svelte-164uy1v" placeholder="Search tool servers..."/>'),bl=v("<!> <!>",1),xl=v("<!> <!> <!>",1),wl=v("<!> <!>",1),kl=v("<!> <!>",1),$l=v('<div class="ml-auto flex items-center gap-2"><!> <!></div>'),Sl=v('<div class="panel-alert svelte-164uy1v">MCP installation is temporarily disabled while we harden reliability.</div>'),Pl=v('<div class="panel-empty svelte-164uy1v"> </div>'),Cl=v('<img class="mcp-avatar svelte-164uy1v"/>'),Il=v('<div class="catalog-card svelte-164uy1v" role="button" tabindex="0"><div class="catalog-top svelte-164uy1v"><div class="mcp-icon svelte-164uy1v"><!></div> <div class="catalog-name svelte-164uy1v"> </div></div> <div class="catalog-desc svelte-164uy1v"> </div> <div class="catalog-meta svelte-164uy1v"><span class="mcp-badge svelte-164uy1v">installed</span> <span class="mcp-badge svelte-164uy1v"> </span></div> <div class="catalog-actions svelte-164uy1v"><!></div></div>'),Rl=v('<div class="catalog-grid svelte-164uy1v"></div>'),Ml=v('<div class="panel-alert svelte-164uy1v"> </div>'),Ll=v('<div class="panel-empty svelte-164uy1v">Loading catalog...</div>'),Tl=v('<div class="panel-empty svelte-164uy1v">No matching Tool Servers. <button type="button" class="panel-reset svelte-164uy1v">Clear filters</button></div>'),Al=v('<img class="mcp-avatar svelte-164uy1v"/>'),El=v('<span class="mcp-badge mcp-official svelte-164uy1v">official</span>'),Nl=v('<div class="catalog-card svelte-164uy1v" role="button" tabindex="0"><div class="catalog-top svelte-164uy1v"><div class="mcp-icon svelte-164uy1v"><!></div> <div class="catalog-name svelte-164uy1v"> </div></div> <div class="catalog-desc svelte-164uy1v"> </div> <div class="catalog-meta svelte-164uy1v"><span class="mcp-badge svelte-164uy1v"> </span> <span class="mcp-badge svelte-164uy1v"> </span> <!> <span class="mcp-rank svelte-164uy1v"> </span></div> <div class="catalog-actions svelte-164uy1v"><!></div></div>'),Dl=v('<button type="button" class="show-more svelte-164uy1v"> </button>'),zl=v('<div class="catalog-grid svelte-164uy1v"></div> <!>',1),jl=v('<div class="h-full flex flex-col overflow-hidden"><div><!> <!> <!></div> <div class="flex-1 overflow-y-auto px-[var(--space-sm)] pb-[var(--space-sm)] pt-0 flex flex-col gap-[var(--space-sm)]"><!> <!></div></div> <!> <!>',1);function Bl(h,i){Wt(i,!0);const w=$t(i,"embedded",3,!1),te=$t(i,"showViewTabs",3,!0),X=$t(i,"currentView",3,"browse"),ae=f(pr),V=f(yr),W=60;let le=L(W);Xt(()=>{e(ae),s(le,W),Ct.clear()}),Xt(()=>{R.installed,Pt.clear()});const ze=f(()=>e(ae).slice(0,e(le))),he=f(()=>e(le)<e(ae).length),de=f(()=>e(ae).length-e(le)),ke=f(()=>new Set(R.installed.flatMap(o=>o.catalogId?[`${o.source}:${o.catalogId}`]:[]))),$e=f(()=>new Map(R.installed.flatMap(o=>o.catalogId?[[`${o.source}:${o.catalogId}`,o.id]]:[]))),Y=f(()=>new Map(R.catalog.map(o=>[o.id,o])));let oe=L(!1),Ze=L(null),Ae=L(!1),ie=L(null),se=L("browse");const Re=!1,Ke=f(()=>R.source==="all"?"All sources":T(R.source)),it=f(()=>R.sortBy==="name"?"Name":R.sortBy==="official"?"Official":"Popularity"),Xe=f(()=>e(se)==="installed"&&!R.query.trim()?"installed":"browse");Da(()=>{Ca(),Ia(5),Ra()});function T(o){return o==="modelcontextprotocol/servers"?"MCP GitHub":o==="mcpservers.org"?"MCP Registry":o==="github"?"GitHub":o}function j(o){return o==="name"||o==="official"?o:"popularity"}function Ee(o){return o==="mcpservers.org"||o==="modelcontextprotocol/servers"||o==="github"?o:"all"}Xt(()=>{s(se,X())});function St(o){return o==="installed"?"installed":"browse"}const Pt=new Ga,Ct=new Ga;function E(o){}function ve(){s(oe,!1),s(Ze,null)}function I(o){if(o.catalogId)return`${o.source}:${o.catalogId}`;const C=o.name.trim().toLowerCase().replace(/\s+/g,"-");return`${o.source}:${C}`}function ce(o){s(ie,{targetId:o.id,name:o.name,description:o.description,category:o.category,sourceLabel:T(o.source),official:o.official,popularityRank:o.popularityRank,sourceUrl:o.sourceUrl,catalogEntry:o,serverId:e($e).get(o.id)??null},!0),s(Ae,!0),R.catalogDetail=!0}function je(o){const C=o.catalogId?`${o.source}:${o.catalogId}`:null,N=C?e(Y).get(C)??null:null;s(ie,{targetId:C??I(o),name:o.name,description:o.description||N?.description||o.id,category:o.category||N?.category||"general",sourceLabel:T(o.source),official:o.official||N?.official||!1,popularityRank:N?.popularityRank??null,sourceUrl:N?.sourceUrl||o.homepage||"",catalogEntry:N,serverId:o.id},!0),s(Ae,!0),R.catalogDetail=!0}function It(){s(Ae,!1),R.catalogDetail=!1}function Lt(o,C){o.key!=="Enter"&&o.key!==" "||(o.preventDefault(),ce(C))}function Je(o,C){o.key!=="Enter"&&o.key!==" "||(o.preventDefault(),je(C))}function Se(o){}async function _t(o){await ka(o),!(!e(ie)||e(ie).serverId!==o)&&s(ie,{...e(ie),serverId:null},!0)}var Et=jl(),xt=$(Et),ht=l(xt),et=l(ht);{var Nt=o=>{var C=hl();ga(C),g(()=>za(C,R.query)),Qe("input",C,N=>{R.query=N.currentTarget.value}),a(o,C)};S(et,o=>{w()||o(Nt)})}var k=t(et,2);{var Q=o=>{var C=dt(),N=$(C);u(N,()=>ar,(_e,Me)=>{Me(_e,{get value(){return e(se)},onValueChange:F=>{s(se,St(F??"browse"),!0),i.onviewchange?.(e(se))},children:(F,q)=>{var Ge=dt(),pe=$(Ge);u(pe,()=>rr,(ct,ut)=>{ut(ct,{class:"bg-transparent h-auto gap-0 rounded-none border-none",children:(mt,fe)=>{var n=bl(),Z=$(n);u(Z,()=>wa,(_,p)=>{p(_,{value:"browse",class:"font-[family-name:var(--font-mono)] text-[11px] text-[var(--sig-text-muted)] data-[state=active]:text-[var(--sig-text-bright)] data-[state=active]:border-b-[var(--sig-text-bright)] border-b-2 border-b-transparent rounded-none bg-transparent px-[var(--space-md)] py-[var(--space-xs)] hover:text-[var(--sig-text)] data-[state=active]:shadow-none",children:(b,D)=>{O();var A=M();g(be=>c(A,`Browse${be??""}`),[()=>R.catalogTotal?` (${R.catalogTotal.toLocaleString()})`:""]),a(b,A)},$$slots:{default:!0}})});var U=t(Z,2);u(U,()=>wa,(_,p)=>{p(_,{value:"installed",class:"font-[family-name:var(--font-mono)] text-[11px] text-[var(--sig-text-muted)] data-[state=active]:text-[var(--sig-text-bright)] data-[state=active]:border-b-[var(--sig-text-bright)] border-b-2 border-b-transparent rounded-none bg-transparent px-[var(--space-md)] py-[var(--space-xs)] hover:text-[var(--sig-text)] data-[state=active]:shadow-none",children:(b,D)=>{O();var A=M();g(()=>c(A,`Installed (${R.installed.length??""})`)),a(b,A)},$$slots:{default:!0}})}),a(mt,n)},$$slots:{default:!0}})}),a(F,Ge)},$$slots:{default:!0}})}),a(o,C)};S(k,o=>{te()&&o(Q)})}var K=t(k,2);{var me=o=>{var C=$l(),N=l(C);u(N,()=>ta,(Me,F)=>{F(Me,{type:"single",get value(){return R.sortBy},onValueChange:q=>{R.sortBy=j(q??"popularity")},children:(q,Ge)=>{var pe=wl(),ct=$(pe);u(ct,()=>aa,(mt,fe)=>{fe(mt,{class:"select-trigger",children:(n,Z)=>{O();var U=M();g(()=>c(U,e(it))),a(n,U)},$$slots:{default:!0}})});var ut=t(ct,2);u(ut,()=>ra,(mt,fe)=>{fe(mt,{class:"select-content",children:(n,Z)=>{var U=xl(),_=$(U);u(_,()=>Oe,(D,A)=>{A(D,{value:"popularity",label:"Popularity",class:"select-item"})});var p=t(_,2);u(p,()=>Oe,(D,A)=>{A(D,{value:"official",label:"Official",class:"select-item"})});var b=t(p,2);u(b,()=>Oe,(D,A)=>{A(D,{value:"name",label:"Name",class:"select-item"})}),a(n,U)},$$slots:{default:!0}})}),a(q,pe)},$$slots:{default:!0}})});var _e=t(N,2);u(_e,()=>ta,(Me,F)=>{F(Me,{type:"single",get value(){return R.source},onValueChange:q=>{R.source=Ee(q??"all")},children:(q,Ge)=>{var pe=kl(),ct=$(pe);u(ct,()=>aa,(mt,fe)=>{fe(mt,{class:"select-trigger",children:(n,Z)=>{O();var U=M();g(()=>c(U,e(Ke))),a(n,U)},$$slots:{default:!0}})});var ut=t(ct,2);u(ut,()=>ra,(mt,fe)=>{fe(mt,{class:"select-content",children:(n,Z)=>{var U=dt(),_=$(U);Ft(_,17,()=>e(V),ua,(p,b)=>{var D=dt(),A=$(D);{let be=f(()=>e(b)==="all"?"All sources":T(e(b)));u(A,()=>Oe,(Fe,st)=>{st(Fe,{get value(){return e(b)},get label(){return e(be)},class:"select-item"})})}a(p,D)}),a(n,U)},$$slots:{default:!0}})}),a(q,pe)},$$slots:{default:!0}})}),r(C),a(o,C)};S(K,o=>{w()||o(me)})}r(ht);var ge=t(ht,2),yt=l(ge);{var rt=o=>{var C=Sl();a(o,C)};S(yt,o=>{e(Xe)!=="installed"&&o(rt)})}var tt=t(yt,2);{var He=o=>{var C=dt(),N=$(C);{var _e=F=>{var q=Pl(),Ge=l(q,!0);r(q),g(()=>c(Ge,R.loadingInstalled?"Loading installed tool servers...":R.installedError?`Failed to load installed servers: ${R.installedError}`:"No Tool Servers installed yet.")),a(F,q)},Me=F=>{var q=Rl();Ft(q,21,()=>R.installed,Ge=>Ge.id,(Ge,pe)=>{const ct=f(()=>hr(e(pe).source,e(pe).catalogId));var ut=Il(),mt=l(ut),fe=l(mt),n=l(fe);{var Z=H=>{var y=Cl();g(()=>{Gt(y,"src",e(ct)),Gt(y,"alt",e(pe).name)}),pa("error",y,()=>{Pt.add(e(pe).id)}),Pa(y),a(H,y)},U=f(()=>e(ct)&&!Pt.has(e(pe).id)),_=H=>{var y=M();g(re=>c(y,re),[()=>La(e(pe).name)]),a(H,y)};S(n,H=>{e(U)?H(Z):H(_,-1)})}r(fe);var p=t(fe,2),b=l(p,!0);r(p),r(mt);var D=t(mt,2),A=l(D,!0);r(D);var be=t(D,2),Fe=t(l(be),2),st=l(Fe,!0);r(Fe),r(be);var ne=t(be,2),xe=l(ne);{let H=f(()=>R.removingId===e(pe).id);vt(xe,{variant:"outline",size:"sm",class:"flex-1 h-auto rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] px-2 py-1 border-[var(--sig-border-strong)] text-[var(--sig-text)] transition-all duration-150 hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)] hover:border-[var(--sig-danger)] hover:shadow-[0_0_12px_rgba(220,38,38,0.35)] hover:scale-[1.02]",onclick:y=>{y.stopPropagation(),ka(e(pe).id)},get disabled(){return e(H)},children:(y,re)=>{O();var ye=M();g(()=>c(ye,R.removingId===e(pe).id?"...":"REMOVE")),a(y,ye)},$$slots:{default:!0}})}r(ne),r(ut),g(H=>{Sa(fe,H),c(b,e(pe).name),c(A,e(pe).description||e(pe).id),c(st,e(pe).config.transport)},[()=>`background: ${e(ct)&&!Pt.has(e(pe).id)?"transparent":Ma(e(pe).name)};`]),Qe("click",ut,()=>je(e(pe))),Qe("keydown",ut,H=>Je(H,e(pe))),a(Ge,ut)}),r(q),a(F,q)};S(N,F=>{R.installed.length===0?F(_e):F(Me,-1)})}a(o,C)},Ve=o=>{var C=Ml(),N=l(C);r(C),g(()=>c(N,`Failed to load catalog: ${R.catalogError??""}`)),a(o,C)},lt=o=>{var C=Ll();a(o,C)},m=o=>{var C=Tl(),N=t(l(C));r(C),Qe("click",N,()=>{R.query="",R.category="all",R.source="all"}),a(o,C)},P=o=>{var C=zl(),N=$(C);Ft(N,21,()=>e(ze),F=>F.id,(F,q)=>{const Ge=f(()=>_r(e(q).sourceUrl));var pe=Nl(),ct=l(pe),ut=l(ct),mt=l(ut);{var fe=B=>{var G=Al();g(()=>{Gt(G,"src",e(Ge)),Gt(G,"alt",e(q).name)}),pa("error",G,()=>{Ct.add(e(q).id)}),Pa(G),a(B,G)},n=f(()=>e(Ge)&&!Ct.has(e(q).id)),Z=B=>{var G=M();g(De=>c(G,De),[()=>La(e(q).name)]),a(B,G)};S(mt,B=>{e(n)?B(fe):B(Z,-1)})}r(ut);var U=t(ut,2),_=l(U,!0);r(U),r(ct);var p=t(ct,2),b=l(p,!0);r(p);var D=t(p,2),A=l(D),be=l(A,!0);r(A);var Fe=t(A,2),st=l(Fe,!0);r(Fe);var ne=t(Fe,2);{var xe=B=>{var G=El();a(B,G)};S(ne,B=>{e(q).official&&B(xe)})}var H=t(ne,2),y=l(H);r(H),r(D);var re=t(D,2),ye=l(re);{var Pe=B=>{{let G=f(()=>!e($e).get(e(q).id));vt(B,{variant:"outline",size:"sm",class:"flex-1 h-auto rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] px-2 py-1 border-[var(--sig-border-strong)] text-[var(--sig-text)] transition-all duration-150 hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)] hover:border-[var(--sig-danger)] hover:shadow-[0_0_12px_rgba(220,38,38,0.35)] hover:scale-[1.02]",onclick:De=>{De.stopPropagation();const qe=e($e).get(e(q).id);qe&&ka(qe)},get disabled(){return e(G)},children:(De,qe)=>{O();var Le=M("REMOVE");a(De,Le)},$$slots:{default:!0}})}},Ne=f(()=>e(ke).has(e(q).id)),ft=B=>{{let G=f(()=>!Re);vt(B,{variant:"outline",size:"sm",class:"flex-1 h-auto rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] px-2 py-1 border-[var(--sig-border-strong)] text-[var(--sig-text)] transition-all duration-150 hover:bg-[var(--sig-surface-raised)] hover:text-[var(--sig-text-bright)] hover:border-[var(--sig-text-muted)] hover:shadow-[0_0_12px_rgba(255,255,255,0.1)] hover:scale-[1.02]",onclick:De=>{De.stopPropagation(),e(q)},get disabled(){return e(G)},children:(De,qe)=>{var Le=dt(),We=$(Le);{var x=Te=>{var Ce=M("DISABLED");a(Te,Ce)};S(We,Te=>{Te(x)})}a(De,Le)},$$slots:{default:!0}})}};S(ye,B=>{e(Ne)?B(Pe):B(ft,-1)})}r(re),r(pe),g((B,G)=>{Sa(ut,B),c(_,e(q).name),c(b,e(q).description),c(be,G),c(st,e(q).category),c(y,`#${e(q).popularityRank??""}`)},[()=>`background: ${e(Ge)&&!Ct.has(e(q).id)?"transparent":Ma(e(q).name)};`,()=>T(e(q).source)]),Qe("click",pe,()=>ce(e(q))),Qe("keydown",pe,B=>Lt(B,e(q))),a(F,pe)}),r(N);var _e=t(N,2);{var Me=F=>{var q=Dl(),Ge=l(q);r(q),g(()=>c(Ge,`Show more (${e(de)??""} remaining)`)),Qe("click",q,()=>s(le,e(le)+W)),a(F,q)};S(_e,F=>{e(he)&&F(Me)})}a(o,C)};S(tt,o=>{e(Xe)==="installed"?o(He):R.catalogError?o(Ve,1):R.catalogLoading?o(lt,2):e(ae).length===0?o(m,3):o(P,-1)})}r(ge),r(xt);var J=t(xt,2);yl(J,{get open(){return e(oe)},get entry(){return e(Ze)},onclose:ve});var Ye=t(J,2);{let o=f(()=>e(ie)?e(ie).serverId!==null:!1),C=f(()=>e(ie)?e(ie).serverId!==null:!1),N=f(()=>e(ie)?.catalogEntry?R.installingId===e(ie).catalogEntry.id:!1),_e=f(()=>e(ie)?.serverId?R.removingId===e(ie).serverId:!1);Jr(Ye,{get open(){return e(Ae)},get item(){return e(ie)},get isInstalled(){return e(o)},get canReview(){return e(C)},canInstall:Re,get installBusy(){return e(N)},get removeBusy(){return e(_e)},onclose:It,oninstall:Se,onuninstall:Me=>{_t(Me)}})}g(()=>At(ht,1,`shrink-0 px-[var(--space-md)] py-[var(--space-sm)] flex items-center gap-2 flex-wrap ${w()?"":"border-b border-[var(--sig-border)]"}`,"svelte-164uy1v")),a(h,Et),Yt()}la(["input","click","keydown"]);const Fl=["secrets","network","exec","shell","system"],ql=["write","filesystem","fs","process","clipboard"];function Ya(h){return h<0?0:h>100?100:Math.round(h)}function lr(h){if(!h||h.length===0)return"unknown";const i=h.map(X=>X.toLowerCase());return i.some(X=>Fl.some(ae=>X.includes(ae)))?"high":i.some(X=>ql.some(ae=>X.includes(ae)))?"medium":"low"}function Ul(h,i){const w=h.permissions,te=lr(w),X=!!h.name&&i.includes(h.name),ae=h.maintainer||h.author||(h.fullName?h.fullName.split("@")[0]:"unknown");let V=40;h.provider&&(V+=15),h.name&&(V+=10),X&&(V+=20),h.user_invocable&&(V+=10),h.builtin&&(V+=15);let W=50;h.verified===!0&&(W+=25),h.verified===!1&&(W-=15),ae!=="unknown"&&(W+=10),(h.stars??0)>=100&&(W+=8),((h.downloads??0)>=1e3||(h.installsRaw??0)>=1e3)&&(W+=8),te==="high"&&(W-=20),te==="medium"&&(W-=8),te==="unknown"&&(W-=5);const le=h.verified===!0?"yes":h.verified===!1?"no":"unknown",ze=X?"Already installed in this workspace.":h.provider?`Published on ${h.provider}.`:"Provider metadata is missing.",he=le==="yes"?"Verified metadata present.":te==="unknown"?"Permissions metadata unavailable.":`Permissions footprint is ${te}.`;return{compatibilityScore:Ya(V),securityConfidence:Ya(W),permissionFootprint:te,verified:le,maintainer:ae,compatibilityReason:ze,securityReason:he}}var Ol=v('<div class="flex-1 flex items-center justify-center"><span class="text-[var(--sig-text-muted)] text-[12px]">Loading...</span></div>'),Vl=v("<span> </span>"),Kl=v("<!> <!> <!>",1),Hl=v('<span class="detail-stat svelte-159yllf"><svg width="10" height="10" viewBox="0 0 16 16" fill="currentColor"><path d="M8 12L3 7h3V1h4v6h3L8 12zM2 14h12v1H2v-1z"></path></svg> </span>'),Gl=v('<span class="detail-stat svelte-159yllf"><svg width="10" height="10" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0L10 5.5L16 6L11.5 10L13 16L8 12.5L3 16L4.5 10L0 6L6 5.5L8 0Z"></path></svg> </span>'),Wl=v('<span class="detail-stat svelte-159yllf"> </span>'),Yl=v('<span class="detail-stat svelte-159yllf"> </span>'),Ql=v('<div class="detail-stats svelte-159yllf"><!> <!> <!> <!></div>'),Zl=v('<div class="trust-card svelte-159yllf"><div class="trust-head svelte-159yllf">Trust profile before install</div> <div class="trust-grid svelte-159yllf"><div><span class="trust-label svelte-159yllf">Compatibility</span> <span class="trust-value svelte-159yllf"> </span></div> <div><span class="trust-label svelte-159yllf">Security confidence</span> <span class="trust-value svelte-159yllf"> </span></div> <div><span class="trust-label svelte-159yllf">Verified</span> <span class="trust-value svelte-159yllf"> </span></div> <div><span class="trust-label svelte-159yllf">Maintainer</span> <span class="trust-value svelte-159yllf"> </span></div> <div><span class="trust-label svelte-159yllf">Permissions</span> <span class="trust-value svelte-159yllf"> </span></div></div> <p class="trust-reason svelte-159yllf"> </p> <p class="trust-reason svelte-159yllf"> </p></div>'),Xl=v('<a target="_blank" rel="noopener" class="detail-provider-link svelte-159yllf"> </a>'),Jl=v("<span>Signet Reviews</span> <!>",1),es=v("<!> <!> <!> <!> <!>",1),ts=v("<!> <!>",1),as=v('<p class="review-muted svelte-159yllf">Loading reviews...</p>'),rs=v('<p class="review-muted svelte-159yllf">No reviews yet for this skill.</p>'),ls=v('<article class="review-item svelte-159yllf"><div class="review-title svelte-159yllf"> </div> <div class="review-meta svelte-159yllf"> </div> <p class="review-body svelte-159yllf"> </p></article>'),ss=v('<div class="review-list svelte-159yllf"></div>'),is=v('<div class="reviews-content svelte-159yllf"><div class="review-form svelte-159yllf"><!> <div class="review-row svelte-159yllf"><!> <!></div> <!> <div class="review-actions svelte-159yllf"><span class="review-gate svelte-159yllf">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-159yllf"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),ns=v("<!> <!>",1),os=v("<span>Additional provided descriptions</span> <!>",1),vs=v('<div class="skill-markdown"></div>'),ds=v('<p class="additional-copy svelte-159yllf"> </p>'),cs=v('<p class="additional-copy svelte-159yllf"> </p>'),us=v('<p class="additional-copy additional-copy-muted svelte-159yllf">No additional documentation available.</p>'),fs=v('<div class="additional-content svelte-159yllf"><!></div>'),gs=v("<!> <!>",1),ms=v('<div class="px-5 pt-5 pb-4"><div class="flex items-start justify-between gap-4"><div class="flex flex-col gap-1 min-w-0"><h2 class="detail-title svelte-159yllf"> </h2> <div class="flex items-center gap-2 flex-wrap"><!> <!></div></div> <div class="shrink-0"><!></div></div> <!> <!> <button type="button" class="detail-cmd svelte-159yllf" title="Click to copy"><span class="opacity-50">$</span> <span class="detail-cmd-hint svelte-159yllf"> </span></button> <!></div> <div class="flex-1 overflow-y-auto px-5 py-4"><!> <!></div>',1);function ps(h,i){Wt(i,!0);const w="signet:marketplace:reviews:display-name";let te=f(()=>d.detailOpen),X=f(()=>d.selectedName?d.installed.some(I=>I.name===d.selectedName):!1);function ae(I){I||Xa()}let V=f(()=>{if(!d.detailContent)return"";const I=d.detailContent.replace(/^---[\s\S]*?---\n*/,"");return Nr.parse(I,{async:!1})}),W=L(!1);async function le(){const I=d.selectedName;if(I)try{await navigator.clipboard.writeText(`npx skills add ${I}`),s(W,!0),setTimeout(()=>s(W,!1),1500)}catch{Bt("Copy failed","error")}}function ze(I){return I===void 0?"0":I>=1e6?`${(I/1e6).toFixed(1)}M`:I>=1e3?`${(I/1e3).toFixed(1)}K`:String(I)}let he=f(()=>{const I=d.detailSource;return I?.provider?I.provider==="clawhub"?`https://clawhub.ai/skills/${I.name}`:"https://skills.sh":null}),de=f(()=>{const I=d.detailSource,ce=d.detailMeta;if(!I&&!ce)return null;const je={...I??{},...ce??{}};return Ul(je,d.installed.map(It=>It.name))}),ke=L("top"),$e=L(!1),Y=L(ia([])),oe=L(!0),Ze=L(!1),Ae=L(ia(St())),ie=L(5),se=L(""),Re=L(""),Ke=L(!1);const it=f(()=>`${e(ie)}/5`),Xe=f(()=>d.selectedName??""),T=f(()=>{const I=[...e(Y)];return e(ke)==="top"?I.sort((ce,je)=>je.rating===ce.rating?je.updatedAt.localeCompare(ce.updatedAt):je.rating-ce.rating):e(ke)==="good"?I.filter(ce=>ce.rating>=4).sort((ce,je)=>je.updatedAt.localeCompare(ce.updatedAt)):e(ke)==="bad"?I.filter(ce=>ce.rating<=2).sort((ce,je)=>je.updatedAt.localeCompare(ce.updatedAt)):I.sort((ce,je)=>je.updatedAt.localeCompare(ce.updatedAt))});async function j(){if(!e(Xe)){s(Y,[],!0);return}s($e,!0);try{const I=await ja({targetType:"skill",targetId:e(Xe),limit:100});s(Y,I.reviews,!0)}finally{s($e,!1)}}Xt(()=>{e(Xe),j()});function Ee(I){return I==="1"?1:I==="2"?2:I==="3"?3:I==="4"?4:5}function St(){try{return localStorage.getItem(w)??""}catch{return""}}function Pt(I){try{localStorage.setItem(w,I)}catch{}}async function Ct(){if(!e(Xe))return;if(!e(X)){Bt("Install or use this skill before leaving a review.","error");return}const I=e(Ae).trim(),ce=e(se).trim(),je=e(Re).trim();if(!I||!ce||!je){Bt("Display name, title, and review are required","error");return}s(Ke,!0);try{const It=await tr({targetType:"skill",targetId:e(Xe),displayName:I,rating:e(ie),title:ce,body:je});if(!It.success){Bt(It.error??"Failed to submit review","error");return}Pt(I),s(se,""),s(Re,""),Bt("Review posted","success"),await j()}finally{s(Ke,!1)}}var E=dt(),ve=$(E);u(ve,()=>Fa,(I,ce)=>{ce(I,{onOpenChange:ae,get open(){return e(te)},set open(je){s(te,je)},children:(je,It)=>{var Lt=dt(),Je=$(Lt);u(Je,()=>Ba,(Se,_t)=>{_t(Se,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
|
|
6
|
+
!border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(Et,xt)=>{var ht=dt(),et=$(ht);{var Nt=Q=>{var K=Ol();a(Q,K)},k=Q=>{var K=ms(),me=$(K),ge=l(me),yt=l(ge),rt=l(yt),tt=l(rt,!0);r(rt);var He=t(rt,2),Ve=l(He);{var lt=_=>{var p=Vl();let b;var D=l(p,!0);r(p),g(()=>{b=At(p,1,"provider-badge svelte-159yllf",null,b,{clawhub:d.detailSource.provider==="clawhub"}),c(D,d.detailSource.provider)}),a(_,p)};S(Ve,_=>{d.detailSource?.provider&&_(lt)})}var m=t(Ve,2);{var P=_=>{var p=Kl(),b=$(p);{var D=ne=>{fa(ne,{variant:"outline",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-accent)] text-[var(--sig-accent)]",children:(xe,H)=>{O();var y=M();g(()=>c(y,`/${d.detailMeta.name??""}`)),a(xe,y)},$$slots:{default:!0}})};S(b,ne=>{d.detailMeta.user_invocable&&ne(D)})}var A=t(b,2);{var be=ne=>{fa(ne,{variant:"outline",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-accent)] text-[var(--sig-accent)]",children:(xe,H)=>{O();var y=M("Built-in");a(xe,y)},$$slots:{default:!0}})};S(A,ne=>{d.detailMeta.builtin&&ne(be)})}var Fe=t(A,2);{var st=ne=>{fa(ne,{variant:"outline",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)]",children:(xe,H)=>{O();var y=M();g(()=>c(y,d.detailMeta.arg_hint)),a(xe,y)},$$slots:{default:!0}})};S(Fe,ne=>{d.detailMeta.arg_hint&&ne(st)})}a(_,p)};S(m,_=>{d.detailMeta&&_(P)})}r(He),r(yt);var J=t(yt,2),Ye=l(J);{var o=_=>{fa(_,{variant:"outline",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)]",children:(p,b)=>{O();var D=M("System");a(p,D)},$$slots:{default:!0}})},C=_=>{{let p=f(()=>d.uninstalling===d.detailMeta?.name);vt(_,{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:()=>d.detailMeta&&Ja(d.detailMeta.name),get disabled(){return e(p)},children:(b,D)=>{O();var A=M();g(()=>c(A,d.uninstalling===d.detailMeta?.name?"...":"Uninstall")),a(b,A)},$$slots:{default:!0}})}},N=_=>{{let p=f(()=>d.installing===d.selectedName);vt(_,{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:()=>d.selectedName&&er(d.selectedName),get disabled(){return e(p)},children:(b,D)=>{O();var A=M();g(()=>c(A,d.installing===d.selectedName?"...":"Install")),a(b,A)},$$slots:{default:!0}})}};S(Ye,_=>{d.detailMeta?.builtin?_(o):e(X)?_(C,1):_(N,-1)})}r(J),r(ge);var _e=t(ge,2);{var Me=_=>{var p=Ql(),b=l(p);{var D=H=>{var y=Hl(),re=t(l(y));r(y),g(ye=>c(re,` ${ye??""} downloads`),[()=>ze(d.detailSource.downloads)]),a(H,y)};S(b,H=>{d.detailSource.downloads!==void 0&&H(D)})}var A=t(b,2);{var be=H=>{var y=Gl(),re=t(l(y));r(y),g(ye=>c(re,` ${ye??""} stars`),[()=>ze(d.detailSource.stars)]),a(H,y)};S(A,H=>{d.detailSource.stars!==void 0&&d.detailSource.stars>0&&H(be)})}var Fe=t(A,2);{var st=H=>{var y=Wl(),re=l(y);r(y),g(()=>c(re,`${d.detailSource.versions??""} version${d.detailSource.versions!==1?"s":""}`)),a(H,y)};S(Fe,H=>{d.detailSource.versions!==void 0&&d.detailSource.versions>0&&H(st)})}var ne=t(Fe,2);{var xe=H=>{var y=Yl(),re=l(y);r(y),g(()=>c(re,`by ${d.detailSource.maintainer??d.detailSource.author??""}`)),a(H,y)};S(ne,H=>{(d.detailSource.maintainer||d.detailSource.author)&&H(xe)})}r(p),a(_,p)};S(_e,_=>{d.detailSource&&_(Me)})}var F=t(_e,2);{var q=_=>{var p=Zl(),b=t(l(p),2),D=l(b),A=t(l(D),2),be=l(A);r(A),r(D);var Fe=t(D,2),st=t(l(Fe),2),ne=l(st);r(st),r(Fe);var xe=t(Fe,2),H=t(l(xe),2),y=l(H,!0);r(H),r(xe);var re=t(xe,2),ye=t(l(re),2),Pe=l(ye,!0);r(ye),r(re);var Ne=t(re,2),ft=t(l(Ne),2),B=l(ft,!0);r(ft),r(Ne),r(b);var G=t(b,2),De=l(G);r(G);var qe=t(G,2),Le=l(qe);r(qe),r(p),g(()=>{c(be,`${e(de).compatibilityScore??""}%`),c(ne,`${e(de).securityConfidence??""}%`),c(y,e(de).verified),c(Pe,e(de).maintainer),c(B,e(de).permissionFootprint),c(De,`Compatibility: ${e(de).compatibilityReason??""}`),c(Le,`Security: ${e(de).securityReason??""}`)}),a(_,p)};S(F,_=>{e(de)&&_(q)})}var Ge=t(F,2),pe=t(l(Ge)),ct=t(pe),ut=l(ct,!0);r(ct),r(Ge);var mt=t(Ge,2);{var fe=_=>{var p=Xl(),b=l(p);r(p),g(()=>{Gt(p,"href",e(he)),c(b,`View on ${d.detailSource?.provider??""} →`)}),a(_,p)};S(mt,_=>{e(he)&&_(fe)})}r(me);var n=t(me,2),Z=l(n);u(Z,()=>_a,(_,p)=>{p(_,{class:"reviews-section",get open(){return e(oe)},set open(b){s(oe,b,!0)},children:(b,D)=>{var A=ns(),be=$(A);u(be,()=>ya,(st,ne)=>{ne(st,{class:"reviews-trigger",children:(xe,H)=>{var y=Jl(),re=t($(y),2);{let ye=f(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(oe)?"rotate-180":""}`);ba(re,{get class(){return e(ye)}})}a(xe,y)},$$slots:{default:!0}})});var Fe=t(be,2);u(Fe,()=>ha,(st,ne)=>{ne(st,{children:(xe,H)=>{var y=is(),re=l(y),ye=l(re);Ht(ye,{class:"review-input",placeholder:"Display name",get value(){return e(Ae)},oninput:ue=>{s(Ae,ue.currentTarget.value,!0)}});var Pe=t(ye,2),Ne=l(Pe);{let ue=f(()=>String(e(ie)));u(Ne,()=>ta,(we,Ue)=>{Ue(we,{type:"single",get value(){return e(ue)},onValueChange:at=>{s(ie,Ee(at??"5"),!0)},children:(at,Kt)=>{var Dt=ts(),Ut=$(Dt);u(Ut,()=>aa,(nt,kt)=>{kt(nt,{class:"review-rating",children:(Ot,Jt)=>{O();var zt=M();g(()=>c(zt,e(it))),a(Ot,zt)},$$slots:{default:!0}})});var Rt=t(Ut,2);u(Rt,()=>ra,(nt,kt)=>{kt(nt,{class:"review-rating-content",children:(Ot,Jt)=>{var zt=es(),Vt=$(zt);u(Vt,()=>Oe,(pt,Mt)=>{Mt(pt,{value:"5",label:"5/5",class:"review-rating-item"})});var na=t(Vt,2);u(na,()=>Oe,(pt,Mt)=>{Mt(pt,{value:"4",label:"4/5",class:"review-rating-item"})});var gt=t(na,2);u(gt,()=>Oe,(pt,Mt)=>{Mt(pt,{value:"3",label:"3/5",class:"review-rating-item"})});var bt=t(gt,2);u(bt,()=>Oe,(pt,Mt)=>{Mt(pt,{value:"2",label:"2/5",class:"review-rating-item"})});var jt=t(bt,2);u(jt,()=>Oe,(pt,Mt)=>{Mt(pt,{value:"1",label:"1/5",class:"review-rating-item"})}),a(Ot,zt)},$$slots:{default:!0}})}),a(at,Dt)},$$slots:{default:!0}})})}var ft=t(Ne,2);Ht(ft,{class:"review-input",placeholder:"Review title",get value(){return e(se)},oninput:ue=>{s(se,ue.currentTarget.value,!0)}}),r(Pe);var B=t(Pe,2);Ua(B,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e(Re)},oninput:ue=>{s(Re,ue.currentTarget.value,!0)}});var G=t(B,2),De=t(l(G),2);{let ue=f(()=>e(Ke)||!e(X));vt(De,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{Ct()},get disabled(){return e(ue)},children:(we,Ue)=>{O();var at=M();g(()=>c(at,e(Ke)?"Posting...":"Post review")),a(we,at)},$$slots:{default:!0}})}r(G),r(re);var qe=t(re,2),Le=l(qe);let We;var x=t(Le,2);let Te;var Ce=t(x,2);let Tt;var qt=t(Ce,2);let wt;r(qe);var ot=t(qe,2);{var z=ue=>{var we=as();a(ue,we)},Ie=ue=>{var we=rs();a(ue,we)},Be=ue=>{var we=ss();Ft(we,21,()=>e(T),Ue=>Ue.id,(Ue,at)=>{var Kt=ls(),Dt=l(Kt),Ut=l(Dt,!0);r(Dt);var Rt=t(Dt,2),nt=l(Rt);r(Rt);var kt=t(Rt,2),Ot=l(kt,!0);r(kt),r(Kt),g(()=>{c(Ut,e(at).title),c(nt,`${e(at).displayName??""} · ${e(at).rating??""}/5`),c(Ot,e(at).body)}),a(Ue,Kt)}),r(we),a(ue,we)};S(ot,ue=>{e($e)?ue(z):e(T).length===0?ue(Ie,1):ue(Be,-1)})}r(y),g(()=>{We=At(Le,1,"review-filter svelte-159yllf",null,We,{active:e(ke)==="top"}),Te=At(x,1,"review-filter svelte-159yllf",null,Te,{active:e(ke)==="good"}),Tt=At(Ce,1,"review-filter svelte-159yllf",null,Tt,{active:e(ke)==="bad"}),wt=At(qt,1,"review-filter svelte-159yllf",null,wt,{active:e(ke)==="all"})}),Qe("click",Le,()=>s(ke,"top")),Qe("click",x,()=>s(ke,"good")),Qe("click",Ce,()=>s(ke,"bad")),Qe("click",qt,()=>s(ke,"all")),a(xe,y)},$$slots:{default:!0}})}),a(b,A)},$$slots:{default:!0}})});var U=t(Z,2);u(U,()=>_a,(_,p)=>{p(_,{class:"additional-section",get open(){return e(Ze)},set open(b){s(Ze,b,!0)},children:(b,D)=>{var A=gs(),be=$(A);u(be,()=>ya,(st,ne)=>{ne(st,{class:"additional-trigger",children:(xe,H)=>{var y=os(),re=t($(y),2);{let ye=f(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(Ze)?"rotate-180":""}`);ba(re,{get class(){return e(ye)}})}a(xe,y)},$$slots:{default:!0}})});var Fe=t(be,2);u(Fe,()=>ha,(st,ne)=>{ne(st,{children:(xe,H)=>{var y=fs(),re=l(y);{var ye=B=>{var G=vs();ur(G,()=>e(V),!0),r(G),a(B,G)},Pe=B=>{var G=ds(),De=l(G,!0);r(G),g(()=>c(De,d.detailMeta.description)),a(B,G)},Ne=B=>{var G=cs(),De=l(G,!0);r(G),g(()=>c(De,d.detailSource.description)),a(B,G)},ft=B=>{var G=us();a(B,G)};S(re,B=>{e(V)?B(ye):d.detailMeta?.description?B(Pe,1):d.detailSource?.description?B(Ne,2):B(ft,-1)})}r(y),a(xe,y)},$$slots:{default:!0}})}),a(b,A)},$$slots:{default:!0}})}),r(n),g(()=>{c(tt,d.selectedName),c(pe,` npx skills add ${d.selectedName??""} `),c(ut,e(W)?"copied!":"click to copy")}),Qe("click",Ge,le),a(Q,K)};S(et,Q=>{d.detailLoading?Q(Nt):Q(k,-1)})}a(Et,ht)},$$slots:{default:!0}})}),a(je,Lt)},$$slots:{default:!0}})}),a(h,E),Yt()}la(["click"]);var _s=v('<img class="monogram-avatar svelte-qm8fui"/>'),ys=v('<span class="compare-toggle svelte-qm8fui" role="checkbox" tabindex="0"><span></span> <span>Compare</span></span>'),hs=v("<span> </span>"),bs=v('<span class="stat svelte-qm8fui" title="Stars"><svg width="10" height="10" viewBox="0 0 16 16" fill="currentColor" class="shrink-0"><path d="M8 0L10 5.5L16 6L11.5 10L13 16L8 12.5L3 16L4.5 10L0 6L6 5.5L8 0Z"></path></svg> </span>'),xs=v('<span class="stat svelte-qm8fui" title="Versions"> </span>'),ws=v('<span class="stat svelte-qm8fui" title="Downloads"><svg width="10" height="10" viewBox="0 0 16 16" fill="currentColor" class="shrink-0"><path d="M8 12L3 7h3V1h4v6h3L8 12zM2 14h12v1H2v-1z"></path></svg> </span> <!> <!>',1),ks=v('<span class="stat svelte-qm8fui"> </span>'),$s=v("<!> <!>",1),Ss=v('<div class="card-action svelte-qm8fui"><div class="action-row svelte-qm8fui"><!></div></div>'),Ps=v('<div class="card-action svelte-qm8fui"><div class="action-row svelte-qm8fui"><!></div></div>'),Cs=v('<div><button type="button" class="card svelte-qm8fui"><div class="card-top svelte-qm8fui"><div><!></div> <div class="card-header-content svelte-qm8fui"><div class="card-header svelte-qm8fui"><span> </span> <div class="badge-row svelte-qm8fui"><!> <!></div></div></div></div> <p class="card-desc svelte-qm8fui"><!></p> <div class="card-stats svelte-qm8fui"><!></div> <!></button></div>');function Is(h,i){Wt(i,!0);let w=$t(i,"featured",3,!1),te=$t(i,"selected",3,!1),X=$t(i,"compareSelected",3,!1),ae=$t(i,"installing",3,!1),V=$t(i,"uninstalling",3,!1);function W(m){return"installed"in m&&"fullName"in m}function le(m){return"path"in m||"builtin"in m}function ze(m){return m===void 0?"0":m>=1e6?`${(m/1e6).toFixed(1)}M`:m>=1e3?`${(m/1e3).toFixed(1)}K`:String(m)}let he=f(()=>La(i.item.name)),de=f(()=>Ma(i.item.name));function ke(){let m;return W(i.item)?m=i.item.maintainer:m=br().get(i.item.name)?.maintainer,m?`https://github.com/${m.split("/")[0]}.png?size=40`:null}let $e=f(ke),Y=L(!1);Xt(()=>{e($e),s(Y,!1)});var oe=Cs();let Ze;var Ae=l(oe),ie=l(Ae),se=l(ie);let Re;var Ke=l(se);{var it=m=>{var P=_s();g(()=>{Gt(P,"src",e($e)),Gt(P,"alt",i.item.name)}),pa("error",P,()=>{s(Y,!0)}),Pa(P),a(m,P)},Xe=m=>{var P=M();g(()=>c(P,e(he))),a(m,P)};S(Ke,m=>{e($e)&&!e(Y)?m(it):m(Xe,-1)})}r(se);var T=t(se,2),j=l(T),Ee=l(j);let St;var Pt=l(Ee,!0);r(Ee);var Ct=t(Ee,2),E=l(Ct);{var ve=m=>{var P=ys(),J=l(P);let Ye;O(2),r(P),g(()=>{Gt(P,"aria-checked",X()),Ye=At(J,1,"compare-dot svelte-qm8fui",null,Ye,{active:X()})}),Qe("click",P,o=>{o.stopPropagation(),i.oncomparetoggle?.()}),Qe("keydown",P,o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),o.stopPropagation(),i.oncomparetoggle?.())}),a(m,P)},I=f(()=>i.mode==="browse"&&W(i.item));S(E,m=>{e(I)&&m(ve)})}var ce=t(E,2);{var je=m=>{var P=hs();let J;var Ye=l(P,!0);r(P),g(()=>{J=At(P,1,"provider-badge svelte-qm8fui",null,J,{clawhub:i.item.provider==="clawhub"}),c(Ye,i.item.provider)}),a(m,P)},It=f(()=>W(i.item)&&i.item.provider);S(ce,m=>{e(It)&&m(je)})}r(Ct),r(j),r(T),r(ie);var Lt=t(ie,2),Je=l(Lt);{var Se=m=>{var P=M();g(()=>c(P,i.item.description)),a(m,P)},_t=f(()=>W(i.item)&&i.item.description),Et=m=>{var P=M();g(()=>c(P,i.item.description)),a(m,P)},xt=f(()=>le(i.item)&&i.item.description),ht=m=>{var P=M();g(J=>c(P,J),[()=>i.item.fullName.split("@")[0]]),a(m,P)},et=f(()=>W(i.item)),Nt=m=>{var P=M(" ");a(m,P)};S(Je,m=>{e(_t)?m(Se):e(xt)?m(Et,1):e(et)?m(ht,2):m(Nt,-1)})}r(Lt);var k=t(Lt,2),Q=l(k);{var K=m=>{var P=ws(),J=$(P),Ye=t(l(J));r(J);var o=t(J,2);{var C=Me=>{var F=bs(),q=t(l(F));r(F),g(Ge=>c(q,` ${Ge??""}`),[()=>ze(i.item.stars)]),a(Me,F)};S(o,Me=>{i.item.stars!==void 0&&i.item.stars>0&&Me(C)})}var N=t(o,2);{var _e=Me=>{var F=xs(),q=l(F);r(F),g(()=>c(q,`v${i.item.versions??""}`)),a(Me,F)};S(N,Me=>{i.item.versions!==void 0&&i.item.versions>0&&Me(_e)})}g(()=>c(Ye,` ${i.item.installs??""}`)),a(m,P)},me=f(()=>W(i.item)),ge=m=>{var P=$s(),J=$(P);{var Ye=N=>{var _e=ks(),Me=l(_e);r(_e),g(()=>c(Me,`/${i.item.name??""}`)),a(N,_e)};S(J,N=>{i.item.user_invocable&&N(Ye)})}var o=t(J,2);{var C=N=>{fa(N,{variant:"outline",class:"rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] border-[var(--sig-accent)] text-[var(--sig-accent)]",children:(_e,Me)=>{O();var F=M("Built-in");a(_e,F)},$$slots:{default:!0}})};S(o,N=>{i.item.builtin&&N(C)})}a(m,P)},yt=f(()=>le(i.item));S(Q,m=>{e(me)?m(K):e(yt)&&m(ge,1)})}r(k);var rt=t(k,2);{var tt=m=>{var P=Ss(),J=l(P),Ye=l(J);{var o=N=>{vt(N,{variant:"outline",size:"sm",class:"flex-1 h-auto rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] px-2 py-1 border-[var(--sig-border-strong)] text-[var(--sig-text)] transition-all duration-150 hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)] hover:border-[var(--sig-danger)] hover:shadow-[0_0_12px_rgba(220,38,38,0.35)] hover:scale-[1.02]",onclick:_e=>{_e.stopPropagation(),i.onuninstall?.()},get disabled(){return V()},children:(_e,Me)=>{O();var F=M();g(()=>c(F,V()?"...":"REMOVE")),a(_e,F)},$$slots:{default:!0}})},C=N=>{vt(N,{variant:"outline",size:"sm",class:"flex-1 h-auto rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] px-2 py-1 border-[var(--sig-border-strong)] text-[var(--sig-text)] transition-all duration-150 hover:bg-[var(--sig-surface-raised)] hover:text-[var(--sig-text-bright)] hover:border-[var(--sig-text-muted)] hover:shadow-[0_0_12px_rgba(255,255,255,0.1)] hover:scale-[1.02]",onclick:_e=>{_e.stopPropagation(),i.oninstall?.()},get disabled(){return ae()},children:(_e,Me)=>{O();var F=M();g(()=>c(F,ae()?"...":"INSTALL")),a(_e,F)},$$slots:{default:!0}})};S(Ye,N=>{i.item.installed?N(o):N(C,-1)})}r(J),r(P),a(m,P)},He=f(()=>i.mode==="browse"&&W(i.item)),Ve=m=>{var P=Ps(),J=l(P),Ye=l(J);vt(Ye,{variant:"outline",size:"sm",class:"flex-1 h-auto rounded-lg font-[family-name:var(--font-mono)] text-[9px] uppercase tracking-[0.08em] px-2 py-1 border-[var(--sig-border-strong)] text-[var(--sig-text)] transition-all duration-150 hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)] hover:border-[var(--sig-danger)] hover:shadow-[0_0_12px_rgba(220,38,38,0.35)] hover:scale-[1.02]",onclick:o=>{o.stopPropagation(),i.onuninstall?.()},get disabled(){return V()},children:(o,C)=>{O();var N=M();g(()=>c(N,V()?"...":"REMOVE")),a(o,N)},$$slots:{default:!0}}),r(J),r(P),a(m,P)},lt=f(()=>i.mode==="installed"&&le(i.item)&&!i.item.builtin);S(rt,m=>{e(He)?m(tt):e(lt)&&m(Ve,1)})}r(Ae),r(oe),g(()=>{Ze=At(oe,1,"card-wrap svelte-qm8fui",null,Ze,{selected:te(),featured:w()}),Re=At(se,1,"monogram svelte-qm8fui",null,Re,{"monogram-featured":w()}),Sa(se,`background: ${(e($e)&&!e(Y)?"transparent":e(de))??""};`),St=At(Ee,1,"card-name svelte-qm8fui",null,St,{"card-name-featured":w()}),c(Pt,i.item.name)}),Qe("click",Ae,()=>i.onclick?.()),a(h,oe),Yt()}la(["click","keydown"]);var Rs=v('<button type="button"> </button>'),Ms=v('<div class="empty-state svelte-wojr9z"><p class="empty-title svelte-wojr9z"> </p> <p class="empty-desc svelte-wojr9z"> </p> <div class="empty-actions svelte-wojr9z"></div></div>');function Ls(h,i){const w={installed:{title:"No installed skills yet",description:"Browse the catalog and install your first skill."},browse:{title:"No skills match this browse view",description:"Try clearing filters or reload the catalog."},search:{title:"No search matches",description:"Try a broader keyword or browse popular skills."}};var te=Ms(),X=l(te),ae=l(X,!0);r(X);var V=t(X,2),W=l(V,!0);r(V);var le=t(V,2);Ft(le,21,()=>i.actions,ua,(ze,he)=>{var de=Rs();let ke;var $e=l(de,!0);r(de),g(()=>{ke=At(de,1,"empty-btn svelte-wojr9z",null,ke,{primary:e(he).variant==="primary"}),c($e,e(he).label)}),Qe("click",de,function(...Y){e(he).onClick?.apply(this,Y)}),a(ze,de)}),r(le),r(te),g(()=>{c(ae,w[i.kind].title),c(W,w[i.kind].description)}),a(h,te)}la(["click"]);var Ts=v('<button type="button" class="show-more svelte-i14apw"> </button>'),As=v('<div class="grid svelte-i14apw"></div> <!>',1),Es=v('<div class="empty svelte-i14apw">No results found.</div>'),Ns=v('<div class="grid-container svelte-i14apw"><!></div>');function Ds(h,i){Wt(i,!0);let w=$t(i,"selectedName",3,null),te=$t(i,"installing",3,null),X=$t(i,"uninstalling",3,null),ae=$t(i,"emptyState",3,null),V=$t(i,"compareSelectedKeys",19,()=>[]);function W(se){return"installed"in se&&"fullName"in se}function le(se){return W(se)?se.fullName:se.name}let ze=f(()=>ae()==="installed"?[{label:"Go to Browse",onClick:()=>i.onemptyaction?.("primary"),variant:"primary"},{label:"Reset filters",onClick:()=>i.onemptyaction?.("secondary")}]:ae()==="browse"?[{label:"Clear provider filter",onClick:()=>i.onemptyaction?.("primary"),variant:"primary"},{label:"Retry catalog",onClick:()=>i.onemptyaction?.("secondary")}]:ae()==="search"?[{label:"Clear search",onClick:()=>i.onemptyaction?.("primary"),variant:"primary"},{label:"Browse top skills",onClick:()=>i.onemptyaction?.("secondary")}]:[]);const he=60;let de=L(he);Xt(()=>{i.items,s(de,he)});let ke=f(()=>i.items.slice(0,e(de))),$e=f(()=>e(de)<i.items.length),Y=f(()=>i.items.length-e(de));var oe=Ns(),Ze=l(oe);{var Ae=se=>{var Re=As(),Ke=$(Re);Ft(Ke,21,()=>e(ke),T=>le(T),(T,j)=>{{let Ee=f(()=>w()===e(j).name),St=f(()=>te()===e(j).name),Pt=f(()=>X()===e(j).name),Ct=f(()=>V().includes(le(e(j))));Is(T,{get item(){return e(j)},get mode(){return i.mode},get selected(){return e(Ee)},get installing(){return e(St)},get uninstalling(){return e(Pt)},get compareSelected(){return e(Ct)},onclick:()=>i.onitemclick?.(e(j).name),oninstall:()=>i.oninstall?.(e(j).name),onuninstall:()=>i.onuninstall?.(e(j).name),oncomparetoggle:()=>i.oncomparetoggle?.(le(e(j)))})}}),r(Ke);var it=t(Ke,2);{var Xe=T=>{var j=Ts(),Ee=l(j);r(j),g(()=>c(Ee,`Show more (${e(Y)??""} remaining)`)),Qe("click",j,()=>s(de,e(de)+he)),a(T,j)};S(it,T=>{e($e)&&T(Xe)})}a(se,Re)},ie=se=>{var Re=dt(),Ke=$(Re);{var it=T=>{Ls(T,{get kind(){return ae()},get actions(){return e(ze)}})},Xe=T=>{var j=Es();a(T,j)};S(Ke,T=>{ae()?T(it):T(Xe,-1)})}a(se,Re)};S(Ze,se=>{i.items.length>0?se(Ae):se(ie,-1)})}r(oe),a(h,oe),Yt()}la(["click"]);var zs=v('<tr><td class="svelte-emj32u"> </td><td class="svelte-emj32u"> </td><td class="svelte-emj32u"> </td><td class="svelte-emj32u"> </td><td class="svelte-emj32u"> </td><td class="svelte-emj32u"><button type="button" class="row-remove svelte-emj32u">Remove</button></td></tr>'),js=v('<div class="compare-wrap svelte-emj32u"><div class="compare-head svelte-emj32u"><p class="compare-title svelte-emj32u"> </p> <button type="button" class="clear-btn svelte-emj32u">Clear</button></div> <div class="compare-table-wrap svelte-emj32u"><table class="compare-table svelte-emj32u"><thead><tr><th class="svelte-emj32u">Skill</th><th class="svelte-emj32u">Maintainer</th><th class="svelte-emj32u">Stars/Downloads</th><th class="svelte-emj32u">Verified</th><th class="svelte-emj32u">Permissions</th><th class="svelte-emj32u"></th></tr></thead><tbody></tbody></table></div></div>');function Bs(h,i){Wt(i,!0);function w(Y){return Y.fullName}function te(Y){return Y===void 0?"-":Y>=1e6?`${(Y/1e6).toFixed(1)}M`:Y>=1e3?`${(Y/1e3).toFixed(1)}K`:String(Y)}function X(Y){return Y.maintainer?Y.maintainer:Y.author?Y.author:Y.fullName.split("@")[0]||"unknown"}function ae(Y){return Y.verified===!0?"Verified":Y.verified===!1?"Unverified":"Unknown"}var V=js(),W=l(V),le=l(W),ze=l(le);r(le);var he=t(le,2);r(W);var de=t(W,2),ke=l(de),$e=t(l(ke));Ft($e,21,()=>i.items,Y=>w(Y),(Y,oe)=>{var Ze=zs(),Ae=l(Ze),ie=l(Ae,!0);r(Ae);var se=t(Ae),Re=l(se,!0);r(se);var Ke=t(se),it=l(Ke);r(Ke);var Xe=t(Ke),T=l(Xe,!0);r(Xe);var j=t(Xe),Ee=l(j,!0);r(j);var St=t(j),Pt=l(St);r(St),r(Ze),g((Ct,E,ve,I,ce)=>{c(ie,e(oe).name),c(Re,Ct),c(it,`${E??""} / ${ve??""}`),c(T,I),c(Ee,ce)},[()=>X(e(oe)),()=>te(e(oe).stars),()=>te(e(oe).downloads??e(oe).installsRaw),()=>ae(e(oe)),()=>lr(e(oe).permissions)]),Qe("click",Pt,()=>i.onRemove(w(e(oe)))),a(Y,Ze)}),r($e),r(ke),r(de),r(V),g(()=>c(ze,`Compare Skills (${i.items.length??""}/3)`)),Qe("click",he,function(...Y){i.onClear?.apply(this,Y)}),a(h,V),Yt()}la(["click"]);var Fs=v(`<div class="shrink-0 px-[var(--space-md)] py-[var(--space-sm)]
|
|
7
|
+
border-b border-[var(--sig-border)] flex flex-col gap-2"><div class="relative"><input type="text" class="w-full px-3 py-[6px]
|
|
8
|
+
border border-[var(--sig-border-strong)]
|
|
9
|
+
bg-[var(--sig-surface-raised)]
|
|
10
|
+
text-[var(--sig-text-bright)] text-[11px]
|
|
11
|
+
font-[family-name:var(--font-mono)]
|
|
12
|
+
outline-none focus:border-[var(--sig-accent)]
|
|
13
|
+
pr-8" placeholder="Search skills..."/> <kbd class="absolute right-2 top-1/2 -translate-y-1/2
|
|
14
|
+
px-[5px] py-px text-[9px]
|
|
15
|
+
text-[var(--sig-text-muted)]
|
|
16
|
+
bg-[var(--sig-bg)]
|
|
17
|
+
border border-[var(--sig-border)]
|
|
18
|
+
pointer-events-none">/</kbd></div> <div class="flex items-center gap-3 flex-wrap"><a href="https://skills.sh" target="_blank" rel="noopener" class="font-[family-name:var(--font-mono)] text-[10px]
|
|
19
|
+
text-[var(--sig-text-muted)]
|
|
20
|
+
hover:text-[var(--sig-accent)] no-underline">skills.sh</a> <span class="text-[var(--sig-border-strong)]">|</span> <a href="https://clawhub.ai" target="_blank" rel="noopener" class="font-[family-name:var(--font-mono)] text-[10px]
|
|
21
|
+
text-[var(--sig-text-muted)]
|
|
22
|
+
hover:text-[var(--sig-accent)] no-underline">clawhub.ai</a> <span class="text-[var(--sig-border-strong)]">|</span> <a href="https://socket.dev/blog/socket-brings-supply-chain-security-to-skills" target="_blank" rel="noopener" class="inline-flex items-center gap-[5px]
|
|
23
|
+
font-[family-name:var(--font-mono)] text-[10px]
|
|
24
|
+
text-[var(--sig-success)] no-underline
|
|
25
|
+
hover:underline"><svg width="10" height="10" viewBox="0 0 16 16" fill="none" class="shrink-0"><path d="M8 0L10 5.5L16 6L11.5 10L13 16L8 12.5L3 16L4.5 10L0 6L6 5.5L8 0Z" fill="currentColor"></path></svg> Verified by Socket.dev</a></div></div>`),qs=v("<!> <!>",1),Us=v("<!> <!>",1),Os=v("<!> <!>",1),Vs=v('<div class="flex items-center gap-2 ml-auto pr-[var(--space-md)]"><div class="flex items-center gap-1"><span class="text-[9px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)] uppercase tracking-wider">Sort</span> <!></div> <div class="flex items-center gap-1"><span class="text-[9px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)] uppercase tracking-wider">Provider</span> <!></div></div>'),Ks=v('<div class="flex items-center shrink-0 border-b border-[var(--sig-border)] gap-2"><!> <!></div>'),Hs=v(`<div class="flex-1 flex items-center justify-center
|
|
26
|
+
text-[var(--sig-text-muted)] text-[12px]"> </div>`),Gs=v('<div class="h-full flex flex-col overflow-hidden"><!> <!> <!> <!></div> <!>',1);function Ws(h,i){Wt(i,!0);const w=$t(i,"embedded",3,!1),te=$t(i,"showViewTabs",3,!0),X="skills-search-input",ae=[{value:"popularity",label:"Popularity"},{value:"installs",label:"Downloads"},{value:"stars",label:"Stars"},{value:"name",label:"Name"},{value:"newest",label:"Newest"}],V=[{value:"all",label:"All"},{value:"skills.sh",label:"skills.sh"},{value:"clawhub",label:"ClawHub"}];function W(E){return E==="popularity"||E==="installs"||E==="stars"||E==="name"||E==="newest"?E:"popularity"}function le(E){return E==="skills.sh"||E==="clawhub"?E:"all"}const ze=f(()=>ae.find(ve=>ve.value===d.sortBy)?.label??"Popularity"),he=f(()=>V.find(ve=>ve.value===d.providerFilter)?.label??"All");function de(E){d.view=E,E==="browse"&&va()}function ke(E){const ve=E.target,I=ve.tagName==="INPUT"||ve.tagName==="TEXTAREA"||ve.isContentEditable;if(E.key==="/"&&!I){E.preventDefault();const ce=document.getElementById(X);ce instanceof HTMLInputElement&&ce.focus();return}if(E.key==="Escape"&&d.detailOpen){E.preventDefault(),Xa();return}}const $e=f(()=>d.query.trim()?kr():d.view==="installed"?d.installed:$r()),Y=f(()=>d.view==="installed"&&!d.query.trim()?"installed":"browse"),oe=f(()=>d.query.trim()&&e($e).length===0?"search":d.view==="installed"&&!d.query.trim()&&e($e).length===0?"installed":d.view==="browse"&&!d.query.trim()&&e($e).length===0?"browse":null),Ze=f(()=>e($e).filter(ve=>"fullName"in ve).filter(ve=>d.compareSelected.includes(ve.fullName)));function Ae(E){if(e(oe)==="installed"){if(E==="primary"){d.view="browse",va();return}Sr();return}if(e(oe)==="browse"){if(E==="primary"){d.providerFilter="all";return}d.catalogLoaded=!1,va();return}if(e(oe)==="search"){if(E==="primary"){ma("");return}ma(""),d.view="browse",d.providerFilter="all",va()}}Da(()=>{Ta(),va()});var ie=Gs();pa("keydown",Za,ke);var se=$(ie),Re=l(se);{var Ke=E=>{var ve=Fs(),I=l(ve),ce=l(I);ga(ce),Gt(ce,"id",X),O(2),r(I),O(2),r(ve),g(()=>za(ce,d.query)),Qe("input",ce,je=>ma(je.currentTarget.value)),a(E,ve)};S(Re,E=>{w()||E(Ke)})}var it=t(Re,2);{var Xe=E=>{var ve=dt(),I=$(ve);u(I,()=>ar,(ce,je)=>{je(ce,{get value(){return d.view},onValueChange:It=>de(It),children:(It,Lt)=>{var Je=Ks(),Se=l(Je);u(Se,()=>rr,(xt,ht)=>{ht(xt,{class:"bg-transparent h-auto gap-0 rounded-none border-none",children:(et,Nt)=>{var k=qs(),Q=$(k);u(Q,()=>wa,(me,ge)=>{ge(me,{value:"browse",class:"font-[family-name:var(--font-mono)] text-[11px] text-[var(--sig-text-muted)] data-[state=active]:text-[var(--sig-text-bright)] data-[state=active]:border-b-[var(--sig-text-bright)] border-b-2 border-b-transparent rounded-none bg-transparent px-[var(--space-md)] py-[var(--space-xs)] hover:text-[var(--sig-text)] data-[state=active]:shadow-none",children:(yt,rt)=>{O();var tt=M();g(He=>c(tt,`Browse${He??""}`),[()=>d.catalogTotal?` (${d.catalogTotal.toLocaleString()})`:""]),a(yt,tt)},$$slots:{default:!0}})});var K=t(Q,2);u(K,()=>wa,(me,ge)=>{ge(me,{value:"installed",class:"font-[family-name:var(--font-mono)] text-[11px] text-[var(--sig-text-muted)] data-[state=active]:text-[var(--sig-text-bright)] data-[state=active]:border-b-[var(--sig-text-bright)] border-b-2 border-b-transparent rounded-none bg-transparent px-[var(--space-md)] py-[var(--space-xs)] hover:text-[var(--sig-text)] data-[state=active]:shadow-none",children:(yt,rt)=>{O();var tt=M();g(()=>c(tt,`Installed (${d.installed.length??""})`)),a(yt,tt)},$$slots:{default:!0}})}),a(et,k)},$$slots:{default:!0}})});var _t=t(Se,2);{var Et=xt=>{var ht=Vs(),et=l(ht),Nt=t(l(et),2);u(Nt,()=>ta,(K,me)=>{me(K,{type:"single",get value(){return d.sortBy},onValueChange:ge=>{d.sortBy=W(ge??"installs")},children:(ge,yt)=>{var rt=Us(),tt=$(rt);u(tt,()=>aa,(Ve,lt)=>{lt(Ve,{class:"sort-select",children:(m,P)=>{O();var J=M();g(()=>c(J,e(ze))),a(m,J)},$$slots:{default:!0}})});var He=t(tt,2);u(He,()=>ra,(Ve,lt)=>{lt(Ve,{class:"sort-select-content",children:(m,P)=>{var J=dt(),Ye=$(J);Ft(Ye,17,()=>ae,ua,(o,C)=>{var N=dt(),_e=$(N);u(_e,()=>Oe,(Me,F)=>{F(Me,{get value(){return e(C).value},get label(){return e(C).label},class:"sort-select-item"})}),a(o,N)}),a(m,J)},$$slots:{default:!0}})}),a(ge,rt)},$$slots:{default:!0}})}),r(et);var k=t(et,2),Q=t(l(k),2);u(Q,()=>ta,(K,me)=>{me(K,{type:"single",get value(){return d.providerFilter},onValueChange:ge=>{d.providerFilter=le(ge??"all")},children:(ge,yt)=>{var rt=Os(),tt=$(rt);u(tt,()=>aa,(Ve,lt)=>{lt(Ve,{class:"provider-select",children:(m,P)=>{O();var J=M();g(()=>c(J,e(he))),a(m,J)},$$slots:{default:!0}})});var He=t(tt,2);u(He,()=>ra,(Ve,lt)=>{lt(Ve,{class:"sort-select-content",children:(m,P)=>{var J=dt(),Ye=$(J);Ft(Ye,17,()=>V,ua,(o,C)=>{var N=dt(),_e=$(N);u(_e,()=>Oe,(Me,F)=>{F(Me,{get value(){return e(C).value},get label(){return e(C).label},class:"sort-select-item"})}),a(o,N)}),a(m,J)},$$slots:{default:!0}})}),a(ge,rt)},$$slots:{default:!0}})}),r(k),r(ht),a(xt,ht)};S(_t,xt=>{w()||xt(Et)})}r(Je),a(It,Je)},$$slots:{default:!0}})}),a(E,ve)};S(it,E=>{te()&&E(Xe)})}var T=t(it,2);{var j=E=>{Bs(E,{get items(){return e(Ze)},onRemove:ve=>Wa(ve),get onClear(){return xr}})};S(T,E=>{e(Ze).length>0&&E(j)})}var Ee=t(T,2);{var St=E=>{var ve=Hs(),I=l(ve,!0);r(ve),g(()=>c(I,d.searching?"Searching...":"Loading...")),a(E,ve)},Pt=E=>{Ds(E,{get items(){return e($e)},get mode(){return e(Y)},get selectedName(){return d.selectedName},get installing(){return d.installing},get uninstalling(){return d.uninstalling},onitemclick:ve=>wr(ve),oninstall:ve=>er(ve),onuninstall:ve=>Ja(ve),get emptyState(){return e(oe)},onemptyaction:Ae,get compareSelectedKeys(){return d.compareSelected},get oncomparetoggle(){return Wa},get onreviewrequest(){return i.onreviewrequest}})};S(Ee,E=>{d.searching||d.catalogLoading||d.loading?E(St):E(Pt,-1)})}r(se);var Ct=t(se,2);ps(Ct,{}),a(h,ie),Yt()}la(["input"]);const Ys="signet:marketplace:reviews:display-name";function Qs(){try{return localStorage.getItem(Ys)??""}catch{return""}}const ee=ia({targetType:null,targetId:null,targetLabel:"",canReview:!1,reviewEligibilityReason:"Install or use this app before leaving a review.",loading:!1,items:[],total:0,summary:{count:0,avgRating:0},displayName:Qs(),rating:5,title:"",body:"",submitting:!1,configLoading:!1,configSaving:!1,syncing:!1,configEnabled:!1,configEndpointUrl:"",lastSyncAt:null,lastSyncError:null,pendingSync:0});async function Qa(h,i,w,te){ee.targetType===h&&ee.targetId===i&&ee.targetLabel===w||(ee.targetType=h,ee.targetId=i,ee.targetLabel=w,ee.canReview=te?.canReview??!1,ee.reviewEligibilityReason=te?.reason??"Install or use this app before leaving a review.",await sr())}async function sr(){if(!ee.targetType||!ee.targetId){ee.items=[],ee.total=0,ee.summary={count:0,avgRating:0};return}ee.loading=!0;try{const h=await ja({targetType:ee.targetType,targetId:ee.targetId,limit:50});ee.items=h.reviews,ee.total=h.total,ee.summary=h.summary}finally{ee.loading=!1}}async function Aa(){ee.configLoading=!0;try{const h=await Lr();ee.configEnabled=h.enabled,ee.configEndpointUrl=h.endpointUrl,ee.lastSyncAt=h.lastSyncAt,ee.lastSyncError=h.lastSyncError,ee.pendingSync=h.pending}finally{ee.configLoading=!1}}async function Zs(){ee.configSaving=!0;try{const h=await Tr({enabled:ee.configEnabled,endpointUrl:ee.configEndpointUrl});if(!h.success||!h.config){Bt(h.error??"Failed to save review sync config","error");return}ee.configEnabled=h.config.enabled,ee.configEndpointUrl=h.config.endpointUrl,Bt("Review sync config saved","success")}finally{ee.configSaving=!1}}async function Xs(){ee.syncing=!0;try{const h=await Ar();if(!h.success){Bt(h.error??"Review sync failed","error"),await Aa();return}h.message?Bt(h.message,"success"):Bt(`Synced ${h.synced??0} reviews`,"success"),await Aa()}finally{ee.syncing=!1}}var Js=v("<span>Sort</span> <!>",1),ei=v("<!> <!> <!> <!> <!>",1),ti=v("<!> <!> <!>",1),ai=v("<!> <!>",1),ri=v("<!> <!> <!>",1),li=v("<!> <!> <!> <!>",1),si=v("<!> <!>",1),ii=v("<!> <!>",1),ni=v('<div class="rail-content"><!> <!> <!></div>'),oi=v("<!> <!>",1),vi=v("<span>Sync</span> <!>",1),di=v('<div class="muted svelte-xlc60r"> </div>'),ci=v('<div class="error svelte-xlc60r"> </div>'),ui=v('<div class="rail-content"><div class="rail-refresh svelte-xlc60r"><!> <!> <!></div> <label class="toggle-row svelte-xlc60r"><input type="checkbox" class="svelte-xlc60r"/> <span class="svelte-xlc60r">Enable endpoint sync</span></label> <input type="url" class="input svelte-xlc60r" placeholder="https://example.com/signet-reviews"/> <div class="sync-actions svelte-xlc60r"><!> <!></div> <!> <!></div>'),fi=v("<!> <!>",1),gi=v('<div class="store-shell svelte-xlc60r"><div class="tab-header svelte-xlc60r"><div class="tab-header-left svelte-xlc60r"><span class="tab-header-title svelte-xlc60r">MARKETPLACE</span> <span class="tab-header-count svelte-xlc60r"> </span> <span class="tab-header-sep svelte-xlc60r" aria-hidden="true"></span> <span class="tab-header-count svelte-xlc60r"> </span></div> <div class="tab-header-right svelte-xlc60r"><button>SKILLS</button> <button>MCP SERVERS</button></div></div> <div class="store-grid svelte-xlc60r"><main class="store-main svelte-xlc60r"><div class="module-head svelte-xlc60r"><div class="module-search-wrap svelte-xlc60r"><div class="module-search-inner svelte-xlc60r"><input type="text" class="module-search svelte-xlc60r"/> <!></div></div> <div class="module-view-tabs svelte-xlc60r"><!> <!></div></div> <div class="module-body svelte-xlc60r"><!></div></main> <aside class="store-rail svelte-xlc60r"><!> <!></aside></div></div>');function Pi(h,i){Wt(i,!0);let w=L("skills"),te=L(!0),X=L(!1),ae=L(!1),V=L(!1),W=L(!1),le=L(!1),ze=L(!1),he=L(!1),de=L(!1);const ke="(max-width: 1120px)",$e=f(()=>e(w)==="skills"?d.query:R.query),Y=f(()=>e(w)==="skills"?d.catalogTotal:R.catalogTotal),oe=f(()=>e(w)==="skills"?d.installed.length:R.installed.length),Ze=f(()=>d.catalog[0]?{title:d.catalog[0].name,targetType:"skill",targetId:d.catalog[0].name}:null),Ae=f(()=>R.catalog[0]?{title:R.catalog[0].name,targetType:"mcp",targetId:R.catalog[0].id}:null),ie=f(()=>e(w)==="skills"?e(Ze):e(Ae)),se=f(()=>e(w)==="skills"?Pr():Cr()),Re=f(()=>e(w)==="skills"?d.categoryFilter:R.category),Ke=f(()=>e(Re)==="all"?"All categories":e(Re)),it=f(()=>e(w)==="skills"?d.view:R.view),Xe=f(()=>e(w)==="skills"?d.sortBy==="installs"?"Downloads":d.sortBy==="stars"?"Stars":d.sortBy==="name"?"Name":d.sortBy==="newest"?"Newest":"Popularity":R.sortBy==="official"?"Official":R.sortBy==="name"?"Name":"Popularity"),T=f(()=>e(w)==="skills"?d.providerFilter==="skills.sh"?"skills.sh":d.providerFilter==="clawhub"?"ClawHub":"All providers":R.source==="mcpservers.org"?"MCP Registry":R.source==="modelcontextprotocol/servers"?"MCP GitHub":R.source==="github"?"GitHub":"All sources");function j(n){s(w,n==="mcp"?"mcp":"skills",!0)}function Ee(n){if(e(w)==="skills"){ma(n);return}R.query=n}function St(n){const Z=e(se).includes(n)?n:"all";if(e(w)==="skills"){d.categoryFilter=Z;return}R.category=Z}function Pt(n){if(e(w)==="skills"){if(n==="installs"||n==="stars"||n==="name"||n==="newest"){d.sortBy=n;return}d.sortBy="popularity";return}if(n==="name"||n==="official"){R.sortBy=n;return}R.sortBy="popularity"}function Ct(n){if(e(w)==="skills"){if(n==="skills.sh"||n==="clawhub"){d.providerFilter=n;return}d.providerFilter="all";return}if(n==="mcpservers.org"||n==="modelcontextprotocol/servers"||n==="github"){R.source=n;return}R.source="all"}function E(){if(e(w)==="skills"){ma(""),d.categoryFilter="all",d.providerFilter="all";return}R.query="",R.category="all",R.source="all"}function ve(n){if(e(w)==="skills"){d.view=n;return}R.view=n}function I(n,Z){return n==="skill"?d.installed.some(U=>U.name===Z):R.installed.some(U=>U.catalogId?`${U.source}:${U.catalogId}`===Z:!1)}async function ce(n){const Z=I(n.targetType,n.targetId);await Qa(n.targetType,n.targetId,n.targetLabel,{canReview:Z,reason:"Install or use this app before leaving a review."}),Z||Bt("Install or use this app before leaving a review.","error")}async function je(){s(ae,!0);try{d.catalogLoaded=!1,await Promise.all([Ta(),va()])}finally{s(ae,!1)}}async function It(){s(V,!0);try{R.catalogLoaded=!1,await Promise.all([Ca(),Ia(5)])}finally{s(V,!1)}}async function Lt(){s(W,!0);try{await Ra(!0)}finally{s(W,!1)}}let Je=L("tabs"),Se=L(-1),_t=L(0);function Et(){return Array.from(e(w)==="skills"?document.querySelectorAll(".card-wrap .card"):document.querySelectorAll(".catalog-card"))}function xt(){const n=document.querySelector(".store-rail");if(!n)return[];const Z=n.querySelectorAll(".rail-select, .rail-btn, .sync-actions button, .hero-switch, .toggle-row input, .input");return Array.from(Z).filter(U=>!U.disabled)}function ht(){const n=Et();if(n.length===0)return{columns:1,cards:n};if(!n[0]?.parentElement)return{columns:1,cards:n};const U=n[0].getBoundingClientRect();let _=1;for(let p=1;p<n.length;p++){const b=n[p].getBoundingClientRect();if(Math.abs(b.top-U.top)<2)_++;else break}return{columns:_,cards:n}}function et(n){if(Er.activeTab!=="skills"||n.defaultPrevented)return;const Z=n.target;if(!(Z.tagName==="INPUT"||Z.tagName==="TEXTAREA"||Z.isContentEditable)){if(e(le)){if(n.key==="Escape"||n.key==="ArrowLeft"){n.preventDefault(),n.stopPropagation(),s(le,!1),s(ze,!1),s(he,!1),s(de,!1);const _=xt();_[e(_t)]&&_[e(_t)].focus();return}return}if(n.key==="Escape"){if(d.detailOpen||R.catalogDetail)return;if(e(Je)==="cards"){n.preventDefault(),s(Je,"tabs"),s(Se,-1),Et().forEach(b=>b.blur());return}if(e(Je)==="filters"){n.preventDefault(),s(Je,"cards"),s(_t,0),xt().forEach(A=>A.blur());const{columns:b,cards:D}=ht();if(D.length>0){const A=Math.min(b-1,D.length-1);s(Se,A,!0),D[A]?.focus()}return}n.preventDefault(),$a();return}if(e(Je)==="tabs"){if(n.key==="ArrowDown"){n.preventDefault(),s(Je,"cards");const _=Et();_.length>0&&(s(Se,0),_[0]?.focus());return}if(n.key==="ArrowLeft"){if(e(w)==="skills"){n.preventDefault(),$a();return}e(w)==="mcp"&&(n.preventDefault(),j("skills"));return}if(n.key==="ArrowRight"&&e(w)==="skills"){n.preventDefault(),j("mcp");return}return}if(e(Je)==="cards"){const{columns:_,cards:p}=ht();if(n.key==="ArrowDown"){if(n.preventDefault(),p.length===0)return;if(e(Se)===-1){s(Se,0),p[0]?.focus();return}const b=e(Se)+_;b<p.length&&(s(Se,b),p[b]?.focus());return}if(n.key==="ArrowUp"){if(n.preventDefault(),p.length===0||e(Se)===-1)return;const b=e(Se)-_;b>=0?(s(Se,b),p[b]?.focus()):e(Se)<_&&(s(Je,"tabs"),p[e(Se)]?.blur(),s(Se,-1));return}if(n.key==="ArrowLeft"){if(n.preventDefault(),p.length===0)return;if(e(Se)===-1){e(w)==="skills"?$a():e(w)==="mcp"&&j("skills");return}if(e(Se)%_===0){s(Je,"tabs"),s(Se,-1),p.forEach(b=>b.blur());return}xa(Se,-1),p[e(Se)]?.focus();return}if(n.key==="ArrowRight"){if(n.preventDefault(),p.length===0)return;if(e(Se)===-1){s(Se,0),p[0]?.focus();return}const b=(e(Se)+1)%_===0,D=e(Se)===p.length-1;if(b||D){s(Je,"filters"),s(_t,0),p.forEach(be=>be.blur());const A=xt();A.length>0&&A[0]?.focus();return}xa(Se),p[e(Se)]?.focus();return}return}if(e(Je)==="filters"){const _=xt();if(n.key==="ArrowUp"){if(n.preventDefault(),n.stopPropagation(),_.length===0)return;e(_t)>0&&(xa(_t,-1),_[e(_t)]?.focus());return}if(n.key==="ArrowDown"){if(n.preventDefault(),n.stopPropagation(),_.length===0)return;e(_t)<_.length-1&&(xa(_t),_[e(_t)]?.focus());return}if(n.key==="ArrowLeft"||n.key==="Escape"){n.preventDefault(),s(Je,"cards"),s(_t,0),_.forEach(D=>D.blur());const{columns:p,cards:b}=ht();if(b.length>0){const D=Math.min(p-1,b.length-1);s(Se,D,!0),b[D]?.focus()}return}return n.key==="ArrowRight"||n.key==="Enter",void 0}}}Da(()=>{const n=window.matchMedia(ke),Z=()=>{if(n.matches){s(te,!1),s(X,!1);return}s(te,!0),s(X,!1)};Z(),n.addEventListener("change",Z),Ta(),va(),Ca(),Ia(5),Ra(),Aa();function U(_){const p=_.target;if(!p)return;const D=Et().indexOf(p);if(D!==-1){s(Je,"cards"),s(Se,D,!0);return}const be=xt().indexOf(p);if(be!==-1){s(Je,"filters"),s(_t,be,!0);return}}return document.addEventListener("focusin",U),()=>{n.removeEventListener("change",Z),document.removeEventListener("focusin",U)}}),Xt(()=>{e(ie)&&(ee.targetId&&ee.targetType||Qa(e(ie).targetType,e(ie).targetId,e(ie).title,{canReview:I(e(ie).targetType,e(ie).targetId),reason:"Install or use this app before leaving a review."}))}),Xt(()=>{!ee.targetType||!ee.targetId||sr()});var Nt=gi();pa("keydown",Za,et);var k=l(Nt),Q=l(k),K=t(l(Q),2),me=l(K);r(K);var ge=t(K,4),yt=l(ge);r(ge),r(Q);var rt=t(Q,2),tt=l(rt);let He;var Ve=t(tt,2);let lt;r(rt),r(k);var m=t(k,2),P=l(m),J=l(P),Ye=l(J),o=l(Ye),C=l(o);ga(C);var N=t(C,2);vt(N,{variant:"outline",size:"sm",class:"search-clear",onclick:E,children:(n,Z)=>{O();var U=M("Clear");a(n,U)},$$slots:{default:!0}}),r(o),r(Ye);var _e=t(Ye,2),Me=l(_e);{let n=f(()=>`view-tab ${e(it)==="browse"?"view-tab-active":""}`);vt(Me,{variant:"outline",size:"sm",get class(){return e(n)},onclick:()=>ve("browse"),children:(Z,U)=>{O();var _=M("Browse");a(Z,_)},$$slots:{default:!0}})}var F=t(Me,2);{let n=f(()=>`view-tab ${e(it)==="installed"?"view-tab-active":""}`);vt(F,{variant:"outline",size:"sm",get class(){return e(n)},onclick:()=>ve("installed"),children:(Z,U)=>{O();var _=M("Installed");a(Z,_)},$$slots:{default:!0}})}r(_e),r(J);var q=t(J,2),Ge=l(q);{var pe=n=>{Ws(n,{embedded:!0,showViewTabs:!1,onreviewrequest:ce})},ct=n=>{Bl(n,{embedded:!0,showViewTabs:!1,get currentView(){return e(it)},onviewchange:Z=>ve(Z),onreviewrequest:ce})};S(Ge,n=>{e(w)==="skills"?n(pe):n(ct,-1)})}r(q),r(P);var ut=t(P,2),mt=l(ut);u(mt,()=>_a,(n,Z)=>{Z(n,{class:"rail-panel",get open(){return e(te)},set open(U){s(te,U,!0)},children:(U,_)=>{var p=oi(),b=$(p);u(b,()=>ya,(A,be)=>{be(A,{class:"rail-trigger",children:(Fe,st)=>{var ne=Js(),xe=t($(ne),2);{let H=f(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(te)?"rotate-180":""}`);ba(xe,{get class(){return e(H)}})}a(Fe,ne)},$$slots:{default:!0}})});var D=t(b,2);u(D,()=>ha,(A,be)=>{be(A,{children:(Fe,st)=>{var ne=ni(),xe=l(ne);{let re=f(()=>e(w)==="skills"?d.sortBy:R.sortBy);u(xe,()=>ta,(ye,Pe)=>{Pe(ye,{type:"single",get value(){return e(re)},onValueChange:Ne=>Pt(Ne??"popularity"),get open(){return e(ze)},onOpenChange:Ne=>{s(ze,Ne,!0),s(le,Ne,!0)},children:(Ne,ft)=>{var B=ai(),G=$(B);u(G,()=>aa,(qe,Le)=>{Le(qe,{class:"rail-select",onkeydown:We=>{(We.key==="ArrowUp"||We.key==="ArrowDown")&&(We.stopPropagation(),et(We),We.preventDefault())},children:(We,x)=>{O();var Te=M();g(()=>c(Te,e(Xe))),a(We,Te)},$$slots:{default:!0}})});var De=t(G,2);u(De,()=>ra,(qe,Le)=>{Le(qe,{class:"section-select-content",children:(We,x)=>{var Te=dt(),Ce=$(Te);{var Tt=wt=>{var ot=ei(),z=$(ot);u(z,()=>Oe,(Ue,at)=>{at(Ue,{value:"popularity",label:"Popularity",class:"section-select-item"})});var Ie=t(z,2);u(Ie,()=>Oe,(Ue,at)=>{at(Ue,{value:"installs",label:"Downloads",class:"section-select-item"})});var Be=t(Ie,2);u(Be,()=>Oe,(Ue,at)=>{at(Ue,{value:"stars",label:"Stars",class:"section-select-item"})});var ue=t(Be,2);u(ue,()=>Oe,(Ue,at)=>{at(Ue,{value:"name",label:"Name",class:"section-select-item"})});var we=t(ue,2);u(we,()=>Oe,(Ue,at)=>{at(Ue,{value:"newest",label:"Newest",class:"section-select-item"})}),a(wt,ot)},qt=wt=>{var ot=ti(),z=$(ot);u(z,()=>Oe,(ue,we)=>{we(ue,{value:"popularity",label:"Popularity",class:"section-select-item"})});var Ie=t(z,2);u(Ie,()=>Oe,(ue,we)=>{we(ue,{value:"official",label:"Official",class:"section-select-item"})});var Be=t(Ie,2);u(Be,()=>Oe,(ue,we)=>{we(ue,{value:"name",label:"Name",class:"section-select-item"})}),a(wt,ot)};S(Ce,wt=>{e(w)==="skills"?wt(Tt):wt(qt,-1)})}a(We,Te)},$$slots:{default:!0}})}),a(Ne,B)},$$slots:{default:!0}})})}var H=t(xe,2);{let re=f(()=>e(w)==="skills"?d.providerFilter:R.source);u(H,()=>ta,(ye,Pe)=>{Pe(ye,{type:"single",get value(){return e(re)},onValueChange:Ne=>Ct(Ne??"all"),get open(){return e(he)},onOpenChange:Ne=>{s(he,Ne,!0),s(le,Ne,!0)},children:(Ne,ft)=>{var B=si(),G=$(B);u(G,()=>aa,(qe,Le)=>{Le(qe,{class:"rail-select",onkeydown:We=>{(We.key==="ArrowUp"||We.key==="ArrowDown")&&(We.stopPropagation(),et(We),We.preventDefault())},children:(We,x)=>{O();var Te=M();g(()=>c(Te,e(T))),a(We,Te)},$$slots:{default:!0}})});var De=t(G,2);u(De,()=>ra,(qe,Le)=>{Le(qe,{class:"section-select-content",children:(We,x)=>{var Te=dt(),Ce=$(Te);{var Tt=wt=>{var ot=ri(),z=$(ot);u(z,()=>Oe,(ue,we)=>{we(ue,{value:"all",label:"All providers",class:"section-select-item"})});var Ie=t(z,2);u(Ie,()=>Oe,(ue,we)=>{we(ue,{value:"skills.sh",label:"skills.sh",class:"section-select-item"})});var Be=t(Ie,2);u(Be,()=>Oe,(ue,we)=>{we(ue,{value:"clawhub",label:"ClawHub",class:"section-select-item"})}),a(wt,ot)},qt=wt=>{var ot=li(),z=$(ot);u(z,()=>Oe,(we,Ue)=>{Ue(we,{value:"all",label:"All sources",class:"section-select-item"})});var Ie=t(z,2);u(Ie,()=>Oe,(we,Ue)=>{Ue(we,{value:"mcpservers.org",label:"MCP Registry",class:"section-select-item"})});var Be=t(Ie,2);u(Be,()=>Oe,(we,Ue)=>{Ue(we,{value:"modelcontextprotocol/servers",label:"MCP GitHub",class:"section-select-item"})});var ue=t(Be,2);u(ue,()=>Oe,(we,Ue)=>{Ue(we,{value:"github",label:"GitHub",class:"section-select-item"})}),a(wt,ot)};S(Ce,wt=>{e(w)==="skills"?wt(Tt):wt(qt,-1)})}a(We,Te)},$$slots:{default:!0}})}),a(Ne,B)},$$slots:{default:!0}})})}var y=t(H,2);u(y,()=>ta,(re,ye)=>{ye(re,{type:"single",get value(){return e(Re)},onValueChange:Pe=>St(Pe??"all"),get open(){return e(de)},onOpenChange:Pe=>{s(de,Pe,!0),s(le,Pe,!0)},children:(Pe,Ne)=>{var ft=ii(),B=$(ft);u(B,()=>aa,(De,qe)=>{qe(De,{class:"rail-select",onkeydown:Le=>{(Le.key==="ArrowUp"||Le.key==="ArrowDown")&&(Le.stopPropagation(),et(Le),Le.preventDefault())},children:(Le,We)=>{O();var x=M();g(()=>c(x,e(Ke))),a(Le,x)},$$slots:{default:!0}})});var G=t(B,2);u(G,()=>ra,(De,qe)=>{qe(De,{class:"section-select-content",children:(Le,We)=>{var x=dt(),Te=$(x);Ft(Te,16,()=>e(se),Ce=>Ce,(Ce,Tt)=>{var qt=dt(),wt=$(qt);u(wt,()=>Oe,(ot,z)=>{z(ot,{get value(){return Tt},get label(){return Tt},class:"section-select-item"})}),a(Ce,qt)}),a(Le,x)},$$slots:{default:!0}})}),a(Pe,ft)},$$slots:{default:!0}})}),r(ne),a(Fe,ne)},$$slots:{default:!0}})}),a(U,p)},$$slots:{default:!0}})});var fe=t(mt,2);u(fe,()=>_a,(n,Z)=>{Z(n,{class:"rail-panel",get open(){return e(X)},set open(U){s(X,U,!0)},children:(U,_)=>{var p=fi(),b=$(p);u(b,()=>ya,(A,be)=>{be(A,{class:"rail-trigger",children:(Fe,st)=>{var ne=vi(),xe=t($(ne),2);{let H=f(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(X)?"rotate-180":""}`);ba(xe,{get class(){return e(H)}})}a(Fe,ne)},$$slots:{default:!0}})});var D=t(b,2);u(D,()=>ha,(A,be)=>{be(A,{children:(Fe,st)=>{var ne=ui(),xe=l(ne),H=l(xe);vt(H,{variant:"outline",size:"sm",class:"rail-btn",get disabled(){return e(ae)},onclick:je,onkeydown:x=>{(x.key==="ArrowUp"||x.key==="ArrowDown")&&(x.stopPropagation(),et(x),x.preventDefault())},children:(x,Te)=>{O();var Ce=M();g(()=>c(Ce,e(ae)?"Refreshing Skills...":"Refresh Skills")),a(x,Ce)},$$slots:{default:!0}});var y=t(H,2);vt(y,{variant:"outline",size:"sm",class:"rail-btn",get disabled(){return e(V)},onclick:It,onkeydown:x=>{(x.key==="ArrowUp"||x.key==="ArrowDown")&&(x.stopPropagation(),et(x),x.preventDefault())},children:(x,Te)=>{O();var Ce=M();g(()=>c(Ce,e(V)?"Refreshing MCP Servers...":"Refresh MCP Servers")),a(x,Ce)},$$slots:{default:!0}});var re=t(y,2);vt(re,{variant:"outline",size:"sm",class:"rail-btn",get disabled(){return e(W)},onclick:Lt,onkeydown:x=>{(x.key==="ArrowUp"||x.key==="ArrowDown")&&(x.stopPropagation(),et(x),x.preventDefault())},children:(x,Te)=>{O();var Ce=M();g(()=>c(Ce,e(W)?"Refreshing Routed Tools...":"Refresh Routed Tools")),a(x,Ce)},$$slots:{default:!0}}),r(xe);var ye=t(xe,2),Pe=l(ye);ga(Pe),O(2),r(ye);var Ne=t(ye,2);ga(Ne);var ft=t(Ne,2),B=l(ft);vt(B,{variant:"outline",size:"sm",get disabled(){return ee.configSaving},get onclick(){return Zs},onkeydown:x=>{(x.key==="ArrowUp"||x.key==="ArrowDown")&&(x.stopPropagation(),et(x),x.preventDefault())},children:(x,Te)=>{O();var Ce=M();g(()=>c(Ce,ee.configSaving?"Saving...":"Save Sync Config")),a(x,Ce)},$$slots:{default:!0}});var G=t(B,2);vt(G,{variant:"outline",size:"sm",get disabled(){return ee.syncing},get onclick(){return Xs},onkeydown:x=>{(x.key==="ArrowUp"||x.key==="ArrowDown")&&(x.stopPropagation(),et(x),x.preventDefault())},children:(x,Te)=>{O();var Ce=M();g(()=>c(Ce,ee.syncing?"Syncing...":`Sync Now (${ee.pendingSync})`)),a(x,Ce)},$$slots:{default:!0}}),r(ft);var De=t(ft,2);{var qe=x=>{var Te=di(),Ce=l(Te);r(Te),g(Tt=>c(Ce,`Last sync: ${Tt??""}`),[()=>new Date(ee.lastSyncAt).toLocaleString()]),a(x,Te)};S(De,x=>{ee.lastSyncAt&&x(qe)})}var Le=t(De,2);{var We=x=>{var Te=ci(),Ce=l(Te,!0);r(Te),g(()=>c(Ce,ee.lastSyncError)),a(x,Te)};S(Le,x=>{ee.lastSyncError&&x(We)})}r(ne),fr(Pe,()=>ee.configEnabled,x=>ee.configEnabled=x),gr(Ne,()=>ee.configEndpointUrl,x=>ee.configEndpointUrl=x),a(Fe,ne)},$$slots:{default:!0}})}),a(U,p)},$$slots:{default:!0}})}),r(ut),r(m),r(Nt),g(n=>{c(me,`${e(oe)??""} INSTALLED`),c(yt,`${n??""} CATALOG`),He=At(tt,1,"section-switch svelte-xlc60r",null,He,{"section-switch--active":e(w)==="skills"}),lt=At(Ve,1,"section-switch svelte-xlc60r",null,lt,{"section-switch--active":e(w)==="mcp"}),Gt(C,"placeholder",e(w)==="skills"?"Search skills...":"Search MCP servers..."),za(C,e($e))},[()=>e(Y).toLocaleString()]),Qe("click",tt,()=>j("skills")),Qe("keydown",tt,n=>{(n.key==="ArrowLeft"||n.key==="ArrowRight")&&(n.stopPropagation(),et(n),n.preventDefault())}),Qe("click",Ve,()=>j("mcp")),Qe("keydown",Ve,n=>{(n.key==="ArrowLeft"||n.key==="ArrowRight")&&(n.stopPropagation(),et(n),n.preventDefault())}),Qe("input",C,n=>Ee(n.currentTarget.value)),a(h,Nt),Yt()}la(["click","keydown","input"]);export{Pi as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./
|
|
1
|
+
import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./Ddm7yfuh.js";import{I as f}from"./DJ34Ow8B.js";function _(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]];f(t,p({name:"wrench"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}function N(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M12 2v4"}],["path",{d:"m16.2 7.8 2.9-2.9"}],["path",{d:"M18 12h4"}],["path",{d:"m16.2 16.2 2.9 2.9"}],["path",{d:"M12 18v4"}],["path",{d:"m4.9 19.1 2.9-2.9"}],["path",{d:"M2 12h4"}],["path",{d:"m4.9 4.9 2.9 2.9"}]];f(t,p({name:"loader"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}export{N as L,_ as W};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{i as e,j as _,k as i,t as b,w,y,z,b as l,c as h,f as m,a as g,l as B}from"./Ddm7yfuh.js";var q=B('<div class="banner svelte-60tsii"><div class="banner-content svelte-60tsii"><div class="banner-left svelte-60tsii"><!></div> <div class="banner-text svelte-60tsii"><h2 class="banner-title svelte-60tsii"> </h2></div> <div class="banner-right svelte-60tsii"><!></div></div> <span class="banner-coord banner-coord--br svelte-60tsii" aria-hidden="true">■</span></div>');function C(x,t){var r=q(),c=e(r),n=e(c),u=e(n);{var k=a=>{var s=h(),d=m(s);g(d,()=>t.children),l(a,s)};_(u,a=>{t.children&&a(k)})}i(n);var v=b(n,2),o=e(v),P=e(o,!0);i(o),i(v);var f=b(v,2),j=e(f);{var p=a=>{var s=h(),d=m(s);g(d,()=>t.right),l(a,s)};_(j,a=>{t.right&&a(p)})}i(f),i(c),w(2),i(r),y(()=>z(P,t.title)),l(x,r)}export{C as P};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,
|
|
1
|
+
import{p as n,e as r,H as u,E as c,F as b,I as v,b as f,d as x,r as m,l as p}from"./Ddm7yfuh.js";import{c as g}from"./DJ34Ow8B.js";var h=p("<textarea></textarea>");function y(i,a){n(a,!0);let s=r(a,"ref",15,null),o=r(a,"value",15),l=r(a,"data-slot",3,"textarea"),d=m(a,["$$slots","$$events","$$legacy","ref","value","class","data-slot"]);var e=h();u(e),c(e,t=>({"data-slot":l(),class:t,...d}),[()=>g("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a.class)]),b(e,t=>s(t),()=>s()),v(e,o),f(i,e),x()}export{y as T};
|