@inkeep/open-knowledge 0.6.0-beta.8 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/THIRD_PARTY_NOTICES.md +37 -1
- package/dist/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +101 -33
- package/dist/cli.mjs +40 -40
- package/dist/config-schema.json +20 -0
- package/dist/config.project.schema.json +20 -0
- package/dist/constants-BqW_5Zct.mjs +2 -0
- package/dist/{dist-soQLoIV1.mjs → dist-C3d5vMka.mjs} +152 -61
- package/dist/dist-DHCla-dZ.mjs +1 -0
- package/dist/{git-handle-DwfYp_z--CfyPz4Dz.mjs → git-handle-CjyGVy33-CK0dYQ8y.mjs} +2 -2
- package/dist/git-handle-CjyGVy33-DVACqhWk.mjs +1 -0
- package/dist/index.mjs +1 -1
- package/dist/{init-al09RZM6.mjs → init-DbKyc-NP.mjs} +7 -7
- package/dist/init-_Gb8p_KN.mjs +1 -0
- package/dist/loader-BorPcYdC.mjs +1 -0
- package/dist/{loader-B64XEbbD.mjs → loader-DPtC9EX7.mjs} +3 -3
- package/dist/preview-BSw2DxmP.mjs +1 -0
- package/dist/{preview-CYIUoqRn.mjs → preview-DKceAysF.mjs} +2 -2
- package/dist/public/assets/ActivityModeContent-f87lu1R1.js +2 -0
- package/dist/public/assets/ActivityPanelDiffView-LNHry3BJ.js +13 -0
- package/dist/public/assets/ConsentDialogBody-RTxXUjwn.js +2 -0
- package/dist/public/assets/DocumentContext-BVFYhVUK.js +58 -0
- package/dist/public/assets/GraphPanel-0aB3TF2C.js +46 -0
- package/dist/public/assets/McpConsentDialogBody-cnhKG6kN.js +1 -0
- package/dist/public/assets/SettingsDialogBody-B_UH7Jye.js +7 -0
- package/dist/public/assets/{SourceEditor-BBghYkCg.js → SourceEditor-C3ri5HiW.js} +2 -2
- package/dist/public/assets/{agent-presence-DUe_PdKt.js → agent-presence-DxGcS3q2.js} +1 -1
- package/dist/public/assets/button-DenIdY-r.js +1 -0
- package/dist/public/assets/checkbox-BSqPN8L7.js +1 -0
- package/dist/public/assets/{collapsible-CYwJ8q8x.js → collapsible-BhpeB6tu.js} +1 -1
- package/dist/public/assets/compiler-runtime-Cs91PcD2.js +1 -0
- package/dist/public/assets/config-validation-events-BQa42yM4.js +11 -0
- package/dist/public/assets/dialog-C1dBa8-m.js +45 -0
- package/dist/public/assets/{dist-DQ1oWohr.js → dist-CadHdAvi.js} +1 -1
- package/dist/public/assets/{dist-By89CQBy.js → dist-CdAufVHw.js} +1 -1
- package/dist/public/assets/{dist-DllAuqQQ.js → dist-Cwt7KtW7.js} +1 -1
- package/dist/public/assets/{dist-DpEGxZ9h.js → dist-DRBAXDc3.js} +1 -1
- package/dist/public/assets/{dist-D-oqC0-R.js → dist-DkR43q3h.js} +1 -1
- package/dist/public/assets/{dist-DXgyWuz5.js → dist-y5PvfJVO.js} +1 -1
- package/dist/public/assets/index-7FUClmdK.css +1 -0
- package/dist/public/assets/index-ItRM_S62.js +1915 -0
- package/dist/public/assets/{label-Bdsqm1CY.js → label-DCMZaJ38.js} +1 -1
- package/dist/public/assets/{panel-CxlToFCs.js → panel-BNBODYwB.js} +1 -1
- package/dist/public/assets/prop-types-C7ZcPhvT.js +495 -0
- package/dist/public/assets/target-navigation-intent-B_XxwO2E.js +1 -0
- package/dist/public/assets/{textarea-CQGiqhkV.js → textarea-C_bHQrXh.js} +1 -1
- package/dist/public/assets/toggle-group-vVm0xmLD.js +1 -0
- package/dist/public/assets/typing-burst-detector-CC-taYRN.js +2 -0
- package/dist/public/index.html +25 -25
- package/dist/{repair-launch-json-CKIaPf4Q.mjs → repair-launch-json-C0A-MS1q.mjs} +2 -2
- package/dist/{repair-mcp-configs-nHEH7ZXG.mjs → repair-mcp-configs-C-anXKkD.mjs} +2 -2
- package/dist/schemas/v0/config.project.schema.json +20 -0
- package/dist/{server-lock-D7DXNVql-BRVVzA6T.mjs → server-lock-BniQ3qki-CadPGoZN.mjs} +1 -1
- package/dist/server-lock-BniQ3qki-DjKtnzVr.mjs +1 -0
- package/dist/{src-DJUgVPb0.mjs → src-D4AydmJF.mjs} +2 -2
- package/dist/{start-B0qxkaI0.mjs → start-BW-lqkFX.mjs} +2 -2
- package/dist/start-CK8Xftdg.mjs +1 -0
- package/package.json +2 -2
- package/dist/constants-HL-7SyJ2.mjs +0 -2
- package/dist/dist-7_PKsuCz.mjs +0 -1
- package/dist/git-handle-DwfYp_z--DreW3fNC.mjs +0 -1
- package/dist/init-BtOr-X4H.mjs +0 -1
- package/dist/loader-BGK5A8F9.mjs +0 -1
- package/dist/preview-DZKfHXsi.mjs +0 -1
- package/dist/public/assets/ActivityModeContent-Dgodq1_3.js +0 -2
- package/dist/public/assets/ActivityPanelDiffView-d4ec9M69.js +0 -13
- package/dist/public/assets/ConsentDialogBody-Y-YFxY-Y.js +0 -2
- package/dist/public/assets/DocumentContext-CqL0pPxh.js +0 -62
- package/dist/public/assets/GraphPanel-Btq3W8xK.js +0 -46
- package/dist/public/assets/McpConsentDialogBody-CR1y0qI_.js +0 -1
- package/dist/public/assets/SettingsDialogBody-E4CxiCsR.js +0 -7
- package/dist/public/assets/button-JrGyO3-P.js +0 -1
- package/dist/public/assets/checkbox-BLSL0WqH.js +0 -1
- package/dist/public/assets/compiler-runtime-CVnuRdak.js +0 -1
- package/dist/public/assets/config-validation-events-BAWD3yoI.js +0 -10
- package/dist/public/assets/dialog-B6QxSuMP.js +0 -45
- package/dist/public/assets/doc-hash-BUfOgpiD.js +0 -423
- package/dist/public/assets/index-CXzfIokG.css +0 -1
- package/dist/public/assets/index-DrLQYAlB.js +0 -1916
- package/dist/public/assets/target-navigation-intent-Bg_vCLDN.js +0 -1
- package/dist/public/assets/toggle-group-BvHaWPjZ.js +0 -1
- package/dist/public/assets/typing-burst-detector-xohyxOCA.js +0 -2
- package/dist/server-lock-D7DXNVql-B5nINglj.mjs +0 -1
- package/dist/start-BS3czGsk.mjs +0 -1
- /package/dist/public/assets/{dist-D3YXABda.js → dist-sw9fzKjM.js} +0 -0
- /package/dist/public/assets/{mcp-consent-store-BPw6Zd40.js → mcp-consent-store-19Boxoxe.js} +0 -0
- /package/dist/public/assets/{project-paths-DKT5BePl.js → project-paths-eyh51nmQ.js} +0 -0
- /package/dist/public/assets/{stex-ChE_gMQ6.js → stex-DxnLy7rA.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e}from"./prop-types-C7ZcPhvT.js";function t(e){switch(e.kind){case`doc`:return`doc`;case`folder`:case`folder-index`:return`folder`;case`missing`:case`asset`:return`missing`}}function n(n,r){let i=e(n,r);return{resolvedTarget:i,hashDocName:i.target,displayState:t(i)}}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{o as e,t}from"./compiler-runtime-Cs91PcD2.js";import{S as n}from"./button-DenIdY-r.js";var r=t(),i=e();function a(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`textarea`,{"data-slot":`textarea`,className:s,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{a as t,o as n,t as r}from"./compiler-runtime-Cs91PcD2.js";import{J as i,Y as a}from"./prop-types-C7ZcPhvT.js";import{C as o,S as s,b as c,d as l,l as u,m as d,o as f,p,s as m,x as h}from"./button-DenIdY-r.js";var g=o(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),_=e(t(),1),v=n(),y=`rovingFocusGroup.onEntryFocus`,b={bubbles:!1,cancelable:!0},x=`RovingFocusGroup`,[S,C,w]=a(x),[T,E]=p(x,[w]),[ee,D]=T(x),O=_.forwardRef((e,t)=>(0,v.jsx)(S.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(S.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(k,{...e,ref:t})})}));O.displayName=x;var k=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:o,currentTabStopId:s,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:m,onEntryFocus:h,preventScrollOnEntryFocus:g=!1,...S}=e,w=_.useRef(null),T=c(t,w),E=i(o),[D,O]=u({prop:s,defaultProp:p??null,onChange:m,caller:x}),[k,A]=_.useState(!1),j=f(h),M=C(n),N=_.useRef(!1),[P,I]=_.useState(0);return _.useEffect(()=>{let e=w.current;if(e)return e.addEventListener(y,j),()=>e.removeEventListener(y,j)},[j]),(0,v.jsx)(ee,{scope:n,orientation:r,dir:E,loop:a,currentTabStopId:D,onItemFocus:_.useCallback(e=>O(e),[O]),onItemShiftTab:_.useCallback(()=>A(!0),[]),onFocusableItemAdd:_.useCallback(()=>I(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>I(e=>e-1),[]),children:(0,v.jsx)(d.div,{tabIndex:k||P===0?-1:0,"data-orientation":r,...S,ref:T,style:{outline:`none`,...e.style},onMouseDown:l(e.onMouseDown,()=>{N.current=!0}),onFocus:l(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!k){let t=new CustomEvent(y,b);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);F([e.find(e=>e.active),e.find(e=>e.id===D),...e].filter(Boolean).map(e=>e.ref.current),g)}}N.current=!1}),onBlur:l(e.onBlur,()=>A(!1))})})}),A=`RovingFocusGroupItem`,j=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=m(),u=a||c,f=D(A,n),p=f.currentTabStopId===u,h=C(n),{onFocusableItemAdd:g,onFocusableItemRemove:y,currentTabStopId:b}=f;return _.useEffect(()=>{if(r)return g(),()=>y()},[r,g,y]),(0,v.jsx)(S.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:(0,v.jsx)(d.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...s,ref:t,onMouseDown:l(e.onMouseDown,e=>{r?f.onItemFocus(u):e.preventDefault()}),onFocus:l(e.onFocus,()=>f.onItemFocus(u)),onKeyDown:l(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){f.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=P(e,f.orientation,f.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=h().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=f.loop?I(n,r+1):n.slice(r+1)}setTimeout(()=>F(n))}}),children:typeof o==`function`?o({isCurrentTabStop:p,hasTabStop:b!=null}):o})})});j.displayName=A;var M={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function N(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function P(e,t,n){let r=N(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return M[r]}function F(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function I(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var L=O,R=j,z=`Toggle`,B=_.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=u({prop:n,onChange:i,defaultProp:r??!1,caller:z});return(0,v.jsx)(d.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:l(e.onClick,()=>{e.disabled||s(!o)})})});B.displayName=z;var te=B,V=`ToggleGroup`,[H,ne]=p(V,[E]),U=E(),W=_.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,v.jsx)(re,{...r,ref:t});if(n===`multiple`)return(0,v.jsx)(ie,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${V}\``)});W.displayName=V;var[G,K]=H(V),re=_.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=u({prop:n,defaultProp:r??``,onChange:i,caller:V});return(0,v.jsx)(G,{scope:e.__scopeToggleGroup,type:`single`,value:_.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:_.useCallback(()=>s(``),[s]),children:(0,v.jsx)(q,{...a,ref:t})})}),ie=_.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=u({prop:n,defaultProp:r??[],onChange:i,caller:V}),c=_.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=_.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,v.jsx)(G,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:c,onItemDeactivate:l,children:(0,v.jsx)(q,{...a,ref:t})})});W.displayName=V;var[ae,oe]=H(V),q=_.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:a=!0,orientation:o,dir:s,loop:c=!0,...l}=e,u=U(n),f=i(s),p={role:`group`,dir:f,...l};return(0,v.jsx)(ae,{scope:n,rovingFocus:a,disabled:r,children:a?(0,v.jsx)(L,{asChild:!0,...u,orientation:o,dir:f,loop:c,children:(0,v.jsx)(d.div,{...p,ref:t})}):(0,v.jsx)(d.div,{...p,ref:t})})}),J=`ToggleGroupItem`,Y=_.forwardRef((e,t)=>{let n=K(J,e.__scopeToggleGroup),r=oe(J,e.__scopeToggleGroup),i=U(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=_.useRef(null);return r.rovingFocus?(0,v.jsx)(R,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,v.jsx)(X,{...s,ref:t})}):(0,v.jsx)(X,{...s,ref:t})});Y.displayName=J;var X=_.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=K(J,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,v.jsx)(B,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),se=W,ce=Y,Z=r(),Q=h(`group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-muted`,segmented:`text-muted-foreground hover:bg-muted-foreground/10 data-[state=on]:bg-background data-[state=on]:shadow-sm data-[state=on]:text-foreground dark:data-[state=on]:bg-muted`},size:{default:`h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,sm:`h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`}},defaultVariants:{variant:`default`,size:`default`}});function le(e){let t=(0,Z.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,variant:i,size:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=i===void 0?`default`:i,c=a===void 0?`default`:a,l;t[5]!==n||t[6]!==c||t[7]!==o?(l=s(Q({variant:o,size:c,className:n})),t[5]=n,t[6]=c,t[7]=o,t[8]=l):l=t[8];let u;return t[9]!==r||t[10]!==c||t[11]!==l||t[12]!==o?(u=(0,v.jsx)(te,{"data-slot":`toggle`,"data-variant":o,"data-size":c,className:l,...r}),t[9]=r,t[10]=c,t[11]=l,t[12]=o,t[13]=u):u=t[13],u}var $=_.createContext({size:`default`,variant:`default`,spacing:0,orientation:`horizontal`});function ue(e){let t=(0,Z.c)(29),n,r,i,a,o,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],c=t[6],l=t[7]):({className:r,variant:l,size:a,spacing:o,orientation:c,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=c,t[7]=l);let u=o===void 0?0:o,d=c===void 0?`horizontal`:c,f;t[8]===u?f=t[9]:(f={"--gap":u},t[8]=u,t[9]=f);let p=f,m;t[10]===r?m=t[11]:(m=s(`group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch`,r),t[10]=r,t[11]=m);let h;t[12]!==d||t[13]!==a||t[14]!==u||t[15]!==l?(h={variant:l,size:a,spacing:u,orientation:d},t[12]=d,t[13]=a,t[14]=u,t[15]=l,t[16]=h):h=t[16];let g;t[17]!==n||t[18]!==h?(g=(0,v.jsx)($.Provider,{value:h,children:n}),t[17]=n,t[18]=h,t[19]=g):g=t[19];let _;return t[20]!==d||t[21]!==i||t[22]!==a||t[23]!==u||t[24]!==p||t[25]!==m||t[26]!==g||t[27]!==l?(_=(0,v.jsx)(se,{"data-slot":`toggle-group`,"data-variant":l,"data-size":a,"data-spacing":u,"data-orientation":d,style:p,className:m,...i,children:g}),t[20]=d,t[21]=i,t[22]=a,t[23]=u,t[24]=p,t[25]=m,t[26]=g,t[27]=l,t[28]=_):_=t[28],_}function de(e){let t=(0,Z.c)(19),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,variant:a,size:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let c=a===void 0?`default`:a,l=o===void 0?`default`:o,u=_.use($),d=u.variant||c,f=u.size||l,p=u.spacing,m;t[6]!==r||t[7]!==u.size||t[8]!==u.variant||t[9]!==l||t[10]!==c?(m=s(`shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t text-muted-foreground data-[state=on]:text-foreground`,Q({variant:u.variant||c,size:u.size||l}),r),t[6]=r,t[7]=u.size,t[8]=u.variant,t[9]=l,t[10]=c,t[11]=m):m=t[11];let h;return t[12]!==n||t[13]!==u.spacing||t[14]!==i||t[15]!==d||t[16]!==f||t[17]!==m?(h=(0,v.jsx)(ce,{"data-slot":`toggle-group-item`,"data-variant":d,"data-size":f,"data-spacing":p,className:m,...i,children:n}),t[12]=n,t[13]=u.spacing,t[14]=i,t[15]=d,t[16]=f,t[17]=m,t[18]=h):h=t[18],h}export{L as a,R as i,de as n,E as o,le as r,g as s,ue as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{a as t,i as n,o as r,r as i,t as a}from"./compiler-runtime-Cs91PcD2.js";import{D as o,E as s,O as c,hn as l,n as u,rt as d}from"./DocumentContext-BVFYhVUK.js";import{a as f,c as ee,i as te,n as ne,o as re,r as ie,s as ae,t as oe,u as se}from"./panel-BNBODYwB.js";import{Gt as p,Ht as m,u as ce,vi as h}from"./prop-types-C7ZcPhvT.js";import{S as le}from"./button-DenIdY-r.js";import{$ as g,At as _,Bt as v,Dt as y,E as ue,Et as b,Ft as x,Ht as S,J as C,Mt as w,N as T,Ot as E,Pt as D,Q as O,Rt as k,Ut as A,X as j,_ as de,_t as M,ct as N,dt as P,et as F,f as I,gt as L,ht as R,l as fe,lt as pe,mt as me,nt as he,ot as ge,rt as _e,st as ve,tt as ye,ut as be,wt as z,y as xe,yt as B,zt as Se}from"./dist-sw9fzKjM.js";import{i as Ce,n as we,o as Te,r as Ee}from"./dist-Cwt7KtW7.js";var De=e(t(),1),Oe=a(),ke=new Map;function Ae(e,t){ke.set(e,t)}function je(e){let t=ke.get(e)??null;return ke.delete(e),t}function Me(e){ke.delete(e)}function Ne(e,t){let n=(0,Oe.c)(4),r=t===void 0?!1:t,[i,a]=(0,De.useState)(void 0),o=(0,De.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,De.useEffect)(s,c),i}var V=r(),Pe=300;async function Fe(e){let t=await fetch(`/api/page-headings?docName=${encodeURIComponent(e)}`),n;try{n=await t.json()}catch(e){throw new d(h._({id:`qAQVSD`}),{cause:e,status:t.status})}if(!t.ok){let e=p.safeParse(n);throw e.success?Error(e.data.title):new d(h._({id:`zlErBl`}),{status:t.status})}let r=m.safeParse(n);if(!r.success)throw new d(h._({id:`XW18jo`}),{status:t.status});return r.data.headings??[]}var Ie=32,Le=12,Re=6,ze=`open-knowledge:outline-nav`;function Be(e){let t=(0,Oe.c)(2),n;return t[0]===e?n=t[1]:(n=(0,V.jsx)(l,{name:`outline-panel`,children:(0,V.jsx)(Ve,{...e})}),t[0]=e,t[1]=n),n}function Ve(e){let t=(0,Oe.c)(50),{docName:r,isSourceMode:a,className:o}=e,s=o===void 0?``:o,{_:c}=n(),{pages:l,loading:d}=ce(),p=se(),{activeProvider:m,activeDocName:h}=u(),g,_;t[0]===r?(g=t[1],_=t[2]):(g=[`page-headings`,r],_=()=>Fe(r),t[0]=r,t[1]=g,t[2]=_);let v;t[3]!==r||t[4]!==d||t[5]!==l?(v=!d&&l.has(r),t[3]=r,t[4]=d,t[5]=l,t[6]=v):v=t[6];let y;t[7]!==g||t[8]!==_||t[9]!==v?(y={queryKey:g,queryFn:_,enabled:v,staleTime:1/0},t[7]=g,t[8]=_,t[9]=v,t[10]=y):y=t[10];let{data:ue,isLoading:b,error:x}=ee(y),S;t[11]===ue?S=t[12]:(S=ue===void 0?[]:ue,t[11]=ue,t[12]=S);let C=S,w,T;t[13]!==h||t[14]!==m||t[15]!==r||t[16]!==p?(w=()=>{if(!m||h!==r)return;let e=m.document,t=null,n=()=>{t!==null&&clearTimeout(t),t=setTimeout(()=>{t=null,p.invalidateQueries({queryKey:[`page-headings`,r]})},Pe)};return e.on(`update`,n),()=>{e.off(`update`,n),t!==null&&clearTimeout(t)}},T=[m,h,r,p],t[13]=h,t[14]=m,t[15]=r,t[16]=p,t[17]=w,t[18]=T):(w=t[17],T=t[18]),(0,De.useEffect)(w,T);let E;t[19]===C?E=t[20]:(E=C.map(He),t[19]=C,t[20]=E);let D=Ne(E,a),O;t[21]!==D||t[22]!==C?(O=D?C.findIndex(e=>e.slug===D):-1,t[21]=D,t[22]=C,t[23]=O):O=t[23];let k=O,A;t[24]!==r||t[25]!==a?(A=function(e,t){let n={index:e,slug:t,mode:a?`source`:`wysiwyg`};n.mode===`source`&&Ae(r,{kind:`outline`,detail:n}),window.dispatchEvent(new CustomEvent(ze,{detail:n}))},t[24]=r,t[25]=a,t[26]=A):A=t[26];let j=A,de=((k>=0?C[k].level:1)-1)*Le+(Le-Re)/2,M=k*Ie+(Ie-Re)/2,N;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,V.jsx)(ae,{children:(0,V.jsx)(i,{id:`dD7NPy`})}),t[27]=N):N=t[27];let P;t[28]!==C.length||t[29]!==b?(P=!b&&(0,V.jsx)(ie,{children:C.length}),t[28]=C.length,t[29]=b,t[30]=P):P=t[30];let F;t[31]===P?F=t[32]:(F=(0,V.jsxs)(re,{children:[N,P]}),t[31]=P,t[32]=F);let I;t[33]!==c||t[34]!==k||t[35]!==D||t[36]!==x||t[37]!==j||t[38]!==C||t[39]!==b||t[40]!==de||t[41]!==M?(I=x?(0,V.jsx)(f,{className:`px-2`,children:x instanceof Error?x.message:c({id:`GuqOb1`})}):C.length===0&&!b?(0,V.jsx)(te,{className:`px-2`,children:(0,V.jsx)(i,{id:`0BB9ID`})}):(0,V.jsxs)(`nav`,{"aria-label":c({id:`BymzO4`}),className:`relative`,children:[k>=0&&(0,V.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:Re,height:Re,transform:`translate(${de}px, ${M}px)`}}),C.map((e,t)=>{let n=e.slug===D;return(0,V.jsx)(`button`,{type:`button`,"aria-current":n?`location`:void 0,onClick:()=>j(t,e.slug),className:le(`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)*Le+20}px`},title:e.text,children:e.text},t)})]}),t[33]=c,t[34]=k,t[35]=D,t[36]=x,t[37]=j,t[38]=C,t[39]=b,t[40]=de,t[41]=M,t[42]=I):I=t[42];let L;t[43]!==b||t[44]!==I?(L=(0,V.jsx)(ne,{className:`px-3 py-2`,"aria-busy":b,children:I}),t[43]=b,t[44]=I,t[45]=L):L=t[45];let R;return t[46]!==s||t[47]!==F||t[48]!==L?(R=(0,V.jsxs)(oe,{className:s,children:[F,L]}),t[46]=s,t[47]=F,t[48]=L,t[49]=R):R=t[49],R}function He(e){return e.slug}var Ue=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,H=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(Ue(e)):Ue,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return k(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=A(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Se(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n;;e++){let a=r.charCodeAt(e),o=this.match(a,i,this.bufferPos+this.bufferStart);if(e==r.length-1){if(o)return this.value=o,this;break}i==n&&e<t.length&&t.charCodeAt(e)==a&&i++}}}match(e,t,n){let r=null;for(let t=0;t<this.matches.length;t+=2){let i=this.matches[t],a=!1;this.query.charCodeAt(i)==e&&(i==this.query.length-1?r={from:this.matches[t+1],to:n}:(this.matches[t]++,a=!0)),a||(this.matches.splice(t,2),t-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?r={from:t,to:n}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}};typeof Symbol<`u`&&(H.prototype[Symbol.iterator]=function(){return this});var We={from:-1,to:-1,match:/.*/.exec(``)},Ge=`gm`+(/x/.unicode==null?``:`u`),Ke=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=We,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Ye(e,t,n,r,i);this.re=new RegExp(t,Ge+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter(),this.curLineStart=e.lineAt(r).from,this.matchPos=Ze(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=Ze(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},qe=new WeakMap,Je=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=qe.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return qe.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),qe.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},Ye=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=We,this.matchPos=Ze(e,r),this.re=new RegExp(t,Ge+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=Je.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=Ze(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Je.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<`u`&&(Ke.prototype[Symbol.iterator]=Ye.prototype[Symbol.iterator]=function(){return this});function Xe(e){try{return new RegExp(e,Ge),!0}catch{return!1}}function Ze(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}var Qe=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:i}=L(e,{label:t.phrase(`Go to line`),input:{type:`text`,name:`line`,value:n},focus:!0,submitLabel:t.phrase(`go`)});return i.then(n=>{let i=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!i){e.dispatch({effects:r});return}let a=t.doc.lineAt(t.selection.main.head),[,o,s,c,l]=i,u=c?+c.slice(1):0,d=s?+s:a.number;if(s&&l){let e=d/100;o&&(e=e*(o==`-`?-1:1)+a.number/t.doc.lines),d=Math.round(t.doc.lines*e)}else s&&o&&(d=d*(o==`-`?-1:1)+a.number);let f=t.doc.line(Math.max(1,Math.min(t.doc.lines,d))),ee=b.cursor(f.from+Math.max(0,Math.min(u,f.length)));e.dispatch({effects:[r,j.scrollIntoView(ee.from,{y:`center`})],selection:ee})}),!0},$e={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},et=E.define({combine(e){return v(e,$e,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function tt(e){let t=[st,ot];return e&&t.push(et.of(e)),t}var nt=C.mark({class:`cm-selectionMatch`}),rt=C.mark({class:`cm-selectionMatch cm-selectionMatch-main`});function it(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=z.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=z.Word)}function at(e,t,n,r){return e(t.sliceDoc(n,n+1))==z.Word&&e(t.sliceDoc(r-1,r))==z.Word}var ot=O.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(et),{state:n}=e,r=n.selection;if(r.ranges.length>1)return C.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return C.none;let e=n.wordAt(i.head);if(!e)return C.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return C.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(it(o,n,i.from,i.to)&&at(o,n,i.from,i.to)))return C.none}else if(a=n.sliceDoc(i.from,i.to),!a)return C.none}let s=[];for(let r of e.visibleRanges){let e=new H(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||it(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(rt.range(r,a)):(r>=i.to||a<=i.from)&&s.push(nt.range(r,a)),s.length>t.maxMatches))return C.none}}return C.set(s)}},{decorations:e=>e.decorations}),st=j.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),ct=({state:e,dispatch:t})=>{let{selection:n}=e,r=b.create(n.ranges.map(t=>e.wordAt(t.head)||b.cursor(t.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function lt(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new H(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new H(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}var ut=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return ct({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=lt(e,r);return i?(t(e.update({selection:e.selection.addRange(b.range(i.from,i.to),!1),effects:j.scrollIntoView(i.to)})),!0):!1},U=E.define({combine(e){return v(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new zt(e),scrollToMatch:e=>j.scrollIntoView(e)})}}),dt=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||Xe(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
|
|
2
|
+
`:t==`r`?`\r`:t==`t`?` `:`\\`)}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new bt(this):new ht(this)}getCursor(e,t=0,n){let r=e.doc?e:y.create({doc:e});return n??=r.doc.length,this.regexp?G(this,r,t,n):W(this,r,t,n)}},ft=class{constructor(e){this.spec=e}};function pt(e,t,n){return(r,i,a,o)=>n&&!n(r,i,a,o)?!1:e(r>=o&&i<=o+a.length?a.slice(r-o,i-o):t.doc.sliceString(r,i),t,r,i)}function W(e,t,n,r){let i;return e.wholeWord&&(i=mt(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(i=pt(e.test,t,i)),new H(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),i)}function mt(e,t){return(n,r,i,a)=>((a>n||a+i.length<r)&&(a=Math.max(0,n-2),i=e.sliceString(a,Math.min(e.length,r+2))),(t(_t(i,n-a))!=z.Word||t(vt(i,n-a))!=z.Word)&&(t(vt(i,r-a))!=z.Word||t(_t(i,r-a))!=z.Word))}var ht=class extends ft{constructor(e){super(e)}nextMatch(e,t,n){let r=W(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=W(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=W(this.spec,e,n,r),a=null;for(;!i.nextOverlapping().done;)a=i.value;if(a)return a;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=W(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=W(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}};function gt(e,t,n){return(r,i,a)=>(!n||n(r,i,a))&&e(a[0],t,r,i)}function G(e,t,n,r){let i;return e.wholeWord&&(i=yt(t.charCategorizer(t.selection.main.head))),e.test&&(i=gt(e.test,t,i)),new Ke(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:i},n,r)}function _t(e,t){return e.slice(S(e,t,!1),t)}function vt(e,t){return e.slice(t,S(e,t))}function yt(e){return(t,n,r)=>!r[0].length||(e(_t(r.input,r.index))!=z.Word||e(vt(r.input,r.index))!=z.Word)&&(e(vt(r.input,r.index+r[0].length))!=z.Word||e(_t(r.input,r.index+r[0].length))!=z.Word)}var bt=class extends ft{nextMatch(e,t,n){let r=G(this.spec,e,n,e.doc.length).next();return r.done&&(r=G(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-r*1e4),a=G(this.spec,e,i,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==t||o.from>i+10))return o;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n==`&`)return e.match[0];if(n==`$`)return`$`;for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=G(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=G(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},K=D.define(),xt=D.define(),q=x.define({create(e){return new St(Nt(e).create(),null)},update(e,t){for(let n of t.effects)n.is(K)?e=new St(n.value.create(),e.panel):n.is(xt)&&(e=new St(e.query,n.value?Mt:null));return e},provide:e=>M.from(e,e=>e.panel)}),St=class{constructor(e,t){this.query=e,this.panel=t}},Ct=C.mark({class:`cm-searchMatch`}),wt=C.mark({class:`cm-searchMatch cm-searchMatch-selected`}),Tt=O.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(q))}update(e){let t=e.state.field(q);(t!=e.startState.field(q)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return C.none;let{view:n}=this,r=new w;for(let t=0,i=n.visibleRanges,a=i.length;t<a;t++){let{from:o,to:s}=i[t];for(;t<a-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,o,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?wt:Ct)})}return r.finish()}},{decorations:e=>e.decorations});function J(e){return t=>{let n=t.state.field(q,!1);return n&&n.query.spec.valid?e(t,n):It(t)}}var Et=J((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=b.single(r.from,r.to),a=e.state.facet(U);return e.dispatch({selection:i,effects:[Ht(e,r),a.scrollToMatch(i.main,e)],userEvent:`select.search`}),Ft(e),!0}),Dt=J((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let a=b.single(i.from,i.to),o=e.state.facet(U);return e.dispatch({selection:a,effects:[Ht(e,i),o.scrollToMatch(a.main,e)],userEvent:`select.search`}),Ft(e),!0}),Ot=J((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:b.create(n.map(e=>b.range(e.from,e.to))),userEvent:`select.search.matches`}),!0)}),kt=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,a=[],o=0;for(let t=new H(e.doc,e.sliceDoc(r,i));!t.next().done;){if(a.length>1e3)return!1;t.value.from==r&&(o=a.length),a.push(b.range(t.value.from,t.value.to))}return t(e.update({selection:b.create(a,o),userEvent:`select.search.matches`})),!0},At=J((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let o=a,s=[],c,l,u=[];o.from==r&&o.to==i&&(l=n.toText(t.getReplacement(o)),s.push({from:o.from,to:o.to,insert:l}),o=t.nextMatch(n,o.from,o.to),u.push(j.announce.of(n.phrase(`replaced match on line $`,n.doc.lineAt(r).number)+`.`)));let d=e.state.changes(s);return o&&(c=b.single(o.from,o.to).map(d),u.push(Ht(e,o)),u.push(n.facet(U).scrollToMatch(c.main,e))),e.dispatch({changes:d,selection:c,effects:u,userEvent:`input.replace`}),!0}),jt=J((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:r}=e;return{from:n,to:r,insert:t.getReplacement(e)}});if(!n.length)return!1;let r=e.state.phrase(`replaced $ matches`,n.length)+`.`;return e.dispatch({changes:n,effects:j.announce.of(r),userEvent:`input.replace.all`}),!0});function Mt(e){return e.state.facet(U).createPanel(e)}function Nt(e,t){let n=e.selection.main,r=n.empty||n.to>n.from+100?``:e.sliceDoc(n.from,n.to);if(t&&!r)return t;let i=e.facet(U);return new dt({search:t?.literal??i.literal?r:r.replace(/\n/g,`\\n`),caseSensitive:t?.caseSensitive??i.caseSensitive,literal:t?.literal??i.literal,regexp:t?.regexp??i.regexp,wholeWord:t?.wholeWord??i.wholeWord})}function Pt(e){let t=_e(e,Mt);return t&&t.dom.querySelector(`[main-field]`)}function Ft(e){let t=Pt(e);t&&t==e.root.activeElement&&t.select()}var It=e=>{let t=e.state.field(q,!1);if(t&&t.panel){let n=Pt(e);if(n&&n!=e.root.activeElement){let r=Nt(e.state,t.query.spec);r.valid&&e.dispatch({effects:K.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[xt.of(!0),t?K.of(Nt(e.state,t.query.spec)):D.appendConfig.of(Wt)]});return!0},Lt=e=>{let t=e.state.field(q,!1);if(!t||!t.panel)return!1;let n=_e(e,Mt);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:xt.of(!1)}),!0},Rt=[{key:`Mod-f`,run:It,scope:`editor search-panel`},{key:`F3`,run:Et,shift:Dt,scope:`editor search-panel`,preventDefault:!0},{key:`Mod-g`,run:Et,shift:Dt,scope:`editor search-panel`,preventDefault:!0},{key:`Escape`,run:Lt,scope:`editor search-panel`},{key:`Mod-Shift-l`,run:kt},{key:`Mod-Alt-g`,run:Qe},{key:`Mod-d`,run:ut,preventDefault:!0}],zt=class{constructor(e){this.view=e;let t=this.query=e.state.field(q).query.spec;this.commit=this.commit.bind(this),this.searchField=B(`input`,{value:t.search,placeholder:Y(e,`Find`),"aria-label":Y(e,`Find`),class:`cm-textfield`,name:`search`,form:``,"main-field":`true`,onchange:this.commit,onkeyup:this.commit}),this.replaceField=B(`input`,{value:t.replace,placeholder:Y(e,`Replace`),"aria-label":Y(e,`Replace`),class:`cm-textfield`,name:`replace`,form:``,onchange:this.commit,onkeyup:this.commit}),this.caseField=B(`input`,{type:`checkbox`,name:`case`,form:``,checked:t.caseSensitive,onchange:this.commit}),this.reField=B(`input`,{type:`checkbox`,name:`re`,form:``,checked:t.regexp,onchange:this.commit}),this.wordField=B(`input`,{type:`checkbox`,name:`word`,form:``,checked:t.wholeWord,onchange:this.commit});function n(e,t,n){return B(`button`,{class:`cm-button`,name:e,onclick:t,type:`button`},n)}this.dom=B(`div`,{onkeydown:e=>this.keydown(e),class:`cm-search`},[this.searchField,n(`next`,()=>Et(e),[Y(e,`next`)]),n(`prev`,()=>Dt(e),[Y(e,`previous`)]),n(`select`,()=>Ot(e),[Y(e,`all`)]),B(`label`,null,[this.caseField,Y(e,`match case`)]),B(`label`,null,[this.reField,Y(e,`regexp`)]),B(`label`,null,[this.wordField,Y(e,`by word`)]),...e.state.readOnly?[]:[B(`br`),this.replaceField,n(`replace`,()=>At(e),[Y(e,`replace`)]),n(`replaceAll`,()=>jt(e),[Y(e,`replace all`)])],B(`button`,{name:`close`,onclick:()=>Lt(e),"aria-label":Y(e,`close`),type:`button`},[`×`])])}commit(){let e=new dt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:K.of(e)}))}keydown(e){R(this.view,e,`search-panel`)?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Dt:Et)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),At(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(K)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(U).top}};function Y(e,t){return e.state.phrase(t)}var Bt=30,Vt=/[\s\.,:;?!]/;function Ht(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-Bt),o=Math.min(i,n+Bt),s=e.state.sliceDoc(a,o);if(a!=r.from){for(let e=0;e<Bt;e++)if(!Vt.test(s[e+1])&&Vt.test(s[e])){s=s.slice(e);break}}if(o!=i){for(let e=s.length-1;e>s.length-Bt;e--)if(!Vt.test(s[e-1])&&Vt.test(s[e])){s=s.slice(0,e);break}}return j.announce.of(`${e.state.phrase(`current match`)}. ${s} ${e.state.phrase(`on line`)} ${r.number}.`)}var Ut=j.baseTheme({".cm-panel.cm-search":{padding:`2px 6px 4px`,position:`relative`,"& [name=close]":{position:`absolute`,top:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0},"& input, & button, & label":{margin:`.2em .6em .2em 0`},"& input[type=checkbox]":{marginRight:`.2em`},"& label":{fontSize:`80%`,whiteSpace:`pre`}},"&light .cm-searchMatch":{backgroundColor:`#ffff0054`},"&dark .cm-searchMatch":{backgroundColor:`#00ffff8a`},"&light .cm-searchMatch-selected":{backgroundColor:`#ff6a0054`},"&dark .cm-searchMatch-selected":{backgroundColor:`#ff00ff8a`}}),Wt=[q,_.low(Tt),Ut],Gt=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},X=class e{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(t,n,r){let i=r.facet($).markerFilter;i&&(t=i(t,r));let a=t.slice().sort((e,t)=>e.from-t.from||e.to-t.to),o=new w,s=[],c=0,l=r.doc.iter(),u=0,d=r.doc.length;for(let e=0;;){let t=e==a.length?null:a[e];if(!t&&!s.length)break;let n,r;if(s.length)n=c,r=s.reduce((e,t)=>Math.min(e,t.to),t&&t.from>n?t.from:1e8);else{if(n=t.from,n>d)break;r=t.to,s.push(t),e++}for(;e<a.length;){let t=a[e];if(t.from==n&&(t.to>t.from||t.to==n))s.push(t),e++,r=Math.min(t.to,r);else{r=Math.min(t.from,r);break}}r=Math.min(r,d);let i=!1;if(s.some(e=>e.from==n&&(e.to==r||r==d))&&(i=n==r,!i&&r-n<10)){let e=n-(u+l.value.length);e>0&&(l.next(e),u=n);for(let e=n;;){if(e>=r){i=!0;break}if(!l.lineBreak&&u+l.value.length>e)break;e=u+l.value.length,u+=l.value.length,l.next()}}let f=mn(s);if(i)o.add(n,n,C.widget({widget:new sn(f),diagnostics:s.slice()}));else{let e=s.reduce((e,t)=>t.markClass?e+` `+t.markClass:e,``);o.add(n,r,C.mark({class:`cm-lintRange cm-lintRange-`+f+e,diagnostics:s.slice(),inclusiveEnd:s.some(e=>e.to>r)}))}if(c=r,c==d)break;for(let e=0;e<s.length;e++)s[e].to<=c&&s.splice(e--,1)}let f=o.finish();return new e(f,n,Z(f))}};function Z(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new Gt(e,n,t||i.diagnostics[0]);else if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;else r=new Gt(r.from,n,r.diagnostic)}),r}function Kt(e,t){let n=t.pos,r=t.end||n,i=e.state.facet($).hideOn(e,n,r);if(i!=null)return i;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(Jt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function qt(e,t){return e.field(Q,!1)?t:t.concat(D.appendConfig.of(hn))}var Jt=D.define(),Yt=D.define(),Xt=D.define(),Q=x.define({create(){return new X(C.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=Z(n,e.selected.diagnostic,i)||Z(n,null,i)}!n.size&&i&&t.state.facet($).autoPanel&&(i=null),e=new X(n,i,r)}for(let n of t.effects)if(n.is(Jt)){let r=t.state.facet($).autoPanel?n.value.length?ln.open:null:e.panel;e=X.init(n.value,r,t.state)}else n.is(Yt)?e=new X(e.diagnostics,n.value?ln.open:null,e.selected):n.is(Xt)&&(e=new X(e.diagnostics,e.panel,n.value));return e},provide:e=>[M.from(e,e=>e.panel),j.decorations.from(e,e=>e.diagnostics)]}),Zt=C.mark({class:`cm-lintRange cm-lintRange-active`});function Qt(e,t,n){let{diagnostics:r}=e.state.field(Q),i,a=-1,o=-1;r.between(t-+(n<0),t+ +(n>0),(e,r,{spec:s})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=s.diagnostics,a=e,o=r,!1});let s=e.state.facet($).tooltipFilter;return i&&s&&(i=s(i,e.state)),i?{pos:a,end:o,above:e.state.doc.lineAt(a).to<o,create(){return{dom:$t(e,i)}}}:null}function $t(e,t){return B(`ul`,{class:`cm-tooltip-lint`},t.map(t=>on(e,t,!1)))}var en=e=>{let t=e.state.field(Q,!1);(!t||!t.panel)&&e.dispatch({effects:qt(e.state,[Yt.of(!0)])});let n=_e(e,ln.open);return n&&n.dom.querySelector(`.cm-panel-lint ul`).focus(),!0},tn=e=>{let t=e.state.field(Q,!1);return!t||!t.panel?!1:(e.dispatch({effects:Yt.of(!1)}),!0)},nn=[{key:`Mod-Shift-m`,run:en,preventDefault:!0},{key:`F8`,run:e=>{let t=e.state.field(Q,!1);if(!t)return!1;let n=e.state.selection.main,r=Z(t.diagnostics,null,n.to+1);return!r&&(r=Z(t.diagnostics,null,0),!r||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],$=E.define({combine(e){return{sources:e.map(e=>e.source).filter(e=>e!=null),...v(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:rn,tooltipFilter:rn,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,r,i)=>e(n,r,i)||t(n,r,i):e:t,autoPanel:(e,t)=>e||t})}}});function rn(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function an(e){let t=[];if(e)actions:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue actions}}t.push(``)}return t}function on(e,t,n){let r=n?an(t.actions):[];return B(`li`,{class:`cm-diagnostic cm-diagnostic-`+t.severity},B(`span`,{class:`cm-diagnosticText`},t.renderMessage?t.renderMessage(e):t.message),t.actions?.map((n,i)=>{let a=!1,o=r=>{if(r.preventDefault(),a)return;a=!0;let i=Z(e.state.field(Q).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:s}=n,c=r[i]?s.indexOf(r[i]):-1,l=c<0?s:[s.slice(0,c),B(`u`,s.slice(c,c+1)),s.slice(c+1)];return B(`button`,{type:`button`,class:`cm-diagnosticAction`+(n.markClass?` `+n.markClass:``),onclick:o,onmousedown:o,"aria-label":` Action: ${s}${c<0?``:` (access key "${r[i]})"`}.`},l)}),t.source&&B(`div`,{class:`cm-diagnosticSource`},t.source))}var sn=class extends g{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return B(`span`,{class:`cm-lintPoint cm-lintPoint-`+this.sev})}},cn=class{constructor(e,t){this.diagnostic=t,this.id=`item_`+Math.floor(Math.random()*4294967295).toString(16),this.dom=on(e,t,!0),this.dom.id=this.id,this.dom.setAttribute(`role`,`option`)}},ln=class e{constructor(e){this.view=e,this.items=[],this.list=B(`ul`,{tabIndex:0,role:`listbox`,"aria-label":this.view.state.phrase(`Diagnostics`),onkeydown:t=>{if(!(t.ctrlKey||t.altKey||t.metaKey)){if(t.keyCode==27)tn(this.view),this.view.focus();else if(t.keyCode==38||t.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(t.keyCode==40||t.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(t.keyCode==36)this.moveSelection(0);else if(t.keyCode==35)this.moveSelection(this.items.length-1);else if(t.keyCode==13)this.view.focus();else if(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],r=an(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=Z(this.view.state.field(Q).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}else return;t.preventDefault()}},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=B(`div`,{class:`cm-panel-lint`},this.list,B(`button`,{type:`button`,name:`close`,"aria-label":this.view.state.phrase(`close`),onclick:()=>tn(this.view)},`×`)),this.update()}get selectedIndex(){let e=this.view.state.field(Q).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Q),n=0,r=!1,i=null,a=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:s})=>{for(let e of s.diagnostics){if(a.has(e))continue;a.add(e);let o=-1,s;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(s=new cn(this.view,e),this.items.splice(n,0,s),r=!0):(s=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute(`aria-selected`)||(s.dom.setAttribute(`aria-selected`,`true`),i=s):s.dom.hasAttribute(`aria-selected`)&&s.dom.removeAttribute(`aria-selected`),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new cn(this.view,{from:-1,to:-1,severity:`info`,message:this.view.state.phrase(`No diagnostics`)})),r=!0),i?(this.list.setAttribute(`aria-activedescendant`,i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute(`aria-activedescendant`),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=Z(this.view.state.field(Q).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Xt.of(t)})}static open(t){return new e(t)}};function un(e,t=`viewBox="0 0 40 40"`){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function dn(e){return un(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,`width="6" height="3"`)}var fn=j.baseTheme({".cm-diagnostic":{padding:`3px 6px 3px 8px`,marginLeft:`-1px`,display:`block`,whiteSpace:`pre-wrap`},".cm-diagnostic-error":{borderLeft:`5px solid #d11`},".cm-diagnostic-warning":{borderLeft:`5px solid orange`},".cm-diagnostic-info":{borderLeft:`5px solid #999`},".cm-diagnostic-hint":{borderLeft:`5px solid #66d`},".cm-diagnosticAction":{font:`inherit`,border:`none`,padding:`2px 4px`,backgroundColor:`#444`,color:`white`,borderRadius:`3px`,marginLeft:`8px`,cursor:`pointer`},".cm-diagnosticSource":{fontSize:`70%`,opacity:.7},".cm-lintRange":{backgroundPosition:`left bottom`,backgroundRepeat:`repeat-x`,paddingBottom:`0.7px`},".cm-lintRange-error":{backgroundImage:dn(`#d11`)},".cm-lintRange-warning":{backgroundImage:dn(`orange`)},".cm-lintRange-info":{backgroundImage:dn(`#999`)},".cm-lintRange-hint":{backgroundImage:dn(`#66d`)},".cm-lintRange-active":{backgroundColor:`#ffdd9980`},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:`relative`,"&:after":{content:`""`,position:`absolute`,bottom:0,left:`-2px`,borderLeft:`3px solid transparent`,borderRight:`3px solid transparent`,borderBottom:`4px solid #d11`}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:`orange`}},".cm-lintPoint-info":{"&:after":{borderBottomColor:`#999`}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:`#66d`}},".cm-panel.cm-panel-lint":{position:`relative`,"& ul":{maxHeight:`100px`,overflowY:`auto`,"& [aria-selected]":{backgroundColor:`#ddd`,"& u":{textDecoration:`underline`}},"&:focus [aria-selected]":{background_fallback:`#bdf`,backgroundColor:`Highlight`,color_fallback:`white`,color:`HighlightText`},"& u":{textDecoration:`none`},padding:0,margin:0},"& [name=close]":{position:`absolute`,top:`0`,right:`2px`,background:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:`#86714a80`},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:`#2e343e`}}});function pn(e){return e==`error`?4:e==`warning`?3:e==`info`?2:1}function mn(e){let t=`hint`,n=1;for(let r of e){let e=pn(r.severity);e>n&&(n=e,t=r.severity)}return t}var hn=[Q,j.decorations.compute([Q],e=>{let{selected:t,panel:n}=e.field(Q);return!t||!n||t.from==t.to?C.none:C.set([Zt.range(t.from,t.to)])}),pe(Qt,{hideOn:Kt}),fn],gn=[P(),ve(),N(),o(),de(),ye(),he(),y.allowMultipleSelections.of(!0),ue(),T(I,{fallback:!0}),fe(),Ee(),we(),me(),F(),ge(),tt(),be.of([...Ce,...s,...Rt,...c,...xe,...Te,...nn])];N(),o(),ye(),T(I,{fallback:!0}),be.of([...s,...c]);export{je as a,Me as i,ze as n,Ae as o,Be as r,gn as t};
|
package/dist/public/index.html
CHANGED
|
@@ -48,37 +48,37 @@
|
|
|
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-
|
|
51
|
+
<script type="module" crossorigin src="./assets/index-ItRM_S62.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-B5t0fahT.js">
|
|
55
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
56
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
57
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
58
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
59
|
-
<link rel="modulepreload" crossorigin href="./assets/dist-
|
|
60
|
-
<link rel="modulepreload" crossorigin href="./assets/stex-
|
|
55
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-sw9fzKjM.js">
|
|
56
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-Cwt7KtW7.js">
|
|
57
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-y5PvfJVO.js">
|
|
58
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-DkR43q3h.js">
|
|
59
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-CadHdAvi.js">
|
|
60
|
+
<link rel="modulepreload" crossorigin href="./assets/stex-DxnLy7rA.js">
|
|
61
|
+
<link rel="modulepreload" crossorigin href="./assets/compiler-runtime-Cs91PcD2.js">
|
|
61
62
|
<link rel="modulepreload" crossorigin href="./assets/trace-api-CiCjX4Sz.js">
|
|
62
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
63
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
64
|
-
<link rel="modulepreload" crossorigin href="./assets/doc-hash-BUfOgpiD.js">
|
|
65
|
-
<link rel="modulepreload" crossorigin href="./assets/dialog-B6QxSuMP.js">
|
|
63
|
+
<link rel="modulepreload" crossorigin href="./assets/button-DenIdY-r.js">
|
|
64
|
+
<link rel="modulepreload" crossorigin href="./assets/prop-types-C7ZcPhvT.js">
|
|
66
65
|
<link rel="modulepreload" crossorigin href="./assets/propagation-api-3kmMXRwS.js">
|
|
67
|
-
<link rel="modulepreload" crossorigin href="./assets/collapsible-
|
|
68
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
69
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
70
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
71
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
72
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
73
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
74
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
75
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
76
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
77
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
78
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
79
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
66
|
+
<link rel="modulepreload" crossorigin href="./assets/collapsible-BhpeB6tu.js">
|
|
67
|
+
<link rel="modulepreload" crossorigin href="./assets/dialog-C1dBa8-m.js">
|
|
68
|
+
<link rel="modulepreload" crossorigin href="./assets/DocumentContext-BVFYhVUK.js">
|
|
69
|
+
<link rel="modulepreload" crossorigin href="./assets/panel-BNBODYwB.js">
|
|
70
|
+
<link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-CC-taYRN.js">
|
|
71
|
+
<link rel="modulepreload" crossorigin href="./assets/checkbox-BSqPN8L7.js">
|
|
72
|
+
<link rel="modulepreload" crossorigin href="./assets/label-DCMZaJ38.js">
|
|
73
|
+
<link rel="modulepreload" crossorigin href="./assets/toggle-group-vVm0xmLD.js">
|
|
74
|
+
<link rel="modulepreload" crossorigin href="./assets/textarea-C_bHQrXh.js">
|
|
75
|
+
<link rel="modulepreload" crossorigin href="./assets/config-validation-events-BQa42yM4.js">
|
|
76
|
+
<link rel="modulepreload" crossorigin href="./assets/agent-presence-DxGcS3q2.js">
|
|
77
|
+
<link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-B_XxwO2E.js">
|
|
78
|
+
<link rel="modulepreload" crossorigin href="./assets/project-paths-eyh51nmQ.js">
|
|
79
|
+
<link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-19Boxoxe.js">
|
|
80
80
|
<link rel="stylesheet" crossorigin href="./assets/DocumentContext-B0sQn39F.css">
|
|
81
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
81
|
+
<link rel="stylesheet" crossorigin href="./assets/index-7FUClmdK.css">
|
|
82
82
|
</head>
|
|
83
83
|
|
|
84
84
|
<body class="antialiased">
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e,u as t}from"./init-
|
|
2
|
-
//# sourceMappingURL=repair-launch-json-
|
|
1
|
+
import{n as e,u as t}from"./init-DbKyc-NP.mjs";import{t as n}from"./is-object-C-4FJ0rP.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`]];function s(t){if(t.runtimeExecutable!==`npx`||!Array.isArray(t.runtimeArgs))return`preserved`;if(c(t.runtimeArgs,e))return`canonical`;for(let e of o)if(c(t.runtimeArgs,e))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(e){let o=e.logger??u,c=r(e.projectDir,`.claude`,`launch.json`);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=t(e.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-C0A-MS1q.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e,d as t,g as n,m as r,s as i}from"./init-
|
|
2
|
-
//# sourceMappingURL=repair-mcp-configs-
|
|
1
|
+
import{_ as e,d as t,g as n,m as r,s as i}from"./init-DbKyc-NP.mjs";import{homedir as a}from"node:os";const o=[[`@inkeep/open-knowledge`,`mcp`],[`-y`,`@inkeep/open-knowledge`,`mcp`]];function s(t){if(t.command!==`npx`||!Array.isArray(t.args))return`preserved`;if(c(t.args,e))return`canonical`;for(let e of o)if(c(t.args,e))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(e){let t=e.logger??f,i=e.home??a(),o=[];for(let a of r){let r=n[a],s=u(()=>r.configPath(``,i));if(s!==null&&o.push(d({scope:`user`,editorId:a,target:r,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),r.projectConfigPath){let n=r.projectConfigPath,i=u(()=>n(e.projectDir));i!==null&&o.push(d({scope:`project`,editorId:a,target:r,home:void 0,cwd:e.projectDir,configPath:i,configPathOverride:i,logger:t}))}}return{outcomes:o,repairedCount:o.filter(e=>e.outcome===`repaired`).length}}function u(e){try{return e()}catch{return null}}function d(e){let n={scope:e.scope,editorId:e.editorId,configPath:e.configPath},r=i(e.target,e.cwd,e.home,e.configPathOverride);if(r===null)return{...n,outcome:`no-entry`};let a=s(r);if(a===`canonical`)return{...n,outcome:`canonical`};if(a===`preserved`)return{...n,outcome:`preserved`};let o=t(e.target,e.cwd,{mode:`published`,skipAvailabilityCheck:!0},e.home,e.configPathOverride);if(o.action===`failed`){let t=o.error??`unknown write failure`;return e.logger({event:`mcp-config-repair-write-failed`,scope:e.scope,editorId:e.editorId,configPath:e.configPath,error:t}),{...n,outcome:`write-failed`,error:t}}return e.logger({event:`mcp-config-repair-applied`,scope:e.scope,editorId:e.editorId,configPath:e.configPath}),{...n,outcome:`repaired`}}function f(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairMcpConfigs};
|
|
2
|
+
//# sourceMappingURL=repair-mcp-configs-C-anXKkD.mjs.map
|
|
@@ -18,6 +18,26 @@
|
|
|
18
18
|
},
|
|
19
19
|
"additionalProperties": {}
|
|
20
20
|
},
|
|
21
|
+
"preview": {
|
|
22
|
+
"default": {
|
|
23
|
+
"scriptSrc": "cdn-allowlist"
|
|
24
|
+
},
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"scriptSrc": {
|
|
28
|
+
"default": "cdn-allowlist",
|
|
29
|
+
"type": "string",
|
|
30
|
+
"enum": [
|
|
31
|
+
"cdn-allowlist",
|
|
32
|
+
"inline-only"
|
|
33
|
+
],
|
|
34
|
+
"scope": "project",
|
|
35
|
+
"agentSettable": false,
|
|
36
|
+
"defaultScope": "project"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"additionalProperties": {}
|
|
40
|
+
},
|
|
21
41
|
"autoSync": {
|
|
22
42
|
"default": {
|
|
23
43
|
"enabled": null
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-twds-ZHy-Dxr-RWJs.mjs";import{dirname as t,resolve as n}from"node:path";import{closeSync as r,existsSync as i,mkdirSync as a,openSync as o,readFileSync as s,unlinkSync as c,writeFileSync as l,writeSync as u}from"node:fs";import{hostname as d}from"node:os";import{fileURLToPath as f}from"node:url";function p(e){try{return process.kill(e,0),!0}catch(e){return!!(e&&typeof e==`object`&&`code`in e&&e.code===`EPERM`)}}function m(e){return!(typeof e!=`number`||!Number.isInteger(e)||e<2||e>2147483647)}function h(){try{let e=n(t(f(import.meta.url)),`..`,`package.json`),r=JSON.parse(s(e,`utf-8`));if(typeof r.version==`string`&&r.version.length>0)return r.version}catch{}return`0.0.0-unknown`}const g=h(),_=1;var v=class extends Error{existing;lockPath;lockName;constructor(e,t,n){super(`Open Knowledge ${n} already running on port ${e.port} (pid ${e.pid}, started ${e.startedAt}). Stop it first or use a different directory. Lock: ${t}`),this.name=`ProcessLockCollisionError`,this.existing=e,this.lockPath=t,this.lockName=n}};function y(e,t){return n(e,`${t}.lock`)}const b=new Map;function x(e){b.set(e,(b.get(e)??0)+1)}function S(e){let t=b.get(e);return t===void 0||t<=1?(b.delete(e),!0):(b.set(e,t-1),!1)}function C(e,t){try{let n=JSON.parse(s(e,`utf-8`));return n&&typeof n==`object`&&m(n.pid)?n:(console.warn(`${t} Corrupt lock file at ${e} — replacing`),null)}catch{return console.warn(`${t} Corrupt lock file at ${e} — replacing`),null}}function w(e){let{lockName:t,lockDir:n,metadata:s}=e,f=`[${t}-lock]`;a(n,{recursive:!0});let m=y(n,t),h={pid:process.pid,hostname:d(),port:s.port,startedAt:new Date().toISOString(),worktreeRoot:s.worktreeRoot,...s.kind!==void 0&&{kind:s.kind},...s.parentPid!==void 0&&{parentPid:s.parentPid},...s.capabilities!==void 0&&{capabilities:s.capabilities},protocolVersion:s.protocolVersion??1,runtimeVersion:s.runtimeVersion??g},_=JSON.stringify(h,null,2);for(let e=0;e<3;e++){if(!i(m))try{let e=o(m,`wx`,384);try{u(e,_)}finally{r(e)}return x(m),T({lockName:t,lockDir:n,lockPath:m})}catch(e){if(e.code!==`EEXIST`)throw e}let e=C(m,f);if(e){let r=e.hostname===d();if(r&&e.pid===process.pid)return l(m,_,{encoding:`utf-8`,mode:384}),x(m),T({lockName:t,lockDir:n,lockPath:m});if(r&&p(e.pid))throw new v(e,m,t);console.warn(`${f} Stale lock detected (pid=${e.pid}, host=${e.hostname}) — replacing`)}try{c(m)}catch{}}throw Error(`${f} Failed to acquire ${m} after 3 attempts (concurrent acquire contention).`)}function T(e){let{lockName:t,lockDir:n,lockPath:r}=e;return{lockPath:r,release:()=>k({lockName:t,lockDir:n}),updatePort:e=>E({lockName:t,lockDir:n,port:e})}}function E(e){let{lockName:t,lockDir:n,port:r}=e,a=`[${t}-lock]`,o=y(n,t);if(!i(o)){console.warn(`${a} Lock file missing at ${o} during port update — skipping`);return}let c;try{let e=JSON.parse(s(o,`utf-8`));if(!e||typeof e!=`object`||!m(e.pid)){console.warn(`${a} Corrupt lock at ${o} during port update — skipping`);return}c=e}catch{console.warn(`${a} Unreadable lock at ${o} during port update — skipping`);return}if(c.pid===process.pid&&!(typeof c.hostname==`string`&&c.hostname!==d())){c.port=r;try{l(o,JSON.stringify(c,null,2),{encoding:`utf-8`,mode:384})}catch(e){console.warn(`${a} Failed to update port in ${o}: ${e instanceof Error?e.message:String(e)}`)}}}function D(e){let{lockName:t,lockDir:n}=e,r=y(n,t);if(!i(r))return null;let a;try{let e=JSON.parse(s(r,`utf-8`));if(!e||typeof e!=`object`||!m(e.pid))return null;a=e}catch{return null}if(a.hostname!==d())return null;if(!p(a.pid)){try{c(r)}catch{}return null}return a}function O(e){let{lockName:t,lockDir:n}=e,r=y(n,t);if(!i(r))return{status:`absent`};let a;try{a=JSON.parse(s(r,`utf-8`))}catch{return{status:`incompatible`,reason:`corrupt`,raw:void 0}}if(!a||typeof a!=`object`)return{status:`incompatible`,reason:`corrupt`,raw:a};let o=a;if(!m(o.pid)||typeof o.hostname!=`string`||typeof o.port!=`number`||typeof o.startedAt!=`string`||typeof o.worktreeRoot!=`string`)return{status:`incompatible`,reason:`corrupt`,raw:a};let l={pid:o.pid,hostname:o.hostname,port:o.port,startedAt:o.startedAt,worktreeRoot:o.worktreeRoot,protocolVersion:typeof o.protocolVersion==`number`?o.protocolVersion:void 0,runtimeVersion:typeof o.runtimeVersion==`string`?o.runtimeVersion:void 0};if(l.hostname!==d())return{status:`stale`,lock:l};if(!p(l.pid)){try{c(r)}catch{}return{status:`stale`,lock:l}}return l.protocolVersion===void 0||l.runtimeVersion===void 0?{status:`incompatible`,reason:`missing-fields`,raw:a}:{status:`live`,lock:l}}function k(e){let{lockName:t,lockDir:n}=e,r=`[${t}-lock]`,a=y(n,t);if(S(a)&&i(a))try{let e=JSON.parse(s(a,`utf-8`));if(!e||typeof e!=`object`||typeof e.pid!=`number`||e.pid!==process.pid||typeof e.hostname==`string`&&e.hostname!==d())return;c(a)}catch(e){console.warn(`${r} Failed to release ${a}: ${e instanceof Error?e.message:String(e)}`)}}var A=e({ServerLockCollisionError:()=>j,acquireServerLock:()=>M,readServerLock:()=>P,releaseServerLock:()=>F,updateServerLockPort:()=>N}),j=class extends v{constructor(e,t){super(e,t,`server`),this.name=`ServerLockCollisionError`}};function M(e,t){try{return w({lockName:`server`,lockDir:e,metadata:t}).lockPath}catch(e){throw e instanceof v&&e.lockName===`server`?new j(e.existing,e.lockPath):e}}function N(e,t){E({lockName:`server`,lockDir:e,port:t})}function P(e){return D({lockName:`server`,lockDir:e})}function F(e){k({lockName:`server`,lockDir:e})}export{N as _,w as a,m as c,O as d,P as f,E as g,A as h,j as i,y as l,F as m,g as n,M as o,k as p,_ as r,p as s,v as t,D as u};
|
|
2
|
-
//# sourceMappingURL=server-lock-
|
|
2
|
+
//# sourceMappingURL=server-lock-BniQ3qki-CadPGoZN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e}from"./server-lock-BniQ3qki-CadPGoZN.mjs";export{e as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as e,g as t,u as n,v as r}from"./init-
|
|
2
|
-
//# sourceMappingURL=src-
|
|
1
|
+
import{d as e,g as t,u as n,v as r}from"./init-DbKyc-NP.mjs";import"./loader-DPtC9EX7.mjs";import"./preview-DKceAysF.mjs";import{dirname as i,isAbsolute as a,join as o,relative as s,resolve as c}from"node:path";import{statSync as l}from"node:fs";import{readFile as u,realpath as d}from"node:fs/promises";function f(e){return e.replace(/:\d+$/,``)}function p(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:f(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:f(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:f(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function m(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}async function h(e,t){let n,r;try{n=await d(c(e)),r=await d(c(i(e)))}catch{return{kind:`not-git`}}if(!g(n,r))return{kind:`symlink-escape`};let s=o(n,`.git`),f;try{f=l(s)}catch{return{kind:`not-git`}}let m;if(f.isDirectory()){let e;try{e=await d(s)}catch{return{kind:`not-git`}}if(!g(e,n))return{kind:`symlink-escape`};m=e}else if(f.isFile()){let e;try{e=await u(s,`utf-8`)}catch{return{kind:`not-git`}}let t=/^gitdir:\s*(.+)$/m.exec(e.trim());if(!t)return{kind:`not-git`};let r=t[1].trim(),i=a(r)?r:c(n,r);try{m=await d(i)}catch{return{kind:`not-git`}}}else return{kind:`not-git`};let h=o(m,`config`),_;try{_=await u(h,`utf-8`)}catch{return{kind:`not-git`}}let y=v(_);if(y===null)return{kind:`no-origin`};let b=p(y);if(b===null||b.hostname!==`github.com`)return{kind:`non-github`};let x=b.owner.toLowerCase()===t.owner.toLowerCase(),S=b.name.toLowerCase()===t.repo.toLowerCase();return!x||!S?{kind:`wrong-repo`,actualOwner:b.owner,actualRepo:b.name}:{kind:`ok`,gitRemoteUrl:`https://github.com/${b.owner}/${b.name}.git`}}function g(e,t){if(e===t)return!0;let n=s(t,e);return n.length>0&&!n.startsWith(`..`)&&!a(n)}function _(e){let t=e.indexOf(`#`),n=e.indexOf(`;`),r=-1;return t>=0&&n>=0?r=Math.min(t,n):t>=0?r=t:n>=0&&(r=n),(r===-1?e:e.slice(0,r)).trim()}function v(e){let t=!1;for(let n of e.split(/\r?\n/)){let e=_(n);if(e.length===0)continue;if(e.startsWith(`[`)){t=/^\[\s*remote\s+["']origin["']\s*\]$/.test(e);continue}if(!t)continue;let r=/^url\s*=\s*(.+)$/.exec(e);if(r)return y(r[1])}return null}function y(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}const b=[{id:`mcp-config`,write(t,n,r){let i=t.projectConfigPath?.(n);if(!i)return{integration:`mcp-config`,editorId:t.id,action:`skipped-unsupported`};try{let a=e(t,n,r,void 0,i);return a.action===`written`||a.action===`overwritten`?{integration:`mcp-config`,editorId:t.id,action:a.action,path:a.configPath}:a.action===`failed`?{integration:`mcp-config`,editorId:t.id,action:`failed`,path:a.configPath,error:a.error??`unknown failure`}:{integration:`mcp-config`,editorId:t.id,action:`failed`,path:a.configPath,error:`unexpected project-scope action: ${a.action}`}}catch(e){return{integration:`mcp-config`,editorId:t.id,action:`failed`,path:i,error:e instanceof Error?e.message:String(e)}}}},{id:`project-skill`,write(e,t,n){try{let n=r(e,t);return{integration:`project-skill`,editorId:e.id,action:n.action,...n.path?{path:n.path}:{},...n.error?{error:n.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function x(e,n,r={},i=b){let a=[];for(let o of n){let n=t[o];for(let t of i)a.push(t.write(n,e,r))}return a}function S(e,t,r={}){return{integrations:x(e,t,r),claudeLaunchJson:t.includes(`claude`)?n(e,r):void 0}}export{p as i,h as n,m as r,S as t};
|
|
2
|
+
//# sourceMappingURL=src-D4AydmJF.mjs.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e,t}from"./esm-CEs3LWY3.mjs";import{fn as n}from"./dist-
|
|
1
|
+
import{n as e,t}from"./esm-CEs3LWY3.mjs";import{fn as n}from"./dist-C3d5vMka.mjs";import{n as r}from"./constants-BqW_5Zct.mjs";import{spawn as i}from"node:child_process";import{join as a}from"node:path";import{closeSync as o,existsSync as s,mkdirSync as c,openSync as l,statSync as u}from"node:fs";import{homedir as d}from"node:os";import{setTimeout as f}from"node:timers/promises";const p=`Open Knowledge.app`,m=`/Applications/${p}`;function h(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return u(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function g(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(_(e,m))return m;let t=a(e.homeDir??d(),`Applications`,p);return _(e,t)?t:null}function _(e,t){try{let n=a(t,`Contents`,`MacOS`,`Open Knowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function v(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=g(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:e.isTTY!==!0||e.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function y(e){(e.log??(e=>console.error(e)))("Launching Open Knowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function b(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${m}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect desktop bundle at ${m} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${m} but launch dispatch did not fire (caller bug).`}}function x(){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 -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(process.argv)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function S(e,t){return e.host??t.HOST??`localhost`}var C=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function w(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 T(e){s(e.lockDir)||c(e.lockDir,{recursive:!0});let t=l(a(e.lockDir,`last-spawn-error.log`),`w`),n=e.spawn??i,{PORT:r,...u}=process.env,d=x();try{let r=n(d.command,[...d.prefixArgs,...e.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,t],cwd:e.cwd,env:u});return r.unref(),r}finally{try{o(t)}catch{}}}async function E(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 D(e){let t=e.sigtermGraceMs??1e4,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>f(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 O(e){let{config:t,cwd:r,host:i}=e,a=e.skipAutoInit??!1,o=e.skipUiAutoSpawn??!1,s=e.idleThresholdMs??18e5,{existsSync:c,mkdirSync:l}=await import(`node:fs`),{bootServer:u,getLogger:d,isProcessAlive:p,readUiLock:m,resolveContentDir:h}=await import(`./dist-DHCla-dZ.mjs`),g=e.log??d(`start`);if(!a&&!n(r))throw new C(r);try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-C-anXKkD.mjs`)).repairMcpConfigs)({projectDir:r})}catch(e){g.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-C0A-MS1q.mjs`)).repairLaunchJson)({projectDir:r})}catch(e){g.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}let _=h(t,r);c(_)||(l(_,{recursive:!0}),g.info({contentDir:_},`Created content directory`));let v=null,y=await u({config:t,contentDir:_,projectDir:r,contentRoot:t.content.dir,port:e.port,host:i,quiet:!1,localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:!0,idleShutdownMs:s,skipAutoInit:!0,spawnUiSiblingFn:async({lockDir:t})=>{if(v=w({uiLock:m(t),isAlive:p}),v.action===`spawn`&&!o)try{T({lockDir:t,cwd:r,spawn:e.spawn}),g.info({reason:v.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 v.action===`skip`&&g.info({port:v.port,pid:v.pid},`UI already running at port ${v.port}`)},idleShutdownHandler:e=>D({readUiLock:()=>m(y.lockDir),isAlive:p,killPid:(e,t)=>{process.kill(e,t)},destroy:e,log:g}),log:g});v||={action:`skip`,reason:`alive`,pid:0,port:0};let b=v,x=null;if(b.action===`skip`)x=b.port>0?b.port:null;else if(!o){let t=e.uiBindTimeoutMs??3e3;x=await E({readUiLock:()=>m(y.lockDir),now:Date.now,sleep:e=>f(e),timeoutMs:t,pollIntervalMs:50}),x===null&&g.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:y.httpServer,destroy:y.destroy,lockDir:y.lockDir,contentDir:_,port:y.port,ready:y.ready,degraded:y.degraded,uiSpawnDecision:v,resolvedUiPort:x}}function k(t){if(t===`browser`||t===`app`)return t;throw new e(`--mode must be 'browser' or 'app'`)}async function A(e,t){let{renderBanner:n}=await import(`./banner-COfNQySC.mjs`),{dim:i,error:a,warning:o}=await import(`./colors-BCE2jNgl.mjs`),s=process.cwd(),c=e,l=S(t,process.env),u=t.port===void 0?void 0:Number(t.port),d=process.env.PORT?Number(process.env.PORT):void 0,f=u??d,p;try{p=await O({config:c,cwd:s,host:l,port:f})}catch(e){e instanceof C&&(console.error(a(e.message)),process.exit(1));let t=j(e,s,await import(`./dist-DHCla-dZ.mjs`));t!==null&&(console.error(a(t)),process.exit(1)),console.error(`${a(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let m=!1,h=async e=>{if(!m){m=!0,console.log(i(`\nShutting down (${e})`));try{await p.destroy()}catch(e){console.error(`${a(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)}};process.once(`SIGINT`,()=>{h(`SIGINT`)}),process.once(`SIGTERM`,()=>{h(`SIGTERM`)});let g=`http://${l}:${p.port}`,_=l===`0.0.0.0`||l===`::`?`http://0.0.0.0:${p.port}`:void 0,v=p.resolvedUiPort,y=v!==null&&v>0?`http://${l}:${v}`:g;console.log(n({name:`open-knowledge`,version:r,localUrl:y,apiUrl:y===g?void 0:g,networkUrl:_}));let b={"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`};p.ready.then(async()=>{if(p.degraded.length>0){console.log();for(let e of p.degraded){let t=b[e]??`${e} (check server logs for details)`;console.warn(` ${o(`⚠`)} ${o(e)}: ${i(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-Be-7qaQ9.mjs`);e(y)}}).catch(e=>{console.error(` ${a(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function j(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=a(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`Open Knowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"Open Knowledge server is already running on this project — check `ok status` or `ok stop`.":"Open Knowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function M(e){return new t(`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(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,k).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
|
|
2
2
|
`),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=v(h());if(n.available){y({spawn:i});return}console.error(b(n.reason)),process.exit(1)}await A(n,t)})}export{w as a,T as c,x as d,h as f,D as i,M as l,y as m,E as n,S as o,v as p,O as r,A as s,C as t,j as u};
|
|
3
|
-
//# sourceMappingURL=start-
|
|
3
|
+
//# sourceMappingURL=start-BW-lqkFX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e}from"./start-BW-lqkFX.mjs";export{e as startCommand};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/open-knowledge",
|
|
3
|
-
"version": "0.6.0
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@inquirer/checkbox": "^5.0.11",
|
|
46
46
|
"@inquirer/password": "^5.0.11",
|
|
47
47
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
48
|
-
"@napi-rs/keyring": "^1.
|
|
48
|
+
"@napi-rs/keyring": "^1.3.0",
|
|
49
49
|
"@octokit/auth-oauth-device": "^8.0.3",
|
|
50
50
|
"@octokit/request": "^10.0.8",
|
|
51
51
|
"@octokit/rest": "^22.0.1",
|
package/dist/dist-7_PKsuCz.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,$n as t,$t as n,A as r,An as i,Ar as a,At as o,B as s,Bn as c,Br as l,Bt as u,C as d,Cn as f,Cr as p,Ct as m,D as h,Dn as g,Dr as _,Dt as v,E as y,En as b,Er as x,Et as S,F as C,Fn as w,Fr as T,Ft as E,G as D,Gn as O,Gt as k,H as A,Hn as j,Ht as M,I as N,In as P,Ir as F,It as I,J as L,Jn as R,Jt as z,K as B,Kn as V,Kt as H,L as U,Ln as W,Lr as G,Lt as K,M as q,Mn as J,Mr as Y,Mt as X,N as Z,Nn as Q,Nr as $,Nt as ee,O as te,On as ne,Or as re,Ot as ie,P as ae,Pn as oe,Pr as se,Pt as ce,Q as le,Qn as ue,Qt as de,R as fe,Rn as pe,Rr as me,Rt as he,S as ge,Sn as _e,Sr as ve,St as ye,T as be,Tn as xe,Tr as Se,Tt as Ce,U as we,Un as Te,Ut as Ee,V as De,Vn as Oe,Vt as ke,W as Ae,Wn as je,Wt as Me,X as Ne,Xn as Pe,Xr as Fe,Xt as Ie,Y as Le,Yn as Re,Yt as ze,Z as Be,Zn as Ve,Zr as He,Zt as Ue,_ as We,_n as Ge,_r as Ke,_t as qe,a as Je,an as Ye,ar as Xe,at as Ze,b as Qe,bn as $e,br as et,bt as tt,c as nt,ci as rt,cn as it,cr as at,ct as ot,d as st,dn as ct,dr as lt,dt as ut,ei as dt,en as ft,er as pt,et as mt,f as ht,fn as gt,fr as _t,ft as vt,g as yt,gn as bt,gr as xt,gt as St,h as Ct,hn as wt,hr as Tt,ht as Et,i as Dt,in as Ot,ir as kt,it as At,j as jt,jn as Mt,jr as Nt,jt as Pt,k as Ft,kn as It,kr as Lt,kt as Rt,l as zt,li as Bt,ln as Vt,lr as Ht,lt as Ut,m as Wt,mi as Gt,mn as Kt,mr as qt,mt as Jt,n as Yt,nn as Xt,nr as Zt,nt as Qt,o as $t,oi as en,on as tn,or as nn,ot as rn,p as an,pi as on,pn as sn,pr as cn,pt as ln,q as un,qn as dn,qt as fn,r as pn,rn as mn,rr as hn,rt as gn,s as _n,sn as vn,sr as yn,st as bn,t as xn,tn as Sn,tr as Cn,tt as wn,u as Tn,ui as En,un as Dn,ur as On,ut as kn,v as An,vn as jn,vr as Mn,vt as Nn,w as Pn,wn as Fn,wr as In,wt as Ln,x as Rn,xn as zn,xr as Bn,xt as Vn,y as Hn,yn as Un,yr as Wn,yt as Gn,z as Kn,zn as qn,zr as Jn,zt as Yn}from"./dist-soQLoIV1.mjs";import{_ as Xn,a as Zn,c as Qn,d as $n,f as er,g as tr,i as nr,l as rr,m as ir,n as ar,o as or,p as sr,r as cr,s as lr,t as ur,u as dr}from"./server-lock-D7DXNVql-BRVVzA6T.mjs";export{xn as AGENT_ID_MAX_LEN,Yt as AGENT_ID_RE,pn as AGENT_WRITE_ORIGIN,Dt as AgentFocusBroadcaster,Je as AgentPresenceBroadcaster,$t as AgentSessionCapacityError,_n as AgentSessionManager,nt as BacklinkIndex,zt as CC1Broadcaster,dt as CC1_CONTRACT_VERSION,Tn as CONFLICT_MARKER_RE,st as CURSOR_BUNDLE_PATHS_BY_PLATFORM,ht as ConfigSchema,an as DEFAULT_CHECKPOINT_RETENTION,Wt as DEFAULT_PACK_ID,Ct as FILE_SYSTEM_WRITER,yt as FILE_WATCHER_ORIGIN,We as GIT_UPSTREAM_WRITER,Fe as GitDirAccessError,An as HOCUSPOCUS_AUTH_REJECTION_REASONS,Hn as HocuspocusAuthRejection,Qe as HocuspocusAuthTokenSchema,Rn as INSTALLED_AGENTS_SCHEMES,ge as LIVE_DERIVED_INDEX_DEBOUNCE_MS,d as LOG_MD_TEMPLATE,Pn as MANAGED_RENAME_ORIGIN,be as MAX_AGENT_SESSIONS,y as MCP_CONNECTION_ID_HEADER,h as MCP_SERVER_NAME,te as MISSING_OK_CONFIG_MESSAGE,He as MalformedGitPointerError,Ft as McpLogger,r as MissingOkConfigError,jt as OBSERVER_SYNC_ORIGIN,en as ORPHAN_MODES,q as PinoLogger,ur as ProcessLockCollisionError,Z as ProjectGitInitError,ae as ROLLBACK_ORIGIN,ar as RUNTIME_VERSION,C as SERVICE_WRITER,N as SKILL_INSTALL_EVENTS_FILE_REL,rt as SKILL_STATE_TARGETS,U as STARTER_FOLDERS,fe as STARTER_FOLDER_FRONTMATTER_FILENAME,Kn as STARTER_PACKS,s as STARTER_PACK_IDS,De as STARTER_TEMPLATES,A as STATE_MANIFEST_FILENAME,cr as STATE_SCHEMA_VERSION,Bt as SYSTEM_DOC_NAME,we as SeedPrerequisiteError,Ae as SeedRootDirError,nr as ServerLockCollisionError,D as StateManifestError,B as TagIndex,un as UiLockCollisionError,Zn as acquireProcessLock,or as acquireServerLock,L as acquireUiLock,Le as applyAgentMarkdownWrite,Ne as applyExternalChange,Be as applySeed,le as assertCompatibleStateManifest,e as assertNeverDiskEvent,mt as attachIdleShutdown,wn as bootServer,Qt as buildAndOpenSkill,gn as buildExecResult,At as buildInstructions,Ze as buildSkillZip,rn as buildStarterFolderFrontmatterYaml,bn as buildWipTree,ot as classifyEvents,Ut as classifyFsPath,kn as clearContributors,ut as coercePackId,En as colorFromSeed,vt as commitUpstreamImport,ln as commitWip,Jt as commitWipFromTree,Et as containsConflictMarkers,St as contentHash,qe as contributorCount,Nn as createApiExtension,Gn as createAssetServeMiddleware,tt as createContentFilter,Vn as createContentFilterAsync,ye as createExternalChangeHandler,m as createLiveDerivedIndexExtension,Ln as createMcpHttpHandler,Ce as createOsProbe,S as createPersistenceExtension,v as createServer,ie as createServerObserverExtension,Rt as createStreamingErrorWriter,o as createTestLogger,Pt as detectClaudeDesktopPresence,X as detectProjectShape,ee as ensureProjectGit,ce as errorResponse,E as evictStaleTrackerEntries,I as extractWikiLinksFromMarkdown,K as findEnclosingGitRoot,he as findEnclosingProjectRoot,Yn as formatAuthRejectionWire,u as formatContributors,ke as formatContributorsFrom,M as gcCheckpointRefs,Ee as getCurrentMcpLogger,Me as getLocalDir,k as getLogger,H as getMeter,fn as getMetrics,z as getTracer,ze as handleCollabSocketError,Ie as handleSpawnCursor,on as iconFromClientName,Ue as incrementCollabSocketFilteredError,de as incrementServerObserverFire,n as initShadowRepo,ft as initTelemetry,Sn as installPrettyZodErrors,Xt as installTestLoggers,mn as installUserSkill,Ot as isAllowedApiOrigin,Ye as isAllowedWorkspaceHostHeader,tn as isConfigDoc,vn as isHocuspocusAuthRejectionReason,it as isKnownPackId,Vt as isLoopbackAddress,Gt as isOrphanMode,Dn as isPairedWriteOrigin,ct as isPathWithinDir,lr as isProcessAlive,gt as isProjectRoot,sn as isSelfWrite,Kt as isSystemDoc,Qn as isValidLockPid,wt as lastKnownHash,bt as listRescueCheckpoints,Ge as listStarterPacks,jn as loadPrincipal,rr as lockFilePath,Un as loggerFactory,$e as mountMcpAndApi,zn as normalizeFsPath,_e as parseAuthRejectionWire,f as parseHocuspocusAuthToken,Fn as parseKeepaliveConnectionId,xe as pathToDocName,b as planSeed,g as readAllTargets,ne as readBranchFromHead,dr as readProcessLock,$n as readProcessLockDetailed,er as readServerLock,It as readServerPackageVersion,i as readSkillInstallStateSnapshot,Mt as readStateManifest,J as readTargetRecordedAt,Q as readTargetVersion,oe as readUiLock,w as reconcile,P as recordContributor,W as recordSkillInstallEvent,pe as registerAllTools,qn as registerWrite,sr as releaseProcessLock,ir as releaseServerLock,c as releaseUiLock,Oe as removeLastKnownHash,j as resetMetrics,Te as resolveBundledSkillDir,je as resolveContentDir,O as resolveCursorBinaryDefault,V as resolveCursorSpawnInvocation,dn as resolveLockDir,R as resolvePack,Re as resolvePackageVersion,Pe as restoreContributors,Ve as rewriteMarkdownLinksForDocumentRename,ue as rewriteWikiLinksForDocumentRename,t as runAuthReposSubprocess,pt as runAuthStatusSubprocess,Cn as runCloneSubprocess,Zt as runDeviceFlowSubprocess,hn as runWithMcpLogger,kt as safeContentPath,Xe as safeSubdir,nn as safetyCheckpoint,yn as sanitizeClientName,at as saveInMemoryCheckpoint,Ht as saveVersion,On as seedBasenameIndex,lt as setActiveSpanAttributes,_t as shadowGit,cn as shutdownTelemetry,qt as spawnDetached,Tt as splitMarkdownBlocks,xt as startWatcher,Ke as streamingProblemEvent,Mn as swapContributors,Wn as toBroadcasterKey,et as tracedAppendFileSync,Bn as tracedLinkSync,ve as tracedMkdir,p as tracedMkdirSync,In as tracedRename,Se as tracedRenameSync,x as tracedRmSync,_ as tracedRmdirSync,re as tracedUnlinkSync,Lt as tracedWriteFile,a as tracedWriteFileSync,Nt as updateLastKnownHash,tr as updateProcessLockPort,Xn as updateServerLockPort,Y as updateUiLockPort,$ as validateAgentId,se as validateCloneInputs,T as validateSkillZip,F as withSpan,G as withSpanSync,me as writeStateManifest,Jn as writeTargetVersion,l as writeTracker};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./git-handle-DwfYp_z--CfyPz4Dz.mjs";export{e as n};
|
package/dist/init-BtOr-X4H.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./init-al09RZM6.mjs";export{e as runInit};
|
package/dist/loader-BGK5A8F9.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-B64XEbbD.mjs";export{e as loadConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./preview-CYIUoqRn.mjs";export{t as formatPreviewBlock,e as previewContent};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-d4ec9M69.js","./chunk-CFjPhJqf.js","./compiler-runtime-CVnuRdak.js","./ActivityPanelDiffView-legcy4jI.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./preload-helper-2ej06EnG.js";import{n,r,t as i}from"./compiler-runtime-CVnuRdak.js";import{Nn as a,er as o,n as s,nr as c,nt as l,r as u}from"./DocumentContext-CqL0pPxh.js";import{a as d,c as f,i as p,o as m,s as h,t as g,x as _}from"./dialog-B6QxSuMP.js";import{$ as v,A as y,D as b,O as x,Vt as S,_ as C,et as w}from"./doc-hash-BUfOgpiD.js";import{C as T,t as E}from"./button-JrGyO3-P.js";import{f as D,i as O,m as k,r as ee,t as A}from"./agent-presence-DUe_PdKt.js";import{a as te}from"./collapsible-CYwJ8q8x.js";var ne=T(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),j=i(),M=e(n(),1),re=500,ie=64;async function ae(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new l(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=S.safeParse(r);throw e.success?Error(e.data.title):new l(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=v.safeParse(r);if(!i.success)throw new l(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function oe(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new l(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=S.safeParse(a);throw e.success?Error(e.data.title):new l(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let o=w.safeParse(a);if(!o.success)throw new l(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:o.error,status:i.status});return o.data.diff}function se(e){let t=(0,j.c)(23),{systemProvider:n}=s(),[r,i]=(0,M.useState)(null),[a,o]=(0,M.useState)(`idle`),[c,l]=(0,M.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new O(ie),t[0]=u):u=t[0];let d=(0,M.useRef)(u),f=(0,M.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;o(`loading`),l(null),ae(e).then(r=>{if(f.current!==t)return;let a=le(n,e);i({...r,writingDocs:a}),o(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),o(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),o(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=C(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},re))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,M.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=le(n,e);i(e=>!e||ce(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,M.useEffect)(_,v);let y;t[12]===e?y=t[13]:(y=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await oe(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=y);let b=y,x;t[14]!==e||t[15]!==m?(x=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=x):x=t[16];let S=x,w;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==S||t[21]!==a?(w={data:r,status:a,error:c,reload:S,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=S,t[21]=a,t[22]=w):w=t[22],w}function ce(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function le(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!A(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var N=r(),ue=(0,M.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-d4ec9M69.js`),__vite__mapDeps([0,1,2,3]),import.meta.url)).ActivityPanelDiffView}));function de(e,t){let n=Math.max(0,t-e);return n<6e4?`${Math.round(n/1e3)}s ago`:n<36e5?`${Math.round(n/6e4)}m ago`:new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function fe(e){let t=(0,j.c)(38),{burst:n,docName:r,fetchBurstDiff:i}=e,[a,o]=(0,M.useState)(!1),[s,l]=(0,M.useState)(null),[u,d]=(0,M.useState)(null),[f,p]=(0,M.useState)(!1),[m,h]=(0,M.useState)(P),g,_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=setInterval(()=>h(Date.now()),3e4);return()=>clearInterval(e)},_=[],t[0]=g,t[1]=_):(g=t[0],_=t[1]),(0,M.useEffect)(g,_);let v;t[2]!==n.stackIndex||t[3]!==s||t[4]!==r||t[5]!==a||t[6]!==i||t[7]!==f?(v=()=>{let e=!a;o(e),e&&s===null&&!f&&(p(!0),d(null),i(r,n.stackIndex).then(e=>{l(e),p(!1)}).catch(e=>{d(e instanceof Error?e.message:String(e)),p(!1)}))},t[2]=n.stackIndex,t[3]=s,t[4]=r,t[5]=a,t[6]=i,t[7]=f,t[8]=v):v=t[8];let y=v,b=`${a?`Collapse`:`Expand`} burst ${n.stackIndex+1} diff`,x;t[9]===a?x=t[10]:(x=a?(0,N.jsx)(c,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,N.jsx)(te,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[9]=a,t[10]=x);let S;t[11]!==n.ts||t[12]!==m?(S=de(n.ts,m),t[11]=n.ts,t[12]=m,t[13]=S):S=t[13];let C;t[14]===S?C=t[15]:(C=(0,N.jsx)(`span`,{className:`font-mono`,children:S}),t[14]=S,t[15]=C);let w;t[16]===n.additions?w=t[17]:(w=(0,N.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[16]=n.additions,t[17]=w);let T;t[18]===n.deletions?T=t[19]:(T=(0,N.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[18]=n.deletions,t[19]=T);let E;t[20]!==w||t[21]!==T?(E=(0,N.jsxs)(`span`,{className:`ml-auto font-mono`,children:[w,` `,T]}),t[20]=w,t[21]=T,t[22]=E):E=t[22];let D;t[23]!==a||t[24]!==E||t[25]!==b||t[26]!==x||t[27]!==C||t[28]!==y?(D=(0,N.jsxs)(`button`,{type:`button`,onClick:y,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":a,"aria-label":b,children:[x,C,E]}),t[23]=a,t[24]=E,t[25]=b,t[26]=x,t[27]=C,t[28]=y,t[29]=D):D=t[29];let O;t[30]!==s||t[31]!==a||t[32]!==u||t[33]!==f?(O=a?(0,N.jsx)(`div`,{className:`bg-muted/20`,children:f?(0,N.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:`Loading diff`}):u?(0,N.jsxs)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:[`Failed: `,u]}):s===null?(0,N.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:`No diff.`}):(0,N.jsx)(M.Suspense,{fallback:(0,N.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:`Loading diff`}),children:(0,N.jsx)(ue,{diff:s})})}):null,t[30]=s,t[31]=a,t[32]=u,t[33]=f,t[34]=O):O=t[34];let k;return t[35]!==D||t[36]!==O?(k=(0,N.jsxs)(`div`,{className:`border-t border-border/50`,children:[D,O]}),t[35]=D,t[36]=O,t[37]=k):k=t[37],k}function P(){return Date.now()}function pe(e,t){let n=Math.max(0,t-e);return n<6e4?`${Math.round(n/1e3)}s ago`:n<36e5?`${Math.round(n/6e4)}m ago`:`${Math.round(n/36e5)}h ago`}function F(e){let t=(0,j.c)(93),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:s,fetchBurstDiff:l}=e,[u,_]=(0,M.useState)(!1),[v,S]=(0,M.useState)(!1),[C,w]=(0,M.useState)(!1),[T,O]=(0,M.useState)(he),k,ee;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(k=()=>{let e=setInterval(()=>O(Date.now()),3e4);return()=>clearInterval(e)},ee=[],t[0]=k,t[1]=ee):(k=t[0],ee=t[1]),(0,M.useEffect)(k,ee),n.bursts.length===0)return null;let A=!r||n.bursts.length===0||C,re=r?n.bursts.length===0?`Nothing to undo on this file`:null:`Session ended — undo unavailable`,ie;t[2]!==A||t[3]!==n.docName||t[4]!==o?(ie=e=>{e.stopPropagation(),!A&&(w(!0),Promise.resolve(o(n.docName)).finally(()=>w(!1)))},t[2]=A,t[3]=n.docName,t[4]=o,t[5]=ie):ie=t[5];let ae=ie,oe;t[6]===A?oe=t[7]:(oe=e=>{e.stopPropagation(),!A&&S(!0)},t[6]=A,t[7]=oe);let se=oe,ce;t[8]!==A||t[9]!==n.docName||t[10]!==s?(ce=()=>{S(!1),!A&&(w(!0),Promise.resolve(s(n.docName)).finally(()=>w(!1)))},t[8]=A,t[9]=n.docName,t[10]=s,t[11]=ce):ce=t[11];let le=ce,ue;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>_(me),t[12]=ue):ue=t[12];let de=u?`Collapse ${n.docName}`:`Expand ${n.docName}`,P;t[13]===u?P=t[14]:(P=u?(0,N.jsx)(c,{className:`size-4`,"aria-hidden":`true`}):(0,N.jsx)(te,{className:`size-4`,"aria-hidden":`true`}),t[13]=u,t[14]=P);let F;t[15]!==u||t[16]!==de||t[17]!==P?(F=(0,N.jsx)(`button`,{type:`button`,onClick:ue,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":u,"aria-label":de,"data-testid":`activity-panel-file-row-carrot`,children:P}),t[15]=u,t[16]=de,t[17]=P,t[18]=F):F=t[18];let I;t[19]!==n.docName||t[20]!==a?(I=()=>a(n.docName),t[19]=n.docName,t[20]=a,t[21]=I):I=t[21];let ge=`Navigate to ${n.docName}`,L;t[22]!==n.docName||t[23]!==I||t[24]!==ge?(L=(0,N.jsx)(`button`,{type:`button`,onClick:I,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":ge,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[22]=n.docName,t[23]=I,t[24]=ge,t[25]=L):L=t[25];let _e=`Undo last edit on ${n.docName}`,ve;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,N.jsx)(D,{className:`size-3.5`,"aria-hidden":`true`}),t[26]=ve):ve=t[26];let R;t[27]!==A||t[28]!==ae||t[29]!==_e?(R=(0,N.jsx)(y,{asChild:!0,children:(0,N.jsx)(E,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ae,disabled:A,"aria-label":_e,"data-testid":`activity-panel-undo-last`,children:ve})}),t[27]=A,t[28]=ae,t[29]=_e,t[30]=R):R=t[30];let ye=re??`Undo last edit`,z;t[31]===ye?z=t[32]:(z=(0,N.jsx)(x,{side:`bottom`,children:ye}),t[31]=ye,t[32]=z);let B;t[33]!==R||t[34]!==z?(B=(0,N.jsxs)(b,{children:[R,z]}),t[33]=R,t[34]=z,t[35]=B):B=t[35];let be=`Undo all edits on ${n.docName}`,xe;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,N.jsx)(ne,{className:`size-3.5`,"aria-hidden":`true`}),t[36]=xe):xe=t[36];let V;t[37]!==A||t[38]!==se||t[39]!==be?(V=(0,N.jsx)(y,{asChild:!0,children:(0,N.jsx)(E,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:se,disabled:A,"aria-label":be,"data-testid":`activity-panel-undo-all`,children:xe})}),t[37]=A,t[38]=se,t[39]=be,t[40]=V):V=t[40];let Se=re??`Undo all edits`,H;t[41]===Se?H=t[42]:(H=(0,N.jsx)(x,{side:`bottom`,children:Se}),t[41]=Se,t[42]=H);let U;t[43]!==V||t[44]!==H?(U=(0,N.jsxs)(b,{children:[V,H]}),t[43]=V,t[44]=H,t[45]=U):U=t[45];let W;t[46]===n.additionsTotal?W=t[47]:(W=(0,N.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[46]=n.additionsTotal,t[47]=W);let G;t[48]===n.deletionsTotal?G=t[49]:(G=(0,N.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[48]=n.deletionsTotal,t[49]=G);let K;t[50]!==W||t[51]!==G?(K=(0,N.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[W,` `,G]}),t[50]=W,t[51]=G,t[52]=K):K=t[52];let q;t[53]!==n.lastTs||t[54]!==T?(q=pe(n.lastTs,T),t[53]=n.lastTs,t[54]=T,t[55]=q):q=t[55];let J;t[56]===q?J=t[57]:(J=(0,N.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:q}),t[56]=q,t[57]=J);let Y;t[58]===i?Y=t[59]:(Y=i?(0,N.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:`writing`}):null,t[58]=i,t[59]=Y);let X;t[60]!==L||t[61]!==B||t[62]!==U||t[63]!==K||t[64]!==J||t[65]!==Y||t[66]!==F?(X=(0,N.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[F,L,B,U,K,J,Y]}),t[60]=L,t[61]=B,t[62]=U,t[63]=K,t[64]=J,t[65]=Y,t[66]=F,t[67]=X):X=t[67];let Z;t[68]!==u||t[69]!==l||t[70]!==n.bursts||t[71]!==n.docName?(Z=u?(0,N.jsx)(`div`,{children:n.bursts.map(e=>(0,N.jsx)(fe,{burst:e,docName:n.docName,fetchBurstDiff:l},`${n.docName}:${e.stackIndex}`))}):null,t[68]=u,t[69]=l,t[70]=n.bursts,t[71]=n.docName,t[72]=Z):Z=t[72];let Ce;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,N.jsx)(f,{children:`Undo all edits on this file?`}),t[73]=Ce):Ce=t[73];let Q;t[74]===n.docName?Q=t[75]:(Q=(0,N.jsx)(`span`,{className:`font-mono text-foreground`,children:n.docName}),t[74]=n.docName,t[75]=Q);let we=n.bursts.length===1?``:`s`,Te;t[76]!==n.bursts.length||t[77]!==Q||t[78]!==we?(Te=(0,N.jsxs)(h,{children:[Ce,(0,N.jsxs)(d,{children:[`Reverts every change this agent made to`,` `,Q,` this session (`,n.bursts.length,` burst`,we,`). Other files and writers are unaffected.`]})]}),t[76]=n.bursts.length,t[77]=Q,t[78]=we,t[79]=Te):Te=t[79];let Ee;t[80]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,N.jsx)(E,{type:`button`,variant:`outline`,onClick:()=>S(!1),"data-testid":`activity-panel-undo-all-cancel`,children:`Cancel`}),t[80]=Ee):Ee=t[80];let De;t[81]===le?De=t[82]:(De=(0,N.jsxs)(m,{children:[Ee,(0,N.jsx)(E,{type:`button`,variant:`destructive`,onClick:le,"data-testid":`activity-panel-undo-all-confirm`,children:`Undo all`})]}),t[81]=le,t[82]=De);let Oe;t[83]!==Te||t[84]!==De?(Oe=(0,N.jsxs)(p,{className:`sm:max-w-md`,children:[Te,De]}),t[83]=Te,t[84]=De,t[85]=Oe):Oe=t[85];let $;t[86]!==v||t[87]!==Oe?($=(0,N.jsx)(g,{open:v,onOpenChange:S,children:Oe}),t[86]=v,t[87]=Oe,t[88]=$):$=t[88];let ke;return t[89]!==X||t[90]!==Z||t[91]!==$?(ke=(0,N.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[X,Z,$]}),t[89]=X,t[90]=Z,t[91]=$,t[92]=ke):ke=t[92],ke}function me(e){return!e}function he(){return Date.now()}async function I(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function ge(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function L(e){typeof window>`u`||(window.location.hash=ge(e))}function _e(){let e=(0,j.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,N.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[(0,N.jsx)(a,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),(0,N.jsx)(`span`,{className:`text-sm`,children:`Loading agent activity`})]}),e[0]=t):t=e[0],t}function ve(e){let t=(0,j.c)(9),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(o,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,N.jsx)(`p`,{className:`text-sm font-medium`,children:`Failed to load activity`}),t[1]=a):a=t[1];let s;t[2]===n?s=t[3]:(s=(0,N.jsxs)(`div`,{className:`space-y-1`,children:[a,(0,N.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,N.jsx)(E,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:`Retry`}),t[4]=r,t[5]=c);let l;return t[6]!==s||t[7]!==c?(l=(0,N.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l}function R(){let e=(0,j.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,N.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,N.jsx)(`p`,{className:`text-sm italic`,children:`No edits yet.`})}),e[0]=t):t=e[0],t}function ye(e){let t=(0,j.c)(9),{onExit:n,showBackButton:r}=e,i;t[0]!==n||t[1]!==r?(i=r?(0,N.jsx)(z,{onClick:n}):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,N.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:`Agent activity`}),t[3]=a):a=t[3];let o;t[4]===i?o=t[5]:(o=(0,N.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[i,a]}),t[4]=i,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,N.jsx)(`p`,{className:`text-center text-sm italic`,children:`Click an agent's avatar in the presence bar to view their session.`})}),t[6]=s):s=t[6];let c;return t[7]===o?c=t[8]:(c=(0,N.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":`Agent activity`,children:[o,s]}),t[7]=o,t[8]=c),c}function z(e){let t=(0,j.c)(6),{onClick:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,N.jsx)(k,{}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=(0,N.jsx)(y,{asChild:!0,children:(0,N.jsx)(E,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":`Back to document view`,"data-testid":`docpanel-exit-agent-mode`,children:r})}),t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,N.jsx)(x,{side:`bottom`,children:`Back to document view`}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,N.jsxs)(b,{children:[i,a]}),t[4]=i,t[5]=o),o}function B(e){let t=(0,j.c)(9),{lastTs:n}=e,[r]=(0,M.useState)(be),i;t[0]!==n||t[1]!==r?(i=n?xe(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,N.jsx)(`span`,{className:`font-medium`,children:`Session ended`}),t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=a?(0,N.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=s);let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,N.jsx)(`div`,{className:`mt-1 opacity-80`,children:`Undo buttons are disabled — per-session state has been garbage-collected.`}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(0,N.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[o,s,c]}),t[7]=s,t[8]=l),l}function be(){return Date.now()}function xe(e){let t=Math.max(0,e);return t<6e4?`${Math.round(t/1e3)}s ago`:t<36e5?`${Math.round(t/6e4)}m ago`:`${Math.round(t/36e5)}h ago`}function V(e){let t=(0,j.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,N.jsx)(ee,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,N.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function Se(e){let t=(0,j.c)(22),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:s,onNavigate:c,onUndoLast:l,onUndoAll:u,showBackButton:d}=e,f=n?.files?.[0]?.lastTs??null,p;t[0]!==s||t[1]!==d?(p=d?(0,N.jsx)(z,{onClick:s}):null,t[0]=s,t[1]=d,t[2]=p):p=t[2];let m;t[3]!==n||t[4]!==f?(m=n?.agent?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(V,{agent:n.agent}),(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,N.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?`Active`:f===null?`No edit session yet`:`Ended`,n.files.length>0?` · ${n.files.length} file${n.files.length===1?``:`s`}`:``]})]})]}):(0,N.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,N.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:`Agent activity`})}),t[3]=n,t[4]=f,t[5]=m):m=t[5];let h;t[6]!==p||t[7]!==m?(h=(0,N.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[p,m]}),t[6]=p,t[7]=m,t[8]=h):h=t[8];let g;t[9]!==n||t[10]!==i||t[11]!==o||t[12]!==f||t[13]!==c||t[14]!==u||t[15]!==l||t[16]!==a||t[17]!==r?(g=(0,N.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,N.jsx)(_e,{}):r===`error`&&i?(0,N.jsx)(ve,{error:i,onRetry:a}):n===null?(0,N.jsx)(R,{}):(0,N.jsxs)(N.Fragment,{children:[!n.sessionAlive&&f!==null?(0,N.jsx)(B,{lastTs:f}):null,n.files.length===0?(0,N.jsx)(R,{}):n.files.map(e=>(0,N.jsx)(F,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:c,onUndoLast:l,onUndoAll:u,fetchBurstDiff:o},e.docName))]})}),t[9]=n,t[10]=i,t[11]=o,t[12]=f,t[13]=c,t[14]=u,t[15]=l,t[16]=a,t[17]=r,t[18]=g):g=t[18];let _;return t[19]!==h||t[20]!==g?(_=(0,N.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":`Agent activity`,children:[h,g]}),t[19]=h,t[20]=g,t[21]=_):_=t[21],_}function H(e){let t=(0,j.c)(26),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:r}=n,i=r===void 0?!0:r,{docPanelAgentId:a,closeActivityPanel:o}=s(),{openDocumentTransition:c}=u(),{data:l,status:d,error:f,reload:p,fetchBurstDiff:m}=se(a);if(a===null){let e;return t[2]!==o||t[3]!==i?(e=(0,N.jsx)(ye,{onExit:o,showBackButton:i}),t[2]=o,t[3]=i,t[4]=e):e=t[4],e}let h;t[5]===c?h=t[6]:(h=e=>{c(e),L(e)},t[5]=c,t[6]=h);let g=h,v;t[7]!==l||t[8]!==a||t[9]!==p?(v=async e=>{try{await I({connectionId:a,docName:e,scope:`last`,agentName:l?.agent?.displayName}),p()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);_.error(`Undo failed: ${n}`),p()}},t[7]=l,t[8]=a,t[9]=p,t[10]=v):v=t[10];let y=v,b;t[11]!==l||t[12]!==a||t[13]!==p?(b=async e=>{try{await I({connectionId:a,docName:e,scope:`file`,agentName:l?.agent?.displayName}),_.success(`Undone all edits on ${e}`),p()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);_.error(`Undo all failed: ${n}`),p()}},t[11]=l,t[12]=a,t[13]=p,t[14]=b):b=t[14];let x=b,S;return t[15]!==o||t[16]!==l||t[17]!==f||t[18]!==m||t[19]!==g||t[20]!==x||t[21]!==y||t[22]!==p||t[23]!==i||t[24]!==d?(S=(0,N.jsx)(Se,{data:l,status:d,error:f,reload:p,fetchBurstDiff:m,onExit:o,onNavigate:g,onUndoLast:y,onUndoAll:x,showBackButton:i}),t[15]=o,t[16]=l,t[17]=f,t[18]=m,t[19]=g,t[20]=x,t[21]=y,t[22]=p,t[23]=i,t[24]=d,t[25]=S):S=t[25],S}export{H as ActivityModeContent};
|