skill-creator 2.4.0 → 2.4.1

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.
Files changed (59) hide show
  1. package/dist/cli.js +119 -9
  2. package/dist/cli.js.map +2 -2
  3. package/dist/daemon.js +264 -21
  4. package/dist/daemon.js.map +4 -4
  5. package/dist/package.json +1 -1
  6. package/dist/webui/_app/immutable/assets/0.DSuWfqBb.css +2 -0
  7. package/dist/webui/_app/immutable/assets/CreatorWorkspace.CvDsme_1.css +1 -0
  8. package/dist/webui/_app/immutable/chunks/{DlsPNMHX.js → BBqlAyUm.js} +2 -2
  9. package/dist/webui/_app/immutable/chunks/BGher0CO.js +6 -0
  10. package/dist/webui/_app/immutable/chunks/{Du6-3Tbt.js → BLdcUAZa.js} +1 -1
  11. package/dist/webui/_app/immutable/chunks/{CvO5eq4f.js → BehT3C1z.js} +1 -1
  12. package/dist/webui/_app/immutable/chunks/{CIxXWvxF.js → BwEHBMTF.js} +1 -1
  13. package/dist/webui/_app/immutable/chunks/{hIGXQE4_.js → Bynub5xW.js} +1 -1
  14. package/dist/webui/_app/immutable/chunks/{Bd1_Ly7G.js → C1gdd-Qo.js} +1 -1
  15. package/dist/webui/_app/immutable/chunks/CAmktO2F.js +1 -0
  16. package/dist/webui/_app/immutable/chunks/{BTuMeN4z.js → CHfZ3gHY.js} +1 -1
  17. package/dist/webui/_app/immutable/chunks/CIyEiZkz.js +1 -0
  18. package/dist/webui/_app/immutable/chunks/CYhuNS_d.js +11 -0
  19. package/dist/webui/_app/immutable/chunks/CZQgUTNL.js +1 -0
  20. package/dist/webui/_app/immutable/chunks/{Dcf0klrH.js → CbVFrj5k.js} +2 -2
  21. package/dist/webui/_app/immutable/chunks/{CdjBDc_u.js → Cbsk109T.js} +1 -1
  22. package/dist/webui/_app/immutable/chunks/ChB3s6Q9.js +2 -0
  23. package/dist/webui/_app/immutable/chunks/{Do_MDwCJ.js → CjZfvtzv.js} +1 -1
  24. package/dist/webui/_app/immutable/chunks/DC5f4JBB.js +5 -0
  25. package/dist/webui/_app/immutable/chunks/{CBFLFfGb.js → DP_8P0mo.js} +1 -1
  26. package/dist/webui/_app/immutable/chunks/DSbDiml2.js +28 -0
  27. package/dist/webui/_app/immutable/chunks/{D6s79OPW.js → DXjm_vE5.js} +1 -1
  28. package/dist/webui/_app/immutable/chunks/DdHvRi0A.js +1 -0
  29. package/dist/webui/_app/immutable/chunks/{BgJCuTDs.js → DzSJuxmI.js} +1 -1
  30. package/dist/webui/_app/immutable/chunks/KM5hQu2t.js +8 -0
  31. package/dist/webui/_app/immutable/chunks/QmXxFt1D.js +1 -0
  32. package/dist/webui/_app/immutable/chunks/VnziGBZO.js +2 -0
  33. package/dist/webui/_app/immutable/chunks/a0LlqeqU.js +1 -0
  34. package/dist/webui/_app/immutable/chunks/aUJoMDp6.js +1 -0
  35. package/dist/webui/_app/immutable/chunks/{DGJ9QIPN.js → rTO-doKC.js} +1 -1
  36. package/dist/webui/_app/immutable/chunks/ryZsHFfK.js +1 -0
  37. package/dist/webui/_app/immutable/chunks/yX3qp0yo.js +5 -0
  38. package/dist/webui/_app/immutable/entry/{app.SX0t6ojk.js → app.BbDTsu6I.js} +2 -2
  39. package/dist/webui/_app/immutable/entry/start.DlPtwiRy.js +1 -0
  40. package/dist/webui/_app/immutable/nodes/0.QaOeKSa7.js +229 -0
  41. package/dist/webui/_app/immutable/nodes/{1.BY0DmHLP.js → 1.D-EmaRZH.js} +1 -1
  42. package/dist/webui/_app/immutable/nodes/{2._osi8D6m.js → 2.CGLbUjuZ.js} +1 -1
  43. package/dist/webui/_app/version.json +1 -1
  44. package/dist/webui/index.html +23 -21
  45. package/package.json +5 -5
  46. package/dist/webui/_app/immutable/assets/0.B4ZC2KQW.css +0 -2
  47. package/dist/webui/_app/immutable/chunks/B0stYqX9.js +0 -1
  48. package/dist/webui/_app/immutable/chunks/B_gnhZ39.js +0 -1
  49. package/dist/webui/_app/immutable/chunks/BcvferwH.js +0 -8
  50. package/dist/webui/_app/immutable/chunks/CD-NpLjk.js +0 -6
  51. package/dist/webui/_app/immutable/chunks/COXgCOd9.js +0 -2
  52. package/dist/webui/_app/immutable/chunks/Ccj5eiVa.js +0 -1
  53. package/dist/webui/_app/immutable/chunks/Cp0lquqA.js +0 -1
  54. package/dist/webui/_app/immutable/chunks/Crg8KRap.js +0 -5
  55. package/dist/webui/_app/immutable/chunks/D7DTLcps.js +0 -1
  56. package/dist/webui/_app/immutable/chunks/oJ4aK8PG.js +0 -1
  57. package/dist/webui/_app/immutable/chunks/vry1W47_.js +0 -7
  58. package/dist/webui/_app/immutable/entry/start.gejSBBnR.js +0 -1
  59. package/dist/webui/_app/immutable/nodes/0.BTXc1wYu.js +0 -229
@@ -1 +1 @@
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,S as c,St as l,W as u,X as d,ct as f,d as p,ft as m,gt as h,kt as g,lt as _,m as v,mt as y,nt as b,o as x,ot as S,p as C,rt as w,s as T,st as E,x as D}from"./CmCJ0SKP.js";import{t as O}from"./B0stYqX9.js";import"./xihTtKlq.js";import"./oJ4aK8PG.js";import{t as k}from"./BkEnd9_Z.js";import{i as ee}from"./D7DTLcps.js";import{n as A}from"./1aUphu7Y.js";import{i as j}from"./DnPeA-9c.js";import{n as M,t as N}from"./hIGXQE4_.js";import{a as P,i as F,n as I,o as te,s as L,t as R}from"./Du6-3Tbt.js";var z=new Set([`$$slots`,`$$events`,`$$legacy`]);function B(e,t){let n=x(t,z),r=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]];k(e,T({name:`external-link`},()=>n,{get iconNode(){return r}}))}var V=n(`<span class="text-amber-600 dark:text-amber-400">stale · rescan for latest</span>`),H=n(`<span> </span> <span class="font-mono"> </span> <!>`,1),U=n(`<span class="italic">Not scanned yet</span>`),W=n(`<a target="_blank" rel="noreferrer noopener" class="inline-flex h-7 items-center gap-1 rounded-md border border-border px-2 text-[11px] text-muted-foreground transition-colors hover:bg-muted/50"><!> Home</a>`),G=n(`<button type="button" class="ml-auto inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive"><!></button>`),ne=n(`<article class="flex h-full flex-col gap-2 rounded-lg border border-border bg-card p-3 text-left transition-colors hover:border-primary/40"><header class="flex items-start gap-2"><div class="min-w-0 flex-1"><div class="flex items-center gap-1.5"><h3 class="truncate text-sm font-medium text-foreground"> </h3> <span> </span></div> <p class="mt-0.5 line-clamp-2 text-[11px] leading-4 text-muted-foreground"> </p></div></header> <dl class="mt-auto flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[11px] text-muted-foreground"><!></dl> <footer class="flex shrink-0 items-center gap-2"><button type="button" class="inline-flex h-7 items-center rounded-md bg-primary px-2.5 text-[11px] font-medium text-primary-foreground transition-colors hover:bg-primary/90">Scan</button> <!> <!></footer></article>`);function re(e,n){r(n,!0);var u=ne(),d=S(u),p=S(d),m=S(p),h=S(m),y=f(h,!0),x=_(h,2),C=f(x,!0);t(m);var w=_(m,2),T=f(w,!0);t(p),t(d);var O=_(d,2),k=S(O),ee=e=>{var t=H(),r=E(t),a=f(r),c=_(r,2),l=f(c,!0),u=_(c,2),d=e=>{var t=V();s(e,t)};o(u,e=>{n.stale&&e(d)}),b(()=>{i(a,`${n.scanSummary.skillCount??``} skills`),i(l,n.scanSummary.commitPrefix)}),s(e,t)},A=e=>{var t=U();s(e,t)};o(k,e=>{n.scanSummary?e(ee):e(A,-1)}),t(O);var M=_(O,2),P=S(M),F=_(P,2),I=e=>{var r=W();B(S(r),{class:`h-3 w-3`}),g(),t(r),b(()=>{v(r,`href`,n.homepage),v(r,`aria-label`,`Open ${n.label} homepage`)}),s(e,r)};o(F,e=>{n.homepage&&e(I)});var te=_(F,2),L=e=>{var r=G(),i=S(r);N(i,{class:`h-3.5 w-3.5`}),t(r),b(()=>v(r,`aria-label`,`Remove ${n.label}`)),a(`click`,r,function(...e){n.onremove?.apply(this,e)}),s(e,r)};o(te,e=>{!n.builtIn&&n.onremove&&e(L)}),t(M),t(u),b(e=>{i(y,n.label),D(x,1,e),i(C,n.builtIn?`Built-in`:`Custom`),i(T,n.description||n.gitUrl)},[()=>c(j(`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium`,n.builtIn?`bg-primary/10 text-primary`:`bg-muted text-muted-foreground`))]),a(`click`,P,function(...e){n.onscan?.apply(this,e)}),s(e,u),l()}u([`click`]);var ie=n(`<p class="py-8 text-center text-xs text-muted-foreground">Loading sources…</p>`),ae=n(`<p class="py-8 text-center text-xs text-destructive"> </p>`),oe=n(`<p class="py-8 text-center text-xs text-muted-foreground"> </p>`),se=n(`<div class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"></div>`),ce=n(`<li><button type="button" class="flex w-full items-center justify-between rounded px-2 py-1 text-left text-xs transition-colors hover:bg-muted/60"><span class="truncate font-medium text-foreground"> </span> <span class="ml-2 shrink-0 text-muted-foreground"> </span></button></li>`),le=n(`<section class="rounded-lg border border-border bg-muted/20 p-3"><h2 class="text-xs font-medium text-muted-foreground">Recent scans</h2> <ul class="mt-2 space-y-1"></ul></section>`),ue=n(`<p class="text-xs text-destructive"> </p>`),de=n(`<div class="fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4"><div class="w-full max-w-md rounded-lg border border-border bg-background p-4 shadow-lg"><h2 class="text-sm font-semibold">Add custom source</h2> <p class="mt-0.5 text-xs text-muted-foreground">Paste an <code class="font-mono">https</code> Git URL. It persists across restarts.</p> <div class="mt-3 space-y-2"><label class="block text-xs"><span class="text-muted-foreground">Label</span> <input class="mt-1 h-8 w-full rounded-md border border-border bg-background px-2 text-sm" placeholder="My skills repo"/></label> <label class="block text-xs"><span class="text-muted-foreground">Git URL (https only)</span> <input class="mt-1 h-8 w-full rounded-md border border-border bg-background px-2 font-mono text-xs" placeholder="https://github.com/me/skills.git"/></label> <label class="block text-xs"><span class="text-muted-foreground">Description (optional)</span> <input class="mt-1 h-8 w-full rounded-md border border-border bg-background px-2 text-sm" placeholder="What kind of skills?"/></label> <!></div> <div class="mt-4 flex justify-end gap-2"><button type="button" class="h-8 rounded-md border border-border px-3 text-xs hover:bg-muted/50">Cancel</button> <button type="button" class="h-8 rounded-md bg-primary px-3 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50"> </button></div></div></div>`),fe=n(`<div class="flex h-full flex-col overflow-y-auto p-5"><header class="flex shrink-0 items-center gap-3 border-b border-border pb-4"><div class="min-w-0 flex-1"><h1 class="text-lg font-semibold">Discover skills</h1> <p class="mt-0.5 text-xs text-muted-foreground">Browse curated and custom skill repositories, then scan to install.</p></div> <button type="button" class="inline-flex h-8 shrink-0 items-center rounded-md border border-border px-3 text-xs font-medium transition-colors hover:bg-muted/50">Add source</button></header> <div class="mx-auto mt-4 w-full max-w-4xl flex-1 space-y-4"><div class="flex items-center gap-2"><input type="search" placeholder="Filter sources by name or description…" class="h-9 w-full rounded-md border border-border bg-background px-3 text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" aria-label="Filter sources"/></div> <!> <!></div></div> <!> <!>`,1);function K(n,c){r(c,!0);let u=ee(),g=h(()=>u?.()?.q?.trim()??``),v=y(``);w(()=>{m(v,d(g),!0)}),w(()=>{P()});let x=h(()=>[...L.builtIn.map(e=>({id:e.id,label:e.label,description:e.description,gitUrl:e.gitUrl,homepage:e.homepage,builtIn:!0})),...L.user.map(e=>({id:e.id,label:e.label,description:e.description,gitUrl:e.gitUrl,homepage:void 0,builtIn:!1}))]),T=h(()=>{let e=d(g).toLowerCase();return e?d(x).filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)):d(x)}),D=h(()=>{let e=[];for(let t of d(x)){let n=R(t.id);n&&e.push({id:t.id,label:t.label,summary:n})}return e.sort((e,t)=>(t.summary?.scannedAt??0)-(e.summary?.scannedAt??0)),e.slice(0,5)}),k=y(!1),j=y(``),N=y(``),z=y(``),B=y(null),V=y(!1);function H(e){let t=e.trim(),n=`/repository${t?`?q=${encodeURIComponent(t)}`:``}`;O(n,{replaceState:!0})}function U(){let e=d(v).trim(),t=e?`?q=${encodeURIComponent(e)}`:``;O(`/repository${t}`)}function W(e){O(`/repository/scan/${encodeURIComponent(e)}`)}function G(){m(k,!0),m(j,``),m(N,``),m(z,``),m(B,null)}async function ne(){let e=d(j).trim(),t=d(N).trim();if(!e||!t){m(B,`Label and Git URL are required.`);return}m(V,!0),m(B,null);try{await F({label:e,gitUrl:t,description:d(z).trim()||void 0})&&m(k,!1)}catch(e){m(B,e instanceof Error?e.message:String(e),!0)}finally{m(V,!1)}}let K=y(null),q=y(!1),J=y(!1);function pe(e,t){m(K,{id:e,label:t},!0),m(q,!0)}w(()=>{d(q)||m(K,null)});async function me(){let e=d(K);if(e){m(J,!0);try{await te(e.id)&&(m(q,!1),A(`Removed source ${e.label}.`))}catch(e){A(e instanceof Error?e.message:String(e))}finally{m(J,!1)}}}var Y=fe(),X=E(Y),Z=S(X),he=_(S(Z),2);t(Z);var ge=_(Z,2),Q=S(ge),$=S(Q);C($),t(Q);var _e=_(Q,2),ve=e=>{var t=ie();s(e,t)},ye=e=>{var t=ae(),n=f(t,!0);b(()=>i(n,L.error)),s(e,t)},be=e=>{var t=oe(),n=f(t);b(()=>i(n,`No sources match “${d(g)??``}”.`)),s(e,t)},xe=n=>{var r=se();e(r,21,()=>d(T),e=>e.id,(e,t)=>{{let n=h(()=>R(d(t).id)),r=h(()=>I(R(d(t).id))),i=h(()=>d(t).builtIn?void 0:()=>pe(d(t).id,d(t).label));re(e,{get label(){return d(t).label},get description(){return d(t).description},get gitUrl(){return d(t).gitUrl},get homepage(){return d(t).homepage},get builtIn(){return d(t).builtIn},get scanSummary(){return d(n)},get stale(){return d(r)},onscan:()=>W(d(t).id),get onremove(){return d(i)}})}}),t(r),s(n,r)};o(_e,e=>{L.loading?e(ve):L.error?e(ye,1):d(T).length===0?e(be,2):e(xe,-1)});var Se=_(_e,2),Ce=n=>{var r=le(),o=_(S(r),2);e(o,21,()=>d(D),e=>e.id,(e,n)=>{var r=ce(),o=S(r),c=S(o),l=f(c,!0),u=_(c,2),p=f(u);t(o),t(r),b(()=>{i(l,d(n).label),i(p,`${d(n).summary?.skillCount??0??``} skills`)}),a(`click`,o,()=>W(d(n).id)),s(e,r)}),t(o),t(r),s(n,r)};o(Se,e=>{d(D).length>0&&e(Ce)}),t(ge),t(X);var we=_(X,2),Te=e=>{var n=de(),r=S(n),c=_(S(r),4),l=S(c),u=_(S(l),2);C(u),t(l);var h=_(l,2),g=_(S(h),2);C(g),t(h);var v=_(h,2),y=_(S(v),2);C(y),t(v);var x=_(v,2),w=e=>{var t=ue(),n=f(t,!0);b(()=>i(n,d(B))),s(e,t)};o(x,e=>{d(B)&&e(w)}),t(c);var T=_(c,2),E=S(T),D=_(E,2),O=f(D,!0);t(T),t(r),t(n),b(()=>{D.disabled=d(V),i(O,d(V)?`Adding…`:`Add`)}),p(u,()=>d(j),e=>m(j,e)),p(g,()=>d(N),e=>m(N,e)),p(y,()=>d(z),e=>m(z,e)),a(`click`,E,()=>m(k,!1)),a(`click`,D,ne),s(e,n)};o(we,e=>{d(k)&&e(Te)});var Ee=_(we,2);{let e=h(()=>d(K)?`Remove ${d(K).label} from your Discover feed? Installed skills stay on disk.`:``);M(Ee,{title:`Remove custom source`,get description(){return d(e)},confirmLabel:`Remove`,get busy(){return d(J)},onConfirm:()=>void me(),get open(){return d(q)},set open(e){m(q,e,!0)}})}a(`click`,he,G),a(`input`,$,()=>H(d(v))),a(`keydown`,$,e=>{e.key===`Enter`&&U()}),p($,()=>d(v),e=>m(v,e)),s(n,Y),l()}u([`click`,`input`,`keydown`]);export{K as default};
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,S as c,St as l,W as u,X as d,ct as f,d as p,ft as m,gt as h,kt as g,lt as _,m as v,mt as y,nt as b,o as x,ot as S,p as C,rt as w,s as T,st as E,x as D}from"./CmCJ0SKP.js";import{t as O}from"./CAmktO2F.js";import"./xihTtKlq.js";import"./CZQgUTNL.js";import{t as k}from"./BkEnd9_Z.js";import{o as ee}from"./ryZsHFfK.js";import{n as A}from"./1aUphu7Y.js";import{i as j}from"./DnPeA-9c.js";import{n as M,t as N}from"./Bynub5xW.js";import{a as P,i as F,n as I,o as te,s as L,t as R}from"./BLdcUAZa.js";var z=new Set([`$$slots`,`$$events`,`$$legacy`]);function B(e,t){let n=x(t,z),r=[[`path`,{d:`M15 3h6v6`}],[`path`,{d:`M10 14 21 3`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}]];k(e,T({name:`external-link`},()=>n,{get iconNode(){return r}}))}var V=n(`<span class="text-amber-600 dark:text-amber-400">stale · rescan for latest</span>`),H=n(`<span> </span> <span class="font-mono"> </span> <!>`,1),U=n(`<span class="italic">Not scanned yet</span>`),W=n(`<a target="_blank" rel="noreferrer noopener" class="inline-flex h-7 items-center gap-1 rounded-md border border-border px-2 text-[11px] text-muted-foreground transition-colors hover:bg-muted/50"><!> Home</a>`),G=n(`<button type="button" class="ml-auto inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive"><!></button>`),ne=n(`<article class="flex h-full flex-col gap-2 rounded-lg border border-border bg-card p-3 text-left transition-colors hover:border-primary/40"><header class="flex items-start gap-2"><div class="min-w-0 flex-1"><div class="flex items-center gap-1.5"><h3 class="truncate text-sm font-medium text-foreground"> </h3> <span> </span></div> <p class="mt-0.5 line-clamp-2 text-[11px] leading-4 text-muted-foreground"> </p></div></header> <dl class="mt-auto flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[11px] text-muted-foreground"><!></dl> <footer class="flex shrink-0 items-center gap-2"><button type="button" class="inline-flex h-7 items-center rounded-md bg-primary px-2.5 text-[11px] font-medium text-primary-foreground transition-colors hover:bg-primary/90">Scan</button> <!> <!></footer></article>`);function re(e,n){r(n,!0);var u=ne(),d=S(u),p=S(d),m=S(p),h=S(m),y=f(h,!0),x=_(h,2),C=f(x,!0);t(m);var w=_(m,2),T=f(w,!0);t(p),t(d);var O=_(d,2),k=S(O),ee=e=>{var t=H(),r=E(t),a=f(r),c=_(r,2),l=f(c,!0),u=_(c,2),d=e=>{var t=V();s(e,t)};o(u,e=>{n.stale&&e(d)}),b(()=>{i(a,`${n.scanSummary.skillCount??``} skills`),i(l,n.scanSummary.commitPrefix)}),s(e,t)},A=e=>{var t=U();s(e,t)};o(k,e=>{n.scanSummary?e(ee):e(A,-1)}),t(O);var M=_(O,2),P=S(M),F=_(P,2),I=e=>{var r=W();B(S(r),{class:`h-3 w-3`}),g(),t(r),b(()=>{v(r,`href`,n.homepage),v(r,`aria-label`,`Open ${n.label} homepage`)}),s(e,r)};o(F,e=>{n.homepage&&e(I)});var te=_(F,2),L=e=>{var r=G(),i=S(r);N(i,{class:`h-3.5 w-3.5`}),t(r),b(()=>v(r,`aria-label`,`Remove ${n.label}`)),a(`click`,r,function(...e){n.onremove?.apply(this,e)}),s(e,r)};o(te,e=>{!n.builtIn&&n.onremove&&e(L)}),t(M),t(u),b(e=>{i(y,n.label),D(x,1,e),i(C,n.builtIn?`Built-in`:`Custom`),i(T,n.description||n.gitUrl)},[()=>c(j(`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium`,n.builtIn?`bg-primary/10 text-primary`:`bg-muted text-muted-foreground`))]),a(`click`,P,function(...e){n.onscan?.apply(this,e)}),s(e,u),l()}u([`click`]);var ie=n(`<p class="py-8 text-center text-xs text-muted-foreground">Loading sources…</p>`),ae=n(`<p class="py-8 text-center text-xs text-destructive"> </p>`),oe=n(`<p class="py-8 text-center text-xs text-muted-foreground"> </p>`),se=n(`<div class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"></div>`),ce=n(`<li><button type="button" class="flex w-full items-center justify-between rounded px-2 py-1 text-left text-xs transition-colors hover:bg-muted/60"><span class="truncate font-medium text-foreground"> </span> <span class="ml-2 shrink-0 text-muted-foreground"> </span></button></li>`),le=n(`<section class="rounded-lg border border-border bg-muted/20 p-3"><h2 class="text-xs font-medium text-muted-foreground">Recent scans</h2> <ul class="mt-2 space-y-1"></ul></section>`),ue=n(`<p class="text-xs text-destructive"> </p>`),de=n(`<div class="fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4"><div class="w-full max-w-md rounded-lg border border-border bg-background p-4 shadow-lg"><h2 class="text-sm font-semibold">Add custom source</h2> <p class="mt-0.5 text-xs text-muted-foreground">Paste an <code class="font-mono">https</code> Git URL. It persists across restarts.</p> <div class="mt-3 space-y-2"><label class="block text-xs"><span class="text-muted-foreground">Label</span> <input class="mt-1 h-8 w-full rounded-md border border-border bg-background px-2 text-sm" placeholder="My skills repo"/></label> <label class="block text-xs"><span class="text-muted-foreground">Git URL (https only)</span> <input class="mt-1 h-8 w-full rounded-md border border-border bg-background px-2 font-mono text-xs" placeholder="https://github.com/me/skills.git"/></label> <label class="block text-xs"><span class="text-muted-foreground">Description (optional)</span> <input class="mt-1 h-8 w-full rounded-md border border-border bg-background px-2 text-sm" placeholder="What kind of skills?"/></label> <!></div> <div class="mt-4 flex justify-end gap-2"><button type="button" class="h-8 rounded-md border border-border px-3 text-xs hover:bg-muted/50">Cancel</button> <button type="button" class="h-8 rounded-md bg-primary px-3 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50"> </button></div></div></div>`),fe=n(`<div class="flex h-full flex-col overflow-y-auto p-5"><header class="flex shrink-0 items-center gap-3 border-b border-border pb-4"><div class="min-w-0 flex-1"><h1 class="text-lg font-semibold">Discover skills</h1> <p class="mt-0.5 text-xs text-muted-foreground">Browse curated and custom skill repositories, then scan to install.</p></div> <button type="button" class="inline-flex h-8 shrink-0 items-center rounded-md border border-border px-3 text-xs font-medium transition-colors hover:bg-muted/50">Add source</button></header> <div class="mx-auto mt-4 w-full max-w-4xl flex-1 space-y-4"><div class="flex items-center gap-2"><input type="search" placeholder="Filter sources by name or description…" class="h-9 w-full rounded-md border border-border bg-background px-3 text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" aria-label="Filter sources"/></div> <!> <!></div></div> <!> <!>`,1);function K(n,c){r(c,!0);let u=ee(),g=h(()=>u?.()?.q?.trim()??``),v=y(``);w(()=>{m(v,d(g),!0)}),w(()=>{P()});let x=h(()=>[...L.builtIn.map(e=>({id:e.id,label:e.label,description:e.description,gitUrl:e.gitUrl,homepage:e.homepage,builtIn:!0})),...L.user.map(e=>({id:e.id,label:e.label,description:e.description,gitUrl:e.gitUrl,homepage:void 0,builtIn:!1}))]),T=h(()=>{let e=d(g).toLowerCase();return e?d(x).filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)):d(x)}),D=h(()=>{let e=[];for(let t of d(x)){let n=R(t.id);n&&e.push({id:t.id,label:t.label,summary:n})}return e.sort((e,t)=>(t.summary?.scannedAt??0)-(e.summary?.scannedAt??0)),e.slice(0,5)}),k=y(!1),j=y(``),N=y(``),z=y(``),B=y(null),V=y(!1);function H(e){let t=e.trim(),n=`/repository${t?`?q=${encodeURIComponent(t)}`:``}`;O(n,{replaceState:!0})}function U(){let e=d(v).trim(),t=e?`?q=${encodeURIComponent(e)}`:``;O(`/repository${t}`)}function W(e){O(`/repository/scan/${encodeURIComponent(e)}`)}function G(){m(k,!0),m(j,``),m(N,``),m(z,``),m(B,null)}async function ne(){let e=d(j).trim(),t=d(N).trim();if(!e||!t){m(B,`Label and Git URL are required.`);return}m(V,!0),m(B,null);try{await F({label:e,gitUrl:t,description:d(z).trim()||void 0})&&m(k,!1)}catch(e){m(B,e instanceof Error?e.message:String(e),!0)}finally{m(V,!1)}}let K=y(null),q=y(!1),J=y(!1);function pe(e,t){m(K,{id:e,label:t},!0),m(q,!0)}w(()=>{d(q)||m(K,null)});async function me(){let e=d(K);if(e){m(J,!0);try{await te(e.id)&&(m(q,!1),A(`Removed source ${e.label}.`))}catch(e){A(e instanceof Error?e.message:String(e))}finally{m(J,!1)}}}var Y=fe(),X=E(Y),Z=S(X),he=_(S(Z),2);t(Z);var ge=_(Z,2),Q=S(ge),$=S(Q);C($),t(Q);var _e=_(Q,2),ve=e=>{var t=ie();s(e,t)},ye=e=>{var t=ae(),n=f(t,!0);b(()=>i(n,L.error)),s(e,t)},be=e=>{var t=oe(),n=f(t);b(()=>i(n,`No sources match “${d(g)??``}”.`)),s(e,t)},xe=n=>{var r=se();e(r,21,()=>d(T),e=>e.id,(e,t)=>{{let n=h(()=>R(d(t).id)),r=h(()=>I(R(d(t).id))),i=h(()=>d(t).builtIn?void 0:()=>pe(d(t).id,d(t).label));re(e,{get label(){return d(t).label},get description(){return d(t).description},get gitUrl(){return d(t).gitUrl},get homepage(){return d(t).homepage},get builtIn(){return d(t).builtIn},get scanSummary(){return d(n)},get stale(){return d(r)},onscan:()=>W(d(t).id),get onremove(){return d(i)}})}}),t(r),s(n,r)};o(_e,e=>{L.loading?e(ve):L.error?e(ye,1):d(T).length===0?e(be,2):e(xe,-1)});var Se=_(_e,2),Ce=n=>{var r=le(),o=_(S(r),2);e(o,21,()=>d(D),e=>e.id,(e,n)=>{var r=ce(),o=S(r),c=S(o),l=f(c,!0),u=_(c,2),p=f(u);t(o),t(r),b(()=>{i(l,d(n).label),i(p,`${d(n).summary?.skillCount??0??``} skills`)}),a(`click`,o,()=>W(d(n).id)),s(e,r)}),t(o),t(r),s(n,r)};o(Se,e=>{d(D).length>0&&e(Ce)}),t(ge),t(X);var we=_(X,2),Te=e=>{var n=de(),r=S(n),c=_(S(r),4),l=S(c),u=_(S(l),2);C(u),t(l);var h=_(l,2),g=_(S(h),2);C(g),t(h);var v=_(h,2),y=_(S(v),2);C(y),t(v);var x=_(v,2),w=e=>{var t=ue(),n=f(t,!0);b(()=>i(n,d(B))),s(e,t)};o(x,e=>{d(B)&&e(w)}),t(c);var T=_(c,2),E=S(T),D=_(E,2),O=f(D,!0);t(T),t(r),t(n),b(()=>{D.disabled=d(V),i(O,d(V)?`Adding…`:`Add`)}),p(u,()=>d(j),e=>m(j,e)),p(g,()=>d(N),e=>m(N,e)),p(y,()=>d(z),e=>m(z,e)),a(`click`,E,()=>m(k,!1)),a(`click`,D,ne),s(e,n)};o(we,e=>{d(k)&&e(Te)});var Ee=_(we,2);{let e=h(()=>d(K)?`Remove ${d(K).label} from your Discover feed? Installed skills stay on disk.`:``);M(Ee,{title:`Remove custom source`,get description(){return d(e)},confirmLabel:`Remove`,get busy(){return d(J)},onConfirm:()=>void me(),get open(){return d(q)},set open(e){m(q,e,!0)}})}a(`click`,he,G),a(`input`,$,()=>H(d(v))),a(`keydown`,$,e=>{e.key===`Enter`&&U()}),p($,()=>d(v),e=>m(v,e)),s(n,Y),l()}u([`click`,`input`,`keydown`]);export{K as default};
@@ -0,0 +1 @@
1
+ import{B as e,Ct as t,N as n,R as r,St as i,X as a,a as o,d as s,f as c,gt as l,o as u,st as d,z as f}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{q as p}from"./DC5f4JBB.js";import{t as m}from"./a0LlqeqU.js";var h=new Set([`$$slots`,`$$events`,`$$legacy`,`value`]),g=e(`<input/>`);function _(e,_){t(_,!0);let v=o(_,`value`,15),y=u(_,h),b=l(()=>p(y,{"aria-hidden":`true`,tabindex:-1,style:{...m,position:`absolute`,top:`0`,left:`0`}}));var x=f(),S=d(x),C=e=>{var t=g();c(t,()=>({...a(b),value:v()}),void 0,void 0,void 0,void 0,!0),r(e,t)},w=e=>{var t=g();c(t,()=>({...a(b)}),void 0,void 0,void 0,void 0,!0),s(t,v),r(e,t)};n(S,e=>{a(b).type===`checkbox`?e(C):e(w,-1)}),r(e,x),i()}export{_ as t};
@@ -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"./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
+ 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"./BBqlAyUm.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};
@@ -0,0 +1,8 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VnziGBZO.js","./CYhuNS_d.js","./DSbDiml2.js"])))=>i.map(i=>d[i]);
2
+ import{A as e,At as t,B as n,Ct as r,D as i,F as a,G as o,Mt as s,N as c,R as l,St as u,U as d,W as f,X as p,_t as m,a as h,bt as g,ct as _,d as v,ft as y,gt as b,j as x,k as S,kt as C,l as w,lt as T,m as E,mt as D,nt as O,o as k,ot as A,r as j,rt as M,s as N,st as P,ut as F,wt as I,x as L,xt as R,z}from"./CmCJ0SKP.js";import{t as B}from"./CAmktO2F.js";import{t as V}from"./HclGiUj8.js";import"./xihTtKlq.js";import{t as H}from"./BehT3C1z.js";import"./CZQgUTNL.js";import{t as U}from"./BkEnd9_Z.js";import{a as ee,o as W}from"./ryZsHFfK.js";import{_ as te,a as G,b as K,l as ne,s as re,t as ie,x as ae}from"./BBqlAyUm.js";import{g as oe,h as se,m as ce}from"./Cbsk109T.js";import{n as q}from"./1aUphu7Y.js";import{n as J,t as Y}from"./DnPeA-9c.js";import{t as le}from"./DOjT7y5f.js";import{h as ue}from"./CIyEiZkz.js";import{n as de,t as fe}from"./ChvFFUWR.js";import{t as pe}from"./C67g-p2T.js";import{t as me}from"./BYNWtKcf.js";import{n as he,t as ge}from"./DovL68qD.js";import{n as _e,t as ve}from"./Bynub5xW.js";import{t as ye}from"./s48N5eaK.js";import{t as be}from"./CeR4do8T.js";var xe=new Set([`$$slots`,`$$events`,`$$legacy`]);function Se(e,t){let n=k(t,xe),r=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`}],[`path`,{d:`m9 11 3 3L22 4`}]];U(e,N({name:`circle-check-big`},()=>n,{get iconNode(){return r}}))}var Ce=new Set([`$$slots`,`$$events`,`$$legacy`]);function we(e,t){let n=k(t,Ce),r=[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`}],[`path`,{d:`M6.453 15h11.094`}],[`path`,{d:`M8.5 2h7`}]];U(e,N({name:`flask-conical`},()=>n,{get iconNode(){return r}}))}var Te=n(`<button><!> </button>`),Ee=n(`<div class="flex shrink-0 items-center gap-1 border-b border-border px-2"></div>`);function De(n,s){r(s,!0);let c=[{id:`file`,label:`File`,icon:de},{id:`log`,label:`History`,icon:he},{id:`preview`,label:`Preview`,icon:ge},{id:`validate`,label:`Validate`,icon:Se},{id:`test`,label:`Test`,icon:we}],d=W(),f=b(()=>d?.()?.subview??`file`);function m(e){let t=new URLSearchParams(H.url.search);t.set(`subview`,e),B(`${H.url.pathname}?${t.toString()}`)}var h=Ee();e(h,21,()=>c,e=>e.id,(e,n)=>{var r=Te(),s=A(r);i(s,()=>p(n).icon,(e,t)=>{t(e,{class:`h-3.5 w-3.5`})});var c=T(s);t(r),O(()=>{L(r,1,`flex items-center gap-1.5 px-3 py-2 text-xs font-medium transition-colors ${p(f)===p(n).id?`border-b-2 border-primary text-primary`:`text-muted-foreground hover:text-foreground`}`),a(c,` ${p(n).label??``}`)}),o(`click`,r,()=>m(p(n).id)),l(e,r)}),t(h),l(n,h),u()}f([`click`]);function Oe(e,t=``){return{mode:`new`,target:e,skillId:null,name:``,description:``,body:``,revision:null,extraFrontmatter:{},directoryName:t}}var ke={workspaceId:ae.parse(`~`),providerId:K.parse(`user`)};function Ae(){return{mode:`new`,target:ke,skillId:null,name:``,description:``,body:``,revision:null,extraFrontmatter:{},directoryName:``}}function je(e,t){return{mode:`edit`,target:e,skillId:t,name:``,description:``,body:``,revision:null,extraFrontmatter:{},directoryName:``}}function Me(e){return{...e.extraFrontmatter,name:e.name,description:e.description}}var Ne={directoryName:null,name:null,description:null};function Pe(e){return e.mode===`new`?{directoryName:ne.safeParse(e.directoryName).success?null:`Use lowercase letters, numbers, and hyphens.`,name:e.name.trim().length>0?null:`Name is required.`,description:e.description.trim().length>0?null:`Description is required.`}:Ne}function Fe(e){return e.directoryName!==null||e.name!==null||e.description!==null}var Ie=Symbol(`skill-creator:creator-editor`);function Le(e){let t=F(e),n={get draft(){return t},hydrateFromDocument(e){t.skillId=e.skillId,t.name=String(e.frontmatter.name??``),t.description=String(e.frontmatter.description??``),t.body=e.body,t.revision=e.revision,t.directoryName=e.directoryName;let{name:n,description:r,...i}=e.frontmatter;t.extraFrontmatter=i},advanceRevision(e){t.revision=e}};return I(Ie,n),n}function X(){if(!R(Ie))throw Error(`[creator-editor] useCreatorEditor 必须在 <CreatorWorkspace> 内调用`);return g(Ie)}function Z(e,t,n){return e?`${t}:${e.workspaceId}/${e.providerId}${n===null?``:`/${n}`}`:null}var Re=new Map,ze=new Set;function Be(e){return{...e,target:{...e.target},extraFrontmatter:{...e.extraFrontmatter}}}function Ve(e,t){Re.set(e,Be(t))}function He(e){let t=Re.get(e);return t===void 0?null:Be(t)}function Ue(e){Re.delete(e)}function We(e){ze.add(e)}function Ge(e){return ze.has(e)}function Ke(e){ze.delete(e)}var qe=null;function Je(){return qe??=V(()=>import(`./VnziGBZO.js`),__vite__mapDeps([0,1]),import.meta.url),qe}var Q=null,Ye=n(`<span class="sr-only">Loading editor…</span>`),Xe=n(`<textarea spellcheck="false" class="w-full min-h-0 flex-1 resize-y rounded-md border border-input bg-input/20 px-2 py-1.5 font-mono text-xs leading-5 outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30"></textarea> <!>`,1),Ze=n(`<div></div> <!>`,1);function Qe(e,t){r(t,!0);let n=h(t,`value`,15,``),i=h(t,`placeholder`,3,``),a=D(null),o=D(!1),s=D(!1),d=!1;j(()=>{let e=p(a);if(e)return(async()=>{try{let[{basicSetup:t,EditorView:r},{markdown:i}]=await Promise.all([Je(),V(()=>import(`./DSbDiml2.js`),__vite__mapDeps([2,1]),import.meta.url)]);Q=new r({doc:n(),extensions:[t,i(),r.updateListener.of(e=>{e.docChanged&&(d=!0,n(e.state.doc.toString()))})],parent:e}),y(o,!0)}catch{y(s,!0)}})(),()=>{Q?.destroy(),Q=null}}),M(()=>{if(Q===null)return;let e=n(),t=Q.state.doc.toString();if(d){d=!1;return}e!==t&&Q.dispatch({changes:{from:0,to:t.length,insert:e}})});var f=Ze(),g=P(f);let _;w(g,e=>y(a,e),()=>p(a));var b=T(g,2),x=e=>{var t=Xe(),r=P(t);m(r);var a=T(r,2),o=e=>{var t=Ye();l(e,t)};c(a,e=>{p(s)||e(o)}),O(()=>E(r,`placeholder`,i())),v(r,n),l(e,t)};c(b,e=>{p(o)||e(x)}),O(()=>_=L(g,1,`cm-host min-h-0 flex-1 overflow-hidden svelte-13gbnsa`,null,_,{"cm-hidden":!p(o)})),l(e,f),u()}var $e=new Set([`$$slots`,`$$events`,`$$legacy`]);function et(e,t){let n=k(t,$e),r=[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]];U(e,N({name:`save`},()=>n,{get iconNode(){return r}}))}var tt=new Set([`$$slots`,`$$events`,`$$legacy`]);function nt(e,t){let n=k(t,tt),r=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]];U(e,N({name:`rotate-cw`},()=>n,{get iconNode(){return r}}))}var rt=n(`<!> Reload`,1),it=n(`<!> <span class="hidden sm:inline">Delete</span>`,1),at=n(`<!> `,1),ot=n(`<div class="flex flex-1 items-center justify-center gap-2 text-xs text-muted-foreground"><!> Loading…</div>`),st=n(`<div class="flex flex-1 flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-xs text-destructive"> </p> <!></div>`),ct=n(`<span class="text-[11px] text-destructive">Use lowercase letters, numbers, and hyphens.</span>`),lt=n(`<label class="block space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Directory name</span> <!> <!></label>`),ut=n(`<span class="text-[11px] text-destructive"> </span>`),dt=n(`<div class="min-h-0 flex-1 space-y-3 overflow-y-auto p-4"><!> <label class="block space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Name</span> <!> <!></label> <label class="block space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Description</span> <textarea rows="2" class="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" placeholder="What this skill does"></textarea> <!></label> <label class="block flex min-h-0 flex-1 flex-col space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Body (Markdown)</span> <!></label></div>`),ft=n(`<div class="flex h-full flex-col"><div class="flex shrink-0 items-center justify-between border-b border-border px-4 py-2"><span class="text-xs font-medium"> </span> <div class="flex items-center gap-1.5"><!> <!> <!></div></div> <!></div> <!>`,1);function pt(e,n){r(n,!0);let i=X(),o=i.draft,s=ie(G),f=D(!1),h=D(null),g=D(!1);M(()=>{if(o.mode!==`edit`||o.skillId===null)return;let e=Z(o.target,`edit`,o.skillId);e!==null&&Ge(e)||x(o.target,o.skillId)});async function x(e,t){let n=s.issue();y(f,!0),y(h,null);try{let r=await ce(e,t);if(!n.isCurrent())return;i.hydrateFromDocument(r);let a=Z(e,`edit`,t);a!==null&&We(a)}catch(e){if(!n.isCurrent())return;y(h,e instanceof Error?e.message:String(e),!0)}finally{n.isLatest()&&y(f,!1)}}function S(){if(o.mode===`edit`&&o.skillId){let e=Z(o.target,`edit`,o.skillId);e!==null&&Ke(e),x(o.target,o.skillId)}}let w=b(()=>Pe(o)),E=b(()=>o.mode!==`new`||p(w).directoryName===null),k=b(()=>!p(g)&&o.name.trim().length>0&&o.description.trim().length>0&&(o.mode===`edit`||!Fe(p(w)))&&o.revision!==null==(o.mode===`edit`));async function j(){if(o.mode===`edit`){if(o.skillId===null||o.revision===null)return;y(g,!0);try{let e=await oe({mode:`update`,workspaceId:o.target.workspaceId,providerId:o.target.providerId,skillId:o.skillId,expectedRevision:o.revision,frontmatter:Me(o),body:o.body});i.advanceRevision(e.document.revision),q(`Saved.`)}catch(e){N(e)}finally{y(g,!1)}return}let e=ne.safeParse(o.directoryName);if(!e.success){q(`Directory name must be lowercase letters, numbers, and hyphens.`);return}y(g,!0);try{let t=await oe({mode:`create`,workspaceId:o.target.workspaceId,providerId:o.target.providerId,directoryName:e.data,frontmatter:Me(o),body:o.body});i.hydrateFromDocument(t.document);let n=Z(o.target,`edit`,t.document.skillId);n!==null&&We(n),q(`Skill created.`)}catch(e){N(e)}finally{y(g,!1)}}function N(e){if(e instanceof te&&e.code===`CONFLICT`){q(`This skill changed elsewhere. Reload to view the latest.`,{label:`Reload`,run:S});return}q(e instanceof Error?e.message:String(e))}let F=D(!1),I=D(!1),L=b(()=>o.mode===`edit`&&o.skillId!==null&&o.revision!==null);async function R(){if(!p(L)||p(I))return;let e=o.skillId,t=o.revision;if(e!==null&&t!==null){y(I,!0);try{await se({target:o.target,skillId:e,expectedRevision:t}),y(F,!1),q(`Skill deleted.`);let n=Z(o.target,`edit`,e);n!==null&&(Ue(n),Ke(n)),await B(`/creator`)}catch(e){e instanceof te&&e.code===`CONFLICT`?(y(F,!1),q(`This skill changed elsewhere. Reload before deleting.`,{label:`Reload`,run:S})):q(e instanceof Error?e.message:String(e))}finally{y(I,!1)}}}var z=ft(),V=P(z),H=A(V),U=A(H),ee=_(U,!0),W=T(U,2),K=A(W),re=e=>{J(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1.5`,onclick:S,get disabled(){return p(f)},children:(e,t)=>{var n=rt();nt(P(n),{class:`h-3.5 w-3.5`}),C(),l(e,n)},$$slots:{default:!0}})};c(K,e=>{o.mode===`edit`&&o.skillId&&e(re)});var ae=T(K,2),ue=e=>{{let t=b(()=>!p(L)||p(I));J(e,{variant:`ghost`,size:`sm`,class:`h-7 gap-1.5 px-2 text-destructive hover:text-destructive`,title:`Delete this skill`,get disabled(){return p(t)},onclick:()=>y(F,!0),children:(e,t)=>{var n=it(),r=P(n);ve(r,{class:`h-3.5 w-3.5`}),C(2),l(e,n)},$$slots:{default:!0}})}};c(ae,e=>{o.mode===`edit`&&e(ue)});var de=T(ae,2);{let e=b(()=>!p(k));J(de,{size:`sm`,class:`h-7 gap-1.5`,onclick:j,get disabled(){return p(e)},children:(e,t)=>{var n=at(),r=P(n),i=e=>{Y(e,{class:`h-3.5 w-3.5 animate-spin`})},s=e=>{et(e,{class:`h-3.5 w-3.5`})};c(r,e=>{p(g)?e(i):e(s,-1)});var u=T(r);O(()=>a(u,` ${o.mode===`new`?`Create`:`Save`}`)),l(e,n)},$$slots:{default:!0}})}t(W),t(H);var fe=T(H,2),pe=e=>{var n=ot(),r=A(n);Y(r,{class:`h-4 w-4 animate-spin`}),C(),t(n),l(e,n)},me=e=>{var n=st(),r=A(n),i=_(r,!0),s=T(r,2),u=e=>{J(e,{variant:`outline`,size:`sm`,onclick:S,children:(e,t)=>{C();var n=d(`Retry`);l(e,n)},$$slots:{default:!0}})};c(s,e=>{o.mode===`edit`&&o.skillId&&e(u)}),t(n),O(()=>a(i,p(h))),l(e,n)},he=e=>{var n=dt(),r=A(n),i=e=>{var n=lt(),r=T(A(n),2);le(r,{class:`h-8 font-mono text-xs`,placeholder:`my-skill`,get value(){return o.directoryName},set value(e){o.directoryName=e}});var i=T(r,2),a=e=>{var t=ct();l(e,t)};c(i,e=>{p(E)||e(a)}),t(n),l(e,n)};c(r,e=>{o.mode===`new`&&e(i)});var s=T(r,2),u=T(A(s),2);le(u,{class:`h-8 text-sm`,placeholder:`Skill name`,get value(){return o.name},set value(e){o.name=e}});var d=T(u,2),f=e=>{var t=ut(),n=_(t,!0);O(()=>a(n,p(w).name)),l(e,t)};c(d,e=>{o.mode===`new`&&p(w).name&&e(f)}),t(s);var h=T(s,2),g=T(A(h),2);m(g);var y=T(g,2),b=e=>{var t=ut(),n=_(t,!0);O(()=>a(n,p(w).description)),l(e,t)};c(y,e=>{o.mode===`new`&&p(w).description&&e(b)}),t(h);var x=T(h,2);Qe(T(A(x),2),{placeholder:`## When to Use
3
+
4
+ Describe when this skill should be invoked.`,get value(){return o.body},set value(e){o.body=e}}),t(x),t(n),v(g,()=>o.description,e=>o.description=e),l(e,n)};c(fe,e=>{p(f)?e(pe):p(h)?e(me,1):e(he,-1)}),t(V);var ge=T(V,2);{let e=b(()=>`Delete this skill from ${o.target.providerId}? Its SKILL.md directory is removed from disk.`);_e(ge,{title:`Delete skill`,get description(){return p(e)},confirmLabel:`Delete`,get busy(){return p(I)},onConfirm:()=>void R(),get open(){return p(F)},set open(e){y(F,e,!0)}})}O(()=>a(ee,o.mode===`new`?`New SKILL.md`:`SKILL.md`)),l(e,z),u()}var mt=n(`<!> Refresh`,1),ht=n(`<div class="flex flex-1 items-center justify-center px-8 text-center text-xs text-muted-foreground">Save the skill first to see its change history.</div>`),gt=n(`<div class="flex flex-1 items-center justify-center gap-2 text-xs text-muted-foreground"><!> Loading history…</div>`),_t=n(`<div class="flex flex-1 flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-xs text-destructive"> </p> <!></div>`),vt=n(`<div class="flex flex-1 items-center justify-center px-8 text-center text-xs text-muted-foreground">No revisions recorded yet.</div>`),yt=n(`<span class="rounded-sm bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-medium text-emerald-700 dark:text-emerald-300">latest</span>`),bt=n(`<span class="text-[10px] text-muted-foreground/70">snapshot pruned</span>`),xt=n(`<div><p class="mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground">Diff vs previous</p> <pre class="overflow-x-auto rounded-md border border-border bg-muted/30 p-2 font-mono text-[10px] leading-4"> </pre></div>`),St=n(`<div><p class="mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground">Full snapshot</p> <pre class="max-h-72 overflow-auto rounded-md border border-border bg-muted/30 p-2 font-mono text-[10px] leading-4"> </pre></div>`),Ct=n(`<p class="text-[10px] text-muted-foreground/70">Initial revision — no diff and no persisted snapshot.</p>`),wt=n(`<div class="mt-2 space-y-2 pl-5"><!> <!> <!></div>`),Tt=n(`<li class="px-4 py-3"><button type="button" class="flex w-full items-start gap-2 text-left"><!> <div class="min-w-0 flex-1"><div class="flex items-center gap-2"><span class="text-xs font-medium"> </span> <!> <!></div> <p class="mt-0.5 truncate font-mono text-[10px] text-muted-foreground"> </p></div></button> <!></li>`),Et=n(`<ol class="min-h-0 flex-1 divide-y divide-border overflow-y-auto"></ol>`),Dt=n(`<div class="flex h-full flex-col"><div class="flex shrink-0 items-center justify-between border-b border-border px-4 py-2"><span class="text-xs font-medium">Change history</span> <!></div> <!></div>`);function Ot(n,i){r(i,!0);let s=X().draft,f=ie(G),m=D(!1),h=D(null),g=D(F([])),v=F({});M(()=>{s.mode===`edit`&&s.skillId!==null&&x(s.skillId)});async function x(e){let t=f.issue();y(m,!0),y(h,null);try{let n=await re().creator.revisions({workspaceId:s.target.workspaceId,providerId:s.target.providerId,skillId:e});if(!t.isCurrent())return;y(g,[...n.revisions].sort((e,t)=>t.timestamp-e.timestamp),!0)}catch(e){if(!t.isCurrent())return;y(h,e instanceof Error?e.message:String(e),!0)}finally{t.isLatest()&&y(m,!1)}}function S(e){v[e]=!v[e]}function w(){s.mode===`edit`&&s.skillId&&x(s.skillId)}function E(e){try{return new Date(e).toLocaleString()}catch{return String(e)}}var k=Dt(),j=A(k),N=T(A(j),2),I=e=>{J(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1.5`,onclick:w,get disabled(){return p(m)},children:(e,t)=>{var n=mt();nt(P(n),{class:`h-3.5 w-3.5`}),C(),l(e,n)},$$slots:{default:!0}})};c(N,e=>{s.mode===`edit`&&s.skillId&&e(I)}),t(j);var L=T(j,2),R=e=>{var t=ht();l(e,t)},z=e=>{var n=gt(),r=A(n);Y(r,{class:`h-4 w-4 animate-spin`}),C(),t(n),l(e,n)},B=e=>{var n=_t(),r=A(n),i=_(r,!0),o=T(r,2),u=e=>{J(e,{variant:`outline`,size:`sm`,onclick:w,children:(e,t)=>{C();var n=d(`Retry`);l(e,n)},$$slots:{default:!0}})};c(o,e=>{s.skillId&&e(u)}),t(n),O(()=>a(i,p(h))),l(e,n)},V=e=>{var t=vt();l(e,t)},H=n=>{var r=Et();e(r,23,()=>p(g),e=>e.revision,(e,n,r)=>{var i=Tt(),s=A(i),u=A(s);{let e=b(()=>v[p(n).revision]?`rotate-90`:``);pe(u,{get class(){return`mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform ${p(e)??``}`}})}var d=T(u,2),f=A(d),m=A(f),h=_(m,!0),g=T(m,2),y=e=>{var t=yt();l(e,t)};c(g,e=>{p(r)===0&&e(y)});var x=T(g,2),C=e=>{var t=bt();l(e,t)};c(x,e=>{p(n).content===null&&e(C)}),t(f);var w=T(f,2),D=_(w);t(d),t(s);var k=T(s,2),j=e=>{var r=wt(),i=A(r),o=e=>{var r=xt(),i=T(A(r),2),o=_(i,!0);t(r),O(()=>a(o,p(n).diff)),l(e,r)};c(i,e=>{p(n).diff&&e(o)});var s=T(i,2),u=e=>{var r=St(),i=T(A(r),2),o=_(i,!0);t(r),O(()=>a(o,p(n).content)),l(e,r)};c(s,e=>{p(n).content!==null&&e(u)});var d=T(s,2),f=e=>{var t=Ct();l(e,t)};c(d,e=>{p(n).diff===null&&p(n).content===null&&e(f)}),t(r),l(e,r)};c(k,e=>{v[p(n).revision]&&e(j)}),t(i),O((e,t)=>{a(h,e),a(D,`${t??``}…`)},[()=>E(p(n).timestamp),()=>p(n).revision.slice(0,16)]),o(`click`,s,()=>S(p(n).revision)),l(e,i)}),t(r),l(n,r)};c(L,e=>{s.mode===`new`?e(R):p(m)?e(z,1):p(h)?e(B,2):p(g).length===0?e(V,3):e(H,-1)}),t(k),l(n,k),u()}f([`click`]);var kt=n(`<p class="text-[11px] text-muted-foreground/70">Only name and description — no additional metadata.</p>`),At=n(`<div><dt class="bg-muted/40 px-2 py-1 text-[11px] font-medium text-muted-foreground"> </dt> <dd class="break-words px-2 py-1 text-[11px]"> </dd></div>`),jt=n(`<dl class="overflow-x-auto rounded-md border border-border"></dl>`),Mt=n(`<p class="text-xs text-muted-foreground/70">Nothing to preview yet.</p>`),Nt=n(`<div class="prose prose-sm max-w-none overflow-x-auto"></div>`),Pt=n(`<div class="flex h-full flex-col overflow-y-auto p-4"><section class="mb-4"><h1 class="text-base font-semibold"> </h1> <p class="mt-0.5 text-xs leading-5 text-muted-foreground"> </p></section> <section class="mb-4"><h2 class="mb-2 text-[11px] font-medium text-muted-foreground">Frontmatter</h2> <!></section> <section class="min-h-0 flex-1"><h2 class="mb-2 text-[11px] font-medium text-muted-foreground">Body</h2> <!></section></div>`);function Ft(n,i){r(i,!0);let o=X().draft,d=b(()=>Me(o)),f=b(()=>ye(o.body)),m=b(()=>Object.entries(p(d)).filter(([e])=>e!==`name`&&e!==`description`));var h=Pt(),g=A(h),v=A(g),y=_(v,!0),x=T(v,2),C=_(x,!0);t(g);var w=T(g,2),E=T(A(w),2),D=e=>{var t=kt();l(e,t)},k=n=>{var r=jt();e(r,23,()=>p(m),([e,t])=>e,(e,n,r)=>{var i=b(()=>s(p(n),2));let o=()=>p(i)[0],c=()=>p(i)[1];var u=At(),d=A(u),f=_(d,!0),m=T(d,2),h=_(m,!0);t(u),O(e=>{L(u,1,`grid grid-cols-[120px_minmax(0,1fr)] ${p(r)>0?`border-t border-border`:``}`),a(f,o()),a(h,e)},[()=>c()===null?`null`:String(c())]),l(e,u)}),t(r),l(n,r)};c(E,e=>{p(m).length===0?e(D):e(k,-1)}),t(w);var j=T(w,2),M=T(A(j),2),N=e=>{var t=Mt();l(e,t)},P=b(()=>o.body.trim().length===0),F=e=>{var n=Nt();S(n,()=>p(f),!0),t(n),l(e,n)};c(M,e=>{p(P)?e(N):e(F,-1)}),t(j),t(h),O(()=>{a(y,o.name||`Untitled skill`),a(C,o.description||`No description yet.`)}),l(n,h),u()}var It=n(`<!> Re-validate`,1),Lt=n(`<div class="flex flex-1 items-center justify-center px-8 text-center text-xs text-muted-foreground">Save the skill first to validate it.</div>`),Rt=n(`<div class="flex flex-1 items-center justify-center gap-2 text-xs text-muted-foreground"><!> Validating…</div>`),zt=n(`<div class="flex flex-1 flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-xs text-destructive"> </p> <!></div>`),Bt=n(`<div class="flex items-center gap-2 text-xs text-emerald-700 dark:text-emerald-300"><!> Skill passes all checks.</div>`),Vt=n(`<li class="flex gap-2 rounded-md bg-destructive/10 px-2 py-1.5 text-xs text-destructive"><!> <span class="break-words"> </span></li>`),Ht=n(`<section><h3 class="mb-1.5 text-[11px] font-medium uppercase tracking-wide text-destructive"> </h3> <ul class="space-y-1"></ul></section>`),Ut=n(`<li class="flex gap-2 rounded-md bg-amber-500/10 px-2 py-1.5 text-xs text-amber-700 dark:text-amber-300"><!> <span class="break-words"> </span></li>`),Wt=n(`<section><h3 class="mb-1.5 text-[11px] font-medium uppercase tracking-wide text-amber-700 dark:text-amber-300"> </h3> <ul class="space-y-1"></ul></section>`),Gt=n(`<!> <!>`,1),Kt=n(`<div class="min-h-0 flex-1 space-y-3 overflow-y-auto p-4"><!></div>`),qt=n(`<div class="flex h-full flex-col"><div class="flex shrink-0 items-center justify-between border-b border-border px-4 py-2"><span class="text-xs font-medium">Validation</span> <!></div> <!></div>`);function Jt(n,i){r(i,!0);let o=X().draft,s=ie(G),f=D(!1),m=D(null),h=D(null);M(()=>{o.mode===`edit`&&o.skillId!==null&&g(o.skillId)});async function g(e){let t=s.issue();y(f,!0),y(m,null);try{let n=await re().skills.validate({workspaceId:o.target.workspaceId,providerId:o.target.providerId,skillId:e});if(!t.isCurrent())return;y(h,n,!0)}catch(e){if(!t.isCurrent())return;y(m,e instanceof Error?e.message:String(e),!0),y(h,null)}finally{t.isLatest()&&y(f,!1)}}function v(){o.mode===`edit`&&o.skillId&&g(o.skillId)}var b=qt(),S=A(b),w=T(A(S),2),E=e=>{J(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1.5`,onclick:v,get disabled(){return p(f)},children:(e,t)=>{var n=It(),r=P(n),i=e=>{Y(e,{class:`h-3.5 w-3.5 animate-spin`})},a=e=>{be(e,{class:`h-3.5 w-3.5`})};c(r,e=>{p(f)?e(i):e(a,-1)}),C(),l(e,n)},$$slots:{default:!0}})};c(w,e=>{o.mode===`edit`&&o.skillId&&e(E)}),t(S);var k=T(S,2),j=e=>{var t=Lt();l(e,t)},N=e=>{var n=Rt(),r=A(n);Y(r,{class:`h-4 w-4 animate-spin`}),C(),t(n),l(e,n)},F=e=>{var n=zt(),r=A(n),i=_(r,!0),s=T(r,2),u=e=>{J(e,{variant:`outline`,size:`sm`,onclick:v,children:(e,t)=>{C();var n=d(`Retry`);l(e,n)},$$slots:{default:!0}})};c(s,e=>{o.skillId&&e(u)}),t(n),O(()=>a(i,p(m))),l(e,n)},I=n=>{var r=Kt(),i=A(r),o=e=>{var n=Bt(),r=A(n);fe(r,{class:`h-4 w-4`}),C(),t(n),l(e,n)},s=n=>{var r=Gt(),i=P(r),o=n=>{var r=Ht(),i=A(r),o=_(i),s=T(i,2);e(s,21,()=>p(h).errors,x,(e,n)=>{var r=Vt(),i=A(r);be(i,{class:`mt-0.5 h-3.5 w-3.5 shrink-0`});var o=T(i,2),s=_(o,!0);t(r),O(()=>a(s,p(n))),l(e,r)}),t(s),t(r),O(()=>a(o,`Errors (${p(h).errors.length??``})`)),l(n,r)};c(i,e=>{p(h).errors.length>0&&e(o)});var s=T(i,2),u=n=>{var r=Wt(),i=A(r),o=_(i),s=T(i,2);e(s,21,()=>p(h).warnings,x,(e,n)=>{var r=Ut(),i=A(r);be(i,{class:`mt-0.5 h-3.5 w-3.5 shrink-0`});var o=T(i,2),s=_(o,!0);t(r),O(()=>a(s,p(n))),l(e,r)}),t(s),t(r),O(()=>a(o,`Warnings (${p(h).warnings.length??``})`)),l(n,r)};c(s,e=>{p(h).warnings.length>0&&e(u)}),l(n,r)};c(i,e=>{p(h).success&&p(h).errors.length===0&&p(h).warnings.length===0?e(o):e(s,-1)}),t(r),l(n,r)};c(k,e=>{o.mode===`new`?e(j):p(f)&&p(h)===null?e(N,1):p(m)?e(F,2):p(h)&&e(I,3)}),t(b),l(n,b),u()}var $={id:`probe-recall-v1`,version:1,render(e){return`请阅读引用的技能文档($${e} 芯片)。然后:
5
+ 1. 复述该技能的触发条件与适用场景;
6
+ 2. 列出它声明提供的工具与参考文件;
7
+ 3. 给出一个你会使用它的典型任务示例。`}},Yt=n(`<!> Run in Agent panel`,1),Xt=n(`<div class="flex h-full flex-col gap-3 p-4"><div class="flex items-center gap-2 text-sm font-medium"><!> Test run <span class="text-xs font-normal text-muted-foreground"> </span></div> <p class="text-xs text-muted-foreground">在 Agent 面板打开一个携带 <code class="rounded bg-muted px-1"> </code> 技能引用的试跑会话——发送后由 daemon 展开技能文档,你可以编辑最终指令。</p> <textarea class="min-h-0 flex-1 resize-none rounded-md border border-border bg-background p-3 font-mono text-xs leading-relaxed focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" aria-label="Test run prompt" spellcheck="false"></textarea> <div class="flex shrink-0 items-center justify-end gap-2"><!> <!></div></div>`),Zt=n(`<!> Go save`,1),Qt=n(`<div class="flex h-full items-center justify-center p-6 text-center text-xs text-muted-foreground"><div class="space-y-2"><p class="font-medium text-foreground">Test run</p> <p>Save the skill first to test it — the run needs a stable skill identity.</p> <!></div></div>`);function $t(e,n){r(n,!0);let i=X().draft,s=D(!1),f=D(``);M(()=>{let e=i.name;p(s)||y(f,$.render(e.length>0?e:`skill`),!0)});let h=b(()=>i.mode===`edit`&&i.skillId!==null&&i.revision!==null);function g(){p(h)&&i.skillId!==null&&i.revision!==null&&ue({text:p(f).trim().length>0?p(f):$.render(i.name),skill:{workspaceId:i.target.workspaceId,providerId:i.target.providerId,skillId:i.skillId},skillName:i.name.length>0?i.name:i.skillId,revision:i.revision,templateId:$.id,templateVersion:$.version})}function x(){let e=new URLSearchParams(H.url.searchParams);e.set(`subview`,`file`),B(`${H.url.pathname}?${e.toString()}`)}var S=z(),w=P(S),E=e=>{var n=Xt(),r=A(n),c=A(r);we(c,{class:`size-4 text-muted-foreground`});var u=T(c,2),h=_(u);t(r);var b=T(r,2),x=T(A(b)),S=_(x);C(),t(b);var w=T(b,2);m(w);var E=T(w,2),D=A(E);J(D,{size:`sm`,variant:`secondary`,onclick:()=>y(s,!1),children:(e,t)=>{C();var n=d(`Reset probe`);l(e,n)},$$slots:{default:!0}});var k=T(D,2);J(k,{size:`sm`,onclick:g,children:(e,t)=>{var n=Yt();we(P(n),{class:`size-4`}),C(),l(e,n)},$$slots:{default:!0}}),t(E),t(n),O(e=>{a(h,`probe ${$.id??``} v${$.version??``} · revision
8
+ ${e??``}…`),a(S,`$${i.name??``}`)},[()=>i.revision?.slice(0,14)]),o(`input`,w,()=>y(s,!0)),v(w,()=>p(f),e=>y(f,e)),l(e,n)},k=e=>{var n=Qt(),r=A(n),i=T(A(r),4);J(i,{size:`sm`,variant:`secondary`,onclick:x,children:(e,t)=>{var n=Zt();et(P(n),{class:`size-4`}),C(),l(e,n)},$$slots:{default:!0}}),t(r),t(n),l(e,n)};c(w,e=>{p(h)?e(E):e(k,-1)}),l(e,S),u()}f([`input`]);var en=n(`<div class="flex flex-1 items-center justify-center p-4 text-center text-xs text-muted-foreground">Invalid workspace target.</div>`),tn=n(`<!> <div class="min-h-0 flex-1 overflow-hidden"><!></div>`,1),nn=n(`<div class="flex h-full flex-col overflow-hidden"><header class="flex shrink-0 items-center gap-2 border-b border-border px-4 py-2"><span class="text-sm font-medium"> </span> <span class="text-xs text-muted-foreground"> </span></header> <div class="flex min-h-0 flex-1 flex-col"><!></div></div>`);function rn(e,n){r(n,!0);let i=ee(),o=b(()=>i?.()),s=b(()=>p(o)?.mode),d=b(()=>p(o)?.wsId),f=b(()=>p(o)?.providerId),m=b(()=>p(o)?.skillId),h=W(),g=b(()=>h?.()??{}),v=b(()=>p(g).subview??`file`),y=b(()=>!p(d)||!p(f)?null:{workspaceId:p(d),providerId:p(f)}),x=b(()=>{if(!p(y))return Ae();if(p(s)===`edit`&&p(m))return je(p(y),p(m));let e=p(g).template?me.find(e=>e.id===p(g).template):void 0,t=Oe(p(y),e?e.name:``);return e&&(t.name=e.name,t.description=e.description,t.body=e.body),t}),S=Le(Ae()),C=b(()=>Z(p(y),p(s)===`edit`?`edit`:`new`,p(m)??null));M(()=>{let e=p(C),t=p(x),n=e===null?null:He(e),r=n??t;S.draft.mode=r.mode,S.draft.target=r.target,S.draft.skillId=r.skillId,S.draft.name=r.name,S.draft.description=r.description,S.draft.body=r.body,S.draft.revision=r.revision,S.draft.extraFrontmatter=r.extraFrontmatter,S.draft.directoryName=r.directoryName,n!==null&&e!==null&&We(e)}),M(()=>()=>{let e=S.draft;if(e.target.workspaceId===`~`)return;let t=Z(e.target,e.mode,e.skillId);t!==null&&Ve(t,e)});var w=nn(),E=A(w),D=A(E),k=_(D,!0),j=T(D,2),N=_(j);t(E);var F=T(E,2),I=A(F),L=e=>{var t=en();l(e,t)},R=e=>{var n=tn(),r=P(n);De(r,{});var i=T(r,2),a=A(i),o=e=>{pt(e,{})},s=e=>{Ot(e,{})},u=e=>{Ft(e,{})},d=e=>{Jt(e,{})},f=e=>{$t(e,{})},m=e=>{pt(e,{})};c(a,e=>{p(v)===`file`?e(o):p(v)===`log`?e(s,1):p(v)===`preview`?e(u,2):p(v)===`validate`?e(d,3):p(v)===`test`?e(f,4):e(m,-1)}),t(i),l(e,n)};c(I,e=>{p(y)?e(R,-1):e(L)}),t(F),t(w),O(e=>{a(k,e),a(N,`${p(d)??``} / ${p(f)??``}`)},[()=>p(s)===`new`?`New skill`:p(m)?`Edit: ${p(m).slice(0,12)}…`:`Editor`]),l(e,w),u()}export{rn as default};
@@ -0,0 +1 @@
1
+ import{X as e,ft as t,mt as n,o as r,s as i,ut as a}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as o}from"./BkEnd9_Z.js";import{n as s,r as c,s as l}from"./ryZsHFfK.js";var u=[`general`,`model`,`agent`,`sessions`];function d(e=`general`){l(`settings.section`,{section:e})}var f=n(a(h())),p=n(a(s().sidebarCollapsed)),m=null;function h(){return typeof document>`u`?`system`:s().theme}function g(){return m?.matches??!1}function _(){if(typeof document>`u`)return;let t=e(f)===`dark`||e(f)===`system`&&g();document.documentElement.classList.toggle(`dark`,t)}function v(){typeof matchMedia>`u`||m!==null||(m=matchMedia(`(prefers-color-scheme: dark)`),m.addEventListener(`change`,()=>{e(f)===`system`&&_()}))}v(),_();function y(){return e(f)}function b(){return e(p)}function x(e){t(f,e,!0),c({theme:e}),_()}function S(){t(p,!e(p)),c({sidebarCollapsed:e(p)})}var C=new Set([`$$slots`,`$$events`,`$$legacy`]);function w(e,t){let n=r(t,C),a=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]];o(e,i({name:`bot`},()=>n,{get iconNode(){return a}}))}function T(e){let t=0;for(let n of e)t=(t*31+n.charCodeAt(0))%360;return t}function E(e){return`hsl(${T(e)} 55% 45%)`}var D=`sc-letter-avatar`;function O(e){return e.includes(D)}function k(e,t){return e.iconSuppressed===!0?null:e.icon??t?.icon??null}function A(e,t){return e.iconLetter!==void 0&&e.iconLetter.length>0?e.iconLetter:(t||e.provider).slice(0,1).toUpperCase()}function j(e){return e.iconColor??E(e.provider)}var M={svg:`image/svg+xml`,png:`image/png`,webp:`image/webp`};function N(e,t){let n=e.indexOf(`,`);return!e.startsWith(`data:`)||n<0?null:`data:${t};base64,${e.slice(n+1)}`}var P=new Set([`$$slots`,`$$events`,`$$legacy`]);function F(e,t){let n=r(t,P),a=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]];o(e,i({name:`pencil`},()=>n,{get iconNode(){return a}}))}export{O as a,A as c,b as d,y as f,d as g,u as h,E as i,N as l,S as m,M as n,k as o,x as p,T as r,j as s,F as t,w as u};
@@ -0,0 +1,2 @@
1
+ import{$ as e,A as t,At as n,Ct as r,D as i,Dt as a,Et as o,Ft as s,I as c,It as l,L as u,M as d,Mt as f,Nt as p,O as m,Ot as ee,P as h,Pt as te,Q as g,S as ne,St as _,Tt as re,U as ie,X as v,Z as ae,_t as y,at as oe,bt as se,ct as ce,dt as le,et as ue,ft as de,gt as fe,h as pe,ht as me,i as he,it as ge,j as b,jt as _e,kt as ve,l as ye,lt as be,mt as xe,n as Se,nt as Ce,o as we,ot as Te,pt as Ee,r as De,rt as Oe,st as ke,tt as Ae,ut as je,v as Me,vt as Ne,w as Pe,wt as x,xt as S,yt as Fe}from"./CYhuNS_d.js";var Ie=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=Ve(e.state,n.from);return r.line?Re(e):r.block?Be(e):!1};function Le(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return i?(r(n.update(i)),!0):!1}}var Re=Le(Ge,0),ze=Le(We,0),Be=Le((e,t)=>We(e,t,Ue(t)),0);function Ve(e,t){let n=e.languageDataAt(`commentTokens`,t,1);return n.length?n[0]:{}}var C=50;function He(e,{open:t,close:n},r,i){let a=e.sliceDoc(r-C,r),o=e.sliceDoc(i,i+C),s=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(o)[0].length,l=a.length-s;if(a.slice(l-t.length,l)==t&&o.slice(c,c+n.length)==n)return{open:{pos:r-s,margin:s&&1},close:{pos:i+c,margin:c&&1}};let u,d;i-r<=100?u=d=e.sliceDoc(r,i):(u=e.sliceDoc(r,r+C),d=e.sliceDoc(i-C,i));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+t.length)==t&&d.slice(m,m+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(u.charAt(f+t.length))},close:{pos:i-p-n.length,margin:+!!/\s/.test(d.charAt(m-1))}}:null}function Ue(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}function We(e,t,n=t.selection.ranges){let r=n.map(e=>Ve(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>He(t,r[n],e.from,e.to));if(e!=2&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+` `},{from:e.to,insert:` `+r[t].close}]))};if(e!=1&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:a,close:o}=n;e.push({from:a.pos-i.open.length,to:a.pos+a.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}function Ge(e,t,n=t.selection.ranges){let r=[],i=-1;ranges:for(let{from:e,to:a}of n){let n=r.length,o=1e9,s;for(let n=e;n<=a;){let c=t.doc.lineAt(n);if(s==null&&(s=Ve(t,c.from).line,!s))continue ranges;if(c.from>i&&(e==a||a>c.from)){i=c.from;let e=/^\s*/.exec(c.text)[0].length,t=e==c.length,n=c.text.slice(e,e+s.length)==s?e:-1;e<c.text.length&&e<o&&(o=e),r.push({line:c,comment:n,token:s,indent:e,empty:t,single:!1})}n=c.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}if(e!=2&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:a,single:o}of r)(o||!a)&&e.push({from:t.from+i,insert:n+` `});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(e!=1&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,a=r+i.length;t.text[a-t.from]==` `&&a++,e.push({from:r,to:a})}return{changes:e}}return null}var Ke=Ne.define(),qe=Ne.define(),Je=x.define(),Ye=x.define({combine(e){return p(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),Xe=ee.define({create(){return D.empty},update(e,t){let r=t.state.facet(Ye),i=t.annotation(Ke);if(i){let n=T.fromTransaction(t,i.selection),a=i.side,o=a==0?e.undone:e.done;return o=n?nt(o,o.length,r.minDepth,n):st(o,t.startState.selection),new D(a==0?i.rest:o,a==0?o:i.rest)}let a=t.annotation(qe);if((a==`full`||a==`before`)&&(e=e.isolate()),t.annotation(n.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let o=T.fromTransaction(t),s=t.annotation(n.time),c=t.annotation(n.userEvent);return o?e=e.addChanges(o,s,c,r,t):t.selection&&(e=e.addSelection(t.startState.selection,s,c,r.newGroupDelay)),(a==`full`||a==`after`)&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}},fromJSON(e){return new D(e.done.map(T.fromJSON),e.undone.map(T.fromJSON))}});function Ze(e={}){return[Xe,Ye.of(e),g.domEventHandlers({beforeinput(e,t){let n=e.inputType==`historyUndo`?Qe:e.inputType==`historyRedo`?$e:null;return n?(e.preventDefault(),n(t)):!1}})]}function w(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(Xe,!1);if(!i)return!1;let a=i.pop(e,n,t);return a?(r(a),!0):!1}}var Qe=w(0,!1),$e=w(1,!1),et=w(0,!0),tt=w(1,!0),T=class e{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){return{changes:this.changes?.toJSON(),mapped:this.mapped?.toJSON(),startSelection:this.startSelection?.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(t){return new e(t.changes&&se.fromJSON(t.changes),[],t.mapped&&Fe.fromJSON(t.mapped),t.startSelection&&_.fromJSON(t.startSelection),t.selectionsAfter.map(_.fromJSON))}static fromTransaction(t,n){let r=E;for(let e of t.startState.facet(Je)){let n=e(t);n.length&&(r=r.concat(n))}return!r.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,E)}static selection(t){return new e(void 0,E,void 0,void 0,t)}};function nt(e,t,n,r){let i=t+1>n+20?t-n-1:0,a=e.slice(i,t);return a.push(r),a}function rt(e,t){let n=[],r=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,i,a)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];a>=t&&i<=o&&(r=!0)}}),r}function it(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length===0}function at(e,t){return e.length?t.length?e.concat(t):e:t}var E=[],ot=200;function st(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-ot));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),nt(e,e.length-1,1e9,n.setSelAfter(r)))}return[T.selection([t])]}function ct(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function lt(e,t){if(!e.length)return e;let n=e.length,r=E;for(;n;){let i=ut(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[T.selection(r)]:E}function ut(e,t,n){let r=at(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):E,n);if(!e.changes)return T.selection(r);let i=e.changes.map(t),o=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(o):o;return new T(i,a.mapEffects(e.effects,t),s,e.startSelection.map(o),r)}var dt=/^(input\.type|delete)($|\.)/,D=class e{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new e(this.done,this.undone):this}addChanges(t,n,r,i,o){let s=this.done,c=s[s.length-1];return s=c&&c.changes&&!c.changes.empty&&t.changes&&(!r||dt.test(r))&&(!c.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(o,rt(c.changes,t.changes))||r==`input.type.compose`)?nt(s,s.length-1,i.minDepth,new T(t.changes.compose(c.changes),at(a.mapEffects(t.effects,c.changes),c.effects),c.mapped,c.startSelection,E)):nt(s,s.length,i.minDepth,t),new e(s,E,n,r)}addSelection(t,n,r,i){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:E;return a.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&it(a[a.length-1],t)?this:new e(st(this.done,t),this.undone,n,r)}addMapping(t){return new e(lt(this.done,t),lt(this.undone,t),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1],a=i.selectionsAfter[0]||(i.startSelection?i.startSelection.map(i.changes.invertedDesc,1):t.selection);if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Ke.of({side:e,rest:ct(r),selection:a}),userEvent:e==0?`select.undo`:`select.redo`,scrollIntoView:!0});if(i.changes){let n=r.length==1?E:r.slice(0,r.length-1);return i.mapped&&(n=lt(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Ke.of({side:e,rest:n,selection:a}),filter:!1,userEvent:e==0?`undo`:`redo`,scrollIntoView:!0})}return null}};D.empty=new D(E,E);var ft=[{key:`Mod-z`,run:Qe,preventDefault:!0},{key:`Mod-y`,mac:`Mod-Shift-z`,run:$e,preventDefault:!0},{linux:`Ctrl-Shift-z`,run:$e,preventDefault:!0},{key:`Mod-u`,run:et,preventDefault:!0},{key:`Alt-u`,mac:`Mod-Shift-u`,run:tt,preventDefault:!0}];function O(e,t){return _.create(e.ranges.map(t),e.mainIndex)}function k(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:`select`})}function A({state:e,dispatch:t},n){let r=O(e.selection,n);return!r.eq(e.selection,!0)&&(t(k(e,r)),!0)}function j(e,t){return _.cursor(t?e.to:e.from)}function pt(e,t){return A(e,n=>n.empty?e.moveByChar(n,t):j(n,t))}function M(e){return e.textDirectionAt(e.state.selection.main.head)==ae.LTR}var mt=e=>pt(e,!M(e)),ht=e=>pt(e,M(e));function gt(e,t){return A(e,n=>n.empty?e.moveByGroup(n,t):j(n,t))}var _t=e=>gt(e,!M(e)),vt=e=>gt(e,M(e));typeof Intl<`u`&&Intl.Segmenter;function yt(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function N(e,t,n){let r=u(e).resolveInner(t.head),i=n?ie.closedBy:ie.openedBy;for(let a=t.head;;){let t=n?r.childAfter(a):r.childBefore(a);if(!t)break;yt(e,t,i)?r=t:a=n?t.to:t.from}let a=r.type.prop(i),o,s;return s=a&&(o=n?h(e,r.from,1):h(e,r.to,-1))&&o.matched?n?o.end.to:o.end.from:n?r.to:r.from,_.cursor(s,n?-1:1)}var bt=e=>A(e,t=>N(e.state,t,!M(e))),xt=e=>A(e,t=>N(e.state,t,M(e)));function St(e,t){return A(e,n=>{if(!n.empty)return j(n,t);let r=e.moveVertically(n,t);return r.head==n.head?e.moveToLineBoundary(n,t):r})}var Ct=e=>St(e,!1),wt=e=>St(e,!0);function Tt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,i;if(t){for(let t of e.state.facet(g.scrollMargins)){let i=t(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}i=e.scrollDOM.clientHeight-n-r}else i=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,i-5)}}function Et(e,t){let n=Tt(e),{state:r}=e,i=O(r.selection,r=>r.empty?e.moveVertically(r,t,n.height):j(r,t));if(i.eq(r.selection))return!1;let a;if(n.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),s=o.top+n.marginTop,c=o.bottom-n.marginBottom;t&&t.top>s&&t.bottom<c&&(a=g.scrollIntoView(i.main.head,{y:`start`,yMargin:t.top-s}))}return e.dispatch(k(r,i),{effects:a}),!0}var Dt=e=>Et(e,!1),Ot=e=>Et(e,!0);function P(e,t,n){let r=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=_.cursor(r.from+n))}return i}var kt=e=>A(e,t=>P(e,t,!0)),At=e=>A(e,t=>P(e,t,!1)),jt=e=>A(e,t=>P(e,t,!M(e))),Mt=e=>A(e,t=>P(e,t,M(e))),Nt=e=>A(e,t=>e.moveToLineBoundary(t,!1,!1)),Pt=e=>A(e,t=>e.moveToLineBoundary(t,!0,!1));function Ft(e,t,n){let r=!1,i=O(e.selection,t=>{let i=h(e,t.head,-1)||h(e,t.head,1)||t.head>0&&h(e,t.head-1,1)||t.head<e.doc.length&&h(e,t.head+1,-1);if(!i||!i.end)return t;r=!0;let a=i.start.from==t.head?i.end.to:i.end.from;return n?_.range(t.anchor,a):_.cursor(a)});return r?(t(k(e,i)),!0):!1}var It=({state:e,dispatch:t})=>Ft(e,t,!1);function F(e,t,n){let r=O(e.state.selection,e=>{e.undirectional&&e.head>=e.anchor!=t&&(e=_.range(e.head,e.anchor));let r=n(e);return _.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return!r.eq(e.state.selection)&&(e.dispatch(k(e.state,r)),!0)}function Lt(e,t){return F(e,t,n=>e.moveByChar(n,t))}var Rt=e=>Lt(e,!M(e)),zt=e=>Lt(e,M(e));function Bt(e,t){return F(e,t,n=>e.moveByGroup(n,t))}var Vt=e=>Bt(e,!M(e)),Ht=e=>Bt(e,M(e)),Ut=e=>{let t=!M(e);return F(e,t,n=>N(e.state,n,t))},Wt=e=>{let t=M(e);return F(e,t,n=>N(e.state,n,t))};function Gt(e,t){return F(e,t,n=>e.moveVertically(n,t))}var Kt=e=>Gt(e,!1),qt=e=>Gt(e,!0);function Jt(e,t){return F(e,t,n=>e.moveVertically(n,t,Tt(e).height))}var Yt=e=>Jt(e,!1),Xt=e=>Jt(e,!0),Zt=e=>F(e,!0,t=>P(e,t,!0)),Qt=e=>F(e,!1,t=>P(e,t,!1)),$t=e=>{let t=!M(e);return F(e,t,n=>P(e,n,t))},en=e=>{let t=M(e);return F(e,t,n=>P(e,n,t))},tn=e=>F(e,!1,t=>_.cursor(e.lineBlockAt(t.head).from)),nn=e=>F(e,!0,t=>_.cursor(e.lineBlockAt(t.head).to)),rn=({state:e,dispatch:t})=>(t(k(e,{anchor:0})),!0),an=({state:e,dispatch:t})=>(t(k(e,{anchor:e.doc.length})),!0),on=({state:e,dispatch:t})=>(t(k(e,{anchor:e.selection.main.anchor,head:0})),!0),sn=({state:e,dispatch:t})=>(t(k(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),cn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:`select`})),!0),ln=({state:e,dispatch:t})=>{let n=R(e).map(({from:t,to:n})=>_.undirectionalRange(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:_.create(n),userEvent:`select`})),!0},un=({state:e,dispatch:t})=>{let n=O(e.selection,t=>{let n=u(e),r=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=r.node.from&&e.node.to<=r.node.to&&(r=e)}for(let e=r;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return _.undirectionalRange(n.from,n.to)}return t});return!n.eq(e.selection)&&(t(k(e,n)),!0)};function dn(e,t){let{state:n}=e,r=n.selection,i=n.selection.ranges.slice();for(let r of n.selection.ranges){let a=n.doc.lineAt(r.head);if(t?a.to<e.state.doc.length:a.from>0)for(let n=r;;){let r=e.moveVertically(n,t);if(r.head<a.from||r.head>a.to){i.some(e=>e.head==r.head)||i.push(r);break}if(r.head==n.head)break;n=r}}return i.length!=r.ranges.length&&(e.dispatch(k(n,_.create(i,i.length-1))),!0)}var fn=e=>dn(e,!1),pn=e=>dn(e,!0),mn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=_.create([n.main]):n.main.empty||(r=_.create([_.cursor(n.main.head)])),r?(t(k(e,r)),!0):!1};function I(e,t){if(e.state.readOnly)return!1;let n=`delete.selection`,{state:r}=e,i=r.changeByRange(r=>{let{from:i,to:a}=r;if(i==a){let o=t(r);o<i?(n=`delete.backward`,o=L(e,o,!1)):o>i&&(n=`delete.forward`,o=L(e,o,!0)),i=Math.min(i,o),a=Math.max(a,o)}else i=L(e,i,!1),a=L(e,a,!0);return i==a?{range:r}:{changes:{from:i,to:a},range:_.cursor(i,i<r.head?-1:1)}});return!i.changes.empty&&(e.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n==`delete.selection`?g.announce.of(r.phrase(`Selection deleted`)):void 0})),!0)}function L(e,t,n){if(e instanceof g)for(let r of e.state.facet(g.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}var hn=(e,t,n)=>I(e,r=>{let a=r.from,{state:o}=e,c=o.doc.lineAt(a),l,u;if(n&&!t&&a>c.from&&a<c.from+200&&!/[^ \t]/.test(l=c.text.slice(0,a-c.from))){if(l[l.length-1]==` `)return a-1;let e=te(l,o.tabSize)%i(o)||i(o);for(let t=0;t<e&&l[l.length-1-t]==` `;t++)a--;u=a}else u=s(c.text,a-c.from,t,t)+c.from,u==a&&c.number!=(t?o.doc.lines:1)?u+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(c.text.slice(u-c.from,a-c.from))&&(u=s(c.text,u-c.from,!1,!1)+c.from);return u}),gn=e=>hn(e,!1,!0),_n=e=>hn(e,!0,!1),vn=(e,t)=>I(e,n=>{let r=n.head,{state:i}=e,a=i.doc.lineAt(r),o=i.charCategorizer(r);for(let e=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?i.doc.lines:1)&&(r+=t?1:-1);break}let c=s(a.text,r-a.from,t)+a.from,l=a.text.slice(Math.min(r,c)-a.from,Math.max(r,c)-a.from),u=o(l);if(e!=null&&u!=e)break;(l!=` `||r!=n.head)&&(e=u),r=c}return r}),yn=e=>vn(e,!1),bn=e=>vn(e,!0),xn=e=>I(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Sn=e=>I(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),Cn=e=>I(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),wn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:ve.of([``,``])},range:_.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:`input`})),!0},Tn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||t.from==0||t.from==e.doc.length)return{range:t};let n=t.from,r=e.doc.lineAt(n),i=n==r.from?n-1:s(r.text,n-r.from,!1)+r.from,a=n==r.to?n+1:s(r.text,n-r.from,!0)+r.from;return{changes:{from:i,to:a,insert:e.doc.slice(n,a).append(e.doc.slice(i,n))},range:_.cursor(a)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:`move.character`})),!0)};function R(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(r)}else t.push({from:i.from,to:a.to,ranges:[r]});n=a.number+1}return t}function En(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of R(e)){if(n?t.to==e.doc.length:t.from==0)continue;let a=e.doc.lineAt(n?t.to+1:t.from-1),o=a.length+1;if(n){r.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let n of t.ranges)i.push(_.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{r.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)i.push(_.range(e.anchor-o,e.head-o))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:_.create(i,e.selection.mainIndex),userEvent:`move.line`})),!0):!1}var Dn=({state:e,dispatch:t})=>En(e,t,!1),On=({state:e,dispatch:t})=>En(e,t,!0);function kn(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of R(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let i=e.changes(r);return t(e.update({changes:i,selection:e.selection.map(i,n?1:-1),scrollIntoView:!0,userEvent:`input.copyline`})),!0}var An=({state:e,dispatch:t})=>kn(e,t,!1),jn=({state:e,dispatch:t})=>kn(e,t,!0),Mn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(R(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=O(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:`delete.line`}),!0};function Nn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=u(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),a;return r&&i&&r.to<=t&&i.from>=t&&(a=r.type.prop(ie.closedBy))&&a.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}var Pn=In(!1),Fn=In(!0);function In(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{let{from:r,to:i}=n,a=t.doc.lineAt(r),o=!e&&r==i&&Nn(t,r);e&&(r=i=(i<=a.to?a:t.doc.lineAt(i)).to);let s=new ye(t,{simulateBreak:r,simulateDoubleBreak:!!o}),c=m(s,r);for(c??=te(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize);i<a.to&&/\s/.test(a.text[i-a.from]);)i++;o?{from:r,to:i}=o:r>a.from&&r<a.from+100&&!/\S/.test(a.text.slice(0,r))&&(r=a.from);let l=[``,b(t,c)];return o&&l.push(b(t,s.lineIndent(a.from,-1))),{changes:{from:r,to:i,insert:ve.of(l)},range:_.cursor(r+1+l[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:`input`})),!0}}function Ln(e,t){let n=-1;return e.changeByRange(r=>{let i=[];for(let a=r.from;a<=r.to;){let o=e.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(t(o,i,r),n=o.number),a=o.to+1}let a=e.changes(i);return{changes:i,range:_.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}var Rn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new ye(e,{overrideIndentation:e=>n[e]??-1}),i=Ln(e,(t,i,a)=>{let o=m(r,t.from);if(o==null)return;/\S/.test(t.text)||(o=0);let s=/^\s*/.exec(t.text)[0],c=b(e,o);(s!=c||a.from<t.from+s.length)&&(n[t.from]=o,i.push({from:t.from,to:t.from+s.length,insert:c}))});return i.changes.empty||t(e.update(i,{userEvent:`indent`})),!0},zn=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Ln(e,(t,n)=>{n.push({from:t.from,insert:e.facet(d)})}),{userEvent:`input.indent`})),!0),Bn=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Ln(e,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let a=te(r,e.tabSize),o=0,s=b(e,Math.max(0,a-i(e)));for(;o<r.length&&o<s.length&&r.charCodeAt(o)==s.charCodeAt(o);)o++;n.push({from:t.from+o,to:t.from+r.length,insert:s.slice(o)})}),{userEvent:`delete.dedent`})),!0),Vn=e=>(e.setTabFocusMode(),!0),Hn=[{key:`Ctrl-b`,run:mt,shift:Rt,preventDefault:!0},{key:`Ctrl-f`,run:ht,shift:zt},{key:`Ctrl-p`,run:Ct,shift:Kt},{key:`Ctrl-n`,run:wt,shift:qt},{key:`Ctrl-a`,run:Nt,shift:tn},{key:`Ctrl-e`,run:Pt,shift:nn},{key:`Ctrl-d`,run:_n},{key:`Ctrl-h`,run:gn},{key:`Ctrl-k`,run:xn},{key:`Ctrl-Alt-h`,run:yn},{key:`Ctrl-o`,run:wn},{key:`Ctrl-t`,run:Tn},{key:`Ctrl-v`,run:Ot}],Un=[{key:`ArrowLeft`,run:mt,shift:Rt,preventDefault:!0},{key:`Mod-ArrowLeft`,mac:`Alt-ArrowLeft`,run:_t,shift:Vt,preventDefault:!0},{mac:`Cmd-ArrowLeft`,run:jt,shift:$t,preventDefault:!0},{key:`ArrowRight`,run:ht,shift:zt,preventDefault:!0},{key:`Mod-ArrowRight`,mac:`Alt-ArrowRight`,run:vt,shift:Ht,preventDefault:!0},{mac:`Cmd-ArrowRight`,run:Mt,shift:en,preventDefault:!0},{key:`ArrowUp`,run:Ct,shift:Kt,preventDefault:!0},{mac:`Cmd-ArrowUp`,run:rn,shift:on},{mac:`Ctrl-ArrowUp`,run:Dt,shift:Yt},{key:`ArrowDown`,run:wt,shift:qt,preventDefault:!0},{mac:`Cmd-ArrowDown`,run:an,shift:sn},{mac:`Ctrl-ArrowDown`,run:Ot,shift:Xt},{key:`PageUp`,run:Dt,shift:Yt},{key:`PageDown`,run:Ot,shift:Xt},{key:`Home`,run:At,shift:Qt,preventDefault:!0},{key:`Mod-Home`,run:rn,shift:on},{key:`End`,run:kt,shift:Zt,preventDefault:!0},{key:`Mod-End`,run:an,shift:sn},{key:`Enter`,run:Pn,shift:Pn},{key:`Mod-a`,run:cn},{key:`Backspace`,run:gn,shift:gn,preventDefault:!0},{key:`Delete`,run:_n,preventDefault:!0},{key:`Mod-Backspace`,mac:`Alt-Backspace`,run:yn,preventDefault:!0},{key:`Mod-Delete`,mac:`Alt-Delete`,run:bn,preventDefault:!0},{mac:`Mod-Backspace`,run:Sn,preventDefault:!0},{mac:`Mod-Delete`,run:Cn,preventDefault:!0}].concat(Hn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),Wn=[{key:`Alt-ArrowLeft`,mac:`Ctrl-ArrowLeft`,run:bt,shift:Ut},{key:`Alt-ArrowRight`,mac:`Ctrl-ArrowRight`,run:xt,shift:Wt},{key:`Alt-ArrowUp`,run:Dn},{key:`Shift-Alt-ArrowUp`,run:An},{key:`Alt-ArrowDown`,run:On},{key:`Shift-Alt-ArrowDown`,run:jn},{key:`Mod-Alt-ArrowUp`,run:fn},{key:`Mod-Alt-ArrowDown`,run:pn},{key:`Escape`,run:mn},{key:`Mod-Enter`,run:Fn},{key:`Alt-l`,mac:`Ctrl-l`,run:ln},{key:`Mod-i`,run:un,preventDefault:!0},{key:`Mod-[`,run:Bn},{key:`Mod-]`,run:zn},{key:`Mod-Alt-\\`,run:Rn},{key:`Shift-Mod-k`,run:Mn},{key:`Shift-Mod-\\`,run:It},{key:`Mod-/`,run:Ie},{key:`Alt-A`,mac:`Ctrl-A`,run:ze},{key:`Ctrl-m`,mac:`Shift-Alt-m`,run:Vn}].concat(Un),Gn=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,z=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(Gn(e)):Gn,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return _e(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=l(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=f(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n,a=!0;;e++){let n=r.charCodeAt(e),o=this.match(n,i,a,this.bufferPos+this.bufferStart,e==r.length-1);if(o)return this.value=o,this;if(e==r.length-1)break;a&&e<t.length&&t.charCodeAt(e)==n?i++:a=!1}}}match(e,t,n,r,i){let a=null;for(let t=0;t<this.matches.length;){let n=this.matches[t],o=!1;this.query.charCodeAt(n.index)==e&&(n.index==this.query.length-1?a={from:n.from,to:r,precise:i&&n.precise}:(n.index++,o=!0)),o?t++:this.matches.splice(t,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:r,precise:n&&i}:this.matches.push({from:t,index:1,precise:n})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}};typeof Symbol<`u`&&(z.prototype[Symbol.iterator]=function(){return this});var Kn={from:-1,to:-1,match:/.*/.exec(``),precise:!0},qn=`gm`+(/x/.unicode==null?``:`u`),Jn=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=Kn,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Zn(e,t,n,r,i);this.re=new RegExp(t,qn+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter();let a=e.lineAt(r);this.curLineStart=a.from,this.matchPos=B(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=B(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},Yn=new WeakMap,Xn=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=Yn.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return Yn.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),Yn.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},Zn=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=Kn,this.matchPos=B(e,r),this.re=new RegExp(t,qn+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=Xn.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,precise:!0,match:t},this.matchPos=B(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Xn.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<`u`&&(Jn.prototype[Symbol.iterator]=Zn.prototype[Symbol.iterator]=function(){return this});function Qn(e){try{return new RegExp(e,qn),!0}catch{return!1}}function B(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}var $n=e=>{let t=oe(e,`cm-goto-line`);if(t){let e=t.dom.querySelector(`input[type=text]`);return e&&e.select(),!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:i,result:a}=me(e,{class:`cm-goto-line`,label:n.phrase(`Go to line`),input:{type:`text`,name:`line`,value:r},focus:!0,submitLabel:n.phrase(`go`)});return a.then(t=>{let r=t&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.elements.line.value);if(!r){e.dispatch({effects:i});return}let a=n.doc.lineAt(n.selection.main.head),[,o,s,c,l]=r,u=c?+c.slice(1):0,d=s?+s:a.number;if(s&&l){let e=d/100;o&&(e=e*(o==`-`?-1:1)+a.number/n.doc.lines),d=Math.round(n.doc.lines*e)}else s&&o&&(d=d*(o==`-`?-1:1)+a.number);let f=n.doc.line(Math.max(1,Math.min(n.doc.lines,d))),p=_.cursor(f.from+Math.max(0,Math.min(u,f.length)));e.dispatch({effects:[i,g.scrollIntoView(p.from,{y:`center`})],selection:p})}),!0},er={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},tr=x.define({combine(e){return p(e,er,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function nr(e){let t=[cr,sr];return e&&t.push(tr.of(e)),t}var rr=v.mark({class:`cm-selectionMatch`}),ir=v.mark({class:`cm-selectionMatch cm-selectionMatch-main`});function ar(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=S.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=S.Word)}function or(e,t,n,r){return e(t.sliceDoc(n,n+1))==S.Word&&e(t.sliceDoc(r-1,r))==S.Word}var sr=e.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(tr),{state:n}=e,r=n.selection;if(r.ranges.length>1)return v.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return v.none;let e=n.wordAt(i.head);if(!e)return v.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return v.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(ar(o,n,i.from,i.to)&&or(o,n,i.from,i.to)))return v.none}else if(a=n.sliceDoc(i.from,i.to),!a)return v.none}let s=[];for(let r of e.visibleRanges){let e=new z(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||ar(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(ir.range(r,a)):(r>=i.to||a<=i.from)&&s.push(rr.range(r,a)),s.length>t.maxMatches))return v.none}}return v.set(s)}},{decorations:e=>e.decorations}),cr=g.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),lr=({state:e,dispatch:t})=>{let{selection:n}=e,r=_.create(n.ranges.map(t=>e.wordAt(t.head)||_.cursor(t.head)),n.mainIndex);return!r.eq(n)&&(t(e.update({selection:r})),!0)};function ur(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new z(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new z(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}var dr=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return lr({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=ur(e,r);return i?(t(e.update({selection:e.selection.addRange(_.range(i.from,i.to),!1),effects:g.scrollIntoView(i.to)})),!0):!1},V=x.define({combine(e){return p(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Rr(e),scrollToMatch:e=>g.scrollIntoView(e)})}}),fr=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||Qn(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
2
+ `:t==`r`?`\r`:t==`t`?` `:`\\`)}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new yr(this):new gr(this)}getCursor(e,t=0,n){let i=e.doc?e:r.create({doc:e});return n??=i.doc.length,this.regexp?U(this,i,t,n):H(this,i,t,n)}},pr=class{constructor(e){this.spec=e}};function mr(e,t,n){return(r,i,a,o)=>n&&!n(r,i,a,o)?!1:e(r>=o&&i<=o+a.length?a.slice(r-o,i-o):t.doc.sliceString(r,i),t,r,i)}function H(e,t,n,r){let i;return e.wholeWord&&(i=hr(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(i=mr(e.test,t,i)),new z(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),i)}function hr(e,t){return(n,r,i,a)=>((a>n||a+i.length<r)&&(a=Math.max(0,n-2),i=e.sliceString(a,Math.min(e.length,r+2))),(t(W(i,n-a))!=S.Word||t(G(i,n-a))!=S.Word)&&(t(G(i,r-a))!=S.Word||t(W(i,r-a))!=S.Word))}var gr=class extends pr{constructor(e){super(e)}nextMatch(e,t,n){let r=H(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=H(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=H(this.spec,e,n,r),a=null;for(;!i.nextOverlapping().done;)a=i.value;if(a)return a;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=H(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=H(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}};function _r(e,t,n){return(r,i,a)=>(!n||n(r,i,a))&&e(a[0],t,r,i)}function U(e,t,n,r){let i;return e.wholeWord&&(i=vr(t.charCategorizer(t.selection.main.head))),e.test&&(i=_r(e.test,t,i)),new Jn(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:i},n,r)}function W(e,t){return e.slice(s(e,t,!1),t)}function G(e,t){return e.slice(t,s(e,t))}function vr(e){return(t,n,r)=>!r[0].length||(e(W(r.input,r.index))!=S.Word||e(G(r.input,r.index))!=S.Word)&&(e(G(r.input,r.index+r[0].length))!=S.Word||e(W(r.input,r.index+r[0].length))!=S.Word)}var yr=class extends pr{nextMatch(e,t,n){let r=U(this.spec,e,n,e.doc.length).next();return r.done&&(r=U(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-r*1e4),a=U(this.spec,e,i,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==t||o.from>i+10))return o;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n==`&`)return e.match[0];if(n==`$`)return`$`;for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=U(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=U(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},K=a.define(),br=a.define(),q=ee.define({create(e){return new xr(Mr(e).create(),null)},update(e,t){for(let n of t.effects)n.is(K)?e=new xr(n.value.create(),e.panel):n.is(br)&&(e=new xr(e.query,n.value?jr:null));return e},provide:e=>fe.from(e,e=>e.panel)}),xr=class{constructor(e,t){this.query=e,this.panel=t}},Sr=v.mark({class:`cm-searchMatch`}),Cr=v.mark({class:`cm-searchMatch cm-searchMatch-selected`}),wr=e.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(q))}update(e){let t=e.state.field(q);(t!=e.startState.field(q)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return v.none;let{view:n}=this,r=new o;for(let t=0,i=n.visibleRanges,a=i.length;t<a;t++){let{from:o,to:s}=i[t];for(;t<a-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,o,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?Cr:Sr)})}return r.finish()}},{decorations:e=>e.decorations});function J(e){return t=>{let n=t.state.field(q,!1);return n&&n.query.spec.valid?e(t,n):Fr(t)}}var Tr=J((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=_.single(r.from,r.to),a=e.state.facet(V);return e.dispatch({selection:i,effects:[Vr(e,r),a.scrollToMatch(i.main,e)],userEvent:`select.search`}),Pr(e),!0}),Er=J((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let a=_.single(i.from,i.to),o=e.state.facet(V);return e.dispatch({selection:a,effects:[Vr(e,i),o.scrollToMatch(a.main,e)],userEvent:`select.search`}),Pr(e),!0}),Dr=J((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:_.create(n.map(e=>_.range(e.from,e.to))),userEvent:`select.search.matches`}),!0)}),Or=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,a=[],o=0;for(let t=new z(e.doc,e.sliceDoc(r,i));!t.next().done;){if(a.length>1e3)return!1;t.value.from==r&&(o=a.length),a.push(_.range(t.value.from,t.value.to))}return t(e.update({selection:_.create(a,o),userEvent:`select.search.matches`})),!0},kr=J((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let o=a,s=[],c,l,u=[];o.precise?o.from==r&&o.to==i&&(l=n.toText(t.getReplacement(o)),s.push({from:o.from,to:o.to,insert:l}),o=t.nextMatch(n,o.from,o.to),u.push(g.announce.of(n.phrase(`replaced match on line $`,n.doc.lineAt(r).number)+`.`))):o=t.nextMatch(n,o.from,o.to);let d=e.state.changes(s);return o&&(c=_.single(o.from,o.to).map(d),u.push(Vr(e,o)),u.push(n.facet(V).scrollToMatch(c.main,e))),e.dispatch({changes:d,selection:c,effects:u,userEvent:`input.replace`}),!0}),Ar=J((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:e,to:i,precise:a}=r;a&&n.push({from:e,to:i,insert:t.getReplacement(r)})}if(!n.length)return!1;let r=e.state.phrase(`replaced $ matches`,n.length)+`.`;return e.dispatch({changes:n,effects:g.announce.of(r),userEvent:`input.replace.all`}),!0});function jr(e){return e.state.facet(V).createPanel(e)}function Mr(e,t){let n=e.selection.main,r=n.empty||n.to>n.from+100?``:e.sliceDoc(n.from,n.to);if(t&&!r)return t;let i=e.facet(V);return new fr({search:t?.literal??i.literal?r:r.replace(/\n/g,`\\n`),caseSensitive:t?.caseSensitive??i.caseSensitive,literal:t?.literal??i.literal,regexp:t?.regexp??i.regexp,wholeWord:t?.wholeWord??i.wholeWord})}function Nr(e){let t=Te(e,jr);return t&&t.dom.querySelector(`[main-field]`)}function Pr(e){let t=Nr(e);t&&t==e.root.activeElement&&t.select()}var Fr=e=>{let t=e.state.field(q,!1);if(t&&t.panel){let n=Nr(e);if(n&&n!=e.root.activeElement){let r=Mr(e.state,t.query.spec);r.valid&&e.dispatch({effects:K.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[br.of(!0),t?K.of(Mr(e.state,t.query.spec)):a.appendConfig.of(Ur)]});return!0},Ir=e=>{let t=e.state.field(q,!1);if(!t||!t.panel)return!1;let n=Te(e,jr);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:br.of(!1)}),!0},Lr=[{key:`Mod-f`,run:Fr,scope:`editor search-panel`},{key:`F3`,run:Tr,shift:Er,scope:`editor search-panel`,preventDefault:!0},{key:`Mod-g`,run:Tr,shift:Er,scope:`editor search-panel`,preventDefault:!0},{key:`Escape`,run:Ir,scope:`editor search-panel`},{key:`Mod-Shift-l`,run:Or},{key:`Mod-Alt-g`,run:$n},{key:`Mod-d`,run:dr,preventDefault:!0}],Rr=class{constructor(e){this.view=e;let t=this.query=e.state.field(q).query.spec;this.commit=this.commit.bind(this),this.searchField=y(`input`,{value:t.search,placeholder:Y(e,`Find`),"aria-label":Y(e,`Find`),class:`cm-textfield`,name:`search`,form:``,"main-field":`true`,onchange:this.commit,onkeyup:this.commit}),this.replaceField=y(`input`,{value:t.replace,placeholder:Y(e,`Replace`),"aria-label":Y(e,`Replace`),class:`cm-textfield`,name:`replace`,form:``,onchange:this.commit,onkeyup:this.commit}),this.caseField=y(`input`,{type:`checkbox`,name:`case`,form:``,checked:t.caseSensitive,onchange:this.commit}),this.reField=y(`input`,{type:`checkbox`,name:`re`,form:``,checked:t.regexp,onchange:this.commit}),this.wordField=y(`input`,{type:`checkbox`,name:`word`,form:``,checked:t.wholeWord,onchange:this.commit});function n(e,t,n){return y(`button`,{class:`cm-button`,name:e,onclick:t,type:`button`},n)}this.dom=y(`div`,{onkeydown:e=>this.keydown(e),class:`cm-search`},[this.searchField,n(`next`,()=>Tr(e),[Y(e,`next`)]),n(`prev`,()=>Er(e),[Y(e,`previous`)]),n(`select`,()=>Dr(e),[Y(e,`all`)]),y(`label`,null,[this.caseField,Y(e,`match case`)]),y(`label`,null,[this.reField,Y(e,`regexp`)]),y(`label`,null,[this.wordField,Y(e,`by word`)]),...e.state.readOnly?[]:[y(`br`),this.replaceField,n(`replace`,()=>kr(e),[Y(e,`replace`)]),n(`replaceAll`,()=>Ar(e),[Y(e,`replace all`)])],y(`button`,{name:`close`,onclick:()=>Ir(e),"aria-label":Y(e,`close`),type:`button`},[`×`])])}commit(){let e=new fr({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:K.of(e)}))}keydown(e){xe(this.view,e,`search-panel`)?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Er:Tr)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),kr(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(K)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(V).top}};function Y(e,t){return e.state.phrase(t)}var zr=30,Br=/[\s\.,:;?!]/;function Vr(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-zr),o=Math.min(i,n+zr),s=e.state.sliceDoc(a,o);if(a!=r.from){for(let e=0;e<zr;e++)if(!Br.test(s[e+1])&&Br.test(s[e])){s=s.slice(e);break}}if(o!=i){for(let e=s.length-1;e>s.length-zr;e--)if(!Br.test(s[e-1])&&Br.test(s[e])){s=s.slice(0,e);break}}return g.announce.of(`${e.state.phrase(`current match`)}. ${s} ${e.state.phrase(`on line`)} ${r.number}.`)}var Hr=g.baseTheme({".cm-panel.cm-search":{padding:`2px 6px 4px`,position:`relative`,"& [name=close]":{position:`absolute`,top:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0},"& input, & button, & label":{margin:`.2em .6em .2em 0`},"& input[type=checkbox]":{marginRight:`.2em`},"& label":{fontSize:`80%`,whiteSpace:`pre`}},"&light .cm-searchMatch":{backgroundColor:`#ffff0054`},"&dark .cm-searchMatch":{backgroundColor:`#00ffff8a`},"&light .cm-searchMatch-selected":{backgroundColor:`#ff6a0054`},"&dark .cm-searchMatch-selected":{backgroundColor:`#ff00ff8a`}}),Ur=[q,re.low(wr),Hr],Wr=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},X=class e{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(t,n,r){let i=r.facet($).markerFilter;i&&(t=i(t,r));let a=t.slice().sort((e,t)=>e.from-t.from||e.to-t.to),s=new o,c=[],l=0,u=r.doc.iter(),d=0,f=r.doc.length;for(let e=0;;){let t=e==a.length?null:a[e];if(!t&&!c.length)break;let n,r;if(c.length)n=l,r=c.reduce((e,t)=>Math.min(e,t.to),t&&t.from>n?t.from:1e8);else{if(n=t.from,n>f)break;r=t.to,c.push(t),e++}for(;e<a.length;){let t=a[e];if(t.from==n&&(t.to>t.from||t.to==n))c.push(t),e++,r=Math.min(t.to,r);else{r=Math.min(t.from,r);break}}r=Math.min(r,f);let i=!1;if(c.some(e=>e.from==n&&(e.to==r||r==f))&&(i=n==r,!i&&r-n<10)){let e=n-(d+u.value.length);e>0&&(u.next(e),d=n);for(let e=n;;){if(e>=r){i=!0;break}if(!u.lineBreak&&d+u.value.length>e)break;e=d+u.value.length,d+=u.value.length,u.next()}}let o=fi(c);if(i)s.add(n,n,v.widget({widget:new ai(o),diagnostics:c.slice()}));else{let e=c.reduce((e,t)=>t.markClass?e+` `+t.markClass:e,``);s.add(n,r,v.mark({class:`cm-lintRange cm-lintRange-`+o+e,diagnostics:c.slice(),inclusiveEnd:c.some(e=>e.to>r)}))}if(l=r,l==f)break;for(let e=0;e<c.length;e++)c[e].to<=l&&c.splice(e--,1)}let p=s.finish();return new e(p,n,Z(p))}};function Z(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0)){if(!r)r=new Wr(e,n,t||i.diagnostics[0]);else if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;else r=new Wr(r.from,n,r.diagnostic)}}),r}function Gr(e,t){let n=t.pos,r=t.end||n,i=e.state.facet($).hideOn(e,n,r);if(i!=null)return i;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(qr))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function Kr(e,t){return e.field(Q,!1)?t:t.concat(a.appendConfig.of(mi))}var qr=a.define(),Jr=a.define(),Yr=a.define(),Q=ee.define({create(){return new X(v.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=Z(n,e.selected.diagnostic,i)||Z(n,null,i)}!n.size&&i&&t.state.facet($).autoPanel&&(i=null),e=new X(n,i,r)}for(let n of t.effects)if(n.is(qr)){let r=t.state.facet($).autoPanel?n.value.length?si.open:null:e.panel;e=X.init(n.value,r,t.state)}else n.is(Jr)?e=new X(e.diagnostics,n.value?si.open:null,e.selected):n.is(Yr)&&(e=new X(e.diagnostics,e.panel,n.value));return e},provide:e=>[fe.from(e,e=>e.panel),g.decorations.from(e,e=>e.diagnostics)]}),Xr=v.mark({class:`cm-lintRange cm-lintRange-active`});function Zr(e,t,n){let{diagnostics:r}=e.state.field(Q),i,a=-1,o=-1;r.between(t-+(n<0),t+ +(n>0),(e,r,{spec:s})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=s.diagnostics,a=e,o=r,!1});let s=e.state.facet($).tooltipFilter;return i&&s&&(i=s(i,e.state)),i?{pos:a,end:o,above:!0,create(){return{dom:Qr(e,i)}}}:null}function Qr(e,t){return y(`ul`,{class:`cm-tooltip-lint`},t.map(t=>ii(e,t,!1)))}var $r=e=>{let t=e.state.field(Q,!1);(!t||!t.panel)&&e.dispatch({effects:Kr(e.state,[Jr.of(!0)])});let n=Te(e,si.open);return n&&n.dom.querySelector(`.cm-panel-lint ul`).focus(),!0},ei=e=>{let t=e.state.field(Q,!1);return!t||!t.panel?!1:(e.dispatch({effects:Jr.of(!1)}),!0)},ti=[{key:`Mod-Shift-m`,run:$r,preventDefault:!0},{key:`F8`,run:e=>{let t=e.state.field(Q,!1);if(!t)return!1;let n=e.state.selection.main,r=Z(t.diagnostics,null,n.to+1);return!r&&(r=Z(t.diagnostics,null,0),!r||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),Ae(e,r.from,1,{tooltip:pi,until:e=>e.docChanged||e.newSelection.main.head<r.from||e.newSelection.main.head>r.to}),!0)}}],$=x.define({combine(e){return{sources:e.map(e=>e.source).filter(e=>e!=null),...p(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:ni,tooltipFilter:ni,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,r,i)=>e(n,r,i)||t(n,r,i):e:t,autoPanel:(e,t)=>e||t})}}});function ni(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function ri(e){let t=[];if(e)actions:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue actions}}t.push(``)}return t}function ii(e,t,n){let r=n?ri(t.actions):[];return y(`li`,{class:`cm-diagnostic cm-diagnostic-`+t.severity},y(`span`,{class:`cm-diagnosticText`},t.renderMessage?t.renderMessage(e):t.message),t.actions?.map((n,i)=>{let a=!1,o=r=>{if(r.preventDefault(),a)return;a=!0;let i=Z(e.state.field(Q).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:s}=n,c=r[i]?s.indexOf(r[i]):-1,l=c<0?s:[s.slice(0,c),y(`u`,s.slice(c,c+1)),s.slice(c+1)],u=n.markClass?` `+n.markClass:``;return y(`button`,{type:`button`,class:`cm-diagnosticAction`+u,onclick:o,onmousedown:o,"aria-label":` Action: ${s}${c<0?``:` (access key "${r[i]})"`}.`},l)}),t.source&&y(`div`,{class:`cm-diagnosticSource`},t.source))}var ai=class extends ue{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return y(`span`,{class:`cm-lintPoint cm-lintPoint-`+this.sev})}},oi=class{constructor(e,t){this.diagnostic=t,this.id=`item_`+Math.floor(Math.random()*4294967295).toString(16),this.dom=ii(e,t,!0),this.dom.id=this.id,this.dom.setAttribute(`role`,`option`)}},si=class e{constructor(e){this.view=e,this.items=[];let t=t=>{if(!(t.ctrlKey||t.altKey||t.metaKey)){if(t.keyCode==27)ei(this.view),this.view.focus();else if(t.keyCode==38||t.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(t.keyCode==40||t.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(t.keyCode==36)this.moveSelection(0);else if(t.keyCode==35)this.moveSelection(this.items.length-1);else if(t.keyCode==13)this.view.focus();else if(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],r=ri(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=Z(this.view.state.field(Q).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}else return;t.preventDefault()}},n=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=y(`ul`,{tabIndex:0,role:`listbox`,"aria-label":this.view.state.phrase(`Diagnostics`),onkeydown:t,onclick:n}),this.dom=y(`div`,{class:`cm-panel-lint`},this.list,y(`button`,{type:`button`,name:`close`,"aria-label":this.view.state.phrase(`close`),onclick:()=>ei(this.view)},`×`)),this.update()}get selectedIndex(){let e=this.view.state.field(Q).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Q),n=0,r=!1,i=null,a=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:s})=>{for(let e of s.diagnostics){if(a.has(e))continue;a.add(e);let o=-1,s;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(s=new oi(this.view,e),this.items.splice(n,0,s),r=!0):(s=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute(`aria-selected`)||(s.dom.setAttribute(`aria-selected`,`true`),i=s):s.dom.hasAttribute(`aria-selected`)&&s.dom.removeAttribute(`aria-selected`),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new oi(this.view,{from:-1,to:-1,severity:`info`,message:this.view.state.phrase(`No diagnostics`)})),r=!0),i?(this.list.setAttribute(`aria-activedescendant`,i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute(`aria-activedescendant`),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=Z(this.view.state.field(Q).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Yr.of(t)})}static open(t){return new e(t)}};function ci(e,t=`viewBox="0 0 40 40"`){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function li(e){return ci(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,`width="6" height="3"`)}var ui=g.baseTheme({".cm-diagnostic":{padding:`3px 6px 3px 8px`,marginLeft:`-1px`,display:`block`,whiteSpace:`pre-wrap`},".cm-diagnostic-error":{borderLeft:`5px solid #d11`},".cm-diagnostic-warning":{borderLeft:`5px solid orange`},".cm-diagnostic-info":{borderLeft:`5px solid #999`},".cm-diagnostic-hint":{borderLeft:`5px solid #66d`},".cm-diagnosticAction":{font:`inherit`,border:`none`,padding:`2px 4px`,backgroundColor:`#444`,color:`white`,borderRadius:`3px`,marginLeft:`8px`,cursor:`pointer`},".cm-diagnosticSource":{fontSize:`70%`,opacity:.7},".cm-lintRange":{backgroundPosition:`left bottom`,backgroundRepeat:`repeat-x`,paddingBottom:`0.7px`},".cm-lintRange-error":{backgroundImage:li(`#f11`)},".cm-lintRange-warning":{backgroundImage:li(`orange`)},".cm-lintRange-info":{backgroundImage:li(`#999`)},".cm-lintRange-hint":{backgroundImage:li(`#66d`)},".cm-lintRange-active":{backgroundColor:`#ffdd9980`},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:`relative`,"&:after":{content:`""`,position:`absolute`,bottom:0,left:`-2px`,borderLeft:`3px solid transparent`,borderRight:`3px solid transparent`,borderBottom:`4px solid #d11`}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:`orange`}},".cm-lintPoint-info":{"&:after":{borderBottomColor:`#999`}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:`#66d`}},".cm-panel.cm-panel-lint":{position:`relative`,"& ul":{maxHeight:`100px`,overflowY:`auto`,"& [aria-selected]":{backgroundColor:`#ddd`,"& u":{textDecoration:`underline`}},"&:focus [aria-selected]":{background_fallback:`#bdf`,backgroundColor:`Highlight`,color_fallback:`white`,color:`HighlightText`},"& u":{textDecoration:`none`},padding:0,margin:0},"& [name=close]":{position:`absolute`,top:`0`,right:`2px`,background:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:`#86714a80`},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:`#2e343e`}}});function di(e){return e==`error`?4:e==`warning`?3:e==`info`?2:1}function fi(e){let t=`hint`,n=1;for(let r of e){let e=di(r.severity);e>n&&(n=e,t=r.severity)}return t}var pi=je(Zr,{hideOn:Gr}),mi=[Q,g.decorations.compute([Q],e=>{let{selected:t,panel:n}=e.field(Q);return!t||!n||t.from==t.to?v.none:v.set([Xr.range(t.from,t.to)])}),pi,ui],hi=[de(),ce(),be(),Ze(),ne(),Oe(),ge(),r.allowMultipleSelections.of(!0),t(),c(Me,{fallback:!0}),pe(),De(),Se(),Ee(),Ce(),ke(),nr(),le.of([...he,...Wn,...Lr,...ft,...Pe,...we,...ti])],gi=[be(),Ze(),Oe(),c(Me,{fallback:!0}),le.of([...Wn,...ft])];export{g as EditorView,hi as basicSetup,gi as minimalSetup};
@@ -0,0 +1 @@
1
+ import{J as e}from"./DC5f4JBB.js";var t={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`,transform:`translateX(-100%)`};e(t);export{t};
@@ -0,0 +1 @@
1
+ import{o as e,s as t,ut as n}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as r}from"./BkEnd9_Z.js";import{a as i,o as a,t as o}from"./BBqlAyUm.js";var s=new Set([`$$slots`,`$$events`,`$$legacy`]);function c(n,i){let a=e(i,s),o=[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}],[`path`,{d:`m7 16.5-4.74-2.85`}],[`path`,{d:`m7 16.5 5-3`}],[`path`,{d:`M7 16.5v5.17`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}],[`path`,{d:`m17 16.5-5-3`}],[`path`,{d:`m17 16.5 4.74-2.85`}],[`path`,{d:`M17 16.5v5.17`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}],[`path`,{d:`M12 8 7.26 5.15`}],[`path`,{d:`m12 8 4.74-2.85`}],[`path`,{d:`M12 13.5V8`}]];r(n,t({name:`boxes`},()=>a,{get iconNode(){return o}}))}var l=o(i),u=o(i),d=n({status:null,loading:!1});async function f(){let e=l.issue(),t=a();if(!t){e.isLatest()&&(d.loading=!1);return}d.loading=!0;try{let n=await t.selfSkill.state({});if(!e.isCurrent())return;d.status=n}catch{e.isCurrent()&&(d.status=null)}finally{e.isLatest()&&(d.loading=!1)}}async function p(e){let t=u.issue(),n=a();if(!n)return{ok:!1,reason:`Not connected to the daemon.`};try{let r=await n.selfSkill.resolve({backup:e});return r.ok&&t.isCurrent()&&f(),r}catch(e){return{ok:!1,reason:e instanceof Error?e.message:String(e)}}}async function m(){let e=u.issue(),t=a();if(!t)return{ok:!1,reason:`Not connected to the daemon.`};try{let n=await t.selfSkill.keep({});return n.ok&&e.isCurrent()&&f(),n}catch(e){return{ok:!1,reason:e instanceof Error?e.message:String(e)}}}var h=n({open:!1});function g(){h.open=!0}var _=new Set([`$$slots`,`$$events`,`$$legacy`]);function v(n,i){let a=e(i,_),o=[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]];r(n,t({name:`folder-plus`},()=>a,{get iconNode(){return o}}))}var y=new Set([`$$slots`,`$$events`,`$$legacy`]);function b(n,i){let a=e(i,y),o=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]];r(n,t({name:`message-square`},()=>a,{get iconNode(){return o}}))}var x=new Set([`$$slots`,`$$events`,`$$legacy`]);function S(n,i){let a=e(i,x),o=[[`path`,{d:`M13 21h8`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]];r(n,t({name:`pen-line`},()=>a,{get iconNode(){return o}}))}export{g as a,p as c,h as i,d as l,b as n,m as o,v as r,f as s,S as t,c as u};
@@ -1,2 +1,2 @@
1
- import{A as e,At as t,B as n,Ct as r,F as i,G as a,K as o,N as s,R as c,St as l,W as u,X as d,ct as f,d as p,ft as m,gt as h,h as ee,lt as g,m as te,mt as _,nt as v,ot as y,p as b,rt as x,st as S,ut as ne,x as re}from"./CmCJ0SKP.js";import{t as C}from"./B0stYqX9.js";import"./xihTtKlq.js";import{t as w}from"./CvO5eq4f.js";import"./oJ4aK8PG.js";import{a as ie,i as T,r as E}from"./D7DTLcps.js";import{c as ae,d as D,l as O,n as k,o as A,u as j}from"./BgJCuTDs.js";import{a as M,r as oe,s as se}from"./Du6-3Tbt.js";var N=[{id:`anthropics-skills`,label:`Anthropic Skills`,gitUrl:`https://github.com/anthropics/skills.git`,description:`Anthropic 官方维护的 Agent skills 集合。`,homepage:`https://github.com/anthropics/skills`},{id:`vercel-labs-skills`,label:`Vercel Labs Skills`,gitUrl:`https://github.com/vercel-labs/skills.git`,description:`Vercel Labs 维护的社区 Agent skills 集合。`,homepage:`https://github.com/vercel-labs/skills`}];function ce(e){return N.find(t=>t.id===e)}var le=n(`<p class="truncate font-mono text-[11px] text-muted-foreground"> </p>`),ue=n(`<span class="shrink-0 text-[11px] text-muted-foreground"> </span>`),de=n(`<div class="flex shrink-0 items-center gap-3 border-b border-amber-500/40 bg-amber-500/10 px-4 py-2.5 text-xs" role="alert" data-testid="session-expired"><span class="min-w-0 flex-1"><span class="font-medium">Scan session expired.</span> <span class="text-muted-foreground">The pinned commit is no longer held by the daemon. Rescan this repository to continue.</span></span> <button type="button" class="h-7 shrink-0 rounded-md border border-border bg-background px-3 text-[11px] font-medium transition-colors hover:bg-muted/50 disabled:opacity-50">Rescan</button></div>`),fe=n(`<p class="px-4 py-8 text-center text-xs text-muted-foreground">Scanning…</p>`),pe=n(`<div class="px-4 text-center"><button type="button" class="rounded-md border border-border px-3 py-1 text-xs hover:bg-muted/50">Retry scan</button></div>`),me=n(`<p class="px-4 py-8 text-center text-xs text-destructive"> </p> <!>`,1),he=n(`<p class="px-4 py-8 text-center text-xs text-muted-foreground">No scan yet.</p>`),ge=n(`<p class="px-4 py-8 text-center text-xs text-muted-foreground">No installable skills found in this repository.</p>`),_e=n(`<button type="button" class="hover:text-foreground">Clear</button>`),ve=n(`<span class="mt-0.5 block text-[10px] text-amber-600 dark:text-amber-400"> </span>`),ye=n(`<button type="button"><input type="checkbox" class="mt-0.5 h-3.5 w-3.5" aria-label="Select skill"/> <span class="min-w-0 flex-1"><span class="block truncate text-[13px] font-medium text-foreground"> </span> <span class="mt-0.5 line-clamp-2 block text-[11px] text-muted-foreground"> </span> <!></span></button>`),be=n(`<p class="mt-2 text-xs text-muted-foreground">Loading…</p>`),xe=n(`<pre class="mt-2 max-h-48 overflow-auto rounded bg-muted/50 p-2 text-[11px] leading-4"> </pre>`),Se=n(`<p class="mt-2 text-xs text-muted-foreground">Select a skill to preview.</p>`),Ce=n(`<p class="mt-2 text-xs text-muted-foreground">No writable workspace providers. Import a directory workspace first.</p>`),we=n(`<li><label class="flex items-center gap-2 text-xs"><input type="checkbox" class="h-3.5 w-3.5"/> <span class="truncate"> </span></label></li>`),Te=n(`<ul class="mt-2 space-y-1"></ul>`),Ee=n(`<p class="mt-2 break-words text-xs text-destructive"> </p>`),De=n(`<div class="p-3 text-xs"><h2 class="font-medium text-muted-foreground">Dry-run preview</h2> <p class="mt-1"> </p></div>`),Oe=n(`<div class="flex items-center justify-between gap-2 rounded border border-border px-2 py-1"><span class="truncate"> </span> <button type="button" class="shrink-0 rounded bg-primary/10 px-2 py-0.5 text-[10px] text-primary hover:bg-primary/20">View in Workspaces</button></div>`),ke=n(`<div class="mt-2 space-y-1"></div>`),Ae=n(`<div class="p-3 text-xs"><h2 class="font-medium text-muted-foreground"> </h2> <!></div>`),je=n(`<div class="flex min-h-0 flex-1"><section class="flex w-1/2 min-w-0 flex-col border-r border-border"><header class="flex shrink-0 items-center justify-between px-3 py-2 text-xs text-muted-foreground"><span> </span> <!></header> <div class="min-h-0 flex-1 overflow-y-auto"></div></section> <section class="flex w-1/2 min-w-0 flex-col overflow-y-auto"><div class="border-b border-border p-3"><h2 class="text-xs font-medium text-muted-foreground">Preview</h2> <!></div> <div class="border-b border-border p-3"><h2 class="text-xs font-medium text-muted-foreground"> </h2> <!> <div class="mt-2 flex gap-2"><button type="button" class="h-7 rounded-md border border-border px-2 text-[11px] hover:bg-muted/50 disabled:opacity-50">Dry-run</button> <button type="button" class="h-7 rounded-md bg-primary px-3 text-[11px] font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50"> </button></div> <!></div> <!> <!></section></div>`),Me=n(`<div class="flex h-full flex-col overflow-hidden"><header class="flex shrink-0 items-center gap-3 border-b border-border px-4 py-3"><div class="min-w-0 flex-1"><h1 class="truncate text-sm font-semibold"> </h1> <!></div> <!> <form class="flex shrink-0 items-center gap-1"><input placeholder="branch / tag" title="Optional Git ref to scan (defaults to the repository default branch)" aria-label="Git ref for scanning" class="h-7 w-28 rounded-md border border-input bg-input/20 px-2 font-mono text-[11px] outline-none placeholder:text-muted-foreground focus-visible:border-ring"/> <button type="submit" class="h-7 rounded-md border border-border px-2 text-[11px] transition-colors hover:bg-muted/50 disabled:opacity-50"> </button></form> <button type="button" class="shrink-0 rounded-md border border-border px-2 py-1 text-[11px] hover:bg-muted/50">Discover</button></header> <!> <!></div>`);function P(n,u){r(u,!0);let N=E(),P=T(),F=h(()=>N?.()?.sourceId),Ne=h(()=>d(F)?ce(d(F)):void 0),Pe=h(()=>d(F)?se.user.find(e=>e.id===d(F)):void 0),Fe=h(()=>d(Ne)?.label??d(Pe)?.label??d(F)??`Repository`),I=h(()=>d(Ne)?.gitUrl??d(Pe)?.gitUrl),L=_(null),R=_(!1),z=_(null),B=_(null),V=_(!1),H=_(null),U=_(null),W=_(!1),G=_(null),K=_(``),Ie=h(()=>P?.()?.selected??``),q=h(()=>{let e=d(Ie).split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(e)}),Le=h(()=>P?.()?.skill),J=_(ne([]));x(()=>{M()}),x(()=>{k()});let Re=h(A),ze=_(null);x(()=>{d(F)&&d(I)&&(d(ze)===d(F)&&d(L)||(m(ze,d(F),!0),Y(d(I))))});async function Y(e,t){m(R,!0),m(z,null),m(L,null),m(B,null),m(H,null),m(U,null),m(G,null);let n=t?.trim()||void 0,{scan:r,error:i}=await D(e,n);m(L,r,!0),m(z,i,!0),r&&d(F)&&oe(d(F),{skillCount:r.skills.length,commit:r.commit}),m(R,!1)}x(()=>{if(!d(L)||!d(Le)){m(B,null);return}let e=d(Le);if(!d(L).skills.some(t=>t.id===e)){m(B,null);return}Be(d(L).sessionId,e)});async function Be(e,t){m(V,!0),m(H,null);let{preview:n,error:r}=await j(e,t);m(B,n,!0),m(H,r,!0),m(V,!1)}function Ve(e){let t=new Set(d(q));t.has(e.id)?t.delete(e.id):t.add(e.id),He(t)}function He(e){let t=[...e].join(`,`),n=new URLSearchParams(w.url.search);t?n.set(`selected`,t):n.delete(`selected`);let r=n.toString();C(`/repository/scan/${encodeURIComponent(d(F)??``)}${r?`?${r}`:``}`,{replaceState:!0})}function Ue(e){let t=new URLSearchParams(w.url.search);t.set(`skill`,e.id),C(`/repository/scan/${encodeURIComponent(d(F)??``)}?${t.toString()}`,{replaceState:!0})}function We(e){let t=d(J).some(t=>t.workspaceId===e.workspaceId&&t.providerId===e.providerId);m(J,t?d(J).filter(t=>t.workspaceId!==e.workspaceId||t.providerId!==e.providerId):[...d(J),e],!0)}function Ge(e){return d(J).some(t=>t.workspaceId===e.workspaceId&&t.providerId===e.providerId)}let Ke=h(()=>d(L)?d(L).skills.filter(e=>d(q).has(e.id)):[]),X=h(()=>d(Ke).filter(e=>e.installable));async function qe(e){if(!d(L)||d(X).length===0||d(J).length===0)return;m(W,!0),m(G,null),m(U,null);let t=d(X).map(e=>e.id),{result:n,error:r}=await ae({sessionId:d(L).sessionId,skillIds:t,targets:d(J),dryRun:e});m(U,n,!0),m(G,r,!0),m(W,!1),n&&!e&&await k()}let Je=h(()=>O(d(H))||O(d(G))),Z=h(()=>d(U)?.kind===`result`?d(U):null),Ye=h(()=>d(Z)?d(Z).results.filter(e=>e.status===`installed`||e.status===`overwritten`):[]);function Xe(e,t,n){ie(`workspaces.provider`,{wsId:e,providerId:t},{skill:n})}var Ze=Me(),Qe=y(Ze),Q=y(Qe),$e=y(Q),et=f($e,!0),tt=g($e,2),nt=e=>{var t=le(),n=f(t,!0);v(()=>i(n,d(I))),c(e,t)};s(tt,e=>{d(I)&&e(nt)}),t(Q);var rt=g(Q,2),it=e=>{var t=ue(),n=f(t);v(e=>i(n,`${d(L).skills.length??``} skills · commit ${e??``}`),[()=>d(L).commit.slice(0,12)]),c(e,t)};s(rt,e=>{d(L)&&e(it)});var $=g(rt,2),at=y($);b(at);var ot=g(at,2),st=f(ot,!0);t($);var ct=g($,2);t(Qe);var lt=g(Qe,2),ut=e=>{var n=de(),r=g(y(n),2);t(n),v(()=>r.disabled=d(R)||!d(I)),a(`click`,r,()=>d(I)&&void Y(d(I),d(K))),c(e,n)};s(lt,e=>{d(Je)&&e(ut)});var dt=g(lt,2),ft=e=>{var t=fe();c(e,t)},pt=e=>{var t=me(),n=S(t),r=f(n,!0),o=g(n,2),l=e=>{var t=pe(),n=f(t);a(`click`,n,()=>Y(d(I))),c(e,t)};s(o,e=>{d(I)&&e(l)}),v(()=>i(r,d(z).message)),c(e,t)},mt=e=>{var t=he();c(e,t)},ht=e=>{var t=ge();c(e,t)},gt=n=>{var r=je(),o=y(r),l=y(o),u=y(l),p=f(u),m=g(u,2),h=e=>{var t=_e();a(`click`,t,()=>He(new Set)),c(e,t)};s(m,e=>{d(q).size>0&&e(h)}),t(l);var _=g(l,2);e(_,21,()=>d(L).skills,e=>e.id,(e,n)=>{var r=ye(),o=y(r);b(o);var l=g(o,2),u=y(l),p=f(u,!0),m=g(u,2),h=f(m,!0),_=g(m,2),x=e=>{var t=ve(),r=f(t,!0);v(e=>i(r,e),[()=>d(n).issues.join(` `)||`Not installable`]),c(e,t)};s(_,e=>{d(n).installable||e(x)}),t(l),t(r),v((e,t,a)=>{re(r,1,`flex w-full items-start gap-2 border-b border-border/70 px-3 py-2 text-left transition-colors ${e??``}`),te(r,`aria-pressed`,t),ee(o,a),i(p,d(n).name),i(h,d(n).description||`No description`)},[()=>d(q).has(d(n).id)?`bg-accent`:`hover:bg-accent/60`,()=>d(q).has(d(n).id),()=>d(q).has(d(n).id)]),a(`click`,r,()=>Ue(d(n))),a(`click`,o,e=>{e.stopPropagation(),Ve(d(n))}),c(e,r)}),t(_),t(o);var x=g(o,2),S=y(x),ne=g(y(S),2),C=e=>{var t=be();c(e,t)},w=e=>{var t=xe(),n=f(t,!0);v(()=>i(n,d(B).content)),c(e,t)},ie=e=>{var t=Se();c(e,t)};s(ne,e=>{d(V)?e(C):d(B)?e(w,1):e(ie,-1)}),t(S);var T=g(S,2),E=y(T),ae=f(E),D=g(E,2),O=e=>{var t=Ce();c(e,t)},k=n=>{var r=Te();e(r,21,()=>d(Re),e=>e.target.workspaceId+`:`+e.target.providerId,(e,n)=>{var r=we(),o=y(r),s=y(o);b(s);var l=g(s,2),u=f(l,!0);t(o),t(r),v(e=>{ee(s,e),i(u,d(n).label)},[()=>Ge(d(n).target)]),a(`change`,s,()=>We(d(n).target)),c(e,r)}),t(r),c(n,r)};s(D,e=>{d(Re).length===0?e(O):e(k,-1)});var A=g(D,2),j=y(A),M=g(j,2),oe=f(M,!0);t(A);var se=g(A,2),N=e=>{var t=Ee(),n=f(t,!0);v(()=>i(n,d(G).message)),c(e,t)};s(se,e=>{d(G)&&!d(Je)&&e(N)}),t(T);var ce=g(T,2),le=e=>{var n=De(),r=g(y(n),2),a=f(r);t(n),v(()=>i(a,`${d(U).totalInstalls??``} install(s) planned across ${d(U).destinations.length??``} destination(s).`)),c(e,n)};s(ce,e=>{d(U)?.kind===`preview`&&e(le)});var ue=g(ce,2),de=n=>{var r=Ae(),o=y(r),l=f(o),u=g(o,2),p=n=>{var r=ke();e(r,21,()=>d(Ye),e=>e.target.workspaceId+`:`+e.target.providerId+`:`+e.skillId,(e,n)=>{var r=Oe(),o=y(r),s=f(o),l=g(o,2);t(r),v(()=>i(s,`${d(n).skill??``} → ${d(n).target.workspaceId??``}/${d(n).target.providerId??``}`)),a(`click`,l,()=>Xe(d(n).target.workspaceId,d(n).target.providerId,d(n).skillId)),c(e,r)}),t(r),c(n,r)};s(u,e=>{d(Ye).length>0&&e(p)}),t(r),v(()=>i(l,`Installed ${d(Z).installed??``} · overwritten ${d(Z).overwritten??``} · skipped
1
+ import{A as e,At as t,B as n,Ct as r,F as i,G as a,K as o,N as s,R as c,St as l,W as u,X as d,ct as f,d as p,ft as m,gt as h,h as ee,lt as g,m as te,mt as _,nt as v,ot as y,p as b,rt as x,st as S,ut as ne,x as re}from"./CmCJ0SKP.js";import{t as C}from"./CAmktO2F.js";import"./xihTtKlq.js";import{t as w}from"./BehT3C1z.js";import"./CZQgUTNL.js";import{a as ie,o as T,s as E}from"./ryZsHFfK.js";import{c as ae,d as D,l as O,n as k,o as A,u as j}from"./DzSJuxmI.js";import{a as M,r as oe,s as se}from"./BLdcUAZa.js";var N=[{id:`anthropics-skills`,label:`Anthropic Skills`,gitUrl:`https://github.com/anthropics/skills.git`,description:`Anthropic 官方维护的 Agent skills 集合。`,homepage:`https://github.com/anthropics/skills`},{id:`vercel-labs-skills`,label:`Vercel Labs Skills`,gitUrl:`https://github.com/vercel-labs/skills.git`,description:`Vercel Labs 维护的社区 Agent skills 集合。`,homepage:`https://github.com/vercel-labs/skills`}];function ce(e){return N.find(t=>t.id===e)}var le=n(`<p class="truncate font-mono text-[11px] text-muted-foreground"> </p>`),ue=n(`<span class="shrink-0 text-[11px] text-muted-foreground"> </span>`),de=n(`<div class="flex shrink-0 items-center gap-3 border-b border-amber-500/40 bg-amber-500/10 px-4 py-2.5 text-xs" role="alert" data-testid="session-expired"><span class="min-w-0 flex-1"><span class="font-medium">Scan session expired.</span> <span class="text-muted-foreground">The pinned commit is no longer held by the daemon. Rescan this repository to continue.</span></span> <button type="button" class="h-7 shrink-0 rounded-md border border-border bg-background px-3 text-[11px] font-medium transition-colors hover:bg-muted/50 disabled:opacity-50">Rescan</button></div>`),fe=n(`<p class="px-4 py-8 text-center text-xs text-muted-foreground">Scanning…</p>`),pe=n(`<div class="px-4 text-center"><button type="button" class="rounded-md border border-border px-3 py-1 text-xs hover:bg-muted/50">Retry scan</button></div>`),me=n(`<p class="px-4 py-8 text-center text-xs text-destructive"> </p> <!>`,1),he=n(`<p class="px-4 py-8 text-center text-xs text-muted-foreground">No scan yet.</p>`),ge=n(`<p class="px-4 py-8 text-center text-xs text-muted-foreground">No installable skills found in this repository.</p>`),_e=n(`<button type="button" class="hover:text-foreground">Clear</button>`),ve=n(`<span class="mt-0.5 block text-[10px] text-amber-600 dark:text-amber-400"> </span>`),ye=n(`<button type="button"><input type="checkbox" class="mt-0.5 h-3.5 w-3.5" aria-label="Select skill"/> <span class="min-w-0 flex-1"><span class="block truncate text-[13px] font-medium text-foreground"> </span> <span class="mt-0.5 line-clamp-2 block text-[11px] text-muted-foreground"> </span> <!></span></button>`),be=n(`<p class="mt-2 text-xs text-muted-foreground">Loading…</p>`),xe=n(`<pre class="mt-2 max-h-48 overflow-auto rounded bg-muted/50 p-2 text-[11px] leading-4"> </pre>`),Se=n(`<p class="mt-2 text-xs text-muted-foreground">Select a skill to preview.</p>`),Ce=n(`<p class="mt-2 text-xs text-muted-foreground">No writable workspace providers. Import a directory workspace first.</p>`),we=n(`<li><label class="flex items-center gap-2 text-xs"><input type="checkbox" class="h-3.5 w-3.5"/> <span class="truncate"> </span></label></li>`),Te=n(`<ul class="mt-2 space-y-1"></ul>`),Ee=n(`<p class="mt-2 break-words text-xs text-destructive"> </p>`),De=n(`<div class="p-3 text-xs"><h2 class="font-medium text-muted-foreground">Dry-run preview</h2> <p class="mt-1"> </p></div>`),Oe=n(`<div class="flex items-center justify-between gap-2 rounded border border-border px-2 py-1"><span class="truncate"> </span> <button type="button" class="shrink-0 rounded bg-primary/10 px-2 py-0.5 text-[10px] text-primary hover:bg-primary/20">View in Workspaces</button></div>`),ke=n(`<div class="mt-2 space-y-1"></div>`),Ae=n(`<div class="p-3 text-xs"><h2 class="font-medium text-muted-foreground"> </h2> <!></div>`),je=n(`<div class="flex min-h-0 flex-1"><section class="flex w-1/2 min-w-0 flex-col border-r border-border"><header class="flex shrink-0 items-center justify-between px-3 py-2 text-xs text-muted-foreground"><span> </span> <!></header> <div class="min-h-0 flex-1 overflow-y-auto"></div></section> <section class="flex w-1/2 min-w-0 flex-col overflow-y-auto"><div class="border-b border-border p-3"><h2 class="text-xs font-medium text-muted-foreground">Preview</h2> <!></div> <div class="border-b border-border p-3"><h2 class="text-xs font-medium text-muted-foreground"> </h2> <!> <div class="mt-2 flex gap-2"><button type="button" class="h-7 rounded-md border border-border px-2 text-[11px] hover:bg-muted/50 disabled:opacity-50">Dry-run</button> <button type="button" class="h-7 rounded-md bg-primary px-3 text-[11px] font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50"> </button></div> <!></div> <!> <!></section></div>`),Me=n(`<div class="flex h-full flex-col overflow-hidden"><header class="flex shrink-0 items-center gap-3 border-b border-border px-4 py-3"><div class="min-w-0 flex-1"><h1 class="truncate text-sm font-semibold"> </h1> <!></div> <!> <form class="flex shrink-0 items-center gap-1"><input placeholder="branch / tag" title="Optional Git ref to scan (defaults to the repository default branch)" aria-label="Git ref for scanning" class="h-7 w-28 rounded-md border border-input bg-input/20 px-2 font-mono text-[11px] outline-none placeholder:text-muted-foreground focus-visible:border-ring"/> <button type="submit" class="h-7 rounded-md border border-border px-2 text-[11px] transition-colors hover:bg-muted/50 disabled:opacity-50"> </button></form> <button type="button" class="shrink-0 rounded-md border border-border px-2 py-1 text-[11px] hover:bg-muted/50">Discover</button></header> <!> <!></div>`);function P(n,u){r(u,!0);let N=ie(),P=T(),F=h(()=>N?.()?.sourceId),Ne=h(()=>d(F)?ce(d(F)):void 0),Pe=h(()=>d(F)?se.user.find(e=>e.id===d(F)):void 0),Fe=h(()=>d(Ne)?.label??d(Pe)?.label??d(F)??`Repository`),I=h(()=>d(Ne)?.gitUrl??d(Pe)?.gitUrl),L=_(null),R=_(!1),z=_(null),B=_(null),V=_(!1),H=_(null),U=_(null),W=_(!1),G=_(null),K=_(``),Ie=h(()=>P?.()?.selected??``),q=h(()=>{let e=d(Ie).split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(e)}),Le=h(()=>P?.()?.skill),J=_(ne([]));x(()=>{M()}),x(()=>{k()});let Re=h(A),ze=_(null);x(()=>{d(F)&&d(I)&&(d(ze)===d(F)&&d(L)||(m(ze,d(F),!0),Y(d(I))))});async function Y(e,t){m(R,!0),m(z,null),m(L,null),m(B,null),m(H,null),m(U,null),m(G,null);let n=t?.trim()||void 0,{scan:r,error:i}=await D(e,n);m(L,r,!0),m(z,i,!0),r&&d(F)&&oe(d(F),{skillCount:r.skills.length,commit:r.commit}),m(R,!1)}x(()=>{if(!d(L)||!d(Le)){m(B,null);return}let e=d(Le);if(!d(L).skills.some(t=>t.id===e)){m(B,null);return}Be(d(L).sessionId,e)});async function Be(e,t){m(V,!0),m(H,null);let{preview:n,error:r}=await j(e,t);m(B,n,!0),m(H,r,!0),m(V,!1)}function Ve(e){let t=new Set(d(q));t.has(e.id)?t.delete(e.id):t.add(e.id),He(t)}function He(e){let t=[...e].join(`,`),n=new URLSearchParams(w.url.search);t?n.set(`selected`,t):n.delete(`selected`);let r=n.toString();C(`/repository/scan/${encodeURIComponent(d(F)??``)}${r?`?${r}`:``}`,{replaceState:!0})}function Ue(e){let t=new URLSearchParams(w.url.search);t.set(`skill`,e.id),C(`/repository/scan/${encodeURIComponent(d(F)??``)}?${t.toString()}`,{replaceState:!0})}function We(e){let t=d(J).some(t=>t.workspaceId===e.workspaceId&&t.providerId===e.providerId);m(J,t?d(J).filter(t=>t.workspaceId!==e.workspaceId||t.providerId!==e.providerId):[...d(J),e],!0)}function Ge(e){return d(J).some(t=>t.workspaceId===e.workspaceId&&t.providerId===e.providerId)}let Ke=h(()=>d(L)?d(L).skills.filter(e=>d(q).has(e.id)):[]),X=h(()=>d(Ke).filter(e=>e.installable));async function qe(e){if(!d(L)||d(X).length===0||d(J).length===0)return;m(W,!0),m(G,null),m(U,null);let t=d(X).map(e=>e.id),{result:n,error:r}=await ae({sessionId:d(L).sessionId,skillIds:t,targets:d(J),dryRun:e});m(U,n,!0),m(G,r,!0),m(W,!1),n&&!e&&await k()}let Je=h(()=>O(d(H))||O(d(G))),Z=h(()=>d(U)?.kind===`result`?d(U):null),Ye=h(()=>d(Z)?d(Z).results.filter(e=>e.status===`installed`||e.status===`overwritten`):[]);function Xe(e,t,n){E(`workspaces.provider`,{wsId:e,providerId:t},{skill:n})}var Ze=Me(),Qe=y(Ze),Q=y(Qe),$e=y(Q),et=f($e,!0),tt=g($e,2),nt=e=>{var t=le(),n=f(t,!0);v(()=>i(n,d(I))),c(e,t)};s(tt,e=>{d(I)&&e(nt)}),t(Q);var rt=g(Q,2),it=e=>{var t=ue(),n=f(t);v(e=>i(n,`${d(L).skills.length??``} skills · commit ${e??``}`),[()=>d(L).commit.slice(0,12)]),c(e,t)};s(rt,e=>{d(L)&&e(it)});var $=g(rt,2),at=y($);b(at);var ot=g(at,2),st=f(ot,!0);t($);var ct=g($,2);t(Qe);var lt=g(Qe,2),ut=e=>{var n=de(),r=g(y(n),2);t(n),v(()=>r.disabled=d(R)||!d(I)),a(`click`,r,()=>d(I)&&void Y(d(I),d(K))),c(e,n)};s(lt,e=>{d(Je)&&e(ut)});var dt=g(lt,2),ft=e=>{var t=fe();c(e,t)},pt=e=>{var t=me(),n=S(t),r=f(n,!0),o=g(n,2),l=e=>{var t=pe(),n=f(t);a(`click`,n,()=>Y(d(I))),c(e,t)};s(o,e=>{d(I)&&e(l)}),v(()=>i(r,d(z).message)),c(e,t)},mt=e=>{var t=he();c(e,t)},ht=e=>{var t=ge();c(e,t)},gt=n=>{var r=je(),o=y(r),l=y(o),u=y(l),p=f(u),m=g(u,2),h=e=>{var t=_e();a(`click`,t,()=>He(new Set)),c(e,t)};s(m,e=>{d(q).size>0&&e(h)}),t(l);var _=g(l,2);e(_,21,()=>d(L).skills,e=>e.id,(e,n)=>{var r=ye(),o=y(r);b(o);var l=g(o,2),u=y(l),p=f(u,!0),m=g(u,2),h=f(m,!0),_=g(m,2),x=e=>{var t=ve(),r=f(t,!0);v(e=>i(r,e),[()=>d(n).issues.join(` `)||`Not installable`]),c(e,t)};s(_,e=>{d(n).installable||e(x)}),t(l),t(r),v((e,t,a)=>{re(r,1,`flex w-full items-start gap-2 border-b border-border/70 px-3 py-2 text-left transition-colors ${e??``}`),te(r,`aria-pressed`,t),ee(o,a),i(p,d(n).name),i(h,d(n).description||`No description`)},[()=>d(q).has(d(n).id)?`bg-accent`:`hover:bg-accent/60`,()=>d(q).has(d(n).id),()=>d(q).has(d(n).id)]),a(`click`,r,()=>Ue(d(n))),a(`click`,o,e=>{e.stopPropagation(),Ve(d(n))}),c(e,r)}),t(_),t(o);var x=g(o,2),S=y(x),ne=g(y(S),2),C=e=>{var t=be();c(e,t)},w=e=>{var t=xe(),n=f(t,!0);v(()=>i(n,d(B).content)),c(e,t)},ie=e=>{var t=Se();c(e,t)};s(ne,e=>{d(V)?e(C):d(B)?e(w,1):e(ie,-1)}),t(S);var T=g(S,2),E=y(T),ae=f(E),D=g(E,2),O=e=>{var t=Ce();c(e,t)},k=n=>{var r=Te();e(r,21,()=>d(Re),e=>e.target.workspaceId+`:`+e.target.providerId,(e,n)=>{var r=we(),o=y(r),s=y(o);b(s);var l=g(s,2),u=f(l,!0);t(o),t(r),v(e=>{ee(s,e),i(u,d(n).label)},[()=>Ge(d(n).target)]),a(`change`,s,()=>We(d(n).target)),c(e,r)}),t(r),c(n,r)};s(D,e=>{d(Re).length===0?e(O):e(k,-1)});var A=g(D,2),j=y(A),M=g(j,2),oe=f(M,!0);t(A);var se=g(A,2),N=e=>{var t=Ee(),n=f(t,!0);v(()=>i(n,d(G).message)),c(e,t)};s(se,e=>{d(G)&&!d(Je)&&e(N)}),t(T);var ce=g(T,2),le=e=>{var n=De(),r=g(y(n),2),a=f(r);t(n),v(()=>i(a,`${d(U).totalInstalls??``} install(s) planned across ${d(U).destinations.length??``} destination(s).`)),c(e,n)};s(ce,e=>{d(U)?.kind===`preview`&&e(le)});var ue=g(ce,2),de=n=>{var r=Ae(),o=y(r),l=f(o),u=g(o,2),p=n=>{var r=ke();e(r,21,()=>d(Ye),e=>e.target.workspaceId+`:`+e.target.providerId+`:`+e.skillId,(e,n)=>{var r=Oe(),o=y(r),s=f(o),l=g(o,2);t(r),v(()=>i(s,`${d(n).skill??``} → ${d(n).target.workspaceId??``}/${d(n).target.providerId??``}`)),a(`click`,l,()=>Xe(d(n).target.workspaceId,d(n).target.providerId,d(n).skillId)),c(e,r)}),t(r),c(n,r)};s(u,e=>{d(Ye).length>0&&e(p)}),t(r),v(()=>i(l,`Installed ${d(Z).installed??``} · overwritten ${d(Z).overwritten??``} · skipped
2
2
  ${d(Z).skipped??``} · failed ${d(Z).failed??``}`)),c(n,r)};s(ue,e=>{d(Z)&&e(de)}),t(x),t(r),v(()=>{i(p,`${d(q).size??``} selected`),i(ae,`Install targets (${d(J).length??``})`),j.disabled=d(W)||d(X).length===0||d(J).length===0,M.disabled=d(W)||d(X).length===0||d(J).length===0,i(oe,d(W)?`Installing…`:`Install`)}),a(`click`,j,()=>qe(!0)),a(`click`,M,()=>qe(!1)),c(n,r)};s(dt,e=>{d(R)?e(ft):d(z)?e(pt,1):d(L)?d(L).skills.length===0?e(ht,3):e(gt,-1):e(mt,2)}),t(Ze),v(()=>{i(et,d(Fe)),ot.disabled=d(R)||!d(I),i(st,d(R)?`Scanning…`:`Rescan`)}),o(`submit`,$,e=>{e.preventDefault(),d(I)&&Y(d(I),d(K))}),p(at,()=>d(K),e=>m(K,e)),a(`click`,ct,()=>C(`/repository`)),c(n,Ze),l()}u([`click`,`change`]);export{P as default};
@@ -0,0 +1 @@
1
+ import{$ as e,At as t,B as n,Ct as r,D as i,F as a,N as o,R as s,St as c,X as l,bt as u,ct as d,ft as f,gt as p,it as m,l as h,lt as g,mt as _,nt as ee,ot as v,rt as y,st as te,wt as b,xt as x,z as ne}from"./CmCJ0SKP.js";import{t as S}from"./CAmktO2F.js";import"./xihTtKlq.js";import{t as C}from"./BehT3C1z.js";import"./CZQgUTNL.js";import{D as w,S as T,T as E,w as D}from"./BBqlAyUm.js";function O(e){return e.activities.find(e=>e.entry)??e.activities[0]}var k=class{entries=new Map;register(e){this.entries.set(e.id,e)}get(e){return this.entries.get(e)}list(){return[...this.entries.values()]}findByPath(e){for(let t of this.entries.values()){let n=t.absolutePattern.replace(/:[^/]+/g,`[^/]+`);try{if(RegExp(`^${n.replace(/\//g,`\\/`)}\\/?$`).test(e))return t}catch{}}}},A=class{apps=new Map;register(e){this.apps.set(e.id,e)}get(e){return this.apps.get(e)}list(){return[...this.apps.values()]}},j=new k,M=new A;function N(e){let t={id:e.id,pattern:e.pattern,params:e.params,search:e.search,component:e.component,children:e.children};return F(t,t.pattern||`/`),t}function P(e,t){I(e,t)}function F(e,t){if(j.register({id:e.id,route:e,absolutePattern:t}),e.children)for(let n of e.children)F(n,L(t,n.pattern))}function I(e,t){let n=L(e,t.pattern);if(j.register({id:t.id,route:t,absolutePattern:n}),t.children)for(let e of t.children)I(n,e)}function L(e,t){let n=e.replace(/\/+$/,``),r=t.replace(/^\/+|\/+$/g,``);return r===``?n||`/`:`${n}/${r}`}function re(e){return P(e.pattern,e.root),{pattern:e.pattern,root:e.root,entry:e.entry}}function ie(e){return{id:e.id,pattern:``,search:e.search,component:e.component}}function ae(e){return M.register(e),{manifest:e}}function oe(e){let t=Object.entries(e).filter(([,e])=>e!=null);if(t.length===0)return``;let n=new URLSearchParams;for(let[e,r]of t)n.set(e,typeof r==`string`?r:String(r));let r=n.toString();return r?`?${r}`:``}function R(e){let t=e.startsWith(`?`)?e.slice(1):e;if(!t)return{};let n={},r=new URLSearchParams(t);for(let[e,t]of r)n[e]=t;return n}function z(e,t,n,r){let i=V(e,ce(se(t,r)),r);if(i.length===0)return{kind:`no-match`,reason:`no-route`};let a=H(i),o=i[i.length-1].route,s=o.params;if(s){let e=s.safeParse(a);if(!e.success)return{kind:`parse-error`,reason:`params`,chain:i,errors:e.error}}let c=o.search;if(c){let e=R(n),t=c.safeParse(e);if(!t.success)return{kind:`parse-error`,reason:`search`,chain:i,errors:t.error}}return{kind:`matched`,chain:i}}function se(e,t){let n=t.replace(/\/+$/,``);return e===n?``:e.startsWith(n+`/`)?e.slice(n.length):e}function ce(e){let t=e.replace(/^\/+|\/+$/g,``);return t===``?[]:t.split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}})}function le(e){let t=e.replace(/^\/+|\/+$/g,``);return t===``?[]:t.split(`/`).map(e=>e.startsWith(`:`)?{kind:`param`,value:e.slice(1)}:{kind:`static`,value:e})}function B(e,t){let n=e.replace(/\/+$/,``),r=t.replace(/^\/+|\/+$/g,``);return r===``?n:`${n}/${r}`}function V(e,t,n){let r=B(n,e.pattern),i=le(e.pattern);if(t.length<i.length)return[];let a={};for(let e=0;e<i.length;e++){let n=i[e],r=t[e];if(!r)return[];if(n.kind===`static`){if(n.value!==r)return[]}else a[n.value]=r}let o={absolutePattern:r,route:e,rawParams:a},s=t.slice(i.length);if(s.length===0)return[o];if(e.children&&e.children.length>0)for(let t of e.children){let e=V(t,s,r);if(e.length>0)return[o,...e]}return[]}function H(e){let t={};for(let n of e)Object.assign(t,n.rawParams);return t}var U=/:([A-Za-z_][A-Za-z0-9_]*)/g;function W(e,t){return e.replace(U,(e,n)=>{let r=t[n];return r===void 0?`:${n}`:encodeURIComponent(r)})}var G=`/workspaces`;function ue(e,t){let n=de(e),r=n?M.get(n):void 0;if(!r)return{kind:`redirect`,path:G};let i=O(r);if(!i)return{kind:`redirect`,path:G};for(let n of r.activities){let r=z(n.root,e,t,n.pattern);if(r.kind===`matched`)return{kind:`ok`};if(r.kind===`parse-error`)return r.reason===`params`?{kind:`redirect`,path:i.pattern}:{kind:`redirect`,path:e}}return{kind:`redirect`,path:i.pattern}}function de(e){let t=e.replace(/^\/+/,``);return t?t.split(`/`)[0]??null:null}var K=null;function fe(e){K=e}function pe(e,t,n){let r=j.get(e);return r?he(r.absolutePattern,t,n):`/`}function me(e,t,n,r){let i=pe(e,t,n);K?.navigate(i,r)}function he(e,t,n){return`${W(e,t??{})}${n?oe(n):``}`}var ge=Symbol(`skill-creator:portal-target`),_e=Symbol(`skill-creator:app-context`);function ve(e){b(ge,e)}function ye(e){b(_e,e)}var q=Symbol(`skill-creator:router`);function be(e){b(q,{get:e})}function xe(){if(!x(q))return;let e=u(q).get;return()=>e().params}function Se(){if(!x(q))return;let e=u(q).get;return()=>e().search}function J(e){let t=e.replace(/^\/+|\/+$/g,``);if(!t)return null;let n=t.split(`/`),r=n[0];return r?{app:r,instanceKey:n[1]??`home`}:null}var Ce={navigate(e,t=`PUSH`){t===`REPLACE`?S(e,{replaceState:!0,keepFocus:!0,noScroll:!0}):S(e)},replace(e){this.navigate(e,`REPLACE`)}},Y=`skill-creator:device-prefs`,X=w({version:E(1),theme:T([`light`,`dark`,`system`]).default(`system`),sidebarCollapsed:D().default(!1)}),Z={version:1,theme:`system`,sidebarCollapsed:!1};function Q(){if(typeof localStorage>`u`)return{...Z};try{let e=localStorage.getItem(Y);if(!e)return{...Z};let t=X.safeParse(JSON.parse(e));return t.success?t.data:{...Z}}catch{return{...Z}}}function $(e){if(!(typeof localStorage>`u`))try{let t=X.parse(e);localStorage.setItem(Y,JSON.stringify(t))}catch{}}function we(e){let t={...Q(),...e,version:1};return $(t),t}var Te=n(`<div class="app-shell-error svelte-1oszhz"> </div>`),Ee=n(`<div class="app-shell-loading svelte-1oszhz" aria-label="Loading"></div>`),De=n(`<div class="app-shell-empty svelte-1oszhz">No route matched</div>`),Oe=n(`<div class="app-shell svelte-1oszhz"><!> <div class="app-portal-root svelte-1oszhz"></div></div>`);function ke(n,u){r(u,!0);let m=_(null),b=p(()=>z(u.activity.root,C.url.pathname,C.url.search,u.activity.pattern)),x=p(()=>l(b).kind===`matched`?l(b).chain:[]),S=p(()=>k(l(x))),w=p(()=>A(l(b),l(x)));ve(()=>l(m)),ye({get manifest(){return{id:u.app.id,name:u.app.name,icon:u.app.icon}},get pathname(){return C.url.pathname}}),be(()=>({match:l(b),params:l(S),search:l(w),chain:l(x)}));let T=_(null),E=_(null),D=null,O=0;y(()=>{let t=(l(x).length>0?l(x)[l(x).length-1]:void 0)?.route,n=e(()=>D);if(!t){D=null,O+=1,f(T,null),f(E,null);return}if(n===t)return;D=t,f(T,null),f(E,null);let r=++O;t.component().then(e=>{r===O&&f(T,e.default,!0)}).catch(e=>{r===O&&f(E,e instanceof Error?e.message:String(e),!0)})});function k(e){if(e.length===0)return;let t={};for(let n of e)Object.assign(t,n.rawParams);return t}function A(e,t){if(e.kind===`no-match`||t.length===0)return;let n=t[t.length-1]?.route.search;if(!n)return;let r=n.safeParse(R(C.url.search));return r.success?r.data:void 0}var j=Oe(),M=v(j),N=e=>{var t=Te(),n=d(t);ee(()=>a(n,`Failed to load: ${l(E)??``}`)),s(e,t)},P=e=>{let t=p(()=>l(T));var n=ne(),r=te(n);i(r,()=>l(t),(e,t)=>{t(e,{})}),s(e,n)},F=e=>{var t=Ee();s(e,t)},I=e=>{var t=De();s(e,t)};o(M,e=>{l(E)?e(N):l(T)?e(P,1):l(x).length>0?e(F,2):e(I,-1)});var L=g(M,2);h(L,e=>f(m,e),()=>l(m)),t(j),s(n,j),c()}var Ae=n(`<div class="tab-empty svelte-t4mhty">Select an app from the sidebar.</div>`),je=n(`<div class="tab-outlet-root svelte-t4mhty"><!></div>`);function Me(e,n){r(n,!0);let i=p(()=>C.url.pathname),a=p(()=>J(l(i))?.app??null),u=p(()=>l(a)?M.get(l(a)):null);m(()=>{let e=ue(l(i),C.url.search);e.kind===`redirect`&&(e.path!==l(i)||C.url.search)&&Ce.replace(e.path)});let d=p(()=>{if(!l(u))return null;for(let e of l(u).activities)if(z(e.root,l(i),C.url.search,e.pattern).kind===`matched`)return e;return l(u).activities.find(e=>e.entry)??l(u).activities[0]??null});var f=je(),h=v(f),g=e=>{ke(e,{get app(){return l(u)},get activity(){return l(d)}})},_=e=>{var t=Ae();s(e,t)};o(h,e=>{l(u)&&l(d)?e(g):e(_,-1)}),t(f),s(e,f),c()}export{xe as a,fe as c,ie as d,N as f,J as i,ae as l,Q as n,Se as o,M as p,we as r,me as s,Me as t,re as u};
@@ -0,0 +1,5 @@
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,o as te,s as ne}from"./ryZsHFfK.js";import{a as N,b as re,s as P,t as F,v as ie,x as ae}from"./BBqlAyUm.js";import{i as I,t as oe,u as L}from"./Cbsk109T.js";import{n as R}from"./1aUphu7Y.js";import{n as z,t as B}from"./DnPeA-9c.js";import{t as V}from"./UeEccMjN.js";import{t as se}from"./BIfnT_mK.js";import{g as ce}from"./CIyEiZkz.js";import{t as le}from"./Bs27XW8_.js";import{t as ue}from"./CeR4do8T.js";import{t as H}from"./Bl0jjuyR.js";import{t as de}from"./D8Der6oM.js";var U=F(N),W=F(N),G=F(N),K=F(N);async function fe(e){let t=U.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 pe(){let e=W.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 me(e){let t=G.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 he(e){let t=K.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 ge={edit:{id:`finding-propose-edit-v1`,version:1,render:({skillName:e,findingId:t,observedRevision:n})=>`请针对引用的技能($${e} 芯片)执行 intelligence_propose_edit 工具调用:finding ${t}(观察于 revision ${n})。依据 finding 证据起草编辑提案(frontmatter 与正文的具体修改逐条列出);先调用工具,再向我复述提案要点。`},disable:{id:`finding-propose-disable-v1`,version:1,render:({skillName:e,findingId:t,observedRevision:n})=>`请针对引用的技能($${e} 芯片)执行 intelligence_propose_disable 工具调用:finding ${t}(观察于 revision ${n})。起草禁用提案并说明恢复路径;先调用工具,再向我复述提案要点。`},split:{id:`finding-propose-split-v1`,version:1,render:({skillName:e,findingId:t,observedRevision:n})=>`请针对引用的技能($${e} 芯片)执行 intelligence_propose_split 工具调用:finding ${t}(观察于 revision ${n})。按 finding 指出的职责混同起草拆分提案(目标边界逐条列出);先调用工具,再向我复述提案要点。`},merge:{id:`finding-propose-merge-v1`,version:1,render:({skillName:e,findingId:t,observedRevision:n})=>`请针对引用的技能($${e} 芯片)执行 intelligence_propose_merge 工具调用:finding ${t}(观察于 revision ${n})。按 finding 指出的重复职责起草合并提案(保留主体与吸收项逐条列出);先调用工具,再向我复述提案要点。`}},q=new Set([`$$slots`,`$$events`,`$$legacy`]);function _e(e,t){let n=w(t,q),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 J=new Set([`$$slots`,`$$events`,`$$legacy`]);function ve(e,t){let n=w(t,J),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 Y=new Set([`$$slots`,`$$events`,`$$legacy`]);function ye(e,t){let n=w(t,Y),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 X=new Set([`$$slots`,`$$events`,`$$legacy`]);function be(e,t){let n=w(t,X),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 xe=r(`<!> Analyzing…`,1),Se=r(`<!> `,1),Ce=r(`<div class="flex items-center gap-2 py-6 text-xs text-muted-foreground"><!> Loading skills…</div>`),we=r(`<div class="flex flex-col items-start gap-2 py-6 text-xs text-destructive"><p class="break-words"> </p> <!></div>`),Te=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
+ structural findings with evidence.</p></div>`),Ee=r(`<li class="text-muted-foreground"> </li>`),De=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>`),Oe=f(`<line></line>`),ke=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>`),Ae=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
+ node to open its detail.</p></section>`),je=r(`<p class="py-6 text-xs text-muted-foreground">No findings at this severity.</p>`),Me=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>`),Ne=r(`<button type="button" class="text-[11px] text-primary underline-offset-2 hover:underline"> </button>`),Pe=r(`<!> Ask agent: edit`,1),Fe=r(`<!> Ask agent: split`,1),Ie=r(`<!> Ask agent: merge`,1),Le=r(`<!> Ask agent: disable`,1),Re=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>`),ze=r(`<ul class="space-y-2"></ul>`),Be=r(`<!> Refresh`,1),Ve=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
+ approve it here.</p>`),He=r(`<!> Reject`,1),Ue=r(`<!> Approve`,1),We=r(`<p> </p>`),Ge=r(`<p class="mt-1 text-destructive">This proposal is stale. Re-analyze, then create a fresh proposal.</p>`),Ke=r(`<div class="border-b border-border/60 px-3 py-2 text-[11px]"><!> <!></div>`),qe=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>`),Je=r(`<p class="leading-4 text-muted-foreground"> </p>`),Ye=r(`<p class="text-muted-foreground">Loading current document…</p>`),Xe=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),Ze=r(`<p class="rounded border border-border bg-muted/20 p-2 leading-4"> </p>`),Qe=r(`<li><span class="font-medium"> </span> <span class="text-muted-foreground"> </span></li>`),$e=r(`<ul class="space-y-1"></ul>`),et=r(`<p><span class="font-medium"> </span> <span class="text-muted-foreground"> </span></p> <p class="text-muted-foreground"> </p>`,1),tt=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>`),nt=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>`),rt=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),it=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 at(r,f){i(f,!0);let p=M(),w=te(),D=_(()=>p?.()?.wsId),j=_(()=>p?.()?.providerId),P=_(()=>w?.()??{}),U=_(()=>m(P).severity??`all`),W=_(()=>{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}}),G=S(null),K=S(k([])),q=S(!1),J=S(null);F(N),E(()=>{m(W)&&I(m(W))});async function Y(){let t=m(W);if(!t||m(q))return;let n=e(()=>L.skills);if(n.length===0){R(`No skills discovered in this provider.`);return}g(q,!0),g(J,null);try{let e=await fe(n.map(e=>({...t,skillId:e.id})));if(!e.report&&!e.error)return;if(g(G,e.report,!0),g(K,e.failures,!0),g(J,e.error,!0),e.report){let t=X(e.report.findings);R(`Analyzed ${e.report.snapshots.length} skills · ${t.error} errors · ${t.warning} warnings.`)}}finally{g(q,!1)}}function X(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 at=_(()=>m(G)?m(U)===`all`?m(G).findings:m(G).findings.filter(e=>e.severity===m(U)):[]);function ot(e){m(D)&&m(j)&&ne(`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(G)?.snapshots??[])e.set(t.skillId,t.name);return t=>e.get(t)??t});function ct(e){m(D)&&m(j)&&ne(`workspaces.provider`,{wsId:m(D),providerId:m(j)},{skill:e,view:`detail`})}let lt=S(k([])),ut=S(!1),Z=S(null),Q=S(null),dt=S(null),ft=S(k({})),pt=S(null);E(()=>{mt()});async function mt(){g(ut,!0);try{let e=await pe();e.proposals&&g(lt,e.proposals,!0)}finally{g(ut,!1)}}async function ht(e){if(g(pt,m(pt)===e.id?null:e.id,!0),m(pt)===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 oe(t.selection,e.data);g(ft,{...m(ft),[t.selection.skillId]:n},!0)}catch{}}}async function gt(e){if(!m(Z)){g(Z,e.id,!0);try{let{result:t,error:n}=await he(e.id);if(n){R(n);return}if(!t)return;g(dt,{proposalId:e.id,result:t},!0),t.conflicts>0?R(`${t.conflicts} conflict(s): skill changed after the proposal. Re-analyze.`,{label:`Re-analyze`,run:()=>void Y()}):t.failed>0?R(`Applied with ${t.failed} failure(s).`):R(`Applied ${t.applied} change(s).`),await mt(),await _t()}finally{g(Z,null)}}}async function _t(){let e=m(W);e&&await I(e)}async function vt(e){if(!m(Q)){g(Q,e.id,!0);try{let{error:t}=await me(e.id);t&&R(t),await mt()}finally{g(Q,null)}}}function yt(e,t){let n=m(W);if(!n)return;let r=ie.safeParse(t.skillIds[0]);if(!r.success)return;let i=m(G)?.snapshots.find(e=>e.skillId===r.data);if(!i)return;let a=ge[e];ce({action:e,text:a.render({skillName:i.name,findingId:t.id,observedRevision:i.revision}),skill:{...n,skillId:r.data},skillName:i.name,findingId:t.id,observedRevision:i.revision,templateId:a.id,templateVersion:a.version})}let $=_(()=>{let e=m(G)?.snapshots??[];if(e.length<2)return null;let t=Math.min(1600,Math.max(560,e.length*72)),n=e.length>14?420:360,r=t/2-70,i=n/2-70,a={x:t/2,y:n/2},o=e.map((t,n)=>{let o=n/e.length*Math.PI*2-Math.PI/2;return{skillId:t.skillId,name:t.name,label:t.name.length>14?`${t.name.slice(0,13)}…`:t.name,labelDy:n%2==0?32:-26,x:a.x+r*Math.cos(o),y:a.y+i*Math.sin(o)}}),s=new Map(o.map((e,t)=>[e.skillId,t]));return{width:t,height:n,nodes:o,edges:(m(G)?.edges??[]).map(e=>{let t=s.get(e.skillIds[0]),n=s.get(e.skillIds[1]);return t===void 0||n===void 0?null:{kind:e.kind,from:o[t],to:o[n]}}).filter(e=>e!==null)}}),bt={error:`destructive`,warning:`secondary`,info:`outline`};var xt=it(),St=T(xt),Ct=T(St),wt=T(Ct);V(wt,{class:`h-5 w-5 text-primary`});var Tt=b(wt,2),Et=b(T(Tt),2),Dt=h(Et);n(Tt);var Ot=b(Tt,2);z(Ot,{size:`sm`,class:`h-8 gap-1.5`,get disabled(){return m(q)},onclick:()=>void Y(),children:(e,t)=>{var n=A(),r=O(n),i=e=>{var t=xe(),n=O(t);B(n,{class:`h-3.5 w-3.5 animate-spin`}),y(),c(e,t)},o=e=>{var t=Se(),n=O(t);de(n,{class:`h-3.5 w-3.5`});var r=b(n);C(()=>a(r,` Analyze ${(L.skills.length||``)??``}`)),c(e,t)};s(r,e=>{m(q)?e(i):e(o,-1)}),c(e,n)},$$slots:{default:!0}}),n(Ct),n(St);var kt=b(St,2),At=T(kt),jt=e=>{var t=Ce(),r=T(t);B(r,{class:`h-3.5 w-3.5 animate-spin`}),y(),n(t),c(e,t)},Mt=e=>{var t=we(),r=T(t),i=h(r,!0),o=b(r,2),l=e=>{z(e,{variant:`outline`,size:`sm`,class:`h-7 text-xs`,onclick:()=>void I(m(W)),children:(e,t)=>{y();var n=d(`Retry`);c(e,n)},$$slots:{default:!0}})};s(o,e=>{m(W)&&e(l)}),n(t),C(()=>a(i,L.error)),c(e,t)},Nt=e=>{var t=we(),r=T(t),i=h(r,!0),o=b(r,2);z(o,{variant:`outline`,size:`sm`,class:`h-7 text-xs`,onclick:()=>void Y(),children:(e,t)=>{y();var n=d(`Retry analysis`);c(e,n)},$$slots:{default:!0}}),n(t),C(()=>a(i,m(J))),c(e,t)},Pt=e=>{var t=Te(),r=T(t);ue(r,{class:`h-8 w-8 opacity-50`}),y(4),n(t),c(e,t)},Ft=e=>{var r=rt(),i=O(r),u=T(i);H(u,{variant:`outline`,children:(e,t)=>{y();var n=d();C(()=>a(n,`${m(G).snapshots.length??``} skills`)),c(e,n)},$$slots:{default:!0}});var f=b(u,2);H(f,{variant:`destructive`,children:(e,t)=>{y();var n=d();C(e=>a(n,`${e??``} errors`),[()=>X(m(G).findings).error]),c(e,n)},$$slots:{default:!0}});var p=b(f,2);H(p,{variant:`secondary`,children:(e,t)=>{y();var n=d();C(e=>a(n,`${e??``} warnings`),[()=>X(m(G).findings).warning]),c(e,n)},$$slots:{default:!0}});var g=b(p,2);H(g,{variant:`outline`,children:(e,t)=>{y();var n=d();C(e=>a(n,`${e??``} info`),[()=>X(m(G).findings).info]),c(e,n)},$$slots:{default:!0}});var S=b(g,2),w=e=>{H(e,{variant:`destructive`,children:(e,t)=>{y();var n=d();C(()=>a(n,`${m(K).length??``} failed to analyze`)),c(e,n)},$$slots:{default:!0}})};s(S,e=>{m(K).length>0&&e(w)});var E=b(S,4);t(E,20,()=>[`all`,`error`,`warning`,`info`],e=>e,(e,t)=>{{let n=_(()=>m(U)===t?`default`:`outline`);z(e,{get variant(){return m(n)},size:`sm`,class:`h-7 px-2 text-xs capitalize`,onclick:()=>ot(t),children:(e,n)=>{y();var r=d();C(()=>a(r,t)),c(e,r)},$$slots:{default:!0}})}}),n(E),n(i);var D=b(i,2),k=e=>{var r=De(),i=b(T(r),2);t(i,21,()=>m(K),e=>e.message,(e,t)=>{var n=Ee(),r=h(n);C(()=>a(r,`${m(t).code??``}: ${m(t).message??``}`)),c(e,n)}),n(i),n(r),c(e,r)};s(D,e=>{m(K).length>0&&e(k)});var A=b(D,2),j=e=>{var r=Ae(),i=b(T(r),2),s=T(i),l=T(s);t(l,17,()=>m($).edges,v,(e,t)=>{var n=Oe();C(()=>{x(n,`x1`,m(t).from.x),x(n,`y1`,m(t).from.y),x(n,`x2`,m(t).to.x),x(n,`y2`,m(t).to.y),x(n,`stroke`,m(t).kind===`conflict`?`var(--destructive, crimson)`:m(t).kind===`overlap`?`var(--primary, steelblue)`:`var(--muted-foreground, gray)`),x(n,`stroke-width`,m(t).kind===`conflict`?2:1.2),x(n,`stroke-dasharray`,m(t).kind===`shared-resource`?`4 3`:void 0)}),c(e,n)});var u=b(l);t(u,17,()=>m($).nodes,e=>e.skillId,(e,t)=>{var r=ke(),i=T(r),s=h(i,!0),l=b(i),u=b(l),d=h(u,!0);n(r),C(()=>{x(r,`aria-label`,`Open ${m(t).name??``} detail`),a(s,m(t).name),x(l,`cx`,m(t).x),x(l,`cy`,m(t).y),x(u,`x`,m(t).x),x(u,`y`,m(t).y+m(t).labelDy),a(d,m(t).label)}),o(`click`,r,()=>ct(m(t).skillId)),o(`keydown`,r,e=>e.key===`Enter`&&ct(m(t).skillId)),c(e,r)}),n(s),n(i),y(2),n(r),C(()=>{x(s,`width`,m($).width),x(s,`height`,m($).height)}),c(e,r)};s(A,e=>{m($)&&e(j)});var M=b(A,2),te=b(T(M),2),ne=e=>{var t=je();c(e,t)},N=e=>{var r=ze();t(r,21,()=>m(at),e=>e.id,(e,r)=>{var i=Re(),l=T(i),u=T(l),f=e=>{le(e,{class:`h-4 w-4 shrink-0 text-destructive`})},p=e=>{ue(e,{class:`h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`})},g=e=>{ve(e,{class:`h-4 w-4 shrink-0 text-muted-foreground`})};s(u,e=>{m(r).severity===`error`?e(f):m(r).severity===`warning`?e(p,1):e(g,-1)});var _=b(u,2),v=h(_,!0),x=b(_,2);H(x,{get variant(){return bt[m(r).severity]},class:`text-[10px]`,children:(e,t)=>{y();var n=d();C(()=>a(n,m(r).kind)),c(e,n)},$$slots:{default:!0}}),n(l);var S=b(l,2),w=T(S);t(w,21,()=>m(r).evidence,e=>e.label+e.snippet,(e,t)=>{var r=Me(),i=T(r),o=h(i),s=b(i,2),l=h(s,!0);n(r),C(()=>{a(o,`${m(t).label??``}:`),a(l,m(t).snippet)}),c(e,r)}),n(w);var E=b(w,2),D=T(E);t(D,16,()=>m(r).skillIds,e=>e,(e,t)=>{var n=Ne(),r=h(n,!0);C(e=>a(r,e),[()=>m(st)(t)]),o(`click`,n,()=>ct(t)),c(e,n)});var k=b(D,4),ee=e=>{z(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1 px-2 text-[11px]`,disabled:!1,onclick:()=>yt(`edit`,m(r)),children:(e,t)=>{var n=Pe(),r=O(n);V(r,{class:`h-3 w-3`}),y(),c(e,n)},$$slots:{default:!0}})};s(k,e=>{m(r).skillIds.length===1&&m(r).kind!==`duplicate-name`&&e(ee)});var A=b(k,2);z(A,{variant:`outline`,size:`sm`,class:`h-7 gap-1 px-2 text-[11px]`,disabled:!1,onclick:()=>yt(`split`,m(r)),children:(e,t)=>{var n=Fe(),r=O(n);V(r,{class:`h-3 w-3`}),y(),c(e,n)},$$slots:{default:!0}});var j=b(A,2);z(j,{variant:`outline`,size:`sm`,class:`h-7 gap-1 px-2 text-[11px]`,disabled:!1,onclick:()=>yt(`merge`,m(r)),children:(e,t)=>{var n=Ie(),r=O(n);V(r,{class:`h-3 w-3`}),y(),c(e,n)},$$slots:{default:!0}});var M=b(j,2);z(M,{variant:`outline`,size:`sm`,class:`h-7 gap-1 px-2 text-[11px]`,disabled:!1,onclick:()=>yt(`disable`,m(r)),children:(e,t)=>{var n=Le();ye(O(n),{class:`h-3 w-3`}),y(),c(e,n)},$$slots:{default:!0}}),n(E),n(S),n(i),C(()=>a(v,m(r).message)),c(e,i)}),n(r),c(e,r)};s(te,e=>{m(at).length===0?e(ne):e(N,-1)}),n(M);var re=b(M,2),P=T(re),F=b(T(P),2),ie=e=>{B(e,{class:`h-3 w-3 animate-spin text-muted-foreground`})};s(F,e=>{m(ut)&&e(ie)});var ae=b(F,4);z(ae,{variant:`ghost`,size:`sm`,class:`h-7 gap-1 px-2 text-xs`,onclick:()=>void mt(),children:(e,t)=>{var n=Be(),r=O(n);se(r,{class:`h-3 w-3`}),y(),c(e,n)},$$slots:{default:!0}}),n(P);var I=b(P,2),oe=e=>{var t=Ve();c(e,t)},L=e=>{var r=ze();t(r,21,()=>m(lt),e=>e.id,(e,r)=>{let i=_(()=>m(dt)?.proposalId===m(r).id?m(dt).result:null);var u=nt(),d=T(u),f=T(d),p=e=>{V(e,{class:`h-4 w-4 shrink-0 text-primary`})},g=e=>{ye(e,{class:`h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`})},v=e=>{be(e,{class:`h-4 w-4 shrink-0 text-primary`})},x=e=>{_e(e,{class:`h-4 w-4 shrink-0 text-primary`})};s(f,e=>{m(r).payload.kind===`edit`?e(p):m(r).payload.kind===`disable`?e(g,1):m(r).payload.kind===`split`?e(v,2):e(x,-1)});var S=b(f,2),w=h(S),E=b(S,2);{let e=_(()=>m(Q)===m(r).id);z(E,{variant:`outline`,size:`sm`,class:`h-7 px-2 text-[11px]`,get disabled(){return m(e)},onclick:()=>void vt(m(r)),children:(e,t)=>{var n=He(),i=O(n),a=e=>{B(e,{class:`h-3 w-3 animate-spin`})};s(i,e=>{m(Q)===m(r).id&&e(a)}),y(),c(e,n)},$$slots:{default:!0}})}var D=b(E,2);{let e=_(()=>m(Z)===m(r).id||m(i)!==null&&m(i).conflicts>0);z(D,{size:`sm`,class:`h-7 px-2 text-[11px]`,get disabled(){return m(e)},onclick:()=>void gt(m(r)),children:(e,t)=>{var n=Ue(),i=O(n),a=e=>{B(e,{class:`h-3 w-3 animate-spin`})};s(i,e=>{m(Z)===m(r).id&&e(a)}),y(),c(e,n)},$$slots:{default:!0}})}n(d);var k=b(d,2),A=e=>{var r=Ke(),o=T(r);t(o,17,()=>m(i).results,e=>e.skillId,(e,t)=>{var n=We(),r=h(n);C(e=>{ee(n,1,l(m(t).status===`applied`?`text-emerald-600 dark:text-emerald-400`:m(t).status===`conflict`?`text-destructive`:`text-muted-foreground`)),a(r,`${e??``} — ${m(t).status??``}${m(t).error?`: ${m(t).error}`:``}`)},[()=>m(st)(m(t).skillId)]),c(e,n)});var u=b(o,2),d=e=>{var t=Ge();c(e,t)};s(u,e=>{m(i).conflicts>0&&e(d)}),n(r),c(e,r)};s(k,e=>{m(i)&&e(A)});var j=b(k,2),M=e=>{var i=tt(),l=T(i),u=h(l,!0),d=b(l,2),f=h(d),p=b(d,2);t(p,21,()=>m(r).observedRevisions,e=>e.skillId,(e,t)=>{var r=qe(),i=T(r),s=h(i,!0),l=b(i,2),u=h(l);n(r),C((e,t)=>{a(s,e),a(u,`${t??``}…`)},[()=>m(st)(m(t).skillId),()=>m(t).revision.slice(0,19)]),o(`click`,i,()=>ct(m(t).skillId)),c(e,r)}),n(p);var g=b(p,2),v=e=>{let t=_(()=>m(r).payload.edits[0]),i=_(()=>m(ft)[m(t).selection.skillId]);var o=Xe(),l=O(o),u=T(l),d=b(T(u),2),f=e=>{var t=Je(),n=h(t,!0);C(()=>a(n,m(i).description)),c(e,t)},p=e=>{var t=Ye();c(e,t)};s(d,e=>{m(i)?e(f):e(p,-1)}),n(u);var g=b(u,2),v=b(T(g),2),y=h(v,!0);n(g),n(l);var x=b(l,2),S=b(T(x),2),w=h(S,!0);n(x),C(()=>{a(y,m(t).frontmatter.description),a(w,m(t).body)}),c(e,o)},y=e=>{var t=Ze(),n=h(t);C(()=>a(n,`Reason: ${m(r).payload.reason??``}`)),c(e,t)},x=e=>{var i=$e();t(i,21,()=>m(r).payload.targets,e=>e.directoryName,(e,t)=>{var r=Qe(),i=T(r),o=h(i,!0),s=b(i,2),l=h(s);n(r),C(()=>{a(o,m(t).directoryName),a(l,`— ${m(t).frontmatter.description??``}`)}),c(e,r)}),n(i),c(e,i)},S=e=>{var t=et(),i=O(t),o=T(i),s=h(o,!0),l=b(o,2),u=h(l);n(i);var d=b(i,2),f=h(d);C(()=>{a(s,m(r).payload.target.directoryName),a(u,`— ${m(r).payload.target.frontmatter.description??``}`),a(f,`Merges ${m(r).payload.sources.length??``} sources; approving removes them revision-safely.`)}),c(e,t)};s(g,e=>{m(r).payload.kind===`edit`?e(v):m(r).payload.kind===`disable`?e(y,1):m(r).payload.kind===`split`?e(x,2):m(r).payload.kind===`merge`&&e(S,3)}),n(i),C(e=>{a(u,m(r).rationale),a(f,`Created ${e??``} · affects
5
+ ${m(r).observedRevisions.length??``} skill(s).`)},[()=>new Date(m(r).createdAt).toLocaleString()]),c(e,i)};s(j,e=>{m(pt)===m(r).id&&e(M)}),n(u),C(()=>a(w,`${m(r).payload.kind??``} · ${m(r).rationale??``}`)),o(`click`,S,()=>void ht(m(r))),c(e,u)}),n(r),c(e,r)};s(I,e=>{m(lt).length===0?e(oe):e(L,-1)}),n(re),c(e,r)};s(At,e=>{L.loading?e(jt):L.error?e(Mt,1):m(J)?e(Nt,2):m(G)?e(Ft,-1):e(Pt,3)}),n(kt),n(xt),C(()=>a(Dt,`${m(j)??`—`??``} · read-only analysis with revision-locked review.`)),c(r,xt),u()}p([`click`,`keydown`]);export{at as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BTXc1wYu.js","../chunks/CmCJ0SKP.js","../chunks/B0stYqX9.js","../chunks/HclGiUj8.js","../chunks/xihTtKlq.js","../chunks/CvO5eq4f.js","../chunks/oJ4aK8PG.js","../chunks/BkEnd9_Z.js","../chunks/Cp0lquqA.js","../chunks/DlsPNMHX.js","../chunks/Crg8KRap.js","../chunks/DnPeA-9c.js","../chunks/BEPs9Z9s.js","../chunks/D7DTLcps.js","../assets/shell.U4CQV8re.css","../chunks/BT2vrlul.js","../chunks/B_gnhZ39.js","../chunks/CdjBDc_u.js","../chunks/BgJCuTDs.js","../chunks/1aUphu7Y.js","../chunks/DZ_Kltd5.js","../chunks/DOjT7y5f.js","../chunks/DApmS1g_.js","../chunks/M-b0y9AQ.js","../chunks/Do_MDwCJ.js","../chunks/F_BrNiaz.js","../chunks/CpRvgjpe.js","../chunks/UeEccMjN.js","../chunks/BIfnT_mK.js","../chunks/Ccj5eiVa.js","../chunks/HopcQwhZ.js","../chunks/ChvFFUWR.js","../chunks/C67g-p2T.js","../assets/0.B4ZC2KQW.css","../nodes/1.BY0DmHLP.js","../nodes/2._osi8D6m.js","../nodes/3.DCVfhckZ.js"])))=>i.map(i=>d[i]);
2
- import{At as e,B as t,Ct as n,D as r,F as i,N as a,Q as o,R as s,St as c,U as l,X as u,a as d,ft as f,gt as p,i as m,it as h,l as g,lt as _,mt as v,nt as y,ot as b,r as x,rt as S,st as C,z as w}from"../chunks/CmCJ0SKP.js";import{t as T}from"../chunks/HclGiUj8.js";import"../chunks/xihTtKlq.js";var E={},D=t(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=t(`<!> <!>`,1);function k(t,m){n(m,!0);let T=d(m,`components`,23,()=>[]),E=d(m,`data_0`,3,null),k=d(m,`data_1`,3,null);h(()=>m.stores.page.set(m.page)),S(()=>{m.stores,m.page,m.constructors,T(),m.form,E(),k(),m.stores.page.notify()});let A=v(!1),j=v(!1),M=v(null);x(()=>{let e=m.stores.page.subscribe(()=>{u(A)&&(f(j,!0),o().then(()=>{f(M,document.title||`untitled page`,!0)}))});return f(A,!0),e});let N=p(()=>m.constructors[1]);var P=O(),F=C(P),I=e=>{let t=p(()=>m.constructors[0]);var n=w(),i=C(n);r(i,()=>u(t),(e,t)=>{g(t(e,{get data(){return E()},get form(){return m.form},get params(){return m.page.params},children:(e,t)=>{var n=w(),i=C(n);r(i,()=>u(N),(e,t)=>{g(t(e,{get data(){return k()},get form(){return m.form},get params(){return m.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),s(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,n)},L=e=>{let t=p(()=>m.constructors[0]);var n=w(),i=C(n);r(i,()=>u(t),(e,t)=>{g(t(e,{get data(){return E()},get form(){return m.form},get params(){return m.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,n)};a(F,e=>{m.constructors[1]?e(I):e(L,-1)});var R=_(F,2),z=t=>{var n=D(),r=b(n),o=e=>{var t=l();y(()=>i(t,u(M))),s(e,t)};a(r,e=>{u(j)&&e(o)}),e(n),s(t,n)};a(R,e=>{u(A)&&e(z)}),s(t,P),c()}var A=m(k),j=[()=>T(()=>import(`../nodes/0.BTXc1wYu.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]),import.meta.url),()=>T(()=>import(`../nodes/1.BY0DmHLP.js`),__vite__mapDeps([34,1,4,5,2]),import.meta.url),()=>T(()=>import(`../nodes/2._osi8D6m.js`),__vite__mapDeps([35,1,2,4,6,20]),import.meta.url),()=>T(()=>import(`../nodes/3.DCVfhckZ.js`),__vite__mapDeps([36,1,4,20]),import.meta.url)],M=[],N={"/":[2],"/[...catch]":[3]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t),z=()=>T(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{R as decode,F as decoders,N as dictionary,I as encoders,z as get_error_template,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.QaOeKSa7.js","../chunks/CmCJ0SKP.js","../chunks/CAmktO2F.js","../chunks/HclGiUj8.js","../chunks/xihTtKlq.js","../chunks/BehT3C1z.js","../chunks/CZQgUTNL.js","../chunks/BkEnd9_Z.js","../chunks/aUJoMDp6.js","../chunks/BBqlAyUm.js","../chunks/ryZsHFfK.js","../assets/shell.U4CQV8re.css","../chunks/BT2vrlul.js","../chunks/QmXxFt1D.js","../chunks/Cbsk109T.js","../chunks/DzSJuxmI.js","../chunks/1aUphu7Y.js","../chunks/DC5f4JBB.js","../chunks/DnPeA-9c.js","../chunks/BEPs9Z9s.js","../chunks/a0LlqeqU.js","../chunks/DZ_Kltd5.js","../chunks/DOjT7y5f.js","../chunks/DApmS1g_.js","../chunks/M-b0y9AQ.js","../chunks/CjZfvtzv.js","../chunks/F_BrNiaz.js","../chunks/CpRvgjpe.js","../chunks/UeEccMjN.js","../chunks/BIfnT_mK.js","../chunks/CIyEiZkz.js","../chunks/HopcQwhZ.js","../chunks/ChvFFUWR.js","../chunks/C67g-p2T.js","../assets/0.DSuWfqBb.css","../nodes/1.D-EmaRZH.js","../nodes/2.CGLbUjuZ.js","../nodes/3.DCVfhckZ.js"])))=>i.map(i=>d[i]);
2
+ import{At as e,B as t,Ct as n,D as r,F as i,N as a,Q as o,R as s,St as c,U as l,X as u,a as d,ft as f,gt as p,i as m,it as h,l as g,lt as _,mt as v,nt as y,ot as b,r as x,rt as S,st as C,z as w}from"../chunks/CmCJ0SKP.js";import{t as T}from"../chunks/HclGiUj8.js";import"../chunks/xihTtKlq.js";var E={},D=t(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=t(`<!> <!>`,1);function k(t,m){n(m,!0);let T=d(m,`components`,23,()=>[]),E=d(m,`data_0`,3,null),k=d(m,`data_1`,3,null);h(()=>m.stores.page.set(m.page)),S(()=>{m.stores,m.page,m.constructors,T(),m.form,E(),k(),m.stores.page.notify()});let A=v(!1),j=v(!1),M=v(null);x(()=>{let e=m.stores.page.subscribe(()=>{u(A)&&(f(j,!0),o().then(()=>{f(M,document.title||`untitled page`,!0)}))});return f(A,!0),e});let N=p(()=>m.constructors[1]);var P=O(),F=C(P),I=e=>{let t=p(()=>m.constructors[0]);var n=w(),i=C(n);r(i,()=>u(t),(e,t)=>{g(t(e,{get data(){return E()},get form(){return m.form},get params(){return m.page.params},children:(e,t)=>{var n=w(),i=C(n);r(i,()=>u(N),(e,t)=>{g(t(e,{get data(){return k()},get form(){return m.form},get params(){return m.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),s(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,n)},L=e=>{let t=p(()=>m.constructors[0]);var n=w(),i=C(n);r(i,()=>u(t),(e,t)=>{g(t(e,{get data(){return E()},get form(){return m.form},get params(){return m.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),s(e,n)};a(F,e=>{m.constructors[1]?e(I):e(L,-1)});var R=_(F,2),z=t=>{var n=D(),r=b(n),o=e=>{var t=l();y(()=>i(t,u(M))),s(e,t)};a(r,e=>{u(j)&&e(o)}),e(n),s(t,n)};a(R,e=>{u(A)&&e(z)}),s(t,P),c()}var A=m(k),j=[()=>T(()=>import(`../nodes/0.QaOeKSa7.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]),import.meta.url),()=>T(()=>import(`../nodes/1.D-EmaRZH.js`),__vite__mapDeps([35,1,4,5,2]),import.meta.url),()=>T(()=>import(`../nodes/2.CGLbUjuZ.js`),__vite__mapDeps([36,1,2,4,6,21]),import.meta.url),()=>T(()=>import(`../nodes/3.DCVfhckZ.js`),__vite__mapDeps([37,1,4,21]),import.meta.url)],M=[],N={"/":[2],"/[...catch]":[3]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t),z=()=>T(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{R as decode,F as decoders,N as dictionary,I as encoders,z as get_error_template,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
@@ -0,0 +1 @@
1
+ import{o as e,r as t}from"../chunks/CAmktO2F.js";export{e as load_css,t as start};