@inkeep/open-knowledge 0.16.0-beta.4 → 0.16.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/assets/skills/discovery/SKILL.md +1 -1
  2. package/dist/assets/skills/project/SKILL.md +1 -1
  3. package/dist/cli.mjs +54 -52
  4. package/dist/constants-DpFTxgLd.mjs +2 -0
  5. package/dist/dist-BM2Pz5lP.mjs +1 -0
  6. package/dist/{dist-Fva5nwJ3.mjs → dist-BpcqX30a.mjs} +12 -12
  7. package/dist/{gh-detect-atRB6-LM.mjs → gh-detect-B9lBhz5O.mjs} +2 -2
  8. package/dist/index.mjs +1 -1
  9. package/dist/init-BprAJf9V.mjs +1 -0
  10. package/dist/{init-DwD9VP_V.mjs → init-Cd8LxZ6v.mjs} +4 -4
  11. package/dist/loader-BKOnziDn.mjs +1 -0
  12. package/dist/{loader-kDKWCU0I.mjs → loader-CP2zxNwo.mjs} +3 -3
  13. package/dist/{preview-RuvOY6jI.mjs → preview-7XNCI_uT.mjs} +2 -2
  14. package/dist/preview-CktZpuwe.mjs +1 -0
  15. package/dist/public/assets/{ActivityModeContent-Bvn7Dxuo.js → ActivityModeContent-CSyKy_Uj.js} +1 -1
  16. package/dist/public/assets/{DocumentContext-BK44vUOF.js → DocumentContext-Db8zz1C8.js} +16 -16
  17. package/dist/public/assets/{GraphPanel-Bk3Uhgmb.js → GraphPanel-B3ncVCcl.js} +3 -3
  18. package/dist/public/assets/{OpenInAgentMenuRequestContext-Dn-T6fee.js → OpenInAgentMenuRequestContext-DTXpMpI9.js} +1 -1
  19. package/dist/public/assets/{SettingsDialogBody-B_f7ik71.js → SettingsDialogBody-DuNjQ0k0.js} +2 -2
  20. package/dist/public/assets/{SourceEditor-B0xjus9Q.js → SourceEditor-BtpDdgxb.js} +1 -1
  21. package/dist/public/assets/config-validation-events-CJxHy5ln.js +12 -0
  22. package/dist/public/assets/{index-Cb45dDN8.js → index-BqbmV5y6.js} +108 -125
  23. package/dist/public/assets/{prop-types-CqTEMXrE.js → prop-types-BovHZ4kt.js} +1 -1
  24. package/dist/public/assets/{target-navigation-intent-DkDGdaxv.js → target-navigation-intent-ck2sTXFV.js} +1 -1
  25. package/dist/public/index.html +6 -6
  26. package/dist/{repair-launch-json-BaECMPtB.mjs → repair-launch-json-B-dpVcye.mjs} +2 -2
  27. package/dist/{repair-mcp-configs-UGmkTTrE.mjs → repair-mcp-configs-D80wng8R.mjs} +2 -2
  28. package/dist/repair-skills-BeneyVMe.mjs +1 -0
  29. package/dist/{repair-skills-1VFQ3EDA.mjs → repair-skills-Dz7t_0qc.mjs} +2 -2
  30. package/dist/{server-lock-BpjJj3OD-Cia38KR1.mjs → server-lock-BpjJj3OD-BTq99pJy.mjs} +24 -24
  31. package/dist/server-lock-CyhBidkz-DfwkCIUm.mjs +1 -0
  32. package/dist/{src-7ar6V1Kv.mjs → src-8qa_xxK5.mjs} +2 -2
  33. package/dist/start-C2uF4y8f.mjs +1 -0
  34. package/dist/{start-D3pP_Gi9.mjs → start-DBSNaSRx.mjs} +2 -2
  35. package/dist/{write-project-skill-joTSU0Hh.mjs → write-project-skill-BgQMKWNq.mjs} +2 -2
  36. package/package.json +1 -1
  37. package/dist/constants-Bj4Q6IB_.mjs +0 -2
  38. package/dist/dist-C2WoIgZk.mjs +0 -1
  39. package/dist/init-C77gI4E0.mjs +0 -1
  40. package/dist/loader-BxK7TFpb.mjs +0 -1
  41. package/dist/preview-CAfTCgjZ.mjs +0 -1
  42. package/dist/public/assets/config-validation-events-BFEw_0e9.js +0 -12
  43. package/dist/repair-skills-3QzF2mB0.mjs +0 -1
  44. package/dist/server-lock-CyhBidkz-tjTa2PuV.mjs +0 -1
  45. package/dist/start-SGngWWdz.mjs +0 -1
@@ -8,4 +8,4 @@ That means you use raw catalog or your catalog doesn't have a translation for th
8
8
  ICU features such as interpolation and plurals will not work properly for that message.
9
9
 
10
10
  Please compile your catalog first.
11
- `)),f(s)&&C.test(s)?w(s):f(s)?s:O(s,this._locale,this._locales)(t,n?.formats)}t=this._.bind(this);date(e,t){return _(this._locales||this._locale,e,t)}number(e,t){return y(this._locales||this._locale,e,t)}};function j(e={}){return new A(e)}var te=j();function M(e){if(e.startsWith(B)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=V(t),r=n>=0?t.slice(0,n):t;if(!r)return null;try{return r.split(`/`).map(decodeURIComponent).join(`/`)}catch{return r}}function N(e){if(e.startsWith(B)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=t.indexOf(`#`);if(n<0)return null;let r=t.slice(n+1);if(!r)return null;try{return decodeURIComponent(r)}catch{return r}}function P(e,t){let n=`#/${e}`;return t?`${n}#${encodeURIComponent(t)}`:n}function F(e){if(window.location.hash===e)return;let{pathname:t,search:n}=window.location;window.history.replaceState(null,``,`${t}${n}${e}`)}function I(e){return e.endsWith(`.mdx`)?e.slice(0,-4):e.endsWith(`.md`)?e.slice(0,-3):e}function L(e,t){let n=e.replace(/^\/+|\/+$/g,``),r=n?`#/${n}/`:`#/`;return t?`${r}#${encodeURIComponent(t)}`:r}function R(e,t,n){if(e===`folder`)return L(t);let r=`#/${encodeURIComponent(t)}`;return n==null||n===``?r:`${r}?branch=${encodeURIComponent(n)}`}function z(e){if(e===`#/`)return!0;if(!e.startsWith(`#/`))return!1;let t=e.slice(2);return t.length>0&&t[0]===`?`}var B=`#/__asset__/`;function V(e){let t=e.indexOf(`?`),n=e.indexOf(`#`);return t<0?n:n<0?t:Math.min(t,n)}function H(e){if(!e.startsWith(B))return null;let t=e.slice(12);if(!t)return null;try{return t.split(`/`).map(decodeURIComponent).join(`/`)}catch{return t}}function U(e){return`${B}${e.split(`/`).map(encodeURIComponent).join(`/`)}`}var W=e(n(),1),ne=i();function G(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.title==`string`&&t.title.length>0)return t.title}function K(e){return e.kind===`asset`}function q(e){return e.kind===`document`}function J(e){return e.kind===`folder`}function Y(e){let t=[],n=0;for(let r of e)switch(r.kind){case`document`:if(r.docName===void 0){n+=1;break}t.push({kind:`document`,docName:r.docName,docExt:r.docExt,size:r.size,modified:r.modified,isSymlink:r.isSymlink,canonicalDocName:r.canonicalDocName,targetPath:r.targetPath});break;case`asset`:if(r.path===void 0||r.assetExt===void 0){n+=1;break}t.push({kind:`asset`,path:r.path,assetExt:r.assetExt,mediaKind:r.mediaKind??null,size:r.size,modified:r.modified,referencedBy:r.referencedBy});break;case`file`:if(r.path===void 0){n+=1;break}t.push({kind:`asset`,path:r.path,assetExt:r.assetExt??re(r.path),mediaKind:null,size:r.size,modified:r.modified,referencedBy:[]});break;case`folder`:if(r.path===void 0){n+=1;break}t.push({kind:`folder`,path:r.path,size:r.size,modified:r.modified,hasChildren:r.hasChildren,isSymlink:r.isSymlink,targetPath:r.targetPath});break;default:r.kind;break}return n>0&&console.warn(`[file-tree-utils] dropped ${n} listing entries missing variant identity fields`),t}function re(e){let t=e.includes(`/`)?e.split(`/`).pop()??e:e,n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():t.startsWith(`.`)&&t.length>1?t.slice(1).toLowerCase():`file`}function ie(e){if(!e)return[];let t=e.split(`/`).filter(Boolean),n=[];for(let e=1;e<t.length;e++)n.push(t.slice(0,e).join(`/`));return n}function ae(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t>0?e.slice(0,t):``}function oe(e,t=!1){return e.filter(e=>{let n=e.docName??e.path??``;return n===``?!1:t?!0:!n.split(`/`).some(e=>e.startsWith(`.`))})}var X=null,Z=new Set;function Q(e,t){if(e===t)return!0;if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function se(e,t){return e===null?!1:e===t?!0:Q(e.pages,t.pages)&&Q(e.folderPaths,t.folderPaths)&&Q(e.assetPaths??new Set,t.assetPaths??new Set)&&Q(e.filePaths??new Set,t.filePaths??new Set)&&ce(e.pageIcons,t.pageIcons)}function ce(e,t){if(e===t)return!0;let n=e?.size??0;if(n!==(t?.size??0))return!1;if(n===0)return!0;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function le(e,t){let n=new Map;for(let r of e){let e=t(r);e&&!n.has(e)&&n.set(e,r)}return n}function ue(e,t){let n=new Map,r=[...e].sort((e,t)=>e.localeCompare(t));for(let e of r){let r=e.lastIndexOf(`/`),i=t(r===-1?e:e.slice(r+1));i&&!n.has(i)&&n.set(i,e)}return n}function de(e){let t=new Map;for(let[n,r]of e){let e=r.icon;typeof e==`string`&&e.trim()!==``&&t.set(n,e)}return t}function fe(){return X}function pe(e){if(!se(X,e)){X=e;for(let t of Array.from(Z))try{t(e)}catch(e){console.error(`[page-list-cache] subscriber threw:`,e)}}}function me(e){if(Z.add(e),X!==null)try{e(X)}catch(e){console.error(`[page-list-cache] subscriber threw on replay:`,e)}return()=>{Z.delete(e)}}var he=`open-knowledge:documents-changed`,ge=new Set(c.options);function _e(e){return e===void 0||!Array.isArray(e)?[`files`]:[...new Set(e.filter(e=>ge.has(e)))]}function ve(e=[`files`]){window.dispatchEvent(new CustomEvent(he,{detail:{channels:_e(e)}}))}function ye(e){let t=t=>{e(_e(t instanceof CustomEvent?t.detail?.channels:void 0))};return window.addEventListener(he,t),()=>window.removeEventListener(he,t)}var be=`open-knowledge:branch-changed`;function xe(e){window.dispatchEvent(new CustomEvent(be,{detail:{branch:e}}))}function Se(e){let t=t=>{if(!(t instanceof CustomEvent))return;let n=t.detail;e(n?.branch??null)};return window.addEventListener(be,t),()=>window.removeEventListener(be,t)}var Ce=`open-knowledge:templates-changed`;function we(){window.dispatchEvent(new CustomEvent(Ce))}function Te(e){let t=()=>e();return window.addEventListener(Ce,t),()=>window.removeEventListener(Ce,t)}function $(e){return e.trim().replace(/^\.\/+/,``).replace(/^\/+/,``).replace(/\.mdx?$/i,``)}function Ee(e){let t=$(e);return t?`${t}.md`:`untitled.md`}function De(e){let t=$(e),n=t.lastIndexOf(`/`);return{initialDir:n>0?t.slice(0,n):``,suggestedName:`${n>=0?t.slice(n+1):t||`untitled`}.md`}}function Oe(e){let t=e.trim();return{normalizedTarget:$(t).replace(/\/+$/g,``),expectsFolder:/\/+$/.test(t)}}function ke(e){let t=new Set;for(let n of e)for(let e of ie(n))t.add(e);return t}function Ae(e,t){if(!t)return;let n=o(e);if(n)return t.get(n)}function je(e,t){if(!t||e.includes(`/`))return;let n=o(e);if(n)return t.get(n)}function Me(e,t){let{normalizedTarget:n,expectsFolder:r}=Oe(e);if(!n)return{kind:`missing`,target:n};if(!r&&t.pages.has(n))return{kind:`doc`,target:n,docName:n};if(!r){let e=Ae(n,t.pagesBySlug);if(e)return{kind:`doc`,target:e,docName:e}}let i=`${n}/index`;if(t.pages.has(i))return{kind:`folder-index`,target:n,folderPath:n,docName:i,noteKind:`canonical-index`};let a=n.split(`/`).pop(),o=a?`${n}/${a}`:null;if(o&&t.pages.has(o))return{kind:`folder-index`,target:n,folderPath:n,docName:o,noteKind:`legacy-folder-note`};if(!r){let e=je(n,t.pagesByBasename);if(e)return{kind:`doc`,target:e,docName:e}}return(t.folderPaths??ke(t.pages)).has(n)?{kind:`folder`,target:n,folderPath:n}:{kind:`missing`,target:n}}function Ne(e){return e.kind===`folder-index`?{kind:`folder`,target:e.folderPath,folderPath:e.folderPath}:e}function Pe(e,t,n=a){return typeof t!=`number`||!s(t,n)?null:{kind:`large-file`,target:e,docName:e,size:t,limit:n}}function Fe(e,t,n=a){return e.kind!==`doc`&&e.kind!==`folder-index`?e:Pe(e.docName,t.get(e.docName)?.size,n)??e}function Ie(e){switch(e.kind){case`doc`:case`folder-index`:case`large-file`:return e.docName;case`missing`:return e.target;case`asset`:case`folder`:return null}}var Le=r(),Re=(0,W.createContext)(null);function ze(e,t){if(t.size===0)return new Set(e);let n=new Set(e);for(let e of t)n.add(e);return n}function Be(e,t){if(e.size===0)return new Set;let n=new Set;for(let r of e)t.has(r)||n.add(r);return n}function Ve(e,t){let n=new Map(e);for(let e of t)n.has(e)||n.set(e,e);return n}async function He(){let e=await fetch(`/api/pages`);if(!e.ok){let t=await e.json().catch(()=>null);throw Error(G(t)??`/api/pages responded with ${e.status}`)}let t=await e.json();return Array.isArray(t.pages)?t.pages:[]}async function Ue(){let e=await fetch(`/api/documents`);if(!e.ok){let t=await e.json().catch(()=>null);throw Error(G(t)??`/api/documents responded with ${e.status}`)}let t=await e.json();return Array.isArray(t.documents)?{assetPaths:t.documents.filter(e=>e.kind===`asset`&&typeof e.path==`string`&&e.path.length>0).map(e=>e.path),folderPaths:t.documents.filter(e=>e.kind===`folder`&&typeof e.path==`string`&&e.path.length>0).map(e=>e.path),filePaths:t.documents.filter(e=>e.kind===`file`&&typeof e.path==`string`&&e.path.length>0).map(e=>e.path)}:{assetPaths:[],folderPaths:[],filePaths:[]}}function We(e){console.error(`[PageListContext] Failed to load pages:`,e)}function Ge(e){console.warn(`[PageListContext] Failed to load referenced assets:`,e)}function Ke(e){let t=(0,ne.c)(54),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=new Set,t[0]=r):r=t[0];let[i,a]=(0,W.useState)(r),s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Map,t[1]=s):s=t[1];let[c,l]=(0,W.useState)(s),u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,t[2]=u):u=t[2];let[d,ee]=(0,W.useState)(u),f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=new Set,t[3]=f):f=t[3];let[p,m]=(0,W.useState)(f),h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=new Set,t[4]=h):h=t[4];let[g,_]=(0,W.useState)(h),v;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(v=new Set,t[5]=v):v=t[5];let[y,b]=(0,W.useState)(v),x;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(x=new Set,t[6]=x):x=t[6];let[S,C]=(0,W.useState)(x),[w,T]=(0,W.useState)(!0),[E,D]=(0,W.useState)(null),O=(0,W.useRef)(0),k;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(k=function(){let e=O.current+=1;Promise.all([He(),Ue().catch(Xe)]).then(t=>{let[n,r]=t;if(e!==O.current)return;let i=new Set(n.map(Ye));a(i),l(new Map(n.map(Je))),ee(new Map(n.map(qe))),m(new Set(r.assetPaths)),_(new Set(r.folderPaths)),b(new Set(r.filePaths)),C(e=>Be(e,i)),D(null)}).catch(t=>{e===O.current&&(We(t),D(t instanceof Error?t.message:`Failed to load pages`))}).finally(()=>{e===O.current&&T(!1)})},t[7]=k):k=t[7];let A=k,j;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=function(e){C(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n}),D(null)},t[8]=j):j=t[8];let te=j,M,N;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{A();let e=()=>{document.visibilityState===`visible`&&A()};window.addEventListener(`focus`,e),window.addEventListener(`visibilitychange`,e);let t=ye(e=>{e.includes(`files`)&&A()});return()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`visibilitychange`,e),t()}},N=[],t[9]=M,t[10]=N):(M=t[9],N=t[10]),(0,W.useEffect)(M,N);let P,F,I,L,R,z,B,V;if(t[11]!==S||t[12]!==p||t[13]!==y||t[14]!==g||t[15]!==d||t[16]!==c||t[17]!==i){z=ze(i,S);let e;t[26]!==S||t[27]!==c?(e=Ve(c,S),t[26]=S,t[27]=c,t[28]=e):e=t[28],R=e,L=d,P=p,F=y,I=new Set([...ke(z),...g]),B=le(z,o),V=ue(z,o),t[11]=S,t[12]=p,t[13]=y,t[14]=g,t[15]=d,t[16]=c,t[17]=i,t[18]=P,t[19]=F,t[20]=I,t[21]=L,t[22]=R,t[23]=z,t[24]=B,t[25]=V}else P=t[18],F=t[19],I=t[20],L=t[21],R=t[22],z=t[23],B=t[24],V=t[25];let H=V,U;t[29]===d?U=t[30]:(U=de(d),t[29]=d,t[30]=U);let G=U,K,q;t[31]!==P||t[32]!==F||t[33]!==I||t[34]!==G||t[35]!==z||t[36]!==H||t[37]!==B?(K=()=>{pe({pages:z,folderPaths:I,pagesBySlug:B,pagesByBasename:H,assetPaths:P,filePaths:F,pageIcons:G})},q=[z,I,B,H,P,F,G],t[31]=P,t[32]=F,t[33]=I,t[34]=G,t[35]=z,t[36]=H,t[37]=B,t[38]=K,t[39]=q):(K=t[38],q=t[39]),(0,W.useEffect)(K,q);let J;t[40]!==P||t[41]!==E||t[42]!==F||t[43]!==I||t[44]!==w||t[45]!==L||t[46]!==R||t[47]!==z||t[48]!==H||t[49]!==B?(J={pages:z,pagesBySlug:B,pagesByBasename:H,pageTitles:R,pageMeta:L,folderPaths:I,assetPaths:P,filePaths:F,loading:w,error:E,refetch:A,addPage:te},t[40]=P,t[41]=E,t[42]=F,t[43]=I,t[44]=w,t[45]=L,t[46]=R,t[47]=z,t[48]=H,t[49]=B,t[50]=J):J=t[50];let Y;return t[51]!==n||t[52]!==J?(Y=(0,Le.jsx)(Re,{value:J,children:n}),t[51]=n,t[52]=J,t[53]=Y):Y=t[53],Y}function qe(e){return[e.docName,{size:e.size,modified:e.modified,docExt:e.docExt,icon:e.icon}]}function Je(e){return[e.docName,e.title]}function Ye(e){return e.docName}function Xe(e){return Ge(e),{assetPaths:[],folderPaths:[],filePaths:[]}}function Ze(){let e=(0,W.use)(Re);if(!e)throw Error(`usePageList must be used within <PageListProvider />`);return e}function Qe(){return(0,W.use)(Re)}var $e=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),et=t(((e,t)=>{var n=$e();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),tt=t(((e,t)=>{t.exports=et()()}));export{M as A,d as B,K as C,G as D,Y as E,L as F,z as I,F as L,I as M,U as N,N as O,P,te as R,oe as S,J as T,u as V,ye as _,Ie as a,me as b,Me as c,Ee as d,$ as f,Se as g,we as h,Ze as i,R as j,H as k,Fe as l,ve as m,Ke as n,Ne as o,xe as p,Qe as r,Pe as s,tt as t,De as u,Te as v,q as w,ae as x,fe as y,ee as z};
11
+ `)),f(s)&&C.test(s)?w(s):f(s)?s:O(s,this._locale,this._locales)(t,n?.formats)}t=this._.bind(this);date(e,t){return _(this._locales||this._locale,e,t)}number(e,t){return y(this._locales||this._locale,e,t)}};function j(e={}){return new A(e)}var te=j();function M(e){if(e.startsWith(B)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=V(t),r=n>=0?t.slice(0,n):t;if(!r)return null;try{return r.split(`/`).map(decodeURIComponent).join(`/`)}catch{return r}}function N(e){if(e.startsWith(B)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=t.indexOf(`#`);if(n<0)return null;let r=t.slice(n+1);if(!r)return null;try{return decodeURIComponent(r)}catch{return r}}function P(e,t){let n=`#/${e}`;return t?`${n}#${encodeURIComponent(t)}`:n}function F(e){if(window.location.hash===e)return;let{pathname:t,search:n}=window.location;window.history.replaceState(null,``,`${t}${n}${e}`)}function I(e){return e.endsWith(`.mdx`)?e.slice(0,-4):e.endsWith(`.md`)?e.slice(0,-3):e}function L(e,t){let n=e.replace(/^\/+|\/+$/g,``),r=n?`#/${n}/`:`#/`;return t?`${r}#${encodeURIComponent(t)}`:r}function R(e,t,n){if(e===`folder`)return L(t);let r=`#/${encodeURIComponent(t)}`;return n==null||n===``?r:`${r}?branch=${encodeURIComponent(n)}`}function z(e){if(e===`#/`)return!0;if(!e.startsWith(`#/`))return!1;let t=e.slice(2);return t.length>0&&t[0]===`?`}var B=`#/__asset__/`;function V(e){let t=e.indexOf(`?`),n=e.indexOf(`#`);return t<0?n:n<0?t:Math.min(t,n)}function H(e){if(!e.startsWith(B))return null;let t=e.slice(12);if(!t)return null;try{return t.split(`/`).map(decodeURIComponent).join(`/`)}catch{return t}}function U(e){return`${B}${e.split(`/`).map(encodeURIComponent).join(`/`)}`}var W=e(n(),1),ne=i();function G(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.title==`string`&&t.title.length>0)return t.title}function K(e){return e.kind===`asset`}function q(e){return e.kind===`document`}function J(e){return e.kind===`folder`}function Y(e){let t=[],n=0;for(let r of e)switch(r.kind){case`document`:if(r.docName===void 0){n+=1;break}t.push({kind:`document`,docName:r.docName,docExt:r.docExt,size:r.size,modified:r.modified,isSymlink:r.isSymlink,canonicalDocName:r.canonicalDocName,targetPath:r.targetPath});break;case`asset`:if(r.path===void 0||r.assetExt===void 0){n+=1;break}t.push({kind:`asset`,path:r.path,assetExt:r.assetExt,mediaKind:r.mediaKind??null,size:r.size,modified:r.modified,referencedBy:r.referencedBy});break;case`file`:if(r.path===void 0){n+=1;break}t.push({kind:`asset`,path:r.path,assetExt:r.assetExt??re(r.path),mediaKind:null,size:r.size,modified:r.modified,referencedBy:[]});break;case`folder`:if(r.path===void 0){n+=1;break}t.push({kind:`folder`,path:r.path,size:r.size,modified:r.modified,hasChildren:r.hasChildren,isSymlink:r.isSymlink,targetPath:r.targetPath});break;default:r.kind;break}return n>0&&console.warn(`[file-tree-utils] dropped ${n} listing entries missing variant identity fields`),t}function re(e){let t=e.includes(`/`)?e.split(`/`).pop()??e:e,n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():t.startsWith(`.`)&&t.length>1?t.slice(1).toLowerCase():`file`}function ie(e){if(!e)return[];let t=e.split(`/`).filter(Boolean),n=[];for(let e=1;e<t.length;e++)n.push(t.slice(0,e).join(`/`));return n}function ae(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t>0?e.slice(0,t):``}function oe(e,t=!1){return e.filter(e=>{let n=e.docName??e.path??``;return n===``?!1:t?!0:!n.split(`/`).some(e=>e.startsWith(`.`))})}var X=null,Z=new Set;function Q(e,t){if(e===t)return!0;if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function se(e,t){return e===null?!1:e===t?!0:Q(e.pages,t.pages)&&Q(e.folderPaths,t.folderPaths)&&Q(e.assetPaths??new Set,t.assetPaths??new Set)&&Q(e.filePaths??new Set,t.filePaths??new Set)&&ce(e.pageIcons,t.pageIcons)}function ce(e,t){if(e===t)return!0;let n=e?.size??0;if(n!==(t?.size??0))return!1;if(n===0)return!0;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function le(e,t){let n=new Map;for(let r of e){let e=t(r);e&&!n.has(e)&&n.set(e,r)}return n}function ue(e,t){let n=new Map,r=[...e].sort((e,t)=>e.localeCompare(t));for(let e of r){let r=e.lastIndexOf(`/`),i=t(r===-1?e:e.slice(r+1));i&&!n.has(i)&&n.set(i,e)}return n}function de(e){let t=new Map;for(let[n,r]of e){let e=r.icon;typeof e==`string`&&e.trim()!==``&&t.set(n,e)}return t}function fe(){return X}function pe(e){if(!se(X,e)){X=e;for(let t of Array.from(Z))try{t(e)}catch(e){console.error(`[page-list-cache] subscriber threw:`,e)}}}function me(e){if(Z.add(e),X!==null)try{e(X)}catch(e){console.error(`[page-list-cache] subscriber threw on replay:`,e)}return()=>{Z.delete(e)}}var he=`open-knowledge:documents-changed`,ge=new Set(c.options);function _e(e){return e===void 0||!Array.isArray(e)?[`files`]:[...new Set(e.filter(e=>ge.has(e)))]}function ve(e=[`files`]){window.dispatchEvent(new CustomEvent(he,{detail:{channels:_e(e)}}))}function ye(e){let t=t=>{e(_e(t instanceof CustomEvent?t.detail?.channels:void 0))};return window.addEventListener(he,t),()=>window.removeEventListener(he,t)}var be=`open-knowledge:branch-changed`;function xe(e){window.dispatchEvent(new CustomEvent(be,{detail:{branch:e}}))}function Se(e){let t=t=>{if(!(t instanceof CustomEvent))return;let n=t.detail;e(n?.branch??null)};return window.addEventListener(be,t),()=>window.removeEventListener(be,t)}var Ce=`open-knowledge:templates-changed`;function we(){window.dispatchEvent(new CustomEvent(Ce))}function Te(e){let t=()=>e();return window.addEventListener(Ce,t),()=>window.removeEventListener(Ce,t)}function $(e){return e.trim().replace(/^\.\/+/,``).replace(/^\/+/,``).replace(/\.mdx?$/i,``)}function Ee(e){let t=$(e);return t?`${t}.md`:`untitled.md`}function De(e){let t=$(e),n=t.lastIndexOf(`/`);return{initialDir:n>0?t.slice(0,n):``,suggestedName:`${n>=0?t.slice(n+1):t||`untitled`}.md`}}function Oe(e){let t=e.trim();return{normalizedTarget:$(t).replace(/\/+$/g,``),expectsFolder:/\/+$/.test(t)}}function ke(e){let t=new Set;for(let n of e)for(let e of ie(n))t.add(e);return t}function Ae(e,t){if(!t)return;let n=o(e);if(n)return t.get(n)}function je(e,t){if(!t||e.includes(`/`))return;let n=o(e);if(n)return t.get(n)}function Me(e,t){let{normalizedTarget:n,expectsFolder:r}=Oe(e);if(!n)return{kind:`missing`,target:n};if(!r&&t.pages.has(n))return{kind:`doc`,target:n,docName:n};if(!r){let e=Ae(n,t.pagesBySlug);if(e)return{kind:`doc`,target:e,docName:e}}let i=`${n}/index`;if(t.pages.has(i))return{kind:`folder-index`,target:n,folderPath:n,docName:i,noteKind:`canonical-index`};let a=n.split(`/`).pop(),o=a?`${n}/${a}`:null;if(o&&t.pages.has(o))return{kind:`folder-index`,target:n,folderPath:n,docName:o,noteKind:`legacy-folder-note`};if(!r){let e=je(n,t.pagesByBasename);if(e)return{kind:`doc`,target:e,docName:e}}return(t.folderPaths??ke(t.pages)).has(n)?{kind:`folder`,target:n,folderPath:n}:{kind:`missing`,target:n}}function Ne(e){return e.kind===`folder-index`?{kind:`folder`,target:e.folderPath,folderPath:e.folderPath}:e}function Pe(e,t,n=a){return typeof t!=`number`||!s(t,n)?null:{kind:`large-file`,target:e,docName:e,size:t,limit:n}}function Fe(e,t,n=a){return e.kind!==`doc`&&e.kind!==`folder-index`?e:Pe(e.docName,t.get(e.docName)?.size,n)??e}function Ie(e){switch(e.kind){case`doc`:case`folder-index`:case`large-file`:return e.docName;case`missing`:return e.target;case`asset`:case`folder`:return null}}var Le=r(),Re=(0,W.createContext)(null);function ze(e,t){if(t.size===0)return new Set(e);let n=new Set(e);for(let e of t)n.add(e);return n}function Be(e,t){if(e.size===0)return new Set;let n=new Set;for(let r of e)t.has(r)||n.add(r);return n}function Ve(e,t){let n=new Map(e);for(let e of t)n.has(e)||n.set(e,e);return n}async function He(){let e=await fetch(`/api/pages`);if(!e.ok){let t=await e.json().catch(()=>null);throw Error(G(t)??`/api/pages responded with ${e.status}`)}let t=await e.json();return Array.isArray(t.pages)?t.pages:[]}async function Ue(){let e=await fetch(`/api/documents`);if(!e.ok){let t=await e.json().catch(()=>null);throw Error(G(t)??`/api/documents responded with ${e.status}`)}let t=await e.json();return Array.isArray(t.documents)?{assetPaths:t.documents.filter(e=>e.kind===`asset`&&typeof e.path==`string`&&e.path.length>0).map(e=>e.path),folderPaths:t.documents.filter(e=>e.kind===`folder`&&typeof e.path==`string`&&e.path.length>0).map(e=>e.path),filePaths:t.documents.filter(e=>e.kind===`file`&&typeof e.path==`string`&&e.path.length>0).map(e=>e.path)}:{assetPaths:[],folderPaths:[],filePaths:[]}}function We(e){console.error(`[PageListContext] Failed to load pages:`,e)}function Ge(e){console.warn(`[PageListContext] Failed to load referenced assets:`,e)}function Ke(e){let t=(0,ne.c)(54),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=new Set,t[0]=r):r=t[0];let[i,a]=(0,W.useState)(r),s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Map,t[1]=s):s=t[1];let[c,l]=(0,W.useState)(s),u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,t[2]=u):u=t[2];let[d,ee]=(0,W.useState)(u),f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=new Set,t[3]=f):f=t[3];let[p,m]=(0,W.useState)(f),h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=new Set,t[4]=h):h=t[4];let[g,_]=(0,W.useState)(h),v;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(v=new Set,t[5]=v):v=t[5];let[y,b]=(0,W.useState)(v),x;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(x=new Set,t[6]=x):x=t[6];let[S,C]=(0,W.useState)(x),[w,T]=(0,W.useState)(!0),[E,D]=(0,W.useState)(null),O=(0,W.useRef)(0),k;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(k=function(){let e=O.current+=1;Promise.all([He(),Ue().catch(Xe)]).then(t=>{let[n,r]=t;if(e!==O.current)return;let i=new Set(n.map(Ye));a(i),l(new Map(n.map(Je))),ee(new Map(n.map(qe))),m(new Set(r.assetPaths)),_(new Set(r.folderPaths)),b(new Set(r.filePaths)),C(e=>Be(e,i)),D(null)}).catch(t=>{e===O.current&&(We(t),D(t instanceof Error?t.message:`Failed to load pages`))}).finally(()=>{e===O.current&&T(!1)})},t[7]=k):k=t[7];let A=k,j;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=function(e){C(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n}),D(null)},t[8]=j):j=t[8];let te=j,M,N;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{A();let e=()=>{document.visibilityState===`visible`&&A()};window.addEventListener(`focus`,e),window.addEventListener(`visibilitychange`,e);let t=ye(e=>{e.includes(`files`)&&A()});return()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`visibilitychange`,e),t()}},N=[],t[9]=M,t[10]=N):(M=t[9],N=t[10]),(0,W.useEffect)(M,N);let P,F,I,L,R,z,B,V;if(t[11]!==S||t[12]!==p||t[13]!==y||t[14]!==g||t[15]!==d||t[16]!==c||t[17]!==i){z=ze(i,S);let e;t[26]!==S||t[27]!==c?(e=Ve(c,S),t[26]=S,t[27]=c,t[28]=e):e=t[28],R=e,L=d,P=p,F=y,I=new Set([...ke(z),...g]),B=le(z,o),V=ue(z,o),t[11]=S,t[12]=p,t[13]=y,t[14]=g,t[15]=d,t[16]=c,t[17]=i,t[18]=P,t[19]=F,t[20]=I,t[21]=L,t[22]=R,t[23]=z,t[24]=B,t[25]=V}else P=t[18],F=t[19],I=t[20],L=t[21],R=t[22],z=t[23],B=t[24],V=t[25];let H=V,U;t[29]===d?U=t[30]:(U=de(d),t[29]=d,t[30]=U);let G=U,K,q;t[31]!==P||t[32]!==F||t[33]!==I||t[34]!==G||t[35]!==z||t[36]!==H||t[37]!==B?(K=()=>{pe({pages:z,folderPaths:I,pagesBySlug:B,pagesByBasename:H,assetPaths:P,filePaths:F,pageIcons:G})},q=[z,I,B,H,P,F,G],t[31]=P,t[32]=F,t[33]=I,t[34]=G,t[35]=z,t[36]=H,t[37]=B,t[38]=K,t[39]=q):(K=t[38],q=t[39]),(0,W.useEffect)(K,q);let J;t[40]!==P||t[41]!==E||t[42]!==F||t[43]!==I||t[44]!==w||t[45]!==L||t[46]!==R||t[47]!==z||t[48]!==H||t[49]!==B?(J={pages:z,pagesBySlug:B,pagesByBasename:H,pageTitles:R,pageMeta:L,folderPaths:I,assetPaths:P,filePaths:F,loading:w,error:E,refetch:A,addPage:te},t[40]=P,t[41]=E,t[42]=F,t[43]=I,t[44]=w,t[45]=L,t[46]=R,t[47]=z,t[48]=H,t[49]=B,t[50]=J):J=t[50];let Y;return t[51]!==n||t[52]!==J?(Y=(0,Le.jsx)(Re,{value:J,children:n}),t[51]=n,t[52]=J,t[53]=Y):Y=t[53],Y}function qe(e){return[e.docName,{size:e.size,modified:e.modified,docExt:e.docExt,icon:e.icon}]}function Je(e){return[e.docName,e.title]}function Ye(e){return e.docName}function Xe(e){return Ge(e),{assetPaths:[],folderPaths:[],filePaths:[]}}function Ze(){let e=(0,W.use)(Re);if(!e)throw Error(`usePageList must be used within <PageListProvider />`);return e}function Qe(){return(0,W.use)(Re)}var $e=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),et=t(((e,t)=>{var n=$e();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),tt=t(((e,t)=>{t.exports=et()()}));export{H as A,ee as B,K as C,Y as D,re as E,P as F,u as H,L as I,z as L,R as M,I as N,G as O,U as P,F as R,oe as S,J as T,d as V,ye as _,Ie as a,me as b,Me as c,Ee as d,$ as f,Se as g,we as h,Ze as i,M as j,N as k,Fe as l,ve as m,Ke as n,Ne as o,xe as p,Qe as r,Pe as s,tt as t,De as u,Te as v,q as w,ae as x,fe as y,te as z};
@@ -1 +1 @@
1
- import{c as e}from"./prop-types-CqTEMXrE.js";function t(e){switch(e.kind){case`doc`:case`large-file`: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
+ import{c as e}from"./prop-types-BovHZ4kt.js";function t(e){switch(e.kind){case`doc`:case`large-file`: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};
@@ -48,7 +48,7 @@
48
48
  -->
49
49
  <script>(() => { let t = 'system'; try { const r = localStorage.getItem('ok-theme-v1'); if (r === 'light' || r === 'dark' || r === 'system') t = r; } catch {} let dark = t === 'dark'; if (t === 'system') { try { dark = window.matchMedia('(prefers-color-scheme: dark)').matches; } catch {} } if (dark) document.documentElement.classList.add('dark'); if (window.okDesktop) document.documentElement.classList.add('electron-mode'); })();</script>
50
50
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
51
- <script type="module" crossorigin src="./assets/index-Cb45dDN8.js"></script>
51
+ <script type="module" crossorigin src="./assets/index-BqbmV5y6.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-nBRha8PK.js">
@@ -68,22 +68,22 @@
68
68
  <link rel="modulepreload" crossorigin href="./assets/tooltip-Bp4cM4E8.js">
69
69
  <link rel="modulepreload" crossorigin href="./assets/trace-api-DPMyR1_m.js">
70
70
  <link rel="modulepreload" crossorigin href="./assets/dist-CkyAinZx.js">
71
- <link rel="modulepreload" crossorigin href="./assets/prop-types-CqTEMXrE.js">
71
+ <link rel="modulepreload" crossorigin href="./assets/prop-types-BovHZ4kt.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/propagation-api-qAYD7s-v.js">
73
73
  <link rel="modulepreload" crossorigin href="./assets/collapsible-CiYR1NR5.js">
74
74
  <link rel="modulepreload" crossorigin href="./assets/dist-rFfpDyC7.js">
75
75
  <link rel="modulepreload" crossorigin href="./assets/dialog-CtMCOb1V.js">
76
- <link rel="modulepreload" crossorigin href="./assets/DocumentContext-BK44vUOF.js">
76
+ <link rel="modulepreload" crossorigin href="./assets/DocumentContext-Db8zz1C8.js">
77
77
  <link rel="modulepreload" crossorigin href="./assets/panel-B_EgE6h3.js">
78
- <link rel="modulepreload" crossorigin href="./assets/OpenInAgentMenuRequestContext-Dn-T6fee.js">
78
+ <link rel="modulepreload" crossorigin href="./assets/OpenInAgentMenuRequestContext-DTXpMpI9.js">
79
79
  <link rel="modulepreload" crossorigin href="./assets/checkbox-LNtTTZgr.js">
80
80
  <link rel="modulepreload" crossorigin href="./assets/dist-qcpgtxJO.js">
81
81
  <link rel="modulepreload" crossorigin href="./assets/textarea-BeqA3EKD.js">
82
82
  <link rel="modulepreload" crossorigin href="./assets/toggle-group-Df7XaPvr.js">
83
- <link rel="modulepreload" crossorigin href="./assets/config-validation-events-BFEw_0e9.js">
83
+ <link rel="modulepreload" crossorigin href="./assets/config-validation-events-CJxHy5ln.js">
84
84
  <link rel="modulepreload" crossorigin href="./assets/agent-presence-CarzuseD.js">
85
85
  <link rel="modulepreload" crossorigin href="./assets/project-paths-By95zyI0.js">
86
- <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-DkDGdaxv.js">
86
+ <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-ck2sTXFV.js">
87
87
  <link rel="modulepreload" crossorigin href="./assets/terminal-theme-BhdZI3O9.js">
88
88
  <link rel="modulepreload" crossorigin href="./assets/keyboard-shortcuts-CqOYTsQU.js">
89
89
  <link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-BmlKYN7O.js">
@@ -1,2 +1,2 @@
1
- import{h as e,n as t}from"./init-DwD9VP_V.mjs";import{t as n}from"./is-object-Cg453afR.mjs";import{existsSync as r,readFileSync as i}from"node:fs";import{join as a}from"node:path";const o=[[`@inkeep/open-knowledge`,`ui`],[`-y`,`@inkeep/open-knowledge`,`ui`],t];function s(e){if(e.runtimeExecutable===`/bin/sh`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[2];if(typeof t==`string`){if(t.includes(`# ok-ui-v1`))return`canonical`;if(/# ok-ui-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`npx`&&Array.isArray(e.runtimeArgs)){for(let t of o)if(c(e.runtimeArgs,t))return`legacy-bare`}return`preserved`}function c(e,t){if(e.length!==t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function l(t){let o=t.logger??u,c=a(t.projectDir,`.claude`,`launch.json`);if(t.reclaimDisableEnv===`1`)return o({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:c,outcome:`skipped-reclaim-disabled`},repairedCount:0};if(!r(c))return{outcome:{configPath:c,outcome:`no-file`},repairedCount:0};let l;try{let e=i(c,`utf-8`).trim();l=e?JSON.parse(e):{}}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`launch-json-repair-read-failed`,configPath:c,error:t}),{outcome:{configPath:c,outcome:`read-failed`,error:t},repairedCount:0}}if(!n(l)){let e=`launch.json root is not an object`;return o({event:`launch-json-repair-read-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`read-failed`,error:e},repairedCount:0}}let d=l.configurations;if(!Array.isArray(d))return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let f=d.find(e=>n(e)&&e.name===`open-knowledge-ui`);if(!f)return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let p=s(f);if(p===`canonical`)return{outcome:{configPath:c,outcome:`canonical`},repairedCount:0};if(p===`preserved`)return{outcome:{configPath:c,outcome:`preserved`},repairedCount:0};let m=e(t.projectDir,{mode:`published`});if(m.action===`failed`){let e=m.error??`unknown write failure`;return o({event:`launch-json-repair-write-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`write-failed`,error:e},repairedCount:0}}return o({event:`launch-json-repair-applied`,configPath:c}),{outcome:{configPath:c,outcome:`repaired`},repairedCount:1}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairLaunchJson};
2
- //# sourceMappingURL=repair-launch-json-BaECMPtB.mjs.map
1
+ import{h as e,n as t}from"./init-Cd8LxZ6v.mjs";import{t as n}from"./is-object-Cg453afR.mjs";import{existsSync as r,readFileSync as i}from"node:fs";import{join as a}from"node:path";const o=[[`@inkeep/open-knowledge`,`ui`],[`-y`,`@inkeep/open-knowledge`,`ui`],t];function s(e){if(e.runtimeExecutable===`/bin/sh`&&Array.isArray(e.runtimeArgs)){let t=e.runtimeArgs[2];if(typeof t==`string`){if(t.includes(`# ok-ui-v1`))return`canonical`;if(/# ok-ui-v\d+/.test(t))return`legacy-bare`}return`preserved`}if(e.runtimeExecutable===`npx`&&Array.isArray(e.runtimeArgs)){for(let t of o)if(c(e.runtimeArgs,t))return`legacy-bare`}return`preserved`}function c(e,t){if(e.length!==t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0}function l(t){let o=t.logger??u,c=a(t.projectDir,`.claude`,`launch.json`);if(t.reclaimDisableEnv===`1`)return o({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:c,outcome:`skipped-reclaim-disabled`},repairedCount:0};if(!r(c))return{outcome:{configPath:c,outcome:`no-file`},repairedCount:0};let l;try{let e=i(c,`utf-8`).trim();l=e?JSON.parse(e):{}}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`launch-json-repair-read-failed`,configPath:c,error:t}),{outcome:{configPath:c,outcome:`read-failed`,error:t},repairedCount:0}}if(!n(l)){let e=`launch.json root is not an object`;return o({event:`launch-json-repair-read-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`read-failed`,error:e},repairedCount:0}}let d=l.configurations;if(!Array.isArray(d))return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let f=d.find(e=>n(e)&&e.name===`open-knowledge-ui`);if(!f)return{outcome:{configPath:c,outcome:`no-entry`},repairedCount:0};let p=s(f);if(p===`canonical`)return{outcome:{configPath:c,outcome:`canonical`},repairedCount:0};if(p===`preserved`)return{outcome:{configPath:c,outcome:`preserved`},repairedCount:0};let m=e(t.projectDir,{mode:`published`});if(m.action===`failed`){let e=m.error??`unknown write failure`;return o({event:`launch-json-repair-write-failed`,configPath:c,error:e}),{outcome:{configPath:c,outcome:`write-failed`,error:e},repairedCount:0}}return o({event:`launch-json-repair-applied`,configPath:c}),{outcome:{configPath:c,outcome:`repaired`},repairedCount:1}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{l as repairLaunchJson};
2
+ //# sourceMappingURL=repair-launch-json-B-dpVcye.mjs.map
@@ -1,2 +1,2 @@
1
- import{d as e,g as t}from"./init-DwD9VP_V.mjs";import{c as n,o as r,r as i}from"./write-project-skill-joTSU0Hh.mjs";import{t as a}from"./mcp-migrate-event-D0NrGjvc.mjs";import{homedir as o}from"node:os";function s(e){let t=e.logger??u,n=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return t({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of i){let i=r[o],s=c(()=>i.configPath(``,n));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:i,home:n,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),i.projectConfigPath){let n=i.projectConfigPath,r=c(()=>n(e.projectDir));r!==null&&a.push(l({scope:`project`,editorId:o,target:i,home:void 0,cwd:e.projectDir,configPath:r,configPathOverride:r,logger:t}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(r){let i={scope:r.scope,editorId:r.editorId,configPath:r.configPath},o=e(r.target,r.cwd,r.home,r.configPathOverride);if(o===null)return{...i,outcome:`no-entry`};if(n(o))return{...i,outcome:`canonical`};r.logger(a({scope:r.scope,surface:`cli-repair`,editorId:r.editorId,configPath:r.configPath,priorEntry:o}));let s=t(r.target,r.cwd,{mode:`published`,skipAvailabilityCheck:!0},r.home,r.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return r.logger({event:`mcp-config-repair-write-failed`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,error:e}),{...i,outcome:`write-failed`,error:e}}return{...i,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
- //# sourceMappingURL=repair-mcp-configs-UGmkTTrE.mjs.map
1
+ import{d as e,g as t}from"./init-Cd8LxZ6v.mjs";import{c as n,o as r,r as i}from"./write-project-skill-BgQMKWNq.mjs";import{t as a}from"./mcp-migrate-event-D0NrGjvc.mjs";import{homedir as o}from"node:os";function s(e){let t=e.logger??u,n=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return t({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of i){let i=r[o],s=c(()=>i.configPath(``,n));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:i,home:n,cwd:``,configPath:s,configPathOverride:void 0,logger:t})),i.projectConfigPath){let n=i.projectConfigPath,r=c(()=>n(e.projectDir));r!==null&&a.push(l({scope:`project`,editorId:o,target:i,home:void 0,cwd:e.projectDir,configPath:r,configPathOverride:r,logger:t}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(r){let i={scope:r.scope,editorId:r.editorId,configPath:r.configPath},o=e(r.target,r.cwd,r.home,r.configPathOverride);if(o===null)return{...i,outcome:`no-entry`};if(n(o))return{...i,outcome:`canonical`};r.logger(a({scope:r.scope,surface:`cli-repair`,editorId:r.editorId,configPath:r.configPath,priorEntry:o}));let s=t(r.target,r.cwd,{mode:`published`,skipAvailabilityCheck:!0},r.home,r.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return r.logger({event:`mcp-config-repair-write-failed`,scope:r.scope,editorId:r.editorId,configPath:r.configPath,error:e}),{...i,outcome:`write-failed`,error:e}}return{...i,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
+ //# sourceMappingURL=repair-mcp-configs-D80wng8R.mjs.map
@@ -0,0 +1 @@
1
+ import{t as e}from"./repair-skills-Dz7t_0qc.mjs";export{e as repairSkills};
@@ -1,3 +1,3 @@
1
- import{t as e}from"./esm-BLMtE3s6.mjs";import{Mr as t,Or as n,Rr as r,Vi as i,wr as a}from"./dist-Fva5nwJ3.mjs";import{i as o,o as s,t as c}from"./write-project-skill-joTSU0Hh.mjs";import{existsSync as l,mkdirSync as u,readFileSync as d,readdirSync as f,rmSync as p,statSync as m,writeFileSync as h}from"node:fs";import{dirname as g,join as _,resolve as v}from"node:path";import{homedir as y}from"node:os";const b=[{hostDir:`.claude`,editorId:`claude`},{hostDir:`.cursor`,editorId:`cursor`},{hostDir:`.agents`,editorId:`codex`}],x=`open-knowledge-discovery`,S=[`.agents`,`skills`,x],C={existsSync:e=>l(e),isDirectory:e=>{try{return m(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>f(e),readFileSync:e=>d(e),writeFileSync:(e,t)=>{h(e,t)},mkdirSync:(e,t)=>{u(e,t)},rmSync:(e,t)=>{p(e,t)}},w={resolveProjectBundledSkillDir:()=>r(`project`,{checkDesktop:!1}),resolveDiscoveryBundledSkillDir:()=>r(`discovery`,{checkDesktop:!1}),readBundledVersion:()=>a(),readRecordedVersion:e=>n(e,`cli-hosts`),writeRecordedVersion:(e,t)=>i(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>t(e)};function T(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function E(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(g(t),{recursive:!0}),D(e,t,n)}function D(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=_(e,r),a=_(t,r);n.isDirectory(i)?D(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function O(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(o):!1}catch{return!1}}function k(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of b){let o=_(e,t.hostDir,`skills`,`open-knowledge`),l=_(o,`SKILL.md`),u=n.existsSync(l),d=s[t.editorId]?.projectConfigPath?.(e),f=!u&&O(d,n);if(!u&&!f){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{c(o,e),E(i,o,n);let s=u?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:u?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function A(e,t,n,r){let i=e=>{t.recordEvent(e).catch(()=>{})},a=()=>new Date().toISOString(),o;try{o=await t.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return r({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let s;try{s=await t.readRecordedVersion(e)}catch(e){r({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),s=null}if(s!==null&&s===o)return r({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:o}),{outcome:`skipped`,reason:`version-current`};let c;try{c=t.resolveDiscoveryBundledSkillDir()}catch(e){let t=e instanceof Error?e.message:String(e);return r({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:t}),i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`bundle-missing:${t}`}),{outcome:`skipped`,reason:`bundle-missing`}}let l=[],u=_(e,...S),d=n.existsSync(u);try{E(c,u,n),l.push({kind:`central`,path:u,outcome:d?`overwritten`:`written`}),r({event:`user-skill-reclaim-central-written`,scope:`user`,path:u,preexisting:d,version:o})}catch(e){let t=e instanceof Error?e.message:String(e);l.push({kind:`central`,path:u,outcome:`failed`,error:t}),r({event:`user-skill-reclaim-central-failed`,scope:`user`,path:u,error:t})}for(let t of b){let i=_(e,t.hostDir),a=_(i,`skills`,x);if(a===u){l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:`skipped-collapsed-with-central`});continue}if(!n.existsSync(i)){l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:`skipped-host-absent`});continue}let s=n.existsSync(a);try{E(c,a,n),l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:s?`overwritten`:`written`}),r({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:t.editorId,hostDir:t.hostDir,path:a,preexisting:s,version:o})}catch(e){let n=e instanceof Error?e.message:String(e);l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:`failed`,error:n}),r({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:t.editorId,hostDir:t.hostDir,path:a,error:n})}}let f=l.find(e=>e.kind===`central`);if(f?.outcome===`written`||f?.outcome===`overwritten`){let n=null;try{await t.writeRecordedVersion(e,o),r({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:o})}catch(e){n=e instanceof Error?e.message:String(e),r({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:o,error:n})}i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:n===null?`installed`:`failed`,version:o,...n===null?{}:{reason:`state-write-failed:${n}`}})}else{let e=l.some(e=>e.kind===`host`&&e.outcome===`failed`);i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,version:o,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:o,entries:l}}async function j(e){let t=e.logger??T,n=e.fs??C,r=e.home??y(),i={...w,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:k(e.projectDir,i,n,t),user:await A(r,i,n,t)}}function M(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function N(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
1
+ import{t as e}from"./esm-BLMtE3s6.mjs";import{Mr as t,Or as n,Rr as r,Vi as i,wr as a}from"./dist-BpcqX30a.mjs";import{i as o,o as s,t as c}from"./write-project-skill-BgQMKWNq.mjs";import{existsSync as l,mkdirSync as u,readFileSync as d,readdirSync as f,rmSync as p,statSync as m,writeFileSync as h}from"node:fs";import{dirname as g,join as _,resolve as v}from"node:path";import{homedir as y}from"node:os";const b=[{hostDir:`.claude`,editorId:`claude`},{hostDir:`.cursor`,editorId:`cursor`},{hostDir:`.agents`,editorId:`codex`}],x=`open-knowledge-discovery`,S=[`.agents`,`skills`,x],C={existsSync:e=>l(e),isDirectory:e=>{try{return m(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>f(e),readFileSync:e=>d(e),writeFileSync:(e,t)=>{h(e,t)},mkdirSync:(e,t)=>{u(e,t)},rmSync:(e,t)=>{p(e,t)}},w={resolveProjectBundledSkillDir:()=>r(`project`,{checkDesktop:!1}),resolveDiscoveryBundledSkillDir:()=>r(`discovery`,{checkDesktop:!1}),readBundledVersion:()=>a(),readRecordedVersion:e=>n(e,`cli-hosts`),writeRecordedVersion:(e,t)=>i(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>t(e)};function T(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function E(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(g(t),{recursive:!0}),D(e,t,n)}function D(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=_(e,r),a=_(t,r);n.isDirectory(i)?D(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function O(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(o):!1}catch{return!1}}function k(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of b){let o=_(e,t.hostDir,`skills`,`open-knowledge`),l=_(o,`SKILL.md`),u=n.existsSync(l),d=s[t.editorId]?.projectConfigPath?.(e),f=!u&&O(d,n);if(!u&&!f){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{c(o,e),E(i,o,n);let s=u?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:u?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function A(e,t,n,r){let i=e=>{t.recordEvent(e).catch(()=>{})},a=()=>new Date().toISOString(),o;try{o=await t.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return r({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let s;try{s=await t.readRecordedVersion(e)}catch(e){r({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),s=null}if(s!==null&&s===o)return r({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:o}),{outcome:`skipped`,reason:`version-current`};let c;try{c=t.resolveDiscoveryBundledSkillDir()}catch(e){let t=e instanceof Error?e.message:String(e);return r({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:t}),i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`bundle-missing:${t}`}),{outcome:`skipped`,reason:`bundle-missing`}}let l=[],u=_(e,...S),d=n.existsSync(u);try{E(c,u,n),l.push({kind:`central`,path:u,outcome:d?`overwritten`:`written`}),r({event:`user-skill-reclaim-central-written`,scope:`user`,path:u,preexisting:d,version:o})}catch(e){let t=e instanceof Error?e.message:String(e);l.push({kind:`central`,path:u,outcome:`failed`,error:t}),r({event:`user-skill-reclaim-central-failed`,scope:`user`,path:u,error:t})}for(let t of b){let i=_(e,t.hostDir),a=_(i,`skills`,x);if(a===u){l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:`skipped-collapsed-with-central`});continue}if(!n.existsSync(i)){l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:`skipped-host-absent`});continue}let s=n.existsSync(a);try{E(c,a,n),l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:s?`overwritten`:`written`}),r({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:t.editorId,hostDir:t.hostDir,path:a,preexisting:s,version:o})}catch(e){let n=e instanceof Error?e.message:String(e);l.push({kind:`host`,editorId:t.editorId,hostDir:t.hostDir,path:a,outcome:`failed`,error:n}),r({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:t.editorId,hostDir:t.hostDir,path:a,error:n})}}let f=l.find(e=>e.kind===`central`);if(f?.outcome===`written`||f?.outcome===`overwritten`){let n=null;try{await t.writeRecordedVersion(e,o),r({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:o})}catch(e){n=e instanceof Error?e.message:String(e),r({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:o,error:n})}i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:n===null?`installed`:`failed`,version:o,...n===null?{}:{reason:`state-write-failed:${n}`}})}else{let e=l.some(e=>e.kind===`host`&&e.outcome===`failed`);i({ts:a(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,version:o,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:o,entries:l}}async function j(e){let t=e.logger??T,n=e.fs??C,r=e.home??y(),i={...w,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:k(e.projectDir,i,n,t),user:await A(r,i,n,t)}}function M(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function N(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
2
2
  `)}function P(){return new e(`repair-skills`).description("Refresh bundled SKILL.md files for installed AI editors (project-local + user-global). Runs automatically during `ok start`; this command forces an explicit sweep.").action(async()=>{let e=await j({projectDir:v(process.cwd()),reclaimDisableEnv:process.env.OK_RECLAIM_DISABLE??null});process.stdout.write(`${N(e)}\n`),process.exitCode=M(e)})}export{P as n,j as t};
3
- //# sourceMappingURL=repair-skills-1VFQ3EDA.mjs.map
3
+ //# sourceMappingURL=repair-skills-Dz7t_0qc.mjs.map