skill-creator 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/dist/cli.js +37953 -20717
- package/dist/cli.js.map +4 -4
- package/dist/daemon.js +20089 -3976
- package/dist/daemon.js.map +4 -4
- package/dist/package.json +1 -1
- package/dist/webui/_app/immutable/assets/0.B4ZC2KQW.css +2 -0
- package/dist/webui/_app/immutable/chunks/{_g2_n9ND.js → B0stYqX9.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{iz1cEkZC.js → BTuMeN4z.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{Bs7CGcv2.js → B_gnhZ39.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{nznK1lJN.js → BcvferwH.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{D8zgcaSD.js → Bd1_Ly7G.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{D-2QBE8y.js → BgJCuTDs.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{B1KITIB4.js → CBFLFfGb.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{HAi-5CYL.js → CD-NpLjk.js} +4 -4
- package/dist/webui/_app/immutable/chunks/{B3Ni2QLt.js → CIxXWvxF.js} +1 -1
- package/dist/webui/_app/immutable/chunks/COXgCOd9.js +2 -0
- package/dist/webui/_app/immutable/chunks/Ccj5eiVa.js +1 -0
- package/dist/webui/_app/immutable/chunks/{CsxdqaKQ.js → CdjBDc_u.js} +1 -1
- package/dist/webui/_app/immutable/chunks/Cp0lquqA.js +1 -0
- package/dist/webui/_app/immutable/chunks/Crg8KRap.js +5 -0
- package/dist/webui/_app/immutable/chunks/{C8EbtR4g.js → CvO5eq4f.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{Dga0ODor.js → D6s79OPW.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{BHJkoxm8.js → D7DTLcps.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{C-AVEJqG.js → DGJ9QIPN.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{Bbl7uOhW.js → Dcf0klrH.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{1vzbRbJ2.js → DlsPNMHX.js} +4 -4
- package/dist/webui/_app/immutable/chunks/Do_MDwCJ.js +1 -0
- package/dist/webui/_app/immutable/chunks/{CoasO80Q.js → Du6-3Tbt.js} +1 -1
- package/dist/webui/_app/immutable/chunks/M-b0y9AQ.js +1 -0
- package/dist/webui/_app/immutable/chunks/{KjcaLSMo.js → hIGXQE4_.js} +1 -1
- package/dist/webui/_app/immutable/chunks/oJ4aK8PG.js +1 -0
- package/dist/webui/_app/immutable/chunks/vry1W47_.js +7 -0
- package/dist/webui/_app/immutable/entry/{app.BbnICwcR.js → app.SX0t6ojk.js} +2 -2
- package/dist/webui/_app/immutable/entry/start.gejSBBnR.js +1 -0
- package/dist/webui/_app/immutable/nodes/{0.C0a-_hPX.js → 0.BTXc1wYu.js} +114 -114
- package/dist/webui/_app/immutable/nodes/{1.CY3UBo6A.js → 1.BY0DmHLP.js} +1 -1
- package/dist/webui/_app/immutable/nodes/{2.BfHkaxce.js → 2._osi8D6m.js} +1 -1
- package/dist/webui/_app/version.json +1 -1
- package/dist/webui/index.html +22 -21
- package/package.json +2 -1
- package/skills/skill-creator-v2/SKILL.md +50 -0
- package/skills/skill-creator-v2/references/tools.md +161 -0
- package/dist/webui/_app/immutable/assets/0.Ce1ZW9xU.css +0 -2
- package/dist/webui/_app/immutable/chunks/3x7J55ll.js +0 -2
- package/dist/webui/_app/immutable/chunks/825uWMzf.js +0 -5
- package/dist/webui/_app/immutable/chunks/BNaxFL8-.js +0 -3
- package/dist/webui/_app/immutable/chunks/D_Wlt2rL.js +0 -1
- package/dist/webui/_app/immutable/chunks/DgfWqxEz.js +0 -1
- package/dist/webui/_app/immutable/chunks/Do5hAkYk.js +0 -1
- package/dist/webui/_app/immutable/chunks/N4Ne5qCB.js +0 -1
- package/dist/webui/_app/immutable/entry/start.BCFPuXD4.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,At as n,B as r,Ct as i,F as a,G as o,N as s,R as c,S as l,St as u,U as d,V as f,W as p,X as m,ct as h,ft as g,gt as _,j as v,kt as y,lt as b,m as x,mt as S,nt as C,o as w,ot as T,rt as E,s as D,st as O,ut as k,x as ee,z as A}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as j}from"./BkEnd9_Z.js";import{a as M,i as te,r as ne}from"./
|
|
1
|
+
import{$ as e,A as t,At as n,B as r,Ct as i,F as a,G as o,N as s,R as c,S as l,St as u,U as d,V as f,W as p,X as m,ct as h,ft as g,gt as _,j as v,kt as y,lt as b,m as x,mt as S,nt as C,o as w,ot as T,rt as E,s as D,st as O,ut as k,x as ee,z as A}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as j}from"./BkEnd9_Z.js";import{a as M,i as te,r as ne}from"./D7DTLcps.js";import{a as N,b as re,s as P,t as F,v as ie,x as ae}from"./DlsPNMHX.js";import{i as oe,t as se,u as I}from"./CdjBDc_u.js";import{n as L}from"./1aUphu7Y.js";import{n as R,t as z}from"./DnPeA-9c.js";import{t as ce}from"./UeEccMjN.js";import{t as le}from"./BIfnT_mK.js";import{t as ue}from"./Bs27XW8_.js";import{t as de}from"./CeR4do8T.js";import{t as B}from"./Bl0jjuyR.js";import{t as fe}from"./D8Der6oM.js";var pe=F(N),V=F(N),H=F(N),U=F(N),W=F(N);async function me(e){let t=pe.issue();try{let n=await P().skillIntelligence.analyze({selections:e});return t.isCurrent()?{report:n.report,failures:n.failures,error:null}:{report:null,failures:[],error:null}}catch(e){return t.isCurrent()?{report:null,failures:[],error:e instanceof Error?e.message:String(e)}:{report:null,failures:[],error:null}}}async function he(e){let t=V.issue();try{let n=await P().skillIntelligence.propose(e);return t.isCurrent()?{proposal:n.proposal,error:null}:{proposal:null,error:null}}catch(e){return t.isCurrent()?{proposal:null,error:e instanceof Error?e.message:String(e)}:{proposal:null,error:null}}}async function ge(){let e=H.issue();try{let t=await P().skillIntelligence.list({});return e.isCurrent()?{proposals:t.proposals,error:null}:{proposals:null,error:null}}catch(t){return e.isCurrent()?{proposals:null,error:t instanceof Error?t.message:String(t)}:{proposals:null,error:null}}}async function _e(e){let t=U.issue();try{return await P().skillIntelligence.reject({proposalId:e}),t.isCurrent()?{rejected:!0,error:null}:{rejected:!1,error:null}}catch(e){return t.isCurrent()?{rejected:!1,error:e instanceof Error?e.message:String(e)}:{rejected:!1,error:null}}}async function ve(e){let t=W.issue();try{let n=await P().skillIntelligence.approve({proposalId:e});return t.isCurrent()?{result:n,error:null}:{result:null,error:null}}catch(e){return t.isCurrent()?{result:null,error:e instanceof Error?e.message:String(e)}:{result:null,error:null}}}var G=new Set([`$$slots`,`$$events`,`$$legacy`]);function ye(e,t){let n=w(t,G),r=[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`}]];j(e,D({name:`git-merge`},()=>n,{get iconNode(){return r}}))}var K=new Set([`$$slots`,`$$events`,`$$legacy`]);function be(e,t){let n=w(t,K),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]];j(e,D({name:`info`},()=>n,{get iconNode(){return r}}))}var q=new Set([`$$slots`,`$$events`,`$$legacy`]);function xe(e,t){let n=w(t,q),r=[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m2 2 20 20`}]];j(e,D({name:`power-off`},()=>n,{get iconNode(){return r}}))}var Se=new Set([`$$slots`,`$$events`,`$$legacy`]);function Ce(e,t){let n=w(t,Se),r=[[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M8.12 8.12 12 12`}],[`path`,{d:`M20 4 8.12 15.88`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}],[`path`,{d:`M14.8 14.8 20 20`}]];j(e,D({name:`scissors`},()=>n,{get iconNode(){return r}}))}var we=r(`<!> Analyzing…`,1),Te=r(`<!> `,1),Ee=r(`<div class="flex items-center gap-2 py-6 text-xs text-muted-foreground"><!> Loading skills…</div>`),De=r(`<div class="flex flex-col items-start gap-2 py-6 text-xs text-destructive"><p class="break-words"> </p> <!></div>`),Oe=r(`<div class="flex flex-col items-center gap-2 py-16 text-center text-muted-foreground"><!> <p class="text-sm font-medium text-foreground">No report yet</p> <p class="max-w-xs text-xs">Run a read-only analysis to surface duplicates, conflicts, shared resources, and
|
|
2
2
|
structural findings with evidence.</p></div>`),ke=r(`<li class="text-muted-foreground"> </li>`),Ae=r(`<section class="mb-4 rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-xs" aria-label="Analysis failures"><p class="font-medium text-destructive">Some skills could not be analyzed:</p> <ul class="mt-1 space-y-0.5"></ul></section>`),je=f(`<line></line>`),Me=f(`<g class="cursor-pointer" role="button" tabindex="0"><title> </title><circle r="16" fill="var(--background, white)" stroke="var(--border, gray)"></circle><text text-anchor="middle" font-size="9" fill="var(--foreground, black)"> </text></g>`),Ne=r(`<section class="mb-4" aria-label="Skill relations graph"><h2 class="mb-2 text-xs font-medium text-muted-foreground">Relations</h2> <div class="overflow-x-auto rounded-md border border-border bg-muted/20"><svg role="img" aria-label="Skill relation graph" class="mx-auto block"><!><!></svg></div> <p class="mt-1 text-[10px] text-muted-foreground">Solid red = conflict · solid blue = overlap · dashed gray = shared resource. Click a
|
|
3
3
|
node to open its detail.</p></section>`),Pe=r(`<p class="py-6 text-xs text-muted-foreground">No findings at this severity.</p>`),Fe=r(`<li class="text-[11px] leading-4"><span class="font-medium text-muted-foreground"> </span> <code class="break-words rounded bg-muted/60 px-1 py-0.5 text-[10px]"> </code></li>`),Ie=r(`<button type="button" class="text-[11px] text-primary underline-offset-2 hover:underline"> </button>`),Le=r(`<!> Propose edit`,1),Re=r(`<!> Propose disable`,1),ze=r(`<li class="rounded-md border border-border"><div class="flex flex-wrap items-center gap-2 border-b border-border/60 px-3 py-2"><!> <span class="min-w-0 flex-1 text-xs"> </span> <!></div> <div class="space-y-1.5 px-3 py-2"><ul class="space-y-1"></ul> <div class="flex flex-wrap items-center gap-1.5 pt-1"><!> <span class="flex-1"></span> <!> <!></div></div></li>`),Be=r(`<ul class="space-y-2"></ul>`),Ve=r(`<!> Refresh`,1),He=r(`<p class="py-4 text-xs text-muted-foreground">No pending proposals. Propose a fix from any finding above; nothing is applied until you
|
|
4
4
|
approve it here.</p>`),Ue=r(`<!> Reject`,1),We=r(`<!> Approve`,1),Ge=r(`<p> </p>`),Ke=r(`<p class="mt-1 text-destructive">This proposal is stale. Re-analyze, then create a fresh proposal.</p>`),qe=r(`<div class="border-b border-border/60 px-3 py-2 text-[11px]"><!> <!></div>`),Je=r(`<li class="flex flex-wrap items-baseline gap-1"><button type="button" class="text-primary underline-offset-2 hover:underline"> </button> <code class="break-all text-[10px] text-muted-foreground"> </code></li>`),Ye=r(`<p class="leading-4 text-muted-foreground"> </p>`),Xe=r(`<p class="text-muted-foreground">Loading current document…</p>`),Ze=r(`<div class="grid gap-2 md:grid-cols-2"><div class="rounded border border-border bg-muted/20 p-2"><p class="mb-1 font-medium">Before</p> <!></div> <div class="rounded border border-border bg-muted/20 p-2"><p class="mb-1 font-medium">After (proposal)</p> <p class="leading-4 text-muted-foreground"> </p></div></div> <details><summary class="cursor-pointer text-muted-foreground">Preview body</summary> <pre class="mt-1 max-h-48 overflow-auto rounded bg-muted/40 p-2 text-[10px] whitespace-pre-wrap"> </pre></details>`,1),Qe=r(`<p class="rounded border border-border bg-muted/20 p-2 leading-4"> </p>`),$e=r(`<li><span class="font-medium"> </span> <span class="text-muted-foreground"> </span></li>`),et=r(`<ul class="space-y-1"></ul>`),tt=r(`<p><span class="font-medium"> </span> <span class="text-muted-foreground"> </span></p> <p class="text-muted-foreground"> </p>`,1),nt=r(`<div class="space-y-2 px-3 py-2 text-[11px]"><p class="text-muted-foreground"> </p> <p class="text-muted-foreground"> </p> <ul class="space-y-1"></ul> <!></div>`),rt=r(`<li class="rounded-md border border-border"><div class="flex flex-wrap items-center gap-2 border-b border-border/60 px-3 py-2"><!> <button type="button" class="min-w-0 flex-1 truncate text-left text-xs font-medium"> </button> <!> <!></div> <!> <!></li>`),it=r(`<section class="mb-4 flex flex-wrap items-center gap-2 text-xs" aria-label="Report summary"><!> <!> <!> <!> <!> <span class="flex-1"></span> <div class="flex items-center gap-1" role="group" aria-label="Severity filter"></div></section> <!> <!> <section aria-label="Findings"><h2 class="mb-2 text-xs font-medium text-muted-foreground">Findings</h2> <!></section> <section class="mt-6" aria-label="Proposal review"><div class="mb-2 flex items-center gap-2"><h2 class="text-xs font-medium text-muted-foreground">Proposals</h2> <!> <span class="flex-1"></span> <!></div> <!></section>`,1),at=r(`<div class="flex h-full min-h-0 flex-col overflow-y-auto"><header class="shrink-0 border-b border-border px-5 py-4"><div class="flex flex-wrap items-center gap-3"><!> <div class="min-w-0 flex-1"><h1 class="truncate text-base font-semibold">Skill Intelligence</h1> <p class="mt-0.5 text-xs text-muted-foreground"> </p></div> <!></div></header> <div class="min-h-0 flex-1 px-5 py-4"><!></div></div>`);function ot(r,f){i(f,!0);let p=ne(),w=te(),D=_(()=>p?.()?.wsId),j=_(()=>p?.()?.providerId),P=_(()=>w?.()??{}),pe=_(()=>m(P).severity??`all`),V=_(()=>{if(!m(D)||!m(j))return null;let e=ae.safeParse(m(D)),t=re.safeParse(m(j));return!e.success||!t.success?null:{workspaceId:e.data,providerId:t.data}}),H=S(null),U=S(k([])),W=S(!1),G=S(null);F(N),E(()=>{m(V)&&oe(m(V))});async function K(){let t=m(V);if(!t||m(W))return;let n=e(()=>I.skills);if(n.length===0){L(`No skills discovered in this provider.`);return}g(W,!0),g(G,null);try{let e=await me(n.map(e=>({...t,skillId:e.id})));if(!e.report&&!e.error)return;if(g(H,e.report,!0),g(U,e.failures,!0),g(G,e.error,!0),e.report){let t=q(e.report.findings);L(`Analyzed ${e.report.snapshots.length} skills · ${t.error} errors · ${t.warning} warnings.`)}}finally{g(W,!1)}}function q(e){return{error:e.filter(e=>e.severity===`error`).length,warning:e.filter(e=>e.severity===`warning`).length,info:e.filter(e=>e.severity===`info`).length}}let Se=_(()=>m(H)?m(pe)===`all`?m(H).findings:m(H).findings.filter(e=>e.severity===m(pe)):[]);function ot(e){m(D)&&m(j)&&M(`workspaces.intelligence`,{wsId:m(D),providerId:m(j)},{severity:e===`all`?void 0:e},`REPLACE`)}let st=_(()=>{let e=new Map;for(let t of m(H)?.snapshots??[])e.set(t.skillId,t.name);return t=>e.get(t)??t});function ct(e){m(D)&&m(j)&&M(`workspaces.provider`,{wsId:m(D),providerId:m(j)},{skill:e,view:`detail`})}let lt=S(k([])),ut=S(!1),J=S(!1),Y=S(null),X=S(null),dt=S(null),ft=S(k({})),Z=S(null);E(()=>{Q()});async function Q(){g(ut,!0);try{let e=await ge();e.proposals&&g(lt,e.proposals,!0)}finally{g(ut,!1)}}async function pt(e){if(g(Z,m(Z)===e.id?null:e.id,!0),m(Z)===e.id&&e.payload.kind===`edit`)for(let t of e.payload.edits){let e=ie.safeParse(t.selection.skillId);if(e.success)try{let n=await se(t.selection,e.data);g(ft,{...m(ft),[t.selection.skillId]:n},!0)}catch{}}}async function mt(e){if(!m(Y)){g(Y,e.id,!0);try{let{result:t,error:n}=await ve(e.id);if(n){L(n);return}if(!t)return;g(dt,{proposalId:e.id,result:t},!0),t.conflicts>0?L(`${t.conflicts} conflict(s): skill changed after the proposal. Re-analyze.`,{label:`Re-analyze`,run:()=>void K()}):t.failed>0?L(`Applied with ${t.failed} failure(s).`):L(`Applied ${t.applied} change(s).`),await Q(),await ht()}finally{g(Y,null)}}}async function ht(){let e=m(V);e&&await oe(e)}async function gt(e){if(!m(X)){g(X,e.id,!0);try{let{error:t}=await _e(e.id);t&&L(t),await Q()}finally{g(X,null)}}}async function _t(e){let t=m(V);if(t&&!m(J)){g(J,!0);try{let{proposal:n,error:r}=await he({payload:{kind:`disable`,selections:e.skillIds.map(e=>({...t,skillId:e})),reason:e.message},findingIds:[e.id],rationale:`Address "${e.kind}": ${e.message}`});r&&L(r),n&&(L(`Disable proposal drafted for review.`),await Q())}finally{g(J,!1)}}}async function vt(e){let t=m(V);if(t&&!m(J)&&e.skillIds.length===1){g(J,!0);try{let n=ie.safeParse(e.skillIds[0]);if(!n.success)return;let r=await se(t,n.data),{frontmatter:i,body:a}=yt(r.content),o=`${i.description??``} Reviewed via skill intelligence (${e.kind}).`.trim(),{proposal:s,error:c}=await he({payload:{kind:`edit`,edits:[{selection:{...t,skillId:n.data},frontmatter:{...i,name:r.name,description:o},body:a}]},findingIds:[e.id],rationale:`Address "${e.kind}": ${e.message}`});c&&L(c),s&&(L(`Edit proposal drafted for review.`),await Q())}catch(e){L(e instanceof Error?e.message:String(e))}finally{g(J,!1)}}}function yt(e){let t=e.replace(/\r\n/g,`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as e,At as t,B as n,Ct as r,F as i,G as a,N as o,R as s,St as c,U as l,W as u,X as d,ct as f,gt as p,kt as m,lt as h,m as g,nt as _,ot as v,rt as y,st as b,z as x}from"./CmCJ0SKP.js";import{t as S}from"./
|
|
1
|
+
import{A as e,At as t,B as n,Ct as r,F as i,G as a,N as o,R as s,St as c,U as l,W as u,X as d,ct as f,gt as p,kt as m,lt as h,m as g,nt as _,ot as v,rt as y,st as b,z as x}from"./CmCJ0SKP.js";import{t as S}from"./B0stYqX9.js";import"./xihTtKlq.js";import"./oJ4aK8PG.js";import{t as C}from"./BT2vrlul.js";import{n as w,t as T}from"./DnPeA-9c.js";import{t as E}from"./CpRvgjpe.js";import{t as D}from"./BIfnT_mK.js";import{t as O}from"./Bs27XW8_.js";import{o as k,r as A,s as j}from"./BTuMeN4z.js";import{t as M}from"./Bl0jjuyR.js";import{t as N}from"./CI1OXbBG.js";var P=null,F=n(`<div class="flex items-start gap-3 rounded-lg border border-destructive/40 bg-destructive/10 p-4" role="alert"><!> <div class="min-w-0 flex-1"><p class="text-sm font-medium text-destructive">Couldn't load wiki scopes</p> <p class="mt-1 break-words text-xs text-destructive/90"> </p></div> <!></div>`),I=n(`<div class="space-y-3" aria-label="Loading wiki scopes"><div class="h-16 animate-pulse rounded-lg border border-border bg-muted/50"></div> <div class="h-16 animate-pulse rounded-lg border border-border bg-muted/50"></div></div>`),L=n(`<div class="rounded-lg border border-dashed border-border p-8 text-center"><!> <p class="mt-3 text-sm font-medium">No wiki scopes yet</p> <p class="mt-1 text-xs text-muted-foreground">The global wiki appears once the daemon is reachable.</p></div>`),R=n(`<p class="flex items-center gap-2 text-xs text-muted-foreground" role="status"><!> Updating…</p>`),z=n(`<span class="block truncate text-xs text-muted-foreground"> <!></span>`),B=n(`<span class="block truncate text-xs text-muted-foreground/80">Not initialized — opens empty, first fragment creates it</span>`),V=n(`<li><button class="flex min-h-11 w-full items-center gap-2.5 px-3 py-2.5 text-left transition-colors hover:bg-muted/50"><!> <span class="min-w-0 flex-1"><span class="flex items-center gap-2"><span class="truncate text-sm font-medium"> </span> <!></span> <!></span> <!></button></li>`),H=n(`<!> <ul class="divide-y divide-border rounded-lg border border-border"></ul>`,1),U=n(`<div class="flex h-full flex-col overflow-y-auto p-5"><header class="flex shrink-0 items-start justify-between gap-3 border-b border-border pb-4"><div><h1 class="text-lg font-semibold">Wiki</h1> <p class="mt-0.5 text-xs text-muted-foreground">Fragment insights collected per wiki — global notes and workspace-local knowledge.</p></div> <div class="flex shrink-0 items-center gap-1.5"><!></div></header> <div class="mx-auto mt-5 w-full max-w-3xl space-y-4"><!></div></div>`);function W(n,u){r(u,!0);function W(e){return`/wiki/${e.id===`~`?`%7E`:e.id}`}function G(e){P=e.id,S(W(e))}async function K(){await A()}y(()=>{A()}),y(()=>()=>k()),y(()=>{let e=P;e&&(P=null,document.querySelector(`button[data-scope-id="${CSS.escape(e)}"]`)?.focus())});var q=U(),J=v(q),Y=h(v(J),2),X=v(Y);w(X,{variant:`ghost`,size:`icon`,class:`h-9 w-9`,title:`Refresh wiki scopes`,"aria-label":`Refresh wiki scopes`,get disabled(){return j.loading},onclick:()=>void K(),children:(e,t)=>{var n=x(),r=b(n),i=e=>{T(e,{class:`h-4 w-4 animate-spin`})},a=e=>{D(e,{class:`h-4 w-4`})};o(r,e=>{j.loading?e(i):e(a,-1)}),s(e,n)},$$slots:{default:!0}}),t(Y),t(J);var Z=h(J,2),Q=v(Z),$=e=>{var n=F(),r=v(n);O(r,{class:`mt-0.5 h-4 w-4 shrink-0 text-destructive`});var a=h(r,2),o=h(v(a),2),c=f(o,!0);t(a);var u=h(a,2);w(u,{variant:`outline`,size:`sm`,onclick:()=>void K(),children:(e,t)=>{m();var n=l(`Retry`);s(e,n)},$$slots:{default:!0}}),t(n),_(()=>i(c,j.error)),s(e,n)},ee=e=>{var t=I();s(e,t)},te=e=>{var n=L(),r=v(n);C(r,{class:`mx-auto h-8 w-8 text-muted-foreground`}),m(4),t(n),s(e,n)},ne=n=>{var r=H(),c=b(r),u=e=>{var n=R(),r=v(n);T(r,{class:`h-3.5 w-3.5 animate-spin`}),m(),t(n),s(e,n)};o(c,e=>{j.loading&&e(u)});var y=h(c,2);e(y,21,()=>j.scopes,e=>e.id,(e,n)=>{var r=V(),c=v(r),u=v(c),y=e=>{E(e,{class:`h-4 w-4 shrink-0 text-primary`})},b=e=>{N(e,{class:`h-4 w-4 shrink-0 text-muted-foreground`})};o(u,e=>{d(n).id===`~`?e(y):e(b,-1)});var x=h(u,2),S=v(x),C=v(S),w=f(C,!0),T=h(C,2),D=e=>{M(e,{variant:`secondary`,class:`shrink-0 text-xs`,children:(e,t)=>{m();var n=l(`~ global`);s(e,n)},$$slots:{default:!0}})};o(T,e=>{d(n).id===`~`&&e(D)}),t(S);var O=h(S,2),k=e=>{var r=z(),a=v(r),c=h(a),u=e=>{var t=l();_(e=>i(t,`· updated ${e??``}`),[()=>d(n).lastUpdated.slice(0,10)]),s(e,t)};o(c,e=>{d(n).lastUpdated&&e(u)}),t(r),_(()=>i(a,`${d(n).patternCount??``}
|
|
2
2
|
${d(n).patternCount===1?`fragment`:`fragments`} captured`)),s(e,r)},A=e=>{var t=B();s(e,t)};o(O,e=>{d(n).exists?e(k):e(A,-1)}),t(x);var j=h(x,2);{let e=p(()=>d(n).exists?`secondary`:`outline`);M(j,{get variant(){return d(e)},class:`shrink-0 tabular-nums`,children:(e,t)=>{m();var r=l();_(()=>i(r,d(n).patternCount)),s(e,r)},$$slots:{default:!0}})}t(c),t(r),_(()=>{g(c,`data-scope-id`,d(n).id),i(w,d(n).label)}),a(`click`,c,()=>G(d(n))),s(e,r)}),t(y),s(n,r)};o(Q,e=>{j.error?e($):j.loading&&j.scopes.length===0?e(ee,1):j.scopes.length===0?e(te,2):e(ne,-1)}),t(Z),t(q),s(n,q),c()}u([`click`]);export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ut as e}from"./CmCJ0SKP.js";import{_ as t,a as n,o as r,s as i,t as a,y as o}from"./
|
|
1
|
+
import{ut as e}from"./CmCJ0SKP.js";import{_ as t,a as n,o as r,s as i,t as a,y as o}from"./DlsPNMHX.js";function s(e){return e?.code===`UNAVAILABLE`&&e.message.includes(`session expired`)}function c(e){return e instanceof t?{message:e.message,code:String(e.code)}:{message:e instanceof Error?e.message:String(e)}}function l(){let e=a(n);return{issue:()=>({isCurrent:e.issue().isCurrent})}}async function u(e,t){let n=l().issue();try{let r=await i().repository.scan({source:e,ref:t});return n.isCurrent()?{scan:r,error:null}:{scan:null,error:null}}catch(e){return n.isCurrent()?{scan:null,error:c(e)}:{scan:null,error:null}}}async function d(e,t){let n=l().issue();try{let r=await i().repository.preview({sessionId:e,skillId:t});return n.isCurrent()?{preview:r,error:null}:{preview:null,error:null}}catch(e){return n.isCurrent()?{preview:null,error:c(e)}:{preview:null,error:null}}}async function f(e){let t=l().issue();try{let n=await i().repository.install(e);return t.isCurrent()?{result:n,error:null}:{result:null,error:null}}catch(e){return t.isCurrent()?{result:null,error:c(e)}:{result:null,error:null}}}function p(e){let t=[];for(let n of e)if(n.kind===`directory`&&n.available)for(let e of n.providers)e.writable&&t.push({target:{workspaceId:n.id,providerId:e.id},workspace:n,provider:e,label:`${n.label} / ${e.label}`});return t}function m(e){if(e.kind===`directory`&&e.providers.length>0){let t=e.providers[0];return t?`/workspaces/${encodeURIComponent(e.id)}/${encodeURIComponent(t.id)}`:`/workspaces`}return`/workspaces`}var h=a(n),g=a(n),_=null,v=e({workspaces:[],activeId:`~`,loading:!0,error:null});async function y(e=!1){let t=n(),r=_!==null&&_.generation===t?_.promise:null;if(!e&&r!==null)return r;let i=b().finally(()=>{_?.promise===i&&(_=null)});return _={generation:t,promise:i},i}async function b(){let e=h.issue(),t=r();if(!t)return e.isLatest()&&(v.loading=!1),`failed`;v.loading=!0,v.error=null;try{let{workspaces:n}=await t.workspace.list({});return e.isCurrent()?(v.workspaces=n,v.activeId=n.find(e=>e.active)?.id??`~`,`loaded`):`superseded`}catch(t){return e.isCurrent()?(v.error=t instanceof Error?t.message:String(t),`failed`):`superseded`}finally{e.isLatest()&&(v.loading=!1)}}async function x(e,t){let n=g.issue(),r;try{({workspace:r}=await i().workspace.add({path:e,label:t}))}catch(e){if(!n.isCurrent())return null;throw e}return n.isCurrent()?(await y(!0),r):(await y(!0),null)}async function S(e){let t=o.parse(e),n=g.issue(),r;try{({activeId:r}=await i().workspace.remove({id:t}))}catch(e){if(!n.isCurrent())return!1;throw e}return n.isCurrent()?(v.activeId=r,await y(!0),n.isCurrent()):!1}function C(){return p(v.workspaces)}var w=null;function T(){return w===null&&(w=(async()=>i().workspace.pickDirectory({}))().finally(()=>{w=null})),w}export{v as a,f as c,u as d,S as i,s as l,y as n,C as o,T as r,m as s,x as t,d as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,At as n,B as r,Ct as i,F as a,G as o,Mt as s,N as c,R as l,S as u,St as d,U as f,W as p,X as m,_t as h,a as g,ct as _,d as v,ft as y,g as b,gt as x,j as S,k as ee,kt as C,l as te,lt as w,m as T,mt as E,nt as D,o as O,ot as k,p as ne,rt as A,s as j,st as M,ut as re,x as ie,z as ae}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as N}from"./BkEnd9_Z.js";import{a as P,i as oe,r as se}from"./BHJkoxm8.js";import{_ as ce,a as le,b as ue,r as de,s as F,t as fe,u as pe,v as me,x as he}from"./1vzbRbJ2.js";import{a as ge,c as I,d as L,f as _e,g as ve,i as R,l as ye,o as be,p as xe,r as Se,s as Ce,t as we,u as z}from"./CsxdqaKQ.js";import{n as B}from"./1aUphu7Y.js";import{i as Te,n as V,t as H}from"./DnPeA-9c.js";import{t as Ee}from"./BEPs9Z9s.js";import{t as De}from"./DOjT7y5f.js";import{n as Oe,t as ke}from"./F_BrNiaz.js";import{n as Ae,t as je}from"./ChvFFUWR.js";import{n as Me,t as Ne}from"./s48N5eaK.js";import{t as U}from"./Bl0jjuyR.js";import{t as Pe}from"./DKQHhdJ1.js";import{t as Fe}from"./D8Der6oM.js";var Ie=fe(le),W=re({target:null,checking:!1,applying:!1,checkError:null,results:[],applyResults:null});async function Le(e,t){let n=Ie.issue(),r=()=>n.isCurrent()&&L(W.target,e);W.target=e,W.checking=!0,W.checkError=null,W.results=[],W.applyResults=null;try{let{results:n}=await F().skills.update.check({...e,skillIds:t});if(!r())return;W.results=n}catch(e){if(!r())return;W.checkError=e instanceof Error?e.message:String(e)}finally{n.isLatest()&&(W.checking=!1)}}async function Re(e,t){let n=Ie.issue(),r=()=>n.isCurrent()&&L(W.target,e);W.applying=!0;try{let{results:n}=await F().skills.update.apply({...e,skillIds:t});return r()?(W.applyResults=n,n):null}catch(e){if(!r())return null;throw e}finally{n.isLatest()&&(W.applying=!1)}}function ze(){Ie.invalidate(),W.results=[],W.applyResults=null,W.checkError=null}function Be(e){let t=0,n=0,r=0,i=0;for(let a of e)a.status===`updated`?t+=1:a.status===`already-current`?n+=1:a.status===`failed`?r+=1:i+=1;return{outdated:t,current:n,failed:r,unavailable:i}}function Ve(e){let t=0,n=0,r=0;for(let i of e)i.status===`updated`?t+=1:i.status===`already-current`?n+=1:r+=1;return{updated:t,current:n,failed:r}}var G=new Set([`$$slots`,`$$events`,`$$legacy`]);function He(e,t){let n=O(t,G),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]];N(e,j({name:`circle-pause`},()=>n,{get iconNode(){return r}}))}var Ue=new Set([`$$slots`,`$$events`,`$$legacy`]);function We(e,t){let n=O(t,Ue),r=[[`path`,{d:`M7 7h10v10`}],[`path`,{d:`M7 17 17 7`}]];N(e,j({name:`arrow-up-right`},()=>n,{get iconNode(){return r}}))}var K=r(`<span title="Disabled (paused)" class="shrink-0"><!></span>`),Ge=r(`<span class="shrink-0 text-xs uppercase tracking-wide text-amber-600 dark:text-amber-400">disabled</span>`),q=r(`<span class="inline-flex shrink-0 items-center gap-0.5 text-xs text-muted-foreground/80"><!> <span class="tabular-nums"> </span></span>`),Ke=r(`<span class="mt-0.5 line-clamp-2 text-xs leading-4"> </span>`),J=r(`<span class="mt-0.5 line-clamp-2 text-xs italic leading-4 text-muted-foreground/70">No description</span>`),qe=r(`<button type="button"><!> <span class="min-w-0 flex-1"><span class="flex items-center gap-2"><span class="truncate text-[13px] font-medium text-foreground"> </span> <!> <!></span> <!></span></button>`);function Je(e,t){i(t,!0);let r=g(t,`selected`,3,!1),s=g(t,`sameContentCount`,3,0),f=x(()=>`Same content as ${s()} other ${s()===1?`installation`:`installations`}`);var p=qe(),h=k(p),v=e=>{var t=K();He(k(t),{class:`mt-0.5 h-4 w-4 text-amber-600 dark:text-amber-400`}),n(t),l(e,t)},y=e=>{Ae(e,{class:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`})};c(h,e=>{t.skill.disabled?e(v):e(y,-1)});var b=w(h,2),S=k(b),ee=k(S),C=_(ee,!0),te=w(ee,2),E=e=>{var t=Ge();l(e,t)};c(te,e=>{t.skill.disabled&&e(E)});var O=w(te,2),ne=e=>{var t=q(),r=k(t);We(r,{class:`h-3 w-3`,"aria-hidden":`true`});var i=w(r,2),o=_(i,!0);n(t),D(()=>{T(t,`title`,m(f)),a(o,s())}),l(e,t)};c(O,e=>{s()>0&&e(ne)}),n(S);var A=w(S,2),j=e=>{var n=Ke(),r=_(n,!0);D(()=>a(r,t.skill.description)),l(e,n)},M=e=>{var t=J();l(e,t)};c(A,e=>{t.skill.description?e(j):e(M,-1)}),n(b),n(p),D(e=>{T(p,`data-skill-id`,t.skill.id),T(p,`aria-pressed`,r()),ie(p,1,e),a(C,t.skill.name)},[()=>u(Te(`group flex min-h-14 w-full items-start gap-2.5 border-b border-border/70 px-3 py-2.5 text-left transition-colors`,r()?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/60 hover:text-foreground`))]),o(`click`,p,function(...e){t.onclick?.apply(this,e)}),l(e,p),d()}p([`click`]);var Ye=new Set([`$$slots`,`$$events`,`$$legacy`]);function Xe(e,t){let n=O(t,Ye),r=[[`path`,{d:`M12 17V3`}],[`path`,{d:`m6 11 6 6 6-6`}],[`path`,{d:`M19 21H5`}]];N(e,j({name:`arrow-down-to-line`},()=>n,{get iconNode(){return r}}))}var Ze=new Set([`$$slots`,`$$events`,`$$legacy`]);function Qe(e,t){let n=O(t,Ze),r=[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]];N(e,j({name:`power`},()=>n,{get iconNode(){return r}}))}var $e=new Set([`$$slots`,`$$events`,`$$legacy`]);function et(e,t){let n=O(t,$e),r=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m9 12 2 2 4-4`}]];N(e,j({name:`shield-check`},()=>n,{get iconNode(){return r}}))}var tt=r(`<div class="flex shrink-0 items-start gap-2 border-b border-border px-4 py-2 text-xs text-destructive" role="alert" data-testid="search-fallback"><span class="min-w-0 flex-1 break-words"> </span> <button class="shrink-0 underline underline-offset-2">Retry</button></div>`),nt=r(`<p class="flex shrink-0 items-center gap-2 border-b border-border px-4 py-2 text-xs text-muted-foreground" role="status"><!> Checking upstream sources…</p>`),rt=r(`<div class="flex shrink-0 items-start gap-2 border-b border-border px-4 py-2 text-xs text-destructive" role="alert"><span class="min-w-0 flex-1 break-words"> </span> <button class="shrink-0 underline underline-offset-2">Retry</button></div>`),it=r(`<span class="text-muted-foreground"> </span>`),at=r(`<span class="text-destructive"> </span>`),ot=r(`<p class="min-w-0 flex-1 text-xs"><span class="font-medium">Applied</span> <!> <!> <!></p>`),st=r(`<span class="font-medium text-primary"> </span>`),ct=r(`<span class="font-medium">All current</span>`),lt=r(`<!> `,1),ut=r(`<p class="min-w-0 flex-1 text-xs"><!> <!> <!> <!></p> <!>`,1),dt=r(`<li class="pl-3 text-xs text-muted-foreground"> </li>`),ft=r(`<li class="flex items-baseline gap-1.5"><span class="min-w-0 flex-1 truncate"> </span> <!></li> <!>`,1),pt=r(`<ul class="mt-1.5 max-h-40 space-y-1 overflow-y-auto text-xs"></ul>`),mt=r(`<section class="shrink-0 border-b border-border px-4 py-2.5" aria-label="Update report" data-testid="update-report"><div class="flex items-center gap-2"><!> <button class="flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground" aria-label="Dismiss update report"><!></button></div> <!></section>`),ht=r(`<div class="flex flex-col items-start gap-2 px-4 py-6 text-xs text-destructive"><p class="break-words"> </p> <!></div>`),gt=r(`<button class="shrink-0 underline underline-offset-2">Retry</button>`),_t=r(`<div class="flex items-start gap-2 px-4 py-2.5 text-xs text-destructive" role="alert"><span class="min-w-0 flex-1 break-words"> </span> <!></div> <!>`,1),vt=r(`<div class="flex items-center gap-2 px-4 py-6 text-xs text-muted-foreground"><!> Loading skills…</div>`),yt=r(`<div class="flex items-center gap-2 px-4 py-6 text-xs text-muted-foreground" role="status" data-testid="search-loading"><!> Searching skills…</div>`),bt=r(`<p class="px-4 py-6 text-xs text-muted-foreground" data-testid="search-scoped-empty">No skills match in this provider. <button class="underline underline-offset-2">Search all workspaces (⌘K)</button></p>`),xt=r(`<p class="px-4 py-6 text-xs text-muted-foreground">No skills match.</p>`),St=r(`<span class="shrink-0 text-xs uppercase tracking-wide text-amber-600 dark:text-amber-400">disabled</span>`),Ct=r(`<span class="inline-flex shrink-0 items-center gap-0.5 text-xs text-muted-foreground/80"><!> <span class="tabular-nums"> </span></span>`),wt=r(`<button type="button"><!> <span class="min-w-0 flex-1"><span class="flex items-center gap-2"><span class="truncate text-[13px] font-medium text-foreground"> </span> <!> <!></span> <span class="mt-0.5 line-clamp-2 text-xs leading-4"> </span></span></button>`),Tt=r(`<div class="m-auto flex flex-col items-center justify-center gap-2 px-8 py-10 text-center text-muted-foreground"><!> <p class="text-sm font-medium text-foreground">Select a skill</p> <p class="max-w-xs text-xs">Inspect its frontmatter, rendered body, and validation status.</p></div>`),Et=r(`<div class="flex h-full items-center justify-center gap-2 text-xs text-muted-foreground"><!> Loading skill…</div>`),Dt=r(`<div class="flex h-full flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-sm font-medium text-destructive">Skill not found</p> <p class="text-xs text-muted-foreground">This skill could not be loaded. It may have been moved, renamed, or deleted.</p> <p class="max-w-md break-all font-mono text-xs text-muted-foreground/70"> </p> <!></div>`),Ot=r(`<h2 class="truncate text-base font-semibold"> </h2>`),kt=r(`<textarea rows="2" class="mt-1 w-full resize-y rounded-md border border-input bg-input/20 px-2 py-1 text-xs leading-5 outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30" aria-label="Skill description"></textarea>`),At=r(`<p class="mt-0.5 text-xs leading-5 text-muted-foreground"> </p>`),jt=r(`<!> Save`,1),Mt=r(`<!> Validate`,1),Nt=r(`<!> Valid skill`,1),Pt=r(`<!> Validation issues`,1),Ft=r(`<p class="mt-1 text-xs text-destructive"> </p>`),It=r(`<p class="mt-1 text-xs text-amber-700 dark:text-amber-300"> </p>`),Lt=r(`<section class="mb-4 border-b border-border pb-3" aria-live="polite"><div class="flex items-center gap-2 text-xs font-medium"><!></div> <!> <!></section>`),Rt=r(`<div><dt class="bg-muted/40 px-2 py-1 text-xs font-medium text-muted-foreground"> </dt> <dd class="break-words px-2 py-1 text-xs"> </dd></div>`),zt=r(`<section class="mb-4"><h3 class="mb-2 text-xs font-medium text-muted-foreground">Frontmatter</h3> <dl class="overflow-x-auto rounded-md border border-border"></dl></section>`),Bt=r(`<div class="provider-detail-inner flex min-h-0 flex-1 flex-col svelte-9qjypz"><header tabindex="-1" class="detail-header shrink-0 border-b border-border px-4 py-3 focus:outline-none svelte-9qjypz"><div class="flex items-start gap-2"><button class="provider-back mt-0.5 hidden h-8 w-8 items-center justify-center svelte-9qjypz" aria-label="Back to skills"><!></button> <div class="min-w-0 flex-1"><!> <!></div> <div class="flex shrink-0 items-center gap-1.5"><!> <!> <!></div></div> <div class="mt-2 flex flex-wrap gap-1.5"><!> <!> <!></div></header> <div class="min-h-0 flex-1 overflow-y-auto px-4 py-3"><!> <!> <section><h3 class="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">SKILL.md</h3> <div class="prose prose-sm max-w-none overflow-x-auto"></div></section></div></div>`),Vt=r(`<div class="provider-surface flex h-full min-h-0 w-full min-w-0 svelte-9qjypz"><section aria-label="Skills"><header class="shrink-0 border-b border-border px-4 py-3"><div class="flex flex-wrap items-center gap-x-2 gap-y-1.5"><h1 class="min-w-0 truncate text-base font-semibold"> </h1> <!> <div class="ml-auto flex items-center gap-1"><!> <!></div></div> <div class="relative mt-2"><!> <input class="h-7 w-full rounded-md border border-input bg-input/20 pl-7 pr-8 text-xs outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30" placeholder="Filter skills" aria-label="Filter skills"/> <button type="button" class="absolute right-1 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Open search config" title="Open search config (search-config.toml)"><!></button></div></header> <!> <!> <div class="min-h-0 flex-1 overflow-y-auto"><!></div></section> <section aria-label="Skill detail"><!></section></div>`);function Ht(r,u){i(u,!0);let p=se(),g=oe(),O=x(()=>p?.()?.wsId),j=x(()=>p?.()?.providerId),N=x(()=>g?.()??{}),F=x(()=>m(N).skill),L=x(()=>m(N).q??``),Te=x(()=>m(N).view??`list`),Ie=fe(le),G=E(null),Ue=E(!1),K=E(null),Ge=E(!1),q=E(null),Ke=E(!1),J=E(!1),qe=E(``),Ye=E(``),Ze=E(null),$e=E(null),Ht=null,Y=x(()=>{if(!m(O)||!m(j))return null;let e=he.safeParse(m(O)),t=ue.safeParse(m(j));return!e.success||!t.success?null:{workspaceId:e.data,providerId:t.data}});A(()=>{m(Y)&&R(m(Y))}),A(()=>{let e=m(L).trim();if(!e)return;let t=setTimeout(()=>void Ce(e),150);return()=>clearTimeout(t)});let Ut=E(re(de.status));A(()=>{let t=de.status,n=e(()=>m(Ut));if(y(Ut,t,!0),n===`connected`||t!==`connected`)return;let r=e(()=>m(L).trim());r?Ce(r):z.target!==null&&z.skills.length===0&&!z.loading&&z.error!==null&&R(z.target)}),A(()=>()=>be());let Wt=!1;A(()=>{Wt||de.status!==`connected`||(Wt=!0,Se())});let Gt=x(()=>{let e=new Map;for(let t of ye.groups){let n=t.members.length-1;for(let r of t.members)e.set(r.id,n)}return e}),Kt=x(()=>I.query===m(L).trim()),qt=x(()=>{let e=m(Y);return e?I.results.filter(t=>t.installations.some(t=>t.workspaceId===e.workspaceId&&t.providerId===e.providerId)):[]}),X=x(()=>m(L).trim()?I.searching?{mode:`searching`}:m(Kt)&&I.error?{mode:`fallback`}:m(Kt)?{mode:`results`,rows:m(qt)}:{mode:`fallback`}:{mode:`full`}),Jt=x(()=>m(X).mode===`fallback`&&m(Kt)?I.error:null);A(()=>{let e=m(Y),t=m(F);if(!e||!t){y(G,null),y(K,null);return}Yt(e,t)});async function Yt(e,t){let n=Ie.issue(),r=me.safeParse(t);if(!r.success){y(G,null),y(K,`Invalid skill id in URL.`);return}y(Ue,!0),y(K,null),y(q,null);try{let t=await we(e,r.data);if(!n.isCurrent())return;y(G,t,!0);let{frontmatter:i}=Me(t.content),a=pe.safeParse(i);y(qe,a.success?a.data.name:t.name,!0),y(Ye,a.success?a.data.description:t.description,!0)}catch(e){if(!n.isCurrent())return;y(G,null),y(K,e instanceof Error?e.message:String(e),!0)}finally{n.isLatest()&&y(Ue,!1)}}let Xt=x(()=>{let e=m(L).trim().toLowerCase(),t=z.skills;return e?t.filter(t=>[t.name,t.description,t.provider].some(t=>t.toLowerCase().includes(e))):t}),Zt=x(()=>m(X).mode===`results`?m(X).rows.length:m(Xt).length),Z=x(()=>m(G)?Me(m(G).content):null),Qt=x(()=>m(Z)?Ne(m(Z).body):``),$t=x(()=>m(Y)!==null&&m(Y).workspaceId!==`~`);function en(e){m(O)&&m(j)&&P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...m(N),skill:e,view:`detail`})}function tn(e){if(!m(O)||!m(j))return;let t=z.skills.find(t=>t.name===e);if(!t)return;let{q:n,...r}=m(N);P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...r,skill:t.id,view:`detail`})}function nn(e){m(O)&&m(j)&&P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...m(N),q:e||void 0},`REPLACE`)}function rn(){m(O)&&m(j)&&(Ht=m(F)??null,P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...m(N),view:`list`}))}let an=`list`;A(()=>{let t=m(Te),n=e(()=>an),r=e(()=>Ht);an=t,t===`list`&&n===`detail`&&r&&(Ht=null,(document.querySelector(`button[data-skill-id="${CSS.escape(r)}"]`)??m($e))?.focus())}),A(()=>{m(Te)!==`detail`||m(Ue)||m(G)?.id!==void 0&&m(Ze)?.focus()});async function on(){let e=m(G);if(!e||!m(Y)||m(J))return;y(J,!0);let t=e.disabled?`enable`:`disable`;try{let n=await _e([e.id],t);if(!n)return;let r=n.results.find(t=>t.skillId===e.id);r&&(r.status===`conflict`?B(`${r.name}: ${t} conflict${r.error?` — ${r.error}`:`.`}`):r.status===`failed`?B(`${r.name}: ${t} failed — ${r.error??`unknown error`}`):r.status===`skipped`?B(`${r.name}: already ${t===`enable`?`enabled`:`disabled`}.`):B(`${r.name} ${r.status}.`)),await Yt(m(Y),e.id)}catch(e){B(e instanceof Error?e.message:String(e))}finally{y(J,!1)}}let sn=x(()=>W.results.filter(e=>e.status===`updated`).map(e=>e.skillId)),Q=x(()=>Be(W.results)),$=x(()=>W.applyResults?Ve(W.applyResults):null);A(()=>{m(Y)&&ze()});async function cn(){m(Y)&&!W.checking&&await Le(m(Y))}async function ln(){if(m(Y)&&!W.applying&&m(sn).length!==0)try{let e=await Re(m(Y),m(sn));if(!e)return;let t=Ve(e),n=[t.updated>0?`${t.updated} updated`:null,t.current>0?`${t.current} already current`:null,t.failed>0?`${t.failed} failed`:null].filter(e=>e!==null);B(n.length>0?n.join(` · `):`No changes applied.`),await R(m(Y))}catch(e){B(e instanceof Error?e.message:String(e))}}async function un(){if(m(G)&&m(Y)){y(Ge,!0),y(q,null);try{let e=await xe(m(G).id);e&&y(q,{success:e.success,errors:e.errors,warnings:e.warnings},!0)}catch(e){y(q,{success:!1,errors:[e instanceof Error?e.message:String(e)],warnings:[]},!0)}finally{y(Ge,!1)}}}async function dn(){let e=m(G),t=m(Y),n=m(Z)?.body;if(!e||!t||n===void 0)return;let r=m(qe).trim(),i=m(Ye).trim();if(!r||!i){B(`Name and description cannot be empty.`);return}y(Ke,!0);try{let a=m(Z)?m(Z).frontmatter:{},o=pe.safeParse({...a,name:r,description:i});if(!o.success){B(`Frontmatter is invalid after edit.`);return}let s=o.data,c=await ve({mode:`update`,workspaceId:t.workspaceId,providerId:t.providerId,skillId:e.id,expectedRevision:e.revision,frontmatter:s,body:n});y(G,{...e,revision:c.document.revision,name:r,description:i},!0),B(`Saved.`)}catch(e){e instanceof ce&&e.code===`CONFLICT`?B(`This skill changed elsewhere. Reload to view the latest.`,{label:`Reload`,run:()=>{t&&m(G)&&Yt(t,m(G).id)}}):B(e instanceof Error?e.message:String(e))}finally{y(Ke,!1)}}var fn=Vt(),pn=k(fn),mn=k(pn),hn=k(mn),gn=k(hn),_n=_(gn,!0),vn=w(gn,2),yn=e=>{H(e,{class:`h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground`,title:`Refreshing skills`})},bn=e=>{U(e,{variant:`secondary`,children:(e,t)=>{C();var n=f();D(()=>a(n,m(Zt))),l(e,n)},$$slots:{default:!0}})};c(vn,e=>{z.refreshing||m(X).mode===`searching`?e(yn):e(bn,-1)});var xn=w(vn,2),Sn=k(xn);V(Sn,{variant:`ghost`,size:`icon`,class:`h-7 w-7`,title:`Insights — read-only analysis: duplicates, conflicts, shared resources`,"aria-label":`Insights`,onclick:()=>{m(O)&&m(j)&&P(`workspaces.intelligence`,{wsId:m(O),providerId:m(j)},{})},children:(e,t)=>{Fe(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}});var Cn=w(Sn,2);V(Cn,{variant:`ghost`,size:`icon`,class:`h-7 w-7`,title:`Updates — compare installed skills against their upstream sources`,"aria-label":`Updates`,get disabled(){return W.checking},onclick:()=>void cn(),children:(e,t)=>{var n=ae(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},a=e=>{Xe(e,{class:`h-3.5 w-3.5`})};c(r,e=>{W.checking?e(i):e(a,-1)}),l(e,n)},$$slots:{default:!0}}),n(xn),n(hn);var wn=w(hn,2),Tn=k(wn);Oe(Tn,{class:`pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground`});var En=w(Tn,2);ne(En),te(En,e=>y($e,e),()=>m($e));var Dn=w(En,2),On=k(Dn);ke(On,{class:`h-3.5 w-3.5`}),n(Dn),n(wn),n(mn);var kn=w(mn,2),An=e=>{var t=tt(),r=k(t),i=_(r),s=w(r,2);n(t),D(()=>a(i,`Search unavailable — filtering loaded skills. ${m(Jt)??``}`)),o(`click`,s,()=>void Ce(m(L).trim())),l(e,t)};c(kn,e=>{m(Jt)&&e(An)});var jn=w(kn,2),Mn=e=>{var t=nt(),r=k(t);H(r,{class:`h-3.5 w-3.5 animate-spin`}),C(),n(t),l(e,t)},Nn=e=>{var t=rt(),r=k(t),i=_(r,!0),s=w(r,2);n(t),D(()=>a(i,W.checkError)),o(`click`,s,()=>void cn()),l(e,t)},Pn=e=>{var r=mt(),i=k(r),s=k(i),u=e=>{var t=ot(),r=w(k(t),2),i=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m($).updated??``} updated`)),l(e,t)};c(r,e=>{m($).updated>0&&e(i)});var o=w(r,2),s=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m($).current??``} already current`)),l(e,t)};c(o,e=>{m($).current>0&&e(s)});var u=w(o,2),d=e=>{var t=at(),n=_(t);D(()=>a(n,`· ${m($).failed??``} failed`)),l(e,t)};c(u,e=>{m($).failed>0&&e(d)}),n(t),l(e,t)},d=e=>{var t=ut(),r=M(t),i=k(r),o=e=>{var t=st(),n=_(t);D(()=>a(n,`${m(Q).outdated??``} outdated`)),l(e,t)},s=e=>{var t=ct();l(e,t)};c(i,e=>{m(Q).outdated>0?e(o):e(s,-1)});var u=w(i,2),d=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m(Q).current??``} up to date`)),l(e,t)};c(u,e=>{m(Q).current>0&&e(d)});var f=w(u,2),p=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m(Q).unavailable??``} unavailable`)),l(e,t)};c(f,e=>{m(Q).unavailable>0&&e(p)});var h=w(f,2),g=e=>{var t=at(),n=_(t);D(()=>a(n,`· ${m(Q).failed??``} failed`)),l(e,t)};c(h,e=>{m(Q).failed>0&&e(g)}),n(r);var v=w(r,2),y=e=>{V(e,{size:`sm`,class:`h-7 gap-1.5 px-2 text-xs`,get disabled(){return W.applying},onclick:()=>void ln(),children:(e,t)=>{var n=lt(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},o=e=>{Xe(e,{class:`h-3.5 w-3.5`})};c(r,e=>{W.applying?e(i):e(o,-1)});var s=w(r);D(()=>a(s,` Update ${m(sn).length??``}`)),l(e,n)},$$slots:{default:!0}})};c(v,e=>{m(sn).length>0&&e(y)}),l(e,t)};c(s,e=>{m($)?e(u):e(d,-1)});var p=w(s,2),h=k(p);Ee(h,{class:`h-3.5 w-3.5`}),n(p),n(i);var g=w(i,2),v=e=>{let r=x(()=>W.applyResults??W.results);var i=pt();t(i,21,()=>m(r),e=>e.skillId,(e,t)=>{var r=ft(),i=M(r),o=k(i),s=_(o,!0),u=w(o,2),d=e=>{U(e,{variant:`secondary`,class:`text-xs`,children:(e,t)=>{C();var n=f();D(()=>a(n,m($)?`reinstalled`:`outdated`)),l(e,n)},$$slots:{default:!0}})},p=e=>{U(e,{variant:`outline`,class:`text-xs`,children:(e,t)=>{C();var n=f(`current`);l(e,n)},$$slots:{default:!0}})},h=e=>{U(e,{variant:`destructive`,class:`text-xs`,children:(e,t)=>{C();var n=f(`failed`);l(e,n)},$$slots:{default:!0}})},g=e=>{U(e,{variant:`outline`,class:`text-xs`,children:(e,t)=>{C();var n=f(`unavailable`);l(e,n)},$$slots:{default:!0}})};c(u,e=>{m(t).status===`updated`?e(d):m(t).status===`already-current`?e(p,1):m(t).status===`failed`?e(h,2):e(g,-1)}),n(i);var v=w(i,2),y=e=>{var n=dt(),r=_(n,!0);D(()=>a(r,m(t).error)),l(e,n)};c(v,e=>{m(t).error&&e(y)}),D(()=>a(s,m(t).name)),l(e,r)}),n(i),l(e,i)};c(g,e=>{(W.applyResults??W.results)&&e(v)}),n(r),o(`click`,p,()=>ze()),l(e,r)};c(jn,e=>{W.checking?e(Mn):W.checkError?e(Nn,1):(W.results.length>0||W.applyResults)&&e(Pn,2)});var Fn=w(jn,2),In=k(Fn),Ln=e=>{var t=ht(),r=k(t),i=_(r,!0),o=w(r,2),s=e=>{V(e,{variant:`outline`,size:`sm`,class:`h-7 text-xs`,onclick:()=>void R(m(Y)),children:(e,t)=>{C();var n=f(`Retry`);l(e,n)},$$slots:{default:!0}})};c(o,e=>{m(Y)&&e(s)}),n(t),D(()=>a(i,z.error)),l(e,t)},Rn=e=>{var r=_t(),i=M(r),s=k(i),u=_(s,!0),d=w(s,2),f=e=>{var t=gt();o(`click`,t,()=>void R(m(Y))),l(e,t)};c(d,e=>{m(Y)&&e(f)}),n(i);var p=w(i,2);t(p,17,()=>m(Xt),e=>e.id,(e,t)=>{{let n=x(()=>m(t).id===m(F)),r=x(()=>m(Gt).get(m(t).id)??0);Je(e,{get skill(){return m(t)},get selected(){return m(n)},get sameContentCount(){return m(r)},onclick:()=>en(m(t).id)})}}),D(()=>a(u,z.error)),l(e,r)},zn=e=>{var t=vt(),r=k(t);H(r,{class:`h-3.5 w-3.5 animate-spin`}),C(),n(t),l(e,t)},Bn=e=>{var t=yt(),r=k(t);H(r,{class:`h-3.5 w-3.5 animate-spin`}),C(),n(t),l(e,t)},Vn=e=>{var t=ae(),r=M(t),i=e=>{var t=bt(),r=w(k(t));n(t),o(`click`,r,()=>globalThis.dispatchEvent(new KeyboardEvent(`keydown`,{key:`k`,metaKey:!0}))),l(e,t)},a=e=>{var t=xt();l(e,t)};c(r,e=>{I.results.length>0?e(i):e(a,-1)}),l(e,t)},Hn=e=>{var r=ae(),i=M(r);t(i,17,()=>m(X).rows,e=>e.id,(e,t)=>{var r=wt(),i=k(r),s=e=>{He(e,{class:`mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`})},u=e=>{Ae(e,{class:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`})};c(i,e=>{m(t).disabled?e(s):e(u,-1)});var d=w(i,2),f=k(d),p=k(f),h=_(p,!0),g=w(p,2),v=e=>{var t=St();l(e,t)};c(g,e=>{m(t).disabled&&e(v)});var y=w(g,2),b=e=>{var r=Ct(),i=k(r);We(i,{class:`h-3 w-3`,"aria-hidden":`true`});var o=w(i,2),s=_(o,!0);n(r),D(()=>{T(r,`title`,`Same content as ${m(t).duplicates.length??``} other installation${m(t).duplicates.length===1?``:`s`}`),a(s,m(t).duplicates.length)}),l(e,r)};c(y,e=>{m(t).duplicates.length>0&&e(b)}),n(f);var x=w(f,2),S=_(x,!0);n(d),n(r),D(()=>{T(r,`data-skill-id`,m(t).id),T(r,`aria-pressed`,m(t).id===m(F)),ie(r,1,`group flex min-h-14 w-full items-start gap-2.5 border-b border-border/70 px-3 py-2.5 text-left transition-colors ${m(t).id===m(F)?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/60 hover:text-foreground`}`),a(h,m(t).name),a(S,m(t).description||`No description`)}),o(`click`,r,()=>tn(m(t).name)),l(e,r)}),l(e,r)},Un=e=>{var t=xt();l(e,t)},Wn=e=>{var n=ae(),r=M(n);t(r,17,()=>m(Xt),e=>e.id,(e,t)=>{{let n=x(()=>m(t).id===m(F)),r=x(()=>m(Gt).get(m(t).id)??0);Je(e,{get skill(){return m(t)},get selected(){return m(n)},get sameContentCount(){return m(r)},onclick:()=>en(m(t).id)})}}),l(e,n)};c(In,e=>{z.error&&z.skills.length===0?e(Ln):z.error?e(Rn,1):z.loading?e(zn,2):m(X).mode===`searching`?e(Bn,3):m(X).mode===`results`&&m(X).rows.length===0?e(Vn,4):m(X).mode===`results`?e(Hn,5):m(Xt).length===0?e(Un,6):e(Wn,-1)}),n(Fn),n(pn);var Gn=w(pn,2),Kn=k(Gn),qn=e=>{var t=Tt(),r=k(t);Ae(r,{class:`h-6 w-6`}),C(4),n(t),l(e,t)},Jn=e=>{var t=Et(),r=k(t);H(r,{class:`h-4 w-4 animate-spin`}),C(),n(t),l(e,t)},Yn=e=>{var t=Dt(),r=w(k(t),4),i=_(r,!0),o=w(r,2),s=e=>{V(e,{variant:`outline`,size:`sm`,onclick:()=>Yt(m(Y),m(F)),children:(e,t)=>{C();var n=f(`Retry`);l(e,n)},$$slots:{default:!0}})};c(o,e=>{m(Y)&&m(F)&&e(s)}),n(t),D(()=>a(i,m(K))),l(e,t)},Xn=e=>{let r=x(()=>m($t));var i=Bt(),u=k(i),d=k(u),p=k(d),g=k(p);Pe(g,{class:`h-4 w-4`}),n(p);var b=w(p,2),T=k(b),E=e=>{De(e,{class:`h-8 text-base font-semibold`,"aria-label":`Skill name`,get value(){return m(qe)},set value(e){y(qe,e,!0)}})},O=e=>{var t=Ot(),n=_(t,!0);D(()=>a(n,m(G).name)),l(e,t)};c(T,e=>{m(r)?e(E):e(O,-1)});var ne=w(T,2),A=e=>{var t=kt();h(t),v(t,()=>m(Ye),e=>y(Ye,e)),l(e,t)},j=e=>{var t=At(),n=_(t,!0);D(()=>a(n,m(G).description)),l(e,t)};c(ne,e=>{m(r)?e(A):e(j,-1)}),n(b);var re=w(b,2),N=k(re),P=e=>{V(e,{size:`sm`,class:`h-8 gap-1.5`,onclick:dn,get disabled(){return m(Ke)},children:(e,t)=>{var n=ae(),r=M(n),i=e=>{var t=jt(),n=M(t);H(n,{class:`h-3.5 w-3.5 animate-spin`}),C(),l(e,t)},a=e=>{var t=f(`Save`);l(e,t)};c(r,e=>{m(Ke)?e(i):e(a,-1)}),l(e,n)},$$slots:{default:!0}})};c(N,e=>{m(r)&&e(P)});var oe=w(N,2);V(oe,{variant:`outline`,size:`sm`,class:`h-8 gap-1.5`,onclick:un,get disabled(){return m(Ge)},children:(e,t)=>{var n=Mt(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},a=e=>{et(e,{class:`h-3.5 w-3.5`})};c(r,e=>{m(Ge)?e(i):e(a,-1)}),C(),l(e,n)},$$slots:{default:!0}});var se=w(oe,2);{let e=x(()=>m(G).disabled?`default`:`outline`);V(se,{size:`sm`,get variant(){return m(e)},class:`h-8 gap-1.5`,get disabled(){return m(J)},onclick:on,children:(e,t)=>{var n=lt(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},o=e=>{Qe(e,{class:`h-3.5 w-3.5`})};c(r,e=>{m(J)?e(i):e(o,-1)});var s=w(r);D(()=>a(s,` ${m(G).disabled?`Enable`:`Disable`}`)),l(e,n)},$$slots:{default:!0}})}n(re),n(d);var ce=w(d,2),le=k(ce);U(le,{variant:`secondary`,children:(e,t)=>{C();var n=f();D(()=>a(n,m(G).provider)),l(e,n)},$$slots:{default:!0}});var ue=w(le,2);U(ue,{variant:`outline`,children:(e,t)=>{C();var n=f();D(()=>a(n,m(G).directoryName)),l(e,n)},$$slots:{default:!0}});var de=w(ue,2),F=e=>{U(e,{variant:`outline`,class:`text-amber-700 dark:text-amber-300`,children:(e,t)=>{C();var n=f(`Disabled`);l(e,n)},$$slots:{default:!0}})};c(de,e=>{m(G).disabled&&e(F)}),n(ce),n(u),te(u,e=>y(Ze,e),()=>m(Ze));var fe=w(u,2),pe=k(fe),me=e=>{var r=Lt(),i=k(r),o=k(i),s=e=>{var t=Nt(),n=M(t);je(n,{class:`h-4 w-4 text-emerald-600`}),C(),l(e,t)},u=e=>{var t=Pt();et(M(t),{class:`h-4 w-4 text-destructive`}),C(),l(e,t)};c(o,e=>{m(q).success?e(s):e(u,-1)}),n(i);var d=w(i,2);t(d,17,()=>m(q).errors,S,(e,t)=>{var n=Ft(),r=_(n,!0);D(()=>a(r,m(t))),l(e,n)});var f=w(d,2);t(f,17,()=>m(q).warnings,S,(e,t)=>{var n=It(),r=_(n,!0);D(()=>a(r,m(t))),l(e,n)}),n(r),l(e,r)};c(pe,e=>{m(q)&&e(me)});var he=w(pe,2),ge=e=>{var r=zt(),i=w(k(r),2);t(i,21,()=>Object.entries(m(Z).frontmatter),S,(e,t,r)=>{var i=x(()=>s(m(t),2));let o=()=>m(i)[0],c=()=>m(i)[1];var u=Rt();ie(u,1,`grid grid-cols-[120px_minmax(0,1fr)] ${r>0?`border-t border-border`:``}`);var d=k(u),f=_(d,!0),p=w(d,2),h=_(p,!0);n(u),D(e=>{a(f,o()),a(h,e)},[()=>c()===null?`null`:String(c())]),l(e,u)}),n(i),n(r),l(e,r)};c(he,e=>{m(Z)&&e(ge)});var I=w(he,2),L=w(k(I),2);ee(L,()=>m(Qt),!0),n(L),n(I),n(fe),n(i),o(`click`,p,rn),l(e,i)};c(Kn,e=>{m(F)?m(Ue)?e(Jn,1):m(K)?e(Yn,2):m(G)&&e(Xn,3):e(qn)}),n(Gn),n(fn),D(()=>{ie(pn,1,`provider-list flex min-h-0 flex-col border-r border-border ${m(Te)===`detail`?`provider-list-hidden`:``}`,`svelte-9qjypz`),a(_n,m(j)??`—`),b(En,m(L)),ie(Gn,1,`provider-detail flex min-h-0 flex-col ${m(Te)===`list`?`provider-detail-hidden`:``}`,`svelte-9qjypz`)}),o(`input`,En,e=>nn(e.currentTarget.value)),o(`click`,Dn,()=>void ge()),l(r,fn),d()}p([`input`,`click`]);export{Ht as default};
|
|
1
|
+
import{$ as e,A as t,At as n,B as r,Ct as i,F as a,G as o,Mt as s,N as c,R as l,S as u,St as d,U as f,W as p,X as m,_t as h,a as g,ct as _,d as v,ft as y,g as b,gt as x,j as S,k as ee,kt as C,l as te,lt as w,m as T,mt as E,nt as D,o as O,ot as k,p as ne,rt as A,s as j,st as M,ut as re,x as ie,z as ae}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as N}from"./BkEnd9_Z.js";import{a as P,i as oe,r as se}from"./D7DTLcps.js";import{_ as ce,a as le,b as ue,r as de,s as F,t as fe,u as pe,v as me,x as he}from"./DlsPNMHX.js";import{a as ge,c as I,d as L,f as _e,g as ve,i as R,l as ye,o as be,p as xe,r as Se,s as Ce,t as we,u as z}from"./CdjBDc_u.js";import{n as B}from"./1aUphu7Y.js";import{i as Te,n as V,t as H}from"./DnPeA-9c.js";import{t as Ee}from"./BEPs9Z9s.js";import{t as De}from"./DOjT7y5f.js";import{n as Oe,t as ke}from"./F_BrNiaz.js";import{n as Ae,t as je}from"./ChvFFUWR.js";import{n as Me,t as Ne}from"./s48N5eaK.js";import{t as U}from"./Bl0jjuyR.js";import{t as Pe}from"./DKQHhdJ1.js";import{t as Fe}from"./D8Der6oM.js";var Ie=fe(le),W=re({target:null,checking:!1,applying:!1,checkError:null,results:[],applyResults:null});async function Le(e,t){let n=Ie.issue(),r=()=>n.isCurrent()&&L(W.target,e);W.target=e,W.checking=!0,W.checkError=null,W.results=[],W.applyResults=null;try{let{results:n}=await F().skills.update.check({...e,skillIds:t});if(!r())return;W.results=n}catch(e){if(!r())return;W.checkError=e instanceof Error?e.message:String(e)}finally{n.isLatest()&&(W.checking=!1)}}async function Re(e,t){let n=Ie.issue(),r=()=>n.isCurrent()&&L(W.target,e);W.applying=!0;try{let{results:n}=await F().skills.update.apply({...e,skillIds:t});return r()?(W.applyResults=n,n):null}catch(e){if(!r())return null;throw e}finally{n.isLatest()&&(W.applying=!1)}}function ze(){Ie.invalidate(),W.results=[],W.applyResults=null,W.checkError=null}function Be(e){let t=0,n=0,r=0,i=0;for(let a of e)a.status===`updated`?t+=1:a.status===`already-current`?n+=1:a.status===`failed`?r+=1:i+=1;return{outdated:t,current:n,failed:r,unavailable:i}}function Ve(e){let t=0,n=0,r=0;for(let i of e)i.status===`updated`?t+=1:i.status===`already-current`?n+=1:r+=1;return{updated:t,current:n,failed:r}}var G=new Set([`$$slots`,`$$events`,`$$legacy`]);function He(e,t){let n=O(t,G),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]];N(e,j({name:`circle-pause`},()=>n,{get iconNode(){return r}}))}var Ue=new Set([`$$slots`,`$$events`,`$$legacy`]);function We(e,t){let n=O(t,Ue),r=[[`path`,{d:`M7 7h10v10`}],[`path`,{d:`M7 17 17 7`}]];N(e,j({name:`arrow-up-right`},()=>n,{get iconNode(){return r}}))}var K=r(`<span title="Disabled (paused)" class="shrink-0"><!></span>`),Ge=r(`<span class="shrink-0 text-xs uppercase tracking-wide text-amber-600 dark:text-amber-400">disabled</span>`),q=r(`<span class="inline-flex shrink-0 items-center gap-0.5 text-xs text-muted-foreground/80"><!> <span class="tabular-nums"> </span></span>`),Ke=r(`<span class="mt-0.5 line-clamp-2 text-xs leading-4"> </span>`),J=r(`<span class="mt-0.5 line-clamp-2 text-xs italic leading-4 text-muted-foreground/70">No description</span>`),qe=r(`<button type="button"><!> <span class="min-w-0 flex-1"><span class="flex items-center gap-2"><span class="truncate text-[13px] font-medium text-foreground"> </span> <!> <!></span> <!></span></button>`);function Je(e,t){i(t,!0);let r=g(t,`selected`,3,!1),s=g(t,`sameContentCount`,3,0),f=x(()=>`Same content as ${s()} other ${s()===1?`installation`:`installations`}`);var p=qe(),h=k(p),v=e=>{var t=K();He(k(t),{class:`mt-0.5 h-4 w-4 text-amber-600 dark:text-amber-400`}),n(t),l(e,t)},y=e=>{Ae(e,{class:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`})};c(h,e=>{t.skill.disabled?e(v):e(y,-1)});var b=w(h,2),S=k(b),ee=k(S),C=_(ee,!0),te=w(ee,2),E=e=>{var t=Ge();l(e,t)};c(te,e=>{t.skill.disabled&&e(E)});var O=w(te,2),ne=e=>{var t=q(),r=k(t);We(r,{class:`h-3 w-3`,"aria-hidden":`true`});var i=w(r,2),o=_(i,!0);n(t),D(()=>{T(t,`title`,m(f)),a(o,s())}),l(e,t)};c(O,e=>{s()>0&&e(ne)}),n(S);var A=w(S,2),j=e=>{var n=Ke(),r=_(n,!0);D(()=>a(r,t.skill.description)),l(e,n)},M=e=>{var t=J();l(e,t)};c(A,e=>{t.skill.description?e(j):e(M,-1)}),n(b),n(p),D(e=>{T(p,`data-skill-id`,t.skill.id),T(p,`aria-pressed`,r()),ie(p,1,e),a(C,t.skill.name)},[()=>u(Te(`group flex min-h-14 w-full items-start gap-2.5 border-b border-border/70 px-3 py-2.5 text-left transition-colors`,r()?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/60 hover:text-foreground`))]),o(`click`,p,function(...e){t.onclick?.apply(this,e)}),l(e,p),d()}p([`click`]);var Ye=new Set([`$$slots`,`$$events`,`$$legacy`]);function Xe(e,t){let n=O(t,Ye),r=[[`path`,{d:`M12 17V3`}],[`path`,{d:`m6 11 6 6 6-6`}],[`path`,{d:`M19 21H5`}]];N(e,j({name:`arrow-down-to-line`},()=>n,{get iconNode(){return r}}))}var Ze=new Set([`$$slots`,`$$events`,`$$legacy`]);function Qe(e,t){let n=O(t,Ze),r=[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]];N(e,j({name:`power`},()=>n,{get iconNode(){return r}}))}var $e=new Set([`$$slots`,`$$events`,`$$legacy`]);function et(e,t){let n=O(t,$e),r=[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`m9 12 2 2 4-4`}]];N(e,j({name:`shield-check`},()=>n,{get iconNode(){return r}}))}var tt=r(`<div class="flex shrink-0 items-start gap-2 border-b border-border px-4 py-2 text-xs text-destructive" role="alert" data-testid="search-fallback"><span class="min-w-0 flex-1 break-words"> </span> <button class="shrink-0 underline underline-offset-2">Retry</button></div>`),nt=r(`<p class="flex shrink-0 items-center gap-2 border-b border-border px-4 py-2 text-xs text-muted-foreground" role="status"><!> Checking upstream sources…</p>`),rt=r(`<div class="flex shrink-0 items-start gap-2 border-b border-border px-4 py-2 text-xs text-destructive" role="alert"><span class="min-w-0 flex-1 break-words"> </span> <button class="shrink-0 underline underline-offset-2">Retry</button></div>`),it=r(`<span class="text-muted-foreground"> </span>`),at=r(`<span class="text-destructive"> </span>`),ot=r(`<p class="min-w-0 flex-1 text-xs"><span class="font-medium">Applied</span> <!> <!> <!></p>`),st=r(`<span class="font-medium text-primary"> </span>`),ct=r(`<span class="font-medium">All current</span>`),lt=r(`<!> `,1),ut=r(`<p class="min-w-0 flex-1 text-xs"><!> <!> <!> <!></p> <!>`,1),dt=r(`<li class="pl-3 text-xs text-muted-foreground"> </li>`),ft=r(`<li class="flex items-baseline gap-1.5"><span class="min-w-0 flex-1 truncate"> </span> <!></li> <!>`,1),pt=r(`<ul class="mt-1.5 max-h-40 space-y-1 overflow-y-auto text-xs"></ul>`),mt=r(`<section class="shrink-0 border-b border-border px-4 py-2.5" aria-label="Update report" data-testid="update-report"><div class="flex items-center gap-2"><!> <button class="flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground" aria-label="Dismiss update report"><!></button></div> <!></section>`),ht=r(`<div class="flex flex-col items-start gap-2 px-4 py-6 text-xs text-destructive"><p class="break-words"> </p> <!></div>`),gt=r(`<button class="shrink-0 underline underline-offset-2">Retry</button>`),_t=r(`<div class="flex items-start gap-2 px-4 py-2.5 text-xs text-destructive" role="alert"><span class="min-w-0 flex-1 break-words"> </span> <!></div> <!>`,1),vt=r(`<div class="flex items-center gap-2 px-4 py-6 text-xs text-muted-foreground"><!> Loading skills…</div>`),yt=r(`<div class="flex items-center gap-2 px-4 py-6 text-xs text-muted-foreground" role="status" data-testid="search-loading"><!> Searching skills…</div>`),bt=r(`<p class="px-4 py-6 text-xs text-muted-foreground" data-testid="search-scoped-empty">No skills match in this provider. <button class="underline underline-offset-2">Search all workspaces (⌘K)</button></p>`),xt=r(`<p class="px-4 py-6 text-xs text-muted-foreground">No skills match.</p>`),St=r(`<span class="shrink-0 text-xs uppercase tracking-wide text-amber-600 dark:text-amber-400">disabled</span>`),Ct=r(`<span class="inline-flex shrink-0 items-center gap-0.5 text-xs text-muted-foreground/80"><!> <span class="tabular-nums"> </span></span>`),wt=r(`<button type="button"><!> <span class="min-w-0 flex-1"><span class="flex items-center gap-2"><span class="truncate text-[13px] font-medium text-foreground"> </span> <!> <!></span> <span class="mt-0.5 line-clamp-2 text-xs leading-4"> </span></span></button>`),Tt=r(`<div class="m-auto flex flex-col items-center justify-center gap-2 px-8 py-10 text-center text-muted-foreground"><!> <p class="text-sm font-medium text-foreground">Select a skill</p> <p class="max-w-xs text-xs">Inspect its frontmatter, rendered body, and validation status.</p></div>`),Et=r(`<div class="flex h-full items-center justify-center gap-2 text-xs text-muted-foreground"><!> Loading skill…</div>`),Dt=r(`<div class="flex h-full flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-sm font-medium text-destructive">Skill not found</p> <p class="text-xs text-muted-foreground">This skill could not be loaded. It may have been moved, renamed, or deleted.</p> <p class="max-w-md break-all font-mono text-xs text-muted-foreground/70"> </p> <!></div>`),Ot=r(`<h2 class="truncate text-base font-semibold"> </h2>`),kt=r(`<textarea rows="2" class="mt-1 w-full resize-y rounded-md border border-input bg-input/20 px-2 py-1 text-xs leading-5 outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30" aria-label="Skill description"></textarea>`),At=r(`<p class="mt-0.5 text-xs leading-5 text-muted-foreground"> </p>`),jt=r(`<!> Save`,1),Mt=r(`<!> Validate`,1),Nt=r(`<!> Valid skill`,1),Pt=r(`<!> Validation issues`,1),Ft=r(`<p class="mt-1 text-xs text-destructive"> </p>`),It=r(`<p class="mt-1 text-xs text-amber-700 dark:text-amber-300"> </p>`),Lt=r(`<section class="mb-4 border-b border-border pb-3" aria-live="polite"><div class="flex items-center gap-2 text-xs font-medium"><!></div> <!> <!></section>`),Rt=r(`<div><dt class="bg-muted/40 px-2 py-1 text-xs font-medium text-muted-foreground"> </dt> <dd class="break-words px-2 py-1 text-xs"> </dd></div>`),zt=r(`<section class="mb-4"><h3 class="mb-2 text-xs font-medium text-muted-foreground">Frontmatter</h3> <dl class="overflow-x-auto rounded-md border border-border"></dl></section>`),Bt=r(`<div class="provider-detail-inner flex min-h-0 flex-1 flex-col svelte-9qjypz"><header tabindex="-1" class="detail-header shrink-0 border-b border-border px-4 py-3 focus:outline-none svelte-9qjypz"><div class="flex items-start gap-2"><button class="provider-back mt-0.5 hidden h-8 w-8 items-center justify-center svelte-9qjypz" aria-label="Back to skills"><!></button> <div class="min-w-0 flex-1"><!> <!></div> <div class="flex shrink-0 items-center gap-1.5"><!> <!> <!></div></div> <div class="mt-2 flex flex-wrap gap-1.5"><!> <!> <!></div></header> <div class="min-h-0 flex-1 overflow-y-auto px-4 py-3"><!> <!> <section><h3 class="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">SKILL.md</h3> <div class="prose prose-sm max-w-none overflow-x-auto"></div></section></div></div>`),Vt=r(`<div class="provider-surface flex h-full min-h-0 w-full min-w-0 svelte-9qjypz"><section aria-label="Skills"><header class="shrink-0 border-b border-border px-4 py-3"><div class="flex flex-wrap items-center gap-x-2 gap-y-1.5"><h1 class="min-w-0 truncate text-base font-semibold"> </h1> <!> <div class="ml-auto flex items-center gap-1"><!> <!></div></div> <div class="relative mt-2"><!> <input class="h-7 w-full rounded-md border border-input bg-input/20 pl-7 pr-8 text-xs outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30" placeholder="Filter skills" aria-label="Filter skills"/> <button type="button" class="absolute right-1 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Open search config" title="Open search config (search-config.toml)"><!></button></div></header> <!> <!> <div class="min-h-0 flex-1 overflow-y-auto"><!></div></section> <section aria-label="Skill detail"><!></section></div>`);function Ht(r,u){i(u,!0);let p=se(),g=oe(),O=x(()=>p?.()?.wsId),j=x(()=>p?.()?.providerId),N=x(()=>g?.()??{}),F=x(()=>m(N).skill),L=x(()=>m(N).q??``),Te=x(()=>m(N).view??`list`),Ie=fe(le),G=E(null),Ue=E(!1),K=E(null),Ge=E(!1),q=E(null),Ke=E(!1),J=E(!1),qe=E(``),Ye=E(``),Ze=E(null),$e=E(null),Ht=null,Y=x(()=>{if(!m(O)||!m(j))return null;let e=he.safeParse(m(O)),t=ue.safeParse(m(j));return!e.success||!t.success?null:{workspaceId:e.data,providerId:t.data}});A(()=>{m(Y)&&R(m(Y))}),A(()=>{let e=m(L).trim();if(!e)return;let t=setTimeout(()=>void Ce(e),150);return()=>clearTimeout(t)});let Ut=E(re(de.status));A(()=>{let t=de.status,n=e(()=>m(Ut));if(y(Ut,t,!0),n===`connected`||t!==`connected`)return;let r=e(()=>m(L).trim());r?Ce(r):z.target!==null&&z.skills.length===0&&!z.loading&&z.error!==null&&R(z.target)}),A(()=>()=>be());let Wt=!1;A(()=>{Wt||de.status!==`connected`||(Wt=!0,Se())});let Gt=x(()=>{let e=new Map;for(let t of ye.groups){let n=t.members.length-1;for(let r of t.members)e.set(r.id,n)}return e}),Kt=x(()=>I.query===m(L).trim()),qt=x(()=>{let e=m(Y);return e?I.results.filter(t=>t.installations.some(t=>t.workspaceId===e.workspaceId&&t.providerId===e.providerId)):[]}),X=x(()=>m(L).trim()?I.searching?{mode:`searching`}:m(Kt)&&I.error?{mode:`fallback`}:m(Kt)?{mode:`results`,rows:m(qt)}:{mode:`fallback`}:{mode:`full`}),Jt=x(()=>m(X).mode===`fallback`&&m(Kt)?I.error:null);A(()=>{let e=m(Y),t=m(F);if(!e||!t){y(G,null),y(K,null);return}Yt(e,t)});async function Yt(e,t){let n=Ie.issue(),r=me.safeParse(t);if(!r.success){y(G,null),y(K,`Invalid skill id in URL.`);return}y(Ue,!0),y(K,null),y(q,null);try{let t=await we(e,r.data);if(!n.isCurrent())return;y(G,t,!0);let{frontmatter:i}=Me(t.content),a=pe.safeParse(i);y(qe,a.success?a.data.name:t.name,!0),y(Ye,a.success?a.data.description:t.description,!0)}catch(e){if(!n.isCurrent())return;y(G,null),y(K,e instanceof Error?e.message:String(e),!0)}finally{n.isLatest()&&y(Ue,!1)}}let Xt=x(()=>{let e=m(L).trim().toLowerCase(),t=z.skills;return e?t.filter(t=>[t.name,t.description,t.provider].some(t=>t.toLowerCase().includes(e))):t}),Zt=x(()=>m(X).mode===`results`?m(X).rows.length:m(Xt).length),Z=x(()=>m(G)?Me(m(G).content):null),Qt=x(()=>m(Z)?Ne(m(Z).body):``),$t=x(()=>m(Y)!==null&&m(Y).workspaceId!==`~`);function en(e){m(O)&&m(j)&&P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...m(N),skill:e,view:`detail`})}function tn(e){if(!m(O)||!m(j))return;let t=z.skills.find(t=>t.name===e);if(!t)return;let{q:n,...r}=m(N);P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...r,skill:t.id,view:`detail`})}function nn(e){m(O)&&m(j)&&P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...m(N),q:e||void 0},`REPLACE`)}function rn(){m(O)&&m(j)&&(Ht=m(F)??null,P(`workspaces.provider`,{wsId:m(O),providerId:m(j)},{...m(N),view:`list`}))}let an=`list`;A(()=>{let t=m(Te),n=e(()=>an),r=e(()=>Ht);an=t,t===`list`&&n===`detail`&&r&&(Ht=null,(document.querySelector(`button[data-skill-id="${CSS.escape(r)}"]`)??m($e))?.focus())}),A(()=>{m(Te)!==`detail`||m(Ue)||m(G)?.id!==void 0&&m(Ze)?.focus()});async function on(){let e=m(G);if(!e||!m(Y)||m(J))return;y(J,!0);let t=e.disabled?`enable`:`disable`;try{let n=await _e([e.id],t);if(!n)return;let r=n.results.find(t=>t.skillId===e.id);r&&(r.status===`conflict`?B(`${r.name}: ${t} conflict${r.error?` — ${r.error}`:`.`}`):r.status===`failed`?B(`${r.name}: ${t} failed — ${r.error??`unknown error`}`):r.status===`skipped`?B(`${r.name}: already ${t===`enable`?`enabled`:`disabled`}.`):B(`${r.name} ${r.status}.`)),await Yt(m(Y),e.id)}catch(e){B(e instanceof Error?e.message:String(e))}finally{y(J,!1)}}let sn=x(()=>W.results.filter(e=>e.status===`updated`).map(e=>e.skillId)),Q=x(()=>Be(W.results)),$=x(()=>W.applyResults?Ve(W.applyResults):null);A(()=>{m(Y)&&ze()});async function cn(){m(Y)&&!W.checking&&await Le(m(Y))}async function ln(){if(m(Y)&&!W.applying&&m(sn).length!==0)try{let e=await Re(m(Y),m(sn));if(!e)return;let t=Ve(e),n=[t.updated>0?`${t.updated} updated`:null,t.current>0?`${t.current} already current`:null,t.failed>0?`${t.failed} failed`:null].filter(e=>e!==null);B(n.length>0?n.join(` · `):`No changes applied.`),await R(m(Y))}catch(e){B(e instanceof Error?e.message:String(e))}}async function un(){if(m(G)&&m(Y)){y(Ge,!0),y(q,null);try{let e=await xe(m(G).id);e&&y(q,{success:e.success,errors:e.errors,warnings:e.warnings},!0)}catch(e){y(q,{success:!1,errors:[e instanceof Error?e.message:String(e)],warnings:[]},!0)}finally{y(Ge,!1)}}}async function dn(){let e=m(G),t=m(Y),n=m(Z)?.body;if(!e||!t||n===void 0)return;let r=m(qe).trim(),i=m(Ye).trim();if(!r||!i){B(`Name and description cannot be empty.`);return}y(Ke,!0);try{let a=m(Z)?m(Z).frontmatter:{},o=pe.safeParse({...a,name:r,description:i});if(!o.success){B(`Frontmatter is invalid after edit.`);return}let s=o.data,c=await ve({mode:`update`,workspaceId:t.workspaceId,providerId:t.providerId,skillId:e.id,expectedRevision:e.revision,frontmatter:s,body:n});y(G,{...e,revision:c.document.revision,name:r,description:i},!0),B(`Saved.`)}catch(e){e instanceof ce&&e.code===`CONFLICT`?B(`This skill changed elsewhere. Reload to view the latest.`,{label:`Reload`,run:()=>{t&&m(G)&&Yt(t,m(G).id)}}):B(e instanceof Error?e.message:String(e))}finally{y(Ke,!1)}}var fn=Vt(),pn=k(fn),mn=k(pn),hn=k(mn),gn=k(hn),_n=_(gn,!0),vn=w(gn,2),yn=e=>{H(e,{class:`h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground`,title:`Refreshing skills`})},bn=e=>{U(e,{variant:`secondary`,children:(e,t)=>{C();var n=f();D(()=>a(n,m(Zt))),l(e,n)},$$slots:{default:!0}})};c(vn,e=>{z.refreshing||m(X).mode===`searching`?e(yn):e(bn,-1)});var xn=w(vn,2),Sn=k(xn);V(Sn,{variant:`ghost`,size:`icon`,class:`h-7 w-7`,title:`Insights — read-only analysis: duplicates, conflicts, shared resources`,"aria-label":`Insights`,onclick:()=>{m(O)&&m(j)&&P(`workspaces.intelligence`,{wsId:m(O),providerId:m(j)},{})},children:(e,t)=>{Fe(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}});var Cn=w(Sn,2);V(Cn,{variant:`ghost`,size:`icon`,class:`h-7 w-7`,title:`Updates — compare installed skills against their upstream sources`,"aria-label":`Updates`,get disabled(){return W.checking},onclick:()=>void cn(),children:(e,t)=>{var n=ae(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},a=e=>{Xe(e,{class:`h-3.5 w-3.5`})};c(r,e=>{W.checking?e(i):e(a,-1)}),l(e,n)},$$slots:{default:!0}}),n(xn),n(hn);var wn=w(hn,2),Tn=k(wn);Oe(Tn,{class:`pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground`});var En=w(Tn,2);ne(En),te(En,e=>y($e,e),()=>m($e));var Dn=w(En,2),On=k(Dn);ke(On,{class:`h-3.5 w-3.5`}),n(Dn),n(wn),n(mn);var kn=w(mn,2),An=e=>{var t=tt(),r=k(t),i=_(r),s=w(r,2);n(t),D(()=>a(i,`Search unavailable — filtering loaded skills. ${m(Jt)??``}`)),o(`click`,s,()=>void Ce(m(L).trim())),l(e,t)};c(kn,e=>{m(Jt)&&e(An)});var jn=w(kn,2),Mn=e=>{var t=nt(),r=k(t);H(r,{class:`h-3.5 w-3.5 animate-spin`}),C(),n(t),l(e,t)},Nn=e=>{var t=rt(),r=k(t),i=_(r,!0),s=w(r,2);n(t),D(()=>a(i,W.checkError)),o(`click`,s,()=>void cn()),l(e,t)},Pn=e=>{var r=mt(),i=k(r),s=k(i),u=e=>{var t=ot(),r=w(k(t),2),i=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m($).updated??``} updated`)),l(e,t)};c(r,e=>{m($).updated>0&&e(i)});var o=w(r,2),s=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m($).current??``} already current`)),l(e,t)};c(o,e=>{m($).current>0&&e(s)});var u=w(o,2),d=e=>{var t=at(),n=_(t);D(()=>a(n,`· ${m($).failed??``} failed`)),l(e,t)};c(u,e=>{m($).failed>0&&e(d)}),n(t),l(e,t)},d=e=>{var t=ut(),r=M(t),i=k(r),o=e=>{var t=st(),n=_(t);D(()=>a(n,`${m(Q).outdated??``} outdated`)),l(e,t)},s=e=>{var t=ct();l(e,t)};c(i,e=>{m(Q).outdated>0?e(o):e(s,-1)});var u=w(i,2),d=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m(Q).current??``} up to date`)),l(e,t)};c(u,e=>{m(Q).current>0&&e(d)});var f=w(u,2),p=e=>{var t=it(),n=_(t);D(()=>a(n,`· ${m(Q).unavailable??``} unavailable`)),l(e,t)};c(f,e=>{m(Q).unavailable>0&&e(p)});var h=w(f,2),g=e=>{var t=at(),n=_(t);D(()=>a(n,`· ${m(Q).failed??``} failed`)),l(e,t)};c(h,e=>{m(Q).failed>0&&e(g)}),n(r);var v=w(r,2),y=e=>{V(e,{size:`sm`,class:`h-7 gap-1.5 px-2 text-xs`,get disabled(){return W.applying},onclick:()=>void ln(),children:(e,t)=>{var n=lt(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},o=e=>{Xe(e,{class:`h-3.5 w-3.5`})};c(r,e=>{W.applying?e(i):e(o,-1)});var s=w(r);D(()=>a(s,` Update ${m(sn).length??``}`)),l(e,n)},$$slots:{default:!0}})};c(v,e=>{m(sn).length>0&&e(y)}),l(e,t)};c(s,e=>{m($)?e(u):e(d,-1)});var p=w(s,2),h=k(p);Ee(h,{class:`h-3.5 w-3.5`}),n(p),n(i);var g=w(i,2),v=e=>{let r=x(()=>W.applyResults??W.results);var i=pt();t(i,21,()=>m(r),e=>e.skillId,(e,t)=>{var r=ft(),i=M(r),o=k(i),s=_(o,!0),u=w(o,2),d=e=>{U(e,{variant:`secondary`,class:`text-xs`,children:(e,t)=>{C();var n=f();D(()=>a(n,m($)?`reinstalled`:`outdated`)),l(e,n)},$$slots:{default:!0}})},p=e=>{U(e,{variant:`outline`,class:`text-xs`,children:(e,t)=>{C();var n=f(`current`);l(e,n)},$$slots:{default:!0}})},h=e=>{U(e,{variant:`destructive`,class:`text-xs`,children:(e,t)=>{C();var n=f(`failed`);l(e,n)},$$slots:{default:!0}})},g=e=>{U(e,{variant:`outline`,class:`text-xs`,children:(e,t)=>{C();var n=f(`unavailable`);l(e,n)},$$slots:{default:!0}})};c(u,e=>{m(t).status===`updated`?e(d):m(t).status===`already-current`?e(p,1):m(t).status===`failed`?e(h,2):e(g,-1)}),n(i);var v=w(i,2),y=e=>{var n=dt(),r=_(n,!0);D(()=>a(r,m(t).error)),l(e,n)};c(v,e=>{m(t).error&&e(y)}),D(()=>a(s,m(t).name)),l(e,r)}),n(i),l(e,i)};c(g,e=>{(W.applyResults??W.results)&&e(v)}),n(r),o(`click`,p,()=>ze()),l(e,r)};c(jn,e=>{W.checking?e(Mn):W.checkError?e(Nn,1):(W.results.length>0||W.applyResults)&&e(Pn,2)});var Fn=w(jn,2),In=k(Fn),Ln=e=>{var t=ht(),r=k(t),i=_(r,!0),o=w(r,2),s=e=>{V(e,{variant:`outline`,size:`sm`,class:`h-7 text-xs`,onclick:()=>void R(m(Y)),children:(e,t)=>{C();var n=f(`Retry`);l(e,n)},$$slots:{default:!0}})};c(o,e=>{m(Y)&&e(s)}),n(t),D(()=>a(i,z.error)),l(e,t)},Rn=e=>{var r=_t(),i=M(r),s=k(i),u=_(s,!0),d=w(s,2),f=e=>{var t=gt();o(`click`,t,()=>void R(m(Y))),l(e,t)};c(d,e=>{m(Y)&&e(f)}),n(i);var p=w(i,2);t(p,17,()=>m(Xt),e=>e.id,(e,t)=>{{let n=x(()=>m(t).id===m(F)),r=x(()=>m(Gt).get(m(t).id)??0);Je(e,{get skill(){return m(t)},get selected(){return m(n)},get sameContentCount(){return m(r)},onclick:()=>en(m(t).id)})}}),D(()=>a(u,z.error)),l(e,r)},zn=e=>{var t=vt(),r=k(t);H(r,{class:`h-3.5 w-3.5 animate-spin`}),C(),n(t),l(e,t)},Bn=e=>{var t=yt(),r=k(t);H(r,{class:`h-3.5 w-3.5 animate-spin`}),C(),n(t),l(e,t)},Vn=e=>{var t=ae(),r=M(t),i=e=>{var t=bt(),r=w(k(t));n(t),o(`click`,r,()=>globalThis.dispatchEvent(new KeyboardEvent(`keydown`,{key:`k`,metaKey:!0}))),l(e,t)},a=e=>{var t=xt();l(e,t)};c(r,e=>{I.results.length>0?e(i):e(a,-1)}),l(e,t)},Hn=e=>{var r=ae(),i=M(r);t(i,17,()=>m(X).rows,e=>e.id,(e,t)=>{var r=wt(),i=k(r),s=e=>{He(e,{class:`mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`})},u=e=>{Ae(e,{class:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`})};c(i,e=>{m(t).disabled?e(s):e(u,-1)});var d=w(i,2),f=k(d),p=k(f),h=_(p,!0),g=w(p,2),v=e=>{var t=St();l(e,t)};c(g,e=>{m(t).disabled&&e(v)});var y=w(g,2),b=e=>{var r=Ct(),i=k(r);We(i,{class:`h-3 w-3`,"aria-hidden":`true`});var o=w(i,2),s=_(o,!0);n(r),D(()=>{T(r,`title`,`Same content as ${m(t).duplicates.length??``} other installation${m(t).duplicates.length===1?``:`s`}`),a(s,m(t).duplicates.length)}),l(e,r)};c(y,e=>{m(t).duplicates.length>0&&e(b)}),n(f);var x=w(f,2),S=_(x,!0);n(d),n(r),D(()=>{T(r,`data-skill-id`,m(t).id),T(r,`aria-pressed`,m(t).id===m(F)),ie(r,1,`group flex min-h-14 w-full items-start gap-2.5 border-b border-border/70 px-3 py-2.5 text-left transition-colors ${m(t).id===m(F)?`bg-accent text-foreground`:`text-muted-foreground hover:bg-accent/60 hover:text-foreground`}`),a(h,m(t).name),a(S,m(t).description||`No description`)}),o(`click`,r,()=>tn(m(t).name)),l(e,r)}),l(e,r)},Un=e=>{var t=xt();l(e,t)},Wn=e=>{var n=ae(),r=M(n);t(r,17,()=>m(Xt),e=>e.id,(e,t)=>{{let n=x(()=>m(t).id===m(F)),r=x(()=>m(Gt).get(m(t).id)??0);Je(e,{get skill(){return m(t)},get selected(){return m(n)},get sameContentCount(){return m(r)},onclick:()=>en(m(t).id)})}}),l(e,n)};c(In,e=>{z.error&&z.skills.length===0?e(Ln):z.error?e(Rn,1):z.loading?e(zn,2):m(X).mode===`searching`?e(Bn,3):m(X).mode===`results`&&m(X).rows.length===0?e(Vn,4):m(X).mode===`results`?e(Hn,5):m(Xt).length===0?e(Un,6):e(Wn,-1)}),n(Fn),n(pn);var Gn=w(pn,2),Kn=k(Gn),qn=e=>{var t=Tt(),r=k(t);Ae(r,{class:`h-6 w-6`}),C(4),n(t),l(e,t)},Jn=e=>{var t=Et(),r=k(t);H(r,{class:`h-4 w-4 animate-spin`}),C(),n(t),l(e,t)},Yn=e=>{var t=Dt(),r=w(k(t),4),i=_(r,!0),o=w(r,2),s=e=>{V(e,{variant:`outline`,size:`sm`,onclick:()=>Yt(m(Y),m(F)),children:(e,t)=>{C();var n=f(`Retry`);l(e,n)},$$slots:{default:!0}})};c(o,e=>{m(Y)&&m(F)&&e(s)}),n(t),D(()=>a(i,m(K))),l(e,t)},Xn=e=>{let r=x(()=>m($t));var i=Bt(),u=k(i),d=k(u),p=k(d),g=k(p);Pe(g,{class:`h-4 w-4`}),n(p);var b=w(p,2),T=k(b),E=e=>{De(e,{class:`h-8 text-base font-semibold`,"aria-label":`Skill name`,get value(){return m(qe)},set value(e){y(qe,e,!0)}})},O=e=>{var t=Ot(),n=_(t,!0);D(()=>a(n,m(G).name)),l(e,t)};c(T,e=>{m(r)?e(E):e(O,-1)});var ne=w(T,2),A=e=>{var t=kt();h(t),v(t,()=>m(Ye),e=>y(Ye,e)),l(e,t)},j=e=>{var t=At(),n=_(t,!0);D(()=>a(n,m(G).description)),l(e,t)};c(ne,e=>{m(r)?e(A):e(j,-1)}),n(b);var re=w(b,2),N=k(re),P=e=>{V(e,{size:`sm`,class:`h-8 gap-1.5`,onclick:dn,get disabled(){return m(Ke)},children:(e,t)=>{var n=ae(),r=M(n),i=e=>{var t=jt(),n=M(t);H(n,{class:`h-3.5 w-3.5 animate-spin`}),C(),l(e,t)},a=e=>{var t=f(`Save`);l(e,t)};c(r,e=>{m(Ke)?e(i):e(a,-1)}),l(e,n)},$$slots:{default:!0}})};c(N,e=>{m(r)&&e(P)});var oe=w(N,2);V(oe,{variant:`outline`,size:`sm`,class:`h-8 gap-1.5`,onclick:un,get disabled(){return m(Ge)},children:(e,t)=>{var n=Mt(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},a=e=>{et(e,{class:`h-3.5 w-3.5`})};c(r,e=>{m(Ge)?e(i):e(a,-1)}),C(),l(e,n)},$$slots:{default:!0}});var se=w(oe,2);{let e=x(()=>m(G).disabled?`default`:`outline`);V(se,{size:`sm`,get variant(){return m(e)},class:`h-8 gap-1.5`,get disabled(){return m(J)},onclick:on,children:(e,t)=>{var n=lt(),r=M(n),i=e=>{H(e,{class:`h-3.5 w-3.5 animate-spin`})},o=e=>{Qe(e,{class:`h-3.5 w-3.5`})};c(r,e=>{m(J)?e(i):e(o,-1)});var s=w(r);D(()=>a(s,` ${m(G).disabled?`Enable`:`Disable`}`)),l(e,n)},$$slots:{default:!0}})}n(re),n(d);var ce=w(d,2),le=k(ce);U(le,{variant:`secondary`,children:(e,t)=>{C();var n=f();D(()=>a(n,m(G).provider)),l(e,n)},$$slots:{default:!0}});var ue=w(le,2);U(ue,{variant:`outline`,children:(e,t)=>{C();var n=f();D(()=>a(n,m(G).directoryName)),l(e,n)},$$slots:{default:!0}});var de=w(ue,2),F=e=>{U(e,{variant:`outline`,class:`text-amber-700 dark:text-amber-300`,children:(e,t)=>{C();var n=f(`Disabled`);l(e,n)},$$slots:{default:!0}})};c(de,e=>{m(G).disabled&&e(F)}),n(ce),n(u),te(u,e=>y(Ze,e),()=>m(Ze));var fe=w(u,2),pe=k(fe),me=e=>{var r=Lt(),i=k(r),o=k(i),s=e=>{var t=Nt(),n=M(t);je(n,{class:`h-4 w-4 text-emerald-600`}),C(),l(e,t)},u=e=>{var t=Pt();et(M(t),{class:`h-4 w-4 text-destructive`}),C(),l(e,t)};c(o,e=>{m(q).success?e(s):e(u,-1)}),n(i);var d=w(i,2);t(d,17,()=>m(q).errors,S,(e,t)=>{var n=Ft(),r=_(n,!0);D(()=>a(r,m(t))),l(e,n)});var f=w(d,2);t(f,17,()=>m(q).warnings,S,(e,t)=>{var n=It(),r=_(n,!0);D(()=>a(r,m(t))),l(e,n)}),n(r),l(e,r)};c(pe,e=>{m(q)&&e(me)});var he=w(pe,2),ge=e=>{var r=zt(),i=w(k(r),2);t(i,21,()=>Object.entries(m(Z).frontmatter),S,(e,t,r)=>{var i=x(()=>s(m(t),2));let o=()=>m(i)[0],c=()=>m(i)[1];var u=Rt();ie(u,1,`grid grid-cols-[120px_minmax(0,1fr)] ${r>0?`border-t border-border`:``}`);var d=k(u),f=_(d,!0),p=w(d,2),h=_(p,!0);n(u),D(e=>{a(f,o()),a(h,e)},[()=>c()===null?`null`:String(c())]),l(e,u)}),n(i),n(r),l(e,r)};c(he,e=>{m(Z)&&e(ge)});var I=w(he,2),L=w(k(I),2);ee(L,()=>m(Qt),!0),n(L),n(I),n(fe),n(i),o(`click`,p,rn),l(e,i)};c(Kn,e=>{m(F)?m(Ue)?e(Jn,1):m(K)?e(Yn,2):m(G)&&e(Xn,3):e(qn)}),n(Gn),n(fn),D(()=>{ie(pn,1,`provider-list flex min-h-0 flex-col border-r border-border ${m(Te)===`detail`?`provider-list-hidden`:``}`,`svelte-9qjypz`),a(_n,m(j)??`—`),b(En,m(L)),ie(Gn,1,`provider-detail flex min-h-0 flex-col ${m(Te)===`list`?`provider-detail-hidden`:``}`,`svelte-9qjypz`)}),o(`input`,En,e=>nn(e.currentTarget.value)),o(`click`,Dn,()=>void ge()),l(r,fn),d()}p([`input`,`click`]);export{Ht as default};
|