@inkeep/open-knowledge 0.0.0-dev-20260429215316 → 0.0.0-dev-20260430041629

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 (109) hide show
  1. package/dist/assets/skills/open-knowledge/SKILL.md +1 -1
  2. package/dist/{banner-BxI1wnW9.mjs → banner-rqmEWoKr.mjs} +2 -2
  3. package/dist/{chunk-TLSUDHID-B8UnqY4U.mjs → chunk-TLSUDHID-_TMan7ee.mjs} +2 -2
  4. package/dist/cli.mjs +340 -337
  5. package/dist/colors-HBY_eaey.mjs +1 -0
  6. package/dist/{colors-DoPZvo1q.mjs → colors-ejF8AM2b.mjs} +1 -1
  7. package/dist/config-schema.json +247 -0
  8. package/dist/config.user.schema.json +189 -0
  9. package/dist/config.workspace.schema.json +219 -0
  10. package/dist/constants-BQZMBSjL.mjs +2 -0
  11. package/dist/{diff-HJF2MPDN-Yo3lE_58.mjs → diff-HJF2MPDN-DLvh6ibd.mjs} +1 -1
  12. package/dist/dist-BGmJPYOc.mjs +322 -0
  13. package/dist/dist-Bxeddlf1.mjs +1 -0
  14. package/dist/{dist-zf-BoTF_.mjs → dist-DrvijmGn.mjs} +20 -20
  15. package/dist/{esm-BFkWzFey.mjs → esm-s2X3YAg-.mjs} +1 -1
  16. package/dist/{flag-coverage-QT4N2Z44-B8zntJyb.mjs → flag-coverage-QT4N2Z44-F9mV3xNy.mjs} +2 -2
  17. package/dist/{getMachineId-bsd-CPESl3L6.mjs → getMachineId-bsd-BCJXEJCn.mjs} +2 -2
  18. package/dist/{getMachineId-bsd-DEUypOXJ.mjs → getMachineId-bsd-D7C80Q-x.mjs} +2 -2
  19. package/dist/{getMachineId-bsd-C1M346yz.mjs → getMachineId-bsd-GIcY1fmf.mjs} +2 -2
  20. package/dist/{getMachineId-darwin-0hBTy7c8.mjs → getMachineId-darwin-C9wsuHP1.mjs} +2 -2
  21. package/dist/{getMachineId-darwin-CJK3eX9q.mjs → getMachineId-darwin-D9y6ky_l.mjs} +2 -2
  22. package/dist/{getMachineId-darwin-Vupnt-kR.mjs → getMachineId-darwin-DG876t7S.mjs} +2 -2
  23. package/dist/{getMachineId-linux-BGQn48cN.mjs → getMachineId-linux-BJESQahL.mjs} +2 -2
  24. package/dist/{getMachineId-linux-CIp07XEX.mjs → getMachineId-linux-Bt9mk0EE.mjs} +2 -2
  25. package/dist/{getMachineId-linux-B2nkqMir.mjs → getMachineId-linux-D9atImpV.mjs} +2 -2
  26. package/dist/{getMachineId-unsupported-CH1Q20xN.mjs → getMachineId-unsupported-DAbsbHrs.mjs} +2 -2
  27. package/dist/{getMachineId-unsupported-DfSmC7Gy.mjs → getMachineId-unsupported-Dabs3aBp.mjs} +2 -2
  28. package/dist/{getMachineId-unsupported-BnsanXR2.mjs → getMachineId-unsupported-cApRznzG.mjs} +2 -2
  29. package/dist/{getMachineId-win-DlPRChXs.mjs → getMachineId-win-1MPHaim9.mjs} +2 -2
  30. package/dist/{getMachineId-win-JnMJbIaW.mjs → getMachineId-win-CH98qgwX.mjs} +2 -2
  31. package/dist/{getMachineId-win-BmmB_8yL.mjs → getMachineId-win-CU_iAQo9.mjs} +2 -2
  32. package/dist/index.d.mts +23 -26
  33. package/dist/index.mjs +1 -1
  34. package/dist/{init-DyzswSKQ.mjs → init-CV_xugP_.mjs} +26 -18
  35. package/dist/init-Cds71WAI.mjs +1 -0
  36. package/dist/{init-BIyMdhLL.mjs → init-PORXx7vd.mjs} +6 -6
  37. package/dist/init-g2zamAnn.mjs +1 -0
  38. package/dist/{is-object-BNVklKxg.mjs → is-object-7k010cEq.mjs} +1 -1
  39. package/dist/{libesm-DC4M2SkF.mjs → libesm-CE3v6NRY.mjs} +1 -1
  40. package/dist/loader-B0BWajcB.mjs +1 -0
  41. package/dist/loader-CPzUWkvf.mjs +2 -0
  42. package/dist/paths-BEB-Zpmi.mjs +1 -0
  43. package/dist/paths-DEN3St8d.mjs +2 -0
  44. package/dist/{preview-DSOaCD7f.mjs → preview-CsRZ-Vcf.mjs} +2 -2
  45. package/dist/preview-D-0GOYHB.mjs +1 -0
  46. package/dist/public/assets/{ActivityModeContent-spvhVGSd.js → ActivityModeContent-DRqbNhfV.js} +2 -2
  47. package/dist/public/assets/DocumentContext-B-H7z2mx.js +33 -0
  48. package/dist/public/assets/GraphPanel-Cj6loEvC.js +46 -0
  49. package/dist/public/assets/McpConsentDialogBody-B1ioffug.js +1 -0
  50. package/dist/public/assets/SettingsPane-dmFz0VJ8.js +5 -0
  51. package/dist/public/assets/{SourceEditor-BeRKaESA.js → SourceEditor-CsO92AcD.js} +1 -1
  52. package/dist/public/assets/circle-check-bKAq6pcI.js +1 -0
  53. package/dist/public/assets/clipboard-CmwParkX.js +5 -0
  54. package/dist/public/assets/config-validation-events-CHBXJot6.js +1 -0
  55. package/dist/public/assets/{dist-DxKDMu0r.js → dist-C3u7R0q7.js} +1 -1
  56. package/dist/public/assets/{dist-DUCdsXly.js → dist-C82hC0q7.js} +1 -1
  57. package/dist/public/assets/{dist-5Xm_mb8k.js → dist-Dtie9-Ui.js} +1 -1
  58. package/dist/public/assets/{dist-BkmmA9Kx.js → dist-RVD4DzGH.js} +1 -1
  59. package/dist/public/assets/{dist-Bgq0sPT8.js → dist-dkPJvrfr.js} +1 -1
  60. package/dist/public/assets/{dist-CBfh7n1S.js → dist-mXs-_OvZ.js} +1 -1
  61. package/dist/public/assets/{dist-gwU6yV0l.js → dist-oNAFjGrp.js} +1 -1
  62. package/dist/public/assets/index-Dcw_lEA0.js +1843 -0
  63. package/dist/public/assets/index-uXLRXDYd.css +1 -0
  64. package/dist/public/assets/propagation-api-LnD10wq2.js +1 -0
  65. package/dist/public/assets/target-navigation-intent-7XRXuzFn.js +1 -0
  66. package/dist/public/assets/telemetry-impl-DYBNNWwm.js +2 -0
  67. package/dist/public/assets/toggle-group-DIb9bLBj.js +391 -0
  68. package/dist/public/assets/{tooltip-BaQG219g.js → tooltip-CRxi5gOu.js} +1 -1
  69. package/dist/public/assets/trace-api-CbLDdnQA.js +1 -0
  70. package/dist/public/index.html +16 -13
  71. package/dist/schemas/v0/config.user.schema.json +189 -0
  72. package/dist/schemas/v0/config.workspace.schema.json +219 -0
  73. package/dist/server-Bme59hx2.mjs +3 -0
  74. package/dist/src-bBNMJYgV.mjs +1 -0
  75. package/dist/start-Ds-3qtJF.mjs +2 -0
  76. package/dist/start-ZcmBOEtV.mjs +1 -0
  77. package/package.json +5 -2
  78. package/scripts/build-config-schema.mjs +130 -0
  79. package/dist/colors-BnZ-i-vb.mjs +0 -1
  80. package/dist/constants-klIiSe5w.mjs +0 -2
  81. package/dist/dist-BCyi1oM7.mjs +0 -116
  82. package/dist/dist-CIeZOXfv.mjs +0 -202
  83. package/dist/dist-C_IerCyc.mjs +0 -1
  84. package/dist/init-8J2V1Tcs.mjs +0 -1
  85. package/dist/init-BJebZsh8.mjs +0 -1
  86. package/dist/loader-Cbt92LQl.mjs +0 -3
  87. package/dist/loader-cPhp7f3C.mjs +0 -1
  88. package/dist/paths-DHCHC69r.mjs +0 -2
  89. package/dist/paths-DVek6mWp.mjs +0 -1
  90. package/dist/preview-B4CVyYbD.mjs +0 -1
  91. package/dist/public/assets/DocumentContext-Xq_dn8Vf.js +0 -33
  92. package/dist/public/assets/GraphPanel-C36W-gM6.js +0 -46
  93. package/dist/public/assets/McpConsentDialogBody-CWm6JzA3.js +0 -1
  94. package/dist/public/assets/clipboard-0XbokP0-.js +0 -5
  95. package/dist/public/assets/index-D6aee36_.js +0 -1843
  96. package/dist/public/assets/index-ldPPE8aY.css +0 -1
  97. package/dist/public/assets/propagation-api-Bugyj7xy.js +0 -1
  98. package/dist/public/assets/target-navigation-intent-DlP83APM.js +0 -1
  99. package/dist/public/assets/telemetry-impl-D8K_lJGH.js +0 -2
  100. package/dist/public/assets/toggle-group-Cg6YuFV4.js +0 -281
  101. package/dist/src-BrGv1aC7.mjs +0 -1
  102. package/dist/start-9trF3lxw.mjs +0 -1
  103. package/dist/start-DUpc-bZp.mjs +0 -2
  104. /package/dist/public/assets/{ActivityPanelDiffView-D-EUyEh6.js → ActivityPanelDiffView-C1vRNF09.js} +0 -0
  105. /package/dist/public/assets/{__vite-browser-external-Dz2JgTKm.js → __vite-browser-external-B0s46rwe.js} +0 -0
  106. /package/dist/public/assets/{dialog-B7UAZUVJ.js → dialog-CJazZw1E.js} +0 -0
  107. /package/dist/public/assets/{go-DatQmDtN.js → go-DoDnGodl.js} +0 -0
  108. /package/dist/public/assets/{shell-7yok6dsz.js → shell-BXlbE6k8.js} +0 -0
  109. /package/dist/public/assets/{w3c-keyname-CSlwavrd.js → w3c-keyname-B5t0fahT.js} +0 -0
@@ -1 +1 @@
1
- import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./compiler-runtime-Y11fyRVL.js";import{an as i,in as a,on as o,rn as s,sn as c}from"./toggle-group-Cg6YuFV4.js";import{_ as l,c as u,f as d,i as f,n as p,o as ee,p as m,r as h,s as g,u as _,y as v}from"./button-CXhPNzpp.js";var y=e(t(),1),b=n(),x=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),S=`VisuallyHidden`,C=y.forwardRef((e,t)=>(0,b.jsx)(m.span,{...e,ref:t,style:{...x,...e.style}}));C.displayName=S;var w=C,[T,E]=d(`Tooltip`,[c]),D=c(),O=`TooltipProvider`,k=700,A=`tooltip.open`,[te,j]=T(O),M=e=>{let{__scopeTooltip:t,delayDuration:n=k,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=y.useRef(!0),s=y.useRef(!1),c=y.useRef(0);return y.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,b.jsx)(te,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:y.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:y.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:y.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};M.displayName=O;var N=`Tooltip`,[P,F]=T(N),I=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:s,delayDuration:c}=e,l=j(N,e.__scopeTooltip),d=D(t),[f,p]=y.useState(null),m=ee(),h=y.useRef(0),g=s??l.disableHoverableContent,_=c??l.delayDuration,v=y.useRef(!1),[x,S]=u({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(A))):l.onClose(),a?.(e)},caller:N}),C=y.useMemo(()=>x?v.current?`delayed-open`:`instant-open`:`closed`,[x]),w=y.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,S(!0)},[S]),T=y.useCallback(()=>{window.clearTimeout(h.current),h.current=0,S(!1)},[S]),E=y.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,S(!0),h.current=0},_)},[_,S]);return y.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,b.jsx)(o,{...d,children:(0,b.jsx)(P,{scope:t,contentId:m,open:x,stateAttribute:C,trigger:f,onTriggerChange:p,onTriggerEnter:y.useCallback(()=>{l.isOpenDelayedRef.current?E():w()},[l.isOpenDelayedRef,E,w]),onTriggerLeave:y.useCallback(()=>{g?T():(window.clearTimeout(h.current),h.current=0)},[T,g]),onOpen:w,onClose:T,disableHoverableContent:g,children:n})})};I.displayName=N;var L=`TooltipTrigger`,R=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=F(L,n),a=j(L,n),o=D(n),c=v(t,y.useRef(null),i.onTriggerChange),l=y.useRef(!1),u=y.useRef(!1),d=y.useCallback(()=>l.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener(`pointerup`,d),[d]),(0,b.jsx)(s,{asChild:!0,...o,children:(0,b.jsx)(m.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:c,onPointerMove:_(e.onPointerMove,e=>{e.pointerType!==`touch`&&!u.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:_(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:_(e.onPointerDown,()=>{i.open&&i.onClose(),l.current=!0,document.addEventListener(`pointerup`,d,{once:!0})}),onFocus:_(e.onFocus,()=>{l.current||i.onOpen()}),onBlur:_(e.onBlur,i.onClose),onClick:_(e.onClick,i.onClose)})})});R.displayName=L;var z=`TooltipPortal`,[B,V]=T(z,{forceMount:void 0}),H=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=F(z,t);return(0,b.jsx)(B,{scope:t,forceMount:n,children:(0,b.jsx)(g,{present:n||a.open,children:(0,b.jsx)(h,{asChild:!0,container:i,children:r})})})};H.displayName=z;var U=`TooltipContent`,W=y.forwardRef((e,t)=>{let n=V(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=F(U,e.__scopeTooltip);return(0,b.jsx)(g,{present:r||o.open,children:o.disableHoverableContent?(0,b.jsx)(Y,{side:i,...a,ref:t}):(0,b.jsx)(G,{side:i,...a,ref:t})})}),G=y.forwardRef((e,t)=>{let n=F(U,e.__scopeTooltip),r=j(U,e.__scopeTooltip),i=y.useRef(null),a=v(t,i),[o,s]=y.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=y.useCallback(()=>{s(null),d(!1)},[d]),p=y.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=re(r,ne(r,n.getBoundingClientRect())),a=ie(t.getBoundingClientRect());s(oe([...i,...a])),d(!0)},[d]);return y.useEffect(()=>()=>f(),[f]),y.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),y.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!ae(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,b.jsx)(Y,{...e,ref:a})}),[K,q]=T(N,{isInside:!1}),J=l(`TooltipContent`),Y=y.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=F(U,n),u=D(n),{onClose:d}=l;return y.useEffect(()=>(document.addEventListener(A,d),()=>document.removeEventListener(A,d)),[d]),y.useEffect(()=>{if(l.trigger){let e=e=>{e.target?.contains(l.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]),(0,b.jsx)(f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,b.jsxs)(i,{"data-state":l.stateAttribute,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,b.jsx)(J,{children:r}),(0,b.jsx)(K,{scope:n,isInside:!0,children:(0,b.jsx)(w,{id:l.contentId,role:`tooltip`,children:a||r})})]})})});W.displayName=U;var X=`TooltipArrow`,Z=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=D(n);return q(X,n).isInside?null:(0,b.jsx)(a,{...i,...r,ref:t})});Z.displayName=X;function ne(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function re(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ie(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ae(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 oe(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),se(t)}function se(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Q=M,ce=I,le=R,ue=H,de=W,fe=Z,$=r();function pe(e){let t=(0,$.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({delayDuration:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,a;return t[3]!==i||t[4]!==n?(a=(0,b.jsx)(Q,{"data-slot":`tooltip-provider`,delayDuration:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function me(e){let t=(0,$.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,b.jsx)(ce,{"data-slot":`tooltip`,...n}),t[2]=n,t[3]=r),r}function he(e){let t=(0,$.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,b.jsx)(le,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function ge(e){let t=(0,$.c)(13),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,sideOffset:a,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?0:a,s;t[5]===r?s=t[6]:(s=p(`z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 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-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 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`,r),t[5]=r,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,b.jsx)(fe,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`}),t[7]=c):c=t[7];let l;return t[8]!==n||t[9]!==i||t[10]!==o||t[11]!==s?(l=(0,b.jsx)(ue,{children:(0,b.jsxs)(de,{"data-slot":`tooltip-content`,sideOffset:o,className:s,...i,children:[n,c]})}),t[8]=n,t[9]=i,t[10]=o,t[11]=s,t[12]=l):l=t[12],l}export{he as i,ge as n,pe as r,me as t};
1
+ import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./compiler-runtime-Y11fyRVL.js";import{_n as i,gn as a,hn as o,mn as s,pn as c}from"./toggle-group-DIb9bLBj.js";import{_ as l,c as u,f as d,i as f,n as p,o as ee,p as m,r as h,s as g,u as _,y as v}from"./button-CXhPNzpp.js";var y=e(t(),1),b=n(),x=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),S=`VisuallyHidden`,C=y.forwardRef((e,t)=>(0,b.jsx)(m.span,{...e,ref:t,style:{...x,...e.style}}));C.displayName=S;var w=C,[T,E]=d(`Tooltip`,[i]),D=i(),O=`TooltipProvider`,k=700,A=`tooltip.open`,[te,j]=T(O),M=e=>{let{__scopeTooltip:t,delayDuration:n=k,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=y.useRef(!0),s=y.useRef(!1),c=y.useRef(0);return y.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,b.jsx)(te,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:y.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:y.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:y.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};M.displayName=O;var N=`Tooltip`,[P,F]=T(N),I=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:o,disableHoverableContent:s,delayDuration:c}=e,l=j(N,e.__scopeTooltip),d=D(t),[f,p]=y.useState(null),m=ee(),h=y.useRef(0),g=s??l.disableHoverableContent,_=c??l.delayDuration,v=y.useRef(!1),[x,S]=u({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(A))):l.onClose(),o?.(e)},caller:N}),C=y.useMemo(()=>x?v.current?`delayed-open`:`instant-open`:`closed`,[x]),w=y.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,S(!0)},[S]),T=y.useCallback(()=>{window.clearTimeout(h.current),h.current=0,S(!1)},[S]),E=y.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,S(!0),h.current=0},_)},[_,S]);return y.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,b.jsx)(a,{...d,children:(0,b.jsx)(P,{scope:t,contentId:m,open:x,stateAttribute:C,trigger:f,onTriggerChange:p,onTriggerEnter:y.useCallback(()=>{l.isOpenDelayedRef.current?E():w()},[l.isOpenDelayedRef,E,w]),onTriggerLeave:y.useCallback(()=>{g?T():(window.clearTimeout(h.current),h.current=0)},[T,g]),onOpen:w,onClose:T,disableHoverableContent:g,children:n})})};I.displayName=N;var L=`TooltipTrigger`,R=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=F(L,n),a=j(L,n),o=D(n),s=v(t,y.useRef(null),i.onTriggerChange),l=y.useRef(!1),u=y.useRef(!1),d=y.useCallback(()=>l.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener(`pointerup`,d),[d]),(0,b.jsx)(c,{asChild:!0,...o,children:(0,b.jsx)(m.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:_(e.onPointerMove,e=>{e.pointerType!==`touch`&&!u.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:_(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:_(e.onPointerDown,()=>{i.open&&i.onClose(),l.current=!0,document.addEventListener(`pointerup`,d,{once:!0})}),onFocus:_(e.onFocus,()=>{l.current||i.onOpen()}),onBlur:_(e.onBlur,i.onClose),onClick:_(e.onClick,i.onClose)})})});R.displayName=L;var z=`TooltipPortal`,[B,V]=T(z,{forceMount:void 0}),H=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=F(z,t);return(0,b.jsx)(B,{scope:t,forceMount:n,children:(0,b.jsx)(g,{present:n||a.open,children:(0,b.jsx)(h,{asChild:!0,container:i,children:r})})})};H.displayName=z;var U=`TooltipContent`,W=y.forwardRef((e,t)=>{let n=V(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=F(U,e.__scopeTooltip);return(0,b.jsx)(g,{present:r||o.open,children:o.disableHoverableContent?(0,b.jsx)(Y,{side:i,...a,ref:t}):(0,b.jsx)(G,{side:i,...a,ref:t})})}),G=y.forwardRef((e,t)=>{let n=F(U,e.__scopeTooltip),r=j(U,e.__scopeTooltip),i=y.useRef(null),a=v(t,i),[o,s]=y.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=y.useCallback(()=>{s(null),d(!1)},[d]),p=y.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=re(r,ne(r,n.getBoundingClientRect())),a=ie(t.getBoundingClientRect());s(oe([...i,...a])),d(!0)},[d]);return y.useEffect(()=>()=>f(),[f]),y.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),y.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!ae(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,b.jsx)(Y,{...e,ref:a})}),[K,q]=T(N,{isInside:!1}),J=l(`TooltipContent`),Y=y.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:s,...c}=e,l=F(U,n),u=D(n),{onClose:d}=l;return y.useEffect(()=>(document.addEventListener(A,d),()=>document.removeEventListener(A,d)),[d]),y.useEffect(()=>{if(l.trigger){let e=e=>{e.target?.contains(l.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]),(0,b.jsx)(f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,b.jsxs)(o,{"data-state":l.stateAttribute,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,b.jsx)(J,{children:r}),(0,b.jsx)(K,{scope:n,isInside:!0,children:(0,b.jsx)(w,{id:l.contentId,role:`tooltip`,children:i||r})})]})})});W.displayName=U;var X=`TooltipArrow`,Z=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=D(n);return q(X,n).isInside?null:(0,b.jsx)(s,{...i,...r,ref:t})});Z.displayName=X;function ne(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function re(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ie(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ae(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 oe(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),se(t)}function se(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Q=M,ce=I,le=R,ue=H,de=W,fe=Z,$=r();function pe(e){let t=(0,$.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({delayDuration:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,a;return t[3]!==i||t[4]!==n?(a=(0,b.jsx)(Q,{"data-slot":`tooltip-provider`,delayDuration:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function me(e){let t=(0,$.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,b.jsx)(ce,{"data-slot":`tooltip`,...n}),t[2]=n,t[3]=r),r}function he(e){let t=(0,$.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,b.jsx)(le,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function ge(e){let t=(0,$.c)(13),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,sideOffset:a,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?0:a,s;t[5]===r?s=t[6]:(s=p(`z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 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-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 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`,r),t[5]=r,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,b.jsx)(fe,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`}),t[7]=c):c=t[7];let l;return t[8]!==n||t[9]!==i||t[10]!==o||t[11]!==s?(l=(0,b.jsx)(ue,{children:(0,b.jsxs)(de,{"data-slot":`tooltip-content`,sideOffset:o,className:s,...i,children:[n,c]})}),t[8]=n,t[9]=i,t[10]=o,t[11]=s,t[12]=l):l=t[12],l}export{he as i,ge as n,pe as r,me as t};
@@ -0,0 +1 @@
1
+ var e=`1.9.1`,t=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function n(e){let n=new Set([e]),r=new Set,i=e.match(t);if(!i)return()=>!1;let a={major:+i[1],minor:+i[2],patch:+i[3],prerelease:i[4]};if(a.prerelease!=null)return function(t){return t===e};function o(e){return r.add(e),!1}function s(e){return n.add(e),!0}return function(e){if(n.has(e))return!0;if(r.has(e))return!1;let i=e.match(t);if(!i)return o(e);let c={major:+i[1],minor:+i[2],patch:+i[3],prerelease:i[4]};return c.prerelease!=null||a.major!==c.major?o(e):a.major===0?a.minor===c.minor&&a.patch<=c.patch?s(e):o(e):a.minor<=c.minor?s(e):o(e)}}var r=n(e),i=e.split(`.`)[0],a=Symbol.for(`opentelemetry.js.api.${i}`),o=typeof globalThis==`object`?globalThis:typeof self==`object`?self:typeof window==`object`?window:typeof global==`object`?global:{};function s(t,n,r,i=!1){let s=o[a]=o[a]??{version:e};if(!i&&s[t]){let e=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${t}`);return r.error(e.stack||e.message),!1}if(s.version!==`1.9.1`){let n=Error(`@opentelemetry/api: Registration of version v${s.version} for ${t} does not match previously registered API v${e}`);return r.error(n.stack||n.message),!1}return s[t]=n,r.debug(`@opentelemetry/api: Registered a global for ${t} v${e}.`),!0}function c(e){let t=o[a]?.version;if(!(!t||!r(t)))return o[a]?.[e]}function l(t,n){n.debug(`@opentelemetry/api: Unregistering a global for ${t} v${e}.`);let r=o[a];r&&delete r[t]}var u=class{constructor(e){this._namespace=e.namespace||`DiagComponentLogger`}debug(...e){return d(`debug`,this._namespace,e)}error(...e){return d(`error`,this._namespace,e)}info(...e){return d(`info`,this._namespace,e)}warn(...e){return d(`warn`,this._namespace,e)}verbose(...e){return d(`verbose`,this._namespace,e)}};function d(e,t,n){let r=c(`diag`);if(r)return r[e](t,...n)}var f;(function(e){e[e.NONE=0]=`NONE`,e[e.ERROR=30]=`ERROR`,e[e.WARN=50]=`WARN`,e[e.INFO=60]=`INFO`,e[e.DEBUG=70]=`DEBUG`,e[e.VERBOSE=80]=`VERBOSE`,e[e.ALL=9999]=`ALL`})(f||={});function p(e,t){e<f.NONE?e=f.NONE:e>f.ALL&&(e=f.ALL),t||={};function n(n,r){let i=t[n];return typeof i==`function`&&e>=r?i.bind(t):function(){}}return{error:n(`error`,f.ERROR),warn:n(`warn`,f.WARN),info:n(`info`,f.INFO),debug:n(`debug`,f.DEBUG),verbose:n(`verbose`,f.VERBOSE)}}var m=`diag`,h=class e{static instance(){return this._instance||=new e,this._instance}constructor(){function e(e){return function(...t){let n=c(`diag`);if(n)return n[e](...t)}}let t=this;t.setLogger=(e,n={logLevel:f.INFO})=>{if(e===t){let e=Error(`Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation`);return t.error(e.stack??e.message),!1}typeof n==`number`&&(n={logLevel:n});let r=c(`diag`),i=p(n.logLevel??f.INFO,e);if(r&&!n.suppressOverrideMessage){let e=Error().stack??`<failed to generate stacktrace>`;r.warn(`Current logger will be overwritten from ${e}`),i.warn(`Current logger will overwrite one already registered from ${e}`)}return s(`diag`,i,t,!0)},t.disable=()=>{l(m,t)},t.createComponentLogger=e=>new u(e),t.verbose=e(`verbose`),t.debug=e(`debug`),t.info=e(`info`),t.warn=e(`warn`),t.error=e(`error`)}};function g(e){return Symbol.for(e)}var _=new class e{constructor(t){let n=this;n._currentContext=t?new Map(t):new Map,n.getValue=e=>n._currentContext.get(e),n.setValue=(t,r)=>{let i=new e(n._currentContext);return i._currentContext.set(t,r),i},n.deleteValue=t=>{let r=new e(n._currentContext);return r._currentContext.delete(t),r}}},v=class{active(){return _}with(e,t,n,...r){return t.call(n,...r)}bind(e,t){return t}enable(){return this}disable(){return this}},y=`context`,b=new v,x=class e{constructor(){}static getInstance(){return this._instance||=new e,this._instance}setGlobalContextManager(e){return s(y,e,h.instance())}active(){return this._getContextManager().active()}with(e,t,n,...r){return this._getContextManager().with(e,t,n,...r)}bind(e,t){return this._getContextManager().bind(e,t)}_getContextManager(){return c(y)||b}disable(){this._getContextManager().disable(),l(y,h.instance())}},S;(function(e){e[e.NONE=0]=`NONE`,e[e.SAMPLED=1]=`SAMPLED`})(S||={});var C={traceId:`00000000000000000000000000000000`,spanId:`0000000000000000`,traceFlags:S.NONE},w=class{constructor(e=C){this._spanContext=e}spanContext(){return this._spanContext}setAttribute(e,t){return this}setAttributes(e){return this}addEvent(e,t){return this}addLink(e){return this}addLinks(e){return this}setStatus(e){return this}updateName(e){return this}end(e){}isRecording(){return!1}recordException(e,t){}},T=g(`OpenTelemetry Context Key SPAN`);function E(e){return e.getValue(T)||void 0}function D(){return E(x.getInstance().active())}function O(e,t){return e.setValue(T,t)}function k(e){return e.deleteValue(T)}function A(e,t){return O(e,new w(t))}function j(e){return E(e)?.spanContext()}var M=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1]);function N(e,t){if(typeof e!=`string`||e.length!==t)return!1;let n=0;for(let t=0;t<e.length;t+=4)n+=(M[e.charCodeAt(t)]|0)+(M[e.charCodeAt(t+1)]|0)+(M[e.charCodeAt(t+2)]|0)+(M[e.charCodeAt(t+3)]|0);return n===t}function P(e){return N(e,32)&&e!==`00000000000000000000000000000000`}function F(e){return N(e,16)&&e!==`0000000000000000`}function I(e){return P(e.traceId)&&F(e.spanId)}function L(e){return new w(e)}var R=x.getInstance(),z=class{startSpan(e,t,n=R.active()){if(t?.root)return new w;let r=n&&j(n);return B(r)&&I(r)?new w(r):new w}startActiveSpan(e,t,n,r){let i,a,o;if(arguments.length<2)return;arguments.length===2?o=t:arguments.length===3?(i=t,o=n):(i=t,a=n,o=r);let s=a??R.active(),c=this.startSpan(e,i,s),l=O(s,c);return R.with(l,o,void 0,c)}};function B(e){return typeof e==`object`&&!!e&&`spanId`in e&&typeof e.spanId==`string`&&`traceId`in e&&typeof e.traceId==`string`&&`traceFlags`in e&&typeof e.traceFlags==`number`}var V=new z,H=class{constructor(e,t,n,r){this._provider=e,this.name=t,this.version=n,this.options=r}startSpan(e,t,n){return this._getTracer().startSpan(e,t,n)}startActiveSpan(e,t,n,r){let i=this._getTracer();return Reflect.apply(i.startActiveSpan,i,arguments)}_getTracer(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):V}},U=new class{getTracer(e,t,n){return new z}},W=class{getTracer(e,t,n){return this.getDelegateTracer(e,t,n)??new H(this,e,t,n)}getDelegate(){return this._delegate??U}setDelegate(e){this._delegate=e}getDelegateTracer(e,t,n){return this._delegate?.getTracer(e,t,n)}},G;(function(e){e[e.UNSET=0]=`UNSET`,e[e.OK=1]=`OK`,e[e.ERROR=2]=`ERROR`})(G||={});var K=`trace`,q=class e{constructor(){this._proxyTracerProvider=new W,this.wrapSpanContext=L,this.isSpanContextValid=I,this.deleteSpan=k,this.getSpan=E,this.getActiveSpan=D,this.getSpanContext=j,this.setSpan=O,this.setSpanContext=A}static getInstance(){return this._instance||=new e,this._instance}setGlobalTracerProvider(e){let t=s(K,this._proxyTracerProvider,h.instance());return t&&this._proxyTracerProvider.setDelegate(e),t}getTracerProvider(){return c(K)||this._proxyTracerProvider}getTracer(e,t){return this.getTracerProvider().getTracer(e,t)}disable(){l(K,h.instance()),this._proxyTracerProvider=new W}}.getInstance();export{C as a,_ as c,c as d,s as f,P as i,g as l,G as n,S as o,l as p,I as r,x as s,q as t,h as u};
@@ -20,24 +20,27 @@
20
20
  nothing for the formatter to reindent.
21
21
  -->
22
22
  <script>(() => { let mode = 'wysiwyg'; try { const raw = localStorage.getItem('ok-editor-mode-v1'); if (raw === 'wysiwyg' || raw === 'source') mode = raw; } catch {} window.__OK_EDITOR_MODE__ = mode; })();</script>
23
- <script type="module" crossorigin src="./assets/index-D6aee36_.js"></script>
23
+ <script type="module" crossorigin src="./assets/index-Dcw_lEA0.js"></script>
24
24
  <link rel="modulepreload" crossorigin href="./assets/chunk-DECur_0Z.js">
25
- <link rel="modulepreload" crossorigin href="./assets/propagation-api-Bugyj7xy.js">
26
- <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-CSlwavrd.js">
27
- <link rel="modulepreload" crossorigin href="./assets/dist-Bgq0sPT8.js">
28
- <link rel="modulepreload" crossorigin href="./assets/dist-gwU6yV0l.js">
25
+ <link rel="modulepreload" crossorigin href="./assets/trace-api-CbLDdnQA.js">
26
+ <link rel="modulepreload" crossorigin href="./assets/propagation-api-LnD10wq2.js">
27
+ <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-B5t0fahT.js">
28
+ <link rel="modulepreload" crossorigin href="./assets/dist-dkPJvrfr.js">
29
+ <link rel="modulepreload" crossorigin href="./assets/dist-oNAFjGrp.js">
29
30
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-Y11fyRVL.js">
30
31
  <link rel="modulepreload" crossorigin href="./assets/button-CXhPNzpp.js">
31
- <link rel="modulepreload" crossorigin href="./assets/toggle-group-Cg6YuFV4.js">
32
- <link rel="modulepreload" crossorigin href="./assets/dist-BkmmA9Kx.js">
33
- <link rel="modulepreload" crossorigin href="./assets/dialog-B7UAZUVJ.js">
34
- <link rel="modulepreload" crossorigin href="./assets/DocumentContext-Xq_dn8Vf.js">
32
+ <link rel="modulepreload" crossorigin href="./assets/toggle-group-DIb9bLBj.js">
33
+ <link rel="modulepreload" crossorigin href="./assets/dist-RVD4DzGH.js">
34
+ <link rel="modulepreload" crossorigin href="./assets/dialog-CJazZw1E.js">
35
+ <link rel="modulepreload" crossorigin href="./assets/DocumentContext-B-H7z2mx.js">
35
36
  <link rel="modulepreload" crossorigin href="./assets/panel-DiSt1efw.js">
36
- <link rel="modulepreload" crossorigin href="./assets/clipboard-0XbokP0-.js">
37
- <link rel="modulepreload" crossorigin href="./assets/tooltip-BaQG219g.js">
37
+ <link rel="modulepreload" crossorigin href="./assets/clipboard-CmwParkX.js">
38
+ <link rel="modulepreload" crossorigin href="./assets/tooltip-CRxi5gOu.js">
38
39
  <link rel="modulepreload" crossorigin href="./assets/agent-presence-XtMgnv3n.js">
39
- <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-DlP83APM.js">
40
- <link rel="stylesheet" crossorigin href="./assets/index-ldPPE8aY.css">
40
+ <link rel="modulepreload" crossorigin href="./assets/circle-check-bKAq6pcI.js">
41
+ <link rel="modulepreload" crossorigin href="./assets/config-validation-events-CHBXJot6.js">
42
+ <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-7XRXuzFn.js">
43
+ <link rel="stylesheet" crossorigin href="./assets/index-uXLRXDYd.css">
41
44
  </head>
42
45
 
43
46
  <body class="antialiased">
@@ -0,0 +1,189 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "github": {
6
+ "default": {
7
+ "oauthAppClientId": "Ov23liqlSd0V1MwR6rhI"
8
+ },
9
+ "type": "object",
10
+ "properties": {
11
+ "oauthAppClientId": {
12
+ "default": "Ov23liqlSd0V1MwR6rhI",
13
+ "type": "string",
14
+ "scope": "either",
15
+ "agentSettable": false,
16
+ "defaultScope": "user"
17
+ }
18
+ },
19
+ "additionalProperties": {}
20
+ },
21
+ "server": {
22
+ "default": {
23
+ "host": "localhost",
24
+ "openOnAgentEdit": false
25
+ },
26
+ "type": "object",
27
+ "properties": {
28
+ "host": {
29
+ "default": "localhost",
30
+ "type": "string",
31
+ "pattern": "^[\\w.\\-:]+$",
32
+ "scope": "either",
33
+ "agentSettable": false,
34
+ "defaultScope": "user"
35
+ },
36
+ "openOnAgentEdit": {
37
+ "default": false,
38
+ "type": "boolean",
39
+ "scope": "either",
40
+ "agentSettable": false,
41
+ "defaultScope": "user"
42
+ }
43
+ },
44
+ "additionalProperties": {}
45
+ },
46
+ "folders": {
47
+ "default": [],
48
+ "type": "array",
49
+ "items": {
50
+ "type": "object",
51
+ "properties": {
52
+ "match": {
53
+ "type": "string",
54
+ "minLength": 1
55
+ },
56
+ "frontmatter": {
57
+ "type": "object",
58
+ "properties": {
59
+ "title": {
60
+ "type": "string"
61
+ },
62
+ "description": {
63
+ "type": "string"
64
+ },
65
+ "tags": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "string"
69
+ }
70
+ }
71
+ },
72
+ "additionalProperties": {}
73
+ }
74
+ },
75
+ "required": [
76
+ "match",
77
+ "frontmatter"
78
+ ],
79
+ "additionalProperties": {}
80
+ },
81
+ "scope": "either",
82
+ "agentSettable": true,
83
+ "defaultScope": "workspace"
84
+ },
85
+ "mcp": {
86
+ "default": {
87
+ "autoStart": true,
88
+ "tools": {
89
+ "read_document": {
90
+ "historyDepth": 5
91
+ },
92
+ "search": {
93
+ "maxResults": 50
94
+ }
95
+ }
96
+ },
97
+ "type": "object",
98
+ "properties": {
99
+ "autoStart": {
100
+ "default": true,
101
+ "type": "boolean",
102
+ "scope": "either",
103
+ "agentSettable": false,
104
+ "defaultScope": "user"
105
+ },
106
+ "tools": {
107
+ "default": {
108
+ "read_document": {
109
+ "historyDepth": 5
110
+ },
111
+ "search": {
112
+ "maxResults": 50
113
+ }
114
+ },
115
+ "type": "object",
116
+ "properties": {
117
+ "read_document": {
118
+ "default": {
119
+ "historyDepth": 5
120
+ },
121
+ "type": "object",
122
+ "properties": {
123
+ "historyDepth": {
124
+ "default": 5,
125
+ "type": "integer",
126
+ "minimum": 0,
127
+ "maximum": 9007199254740991,
128
+ "scope": "either",
129
+ "agentSettable": true,
130
+ "defaultScope": "user"
131
+ }
132
+ },
133
+ "additionalProperties": {}
134
+ },
135
+ "search": {
136
+ "default": {
137
+ "maxResults": 50
138
+ },
139
+ "type": "object",
140
+ "properties": {
141
+ "maxResults": {
142
+ "default": 50,
143
+ "type": "integer",
144
+ "minimum": 1,
145
+ "maximum": 9007199254740991,
146
+ "scope": "either",
147
+ "agentSettable": true,
148
+ "defaultScope": "user"
149
+ }
150
+ },
151
+ "additionalProperties": {}
152
+ }
153
+ },
154
+ "additionalProperties": {}
155
+ }
156
+ },
157
+ "additionalProperties": {}
158
+ },
159
+ "appearance": {
160
+ "default": {},
161
+ "type": "object",
162
+ "properties": {
163
+ "theme": {
164
+ "type": "string",
165
+ "enum": [
166
+ "light",
167
+ "dark",
168
+ "system"
169
+ ],
170
+ "scope": "user",
171
+ "agentSettable": false,
172
+ "defaultScope": "user"
173
+ },
174
+ "editorModeDefault": {
175
+ "type": "string",
176
+ "enum": [
177
+ "wysiwyg",
178
+ "source"
179
+ ],
180
+ "scope": "user",
181
+ "agentSettable": false,
182
+ "defaultScope": "user"
183
+ }
184
+ },
185
+ "additionalProperties": {}
186
+ }
187
+ },
188
+ "additionalProperties": {}
189
+ }
@@ -0,0 +1,219 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "content": {
6
+ "default": {
7
+ "dir": ".",
8
+ "include": [
9
+ "**/*.md",
10
+ "**/*.mdx"
11
+ ],
12
+ "exclude": []
13
+ },
14
+ "type": "object",
15
+ "properties": {
16
+ "dir": {
17
+ "default": ".",
18
+ "type": "string",
19
+ "scope": "workspace",
20
+ "agentSettable": false,
21
+ "defaultScope": "workspace"
22
+ },
23
+ "include": {
24
+ "default": [
25
+ "**/*.md",
26
+ "**/*.mdx"
27
+ ],
28
+ "minItems": 1,
29
+ "type": "array",
30
+ "items": {
31
+ "type": "string"
32
+ },
33
+ "scope": "workspace",
34
+ "agentSettable": true,
35
+ "defaultScope": "workspace"
36
+ },
37
+ "exclude": {
38
+ "default": [],
39
+ "type": "array",
40
+ "items": {
41
+ "type": "string"
42
+ },
43
+ "scope": "workspace",
44
+ "agentSettable": true,
45
+ "defaultScope": "workspace"
46
+ }
47
+ },
48
+ "additionalProperties": {}
49
+ },
50
+ "github": {
51
+ "default": {
52
+ "oauthAppClientId": "Ov23liqlSd0V1MwR6rhI"
53
+ },
54
+ "type": "object",
55
+ "properties": {
56
+ "oauthAppClientId": {
57
+ "default": "Ov23liqlSd0V1MwR6rhI",
58
+ "type": "string",
59
+ "scope": "either",
60
+ "agentSettable": false,
61
+ "defaultScope": "user"
62
+ }
63
+ },
64
+ "additionalProperties": {}
65
+ },
66
+ "server": {
67
+ "default": {
68
+ "host": "localhost",
69
+ "openOnAgentEdit": false
70
+ },
71
+ "type": "object",
72
+ "properties": {
73
+ "host": {
74
+ "default": "localhost",
75
+ "type": "string",
76
+ "pattern": "^[\\w.\\-:]+$",
77
+ "scope": "either",
78
+ "agentSettable": false,
79
+ "defaultScope": "user"
80
+ },
81
+ "openOnAgentEdit": {
82
+ "default": false,
83
+ "type": "boolean",
84
+ "scope": "either",
85
+ "agentSettable": false,
86
+ "defaultScope": "user"
87
+ }
88
+ },
89
+ "additionalProperties": {}
90
+ },
91
+ "preview": {
92
+ "default": {},
93
+ "type": "object",
94
+ "properties": {
95
+ "baseUrl": {
96
+ "type": "string",
97
+ "format": "uri",
98
+ "scope": "workspace",
99
+ "agentSettable": false
100
+ }
101
+ },
102
+ "additionalProperties": {}
103
+ },
104
+ "folders": {
105
+ "default": [],
106
+ "type": "array",
107
+ "items": {
108
+ "type": "object",
109
+ "properties": {
110
+ "match": {
111
+ "type": "string",
112
+ "minLength": 1
113
+ },
114
+ "frontmatter": {
115
+ "type": "object",
116
+ "properties": {
117
+ "title": {
118
+ "type": "string"
119
+ },
120
+ "description": {
121
+ "type": "string"
122
+ },
123
+ "tags": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "string"
127
+ }
128
+ }
129
+ },
130
+ "additionalProperties": {}
131
+ }
132
+ },
133
+ "required": [
134
+ "match",
135
+ "frontmatter"
136
+ ],
137
+ "additionalProperties": {}
138
+ },
139
+ "scope": "either",
140
+ "agentSettable": true,
141
+ "defaultScope": "workspace"
142
+ },
143
+ "mcp": {
144
+ "default": {
145
+ "autoStart": true,
146
+ "tools": {
147
+ "read_document": {
148
+ "historyDepth": 5
149
+ },
150
+ "search": {
151
+ "maxResults": 50
152
+ }
153
+ }
154
+ },
155
+ "type": "object",
156
+ "properties": {
157
+ "autoStart": {
158
+ "default": true,
159
+ "type": "boolean",
160
+ "scope": "either",
161
+ "agentSettable": false,
162
+ "defaultScope": "user"
163
+ },
164
+ "tools": {
165
+ "default": {
166
+ "read_document": {
167
+ "historyDepth": 5
168
+ },
169
+ "search": {
170
+ "maxResults": 50
171
+ }
172
+ },
173
+ "type": "object",
174
+ "properties": {
175
+ "read_document": {
176
+ "default": {
177
+ "historyDepth": 5
178
+ },
179
+ "type": "object",
180
+ "properties": {
181
+ "historyDepth": {
182
+ "default": 5,
183
+ "type": "integer",
184
+ "minimum": 0,
185
+ "maximum": 9007199254740991,
186
+ "scope": "either",
187
+ "agentSettable": true,
188
+ "defaultScope": "user"
189
+ }
190
+ },
191
+ "additionalProperties": {}
192
+ },
193
+ "search": {
194
+ "default": {
195
+ "maxResults": 50
196
+ },
197
+ "type": "object",
198
+ "properties": {
199
+ "maxResults": {
200
+ "default": 50,
201
+ "type": "integer",
202
+ "minimum": 1,
203
+ "maximum": 9007199254740991,
204
+ "scope": "either",
205
+ "agentSettable": true,
206
+ "defaultScope": "user"
207
+ }
208
+ },
209
+ "additionalProperties": {}
210
+ }
211
+ },
212
+ "additionalProperties": {}
213
+ }
214
+ },
215
+ "additionalProperties": {}
216
+ }
217
+ },
218
+ "additionalProperties": {}
219
+ }
@@ -0,0 +1,3 @@
1
+ import{$ as e,Lt as t,Q as n,X as r,Y as i,et as a,it as o,nt as s,rt as c,tt as l}from"./dist-BGmJPYOc.mjs";import{dirname as u,isAbsolute as d,resolve as f}from"node:path";import{existsSync as p,readFileSync as m,renameSync as h,unlinkSync as g}from"node:fs";import{homedir as _}from"node:os";import{mkdir as v,rename as y,writeFile as b}from"node:fs/promises";var x=t();function S(e){return`https://unpkg.com/@inkeep/open-knowledge@latest/dist/schemas/${i}/${e===`user`?`config.user.schema.json`:`config.workspace.schema.json`}`}function C(e){return`# yaml-language-server: $schema=${S(e)}\n`}function w(e,t,r){return f(e===`user`?r??_():d(t)?t:f(t),n,`config.yml`)}function T(e){return{ok:!1,error:e}}function E(e){return{ok:!0,...e}}async function D(e,t){let n=`${e}.tmp.${crypto.randomUUID()}`;try{await b(n,t,{encoding:`utf-8`,mode:420}),await y(n,e)}catch(e){try{g(n)}catch{}throw e}}async function O(e){return c(`config.patch`,{"config.scope":e.scope,"config.transport":`fs`},async t=>{let n=await k(e);return t.setAttribute(`config.outcome`,n.ok?`success`:`rejected`),n.ok||t.setAttribute(`config.error.code`,n.error.code),n})}async function k(t){let{cwd:n,scope:i,patch:c,homedirOverride:l,firstWriteHeader:d}=t,f=w(i,n,l),h=``,g=!1;if(p(f)){g=!0;try{h=m(f,`utf-8`)}catch(e){return T({code:`WRITE_ERROR`,detail:`Could not read existing config: ${e instanceof Error?e.message:String(e)}`})}}let _=(0,x.parseDocument)(h);if(_.errors.length>0)return T({code:`YAML_PARSE`,detail:_.errors.map(e=>e.message).join(`; `)});if(_.contents===null)_.contents=_.createNode({});else if(!(0,x.isMap)(_.contents))return T({code:`YAML_PARSE`,detail:`Top-level YAML value must be a mapping (object), got ${(0,x.isSeq)(_.contents)?`sequence`:`scalar`}`});let y=a(_,c),b=_.toJSON(),S=o(`config.validate`,{"config.scope":i,"config.validation.layer":`L2`},t=>{let n=r.safeParse(b);if(t.setAttribute(`config.outcome`,n.success?`success`:`rejected`),!n.success)for(let t of n.error.issues)e(`config.validation.issue`,{"issue.path":t.path.map(e=>String(e)).join(`.`),"issue.message":t.message});return n});if(!S.success)return T({code:`SCHEMA_INVALID`,issues:S.error.issues.map(s)});let O=_.toString();if(!g){let e=d===void 0?C(i):d??``;e.length>0&&(O=`${e.endsWith(`
2
+ `)?e:`${e}\n`}${O}`)}try{await v(u(f),{recursive:!0})}catch(e){return T({code:`WRITE_ERROR`,detail:`Could not create parent directory for ${f}: ${e instanceof Error?e.message:String(e)}`})}try{await D(f,O)}catch(e){return T({code:`WRITE_ERROR`,detail:`Could not write ${f}: ${e instanceof Error?e.message:String(e)}`})}return E({effective:S.data,appliedPaths:y,path:f,created:!g})}function A(e){if(!p(e))return[];let t=(0,x.parseDocument)(m(e,`utf-8`));if(t.errors.length>0)return[];let n=t.toJSON();if(!n||typeof n!=`object`||Array.isArray(n))return[];let r=n.folders;return Array.isArray(r)?r:[]}function j(e){return{ok:!1,error:e}}function M(e){return{ok:!0,...e}}async function N(e){let t=e.scope??`workspace`,n=w(t,e.cwd,e.homedirOverride),r;try{r=A(n)}catch(e){return j({code:`WRITE_ERROR`,detail:`Could not read current folders: ${e instanceof Error?e.message:String(e)}`})}let i=r.map(e=>({match:e.match,frontmatter:{...e.frontmatter}}));for(let t of e.rules){let e=t.new_match??t.match,n=i.findIndex(e=>e.match===t.match);if(t.new_match!==void 0&&t.new_match!==t.match){if(n>=0){let e=i.findIndex((e,r)=>r!==n&&e.match===t.new_match);e>=0&&i.splice(e,1);let r=e>=0&&e<n?n-1:n;i[r]={match:t.new_match,frontmatter:{...t.frontmatter}}}else{let n=i.findIndex(t=>t.match===e);n>=0?i[n]={match:e,frontmatter:{...t.frontmatter}}:i.push({match:e,frontmatter:{...t.frontmatter}})}continue}n>=0?i[n]={match:t.match,frontmatter:{...t.frontmatter}}:i.push({match:t.match,frontmatter:{...t.frontmatter}})}let a=await O({cwd:e.cwd,scope:t,patch:{folders:i},homedirOverride:e.homedirOverride});return a.ok?M({effective:a.effective,appliedPaths:a.appliedPaths,path:a.path,created:a.created}):j(a.error)}function P(e,t){let n=F(`user`,t),r=F(`workspace`,t),i=new Map;for(let t of e){let e=t.join(`.`);i.set(e,{user:I(n,t),workspace:I(r,t)})}return i}function F(e,t){let n=w(e,t.cwd,t.homedirOverride);if(!p(n))return null;let r;try{r=m(n,`utf-8`)}catch(t){return t.code!==`ENOENT`&&console.warn(`[inspectConfigPaths] could not read ${e} config at ${n}: ${t.message??t}`),null}let i=(0,x.parseDocument)(r);return i.errors.length>0?(console.warn(`[inspectConfigPaths] ${e} config at ${n} has YAML parse errors; treating as absent for scope inference`),null):i.toJSON()}function I(e,t){if(t.length===0)return e!=null;let n=e;for(let e of t){if(n==null)return!1;if(Array.isArray(n)&&typeof e==`number`){n=n[e];continue}if(typeof n==`object`){let t=String(e);if(!(t in n))return!1;n=n[t];continue}return!1}return n!==void 0}function L(e,t,n,r){return e.success?{code:`UNKNOWN`,message:`unexpected success in error path`}:{code:`SCHEMA_INVALID`,issues:e.error.issues.map(e=>{let i=e.path.map(e=>typeof e==`symbol`?String(e):e),a=l({file:r,source:n,doc:t,path:i});return{path:i,message:e.message,issueCode:e.code,...a===void 0?{}:{source:a}}})}}function R(e,t,n){let r=`${e}.invalid-${t.replace(/[:.]/g,`-`)}`;try{return h(e,r),r}catch(t){n(`[config] Could not sideline invalid config file ${e} → ${r}: ${t instanceof Error?t.message:String(t)}. File left in place; using schema defaults.`);return}}function z(e){let{absPath:t,sideline:n=!0,timestamp:i=new Date().toISOString()}=e,a=e.warn??(e=>console.warn(e)),o=r.parse({});if(!p(t))return{valid:!0,value:o,source:void 0};let s;try{s=m(t,`utf-8`)}catch(e){let n=e instanceof Error?e.message:String(e);return a(`[config] Could not read ${t}: ${n}. Using schema defaults.`),{valid:!1,value:o,error:{code:`UNKNOWN`,message:`Read failed: ${n}`}}}let c=(0,x.parseDocument)(s);if(c.errors.length>0){let e=c.errors.map(e=>e.message).join(`; `);a(`[config] ${t} contains invalid YAML (${e}). Using schema defaults.`+(n?``:` Pass-through mode: file left in place.`));let r=n?R(t,i,a):void 0;return{valid:!1,value:o,error:{code:`YAML_PARSE`,detail:e},...r===void 0?{}:{sidelinedTo:r}}}let l=c.toJSON()??{},u=r.safeParse(l);if(!u.success){let e=L(u,c,s,t);a(`[config] ${t} fails schema validation (${u.error.issues.length} issue(s)). Using schema defaults.`+(n?``:` Pass-through mode: file left in place.`));let r=n?R(t,i,a):void 0;return{valid:!1,value:o,error:e,...r===void 0?{}:{sidelinedTo:r}}}return{valid:!0,value:u.data,source:t}}export{O as a,w as i,P as n,z as r,N as t};
3
+ //# sourceMappingURL=server-Bme59hx2.mjs.map
@@ -0,0 +1 @@
1
+ import"./loader-CPzUWkvf.mjs";import"./init-PORXx7vd.mjs";export{};
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./esm-wByiX8MO.mjs";import{Q as t}from"./dist-BGmJPYOc.mjs";import{i as n}from"./constants-BQZMBSjL.mjs";import{spawn as r}from"node:child_process";import{join as i}from"node:path";import{closeSync as a,existsSync as o,mkdirSync as s,openSync as c}from"node:fs";import{setTimeout as l}from"node:timers/promises";function u(){let e=process.execPath,t=process.argv[1];return t?{command:e,prefixArgs:[t]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx @inkeep/open-knowledge\`. This re-introduces the version-drift surface that re-exec was fixing. Observed argv: ${JSON.stringify(process.argv)}`),{command:`npx`,prefixArgs:[`@inkeep/open-knowledge`]})}function d(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function f(e){o(e.lockDir)||s(e.lockDir,{recursive:!0});let t=c(i(e.lockDir,`last-spawn-error.log`),`w`),n=e.spawn??r,{PORT:l,...d}=process.env,f=u();try{let r=n(f.command,[...f.prefixArgs,...e.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,t],cwd:e.cwd,env:d});return r.unref(),r}finally{try{a(t)}catch{}}}async function p(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}function m(e){let t=e.sigtermGraceMs??1e4,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>l(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function h(e){let{config:n,cwd:r}=e,i=e.skipAutoInit??!1,a=e.skipUiAutoSpawn??!1,o=e.idleThresholdMs??18e5,{existsSync:s,mkdirSync:c}=await import(`node:fs`),{resolve:u}=await import(`node:path`),{bootServer:h,ensureProjectGit:g,getLogger:_,isProcessAlive:v,readUiLock:y}=await import(`./dist-Bxeddlf1.mjs`),{resolveContentDir:b}=await import(`./paths-BEB-Zpmi.mjs`),x=e.log??_(`start`),S=b(n,r);s(S)||(c(S,{recursive:!0}),x.info({contentDir:S},`Created content directory`));let C=!s(u(r,t)),w=i?void 0:async()=>{try{let{initContent:e}=await import(`./init-g2zamAnn.mjs`),t=e(r);return C||t.created.length>0||t.updated.length>0}catch(e){return console.warn(`Auto-init failed:`,e instanceof Error?e.message:e),!1}},T=!1,E=u(S,t),D=n.server.openOnAgentEdit?()=>{if(T)return;let e=y(E);if(!e||e.port<=0||!v(e.pid))return;T=!0;let t=`http://localhost:${e.port}`;import(`./open-browser-BzMQ6cLf.mjs`).then(({openBrowser:e})=>e(t)).catch(()=>{})}:void 0,O=null,k=await h({contentDir:S,projectDir:r,contentRoot:n.content.dir,port:e.port,host:n.server.host,quiet:!1,includePatterns:n.content.include,excludePatterns:n.content.exclude,onAgentWrite:D,localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:!0,idleShutdownMs:o,skipAutoInit:i,autoInitFn:w,ensureProjectGitFn:i?void 0:()=>g(r),spawnUiSiblingFn:async({lockDir:t})=>{if(O=d({uiLock:y(t),isAlive:v}),O.action===`spawn`&&!a)try{f({lockDir:t,cwd:r,spawn:e.spawn}),x.info({reason:O.reason},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else O.action===`skip`&&x.info({port:O.port,pid:O.pid},`UI already running at port ${O.port}`)},idleShutdownHandler:e=>m({readUiLock:()=>y(k.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:e,log:x}),log:x});O||={action:`skip`,reason:`alive`,pid:0,port:0};let A=O,j=null;if(A.action===`skip`)j=A.port>0?A.port:null;else if(!a){let t=e.uiBindTimeoutMs??3e3;j=await p({readUiLock:()=>y(k.lockDir),now:Date.now,sleep:e=>l(e),timeoutMs:t,pollIntervalMs:50}),j===null&&x.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:k.httpServer,destroy:k.destroy,lockDir:k.lockDir,contentDir:S,port:k.port,ready:k.ready,degraded:k.degraded,uiSpawnDecision:O,resolvedUiPort:j,didAutoInit:k.didAutoInit,didGitInit:k.didGitInit}}function g(r){return new e(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--no-init`,`Skip auto-scaffolding of ${t}/`).action(async e=>{let{renderBanner:i}=await import(`./banner-rqmEWoKr.mjs`),{dim:a,error:o,info:s,warning:c}=await import(`./colors-HBY_eaey.mjs`),l=r(),u=process.cwd();e.host!==void 0&&(l.server.host=e.host);let d=e.port===void 0?void 0:Number(e.port),f=process.env.PORT?Number(process.env.PORT):void 0,p=d??f,m;try{m=await h({config:l,cwd:u,port:p,skipAutoInit:e.init===!1})}catch(e){let{ProjectGitInitError:t}=await import(`./dist-Bxeddlf1.mjs`);e instanceof t&&(console.error(o(`open-knowledge requires git to initialize a parent repo. Install git or run 'git init' yourself, then re-run.`)),e.stderr&&console.error(a(e.stderr.trim())),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let g=!1,_=async e=>{if(!g){g=!0,console.log(a(`\nShutting down (${e})...`));try{await m.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)}};process.once(`SIGINT`,()=>{_(`SIGINT`)}),process.once(`SIGTERM`,()=>{_(`SIGTERM`)});let v=`http://${l.server.host}:${m.port}`,y=l.server.host===`0.0.0.0`||l.server.host===`::`?`http://0.0.0.0:${m.port}`:void 0,b=m.resolvedUiPort,x=b!==null&&b>0?`http://${l.server.host}:${b}`:v;console.log(i({name:`open-knowledge`,version:n,localUrl:x,apiUrl:x===v?void 0:v,networkUrl:y})),m.didAutoInit&&(console.log(` ${s(`✓`)} Scaffolded ${t}/ (first run)`),console.log(` ${a("Tip: Run `open-knowledge init` to register MCP tools for Claude Code")}\n`));let S={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};m.ready.then(async()=>{if(m.degraded.length>0){console.log();for(let e of m.degraded){let t=S[e]??`${e} (check server logs for details)`;console.warn(` ${c(`⚠`)} ${c(e)}: ${a(t)}`)}console.log()}if(m.didAutoInit||m.didGitInit)if(m.didGitInit&&console.log(`\n ${s(`✓`)} Initialized git repo at ${u}/.git/ (default branch: main)`),m.didAutoInit)try{let{previewContent:e,formatPreviewBlock:t}=await import(`./preview-D-0GOYHB.mjs`),n=e({projectDir:u,contentDir:m.contentDir,include:l.content.include,exclude:l.content.exclude});console.log(`\n${t(n,u)}\n`)}catch(e){console.warn(`Content preview unavailable: ${e instanceof Error?e.message:String(e)}`)}else console.log();if(e.open){let{openBrowser:e}=await import(`./open-browser-BzMQ6cLf.mjs`);e(x)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})})}export{f as a,d as i,h as n,g as o,m as r,u as s,p as t};
2
+ //# sourceMappingURL=start-Ds-3qtJF.mjs.map
@@ -0,0 +1 @@
1
+ import{o as e}from"./start-Ds-3qtJF.mjs";export{e as startCommand};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.0.0-dev-20260429215316",
3
+ "version": "0.0.0-dev-20260430041629",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -34,7 +34,8 @@
34
34
  "build:app": "cp -r ../app/dist dist/public",
35
35
  "build:skill-asset": "mkdir -p dist/assets/skills/open-knowledge && cp ../server/assets/skills/open-knowledge/SKILL.md dist/assets/skills/open-knowledge/SKILL.md",
36
36
  "build:notices": "mkdir -p dist && cp ../../THIRD_PARTY_NOTICES.md dist/THIRD_PARTY_NOTICES.md",
37
- "build:assets": "bun run build:app && bun run build:skill-asset && bun run build:notices",
37
+ "build:schema": "bun --conditions=development scripts/build-config-schema.mjs",
38
+ "build:assets": "bun run build:app && bun run build:skill-asset && bun run build:notices && bun run build:schema",
38
39
  "build": "bun run build:cli && bun run build:assets",
39
40
  "postinstall": "node scripts/postinstall.mjs",
40
41
  "test": "bun --conditions=development test",
@@ -71,6 +72,8 @@
71
72
  "@types/node": "^24.7.0",
72
73
  "@types/picomatch": "^4.0.3",
73
74
  "@types/shell-quote": "^1.7.5",
75
+ "ajv": "^8.18.0",
76
+ "ajv-formats": "^3.0.1",
74
77
  "tsdown": "^0.21.7",
75
78
  "typescript": "^5.9.3"
76
79
  }