@inkeep/open-knowledge 0.39.0-beta.10 → 0.39.0-beta.3

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 (129) hide show
  1. package/dist/{acp-harness-probe-D4ordxfH.mjs → acp-harness-probe-Bg1atemG.mjs} +2 -2
  2. package/dist/assets/skills/discovery/SKILL.md +1 -1
  3. package/dist/assets/skills/project/SKILL.md +1 -1
  4. package/dist/assets/skills/write-skill/SKILL.md +1 -1
  5. package/dist/cli.mjs +7 -7
  6. package/dist/constants-Rp7EoOB7.mjs +2 -0
  7. package/dist/{git-handle-YzX39hWc.mjs → git-handle-B30Z3S49.mjs} +2 -2
  8. package/dist/git-handle-RhB108wn.mjs +1 -0
  9. package/dist/index.mjs +1 -1
  10. package/dist/init-CKZIPaiA.mjs +1 -0
  11. package/dist/{init-k46RvSEs.mjs → init-CpMXRl_g.mjs} +3 -3
  12. package/dist/{launch-json-removal-DsEHim7H.mjs → launch-json-removal-DhU1Xqfc.mjs} +2 -2
  13. package/dist/loader-B_2Fe611.mjs +1 -0
  14. package/dist/{loader-BikkUXWa.mjs → loader-DZzEhiHZ.mjs} +2 -2
  15. package/dist/md-manager-DqdW_K1F.mjs +2 -0
  16. package/dist/{open-browser-kdF24mgk.mjs → open-browser-DFtApOUW.mjs} +2 -2
  17. package/dist/parse-worker.mjs +1 -1
  18. package/dist/{preview-7xwALQvU.mjs → preview-CLsAc6M4.mjs} +2 -2
  19. package/dist/preview-DmCswmWV.mjs +1 -0
  20. package/dist/public/assets/{ActivityModeContent-BQLss-BE.js → ActivityModeContent-Bg_ZrDuR.js} +1 -1
  21. package/dist/public/assets/{AgentDiffPane-B_TmNOOS.js → AgentDiffPane-Df2Ebg3w.js} +1 -1
  22. package/dist/public/assets/{AgentThreadClientBinder-Be-VMGZV.js → AgentThreadClientBinder-CBCAdG4p.js} +1 -1
  23. package/dist/public/assets/CodeMirrorPropInput-DqNDfEnD.js +3 -0
  24. package/dist/public/assets/{CopyButton-Cbumgow3.js → CopyButton-D0gTyMvW.js} +1 -1
  25. package/dist/public/assets/DocumentContext-CmrjoHuB.js +38 -0
  26. package/dist/public/assets/{EnableSyncConfirmDialog-CbuJxerH.js → EnableSyncConfirmDialog-DrkGGVev.js} +1 -1
  27. package/dist/public/assets/FeedbackForm-CXXvUOWy.js +1 -0
  28. package/dist/public/assets/{GraphPanel-CDzcx7vs.js → GraphPanel-CG7ehFyf.js} +1 -1
  29. package/dist/public/assets/{ManagedArtifactProperties-Bd4rE8Ks.js → ManagedArtifactProperties-BUrfUAFV.js} +1 -1
  30. package/dist/public/assets/{McpConsentDialogBody-OqDOF7x4.js → McpConsentDialogBody-BEu_w4lu.js} +1 -1
  31. package/dist/public/assets/{MermaidDocEditor-B6KK6qX2.js → MermaidDocEditor-P9f8X7tU.js} +1 -1
  32. package/dist/public/assets/PropertyPanel-DPlnLphg.js +2 -0
  33. package/dist/public/assets/{ReportBugDialogBody-AEXnxadV.js → ReportBugDialogBody--5aXNg8I.js} +1 -1
  34. package/dist/public/assets/SettingsDialogBody-CU5kCI5i.js +7 -0
  35. package/dist/public/assets/{ShareBranchSwitchDialog-CzeHnBZ6.js → ShareBranchSwitchDialog-Dz3x9STZ.js} +1 -1
  36. package/dist/public/assets/{ShareReceiveDialog-DGTKtAY6.js → ShareReceiveDialog-B4PVwjNG.js} +1 -1
  37. package/dist/public/assets/{ShareReceiveMissDialog-BS5BCjjQ.js → ShareReceiveMissDialog-ByUnHZEP.js} +1 -1
  38. package/dist/public/assets/{SkillEditorActions-PVnPdxy2.js → SkillEditorActions-Dr52b0PZ.js} +1 -1
  39. package/dist/public/assets/{SourceEditor-YXhnts5y.js → SourceEditor-DWhkKcdC.js} +1 -1
  40. package/dist/public/assets/{TerminalPanel-DyJkPAsZ.js → TerminalPanel-BpSo4w0_.js} +3 -3
  41. package/dist/public/assets/{TerminalSessionsHost-CfucJ1z0.js → TerminalSessionsHost-DwnGMNOW.js} +2 -2
  42. package/dist/public/assets/{TerminalWindowApp-J6-xAbRj.js → TerminalWindowApp-qyjTEphl.js} +1 -1
  43. package/dist/public/assets/ThreadView-BNnswaVQ.js +4 -0
  44. package/dist/public/assets/{TimelineDiffPane-B9PP3AzZ.js → TimelineDiffPane-C3Dynvu3.js} +1 -1
  45. package/dist/public/assets/{agent-diff-store-BDu-qYpS.js → agent-diff-store-Bd0NDaYd.js} +1 -1
  46. package/dist/public/assets/{agent-visibility-BUmsS0vL.js → agent-visibility-bo7-lQPw.js} +1 -1
  47. package/dist/public/assets/auth-state-cache-Bw5WVU9G.js +11 -0
  48. package/dist/public/assets/client-version-Ti93fR_U.js +1 -0
  49. package/dist/public/assets/{config-provider-BvPGEDTw.js → config-provider-BMeRatQe.js} +2 -2
  50. package/dist/public/assets/{dist-DRspkp5n.js → dist-2zkQMrQC.js} +1 -1
  51. package/dist/public/assets/{dist-CDKZLcnD.js → dist-df-v6kvy.js} +68 -68
  52. package/dist/public/assets/{doc-hash-r2oc1gt-.js → doc-hash-NyLrtNo2.js} +1 -1
  53. package/dist/public/assets/{documents-events-DNDUkpJM.js → documents-events-BHJB8gGz.js} +1 -1
  54. package/dist/public/assets/download-wdc_OGNY.js +1 -0
  55. package/dist/public/assets/{file-tree-adapter-DOr3Nip1.js → file-tree-adapter-BnZwo5Ls.js} +1 -1
  56. package/dist/public/assets/follow-file-Db721Zx6.js +1 -0
  57. package/dist/public/assets/form-J8CRFj8p.js +1 -0
  58. package/dist/public/assets/index-CJ7E0pG6.css +1 -0
  59. package/dist/public/assets/index-QzlG_Dii.js +1995 -0
  60. package/dist/public/assets/index.esm-DRU91WyY.js +1 -0
  61. package/dist/public/assets/{keyboard-shortcuts-maIyJzSw.js → keyboard-shortcuts-Ctc7xams.js} +1 -1
  62. package/dist/public/assets/{lint-config-client-C7TVN28Z.js → lint-config-client-BwIg_Zty.js} +1 -1
  63. package/dist/public/assets/{navigation-targets-DhXblHdl.js → navigation-targets-D1rdXyAI.js} +1 -1
  64. package/dist/public/assets/{open-managed-artifact-tab-DokRsPIe.js → open-managed-artifact-tab-MjzvjrV8.js} +1 -1
  65. package/dist/public/assets/{pending-receive-nav-store-DYgvjLiq.js → pending-receive-nav-store-XNS4eahL.js} +1 -1
  66. package/dist/public/assets/{prop-types-IOhQSrD8.js → prop-types-C0wWXvTx.js} +1 -1
  67. package/dist/public/assets/{receive-store-BwEPjiP1.js → receive-store-B3ygF-LA.js} +1 -1
  68. package/dist/public/assets/{selection-context-DOeF93Po.js → selection-context-XP_iDOXs.js} +1 -1
  69. package/dist/public/assets/{skill-actions-D9Vn0ymW.js → skill-actions-DeZSwOo7.js} +1 -1
  70. package/dist/public/assets/{skills-api-CGbwE9vp.js → skills-api-vt4KnCX6.js} +1 -1
  71. package/dist/public/assets/{src-4ThOx6_s.js → src-BlUYczaV.js} +1 -1
  72. package/dist/public/assets/{target-navigation-intent-Beex9QTj.js → target-navigation-intent-DNrmu8Sx.js} +1 -1
  73. package/dist/public/assets/{telemetry-impl-C3Xj4Jzm.js → telemetry-impl-ThDnRQ01.js} +2 -2
  74. package/dist/public/assets/{telemetry-startup-mmznflLy.js → telemetry-startup-BYGi0S46.js} +1 -1
  75. package/dist/public/assets/{terminal-launch-events-C2tfnQr1.js → terminal-launch-events-vDhBoD8w.js} +1 -1
  76. package/dist/public/assets/{terminal-telemetry-zqEIM46I.js → terminal-telemetry-D1lMQO11.js} +1 -1
  77. package/dist/public/assets/thread-client-DH1Xs0By.js +1 -0
  78. package/dist/public/assets/{typing-burst-detector-D8mQRP5S.js → typing-burst-detector-D1_9pd2e.js} +1 -1
  79. package/dist/public/assets/{use-activity-panel-CasauzqS.js → use-activity-panel-BRDnfdbK.js} +1 -1
  80. package/dist/public/assets/{use-apply-config-color-theme-Ccfxcl-K.js → use-apply-config-color-theme-R1RZkk5a.js} +1 -1
  81. package/dist/public/assets/{use-collab-url-Cf1srbbW.js → use-collab-url-B-LUA0g9.js} +1 -1
  82. package/dist/public/assets/{use-live-xterm-theme-BpGfJKio.js → use-live-xterm-theme-DW54zfIk.js} +1 -1
  83. package/dist/public/assets/{use-terminal-enabled-BEEp7vb7.js → use-terminal-enabled-C0F3SkCA.js} +1 -1
  84. package/dist/public/assets/{use-timeline-entry-diff-C1lHV9NQ.js → use-timeline-entry-diff-BuOpZEh9.js} +4 -4
  85. package/dist/public/assets/{use-workspace-C1D_I03G.js → use-workspace-0T1cdRp3.js} +1 -1
  86. package/dist/public/assets/{workspace-paths-BKmDPpqj.js → workspace-paths-nkXut9sM.js} +1 -1
  87. package/dist/public/assets/zod-BmQcPlGk.js +1 -0
  88. package/dist/public/index.html +47 -46
  89. package/dist/{repair-launch-json-DfkJdcaq.mjs → repair-launch-json-C20Gi5-m.mjs} +2 -2
  90. package/dist/{repair-mcp-configs-x2RMcxiw.mjs → repair-mcp-configs-Ces42W_c.mjs} +2 -2
  91. package/dist/{repair-skills-BaZcFu4I.mjs → repair-skills-El5WwJ1f.mjs} +2 -2
  92. package/dist/repair-skills-uKDdEY2S.mjs +1 -0
  93. package/dist/{server-lock-BiAmhJ19.mjs → server-lock-1KyShewk.mjs} +2 -2
  94. package/dist/server-lock-CmiibuTm.mjs +1 -0
  95. package/dist/{src-DhzHOoTy.mjs → src-CAXZLaEf.mjs} +1 -1
  96. package/dist/{src-BTo9m5ju.mjs → src-FuRMJntf.mjs} +82 -82
  97. package/dist/{src-CesCI8CT.mjs → src-HL6eIl1M.mjs} +2 -2
  98. package/dist/{src-YSGKFci8.mjs → src-PY_3X_er.mjs} +291 -291
  99. package/dist/start-3xWydO0y.mjs +1 -0
  100. package/dist/{start-CxEa6bz8.mjs → start-C-j7oHYF.mjs} +2 -2
  101. package/dist/{write-project-skill-Dt58S1kj.mjs → write-project-skill-BxG7sNjS.mjs} +2 -2
  102. package/package.json +5 -5
  103. package/dist/constants-urnmCsZ5.mjs +0 -2
  104. package/dist/git-handle-BGt8xT_1.mjs +0 -1
  105. package/dist/init-X89T3lvj.mjs +0 -1
  106. package/dist/loader-CumUhU8o.mjs +0 -1
  107. package/dist/md-manager-DPNbV4Up.mjs +0 -2
  108. package/dist/preview-DIGjTM6K.mjs +0 -1
  109. package/dist/public/assets/CodeMirrorPropInput-Sjp30pzp.js +0 -3
  110. package/dist/public/assets/DocumentContext-4RBN9Oik.js +0 -38
  111. package/dist/public/assets/FeedbackForm-DapI_sIz.js +0 -1
  112. package/dist/public/assets/PropertyPanel-BwdCsrPn.js +0 -2
  113. package/dist/public/assets/SettingsDialogBody-CAkmpKWt.js +0 -7
  114. package/dist/public/assets/ThreadView-BvgNNafC.js +0 -6
  115. package/dist/public/assets/auth-state-cache-DI5ppoto.js +0 -11
  116. package/dist/public/assets/client-version-CNNfEvD2.js +0 -1
  117. package/dist/public/assets/follow-file-grI1hNx7.js +0 -1
  118. package/dist/public/assets/form-CTttIps7.js +0 -1
  119. package/dist/public/assets/index-Caf1XN80.css +0 -1
  120. package/dist/public/assets/index-CiCCiYAG.js +0 -1995
  121. package/dist/public/assets/separator-Cvkbg_YK.js +0 -1
  122. package/dist/public/assets/thread-client-DyotU42S.js +0 -1
  123. package/dist/repair-skills-BunyY3Wb.mjs +0 -1
  124. package/dist/server-lock-BwO1WEYX.mjs +0 -1
  125. package/dist/start-BVHPtKb9.mjs +0 -1
  126. /package/dist/public/assets/{__vite-browser-external-CW7faKnP.js → __vite-browser-external-BScWdAeE.js} +0 -0
  127. /package/dist/public/assets/{calendar-p-DzPplr.js → calendar-iAmN3Ysf.js} +0 -0
  128. /package/dist/public/assets/{copy-DmfcimOx.js → copy-Dwat-rG5.js} +0 -0
  129. /package/dist/public/assets/{share-metadata-rows-C7rJ-Cd0.js → share-metadata-rows-Do2le589.js} +0 -0
@@ -1,3 +1,3 @@
1
- import{C as e}from"./src-BTo9m5ju.mjs";import{Cr as t,Dr as n,Nr as r,Pr as i,Tr as a,br as o,kr as s,wr as c,yr as l}from"./src-YSGKFci8.mjs";import{a as u,l as d,t as f,u as p,x as m}from"./write-project-skill-Dt58S1kj.mjs";import{dirname as h,join as g,resolve as _}from"node:path";import{existsSync as v,mkdirSync as y,readFileSync as b,readdirSync as x,rmSync as S,statSync as C,writeFileSync as w}from"node:fs";import{homedir as T}from"node:os";const E={existsSync:e=>v(e),isDirectory:e=>{try{return C(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>x(e),readFileSync:e=>b(e),writeFileSync:(e,t)=>{w(e,t)},mkdirSync:(e,t)=>{y(e,t)},rmSync:(e,t)=>{S(e,t)}},D={resolveProjectBundledSkillDir:()=>s(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>s(e,{checkDesktop:!1}),readBundledVersion:()=>o(),readRecordedVersion:e=>t(e,`cli-hosts`),writeRecordedVersion:(e,t)=>a(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>n(e),readBundleDecision:(e,t)=>l(e,t),writeBundleDecision:(e,t,n)=>c(e,t,n),removeBundleFromDisk:(e,t)=>u(e,t)};function O(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function k(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(h(t),{recursive:!0}),A(e,t,n)}function A(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=g(e,r),a=g(t,r);n.isDirectory(i)?A(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function j(e,t,n,r,i,a){let o=[],s=g(e,`.agents`,`skills`,t),c=r.existsSync(s),l=!1;try{k(n,s,r),l=!0,o.push({kind:`central`,path:s,outcome:c?`overwritten`:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:c,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=g(e,c.hostDir),u=g(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}let d=r.existsSync(u);try{k(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:d?`overwritten`:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:d,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:l}}function M(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(`# ok-mcp-`):!1}catch{return!1}}function N(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=g(e,t.hostDir,`skills`,`open-knowledge`),s=g(o,`SKILL.md`),c=n.existsSync(s),l=d[t.editorId]?.projectConfigPath?.(e),u=!c&&M(l,n);if(!c&&!u){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{f(o,e),k(i,o,n);let s=c?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:c?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function P(t,n,a,o){let s=e=>{n.recordEvent(e).catch(()=>{})},c=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),s({ts:c(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){o({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of i)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return o({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),s({ts:c(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let i of d){let s=r[i.id],c=a.existsSync(g(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,i.id),o({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:i.id})}catch(e){o({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:i.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){o({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:i.id,error:e instanceof Error?e.message:String(e)})}p.push(i)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>a.existsSync(g(t,`.agents`,`skills`,r[e.id])));if(u!==null&&u===l&&m)return o({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],_=d.length===i.length,v=!0;for(let{id:e,sourceDir:n}of p){let i=j(t,r[e],n,a,o,l);h.push(...i.entries),i.centralWritten||(v=!1)}let y=h.some(e=>e.kind===`central`&&(e.outcome===`written`||e.outcome===`overwritten`));if(_&&v&&y){let e=null;try{await n.writeRecordedVersion(t,l),o({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),o({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t}of p)s({ts:c(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?`installed`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);s({ts:c(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:l,entries:h}}async function F(e){let t=e.logger??O,n=e.fs??E,r=e.home??T(),i={...D,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:N(e.projectDir,i,n,t),user:await P(r,i,n,t)}}function I(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function L(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
1
+ import{C as e}from"./src-FuRMJntf.mjs";import{Cr as t,Dr as n,Nr as r,Pr as i,Tr as a,br as o,kr as s,wr as c,yr as l}from"./src-PY_3X_er.mjs";import{a as u,l as d,t as f,u as p,x as m}from"./write-project-skill-BxG7sNjS.mjs";import{dirname as h,join as g,resolve as _}from"node:path";import{existsSync as v,mkdirSync as y,readFileSync as b,readdirSync as x,rmSync as S,statSync as C,writeFileSync as w}from"node:fs";import{homedir as T}from"node:os";const E={existsSync:e=>v(e),isDirectory:e=>{try{return C(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>x(e),readFileSync:e=>b(e),writeFileSync:(e,t)=>{w(e,t)},mkdirSync:(e,t)=>{y(e,t)},rmSync:(e,t)=>{S(e,t)}},D={resolveProjectBundledSkillDir:()=>s(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>s(e,{checkDesktop:!1}),readBundledVersion:()=>o(),readRecordedVersion:e=>t(e,`cli-hosts`),writeRecordedVersion:(e,t)=>a(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>n(e),readBundleDecision:(e,t)=>l(e,t),writeBundleDecision:(e,t,n)=>c(e,t,n),removeBundleFromDisk:(e,t)=>u(e,t)};function O(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function k(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(h(t),{recursive:!0}),A(e,t,n)}function A(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=g(e,r),a=g(t,r);n.isDirectory(i)?A(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function j(e,t,n,r,i,a){let o=[],s=g(e,`.agents`,`skills`,t),c=r.existsSync(s),l=!1;try{k(n,s,r),l=!0,o.push({kind:`central`,path:s,outcome:c?`overwritten`:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:c,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`central`,path:s,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-central-failed`,scope:`user`,path:s,error:t})}for(let c of p){let l=g(e,c.hostDir),u=g(l,`skills`,t);if(u===s){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-collapsed-with-central`});continue}if(!r.existsSync(l)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-host-absent`});continue}let d=r.existsSync(u);try{k(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:d?`overwritten`:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:d,version:a})}catch(e){let t=e instanceof Error?e.message:String(e);o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`failed`,error:t}),i({event:`user-skill-reclaim-host-failed`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,error:t})}}return{entries:o,centralWritten:l}}function M(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(`# ok-mcp-`):!1}catch{return!1}}function N(e,t,n,r){let i;try{i=t.resolveProjectBundledSkillDir()}catch(e){return r({event:`project-skill-reclaim-bundle-missing`,scope:`project`,error:e instanceof Error?e.message:String(e)}),{outcome:`skipped`,reason:`bundle-missing`}}let a=[];for(let t of p){let o=g(e,t.hostDir,`skills`,`open-knowledge`),s=g(o,`SKILL.md`),c=n.existsSync(s),l=d[t.editorId]?.projectConfigPath?.(e),u=!c&&M(l,n);if(!c&&!u){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`no-token`}),r({event:`project-skill-reclaim-no-token`,scope:`project`,editorId:t.editorId,path:o});continue}try{f(o,e),k(i,o,n);let s=c?`reclaimed`:`created`;a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:s}),r({event:c?`project-skill-reclaim-reclaimed`:`project-skill-reclaim-created`,scope:`project`,editorId:t.editorId,path:o})}catch(e){let n=e instanceof Error?e.message:String(e);a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`failed`,error:n}),r({event:`project-skill-reclaim-failed`,scope:`project`,editorId:t.editorId,path:o,error:n})}}return{outcome:`done`,entries:a}}async function P(t,n,a,o){let s=e=>{n.recordEvent(e).catch(()=>{})},c=()=>new Date().toISOString(),l;try{l=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return o({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),s({ts:c(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){o({event:`user-skill-reclaim-version-read-error`,scope:`user`,error:e instanceof Error?e.message:String(e)}),u=null}let d=[],f=null;for(let e of i)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return o({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),s({ts:c(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let i of d){let s=r[i.id],c=a.existsSync(g(t,`.agents`,`skills`,s)),l=await n.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{n.removeBundleFromDisk(t,i.id),o({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:i.id})}catch(e){o({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:i.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await n.writeBundleDecision(t,s,!0)}catch(e){o({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:i.id,error:e instanceof Error?e.message:String(e)})}p.push(i)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>a.existsSync(g(t,`.agents`,`skills`,r[e.id])));if(u!==null&&u===l&&m)return o({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:l}),{outcome:`skipped`,reason:`version-current`};let h=[],_=d.length===i.length,v=!0;for(let{id:e,sourceDir:n}of p){let i=j(t,r[e],n,a,o,l);h.push(...i.entries),i.centralWritten||(v=!1)}let y=h.some(e=>e.kind===`central`&&(e.outcome===`written`||e.outcome===`overwritten`));if(_&&v&&y){let e=null;try{await n.writeRecordedVersion(t,l),o({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:l})}catch(t){e=t instanceof Error?t.message:String(t),o({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:l,error:e})}for(let{id:t}of p)s({ts:c(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?`installed`:`failed`,version:l,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);s({ts:c(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:l,reason:e?`all-writes-failed`:`no-hosts-installed`})}return{outcome:`done`,version:l,entries:h}}async function F(e){let t=e.logger??O,n=e.fs??E,r=e.home??T(),i={...D,...e.deps};return e.reclaimDisableEnv===`1`?(t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`}):{status:`done`,project:N(e.projectDir,i,n,t),user:await P(r,i,n,t)}}function I(e){return e.status===`skipped`?e.reason===`reclaim-disabled`?0:1:e.project.outcome===`skipped`||e.user.outcome===`skipped`&&e.user.reason!==`version-current`&&e.user.reason!==`all-bundles-declined`||e.project.entries.some(e=>e.outcome===`failed`)||e.user.outcome===`done`&&e.user.entries.some(e=>e.outcome===`failed`)?1:0}function L(e){if(e.status===`skipped`)return`Skipped: ${e.reason}`;let t=[`Skill reclaim complete.`];if(e.project.outcome===`done`){let n=e.project.entries.filter(e=>e.outcome===`reclaimed`).length,r=e.project.entries.filter(e=>e.outcome===`created`).length,i=e.project.entries.filter(e=>e.outcome===`no-token`).length,a=e.project.entries.filter(e=>e.outcome===`failed`).length;t.push(` Project: ${n} reclaimed, ${r} created, ${i} no-token, ${a} failed.`)}else t.push(` Project: skipped (${e.project.reason}).`);if(e.user.outcome===`done`){let n=e.user.entries.filter(e=>e.outcome===`written`||e.outcome===`overwritten`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,i=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} skipped, ${i} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return t.join(`
2
2
  `)}function R(){return new m(`repair-skills`).description("Refresh bundled SKILL.md files for installed AI editors (project-local + user-global). Runs automatically during `ok start`; this command forces an explicit sweep.").action(async()=>{let e=await F({projectDir:_(process.cwd()),reclaimDisableEnv:process.env.OK_RECLAIM_DISABLE??null});process.stdout.write(`${L(e)}\n`),process.exitCode=I(e)})}export{R as n,F as t};
3
- //# sourceMappingURL=repair-skills-BaZcFu4I.mjs.map
3
+ //# sourceMappingURL=repair-skills-El5WwJ1f.mjs.map
@@ -0,0 +1 @@
1
+ import{t as e}from"./repair-skills-El5WwJ1f.mjs";export{e as repairSkills};
@@ -1,2 +1,2 @@
1
- import"./src-BTo9m5ju.mjs";import{r as e}from"./logger-B7Z8XO-z.mjs";import{dirname as t,join as n,resolve as r}from"node:path";import{closeSync as i,existsSync as a,mkdirSync as o,openSync as s,readFileSync as c,unlinkSync as l,writeFileSync as u,writeSync as d}from"node:fs";import{homedir as f,hostname as p}from"node:os";import{fileURLToPath as m}from"node:url";import{randomUUID as h}from"node:crypto";function g(e){return new URL(e.url??``,`http://localhost`).searchParams}function _(e){let t=e?.code;return typeof t==`string`?t:void 0}const v=/^[A-Za-z0-9-]{8,64}$/;let y=null;function b(e){return n(e??f(),`.ok`,`machine-id`)}function x(n){if(n===void 0&&y!==null)return y;let r=b(n),i=null;try{let e=c(r,`utf-8`).trim();v.test(e)&&(i=e)}catch{}if(i===null){i=h();try{o(t(r),{recursive:!0}),u(r,`${i}\n`,{encoding:`utf-8`,mode:384})}catch(t){e(`machine-id`).warn({path:r,err:t},`Failed to persist ${r} — using an ephemeral per-process id; lock ownership checks will fail closed (collision) instead of recognizing this machine: ${t instanceof Error?t.message:String(t)}`)}}return n===void 0&&(y=i),i}function S(e){try{return process.kill(e,0),!0}catch(e){return!!(e&&typeof e==`object`&&`code`in e&&e.code===`EPERM`)}}function C(e){return!(typeof e!=`number`||!Number.isInteger(e)||e<2||e>2147483647)}function w(){try{let e=r(t(m(import.meta.url)),`..`,`package.json`),n=JSON.parse(c(e,`utf-8`));if(typeof n.version==`string`&&n.version.length>0)return n.version}catch{}return`0.0.0-unknown`}const T=w(),E=1,D=e(`process-lock`);var O=class extends Error{existing;lockPath;lockName;constructor(e,t,n){super(`OpenKnowledge ${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 k(e,t){return r(e,`${t}.lock`)}const A=new Map;function j(e){A.set(e,(A.get(e)??0)+1)}function M(e){let t=A.get(e);return t===void 0||t<=1?(A.delete(e),!0):(A.set(e,t-1),!1)}function N(e){return typeof e.machineId==`string`?e.machineId===x():e.hostname===p()}const P=new Set;let F=!1;function I(e){P.add(e),!F&&(F=!0,process.on(`exit`,()=>{for(let e of P)try{let t=JSON.parse(c(e,`utf-8`));if(t?.pid!==process.pid||typeof t.machineId==`string`&&t.machineId!==x()||t.machineId===void 0&&typeof t.hostname==`string`&&t.hostname!==p())continue;l(e)}catch{}}))}function L(e,t){try{let n=JSON.parse(c(e,`utf-8`));return n&&typeof n==`object`&&C(n.pid)?n:(D.warn({lockPath:e},`${t} Corrupt lock file at ${e} — replacing`),null)}catch{return D.warn({lockPath:e},`${t} Corrupt lock file at ${e} — replacing`),null}}function R(e){let{lockName:t,lockDir:n,metadata:r}=e,c=`[${t}-lock]`;o(n,{recursive:!0});let f=k(n,t),m={pid:process.pid,hostname:p(),port:r.port,startedAt:new Date().toISOString(),worktreeRoot:r.worktreeRoot,machineId:x(),...r.kind!==void 0&&{kind:r.kind},...r.parentPid!==void 0&&{parentPid:r.parentPid},...r.capabilities!==void 0&&{capabilities:r.capabilities},protocolVersion:r.protocolVersion??1,runtimeVersion:r.runtimeVersion??T},h=JSON.stringify(m,null,2);for(let e=0;e<3;e++){if(!a(f))try{let e=s(f,`wx`,384);try{d(e,h)}finally{i(e)}return j(f),I(f),z({lockName:t,lockDir:n,lockPath:f})}catch(e){if(_(e)!==`EEXIST`)throw e}let e=L(f,c);if(e){if(N(e)&&e.pid===process.pid)return u(f,h,{encoding:`utf-8`,mode:384}),j(f),I(f),z({lockName:t,lockDir:n,lockPath:f});if(S(e.pid))throw new O(e,f,t);D.warn({pid:e.pid,host:e.hostname},`${c} Stale lock detected (pid=${e.pid}, host=${e.hostname}) — replacing`)}try{l(f)}catch{}}throw Error(`${c} Failed to acquire ${f} after 3 attempts (concurrent acquire contention).`)}function z(e){let{lockName:t,lockDir:n,lockPath:r}=e;return{lockPath:r,release:()=>G({lockName:t,lockDir:n}),updatePort:e=>B({lockName:t,lockDir:n,port:e})}}function B(e){let{lockName:t,lockDir:n,port:r}=e,i=`[${t}-lock]`,o=k(n,t);if(!a(o)){D.warn({lockPath:o},`${i} Lock file missing at ${o} during port update — skipping`);return}let s;try{let e=JSON.parse(c(o,`utf-8`));if(!e||typeof e!=`object`||!C(e.pid)){D.warn({lockPath:o},`${i} Corrupt lock at ${o} during port update — skipping`);return}s=e}catch{D.warn({lockPath:o},`${i} Unreadable lock at ${o} during port update — skipping`);return}if(s.pid===process.pid&&N(s)){s.port=r;try{u(o,JSON.stringify(s,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:o,err:e},`${i} Failed to update port in ${o}: ${e instanceof Error?e.message:String(e)}`)}}}function V(e){let{lockName:t,lockDir:n}=e,r=`[${t}-lock]`,i=k(n,t);if((A.get(i)??0)>1)return;let a;try{let e=JSON.parse(c(i,`utf-8`));if(!e||typeof e!=`object`||!C(e.pid)){D.warn({lockPath:i},`${r} Corrupt lock at ${i} during draining mark — skipping`);return}a=e}catch(e){_(e)!==`ENOENT`&&D.warn({lockPath:i,err:e},`${r} Unreadable lock at ${i} during draining mark — skipping: ${e instanceof Error?e.message:String(e)}`);return}if(a.pid===process.pid&&N(a)&&a.draining!==!0){a.draining=!0;try{u(i,JSON.stringify(a,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:i,err:e},`${r} Failed to mark ${i} draining: ${e instanceof Error?e.message:String(e)}`)}}}function H(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!a(r))return null;let i;try{let e=JSON.parse(c(r,`utf-8`));if(!e||typeof e!=`object`||!C(e.pid))return null;i=e}catch{return null}if(!N(i))return null;if(!S(i.pid)){try{l(r)}catch{}return null}return i}function U(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!a(r))return{status:`absent`};let i;try{i=JSON.parse(c(r,`utf-8`))}catch{return{status:`incompatible`,reason:`corrupt`,raw:void 0}}if(!i||typeof i!=`object`)return{status:`incompatible`,reason:`corrupt`,raw:i};let o=i;if(!C(o.pid)||typeof o.hostname!=`string`||typeof o.port!=`number`||typeof o.startedAt!=`string`||typeof o.worktreeRoot!=`string`)return{status:`incompatible`,reason:`corrupt`,raw:i};let s={pid:o.pid,hostname:o.hostname,port:o.port,startedAt:o.startedAt,worktreeRoot:o.worktreeRoot,machineId:typeof o.machineId==`string`?o.machineId:void 0,draining:o.draining===!0?!0:void 0,protocolVersion:typeof o.protocolVersion==`number`?o.protocolVersion:void 0,runtimeVersion:typeof o.runtimeVersion==`string`?o.runtimeVersion:void 0};if(!N(s))return{status:`stale`,lock:s};if(!S(s.pid)){try{l(r)}catch{}return{status:`stale`,lock:s}}return s.protocolVersion===void 0||s.runtimeVersion===void 0?{status:`incompatible`,reason:`missing-fields`,raw:i}:{status:`live`,lock:s}}async function W(e){let{lockName:t,lockDir:n}=e,r=e.timeoutMs??1e4,i=e.pollIntervalMs??100,a=e.readLock??(()=>H({lockName:t,lockDir:n})),o=e.sleep??(e=>new Promise(t=>setTimeout(t,e))),s=a();if(s===null||s.draining!==!0)return`no-drain`;let c=Date.now()+r;for(;Date.now()<c;){await o(i);let e=a();if(e===null)return`released`;if(e.draining!==!0)return`no-drain`}return`timeout`}function G(e){let{lockName:t,lockDir:n,deferUnlinkToExit:r=!1}=e,i=`[${t}-lock]`,o=k(n,t);if(M(o)){if(r){V({lockName:t,lockDir:n});return}if(a(o))try{let e=JSON.parse(c(o,`utf-8`));if(!e||typeof e!=`object`||typeof e.pid!=`number`||e.pid!==process.pid||!N(e))return;l(o),P.delete(o)}catch(e){D.warn({lockPath:o,err:e},`${i} Failed to release ${o}: ${e instanceof Error?e.message:String(e)}`)}}}var K=class extends O{constructor(e,t){super(e,t,`server`),this.name=`ServerLockCollisionError`}};function q(e,t){try{return R({lockName:`server`,lockDir:e,metadata:t}).lockPath}catch(e){throw e instanceof O&&e.lockName===`server`?new K(e.existing,e.lockPath):e}}function J(e,t){B({lockName:`server`,lockDir:e,port:t})}function Y(e){return H({lockName:`server`,lockDir:e})}function X(e,t){G({lockName:`server`,lockDir:e,...t})}function Z(e){V({lockName:`server`,lockDir:e})}function Q(e,t){return W({lockName:`server`,lockDir:e,...t})}export{g as S,E as _,X as a,x as b,O as c,V as d,H as f,T as g,B as h,Y as i,R as l,G as m,q as n,J as o,U as p,Z as r,Q as s,K as t,k as u,S as v,_ as x,C as y};
2
- //# sourceMappingURL=server-lock-BiAmhJ19.mjs.map
1
+ import"./src-FuRMJntf.mjs";import{r as e}from"./logger-B7Z8XO-z.mjs";import{dirname as t,join as n,resolve as r}from"node:path";import{closeSync as i,existsSync as a,mkdirSync as o,openSync as s,readFileSync as c,unlinkSync as l,writeFileSync as u,writeSync as d}from"node:fs";import{homedir as f,hostname as p}from"node:os";import{fileURLToPath as m}from"node:url";import{randomUUID as h}from"node:crypto";function g(e){return new URL(e.url??``,`http://localhost`).searchParams}function _(e){let t=e?.code;return typeof t==`string`?t:void 0}const v=/^[A-Za-z0-9-]{8,64}$/;let y=null;function b(e){return n(e??f(),`.ok`,`machine-id`)}function x(n){if(n===void 0&&y!==null)return y;let r=b(n),i=null;try{let e=c(r,`utf-8`).trim();v.test(e)&&(i=e)}catch{}if(i===null){i=h();try{o(t(r),{recursive:!0}),u(r,`${i}\n`,{encoding:`utf-8`,mode:384})}catch(t){e(`machine-id`).warn({path:r,err:t},`Failed to persist ${r} — using an ephemeral per-process id; lock ownership checks will fail closed (collision) instead of recognizing this machine: ${t instanceof Error?t.message:String(t)}`)}}return n===void 0&&(y=i),i}function S(e){try{return process.kill(e,0),!0}catch(e){return!!(e&&typeof e==`object`&&`code`in e&&e.code===`EPERM`)}}function C(e){return!(typeof e!=`number`||!Number.isInteger(e)||e<2||e>2147483647)}function w(){try{let e=r(t(m(import.meta.url)),`..`,`package.json`),n=JSON.parse(c(e,`utf-8`));if(typeof n.version==`string`&&n.version.length>0)return n.version}catch{}return`0.0.0-unknown`}const T=w(),E=1,D=e(`process-lock`);var O=class extends Error{existing;lockPath;lockName;constructor(e,t,n){super(`OpenKnowledge ${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 k(e,t){return r(e,`${t}.lock`)}const A=new Map;function j(e){A.set(e,(A.get(e)??0)+1)}function M(e){let t=A.get(e);return t===void 0||t<=1?(A.delete(e),!0):(A.set(e,t-1),!1)}function N(e){return typeof e.machineId==`string`?e.machineId===x():e.hostname===p()}const P=new Set;let F=!1;function I(e){P.add(e),!F&&(F=!0,process.on(`exit`,()=>{for(let e of P)try{let t=JSON.parse(c(e,`utf-8`));if(t?.pid!==process.pid||typeof t.machineId==`string`&&t.machineId!==x()||t.machineId===void 0&&typeof t.hostname==`string`&&t.hostname!==p())continue;l(e)}catch{}}))}function L(e,t){try{let n=JSON.parse(c(e,`utf-8`));return n&&typeof n==`object`&&C(n.pid)?n:(D.warn({lockPath:e},`${t} Corrupt lock file at ${e} — replacing`),null)}catch{return D.warn({lockPath:e},`${t} Corrupt lock file at ${e} — replacing`),null}}function R(e){let{lockName:t,lockDir:n,metadata:r}=e,c=`[${t}-lock]`;o(n,{recursive:!0});let f=k(n,t),m={pid:process.pid,hostname:p(),port:r.port,startedAt:new Date().toISOString(),worktreeRoot:r.worktreeRoot,machineId:x(),...r.kind!==void 0&&{kind:r.kind},...r.parentPid!==void 0&&{parentPid:r.parentPid},...r.capabilities!==void 0&&{capabilities:r.capabilities},protocolVersion:r.protocolVersion??1,runtimeVersion:r.runtimeVersion??T},h=JSON.stringify(m,null,2);for(let e=0;e<3;e++){if(!a(f))try{let e=s(f,`wx`,384);try{d(e,h)}finally{i(e)}return j(f),I(f),z({lockName:t,lockDir:n,lockPath:f})}catch(e){if(_(e)!==`EEXIST`)throw e}let e=L(f,c);if(e){if(N(e)&&e.pid===process.pid)return u(f,h,{encoding:`utf-8`,mode:384}),j(f),I(f),z({lockName:t,lockDir:n,lockPath:f});if(S(e.pid))throw new O(e,f,t);D.warn({pid:e.pid,host:e.hostname},`${c} Stale lock detected (pid=${e.pid}, host=${e.hostname}) — replacing`)}try{l(f)}catch{}}throw Error(`${c} Failed to acquire ${f} after 3 attempts (concurrent acquire contention).`)}function z(e){let{lockName:t,lockDir:n,lockPath:r}=e;return{lockPath:r,release:()=>G({lockName:t,lockDir:n}),updatePort:e=>B({lockName:t,lockDir:n,port:e})}}function B(e){let{lockName:t,lockDir:n,port:r}=e,i=`[${t}-lock]`,o=k(n,t);if(!a(o)){D.warn({lockPath:o},`${i} Lock file missing at ${o} during port update — skipping`);return}let s;try{let e=JSON.parse(c(o,`utf-8`));if(!e||typeof e!=`object`||!C(e.pid)){D.warn({lockPath:o},`${i} Corrupt lock at ${o} during port update — skipping`);return}s=e}catch{D.warn({lockPath:o},`${i} Unreadable lock at ${o} during port update — skipping`);return}if(s.pid===process.pid&&N(s)){s.port=r;try{u(o,JSON.stringify(s,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:o,err:e},`${i} Failed to update port in ${o}: ${e instanceof Error?e.message:String(e)}`)}}}function V(e){let{lockName:t,lockDir:n}=e,r=`[${t}-lock]`,i=k(n,t);if((A.get(i)??0)>1)return;let a;try{let e=JSON.parse(c(i,`utf-8`));if(!e||typeof e!=`object`||!C(e.pid)){D.warn({lockPath:i},`${r} Corrupt lock at ${i} during draining mark — skipping`);return}a=e}catch(e){_(e)!==`ENOENT`&&D.warn({lockPath:i,err:e},`${r} Unreadable lock at ${i} during draining mark — skipping: ${e instanceof Error?e.message:String(e)}`);return}if(a.pid===process.pid&&N(a)&&a.draining!==!0){a.draining=!0;try{u(i,JSON.stringify(a,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:i,err:e},`${r} Failed to mark ${i} draining: ${e instanceof Error?e.message:String(e)}`)}}}function H(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!a(r))return null;let i;try{let e=JSON.parse(c(r,`utf-8`));if(!e||typeof e!=`object`||!C(e.pid))return null;i=e}catch{return null}if(!N(i))return null;if(!S(i.pid)){try{l(r)}catch{}return null}return i}function U(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!a(r))return{status:`absent`};let i;try{i=JSON.parse(c(r,`utf-8`))}catch{return{status:`incompatible`,reason:`corrupt`,raw:void 0}}if(!i||typeof i!=`object`)return{status:`incompatible`,reason:`corrupt`,raw:i};let o=i;if(!C(o.pid)||typeof o.hostname!=`string`||typeof o.port!=`number`||typeof o.startedAt!=`string`||typeof o.worktreeRoot!=`string`)return{status:`incompatible`,reason:`corrupt`,raw:i};let s={pid:o.pid,hostname:o.hostname,port:o.port,startedAt:o.startedAt,worktreeRoot:o.worktreeRoot,machineId:typeof o.machineId==`string`?o.machineId:void 0,draining:o.draining===!0?!0:void 0,protocolVersion:typeof o.protocolVersion==`number`?o.protocolVersion:void 0,runtimeVersion:typeof o.runtimeVersion==`string`?o.runtimeVersion:void 0};if(!N(s))return{status:`stale`,lock:s};if(!S(s.pid)){try{l(r)}catch{}return{status:`stale`,lock:s}}return s.protocolVersion===void 0||s.runtimeVersion===void 0?{status:`incompatible`,reason:`missing-fields`,raw:i}:{status:`live`,lock:s}}async function W(e){let{lockName:t,lockDir:n}=e,r=e.timeoutMs??1e4,i=e.pollIntervalMs??100,a=e.readLock??(()=>H({lockName:t,lockDir:n})),o=e.sleep??(e=>new Promise(t=>setTimeout(t,e))),s=a();if(s===null||s.draining!==!0)return`no-drain`;let c=Date.now()+r;for(;Date.now()<c;){await o(i);let e=a();if(e===null)return`released`;if(e.draining!==!0)return`no-drain`}return`timeout`}function G(e){let{lockName:t,lockDir:n,deferUnlinkToExit:r=!1}=e,i=`[${t}-lock]`,o=k(n,t);if(M(o)){if(r){V({lockName:t,lockDir:n});return}if(a(o))try{let e=JSON.parse(c(o,`utf-8`));if(!e||typeof e!=`object`||typeof e.pid!=`number`||e.pid!==process.pid||!N(e))return;l(o),P.delete(o)}catch(e){D.warn({lockPath:o,err:e},`${i} Failed to release ${o}: ${e instanceof Error?e.message:String(e)}`)}}}var K=class extends O{constructor(e,t){super(e,t,`server`),this.name=`ServerLockCollisionError`}};function q(e,t){try{return R({lockName:`server`,lockDir:e,metadata:t}).lockPath}catch(e){throw e instanceof O&&e.lockName===`server`?new K(e.existing,e.lockPath):e}}function J(e,t){B({lockName:`server`,lockDir:e,port:t})}function Y(e){return H({lockName:`server`,lockDir:e})}function X(e,t){G({lockName:`server`,lockDir:e,...t})}function Z(e){V({lockName:`server`,lockDir:e})}function Q(e,t){return W({lockName:`server`,lockDir:e,...t})}export{g as S,E as _,X as a,x as b,O as c,V as d,H as f,T as g,B as h,Y as i,R as l,G as m,q as n,J as o,U as p,Z as r,Q as s,K as t,k as u,S as v,_ as x,C as y};
2
+ //# sourceMappingURL=server-lock-1KyShewk.mjs.map
@@ -0,0 +1 @@
1
+ import{a as e,o as t,r as n}from"./server-lock-1KyShewk.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};
@@ -1 +1 @@
1
- import{C as e,Ca as t,Fa as n,Ta as r,ca as i,d as a,l as o,la as s,qa as c,sa as l,y as u}from"./src-BTo9m5ju.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Br as w,Bt as T,C as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Fr as W,Ft as G,G as K,Gi as q,Gn as J,Gt as Y,H as X,Hi as Z,Hn as Q,Hr as $,Ht as ee,I as te,Ii as ne,In as re,Ir as ie,It as ae,J as oe,Ji as se,Jn as ce,Jt as le,K as ue,Ki as de,Kn as fe,Kt as pe,L as me,Li as he,Ln as ge,Lr as _e,Lt as ve,M as ye,Mi as be,Mn as xe,Mr as Se,Mt as Ce,N as we,Ni as Te,Nn as Ee,Nr as De,Nt as Oe,O as ke,Oi as Ae,On as je,Or as Me,Ot as Ne,P as Pe,Pi as Fe,Pn as Ie,Pr as Le,Pt as Re,Q as ze,Qi as Be,Qn as Ve,Qr as He,Qt as Ue,R as We,Ri as Ge,Rn as Ke,Rr as qe,Rt as Je,S as Ye,Si as Xe,Sn as Ze,Sr as Qe,St as $e,T as et,Ti as tt,Tn as nt,Tr as rt,Tt as it,U as at,Ui as ot,Un as st,Ur as ct,Ut as lt,V as ut,Vi as dt,Vn as ft,Vr as pt,Vt as mt,W as ht,Wi as gt,Wn as _t,Wr as vt,Wt as yt,X as bt,Xi as xt,Xn as St,Xr as Ct,Xt as wt,Y as Tt,Yi as Et,Yn as Dt,Yt as Ot,Z as kt,Zi as At,Zn as jt,Zr as Mt,Zt as Nt,_ as Pt,_i as Ft,_n as It,_r as Lt,a as Rt,aa as zt,ai as Bt,an as Vt,ar as Ht,at as Ut,b as Wt,bi as Gt,bn as Kt,br as qt,bt as Jt,c as Yt,ca as Xt,ci as Zt,cn as Qt,cr as $t,ct as en,d as tn,da as nn,di as rn,dn as an,dr as on,dt as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fi as mn,fn as hn,fr as gn,ft as _n,g as vn,gi as yn,gn as bn,gr as xn,h as Sn,hi as Cn,hn as wn,hr as Tn,i as En,ia as Dn,ii as On,in as kn,ir as An,it as jn,j as Mn,ji as Nn,jn as Pn,jr as Fn,jt as In,k as Ln,ki as Rn,kn as zn,kr as Bn,kt as Vn,l as Hn,la as Un,li as Wn,ln as Gn,lr as Kn,lt as qn,m as Jn,mi as Yn,mn as Xn,mr as Zn,n as Qn,na as $n,ni as er,nn as tr,nr,nt as rr,o as ir,oa as ar,oi as or,on as sr,or as cr,ot as lr,p as ur,pi as dr,pn as fr,pr,q as mr,qi as hr,qn as gr,qt as _r,r as vr,ra as yr,ri as br,rn as xr,rr as Sr,rt as Cr,s as wr,sa as Tr,si as Er,sn as Dr,sr as Or,st as kr,t as Ar,ta as jr,ti as Mr,tn as Nr,tr as Pr,tt as Fr,u as Ir,ua as Lr,ui as Rr,un as zr,ur as Br,ut as Vr,v as Hr,vi as Ur,vn as Wr,vr as Gr,w as Kr,wi as qr,wn as Jr,wr as Yr,wt as Xr,x as Zr,xi as Qr,xn as $r,xr as ei,xt as ti,y as ni,yi as ri,yn as ii,yr as ai,yt as oi,z as si,zi as ci,zn as li,zr as ui,zt as di}from"./src-YSGKFci8.mjs";import{C as fi,E as pi,T as mi,_ as hi,b as gi,c as _i,d as vi,g as yi,i as bi,l as xi,m as Si,n as Ci,p as wi,s as Ti,t as Ei,u as Di,v as Oi,w as ki,x as Ai,y as ji}from"./fs-traced-vMO6kYgZ.mjs";import{a as Mi,d as Ni,f as Pi,i as Fi,l as Ii,n as Li,r as Ri,t as zi,u as Bi}from"./logger-B7Z8XO-z.mjs";import{_ as Vi,a as Hi,b as Ui,c as Wi,f as Gi,g as Ki,h as qi,i as Ji,l as Yi,m as Xi,n as Zi,o as Qi,p as $i,r as ea,s as ta,t as na,u as ra,v as ia,y as aa}from"./server-lock-BiAmhJ19.mjs";export{$n as AGENT_ID_MAX_LEN,yr as AGENT_ID_RE,ne as AGENT_WRITE_ORIGIN,Un as AcpPermissionStore,ar as AcpRegistry,Te as AcpThreadManager,Nn as AgentFocusBroadcaster,_ as AgentPresenceBroadcaster,he as AgentSessionCapacityError,Ge as AgentSessionManager,Jt as AutoStartDisabledError,Fn as BUNDLE_IDS,Se as BUNDLE_SCOPE,De as BUNDLE_SKILL_NAME,jt as BacklinkIndex,q as CC1Broadcaster,r as CC1_CONTRACT_VERSION,Dr as CONFIG_FILENAME,fe as CONFLICT_MARKER_RE,ln as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Pt as ConfigSchema,Pn as DEFAULT_CHECKPOINT_RETENTION,Cn as DEFAULT_EMBEDDINGS_DIMENSIONS,Je as DEFAULT_PACK_ID,K as DocumentDurabilityState,yn as EMBEDDINGS_API_KEY_ENV,Tr as FEATURED_AGENT_IDS,xe as FILE_SYSTEM_WRITER,St as FILE_WATCHER_ORIGIN,Rr as FileEmbeddingsBackend,tr as GIT_PREFLIGHT_FAIL_SPAN_NAME,Ee as GIT_UPSTREAM_WRITER,Lr as GitDirAccessError,An as GitNotAvailableError,Ht as GitTooOldError,ti as HOCUSPOCUS_AUTH_REJECTION_REASONS,$e as HocuspocusAuthRejection,A as HocuspocusAuthTokenSchema,or as INSTALLED_AGENTS_SCHEMES,t as LINEAGE_EPOCH_KEY,X as LIVE_DERIVED_INDEX_DEBOUNCE_MS,di as LOG_MD_TEMPLATE,Vn as MANAGED_RENAME_ORIGIN,Fe as MAX_ACP_THREADS,ci as MAX_AGENT_SESSIONS,sn as MCP_CONNECTION_ID_HEADER,l as MCP_SERVER_NAME,S as MIN_EVICTABLE_IDLE_MS,cr as MIN_GIT_VERSION,ue as MISSING_OK_CONFIG_MESSAGE,nn as MalformedGitPointerError,Cr as McpLogger,mr as MissingOkConfigError,V as OBSERVER_SYNC_ORIGIN,Qt as OK_OKIGNORE_TEMPLATE,i as ORPHAN_MODES,c as PROTOCOL_VERSION,zi as PinoLogger,Wi as ProcessLockCollisionError,Hn as ProjectGitInitError,b as ROLLBACK_ORIGIN,Gn as ROOT_GITIGNORE_TEMPLATE,Ki as RUNTIME_VERSION,Ie as SERVICE_WRITER,z as SKILL_INSTALL_EVENTS_FILE_REL,u as SKILL_STATE_TARGETS,T as STARTER_FOLDERS,mt as STARTER_FOLDER_FRONTMATTER_FILENAME,ee as STARTER_PACKS,lt as STARTER_PACK_IDS,yt as STARTER_TEMPLATES,I as STATE_MANIFEST_FILENAME,Vi as STATE_SCHEMA_VERSION,n as SYSTEM_DOC_NAME,wt as SeedPrerequisiteError,Nt as SeedRootDirError,na as ServerLockCollisionError,Ar as SingleFileNotAFileError,Qn as SingleFileNotFoundError,vr as SingleFileNotMarkdownError,j as StateManifestError,et as TagIndex,Le as USER_GLOBAL_BUNDLE_IDS,p as UiLockCollisionError,In as __getShowAllWalkStatsForTesting,Ce as __resetShowAllWalkStatsForTesting,Yi as acquireProcessLock,Zi as acquireServerLock,dn as acquireUiLock,dt as applyAgentMarkdownWrite,zn as applyExternalChange,ve as applySeed,ke as assertCompatibleStateManifest,Or as assertGitAvailable,It as assertNeverDiskEvent,be as attachAcpThreadSocket,oi as attachIdleShutdown,Hr as bootServer,xn as buildAndOpenSkill,zr as buildConfigYmlContent,ze as buildExecResult,H as buildOkMcpStdioCommand,Me as buildSkillZip,Y as buildStarterFolderFrontmatterYaml,U as buildWipTree,W as bundleSkillMdPath,Wr as classifyEvents,Ei as classifyFsPath,Ft as clearContributors,rn as clearEmbeddingsKeyFromAllBackends,pe as coercePackId,o as colorFromSeed,re as commitUpstreamImport,ge as commitWip,Ke as commitWipFromTree,$t as compareSemver,qe as composeEffectiveLinterConfig,gr as containsConflictMarkers,ii as contentHash,Ur as contributorCount,We as countShadowObjects,si as countStaleAgentWipRefs,x as countWipRefs,Oe as createApiExtension,M as createAssetServeMiddleware,Ct as createContentFilter,Mt as createContentFilterAsync,mn as createEmbeddingsSecretStore,En as createEphemeralProjectDir,v as createExternalChangeHandler,pn as createFileLogger,at as createLiveDerivedIndexExtension,bt as createMcpHttpHandler,Er as createOsProbe,Pe as createPersistenceExtension,E as createServer,ye as createServerObserverExtension,Z as createStreamingErrorWriter,Li as createTestLogger,dr as describeStoredEmbeddingsKey,vn as detectClaudeDesktopPresence,Kn as detectGit,Ln as detectProjectShape,lr as discoverLockDirs,pt as discoverMarkdownlintConfig,xr as emitPreflightFailureSpan,d as encodeDocName,fn as encodeFolderRoute,Fr as encodeSkillRoute,Ir as ensureProjectGit,an as ensureProjectSkillGitignore,ot as errorResponse,Kt as evictStaleTrackerEntries,kr as extractOkBinaryPath,Ve as extractWikiLinksFromMarkdown,Br as fallbackPaths,tn as findEnclosingGitRoot,wn as findEnclosingProjectRoot,$ as findNativeMarkdownlintFile,ur as flushFileLogger,Xr as formatAuthRejectionWire,ri as formatContributors,Gt as formatContributorsFrom,G as formatPackRationale,li as gcCheckpointRefs,jn as getCurrentMcpLogger,qr as getLocalDir,Jn as getLogFilePath,Ri as getLogger,Sn as getLogsDir,Ui as getMachineId,ji as getMeter,At as getMetrics,gi as getTracer,Be as handleCollabSocketError,Mr as handleSpawnCursor,ut as hasGcLogLatch,a as iconFromClientName,f as incrementCollabSocketFilteredError,cn as incrementServerObserverFire,hn as initContent,C as initShadowRepo,Ai as initTelemetry,Wt as initToleranceTelemetryWriter,Vr as installPrettyZodErrors,Fi as installTestLoggers,Lt as installUserSkill,Rn as isAllowedApiOrigin,Ue as isAllowedWorkspaceHostHeader,de as isConfigDoc,it as isHocuspocusAuthRejectionReason,_r as isKnownPackId,hr as isLinkIndexExcludedDoc,h as isLoopbackAddress,se as isManagedArtifactDoc,s as isOrphanMode,te as isPairedWriteOrigin,er as isPathWithinDir,ia as isProcessAlive,bn as isProjectRoot,gn as isProjectSkillManaged,Et as isReservedForUserTree,$r as isSelfWrite,xt as isSystemDoc,Zr as isToleranceTelemetryEnabled,aa as isValidLockPid,Ze as lastKnownHash,ft as listRescueCheckpoints,le as listStarterPacks,Xt as loadCustomAgents,we as loadPrincipal,ra as lockFilePath,Mi as loggerFactory,Ii as logsCurrentPath,Bi as logsPreviousPath,Yn as makeLazyEmbeddingsKeyStore,ea as markServerLockDraining,oe as mountMcpAndApi,Ci as normalizeFsPath,ie as originGitHubHost,fr as packageVersionMajorMinor,B as parseAuthRejectionWire,on as parseGitVersion,F as parseHocuspocusAuthToken,Tt as parseKeepaliveConnectionId,O as pathToDocName,ae as planSeed,Rt as prepareSingleFileOpen,en as processCommand,qn as processUsage,Gr as readAllTargets,ai as readBundleDecision,ct as readOwnNativeRules,Gi as readProcessLock,$i as readProcessLockDetailed,ht as readProjectHeadState,Wn as readProjectLocalSemanticConfig,Ji as readServerLock,qt as readServerPackageVersion,ei as readSkillInstallStateSnapshot,pr as readSkillManagement,g as readStateManifest,Qe as readTargetRecordedAt,k as readTargetVersion,Pr as readUiLock,ce as reconcile,Qr as recordContributor,P as recordSkillInstallEvent,kt as registerAllTools,Jr as registerWrite,Xi as releaseProcessLock,Hi as releaseServerLock,nr as releaseUiLock,nt as removeLastKnownHash,jr as resetMetrics,e as resolveBundleEnabled,Bn as resolveBundledSkillDir,tt as resolveContentDir,br as resolveCursorBinaryDefault,On as resolveCursorSpawnInvocation,ui as resolveEffectiveLinterConfig,L as resolveLockDir,w as resolveNativeConfigForDoc,vt as resolveNativeMarkdownlintConfig,Ot as resolvePack,wr as resolvePackageVersion,rr as resolveUiInfo,Xe as restoreContributors,ni as restoreLifecycleFromConflictsJson,He as rewriteMarkdownLinksForDocumentRename,m as rewriteWikiLinksForDocumentRename,kn as runAuthReposSubprocess,Vt as runAuthStatusSubprocess,un as runCloneSubprocess,sr as runDeviceFlowSubprocess,Ut as runWithMcpLogger,Ae as safeContentPath,Re as safeSubdir,Q as safetyCheckpoint,_n as sanitizeClientName,st as saveInMemoryCheckpoint,_t as saveVersion,Ne as seedBasenameIndex,ir as serializeError,fi as setActiveSpanAttributes,me as setupServerObservers,J as shadowGit,ki as shutdownTelemetry,Zn as skillManagementPath,Ni as spansCurrentPath,Pi as spansPreviousPath,Bt as spawnDetached,Dt as splitMarkdownBlocks,R as startWatcher,gt as streamingProblemEvent,D as swapContributors,Ye as teardownToleranceTelemetryWriter,Dn as toBroadcasterKey,bi as tracedAppendFileSync,Ti as tracedLinkSync,_i as tracedMkdir,xi as tracedMkdirSync,Di as tracedRename,vi as tracedRenameSync,wi as tracedRmSync,Si as tracedRmdirSync,yi as tracedUnlinkSync,hi as tracedWriteFile,Oi as tracedWriteFileSync,Kr as trustSystemCertificates,Yt as untrackTrackedProjectSkillProjection,N as updateLastKnownHash,qi as updateProcessLockPort,Qi as updateServerLockPort,Sr as updateUiLockPort,zt as validateAgentId,Nr as validateCloneInputs,y as validateSkillZip,ta as waitForServerLockDrain,Zt as withHiddenWindowsConsole,mi as withSpan,pi as withSpanSync,Yr as writeBundleDecision,_e as writeMarkdownlintRule,Xn as writeRootGitignoreForNewRepo,Tn as writeSkillManagement,Mn as writeStateManifest,rt as writeTargetVersion,je as writeTracker};
1
+ import{C as e,Ca as t,Fa as n,Ta as r,ca as i,d as a,l as o,la as s,qa as c,sa as l,y as u}from"./src-FuRMJntf.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Br as w,Bt as T,C as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Fr as W,Ft as G,G as K,Gi as q,Gn as J,Gt as Y,H as X,Hi as Z,Hn as Q,Hr as $,Ht as ee,I as te,Ii as ne,In as re,Ir as ie,It as ae,J as oe,Ji as se,Jn as ce,Jt as le,K as ue,Ki as de,Kn as fe,Kt as pe,L as me,Li as he,Ln as ge,Lr as _e,Lt as ve,M as ye,Mi as be,Mn as xe,Mr as Se,Mt as Ce,N as we,Ni as Te,Nn as Ee,Nr as De,Nt as Oe,O as ke,Oi as Ae,On as je,Or as Me,Ot as Ne,P as Pe,Pi as Fe,Pn as Ie,Pr as Le,Pt as Re,Q as ze,Qi as Be,Qn as Ve,Qr as He,Qt as Ue,R as We,Ri as Ge,Rn as Ke,Rr as qe,Rt as Je,S as Ye,Si as Xe,Sn as Ze,Sr as Qe,St as $e,T as et,Ti as tt,Tn as nt,Tr as rt,Tt as it,U as at,Ui as ot,Un as st,Ur as ct,Ut as lt,V as ut,Vi as dt,Vn as ft,Vr as pt,Vt as mt,W as ht,Wi as gt,Wn as _t,Wr as vt,Wt as yt,X as bt,Xi as xt,Xn as St,Xr as Ct,Xt as wt,Y as Tt,Yi as Et,Yn as Dt,Yt as Ot,Z as kt,Zi as At,Zn as jt,Zr as Mt,Zt as Nt,_ as Pt,_i as Ft,_n as It,_r as Lt,a as Rt,aa as zt,ai as Bt,an as Vt,ar as Ht,at as Ut,b as Wt,bi as Gt,bn as Kt,br as qt,bt as Jt,c as Yt,ca as Xt,ci as Zt,cn as Qt,cr as $t,ct as en,d as tn,da as nn,di as rn,dn as an,dr as on,dt as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fi as mn,fn as hn,fr as gn,ft as _n,g as vn,gi as yn,gn as bn,gr as xn,h as Sn,hi as Cn,hn as wn,hr as Tn,i as En,ia as Dn,ii as On,in as kn,ir as An,it as jn,j as Mn,ji as Nn,jn as Pn,jr as Fn,jt as In,k as Ln,ki as Rn,kn as zn,kr as Bn,kt as Vn,l as Hn,la as Un,li as Wn,ln as Gn,lr as Kn,lt as qn,m as Jn,mi as Yn,mn as Xn,mr as Zn,n as Qn,na as $n,ni as er,nn as tr,nr,nt as rr,o as ir,oa as ar,oi as or,on as sr,or as cr,ot as lr,p as ur,pi as dr,pn as fr,pr,q as mr,qi as hr,qn as gr,qt as _r,r as vr,ra as yr,ri as br,rn as xr,rr as Sr,rt as Cr,s as wr,sa as Tr,si as Er,sn as Dr,sr as Or,st as kr,t as Ar,ta as jr,ti as Mr,tn as Nr,tr as Pr,tt as Fr,u as Ir,ua as Lr,ui as Rr,un as zr,ur as Br,ut as Vr,v as Hr,vi as Ur,vn as Wr,vr as Gr,w as Kr,wi as qr,wn as Jr,wr as Yr,wt as Xr,x as Zr,xi as Qr,xn as $r,xr as ei,xt as ti,y as ni,yi as ri,yn as ii,yr as ai,yt as oi,z as si,zi as ci,zn as li,zr as ui,zt as di}from"./src-PY_3X_er.mjs";import{C as fi,E as pi,T as mi,_ as hi,b as gi,c as _i,d as vi,g as yi,i as bi,l as xi,m as Si,n as Ci,p as wi,s as Ti,t as Ei,u as Di,v as Oi,w as ki,x as Ai,y as ji}from"./fs-traced-vMO6kYgZ.mjs";import{a as Mi,d as Ni,f as Pi,i as Fi,l as Ii,n as Li,r as Ri,t as zi,u as Bi}from"./logger-B7Z8XO-z.mjs";import{_ as Vi,a as Hi,b as Ui,c as Wi,f as Gi,g as Ki,h as qi,i as Ji,l as Yi,m as Xi,n as Zi,o as Qi,p as $i,r as ea,s as ta,t as na,u as ra,v as ia,y as aa}from"./server-lock-1KyShewk.mjs";export{$n as AGENT_ID_MAX_LEN,yr as AGENT_ID_RE,ne as AGENT_WRITE_ORIGIN,Un as AcpPermissionStore,ar as AcpRegistry,Te as AcpThreadManager,Nn as AgentFocusBroadcaster,_ as AgentPresenceBroadcaster,he as AgentSessionCapacityError,Ge as AgentSessionManager,Jt as AutoStartDisabledError,Fn as BUNDLE_IDS,Se as BUNDLE_SCOPE,De as BUNDLE_SKILL_NAME,jt as BacklinkIndex,q as CC1Broadcaster,r as CC1_CONTRACT_VERSION,Dr as CONFIG_FILENAME,fe as CONFLICT_MARKER_RE,ln as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Pt as ConfigSchema,Pn as DEFAULT_CHECKPOINT_RETENTION,Cn as DEFAULT_EMBEDDINGS_DIMENSIONS,Je as DEFAULT_PACK_ID,K as DocumentDurabilityState,yn as EMBEDDINGS_API_KEY_ENV,Tr as FEATURED_AGENT_IDS,xe as FILE_SYSTEM_WRITER,St as FILE_WATCHER_ORIGIN,Rr as FileEmbeddingsBackend,tr as GIT_PREFLIGHT_FAIL_SPAN_NAME,Ee as GIT_UPSTREAM_WRITER,Lr as GitDirAccessError,An as GitNotAvailableError,Ht as GitTooOldError,ti as HOCUSPOCUS_AUTH_REJECTION_REASONS,$e as HocuspocusAuthRejection,A as HocuspocusAuthTokenSchema,or as INSTALLED_AGENTS_SCHEMES,t as LINEAGE_EPOCH_KEY,X as LIVE_DERIVED_INDEX_DEBOUNCE_MS,di as LOG_MD_TEMPLATE,Vn as MANAGED_RENAME_ORIGIN,Fe as MAX_ACP_THREADS,ci as MAX_AGENT_SESSIONS,sn as MCP_CONNECTION_ID_HEADER,l as MCP_SERVER_NAME,S as MIN_EVICTABLE_IDLE_MS,cr as MIN_GIT_VERSION,ue as MISSING_OK_CONFIG_MESSAGE,nn as MalformedGitPointerError,Cr as McpLogger,mr as MissingOkConfigError,V as OBSERVER_SYNC_ORIGIN,Qt as OK_OKIGNORE_TEMPLATE,i as ORPHAN_MODES,c as PROTOCOL_VERSION,zi as PinoLogger,Wi as ProcessLockCollisionError,Hn as ProjectGitInitError,b as ROLLBACK_ORIGIN,Gn as ROOT_GITIGNORE_TEMPLATE,Ki as RUNTIME_VERSION,Ie as SERVICE_WRITER,z as SKILL_INSTALL_EVENTS_FILE_REL,u as SKILL_STATE_TARGETS,T as STARTER_FOLDERS,mt as STARTER_FOLDER_FRONTMATTER_FILENAME,ee as STARTER_PACKS,lt as STARTER_PACK_IDS,yt as STARTER_TEMPLATES,I as STATE_MANIFEST_FILENAME,Vi as STATE_SCHEMA_VERSION,n as SYSTEM_DOC_NAME,wt as SeedPrerequisiteError,Nt as SeedRootDirError,na as ServerLockCollisionError,Ar as SingleFileNotAFileError,Qn as SingleFileNotFoundError,vr as SingleFileNotMarkdownError,j as StateManifestError,et as TagIndex,Le as USER_GLOBAL_BUNDLE_IDS,p as UiLockCollisionError,In as __getShowAllWalkStatsForTesting,Ce as __resetShowAllWalkStatsForTesting,Yi as acquireProcessLock,Zi as acquireServerLock,dn as acquireUiLock,dt as applyAgentMarkdownWrite,zn as applyExternalChange,ve as applySeed,ke as assertCompatibleStateManifest,Or as assertGitAvailable,It as assertNeverDiskEvent,be as attachAcpThreadSocket,oi as attachIdleShutdown,Hr as bootServer,xn as buildAndOpenSkill,zr as buildConfigYmlContent,ze as buildExecResult,H as buildOkMcpStdioCommand,Me as buildSkillZip,Y as buildStarterFolderFrontmatterYaml,U as buildWipTree,W as bundleSkillMdPath,Wr as classifyEvents,Ei as classifyFsPath,Ft as clearContributors,rn as clearEmbeddingsKeyFromAllBackends,pe as coercePackId,o as colorFromSeed,re as commitUpstreamImport,ge as commitWip,Ke as commitWipFromTree,$t as compareSemver,qe as composeEffectiveLinterConfig,gr as containsConflictMarkers,ii as contentHash,Ur as contributorCount,We as countShadowObjects,si as countStaleAgentWipRefs,x as countWipRefs,Oe as createApiExtension,M as createAssetServeMiddleware,Ct as createContentFilter,Mt as createContentFilterAsync,mn as createEmbeddingsSecretStore,En as createEphemeralProjectDir,v as createExternalChangeHandler,pn as createFileLogger,at as createLiveDerivedIndexExtension,bt as createMcpHttpHandler,Er as createOsProbe,Pe as createPersistenceExtension,E as createServer,ye as createServerObserverExtension,Z as createStreamingErrorWriter,Li as createTestLogger,dr as describeStoredEmbeddingsKey,vn as detectClaudeDesktopPresence,Kn as detectGit,Ln as detectProjectShape,lr as discoverLockDirs,pt as discoverMarkdownlintConfig,xr as emitPreflightFailureSpan,d as encodeDocName,fn as encodeFolderRoute,Fr as encodeSkillRoute,Ir as ensureProjectGit,an as ensureProjectSkillGitignore,ot as errorResponse,Kt as evictStaleTrackerEntries,kr as extractOkBinaryPath,Ve as extractWikiLinksFromMarkdown,Br as fallbackPaths,tn as findEnclosingGitRoot,wn as findEnclosingProjectRoot,$ as findNativeMarkdownlintFile,ur as flushFileLogger,Xr as formatAuthRejectionWire,ri as formatContributors,Gt as formatContributorsFrom,G as formatPackRationale,li as gcCheckpointRefs,jn as getCurrentMcpLogger,qr as getLocalDir,Jn as getLogFilePath,Ri as getLogger,Sn as getLogsDir,Ui as getMachineId,ji as getMeter,At as getMetrics,gi as getTracer,Be as handleCollabSocketError,Mr as handleSpawnCursor,ut as hasGcLogLatch,a as iconFromClientName,f as incrementCollabSocketFilteredError,cn as incrementServerObserverFire,hn as initContent,C as initShadowRepo,Ai as initTelemetry,Wt as initToleranceTelemetryWriter,Vr as installPrettyZodErrors,Fi as installTestLoggers,Lt as installUserSkill,Rn as isAllowedApiOrigin,Ue as isAllowedWorkspaceHostHeader,de as isConfigDoc,it as isHocuspocusAuthRejectionReason,_r as isKnownPackId,hr as isLinkIndexExcludedDoc,h as isLoopbackAddress,se as isManagedArtifactDoc,s as isOrphanMode,te as isPairedWriteOrigin,er as isPathWithinDir,ia as isProcessAlive,bn as isProjectRoot,gn as isProjectSkillManaged,Et as isReservedForUserTree,$r as isSelfWrite,xt as isSystemDoc,Zr as isToleranceTelemetryEnabled,aa as isValidLockPid,Ze as lastKnownHash,ft as listRescueCheckpoints,le as listStarterPacks,Xt as loadCustomAgents,we as loadPrincipal,ra as lockFilePath,Mi as loggerFactory,Ii as logsCurrentPath,Bi as logsPreviousPath,Yn as makeLazyEmbeddingsKeyStore,ea as markServerLockDraining,oe as mountMcpAndApi,Ci as normalizeFsPath,ie as originGitHubHost,fr as packageVersionMajorMinor,B as parseAuthRejectionWire,on as parseGitVersion,F as parseHocuspocusAuthToken,Tt as parseKeepaliveConnectionId,O as pathToDocName,ae as planSeed,Rt as prepareSingleFileOpen,en as processCommand,qn as processUsage,Gr as readAllTargets,ai as readBundleDecision,ct as readOwnNativeRules,Gi as readProcessLock,$i as readProcessLockDetailed,ht as readProjectHeadState,Wn as readProjectLocalSemanticConfig,Ji as readServerLock,qt as readServerPackageVersion,ei as readSkillInstallStateSnapshot,pr as readSkillManagement,g as readStateManifest,Qe as readTargetRecordedAt,k as readTargetVersion,Pr as readUiLock,ce as reconcile,Qr as recordContributor,P as recordSkillInstallEvent,kt as registerAllTools,Jr as registerWrite,Xi as releaseProcessLock,Hi as releaseServerLock,nr as releaseUiLock,nt as removeLastKnownHash,jr as resetMetrics,e as resolveBundleEnabled,Bn as resolveBundledSkillDir,tt as resolveContentDir,br as resolveCursorBinaryDefault,On as resolveCursorSpawnInvocation,ui as resolveEffectiveLinterConfig,L as resolveLockDir,w as resolveNativeConfigForDoc,vt as resolveNativeMarkdownlintConfig,Ot as resolvePack,wr as resolvePackageVersion,rr as resolveUiInfo,Xe as restoreContributors,ni as restoreLifecycleFromConflictsJson,He as rewriteMarkdownLinksForDocumentRename,m as rewriteWikiLinksForDocumentRename,kn as runAuthReposSubprocess,Vt as runAuthStatusSubprocess,un as runCloneSubprocess,sr as runDeviceFlowSubprocess,Ut as runWithMcpLogger,Ae as safeContentPath,Re as safeSubdir,Q as safetyCheckpoint,_n as sanitizeClientName,st as saveInMemoryCheckpoint,_t as saveVersion,Ne as seedBasenameIndex,ir as serializeError,fi as setActiveSpanAttributes,me as setupServerObservers,J as shadowGit,ki as shutdownTelemetry,Zn as skillManagementPath,Ni as spansCurrentPath,Pi as spansPreviousPath,Bt as spawnDetached,Dt as splitMarkdownBlocks,R as startWatcher,gt as streamingProblemEvent,D as swapContributors,Ye as teardownToleranceTelemetryWriter,Dn as toBroadcasterKey,bi as tracedAppendFileSync,Ti as tracedLinkSync,_i as tracedMkdir,xi as tracedMkdirSync,Di as tracedRename,vi as tracedRenameSync,wi as tracedRmSync,Si as tracedRmdirSync,yi as tracedUnlinkSync,hi as tracedWriteFile,Oi as tracedWriteFileSync,Kr as trustSystemCertificates,Yt as untrackTrackedProjectSkillProjection,N as updateLastKnownHash,qi as updateProcessLockPort,Qi as updateServerLockPort,Sr as updateUiLockPort,zt as validateAgentId,Nr as validateCloneInputs,y as validateSkillZip,ta as waitForServerLockDrain,Zt as withHiddenWindowsConsole,mi as withSpan,pi as withSpanSync,Yr as writeBundleDecision,_e as writeMarkdownlintRule,Xn as writeRootGitignoreForNewRepo,Tn as writeSkillManagement,Mn as writeStateManifest,rt as writeTargetVersion,je as writeTracker};