@inkeep/open-knowledge 0.30.0-beta.0 → 0.30.0-beta.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 (76) hide show
  1. package/dist/assets/skills/discovery/SKILL.md +1 -1
  2. package/dist/assets/skills/project/SKILL.md +1 -1
  3. package/dist/cli.mjs +6 -6
  4. package/dist/constants-ruS6yqIq.mjs +2 -0
  5. package/dist/{dist-DU6kAT_L.mjs → dist-BbS1zQiy.mjs} +4 -4
  6. package/dist/{dist-BC-5uOuA.mjs → dist-ClIxicL4.mjs} +1 -1
  7. package/dist/{gh-detect-C8cgnhPS.mjs → gh-detect-Co-jRtcQ.mjs} +2 -2
  8. package/dist/index.d.mts +5 -4
  9. package/dist/index.mjs +1 -1
  10. package/dist/init-CZ1SNbzi.mjs +695 -0
  11. package/dist/init-YPWG3akm.mjs +1 -0
  12. package/dist/{loader-Bu_CIw6G.mjs → loader-B0Twaq2k.mjs} +2 -2
  13. package/dist/loader-_YxuPUFp.mjs +1 -0
  14. package/dist/{open-browser-Csh_BnzS.mjs → open-browser-DMRT-DpW.mjs} +2 -2
  15. package/dist/{preview-CrxTN9jZ.mjs → preview-CNYn-min.mjs} +2 -2
  16. package/dist/preview-Nr0DWwkh.mjs +1 -0
  17. package/dist/public/assets/{ActivityModeContent-5_bqDHKH.js → ActivityModeContent-mVRGV66w.js} +1 -1
  18. package/dist/public/assets/{CodeMirrorPropInput-BseWsWBZ.js → CodeMirrorPropInput-D5H6xSL_.js} +1 -1
  19. package/dist/public/assets/{DocumentContext-CJECYBYb.js → DocumentContext-CKEIVeX1.js} +1 -1
  20. package/dist/public/assets/{EnableSyncConfirmDialog-J2fWLuKx.js → EnableSyncConfirmDialog-BLuCj6gn.js} +1 -1
  21. package/dist/public/assets/{GraphPanel-D-EeiCv_.js → GraphPanel-B4d24Bm9.js} +1 -1
  22. package/dist/public/assets/{ManagedArtifactProperties-BrMSVlga.js → ManagedArtifactProperties-D-LbzNYB.js} +1 -1
  23. package/dist/public/assets/{McpConsentDialogBody-BeIUh4bz.js → McpConsentDialogBody-IQQRiBVd.js} +1 -1
  24. package/dist/public/assets/{MermaidDocEditor-LaRaKhRV.js → MermaidDocEditor-CdV2PRKa.js} +1 -1
  25. package/dist/public/assets/{PropertyPanel-DDXKhF6k.js → PropertyPanel-B7eV5Tcu.js} +1 -1
  26. package/dist/public/assets/{SettingsDialogBody-Bfut9hkr.js → SettingsDialogBody-DACGgbgK.js} +1 -1
  27. package/dist/public/assets/{ShareBranchSwitchDialog-CSO2vi9J.js → ShareBranchSwitchDialog-BJmWeDPf.js} +1 -1
  28. package/dist/public/assets/{ShareReceiveDialog-DddOjvn2.js → ShareReceiveDialog-BVOJDKXk.js} +1 -1
  29. package/dist/public/assets/{ShareReceiveMissDialog-CysnnPRz.js → ShareReceiveMissDialog-CH6uraGh.js} +1 -1
  30. package/dist/public/assets/{SkillEditorActions-B0MNz80x.js → SkillEditorActions-1SA0Sfoq.js} +1 -1
  31. package/dist/public/assets/{SourceEditor-B663Yw8O.js → SourceEditor-BA4ZZSKZ.js} +1 -1
  32. package/dist/public/assets/{TerminalPanel-D6hQKvpb.js → TerminalPanel-Cvai8HvA.js} +1 -1
  33. package/dist/public/assets/{agent-presence-SWQihO8a.js → agent-presence-CWtl35ms.js} +1 -1
  34. package/dist/public/assets/{auth-state-cache-DJAi3NoE.js → auth-state-cache-ROXaeSig.js} +1 -1
  35. package/dist/public/assets/{config-provider-DptJpHL2.js → config-provider-C7vWo2tJ.js} +1 -1
  36. package/dist/public/assets/{dist-CMWIIV76.js → dist-C-f1kbPA.js} +1 -1
  37. package/dist/public/assets/{dist-Chq5t0fA.js → dist-DN4vicwQ.js} +1 -1
  38. package/dist/public/assets/{doc-hash-KNy1saqI.js → doc-hash-BRcc1l8V.js} +1 -1
  39. package/dist/public/assets/{documents-events-kyp3S2Nf.js → documents-events-Z18kbrmq.js} +1 -1
  40. package/dist/public/assets/{file-tree-adapter-BrTWXp63.js → file-tree-adapter-DJIk8Mtr.js} +1 -1
  41. package/dist/public/assets/{index-gPUerME8.js → index-DrjcjzLS.js} +7 -7
  42. package/dist/public/assets/{keyboard-shortcuts-BMEqPQU6.js → keyboard-shortcuts-DVv_UWZp.js} +1 -1
  43. package/dist/public/assets/{navigation-targets-B4NGITKp.js → navigation-targets-2KIKb2N7.js} +1 -1
  44. package/dist/public/assets/{open-managed-artifact-tab-D20KCZaE.js → open-managed-artifact-tab-BYHLuUIG.js} +1 -1
  45. package/dist/public/assets/{pending-receive-nav-store-CHWJDSOf.js → pending-receive-nav-store-DynS4M_y.js} +1 -1
  46. package/dist/public/assets/{prop-types-Ci7AGShX.js → prop-types-CdM6RVrV.js} +1 -1
  47. package/dist/public/assets/{receive-store-BzfAUT48.js → receive-store-BBXikFBW.js} +1 -1
  48. package/dist/public/assets/{selection-context-BoRyg1Sb.js → selection-context-DM7dh9w8.js} +1 -1
  49. package/dist/public/assets/{skill-actions-CW-DAvgj.js → skill-actions-BGFjwgz8.js} +1 -1
  50. package/dist/public/assets/{skills-api-DhQjjD9F.js → skills-api-BOT-8Fw4.js} +1 -1
  51. package/dist/public/assets/{src-B1E05HAZ.js → src-D2FMxg7w.js} +1 -1
  52. package/dist/public/assets/{target-navigation-intent-DSkE5CGB.js → target-navigation-intent-OcEXysbL.js} +1 -1
  53. package/dist/public/assets/{typing-burst-detector-0adggLGY.js → typing-burst-detector-BFnDTZhU.js} +1 -1
  54. package/dist/public/assets/{workspace-paths-CLhojMmt.js → workspace-paths-DAj8e6IA.js} +1 -1
  55. package/dist/public/index.html +25 -25
  56. package/dist/{repair-launch-json-B5iZEpFW.mjs → repair-launch-json-CERDu05c.mjs} +2 -2
  57. package/dist/{repair-mcp-configs-DqSXFZsw.mjs → repair-mcp-configs-CHisR-P4.mjs} +2 -2
  58. package/dist/{repair-skills-C_l1phOf.mjs → repair-skills-B_uZNXYU.mjs} +2 -2
  59. package/dist/repair-skills-DzXDE27i.mjs +1 -0
  60. package/dist/server-lock-GuuouVft-DP6WTOjI.mjs +1 -0
  61. package/dist/{server-lock-iLcBw_q0-CdaRzkXM.mjs → server-lock-iLcBw_q0-i_GNVPAP.mjs} +2 -2
  62. package/dist/src-DZiSWqgp.mjs +11 -0
  63. package/dist/{start-C8xPgt3v.mjs → start-DIaR6Cov.mjs} +2 -2
  64. package/dist/start-PB9hDssp.mjs +1 -0
  65. package/dist/write-project-skill-DXeyiTpq.mjs +36 -0
  66. package/package.json +1 -1
  67. package/dist/constants-WwSYoAhh.mjs +0 -2
  68. package/dist/init-BYvS_cgc.mjs +0 -1
  69. package/dist/init-BoNJQ0RQ.mjs +0 -690
  70. package/dist/loader-LvQJaM9_.mjs +0 -1
  71. package/dist/preview-Gb5GqloB.mjs +0 -1
  72. package/dist/repair-skills-B0B7a5IA.mjs +0 -1
  73. package/dist/server-lock-GuuouVft-DSQyMetL.mjs +0 -1
  74. package/dist/src-cDAswqAJ.mjs +0 -7
  75. package/dist/start-D3VXyjQg.mjs +0 -1
  76. package/dist/write-project-skill-BnCIY7g1.mjs +0 -36
@@ -1 +1 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{c as i,i as a,l as o,o as s}from"./button-cneJOVxD.js";import{t as c}from"./check-DRRCCRSs.js";import{t as l}from"./chevron-right-DSNnH-Vb.js";import{a as u,c as d,d as f,f as p,i as m,n as ee,o as h,r as g,t as _,u as v}from"./dist-BSkHa6UR.js";import{n as y,t as te}from"./dist-Dkr4jGYv.js";import{g as ne,h as re,m as ie,p as ae}from"./dialog-DdHaoAGK.js";import{a as b,i as x,n as oe,r as se,t as S}from"./dist-fpPv-rVb.js";import{n as ce,r as C,t as w}from"./dist-CyYz03up.js";import{t as T}from"./parse-api-error-CqtA8BcL.js";import{r as E}from"./documents-events-kyp3S2Nf.js";var D=e(t(),1),O=n(),k=[`Enter`,` `],A=[`ArrowDown`,`PageUp`,`Home`],le=[`ArrowUp`,`PageDown`,`End`],ue=[...A,...le],j={ltr:[...k,`ArrowRight`],rtl:[...k,`ArrowLeft`]},de={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},M=`Menu`,[N,fe,P]=y(M),[F,I]=v(M,[P,b,C]),L=b(),pe=C(),[me,R]=F(M),[he,z]=F(M),ge=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=L(t),[c,l]=D.useState(null),u=D.useRef(!1),d=g(a),f=te(i);return D.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,O.jsx)(x,{...s,children:(0,O.jsx)(me,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,O.jsx)(he,{scope:t,onClose:D.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};ge.displayName=M;var _e=`MenuAnchor`,B=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=L(n);return(0,O.jsx)(S,{...i,...r,ref:t})});B.displayName=_e;var ve=`MenuPortal`,[ye,be]=F(ve,{forceMount:void 0}),xe=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=R(ve,t);return(0,O.jsx)(ye,{scope:t,forceMount:n,children:(0,O.jsx)(u,{present:n||a.open,children:(0,O.jsx)(_,{asChild:!0,container:i,children:r})})})};xe.displayName=ve;var V=`MenuContent`,[Se,Ce]=F(V),we=D.forwardRef((e,t)=>{let n=be(V,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=R(V,e.__scopeMenu),o=z(V,e.__scopeMenu);return(0,O.jsx)(N.Provider,{scope:e.__scopeMenu,children:(0,O.jsx)(u,{present:r||a.open,children:(0,O.jsx)(N.Slot,{scope:e.__scopeMenu,children:o.modal?(0,O.jsx)(Te,{...i,ref:t}):(0,O.jsx)(Ee,{...i,ref:t})})})})}),Te=D.forwardRef((e,t)=>{let n=R(V,e.__scopeMenu),r=D.useRef(null),i=o(t,r);return D.useEffect(()=>{let e=r.current;if(e)return ae(e)},[]),(0,O.jsx)(Oe,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:d(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Ee=D.forwardRef((e,t)=>{let n=R(V,e.__scopeMenu);return(0,O.jsx)(Oe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),De=s(`MenuContent.ScrollLock`),Oe=D.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,..._}=e,v=R(V,n),y=z(V,n),te=L(n),ae=pe(n),b=fe(n),[x,oe]=D.useState(null),S=D.useRef(null),C=o(t,S,v.onContentChange),w=D.useRef(0),T=D.useRef(``),E=D.useRef(0),k=D.useRef(null),A=D.useRef(`right`),j=D.useRef(0),de=g?ie:D.Fragment,M=g?{as:De,allowPinchZoom:!0}:void 0,N=e=>{let t=T.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=at(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){T.current=t,window.clearTimeout(w.current),t!==``&&(w.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};D.useEffect(()=>()=>window.clearTimeout(w.current),[]),re();let P=D.useCallback(e=>A.current===k.current?.side&&st(e,k.current?.area),[]);return(0,O.jsx)(Se,{scope:n,searchRef:T,onItemEnter:D.useCallback(e=>{P(e)&&e.preventDefault()},[P]),onItemLeave:D.useCallback(e=>{P(e)||(S.current?.focus(),oe(null))},[P]),onTriggerLeave:D.useCallback(e=>{P(e)&&e.preventDefault()},[P]),pointerGraceTimerRef:E,onPointerGraceIntentChange:D.useCallback(e=>{k.current=e},[]),children:(0,O.jsx)(de,{...M,children:(0,O.jsx)(ne,{asChild:!0,trapped:i,onMountAutoFocus:d(a,e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,O.jsx)(ee,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,children:(0,O.jsx)(ce,{asChild:!0,...ae,dir:y.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:oe,onEntryFocus:d(l,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,O.jsx)(se,{role:`menu`,"aria-orientation":`vertical`,"data-state":nt(v.open),"data-radix-menu-content":``,dir:y.dir,...te,..._,ref:C,style:{outline:`none`,..._.style},onKeyDown:d(_.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&N(e.key));let i=S.current;if(e.target!==i||!ue.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);le.includes(e.key)&&a.reverse(),rt(a)}),onBlur:d(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(w.current),T.current=``)}),onPointerMove:d(e.onPointerMove,Y(e=>{let t=e.target,n=j.current!==e.clientX;e.currentTarget.contains(t)&&n&&(A.current=e.clientX>j.current?`right`:`left`,j.current=e.clientX)}))})})})})})})});we.displayName=V;var ke=`MenuGroup`,Ae=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,O.jsx)(f.div,{role:`group`,...r,ref:t})});Ae.displayName=ke;var je=`MenuLabel`,Me=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,O.jsx)(f.div,{...r,ref:t})});Me.displayName=je;var H=`MenuItem`,Ne=`menu.itemSelect`,U=D.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=D.useRef(null),s=z(H,e.__scopeMenu),c=Ce(H,e.__scopeMenu),l=o(t,a),u=D.useRef(!1),f=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ne,{bubbles:!0,cancelable:!0});e.addEventListener(Ne,e=>r?.(e),{once:!0}),p(e,t),t.defaultPrevented?u.current=!1:s.onClose()}};return(0,O.jsx)(Pe,{...i,ref:l,disabled:n,onClick:d(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:d(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:d(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||k.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});U.displayName=H;var Pe=D.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,s=Ce(H,n),c=pe(n),l=D.useRef(null),u=o(t,l),[p,m]=D.useState(!1),[ee,h]=D.useState(``);return D.useEffect(()=>{let e=l.current;e&&h((e.textContent??``).trim())},[a.children]),(0,O.jsx)(N.ItemSlot,{scope:n,disabled:r,textValue:i??ee,children:(0,O.jsx)(w,{asChild:!0,...c,focusable:!r,children:(0,O.jsx)(f.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:u,onPointerMove:d(e.onPointerMove,Y(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:d(e.onPointerLeave,Y(e=>s.onItemLeave(e))),onFocus:d(e.onFocus,()=>m(!0)),onBlur:d(e.onBlur,()=>m(!1))})})})}),Fe=`MenuCheckboxItem`,Ie=D.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,O.jsx)(Ue,{scope:e.__scopeMenu,checked:n,children:(0,O.jsx)(U,{role:`menuitemcheckbox`,"aria-checked":q(n)?`mixed`:n,...i,ref:t,"data-state":J(n),onSelect:d(i.onSelect,()=>r?.(q(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ie.displayName=Fe;var Le=`MenuRadioGroup`,[Re,ze]=F(Le,{value:void 0,onValueChange:()=>{}}),Be=D.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=g(r);return(0,O.jsx)(Re,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,O.jsx)(Ae,{...i,ref:t})})});Be.displayName=Le;var Ve=`MenuRadioItem`,He=D.forwardRef((e,t)=>{let{value:n,...r}=e,i=ze(Ve,e.__scopeMenu),a=n===i.value;return(0,O.jsx)(Ue,{scope:e.__scopeMenu,checked:a,children:(0,O.jsx)(U,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":J(a),onSelect:d(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});He.displayName=Ve;var W=`MenuItemIndicator`,[Ue,We]=F(W,{checked:!1}),Ge=D.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=We(W,n);return(0,O.jsx)(u,{present:r||q(a.checked)||a.checked===!0,children:(0,O.jsx)(f.span,{...i,ref:t,"data-state":J(a.checked)})})});Ge.displayName=W;var Ke=`MenuSeparator`,qe=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,O.jsx)(f.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});qe.displayName=Ke;var Je=`MenuArrow`,Ye=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=L(n);return(0,O.jsx)(oe,{...i,...r,ref:t})});Ye.displayName=Je;var G=`MenuSub`,[Xe,Ze]=F(G),Qe=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=R(G,t),o=L(t),[s,c]=D.useState(null),[l,u]=D.useState(null),d=g(i);return D.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,O.jsx)(x,{...o,children:(0,O.jsx)(me,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,O.jsx)(Xe,{scope:t,contentId:m(),triggerId:m(),trigger:s,onTriggerChange:c,children:n})})})};Qe.displayName=G;var K=`MenuSubTrigger`,$e=D.forwardRef((e,t)=>{let n=R(K,e.__scopeMenu),r=z(K,e.__scopeMenu),a=Ze(K,e.__scopeMenu),o=Ce(K,e.__scopeMenu),s=D.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=o,u={__scopeMenu:e.__scopeMenu},f=D.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return D.useEffect(()=>f,[f]),D.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),l(null)}},[c,l]),(0,O.jsx)(B,{asChild:!0,...u,children:(0,O.jsx)(Pe,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":a.contentId,"data-state":nt(n.open),...e,ref:i(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:d(e.onPointerMove,Y(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:d(e.onPointerLeave,Y(e=>{f();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:d(e.onKeyDown,t=>{let i=o.searchRef.current!==``;e.disabled||i&&t.key===` `||j[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});$e.displayName=K;var et=`MenuSubContent`,tt=D.forwardRef((e,t)=>{let n=be(V,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=R(V,e.__scopeMenu),s=z(V,e.__scopeMenu),c=Ze(et,e.__scopeMenu),l=D.useRef(null),f=o(t,l);return(0,O.jsx)(N.Provider,{scope:e.__scopeMenu,children:(0,O.jsx)(u,{present:r||a.open,children:(0,O.jsx)(N.Slot,{scope:e.__scopeMenu,children:(0,O.jsx)(Oe,{id:c.contentId,"aria-labelledby":c.triggerId,...i,ref:f,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:d(e.onFocusOutside,e=>{e.target!==c.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:d(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:d(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=de[s.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});tt.displayName=et;function nt(e){return e?`open`:`closed`}function q(e){return e===`indeterminate`}function J(e){return q(e)?`indeterminate`:e?`checked`:`unchecked`}function rt(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function it(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function at(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=it(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ot(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function st(e,t){return t?ot({x:e.clientX,y:e.clientY},t):!1}function Y(e){return t=>t.pointerType===`mouse`?e(t):void 0}var ct=ge,lt=B,ut=xe,dt=we,ft=Ae,pt=Me,mt=U,ht=Ie,gt=Be,_t=He,vt=Ge,yt=qe,bt=Ye,xt=Qe,St=$e,Ct=tt,X=`DropdownMenu`,[wt,Tt]=v(X,[I]),Z=I(),[Et,Dt]=wt(X),Ot=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Z(t),l=D.useRef(null),[u,d]=h({prop:i,defaultProp:a??!1,onChange:o,caller:X});return(0,O.jsx)(Et,{scope:t,triggerId:m(),triggerRef:l,contentId:m(),open:u,onOpenChange:d,onOpenToggle:D.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,O.jsx)(ct,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Ot.displayName=X;var kt=`DropdownMenuTrigger`,At=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...a}=e,o=Dt(kt,n),s=Z(n);return(0,O.jsx)(lt,{asChild:!0,...s,children:(0,O.jsx)(f.button,{type:`button`,id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...a,ref:i(t,o.triggerRef),onPointerDown:d(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:d(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&o.onOpenToggle(),e.key===`ArrowDown`&&o.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});At.displayName=kt;var jt=`DropdownMenuPortal`,Mt=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Z(t);return(0,O.jsx)(ut,{...r,...n})};Mt.displayName=jt;var Nt=`DropdownMenuContent`,Pt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Dt(Nt,n),a=Z(n),o=D.useRef(!1);return(0,O.jsx)(dt,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:d(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:d(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Pt.displayName=Nt;var Ft=`DropdownMenuGroup`,It=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(ft,{...i,...r,ref:t})});It.displayName=Ft;var Lt=`DropdownMenuLabel`,Rt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(pt,{...i,...r,ref:t})});Rt.displayName=Lt;var zt=`DropdownMenuItem`,Bt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(mt,{...i,...r,ref:t})});Bt.displayName=zt;var Vt=`DropdownMenuCheckboxItem`,Ht=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(ht,{...i,...r,ref:t})});Ht.displayName=Vt;var Ut=`DropdownMenuRadioGroup`,Wt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(gt,{...i,...r,ref:t})});Wt.displayName=Ut;var Gt=`DropdownMenuRadioItem`,Kt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(_t,{...i,...r,ref:t})});Kt.displayName=Gt;var qt=`DropdownMenuItemIndicator`,Jt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(vt,{...i,...r,ref:t})});Jt.displayName=qt;var Yt=`DropdownMenuSeparator`,Xt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(yt,{...i,...r,ref:t})});Xt.displayName=Yt;var Zt=`DropdownMenuArrow`,Qt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(bt,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Z(t),[s,c]=h({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,O.jsx)(xt,{...o,open:s,onOpenChange:c,children:n})},en=`DropdownMenuSubTrigger`,tn=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(St,{...i,...r,ref:t})});tn.displayName=en;var nn=`DropdownMenuSubContent`,rn=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(Ct,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});rn.displayName=nn;var an=Ot,on=At,sn=Mt,cn=Pt,ln=It,un=Rt,dn=Bt,fn=Ht,pn=Wt,mn=Kt,hn=Jt,gn=Xt,_n=$t,vn=tn,yn=rn,Q=r();function bn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(an,{"data-slot":`dropdown-menu`,...n}),t[2]=n,t[3]=r),r}function xn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(sn,{"data-slot":`dropdown-menu-portal`,...n}),t[2]=n,t[3]=r),r}function Sn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(on,{"data-slot":`dropdown-menu-trigger`,...n}),t[2]=n,t[3]=r),r}function Cn(e){let t=(0,Q.c)(12),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:n,align:i,sideOffset:o,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s=i===void 0?`start`:i,c=o===void 0?4:o,l;t[5]===n?l=t[6]:(l=a(`z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 data-[state=closed]:overflow-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,n),t[5]=n,t[6]=l);let u;return t[7]!==s||t[8]!==r||t[9]!==c||t[10]!==l?(u=(0,O.jsx)(sn,{children:(0,O.jsx)(cn,{"data-slot":`dropdown-menu-content`,sideOffset:c,align:s,className:l,...r})}),t[7]=s,t[8]=r,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function wn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(ln,{"data-slot":`dropdown-menu-group`,...n}),t[2]=n,t[3]=r),r}function Tn(e){let t=(0,Q.c)(12),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:n,inset:r,variant:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s=o===void 0?`default`:o,c;t[5]===n?c=t[6]:(c=a(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,n),t[5]=n,t[6]=c);let l;return t[7]!==r||t[8]!==i||t[9]!==c||t[10]!==s?(l=(0,O.jsx)(dn,{"data-slot":`dropdown-menu-item`,"data-inset":r,"data-variant":s,className:c,...i}),t[7]=r,t[8]=i,t[9]=c,t[10]=s,t[11]=l):l=t[11],l}function En(e){let t=(0,Q.c)(15),n,r,i,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4],s=t[5]):({className:i,children:r,checked:n,inset:o,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=s);let l;t[6]===i?l=t[7]:(l=a(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),t[6]=i,t[7]=l);let u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,O.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,O.jsx)(hn,{children:(0,O.jsx)(c,{})})}),t[8]=u):u=t[8];let d;return t[9]!==n||t[10]!==r||t[11]!==o||t[12]!==s||t[13]!==l?(d=(0,O.jsxs)(fn,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":o,className:l,checked:n,...s,children:[u,r]}),t[9]=n,t[10]=r,t[11]=o,t[12]=s,t[13]=l,t[14]=d):d=t[14],d}function Dn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(pn,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function On(e){let t=(0,Q.c)(13),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:r,children:n,inset:i,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s;t[5]===r?s=t[6]:(s=a(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,r),t[5]=r,t[6]=s);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,O.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,O.jsx)(hn,{children:(0,O.jsx)(c,{})})}),t[7]=l):l=t[7];let u;return t[8]!==n||t[9]!==i||t[10]!==o||t[11]!==s?(u=(0,O.jsxs)(mn,{"data-slot":`dropdown-menu-radio-item`,"data-inset":i,className:s,...o,children:[l,n]}),t[8]=n,t[9]=i,t[10]=o,t[11]=s,t[12]=u):u=t[12],u}function kn(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,inset:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o;t[4]===n?o=t[5]:(o=a(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,n),t[4]=n,t[5]=o);let s;return t[6]!==r||t[7]!==i||t[8]!==o?(s=(0,O.jsx)(un,{"data-slot":`dropdown-menu-label`,"data-inset":r,className:o,...i}),t[6]=r,t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function An(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`-mx-1 my-1 h-px bg-border`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,O.jsx)(gn,{"data-slot":`dropdown-menu-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function jn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(_n,{"data-slot":`dropdown-menu-sub`,...n}),t[2]=n,t[3]=r),r}function Mn(e){let t=(0,Q.c)(13),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:r,inset:i,children:n,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s;t[5]===r?s=t[6]:(s=a(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,r),t[5]=r,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,O.jsx)(l,{className:`ml-auto`}),t[7]=c):c=t[7];let u;return t[8]!==n||t[9]!==i||t[10]!==o||t[11]!==s?(u=(0,O.jsxs)(vn,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":i,className:s,...o,children:[n,c]}),t[8]=n,t[9]=i,t[10]=o,t[11]=s,t[12]=u):u=t[12],u}function Nn(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 data-[state=closed]:overflow-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,O.jsx)(yn,{"data-slot":`dropdown-menu-sub-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}async function $(e){return T(await e.json().catch(()=>null))??`HTTP ${e.status}`}async function Pn(e){try{let t=await fetch(`/api/skill`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,created:n?.created??!1,warnings:n?.warnings??[]}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Fn(e){try{let t=await fetch(`/api/skill-file`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,created:n?.created??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function In(){try{let e=await fetch(`/api/skills/management`);return e.ok?await e.json():null}catch{return null}}async function Ln(e){try{return(await fetch(`/api/skills/management`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({manageEditorSkills:e})})).ok?(E(),!0):!1}catch{return!1}}function Rn(e,t){let n=`${e}-copy`;if(!t.has(n))return n;for(let n=2;n<1e3;n+=1){let r=`${e}-copy-${n}`;if(!t.has(r))return r}return`${e}-copy-${t.size+1}`}async function zn(e){try{let t=new URLSearchParams({name:e.name,scope:e.scope}),n=await fetch(`/api/skill?${t.toString()}`);if(!n.ok)return{ok:!1,error:await $(n)};let r=await n.json().catch(()=>null),i=typeof r?.skill?.frontmatter?.description==`string`?r.skill.frontmatter.description:``,a=typeof r?.skill?.body==`string`?r.skill.body:``,o=Rn(e.name,e.existingNames),s=await Pn({scope:e.scope,name:o,frontmatter:{name:o,description:i},body:a});return s.ok?{ok:!0,name:o}:{ok:!1,error:s.error}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Bn(e){let{name:t,fromScope:n,toScope:r}=e;if(n===r)return{ok:!0,scope:r};try{let e=await fetch(`/api/skill?name=${encodeURIComponent(t)}&scope=${n}`);if(!e.ok)return{ok:!1,error:await $(e)};let i=await e.json().catch(()=>null),a=typeof i?.skill?.frontmatter?.description==`string`?i.skill.frontmatter.description:``,o=typeof i?.skill?.body==`string`?i.skill.body:``,s=await fetch(`/api/skill?name=${encodeURIComponent(t)}&scope=${r}`);if(s.ok)return{ok:!1,error:`A ${r} skill named "${t}" already exists.`};if(s.status!==404)return{ok:!1,error:`Couldn't verify the ${r} destination "${t}" is free (HTTP ${s.status}); aborting before any write so an existing skill can't be overwritten. Retry in a moment.`};let c=await Pn({scope:r,name:t,frontmatter:{name:t,description:a},body:o});if(!c.ok)return c;let l=await Un(n,t);if(!l.ok)return{ok:!1,error:`Copied "${t}" to ${r}, but reading its bundle files failed (${l.error}); the ${n} original is intact. Delete the partial ${r} copy and retry.`};let u=[];for(let e of l.files){if(e.text===null){u.push(e.path);continue}let i=await Fn({scope:r,name:t,path:e.path,content:e.text});if(!i.ok)return{ok:!1,error:`Copied "${t}" to ${r}, but copying its bundle file "${e.path}" failed (${i.error}); the ${n} original is intact. Delete the partial ${r} copy and retry.`}}let d=await Hn(n,t);return d.ok?(E(),{ok:!0,scope:r,...u.length>0?{skippedBinaryFiles:u}:{}}):{ok:!1,error:`Copied to ${r}, but couldn't remove the ${n} copy: ${d.error}`}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Vn(e){try{let t=await fetch(`/api/skill`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,committed:n?.committed??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Hn(e,t){try{let n=`?name=${encodeURIComponent(t)}&scope=${encodeURIComponent(e)}`,r=await fetch(`/api/skill${n}`,{method:`DELETE`});if(!r.ok)return{ok:!1,error:await $(r)};let i=await r.json().catch(()=>null);return E(),{ok:!0,existed:i?.existed??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Un(e,t){try{let n=new URLSearchParams({name:t,scope:e}),r=await fetch(`/api/skill?${n.toString()}`);return r.ok?{ok:!0,files:(await r.json().catch(()=>null))?.skill?.files??[]}:{ok:!1,error:await $(r)}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Wn(e){try{let t=new URLSearchParams({name:e.name,scope:e.scope,path:e.path}),n=await fetch(`/api/skill-file?${t.toString()}`,{signal:e.signal});if(!n.ok)return{ok:!1,status:n.status,error:await $(n)};let r=await n.json().catch(()=>null);return typeof r?.text==`string`?{ok:!0,text:r.text}:{ok:!1,status:n.status,error:`HTTP ${n.status}`}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}function Gn(e,t){return Wn({...e,signal:t}).then(e=>e.ok?{ok:!0,text:e.text}:{ok:!1,status:e.status})}async function Kn(e){try{let t=await fetch(`/api/skill/install`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,hosts:n?.hosts??[],scripts:n?.scripts??!1,warnings:n?.warnings??[],warningCodes:n?.warningCodes??[]}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function qn(e){try{let t=await fetch(`/api/skill/uninstall`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,uninstalled:n?.uninstalled??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Jn(e){try{let t=await fetch(`/api/skill/update`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,version:n?.version??``,previousVersion:n?.previousVersion,checkpointRef:n?.checkpointRef}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}export{dt as A,xt as B,jn as C,lt as D,Sn as E,ut as F,St as H,gt as I,_t as L,mt as M,vt as N,bt as O,pt as P,ct as R,An as S,Mn as T,I as U,Ct as V,Tn as _,Kn as a,Dn as b,Bn as c,qn as d,Jn as f,wn as g,Cn as h,In as i,ft as j,ht as k,Pn as l,En as m,zn as n,Gn as o,bn as p,Un as r,Vn as s,Hn as t,Ln as u,kn as v,Nn as w,On as x,xn as y,yt as z};
1
+ import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{c as i,i as a,l as o,o as s}from"./button-cneJOVxD.js";import{t as c}from"./check-DRRCCRSs.js";import{t as l}from"./chevron-right-DSNnH-Vb.js";import{a as u,c as d,d as f,f as p,i as m,n as ee,o as h,r as g,t as _,u as v}from"./dist-BSkHa6UR.js";import{n as y,t as te}from"./dist-Dkr4jGYv.js";import{g as ne,h as re,m as ie,p as ae}from"./dialog-DdHaoAGK.js";import{a as b,i as x,n as oe,r as se,t as S}from"./dist-fpPv-rVb.js";import{n as ce,r as C,t as w}from"./dist-CyYz03up.js";import{t as T}from"./parse-api-error-CqtA8BcL.js";import{r as E}from"./documents-events-Z18kbrmq.js";var D=e(t(),1),O=n(),k=[`Enter`,` `],A=[`ArrowDown`,`PageUp`,`Home`],le=[`ArrowUp`,`PageDown`,`End`],ue=[...A,...le],j={ltr:[...k,`ArrowRight`],rtl:[...k,`ArrowLeft`]},de={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},M=`Menu`,[N,fe,P]=y(M),[F,I]=v(M,[P,b,C]),L=b(),pe=C(),[me,R]=F(M),[he,z]=F(M),ge=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=L(t),[c,l]=D.useState(null),u=D.useRef(!1),d=g(a),f=te(i);return D.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,O.jsx)(x,{...s,children:(0,O.jsx)(me,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,O.jsx)(he,{scope:t,onClose:D.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};ge.displayName=M;var _e=`MenuAnchor`,B=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=L(n);return(0,O.jsx)(S,{...i,...r,ref:t})});B.displayName=_e;var ve=`MenuPortal`,[ye,be]=F(ve,{forceMount:void 0}),xe=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=R(ve,t);return(0,O.jsx)(ye,{scope:t,forceMount:n,children:(0,O.jsx)(u,{present:n||a.open,children:(0,O.jsx)(_,{asChild:!0,container:i,children:r})})})};xe.displayName=ve;var V=`MenuContent`,[Se,Ce]=F(V),we=D.forwardRef((e,t)=>{let n=be(V,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=R(V,e.__scopeMenu),o=z(V,e.__scopeMenu);return(0,O.jsx)(N.Provider,{scope:e.__scopeMenu,children:(0,O.jsx)(u,{present:r||a.open,children:(0,O.jsx)(N.Slot,{scope:e.__scopeMenu,children:o.modal?(0,O.jsx)(Te,{...i,ref:t}):(0,O.jsx)(Ee,{...i,ref:t})})})})}),Te=D.forwardRef((e,t)=>{let n=R(V,e.__scopeMenu),r=D.useRef(null),i=o(t,r);return D.useEffect(()=>{let e=r.current;if(e)return ae(e)},[]),(0,O.jsx)(Oe,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:d(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Ee=D.forwardRef((e,t)=>{let n=R(V,e.__scopeMenu);return(0,O.jsx)(Oe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),De=s(`MenuContent.ScrollLock`),Oe=D.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,..._}=e,v=R(V,n),y=z(V,n),te=L(n),ae=pe(n),b=fe(n),[x,oe]=D.useState(null),S=D.useRef(null),C=o(t,S,v.onContentChange),w=D.useRef(0),T=D.useRef(``),E=D.useRef(0),k=D.useRef(null),A=D.useRef(`right`),j=D.useRef(0),de=g?ie:D.Fragment,M=g?{as:De,allowPinchZoom:!0}:void 0,N=e=>{let t=T.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=at(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){T.current=t,window.clearTimeout(w.current),t!==``&&(w.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};D.useEffect(()=>()=>window.clearTimeout(w.current),[]),re();let P=D.useCallback(e=>A.current===k.current?.side&&st(e,k.current?.area),[]);return(0,O.jsx)(Se,{scope:n,searchRef:T,onItemEnter:D.useCallback(e=>{P(e)&&e.preventDefault()},[P]),onItemLeave:D.useCallback(e=>{P(e)||(S.current?.focus(),oe(null))},[P]),onTriggerLeave:D.useCallback(e=>{P(e)&&e.preventDefault()},[P]),pointerGraceTimerRef:E,onPointerGraceIntentChange:D.useCallback(e=>{k.current=e},[]),children:(0,O.jsx)(de,{...M,children:(0,O.jsx)(ne,{asChild:!0,trapped:i,onMountAutoFocus:d(a,e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,O.jsx)(ee,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,children:(0,O.jsx)(ce,{asChild:!0,...ae,dir:y.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:oe,onEntryFocus:d(l,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,O.jsx)(se,{role:`menu`,"aria-orientation":`vertical`,"data-state":nt(v.open),"data-radix-menu-content":``,dir:y.dir,...te,..._,ref:C,style:{outline:`none`,..._.style},onKeyDown:d(_.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&N(e.key));let i=S.current;if(e.target!==i||!ue.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);le.includes(e.key)&&a.reverse(),rt(a)}),onBlur:d(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(w.current),T.current=``)}),onPointerMove:d(e.onPointerMove,Y(e=>{let t=e.target,n=j.current!==e.clientX;e.currentTarget.contains(t)&&n&&(A.current=e.clientX>j.current?`right`:`left`,j.current=e.clientX)}))})})})})})})});we.displayName=V;var ke=`MenuGroup`,Ae=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,O.jsx)(f.div,{role:`group`,...r,ref:t})});Ae.displayName=ke;var je=`MenuLabel`,Me=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,O.jsx)(f.div,{...r,ref:t})});Me.displayName=je;var H=`MenuItem`,Ne=`menu.itemSelect`,U=D.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=D.useRef(null),s=z(H,e.__scopeMenu),c=Ce(H,e.__scopeMenu),l=o(t,a),u=D.useRef(!1),f=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ne,{bubbles:!0,cancelable:!0});e.addEventListener(Ne,e=>r?.(e),{once:!0}),p(e,t),t.defaultPrevented?u.current=!1:s.onClose()}};return(0,O.jsx)(Pe,{...i,ref:l,disabled:n,onClick:d(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:d(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:d(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||k.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});U.displayName=H;var Pe=D.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,s=Ce(H,n),c=pe(n),l=D.useRef(null),u=o(t,l),[p,m]=D.useState(!1),[ee,h]=D.useState(``);return D.useEffect(()=>{let e=l.current;e&&h((e.textContent??``).trim())},[a.children]),(0,O.jsx)(N.ItemSlot,{scope:n,disabled:r,textValue:i??ee,children:(0,O.jsx)(w,{asChild:!0,...c,focusable:!r,children:(0,O.jsx)(f.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:u,onPointerMove:d(e.onPointerMove,Y(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:d(e.onPointerLeave,Y(e=>s.onItemLeave(e))),onFocus:d(e.onFocus,()=>m(!0)),onBlur:d(e.onBlur,()=>m(!1))})})})}),Fe=`MenuCheckboxItem`,Ie=D.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,O.jsx)(Ue,{scope:e.__scopeMenu,checked:n,children:(0,O.jsx)(U,{role:`menuitemcheckbox`,"aria-checked":q(n)?`mixed`:n,...i,ref:t,"data-state":J(n),onSelect:d(i.onSelect,()=>r?.(q(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ie.displayName=Fe;var Le=`MenuRadioGroup`,[Re,ze]=F(Le,{value:void 0,onValueChange:()=>{}}),Be=D.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=g(r);return(0,O.jsx)(Re,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,O.jsx)(Ae,{...i,ref:t})})});Be.displayName=Le;var Ve=`MenuRadioItem`,He=D.forwardRef((e,t)=>{let{value:n,...r}=e,i=ze(Ve,e.__scopeMenu),a=n===i.value;return(0,O.jsx)(Ue,{scope:e.__scopeMenu,checked:a,children:(0,O.jsx)(U,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":J(a),onSelect:d(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});He.displayName=Ve;var W=`MenuItemIndicator`,[Ue,We]=F(W,{checked:!1}),Ge=D.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=We(W,n);return(0,O.jsx)(u,{present:r||q(a.checked)||a.checked===!0,children:(0,O.jsx)(f.span,{...i,ref:t,"data-state":J(a.checked)})})});Ge.displayName=W;var Ke=`MenuSeparator`,qe=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,O.jsx)(f.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});qe.displayName=Ke;var Je=`MenuArrow`,Ye=D.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=L(n);return(0,O.jsx)(oe,{...i,...r,ref:t})});Ye.displayName=Je;var G=`MenuSub`,[Xe,Ze]=F(G),Qe=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=R(G,t),o=L(t),[s,c]=D.useState(null),[l,u]=D.useState(null),d=g(i);return D.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,O.jsx)(x,{...o,children:(0,O.jsx)(me,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,O.jsx)(Xe,{scope:t,contentId:m(),triggerId:m(),trigger:s,onTriggerChange:c,children:n})})})};Qe.displayName=G;var K=`MenuSubTrigger`,$e=D.forwardRef((e,t)=>{let n=R(K,e.__scopeMenu),r=z(K,e.__scopeMenu),a=Ze(K,e.__scopeMenu),o=Ce(K,e.__scopeMenu),s=D.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=o,u={__scopeMenu:e.__scopeMenu},f=D.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return D.useEffect(()=>f,[f]),D.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),l(null)}},[c,l]),(0,O.jsx)(B,{asChild:!0,...u,children:(0,O.jsx)(Pe,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":a.contentId,"data-state":nt(n.open),...e,ref:i(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:d(e.onPointerMove,Y(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:d(e.onPointerLeave,Y(e=>{f();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:d(e.onKeyDown,t=>{let i=o.searchRef.current!==``;e.disabled||i&&t.key===` `||j[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});$e.displayName=K;var et=`MenuSubContent`,tt=D.forwardRef((e,t)=>{let n=be(V,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=R(V,e.__scopeMenu),s=z(V,e.__scopeMenu),c=Ze(et,e.__scopeMenu),l=D.useRef(null),f=o(t,l);return(0,O.jsx)(N.Provider,{scope:e.__scopeMenu,children:(0,O.jsx)(u,{present:r||a.open,children:(0,O.jsx)(N.Slot,{scope:e.__scopeMenu,children:(0,O.jsx)(Oe,{id:c.contentId,"aria-labelledby":c.triggerId,...i,ref:f,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:d(e.onFocusOutside,e=>{e.target!==c.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:d(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:d(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=de[s.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});tt.displayName=et;function nt(e){return e?`open`:`closed`}function q(e){return e===`indeterminate`}function J(e){return q(e)?`indeterminate`:e?`checked`:`unchecked`}function rt(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function it(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function at(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=it(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ot(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function st(e,t){return t?ot({x:e.clientX,y:e.clientY},t):!1}function Y(e){return t=>t.pointerType===`mouse`?e(t):void 0}var ct=ge,lt=B,ut=xe,dt=we,ft=Ae,pt=Me,mt=U,ht=Ie,gt=Be,_t=He,vt=Ge,yt=qe,bt=Ye,xt=Qe,St=$e,Ct=tt,X=`DropdownMenu`,[wt,Tt]=v(X,[I]),Z=I(),[Et,Dt]=wt(X),Ot=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Z(t),l=D.useRef(null),[u,d]=h({prop:i,defaultProp:a??!1,onChange:o,caller:X});return(0,O.jsx)(Et,{scope:t,triggerId:m(),triggerRef:l,contentId:m(),open:u,onOpenChange:d,onOpenToggle:D.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,O.jsx)(ct,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Ot.displayName=X;var kt=`DropdownMenuTrigger`,At=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...a}=e,o=Dt(kt,n),s=Z(n);return(0,O.jsx)(lt,{asChild:!0,...s,children:(0,O.jsx)(f.button,{type:`button`,id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...a,ref:i(t,o.triggerRef),onPointerDown:d(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:d(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&o.onOpenToggle(),e.key===`ArrowDown`&&o.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});At.displayName=kt;var jt=`DropdownMenuPortal`,Mt=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Z(t);return(0,O.jsx)(ut,{...r,...n})};Mt.displayName=jt;var Nt=`DropdownMenuContent`,Pt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Dt(Nt,n),a=Z(n),o=D.useRef(!1);return(0,O.jsx)(dt,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:d(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:d(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Pt.displayName=Nt;var Ft=`DropdownMenuGroup`,It=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(ft,{...i,...r,ref:t})});It.displayName=Ft;var Lt=`DropdownMenuLabel`,Rt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(pt,{...i,...r,ref:t})});Rt.displayName=Lt;var zt=`DropdownMenuItem`,Bt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(mt,{...i,...r,ref:t})});Bt.displayName=zt;var Vt=`DropdownMenuCheckboxItem`,Ht=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(ht,{...i,...r,ref:t})});Ht.displayName=Vt;var Ut=`DropdownMenuRadioGroup`,Wt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(gt,{...i,...r,ref:t})});Wt.displayName=Ut;var Gt=`DropdownMenuRadioItem`,Kt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(_t,{...i,...r,ref:t})});Kt.displayName=Gt;var qt=`DropdownMenuItemIndicator`,Jt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(vt,{...i,...r,ref:t})});Jt.displayName=qt;var Yt=`DropdownMenuSeparator`,Xt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(yt,{...i,...r,ref:t})});Xt.displayName=Yt;var Zt=`DropdownMenuArrow`,Qt=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(bt,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Z(t),[s,c]=h({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,O.jsx)(xt,{...o,open:s,onOpenChange:c,children:n})},en=`DropdownMenuSubTrigger`,tn=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(St,{...i,...r,ref:t})});tn.displayName=en;var nn=`DropdownMenuSubContent`,rn=D.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,O.jsx)(Ct,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});rn.displayName=nn;var an=Ot,on=At,sn=Mt,cn=Pt,ln=It,un=Rt,dn=Bt,fn=Ht,pn=Wt,mn=Kt,hn=Jt,gn=Xt,_n=$t,vn=tn,yn=rn,Q=r();function bn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(an,{"data-slot":`dropdown-menu`,...n}),t[2]=n,t[3]=r),r}function xn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(sn,{"data-slot":`dropdown-menu-portal`,...n}),t[2]=n,t[3]=r),r}function Sn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(on,{"data-slot":`dropdown-menu-trigger`,...n}),t[2]=n,t[3]=r),r}function Cn(e){let t=(0,Q.c)(12),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:n,align:i,sideOffset:o,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s=i===void 0?`start`:i,c=o===void 0?4:o,l;t[5]===n?l=t[6]:(l=a(`z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 data-[state=closed]:overflow-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,n),t[5]=n,t[6]=l);let u;return t[7]!==s||t[8]!==r||t[9]!==c||t[10]!==l?(u=(0,O.jsx)(sn,{children:(0,O.jsx)(cn,{"data-slot":`dropdown-menu-content`,sideOffset:c,align:s,className:l,...r})}),t[7]=s,t[8]=r,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function wn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(ln,{"data-slot":`dropdown-menu-group`,...n}),t[2]=n,t[3]=r),r}function Tn(e){let t=(0,Q.c)(12),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:n,inset:r,variant:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s=o===void 0?`default`:o,c;t[5]===n?c=t[6]:(c=a(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,n),t[5]=n,t[6]=c);let l;return t[7]!==r||t[8]!==i||t[9]!==c||t[10]!==s?(l=(0,O.jsx)(dn,{"data-slot":`dropdown-menu-item`,"data-inset":r,"data-variant":s,className:c,...i}),t[7]=r,t[8]=i,t[9]=c,t[10]=s,t[11]=l):l=t[11],l}function En(e){let t=(0,Q.c)(15),n,r,i,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4],s=t[5]):({className:i,children:r,checked:n,inset:o,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=s);let l;t[6]===i?l=t[7]:(l=a(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),t[6]=i,t[7]=l);let u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,O.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,O.jsx)(hn,{children:(0,O.jsx)(c,{})})}),t[8]=u):u=t[8];let d;return t[9]!==n||t[10]!==r||t[11]!==o||t[12]!==s||t[13]!==l?(d=(0,O.jsxs)(fn,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":o,className:l,checked:n,...s,children:[u,r]}),t[9]=n,t[10]=r,t[11]=o,t[12]=s,t[13]=l,t[14]=d):d=t[14],d}function Dn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(pn,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function On(e){let t=(0,Q.c)(13),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:r,children:n,inset:i,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s;t[5]===r?s=t[6]:(s=a(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,r),t[5]=r,t[6]=s);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,O.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,O.jsx)(hn,{children:(0,O.jsx)(c,{})})}),t[7]=l):l=t[7];let u;return t[8]!==n||t[9]!==i||t[10]!==o||t[11]!==s?(u=(0,O.jsxs)(mn,{"data-slot":`dropdown-menu-radio-item`,"data-inset":i,className:s,...o,children:[l,n]}),t[8]=n,t[9]=i,t[10]=o,t[11]=s,t[12]=u):u=t[12],u}function kn(e){let t=(0,Q.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,inset:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o;t[4]===n?o=t[5]:(o=a(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,n),t[4]=n,t[5]=o);let s;return t[6]!==r||t[7]!==i||t[8]!==o?(s=(0,O.jsx)(un,{"data-slot":`dropdown-menu-label`,"data-inset":r,className:o,...i}),t[6]=r,t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function An(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`-mx-1 my-1 h-px bg-border`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,O.jsx)(gn,{"data-slot":`dropdown-menu-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function jn(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,O.jsx)(_n,{"data-slot":`dropdown-menu-sub`,...n}),t[2]=n,t[3]=r),r}function Mn(e){let t=(0,Q.c)(13),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:r,inset:i,children:n,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s;t[5]===r?s=t[6]:(s=a(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,r),t[5]=r,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,O.jsx)(l,{className:`ml-auto`}),t[7]=c):c=t[7];let u;return t[8]!==n||t[9]!==i||t[10]!==o||t[11]!==s?(u=(0,O.jsxs)(vn,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":i,className:s,...o,children:[n,c]}),t[8]=n,t[9]=i,t[10]=o,t[11]=s,t[12]=u):u=t[12],u}function Nn(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 data-[state=closed]:overflow-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,O.jsx)(yn,{"data-slot":`dropdown-menu-sub-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}async function $(e){return T(await e.json().catch(()=>null))??`HTTP ${e.status}`}async function Pn(e){try{let t=await fetch(`/api/skill`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,created:n?.created??!1,warnings:n?.warnings??[]}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Fn(e){try{let t=await fetch(`/api/skill-file`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,created:n?.created??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function In(){try{let e=await fetch(`/api/skills/management`);return e.ok?await e.json():null}catch{return null}}async function Ln(e){try{return(await fetch(`/api/skills/management`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({manageEditorSkills:e})})).ok?(E(),!0):!1}catch{return!1}}function Rn(e,t){let n=`${e}-copy`;if(!t.has(n))return n;for(let n=2;n<1e3;n+=1){let r=`${e}-copy-${n}`;if(!t.has(r))return r}return`${e}-copy-${t.size+1}`}async function zn(e){try{let t=new URLSearchParams({name:e.name,scope:e.scope}),n=await fetch(`/api/skill?${t.toString()}`);if(!n.ok)return{ok:!1,error:await $(n)};let r=await n.json().catch(()=>null),i=typeof r?.skill?.frontmatter?.description==`string`?r.skill.frontmatter.description:``,a=typeof r?.skill?.body==`string`?r.skill.body:``,o=Rn(e.name,e.existingNames),s=await Pn({scope:e.scope,name:o,frontmatter:{name:o,description:i},body:a});return s.ok?{ok:!0,name:o}:{ok:!1,error:s.error}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Bn(e){let{name:t,fromScope:n,toScope:r}=e;if(n===r)return{ok:!0,scope:r};try{let e=await fetch(`/api/skill?name=${encodeURIComponent(t)}&scope=${n}`);if(!e.ok)return{ok:!1,error:await $(e)};let i=await e.json().catch(()=>null),a=typeof i?.skill?.frontmatter?.description==`string`?i.skill.frontmatter.description:``,o=typeof i?.skill?.body==`string`?i.skill.body:``,s=await fetch(`/api/skill?name=${encodeURIComponent(t)}&scope=${r}`);if(s.ok)return{ok:!1,error:`A ${r} skill named "${t}" already exists.`};if(s.status!==404)return{ok:!1,error:`Couldn't verify the ${r} destination "${t}" is free (HTTP ${s.status}); aborting before any write so an existing skill can't be overwritten. Retry in a moment.`};let c=await Pn({scope:r,name:t,frontmatter:{name:t,description:a},body:o});if(!c.ok)return c;let l=await Un(n,t);if(!l.ok)return{ok:!1,error:`Copied "${t}" to ${r}, but reading its bundle files failed (${l.error}); the ${n} original is intact. Delete the partial ${r} copy and retry.`};let u=[];for(let e of l.files){if(e.text===null){u.push(e.path);continue}let i=await Fn({scope:r,name:t,path:e.path,content:e.text});if(!i.ok)return{ok:!1,error:`Copied "${t}" to ${r}, but copying its bundle file "${e.path}" failed (${i.error}); the ${n} original is intact. Delete the partial ${r} copy and retry.`}}let d=await Hn(n,t);return d.ok?(E(),{ok:!0,scope:r,...u.length>0?{skippedBinaryFiles:u}:{}}):{ok:!1,error:`Copied to ${r}, but couldn't remove the ${n} copy: ${d.error}`}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Vn(e){try{let t=await fetch(`/api/skill`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,committed:n?.committed??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Hn(e,t){try{let n=`?name=${encodeURIComponent(t)}&scope=${encodeURIComponent(e)}`,r=await fetch(`/api/skill${n}`,{method:`DELETE`});if(!r.ok)return{ok:!1,error:await $(r)};let i=await r.json().catch(()=>null);return E(),{ok:!0,existed:i?.existed??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Un(e,t){try{let n=new URLSearchParams({name:t,scope:e}),r=await fetch(`/api/skill?${n.toString()}`);return r.ok?{ok:!0,files:(await r.json().catch(()=>null))?.skill?.files??[]}:{ok:!1,error:await $(r)}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Wn(e){try{let t=new URLSearchParams({name:e.name,scope:e.scope,path:e.path}),n=await fetch(`/api/skill-file?${t.toString()}`,{signal:e.signal});if(!n.ok)return{ok:!1,status:n.status,error:await $(n)};let r=await n.json().catch(()=>null);return typeof r?.text==`string`?{ok:!0,text:r.text}:{ok:!1,status:n.status,error:`HTTP ${n.status}`}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}function Gn(e,t){return Wn({...e,signal:t}).then(e=>e.ok?{ok:!0,text:e.text}:{ok:!1,status:e.status})}async function Kn(e){try{let t=await fetch(`/api/skill/install`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,hosts:n?.hosts??[],scripts:n?.scripts??!1,warnings:n?.warnings??[],warningCodes:n?.warningCodes??[]}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function qn(e){try{let t=await fetch(`/api/skill/uninstall`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,uninstalled:n?.uninstalled??!1}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async function Jn(e){try{let t=await fetch(`/api/skill/update`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)return{ok:!1,error:await $(t)};let n=await t.json().catch(()=>null);return E(),{ok:!0,version:n?.version??``,previousVersion:n?.previousVersion,checkpointRef:n?.checkpointRef}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}export{dt as A,xt as B,jn as C,lt as D,Sn as E,ut as F,St as H,gt as I,_t as L,mt as M,vt as N,bt as O,pt as P,ct as R,An as S,Mn as T,I as U,Ct as V,Tn as _,Kn as a,Dn as b,Bn as c,qn as d,Jn as f,wn as g,Cn as h,In as i,ft as j,ht as k,Pn as l,En as m,zn as n,Gn as o,bn as p,Un as r,Vn as s,Hn as t,Ln as u,kn as v,Nn as w,On as x,xn as y,yt as z};
@@ -1,2 +1,2 @@
1
- import{J as e}from"./CodeMirrorPropInput-BseWsWBZ.js";import{B as t,C as n,H as r,P as i,V as a,b as o,et as s,p as c,tt as l,w as u,y as d}from"./config-provider-DptJpHL2.js";import{$ as f,Et as p,J as m,Ot as h,Q as g,X as _,jt as v,xt as y}from"./dist-Dot7Y1W_.js";var b=class e{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:i(this.yanchor),yhead:i(this.yhead)}}static fromJSON(t){return new e(n(t.yanchor),n(t.yhead))}},x=class{constructor(e,t){this.ytext=e,this.awareness=t,this.undoManager=new c(e)}toYPos(e,t=0){return u(this.ytext,e,t)}fromYPos(e){let t=o(n(e),this.ytext.doc);if(t==null||t.type!==this.ytext)throw Error(`[y-codemirror] The position you want to retrieve was created by a different document`);return{pos:t.index,assoc:t.assoc}}toYRange(e){let t=e.assoc;return new b(this.toYPos(e.anchor,t),this.toYPos(e.head,t))}fromYRange(e){let t=this.fromYPos(e.yanchor),n=this.fromYPos(e.yhead);return t.pos===n.pos?p.cursor(n.pos,n.assoc):p.range(t.pos,n.pos)}},S=h.define({combine(e){return e[e.length-1]}}),C=y.define(),w=class{constructor(e){this.view=e,this.conf=e.state.facet(S),this._observer=(t,n)=>{if(n.origin!==this.conf){let n=t.delta,r=[],i=0;for(let e=0;e<n.length;e++){let t=n[e];t.insert==null?t.delete==null?i+=t.retain:(r.push({from:i,to:i+t.delete,insert:``}),i+=t.delete):r.push({from:i,to:i,insert:t.insert})}e.dispatch({changes:r,annotations:[C.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(C)===this.conf)return;let t=this.conf.ytext;t.doc.transact(()=>{let n=0;e.changes.iterChanges((e,r,i,a,o)=>{let s=o.sliceString(0,o.length,`
1
+ import{J as e}from"./CodeMirrorPropInput-D5H6xSL_.js";import{B as t,C as n,H as r,P as i,V as a,b as o,et as s,p as c,tt as l,w as u,y as d}from"./config-provider-C7vWo2tJ.js";import{$ as f,Et as p,J as m,Ot as h,Q as g,X as _,jt as v,xt as y}from"./dist-Dot7Y1W_.js";var b=class e{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:i(this.yanchor),yhead:i(this.yhead)}}static fromJSON(t){return new e(n(t.yanchor),n(t.yhead))}},x=class{constructor(e,t){this.ytext=e,this.awareness=t,this.undoManager=new c(e)}toYPos(e,t=0){return u(this.ytext,e,t)}fromYPos(e){let t=o(n(e),this.ytext.doc);if(t==null||t.type!==this.ytext)throw Error(`[y-codemirror] The position you want to retrieve was created by a different document`);return{pos:t.index,assoc:t.assoc}}toYRange(e){let t=e.assoc;return new b(this.toYPos(e.anchor,t),this.toYPos(e.head,t))}fromYRange(e){let t=this.fromYPos(e.yanchor),n=this.fromYPos(e.yhead);return t.pos===n.pos?p.cursor(n.pos,n.assoc):p.range(t.pos,n.pos)}},S=h.define({combine(e){return e[e.length-1]}}),C=y.define(),w=class{constructor(e){this.view=e,this.conf=e.state.facet(S),this._observer=(t,n)=>{if(n.origin!==this.conf){let n=t.delta,r=[],i=0;for(let e=0;e<n.length;e++){let t=n[e];t.insert==null?t.delete==null?i+=t.retain:(r.push({from:i,to:i+t.delete,insert:``}),i+=t.delete):r.push({from:i,to:i,insert:t.insert})}e.dispatch({changes:r,annotations:[C.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(C)===this.conf)return;let t=this.conf.ytext;t.doc.transact(()=>{let n=0;e.changes.iterChanges((e,r,i,a,o)=>{let s=o.sliceString(0,o.length,`
2
2
  `);e!==r&&t.delete(e+n,r-e),s.length>0&&t.insert(e+n,s),n+=s.length-(r-e)})},this.conf)}destroy(){this._ytext.unobserve(this._observer)}},T=g.fromClass(w),E=_.baseTheme({".cm-ySelection":{},".cm-yLineSelection":{padding:0,margin:`0px 2px 0px 4px`},".cm-ySelectionCaret":{position:`relative`,borderLeft:`1px solid black`,borderRight:`1px solid black`,marginLeft:`-1px`,marginRight:`-1px`,boxSizing:`border-box`,display:`inline`},".cm-ySelectionCaretDot":{borderRadius:`50%`,position:`absolute`,width:`.4em`,height:`.4em`,top:`-.2em`,left:`-.2em`,backgroundColor:`inherit`,transition:`transform .3s ease-in-out`,boxSizing:`border-box`},".cm-ySelectionCaret:hover > .cm-ySelectionCaretDot":{transformOrigin:`bottom center`,transform:`scale(0)`},".cm-ySelectionInfo":{position:`absolute`,top:`-1.05em`,left:`-1px`,fontSize:`.75em`,fontFamily:`serif`,fontStyle:`normal`,fontWeight:`normal`,lineHeight:`normal`,userSelect:`none`,color:`white`,paddingLeft:`2px`,paddingRight:`2px`,zIndex:101,transition:`opacity .3s ease-in-out`,backgroundColor:`inherit`,opacity:0,transitionDelay:`0s`,whiteSpace:`nowrap`},".cm-ySelectionCaret:hover > .cm-ySelectionInfo":{opacity:1,transitionDelay:`0s`}}),D=y.define(),O=class extends f{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return t(`span`,[r(`class`,`cm-ySelectionCaret`),r(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[a(`⁠`),t(`div`,[r(`class`,`cm-ySelectionCaretDot`)]),a(`⁠`),t(`div`,[r(`class`,`cm-ySelectionInfo`)],[a(this.name)]),a(`⁠`)])}eq(e){return e.color===this.color}compare(e){return e.color===this.color}updateDOM(){return!1}get estimatedHeight(){return-1}ignoreEvent(){return!0}},k=class{constructor(e){this.conf=e.state.facet(S),this._listener=({added:t,updated:n,removed:r},i,a)=>{t.concat(n).concat(r).findIndex(e=>e!==this.conf.awareness.doc.clientID)>=0&&e.dispatch({annotations:[D.of([])]})},this._awareness=this.conf.awareness,this._awareness.on(`change`,this._listener),this.decorations=v.of([])}destroy(){this._awareness.off(`change`,this._listener)}update(e){let t=this.conf.ytext,r=t.doc,i=this.conf.awareness,a=[],c=this.conf.awareness.getLocalState();if(c!=null){let r=e.view.hasFocus&&e.view.dom.ownerDocument.hasFocus(),a=r?e.state.selection.main:null,o=c.cursor==null?null:n(c.cursor.anchor),s=c.cursor==null?null:n(c.cursor.head);if(a!=null){let e=u(t,a.anchor),n=u(t,a.head);(c.cursor==null||!d(o,e)||!d(s,n))&&i.setLocalStateField(`cursor`,{anchor:e,head:n})}else c.cursor!=null&&r&&i.setLocalStateField(`cursor`,null)}i.getStates().forEach((n,c)=>{if(c===i.doc.clientID)return;let u=n.cursor;if(u==null||u.anchor==null||u.head==null)return;let d=o(u.anchor,r),f=o(u.head,r);if(d==null||f==null||d.type!==t||f.type!==t)return;let{color:p=`#30bced`,name:h=`Anonymous`}=n.user||{},g=n.user&&n.user.colorLight||p+`33`,_=l(d.index,f.index),v=s(d.index,f.index),y=e.view.state.doc.lineAt(_),b=e.view.state.doc.lineAt(v);if(y.number===b.number)a.push({from:_,to:v,value:m.mark({attributes:{style:`background-color: ${g}`},class:`cm-ySelection`})});else{a.push({from:_,to:y.from+y.length,value:m.mark({attributes:{style:`background-color: ${g}`},class:`cm-ySelection`})}),a.push({from:b.from,to:v,value:m.mark({attributes:{style:`background-color: ${g}`},class:`cm-ySelection`})});for(let t=y.number+1;t<b.number;t++){let n=e.view.state.doc.line(t).from;a.push({from:n,to:n,value:m.line({attributes:{style:`background-color: ${g}`,class:`cm-yLineSelection`}})})}}a.push({from:f.index,to:f.index,value:m.widget({side:f.index-d.index>0?-1:1,block:!1,widget:new O(p,h)})})}),this.decorations=m.set(a,!0)}},A=g.fromClass(k,{decorations:e=>e.decorations}),j=class{constructor(e){this.undoManager=e}addTrackedOrigin(e){this.undoManager.addTrackedOrigin(e)}removeTrackedOrigin(e){this.undoManager.removeTrackedOrigin(e)}undo(){return this.undoManager.undo()!=null}redo(){return this.undoManager.redo()!=null}},M=h.define({combine(e){return e[e.length-1]}});y.define();var N=class{constructor(t){this.view=t,this.conf=t.state.facet(M),this._undoManager=this.conf.undoManager,this.syncConf=t.state.facet(S),this._beforeChangeSelection=null,this._mux=e(),this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{t.has(this.syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)&&e.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:e})=>{let n=e.meta.get(this);if(n){let e=this.syncConf.fromYRange(n);t.dispatch(t.state.update({selection:e,effects:[_.scrollIntoView(e)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this.syncConf.toYRange(this.view.state.selection.main)},this._undoManager.on(`stack-item-added`,this._onStackItemAdded),this._undoManager.on(`stack-item-popped`,this._onStackItemPopped),this._undoManager.addTrackedOrigin(this.syncConf)}update(e){e.selectionSet&&(e.transactions.length===0||e.transactions[0].annotation(C)!==this.syncConf)&&this._storeSelection()}destroy(){this._undoManager.off(`stack-item-added`,this._onStackItemAdded),this._undoManager.off(`stack-item-popped`,this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this.syncConf)}},P=g.fromClass(N),F=({state:e,dispatch:t})=>e.facet(M).undo()||!0,I=({state:e,dispatch:t})=>e.facet(M).redo()||!0,L=(e,t,{undoManager:n=new c(e)}={})=>{let r=new x(e,t),i=[S.of(r),T];return t&&i.push(E,A),n!==!1&&i.push(M.of(new j(n)),P,_.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?F(t):e.inputType===`historyRedo`?I(t):!1}})),i};export{L as t};
@@ -1 +1 @@
1
- import{a as e}from"./navigation-targets-B4NGITKp.js";import{l as t}from"./doc-hash-KNy1saqI.js";function n(e){switch(e.kind){case`doc`:case`large-file`:return`doc`;case`skill-file`:return`doc`;case`folder`:case`folder-index`:return`folder`;case`missing`:case`asset`:return`missing`}}function r(r,i){let a=e(r,i);return{resolvedTarget:a,hashDocName:a.target,hash:a.kind===`skill-file`?t({scope:a.scope,name:a.name,path:a.path}):null,displayState:n(a)}}export{r as t};
1
+ import{a as e}from"./navigation-targets-2KIKb2N7.js";import{l as t}from"./doc-hash-BRcc1l8V.js";function n(e){switch(e.kind){case`doc`:case`large-file`:return`doc`;case`skill-file`:return`doc`;case`folder`:case`folder-index`:return`folder`;case`missing`:case`asset`:return`missing`}}function r(r,i){let a=e(r,i);return{resolvedTarget:a,hashDocName:a.target,hash:a.kind===`skill-file`?t({scope:a.scope,name:a.name,path:a.path}):null,displayState:n(a)}}export{r as t};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i}from"./DocumentContext-CJECYBYb.js";import{n as a,r as o}from"./dist-CQw2y-s3.js";import{a as s,c,i as ee,n as te,o as ne,r as re,s as l,t as ie,u}from"./panel-BH2RZRZQ.js";import{Cr as d,Kn as ae,it as f,tt as p}from"./dist-Chq5t0fA.js";import{i as oe}from"./button-cneJOVxD.js";import{B as m,I as h}from"./CodeMirrorPropInput-BseWsWBZ.js";import{i as se}from"./prop-types-Ci7AGShX.js";import{t as g}from"./dist-BvBijIC5.js";import{i as _}from"./startup-marks-DDtA9pbt.js";var v=e(t(),1),y=r(),b=new Map;function x(e,t){b.set(e,t)}function S(e){let t=b.get(e)??null;return b.delete(e),t}function C(e){b.delete(e)}function w(e,t){let n=(0,y.c)(4),r=t===void 0?!1:t,[i,a]=(0,v.useState)(void 0),o=(0,v.useRef)(null),s,c;return n[0]!==r||n[1]!==e?(s=()=>{if(r||e.length===0){a(void 0);return}let t=function(){let t=window.innerHeight/2,n,r;for(let i of e){let e=document.getElementById(i);if(!e)continue;let a=e.getBoundingClientRect().top;a<0?n=i:r===void 0&&a<t&&(r=i)}a(r??n??e[0])},n=function(){o.current===null&&(o.current=requestAnimationFrame(()=>{o.current=null,t()}))};return document.addEventListener(`scroll`,n,{capture:!0,passive:!0}),t(),()=>{document.removeEventListener(`scroll`,n,{capture:!0}),o.current!==null&&(cancelAnimationFrame(o.current),o.current=null)}},c=[e,r],n[0]=r,n[1]=e,n[2]=s,n[3]=c):(s=n[2],c=n[3]),(0,v.useEffect)(s,c),i}var T=n(),ce=300;async function le(e){let t=await fetch(`/api/page-headings?docName=${encodeURIComponent(e)}`),n;try{n=await t.json()}catch(e){throw new m(g._({id:`qAQVSD`}),{cause:e,status:t.status})}if(!t.ok){let e=f.safeParse(n);throw e.success?Error(e.data.title):new m(g._({id:`zlErBl`}),{status:t.status})}let r=p.safeParse(n);if(!r.success)throw new m(g._({id:`XW18jo`}),{status:t.status});return r.data.headings??[]}var E=32,D=12,O=6,k=`open-knowledge:outline-nav`;function A(e){let t=(0,y.c)(2),n;return t[0]===e?n=t[1]:(n=(0,T.jsx)(_,{name:`outline-panel`,children:(0,T.jsx)(j,{...e})}),t[0]=e,t[1]=n),n}function j(e){let t=(0,y.c)(50),{docName:n,isSourceMode:r,className:d}=e,f=d===void 0?``:d,{_:p}=o(),{pages:m,loading:h}=se(),g=u(),{activeProvider:_,activeDocName:b}=i(),S,C;t[0]===n?(S=t[1],C=t[2]):(S=[`page-headings`,n],C=()=>le(n),t[0]=n,t[1]=S,t[2]=C);let A;t[3]!==n||t[4]!==h||t[5]!==m?(A=!h&&(m.has(n)||ae(n)),t[3]=n,t[4]=h,t[5]=m,t[6]=A):A=t[6];let j;t[7]!==S||t[8]!==C||t[9]!==A?(j={queryKey:S,queryFn:C,enabled:A,staleTime:1/0},t[7]=S,t[8]=C,t[9]=A,t[10]=j):j=t[10];let{data:N,isLoading:P,error:F}=c(j),I;t[11]===N?I=t[12]:(I=N===void 0?[]:N,t[11]=N,t[12]=I);let L=I,R,z;t[13]!==b||t[14]!==_||t[15]!==n||t[16]!==g?(R=()=>{if(!_||b!==n)return;let e=_.document,t=null,r=()=>{t!==null&&clearTimeout(t),t=setTimeout(()=>{t=null,g.invalidateQueries({queryKey:[`page-headings`,n]})},ce)};return e.on(`update`,r),()=>{e.off(`update`,r),t!==null&&clearTimeout(t)}},z=[_,b,n,g],t[13]=b,t[14]=_,t[15]=n,t[16]=g,t[17]=R,t[18]=z):(R=t[17],z=t[18]),(0,v.useEffect)(R,z);let B;t[19]===L?B=t[20]:(B=L.map(M),t[19]=L,t[20]=B);let V=w(B,r),H;t[21]!==V||t[22]!==L?(H=V?L.findIndex(e=>e.slug===V):-1,t[21]=V,t[22]=L,t[23]=H):H=t[23];let U=H,W;t[24]!==n||t[25]!==r?(W=function(e,t){let i={index:e,slug:t,mode:r?`source`:`wysiwyg`};i.mode===`source`&&x(n,{kind:`outline`,detail:i}),window.dispatchEvent(new CustomEvent(k,{detail:i}))},t[24]=n,t[25]=r,t[26]=W):W=t[26];let G=W,K=((U>=0?L[U].level:1)-1)*D+(D-O)/2,q=U*E+(E-O)/2,J;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,T.jsx)(l,{children:(0,T.jsx)(a,{id:`dD7NPy`})}),t[27]=J):J=t[27];let Y;t[28]!==L.length||t[29]!==P?(Y=!P&&(0,T.jsx)(re,{children:L.length}),t[28]=L.length,t[29]=P,t[30]=Y):Y=t[30];let X;t[31]===Y?X=t[32]:(X=(0,T.jsxs)(ne,{children:[J,Y]}),t[31]=Y,t[32]=X);let Z;t[33]!==p||t[34]!==U||t[35]!==V||t[36]!==F||t[37]!==G||t[38]!==L||t[39]!==P||t[40]!==K||t[41]!==q?(Z=F?(0,T.jsx)(s,{className:`px-2`,children:F instanceof Error?F.message:p({id:`GuqOb1`})}):L.length===0&&!P?(0,T.jsx)(ee,{className:`px-2`,children:(0,T.jsx)(a,{id:`0BB9ID`})}):(0,T.jsxs)(`nav`,{"aria-label":p({id:`BymzO4`}),className:`relative`,children:[U>=0&&(0,T.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-0 rounded-full bg-primary motion-safe:[transition:transform_0.25s_var(--ease-out-strong)]`,style:{width:O,height:O,transform:`translate(${K}px, ${q}px)`}}),L.map((e,t)=>{let n=e.slug===V;return(0,T.jsx)(`button`,{type:`button`,"aria-current":n?`location`:void 0,onClick:()=>G(t,e.slug),className:oe(`w-full cursor-pointer truncate py-1.5 pe-2 text-left text-sm transition-colors`,n?`font-medium text-primary`:`text-muted-foreground hover:text-foreground`),style:{paddingLeft:`${(e.level-1)*D+20}px`},title:e.text,children:e.text},t)})]}),t[33]=p,t[34]=U,t[35]=V,t[36]=F,t[37]=G,t[38]=L,t[39]=P,t[40]=K,t[41]=q,t[42]=Z):Z=t[42];let Q;t[43]!==P||t[44]!==Z?(Q=(0,T.jsx)(te,{className:`px-3 py-2`,"aria-busy":P,children:Z}),t[43]=P,t[44]=Z,t[45]=Q):Q=t[45];let $;return t[46]!==f||t[47]!==X||t[48]!==Q?($=(0,T.jsxs)(ie,{className:f,children:[X,Q]}),t[46]=f,t[47]=X,t[48]=Q,t[49]=$):$=t[49],$}function M(e){return e.slug}var N={words:0,chars:0,tokens:0},P=/[ -〿぀-ゟ゠-ヿ㐀-䶿一-鿿豈-﫿＀-￯฀-๿ក-៿]/,F=/[\p{L}\p{N}]/u,I=new Set([`text`,`inlineCode`,`code`,`tag`]),L=new Set([`html`,`definition`,`footnoteDefinition`,`yaml`,`toml`,`image`,`imageReference`,`mdxFlowExpression`,`mdxTextExpression`,`mdxjsEsm`,`rawMdxFallback`,`rawMdxFallbackMdast`]),R=new Set([`paragraph`,`heading`,`blockquote`,`list`,`listItem`,`thematicBreak`,`table`,`tableRow`,`tableCell`,`mdxJsxFlowElement`,`commentBlock`]);function z(e,t){if(!e)return;let n=e.type;if(!L.has(n)){if(I.has(n)){e.value&&(t.push(e.value),n===`code`&&t.push(`
1
+ import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i}from"./DocumentContext-CKEIVeX1.js";import{n as a,r as o}from"./dist-CQw2y-s3.js";import{a as s,c,i as ee,n as te,o as ne,r as re,s as l,t as ie,u}from"./panel-BH2RZRZQ.js";import{Cr as d,Kn as ae,it as f,tt as p}from"./dist-DN4vicwQ.js";import{i as oe}from"./button-cneJOVxD.js";import{B as m,I as h}from"./CodeMirrorPropInput-D5H6xSL_.js";import{i as se}from"./prop-types-CdM6RVrV.js";import{t as g}from"./dist-BvBijIC5.js";import{i as _}from"./startup-marks-DDtA9pbt.js";var v=e(t(),1),y=r(),b=new Map;function x(e,t){b.set(e,t)}function S(e){let t=b.get(e)??null;return b.delete(e),t}function C(e){b.delete(e)}function w(e,t){let n=(0,y.c)(4),r=t===void 0?!1:t,[i,a]=(0,v.useState)(void 0),o=(0,v.useRef)(null),s,c;return n[0]!==r||n[1]!==e?(s=()=>{if(r||e.length===0){a(void 0);return}let t=function(){let t=window.innerHeight/2,n,r;for(let i of e){let e=document.getElementById(i);if(!e)continue;let a=e.getBoundingClientRect().top;a<0?n=i:r===void 0&&a<t&&(r=i)}a(r??n??e[0])},n=function(){o.current===null&&(o.current=requestAnimationFrame(()=>{o.current=null,t()}))};return document.addEventListener(`scroll`,n,{capture:!0,passive:!0}),t(),()=>{document.removeEventListener(`scroll`,n,{capture:!0}),o.current!==null&&(cancelAnimationFrame(o.current),o.current=null)}},c=[e,r],n[0]=r,n[1]=e,n[2]=s,n[3]=c):(s=n[2],c=n[3]),(0,v.useEffect)(s,c),i}var T=n(),ce=300;async function le(e){let t=await fetch(`/api/page-headings?docName=${encodeURIComponent(e)}`),n;try{n=await t.json()}catch(e){throw new m(g._({id:`qAQVSD`}),{cause:e,status:t.status})}if(!t.ok){let e=f.safeParse(n);throw e.success?Error(e.data.title):new m(g._({id:`zlErBl`}),{status:t.status})}let r=p.safeParse(n);if(!r.success)throw new m(g._({id:`XW18jo`}),{status:t.status});return r.data.headings??[]}var E=32,D=12,O=6,k=`open-knowledge:outline-nav`;function A(e){let t=(0,y.c)(2),n;return t[0]===e?n=t[1]:(n=(0,T.jsx)(_,{name:`outline-panel`,children:(0,T.jsx)(j,{...e})}),t[0]=e,t[1]=n),n}function j(e){let t=(0,y.c)(50),{docName:n,isSourceMode:r,className:d}=e,f=d===void 0?``:d,{_:p}=o(),{pages:m,loading:h}=se(),g=u(),{activeProvider:_,activeDocName:b}=i(),S,C;t[0]===n?(S=t[1],C=t[2]):(S=[`page-headings`,n],C=()=>le(n),t[0]=n,t[1]=S,t[2]=C);let A;t[3]!==n||t[4]!==h||t[5]!==m?(A=!h&&(m.has(n)||ae(n)),t[3]=n,t[4]=h,t[5]=m,t[6]=A):A=t[6];let j;t[7]!==S||t[8]!==C||t[9]!==A?(j={queryKey:S,queryFn:C,enabled:A,staleTime:1/0},t[7]=S,t[8]=C,t[9]=A,t[10]=j):j=t[10];let{data:N,isLoading:P,error:F}=c(j),I;t[11]===N?I=t[12]:(I=N===void 0?[]:N,t[11]=N,t[12]=I);let L=I,R,z;t[13]!==b||t[14]!==_||t[15]!==n||t[16]!==g?(R=()=>{if(!_||b!==n)return;let e=_.document,t=null,r=()=>{t!==null&&clearTimeout(t),t=setTimeout(()=>{t=null,g.invalidateQueries({queryKey:[`page-headings`,n]})},ce)};return e.on(`update`,r),()=>{e.off(`update`,r),t!==null&&clearTimeout(t)}},z=[_,b,n,g],t[13]=b,t[14]=_,t[15]=n,t[16]=g,t[17]=R,t[18]=z):(R=t[17],z=t[18]),(0,v.useEffect)(R,z);let B;t[19]===L?B=t[20]:(B=L.map(M),t[19]=L,t[20]=B);let V=w(B,r),H;t[21]!==V||t[22]!==L?(H=V?L.findIndex(e=>e.slug===V):-1,t[21]=V,t[22]=L,t[23]=H):H=t[23];let U=H,W;t[24]!==n||t[25]!==r?(W=function(e,t){let i={index:e,slug:t,mode:r?`source`:`wysiwyg`};i.mode===`source`&&x(n,{kind:`outline`,detail:i}),window.dispatchEvent(new CustomEvent(k,{detail:i}))},t[24]=n,t[25]=r,t[26]=W):W=t[26];let G=W,K=((U>=0?L[U].level:1)-1)*D+(D-O)/2,q=U*E+(E-O)/2,J;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,T.jsx)(l,{children:(0,T.jsx)(a,{id:`dD7NPy`})}),t[27]=J):J=t[27];let Y;t[28]!==L.length||t[29]!==P?(Y=!P&&(0,T.jsx)(re,{children:L.length}),t[28]=L.length,t[29]=P,t[30]=Y):Y=t[30];let X;t[31]===Y?X=t[32]:(X=(0,T.jsxs)(ne,{children:[J,Y]}),t[31]=Y,t[32]=X);let Z;t[33]!==p||t[34]!==U||t[35]!==V||t[36]!==F||t[37]!==G||t[38]!==L||t[39]!==P||t[40]!==K||t[41]!==q?(Z=F?(0,T.jsx)(s,{className:`px-2`,children:F instanceof Error?F.message:p({id:`GuqOb1`})}):L.length===0&&!P?(0,T.jsx)(ee,{className:`px-2`,children:(0,T.jsx)(a,{id:`0BB9ID`})}):(0,T.jsxs)(`nav`,{"aria-label":p({id:`BymzO4`}),className:`relative`,children:[U>=0&&(0,T.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-0 top-0 rounded-full bg-primary motion-safe:[transition:transform_0.25s_var(--ease-out-strong)]`,style:{width:O,height:O,transform:`translate(${K}px, ${q}px)`}}),L.map((e,t)=>{let n=e.slug===V;return(0,T.jsx)(`button`,{type:`button`,"aria-current":n?`location`:void 0,onClick:()=>G(t,e.slug),className:oe(`w-full cursor-pointer truncate py-1.5 pe-2 text-left text-sm transition-colors`,n?`font-medium text-primary`:`text-muted-foreground hover:text-foreground`),style:{paddingLeft:`${(e.level-1)*D+20}px`},title:e.text,children:e.text},t)})]}),t[33]=p,t[34]=U,t[35]=V,t[36]=F,t[37]=G,t[38]=L,t[39]=P,t[40]=K,t[41]=q,t[42]=Z):Z=t[42];let Q;t[43]!==P||t[44]!==Z?(Q=(0,T.jsx)(te,{className:`px-3 py-2`,"aria-busy":P,children:Z}),t[43]=P,t[44]=Z,t[45]=Q):Q=t[45];let $;return t[46]!==f||t[47]!==X||t[48]!==Q?($=(0,T.jsxs)(ie,{className:f,children:[X,Q]}),t[46]=f,t[47]=X,t[48]=Q,t[49]=$):$=t[49],$}function M(e){return e.slug}var N={words:0,chars:0,tokens:0},P=/[ -〿぀-ゟ゠-ヿ㐀-䶿一-鿿豈-﫿＀-￯฀-๿ក-៿]/,F=/[\p{L}\p{N}]/u,I=new Set([`text`,`inlineCode`,`code`,`tag`]),L=new Set([`html`,`definition`,`footnoteDefinition`,`yaml`,`toml`,`image`,`imageReference`,`mdxFlowExpression`,`mdxTextExpression`,`mdxjsEsm`,`rawMdxFallback`,`rawMdxFallbackMdast`]),R=new Set([`paragraph`,`heading`,`blockquote`,`list`,`listItem`,`thematicBreak`,`table`,`tableRow`,`tableCell`,`mdxJsxFlowElement`,`commentBlock`]);function z(e,t){if(!e)return;let n=e.type;if(!L.has(n)){if(I.has(n)){e.value&&(t.push(e.value),n===`code`&&t.push(`
2
2
  `));return}if(n===`wikiLink`||n===`wikiLinkEmbed`){let n=e.data?.alias??e.value??``;n&&t.push(n);return}if(Array.isArray(e.children)){for(let n of e.children)z(n,t);if(R.has(n)&&t.length>0){let e=t[t.length-1];e&&!e.endsWith(`
3
3
  `)&&t.push(`
4
4
  `)}}}}function B(e){try{let t=h().parseToMdast(e),n=[];return z(t,n),n.join(``).trim()}catch(t){return console.warn(`[document-stats] mdast parse failed, falling back to raw text`,t),e.trim()}}function V(e){if(!e)return 0;let t=0;for(let n of e.split(/\s+/))F.test(n)&&t++;return t}function H(e){let t=globalThis.Intl.Segmenter;if(!t)return V(e);let n=new t(void 0,{granularity:`word`}),r=0;for(let t of n.segment(e))t.isWordLike&&r++;return r}function U(e){let t=P.test(e)?1.5:4;return Math.ceil(e.length/t)}function W(e){return e?{words:P.test(e)?H(e):V(e),chars:e.length,tokens:U(e)}:{words:0,chars:0,tokens:0}}function G(e){if(!e)return{words:0,chars:0,tokens:0};let{body:t}=d(e);return t.trim()?W(B(t)):{words:0,chars:0,tokens:0}}function K(e,{isMarkdown:t}){let n=e.trim();return n?W(t?B(e):n):N}var q=new Map,J=new Set,Y=(e,t)=>`${t}:${e}`;function X(){for(let e of J)e()}function Z(e,t,n){let r=Y(e,t);if(n===null){q.delete(r)&&X();return}let i=q.get(r);i&&i.words===n.words&&i.chars===n.chars&&i.tokens===n.tokens||(q.set(r,n),X())}function Q(e,t){return e===null?null:q.get(Y(e,t))??null}function $(e){return J.add(e),()=>{J.delete(e)}}function ue(e){let{from:t,to:n,empty:r}=e.state.selection;if(r)return null;let i=e.state.doc.textBetween(t,n,`
@@ -1 +1 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t}from"./compiler-runtime-CVnuRdak.js";import{r as n}from"./dist-CQw2y-s3.js";import{fn as r}from"./dist-Chq5t0fA.js";import{u as i}from"./button-cneJOVxD.js";var a=i(`copy-plus`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),o=i(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),s=i(`pencil`,[[`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`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),c=i(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),l=[`global`,`project`];function u(e){return{project:new Set(e.filter(e=>e.scope===`project`).map(e=>e.name)),global:new Set(e.filter(e=>e.scope===`global`).map(e=>e.name))}}var d=`open-knowledge-pack-`;function f(e){return e.startsWith(d)?e.slice(20):e}function p(){let{_:e}=n();return{project:e({id:`e0NrBM`}),global:e({id:`2GT3Hf`})}}function m(){let{_:e}=n();return{project:e({id:`HyvSqq`}),global:e({id:`C7XjNB`})}}var h=e(t(),1);function g(){let[e]=(0,h.useState)(_);return e}function _(){return r()!=null}function v(e,t,n){let r=n===`\\`?t.replaceAll(`/`,`\\`):t;return`${e.endsWith(n)?e.slice(0,-1):e}${n}${r}`}var y=/\.(md|mdx)$/i;function b(e){return y.test(e)?e:`${e}.md`}export{f as a,m as c,o as d,a as f,l as i,c as l,v as n,u as o,g as r,p as s,b as t,s as u};
1
+ import{o as e}from"./chunk-CFjPhJqf.js";import{n as t}from"./compiler-runtime-CVnuRdak.js";import{r as n}from"./dist-CQw2y-s3.js";import{fn as r}from"./dist-DN4vicwQ.js";import{u as i}from"./button-cneJOVxD.js";var a=i(`copy-plus`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),o=i(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),s=i(`pencil`,[[`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`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),c=i(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),l=[`global`,`project`];function u(e){return{project:new Set(e.filter(e=>e.scope===`project`).map(e=>e.name)),global:new Set(e.filter(e=>e.scope===`global`).map(e=>e.name))}}var d=`open-knowledge-pack-`;function f(e){return e.startsWith(d)?e.slice(20):e}function p(){let{_:e}=n();return{project:e({id:`e0NrBM`}),global:e({id:`2GT3Hf`})}}function m(){let{_:e}=n();return{project:e({id:`HyvSqq`}),global:e({id:`C7XjNB`})}}var h=e(t(),1);function g(){let[e]=(0,h.useState)(_);return e}function _(){return r()!=null}function v(e,t,n){let r=n===`\\`?t.replaceAll(`/`,`\\`):t;return`${e.endsWith(n)?e.slice(0,-1):e}${n}${r}`}var y=/\.(md|mdx)$/i;function b(e){return y.test(e)?e:`${e}.md`}export{f as a,m as c,o as d,a as f,l as i,c as l,v as n,u as o,g as r,p as s,b as t,s as u};
@@ -48,7 +48,7 @@
48
48
  -->
49
49
  <script>(() => { let t = 'system'; try { const r = localStorage.getItem('ok-theme-v1'); if (r === 'light' || r === 'dark' || r === 'system') t = r; } catch {} let dark = t === 'dark'; if (t === 'system') { try { dark = window.matchMedia('(prefers-color-scheme: dark)').matches; } catch {} } if (dark) document.documentElement.classList.add('dark'); if (window.okDesktop) document.documentElement.classList.add('electron-mode'); })();</script>
50
50
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
51
- <script type="module" crossorigin src="./assets/index-gPUerME8.js"></script>
51
+ <script type="module" crossorigin src="./assets/index-DrjcjzLS.js"></script>
52
52
  <link rel="modulepreload" crossorigin href="./assets/chunk-CFjPhJqf.js">
53
53
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-2ej06EnG.js">
54
54
  <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-CHcJEDvG.js">
@@ -64,11 +64,11 @@
64
64
  <link rel="modulepreload" crossorigin href="./assets/stex-4t0JIuX_.js">
65
65
  <link rel="modulepreload" crossorigin href="./assets/floating-ui.dom-DVRWCLii.js">
66
66
  <link rel="modulepreload" crossorigin href="./assets/trace-api-D6fqC5Nw.js">
67
- <link rel="modulepreload" crossorigin href="./assets/dist-Chq5t0fA.js">
67
+ <link rel="modulepreload" crossorigin href="./assets/dist-DN4vicwQ.js">
68
68
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-CVnuRdak.js">
69
69
  <link rel="modulepreload" crossorigin href="./assets/dist-BVOt51sU.js">
70
70
  <link rel="modulepreload" crossorigin href="./assets/config-context-CE3SCVYc.js">
71
- <link rel="modulepreload" crossorigin href="./assets/config-provider-DptJpHL2.js">
71
+ <link rel="modulepreload" crossorigin href="./assets/config-provider-C7vWo2tJ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/dist-BvBijIC5.js">
73
73
  <link rel="modulepreload" crossorigin href="./assets/dist-CQw2y-s3.js">
74
74
  <link rel="modulepreload" crossorigin href="./assets/button-cneJOVxD.js">
@@ -76,14 +76,14 @@
76
76
  <link rel="modulepreload" crossorigin href="./assets/trash-2-Dcpo0Di-.js">
77
77
  <link rel="modulepreload" crossorigin href="./assets/triangle-alert-c3yCucJv.js">
78
78
  <link rel="modulepreload" crossorigin href="./assets/react-dom-C-oc-P2K.js">
79
- <link rel="modulepreload" crossorigin href="./assets/doc-hash-KNy1saqI.js">
80
- <link rel="modulepreload" crossorigin href="./assets/navigation-targets-B4NGITKp.js">
79
+ <link rel="modulepreload" crossorigin href="./assets/doc-hash-BRcc1l8V.js">
80
+ <link rel="modulepreload" crossorigin href="./assets/navigation-targets-2KIKb2N7.js">
81
81
  <link rel="modulepreload" crossorigin href="./assets/documents-fetch-oup83IZh.js">
82
- <link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-BseWsWBZ.js">
83
- <link rel="modulepreload" crossorigin href="./assets/dist-CMWIIV76.js">
84
- <link rel="modulepreload" crossorigin href="./assets/documents-events-kyp3S2Nf.js">
82
+ <link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-D5H6xSL_.js">
83
+ <link rel="modulepreload" crossorigin href="./assets/dist-C-f1kbPA.js">
84
+ <link rel="modulepreload" crossorigin href="./assets/documents-events-Z18kbrmq.js">
85
85
  <link rel="modulepreload" crossorigin href="./assets/parse-api-error-CqtA8BcL.js">
86
- <link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-D20KCZaE.js">
86
+ <link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-BYHLuUIG.js">
87
87
  <link rel="modulepreload" crossorigin href="./assets/dist-BSkHa6UR.js">
88
88
  <link rel="modulepreload" crossorigin href="./assets/dist-fpPv-rVb.js">
89
89
  <link rel="modulepreload" crossorigin href="./assets/propagation-api-BHhJitgG.js">
@@ -97,44 +97,44 @@
97
97
  <link rel="modulepreload" crossorigin href="./assets/chevron-down-BvNcCN1f.js">
98
98
  <link rel="modulepreload" crossorigin href="./assets/chevron-right-DSNnH-Vb.js">
99
99
  <link rel="modulepreload" crossorigin href="./assets/startup-marks-DDtA9pbt.js">
100
- <link rel="modulepreload" crossorigin href="./assets/prop-types-Ci7AGShX.js">
101
- <link rel="modulepreload" crossorigin href="./assets/workspace-paths-CLhojMmt.js">
100
+ <link rel="modulepreload" crossorigin href="./assets/prop-types-CdM6RVrV.js">
101
+ <link rel="modulepreload" crossorigin href="./assets/workspace-paths-DAj8e6IA.js">
102
102
  <link rel="modulepreload" crossorigin href="./assets/eye-WB1l5kVb.js">
103
103
  <link rel="modulepreload" crossorigin href="./assets/git-branch-q0qWPEwd.js">
104
104
  <link rel="modulepreload" crossorigin href="./assets/info-BlYnsVoP.js">
105
105
  <link rel="modulepreload" crossorigin href="./assets/loader-circle-B7Gv_Djz.js">
106
106
  <link rel="modulepreload" crossorigin href="./assets/file-tree-rename-validation-DeKIxKnc.js">
107
107
  <link rel="modulepreload" crossorigin href="./assets/input-tW78aNaR.js">
108
- <link rel="modulepreload" crossorigin href="./assets/DocumentContext-CJECYBYb.js">
108
+ <link rel="modulepreload" crossorigin href="./assets/DocumentContext-CKEIVeX1.js">
109
109
  <link rel="modulepreload" crossorigin href="./assets/checkbox-DurEHAAx.js">
110
110
  <link rel="modulepreload" crossorigin href="./assets/dist-CyYz03up.js">
111
- <link rel="modulepreload" crossorigin href="./assets/skills-api-DhQjjD9F.js">
111
+ <link rel="modulepreload" crossorigin href="./assets/skills-api-BOT-8Fw4.js">
112
112
  <link rel="modulepreload" crossorigin href="./assets/label-DPn_C7ZD.js">
113
113
  <link rel="modulepreload" crossorigin href="./assets/radio-group-CXUz67M8.js">
114
- <link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-J2fWLuKx.js">
114
+ <link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-BLuCj6gn.js">
115
115
  <link rel="modulepreload" crossorigin href="./assets/arrow-up-right-Crm0Btez.js">
116
116
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-CluaccKu.js">
117
117
  <link rel="modulepreload" crossorigin href="./assets/cursor-CjNH7VrK.js">
118
- <link rel="modulepreload" crossorigin href="./assets/skill-actions-CW-DAvgj.js">
118
+ <link rel="modulepreload" crossorigin href="./assets/skill-actions-BGFjwgz8.js">
119
119
  <link rel="modulepreload" crossorigin href="./assets/textarea-DtAQz2_P.js">
120
120
  <link rel="modulepreload" crossorigin href="./assets/external-link-BjECE2gH.js">
121
- <link rel="modulepreload" crossorigin href="./assets/keyboard-shortcuts-BMEqPQU6.js">
122
- <link rel="modulepreload" crossorigin href="./assets/auth-state-cache-DJAi3NoE.js">
121
+ <link rel="modulepreload" crossorigin href="./assets/keyboard-shortcuts-DVv_UWZp.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/auth-state-cache-ROXaeSig.js">
123
123
  <link rel="modulepreload" crossorigin href="./assets/toggle-group-CXHn0FKi.js">
124
124
  <link rel="modulepreload" crossorigin href="./assets/panel-BH2RZRZQ.js">
125
125
  <link rel="modulepreload" crossorigin href="./assets/format-EMqSStmm.js">
126
- <link rel="modulepreload" crossorigin href="./assets/selection-context-BoRyg1Sb.js">
127
- <link rel="modulepreload" crossorigin href="./assets/PropertyPanel-DDXKhF6k.js">
126
+ <link rel="modulepreload" crossorigin href="./assets/selection-context-DM7dh9w8.js">
127
+ <link rel="modulepreload" crossorigin href="./assets/PropertyPanel-B7eV5Tcu.js">
128
128
  <link rel="modulepreload" crossorigin href="./assets/miss-dialog-store-PJQ_kr0I.js">
129
- <link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-CHWJDSOf.js">
129
+ <link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-DynS4M_y.js">
130
130
  <link rel="modulepreload" crossorigin href="./assets/chevron-left-BEP8MhU3.js">
131
- <link rel="modulepreload" crossorigin href="./assets/agent-presence-SWQihO8a.js">
132
- <link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-0adggLGY.js">
131
+ <link rel="modulepreload" crossorigin href="./assets/agent-presence-CWtl35ms.js">
132
+ <link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-BFnDTZhU.js">
133
133
  <link rel="modulepreload" crossorigin href="./assets/project-paths-Cv9JzTbQ.js">
134
- <link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-BrTWXp63.js">
135
- <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-DSkE5CGB.js">
134
+ <link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-DJIk8Mtr.js">
135
+ <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-OcEXysbL.js">
136
136
  <link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-BxRtlIhJ.js">
137
- <link rel="modulepreload" crossorigin href="./assets/receive-store-BzfAUT48.js">
137
+ <link rel="modulepreload" crossorigin href="./assets/receive-store-BBXikFBW.js">
138
138
  <link rel="stylesheet" crossorigin href="./assets/DocumentContext-B0sQn39F.css">
139
139
  <link rel="stylesheet" crossorigin href="./assets/index-Ba1S3D-p.css">
140
140
  </head>
@@ -1,2 +1,2 @@
1
- import{S as e,r as t}from"./init-BoNJQ0RQ.mjs";import{t as n}from"./is-object-Cg453afR.mjs";import{join as r}from"node:path";import{existsSync as i,readFileSync as a}from"node:fs";const o=[[`@inkeep/open-knowledge`,`ui`],[`-y`,`@inkeep/open-knowledge`,`ui`],t];function s(e){if(e.runtimeExecutable===`/bin/sh`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[2];if(typeof t==`string`){if(t.includes(`# ok-ui-v1`))return`canonical`;if(/# ok-ui-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`powershell`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[3];if(typeof t==`string`){if(t.includes(`# ok-ui-win-v1`))return`canonical`;if(/# ok-ui-win-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`npx`&&Array.isArray(e.runtimeArgs)){for(let t of o)if(c(e.runtimeArgs,t))return`legacy-bare`}return`preserved`}function c(e,t){if(e.length!==t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function l(t){let o=t.logger??u,c=r(t.projectDir,`.claude`,`launch.json`);if(t.reclaimDisableEnv===`1`)return o({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:c,outcome:`skipped-reclaim-disabled`},repairedCount:0};if(!i(c))return{outcome:{configPath:c,outcome:`no-file`},repairedCount:0};let l;try{let e=a(c,`utf-8`).trim();l=e?JSON.parse(e):{}}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`launch-json-repair-read-failed`,configPath:c,error:t}),{outcome:{configPath:c,outcome:`read-failed`,error:t},repairedCount:0}}if(!n(l)){let e=`launch.json root is not an object`;return o({event:`launch-json-repair-read-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`read-failed`,error:e},repairedCount:0}}let d=l.configurations;if(!Array.isArray(d))return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let f=d.find(e=>n(e)&&e.name===`open-knowledge-ui`);if(!f)return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let p=s(f);if(p===`canonical`)return{outcome:{configPath:c,outcome:`canonical`},repairedCount:0};if(p===`preserved`)return{outcome:{configPath:c,outcome:`preserved`},repairedCount:0};let m=e(t.projectDir,{mode:`published`});if(m.action===`failed`){let e=m.error??`unknown write failure`;return o({event:`launch-json-repair-write-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`write-failed`,error:e},repairedCount:0}}return o({event:`launch-json-repair-applied`,configPath:c}),{outcome:{configPath:c,outcome:`repaired`},repairedCount:1}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairLaunchJson};
2
- //# sourceMappingURL=repair-launch-json-B5iZEpFW.mjs.map
1
+ import{S as e,r as t}from"./init-CZ1SNbzi.mjs";import{t as n}from"./is-object-Cg453afR.mjs";import{join as r}from"node:path";import{existsSync as i,readFileSync as a}from"node:fs";const o=[[`@inkeep/open-knowledge`,`ui`],[`-y`,`@inkeep/open-knowledge`,`ui`],t];function s(e){if(e.runtimeExecutable===`/bin/sh`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[2];if(typeof t==`string`){if(t.includes(`# ok-ui-v1`))return`canonical`;if(/# ok-ui-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`powershell`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[3];if(typeof t==`string`){if(t.includes(`# ok-ui-win-v1`))return`canonical`;if(/# ok-ui-win-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`npx`&&Array.isArray(e.runtimeArgs)){for(let t of o)if(c(e.runtimeArgs,t))return`legacy-bare`}return`preserved`}function c(e,t){if(e.length!==t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function l(t){let o=t.logger??u,c=r(t.projectDir,`.claude`,`launch.json`);if(t.reclaimDisableEnv===`1`)return o({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:c,outcome:`skipped-reclaim-disabled`},repairedCount:0};if(!i(c))return{outcome:{configPath:c,outcome:`no-file`},repairedCount:0};let l;try{let e=a(c,`utf-8`).trim();l=e?JSON.parse(e):{}}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`launch-json-repair-read-failed`,configPath:c,error:t}),{outcome:{configPath:c,outcome:`read-failed`,error:t},repairedCount:0}}if(!n(l)){let e=`launch.json root is not an object`;return o({event:`launch-json-repair-read-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`read-failed`,error:e},repairedCount:0}}let d=l.configurations;if(!Array.isArray(d))return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let f=d.find(e=>n(e)&&e.name===`open-knowledge-ui`);if(!f)return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let p=s(f);if(p===`canonical`)return{outcome:{configPath:c,outcome:`canonical`},repairedCount:0};if(p===`preserved`)return{outcome:{configPath:c,outcome:`preserved`},repairedCount:0};let m=e(t.projectDir,{mode:`published`});if(m.action===`failed`){let e=m.error??`unknown write failure`;return o({event:`launch-json-repair-write-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`write-failed`,error:e},repairedCount:0}}return o({event:`launch-json-repair-applied`,configPath:c}),{outcome:{configPath:c,outcome:`repaired`},repairedCount:1}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairLaunchJson};
2
+ //# sourceMappingURL=repair-launch-json-CERDu05c.mjs.map
@@ -1,2 +1,2 @@
1
- import{g as e,w as t}from"./init-BoNJQ0RQ.mjs";import{_ as n,d as r,s as i}from"./write-project-skill-BnCIY7g1.mjs";import{t as a}from"./mcp-migrate-event-D0NrGjvc.mjs";import{homedir as o}from"node:os";function s(e){let t=e.logger??u,n=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return t({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of i){let i=r[o],s=c(()=>i.configPath(``,n));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:i,home:n,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),i.projectConfigPath){let n=i.projectConfigPath,r=c(()=>n(e.projectDir));r!==null&&a.push(l({scope:`project`,editorId:o,target:i,home:void 0,cwd:e.projectDir,configPath:r,configPathOverride:r,logger:t}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(r){let i={scope:r.scope,editorId:r.editorId,configPath:r.configPath},o=e(r.target,r.cwd,r.home,r.configPathOverride);if(o===null)return{...i,outcome:`no-entry`};if(n(o))return{...i,outcome:`canonical`};r.logger(a({scope:r.scope,surface:`cli-repair`,editorId:r.editorId,configPath:r.configPath,priorEntry:o}));let s=t(r.target,r.cwd,{mode:`published`,skipAvailabilityCheck:!0},r.home,r.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return r.logger({event:`mcp-config-repair-write-failed`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,error:e}),{...i,outcome:`write-failed`,error:e}}return s.action===`declined`?(r.logger({event:`mcp-config-repair-declined`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,reason:s.declineReason}),{...i,outcome:`declined`}):{...i,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
- //# sourceMappingURL=repair-mcp-configs-DqSXFZsw.mjs.map
1
+ import{g as e,w as t}from"./init-CZ1SNbzi.mjs";import{_ as n,d as r,s as i}from"./write-project-skill-DXeyiTpq.mjs";import{t as a}from"./mcp-migrate-event-D0NrGjvc.mjs";import{homedir as o}from"node:os";function s(e){let t=e.logger??u,n=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return t({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of i){let i=r[o],s=c(()=>i.configPath(``,n));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:i,home:n,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),i.projectConfigPath){let n=i.projectConfigPath,r=c(()=>n(e.projectDir));r!==null&&a.push(l({scope:`project`,editorId:o,target:i,home:void 0,cwd:e.projectDir,configPath:r,configPathOverride:r,logger:t}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(r){let i={scope:r.scope,editorId:r.editorId,configPath:r.configPath},o=e(r.target,r.cwd,r.home,r.configPathOverride);if(o===null)return{...i,outcome:`no-entry`};if(n(o))return{...i,outcome:`canonical`};r.logger(a({scope:r.scope,surface:`cli-repair`,editorId:r.editorId,configPath:r.configPath,priorEntry:o}));let s=t(r.target,r.cwd,{mode:`published`,skipAvailabilityCheck:!0},r.home,r.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return r.logger({event:`mcp-config-repair-write-failed`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,error:e}),{...i,outcome:`write-failed`,error:e}}return s.action===`declined`?(r.logger({event:`mcp-config-repair-declined`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,reason:s.declineReason}),{...i,outcome:`declined`}):{...i,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
+ //# sourceMappingURL=repair-mcp-configs-CHisR-P4.mjs.map
@@ -1,3 +1,3 @@
1
- import{ua as e}from"./server-lock-iLcBw_q0-CdaRzkXM.mjs";import{Jr as t,Lr as n,Wr as r,ca as i,d as a,ei as o,ia as s,ut as c,zr as l}from"./dist-DU6kAT_L.mjs";import{t as u}from"./esm-CsQUg9js.mjs";import{a as d,d as f,f as p,t as m}from"./write-project-skill-BnCIY7g1.mjs";import{dirname as h,join as g,resolve as _}from"node:path";import{homedir as v}from"node:os";import{existsSync as y,mkdirSync as b,readFileSync as x,readdirSync as S,rmSync as C,statSync as w,writeFileSync as T}from"node:fs";const E={existsSync:e=>y(e),isDirectory:e=>{try{return w(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>S(e),readFileSync:e=>x(e),writeFileSync:(e,t)=>{T(e,t)},mkdirSync:(e,t)=>{b(e,t)},rmSync:(e,t)=>{C(e,t)}},D={resolveProjectBundledSkillDir:()=>o(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>o(e,{checkDesktop:!1}),readBundledVersion:()=>l(),readRecordedVersion:e=>r(e,`cli-hosts`),writeRecordedVersion:(e,t)=>i(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>t(e),readBundleDecision:(e,t)=>n(e,t),writeBundleDecision:(e,t,n)=>s(e,t,n),removeBundleFromDisk:(e,t)=>d(e,t)};function O(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function k(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(h(t),{recursive:!0}),A(e,t,n)}function A(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=g(e,r),a=g(t,r);n.isDirectory(i)?A(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function j(e,t,n,r,i,a){let o=[],s=g(e,`.agents`,`skills`,t),c=r.existsSync(s),l=!1;try{k(n,s,r),l=!0,o.push({kind:`central`,path:s,outcome:c?`overwritten`:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:c,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=g(e,c.hostDir),u=g(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}let d=r.existsSync(u);try{k(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:d?`overwritten`:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:d,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:l}}function M(e,t){if(!e)return!1;try{if(!t.existsSync(e))return!1;let n=t.readFileSync(e).toString(`utf8`);return n.includes(`# ok-mcp-v1`)||n.includes(`# ok-mcp-win-v1`)}catch{return!1}}function N(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=g(e,t.hostDir,`skills`,`open-knowledge`),s=g(o,`SKILL.md`),c=n.existsSync(s),l=f[t.editorId]?.projectConfigPath?.(e),u=!c&&M(l,n);if(!c&&!u){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{m(o,e),k(i,o,n);let s=c?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:c?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function P(t,n,r,i){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){i({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of c)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return i({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let o of d){let s=a[o.id],c=r.existsSync(g(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,o.id),i({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){i({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){i({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>r.existsSync(g(t,`.agents`,`skills`,a[e.id])));if(u!==null&&u===l&&m)return i({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],_=d.length===c.length,v=!0;for(let{id:e,sourceDir:n}of p){let o=j(t,a[e],n,r,i,l);h.push(...o.entries),o.centralWritten||(v=!1)}let y=h.some(e=>e.kind===`central`&&(e.outcome===`written`||e.outcome===`overwritten`));if(_&&v&&y){let e=null;try{await n.writeRecordedVersion(t,l),i({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),i({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t}of p)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?`installed`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:l,entries:h}}async function F(e){let t=e.logger??O,n=e.fs??E,r=e.home??v(),i={...D,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:N(e.projectDir,i,n,t),user:await P(r,i,n,t)}}function I(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function L(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
1
+ import{ua as e}from"./server-lock-iLcBw_q0-i_GNVPAP.mjs";import{Jr as t,Lr as n,Wr as r,ca as i,d as a,ei as o,ia as s,ut as c,zr as l}from"./dist-BbS1zQiy.mjs";import{t as u}from"./esm-CsQUg9js.mjs";import{a as d,d as f,f as p,t as m}from"./write-project-skill-DXeyiTpq.mjs";import{dirname as h,join as g,resolve as _}from"node:path";import{homedir as v}from"node:os";import{existsSync as y,mkdirSync as b,readFileSync as x,readdirSync as S,rmSync as C,statSync as w,writeFileSync as T}from"node:fs";const E={existsSync:e=>y(e),isDirectory:e=>{try{return w(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>S(e),readFileSync:e=>x(e),writeFileSync:(e,t)=>{T(e,t)},mkdirSync:(e,t)=>{b(e,t)},rmSync:(e,t)=>{C(e,t)}},D={resolveProjectBundledSkillDir:()=>o(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>o(e,{checkDesktop:!1}),readBundledVersion:()=>l(),readRecordedVersion:e=>r(e,`cli-hosts`),writeRecordedVersion:(e,t)=>i(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>t(e),readBundleDecision:(e,t)=>n(e,t),writeBundleDecision:(e,t,n)=>s(e,t,n),removeBundleFromDisk:(e,t)=>d(e,t)};function O(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function k(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(h(t),{recursive:!0}),A(e,t,n)}function A(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=g(e,r),a=g(t,r);n.isDirectory(i)?A(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function j(e,t,n,r,i,a){let o=[],s=g(e,`.agents`,`skills`,t),c=r.existsSync(s),l=!1;try{k(n,s,r),l=!0,o.push({kind:`central`,path:s,outcome:c?`overwritten`:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:c,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=g(e,c.hostDir),u=g(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}let d=r.existsSync(u);try{k(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:d?`overwritten`:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:d,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:l}}function M(e,t){if(!e)return!1;try{if(!t.existsSync(e))return!1;let n=t.readFileSync(e).toString(`utf8`);return n.includes(`# ok-mcp-v1`)||n.includes(`# ok-mcp-win-v1`)}catch{return!1}}function N(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=g(e,t.hostDir,`skills`,`open-knowledge`),s=g(o,`SKILL.md`),c=n.existsSync(s),l=f[t.editorId]?.projectConfigPath?.(e),u=!c&&M(l,n);if(!c&&!u){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{m(o,e),k(i,o,n);let s=c?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:c?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function P(t,n,r,i){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){i({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of c)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return i({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let o of d){let s=a[o.id],c=r.existsSync(g(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,o.id),i({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){i({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){i({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>r.existsSync(g(t,`.agents`,`skills`,a[e.id])));if(u!==null&&u===l&&m)return i({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],_=d.length===c.length,v=!0;for(let{id:e,sourceDir:n}of p){let o=j(t,a[e],n,r,i,l);h.push(...o.entries),o.centralWritten||(v=!1)}let y=h.some(e=>e.kind===`central`&&(e.outcome===`written`||e.outcome===`overwritten`));if(_&&v&&y){let e=null;try{await n.writeRecordedVersion(t,l),i({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),i({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t}of p)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?`installed`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:l,entries:h}}async function F(e){let t=e.logger??O,n=e.fs??E,r=e.home??v(),i={...D,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:N(e.projectDir,i,n,t),user:await P(r,i,n,t)}}function I(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function L(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
2
2
  `)}function R(){return new u(`repair-skills`).description("Refresh bundled SKILL.md files for installed AI editors (project-local + user-global). Runs automatically during `ok start`; this command forces an explicit sweep.").action(async()=>{let e=await F({projectDir:_(process.cwd()),reclaimDisableEnv:process.env.OK_RECLAIM_DISABLE??null});process.stdout.write(`${L(e)}\n`),process.exitCode=I(e)})}export{R as n,F as t};
3
- //# sourceMappingURL=repair-skills-C_l1phOf.mjs.map
3
+ //# sourceMappingURL=repair-skills-B_uZNXYU.mjs.map
@@ -0,0 +1 @@
1
+ import{t as e}from"./repair-skills-B_uZNXYU.mjs";export{e as repairSkills};
@@ -0,0 +1 @@
1
+ import{_ as e,f as t,y as n}from"./server-lock-iLcBw_q0-i_GNVPAP.mjs";export{t as markServerLockDraining,e as releaseServerLock,n as updateServerLockPort};